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;
pkgs = f 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

View File

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

View File

@ -76,10 +76,14 @@ rec {
* mkKeyValue is the same as in toINI.
*/
toKeyValue = {
mkKeyValue ? mkKeyValueDefault {} "="
}: attrs:
let mkLine = k: v: mkKeyValue k v + "\n";
in libStr.concatStrings (libAttr.mapAttrsToList mkLine attrs);
mkKeyValue ? mkKeyValueDefault {} "=",
listsAsDuplicateKeys ? false
}:
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
@ -106,7 +110,9 @@ rec {
# apply transformations (e.g. escapes) to section names
mkSectionName ? (name: libStr.escape [ "[" "]" ] name),
# format a setting line from key and value
mkKeyValue ? mkKeyValueDefault {} "="
mkKeyValue ? mkKeyValueDefault {} "=",
# allow lists as values for duplicate keys
listsAsDuplicateKeys ? false
}: attrsOfAttrs:
let
# map function to string for each key val
@ -115,7 +121,7 @@ rec {
(libAttr.mapAttrsToList mapFn attrs);
mkSection = sectName: sectValues: ''
[${mkSectionName sectName}]
'' + toKeyValue { inherit mkKeyValue; } sectValues;
'' + toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues;
in
# map input to ini sections
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 = {
expr = generators.toINI {} {
"no [ and ] allowed unescaped" = {

View File

@ -5899,6 +5899,12 @@
githubId = 4579165;
name = "Danny Bautista";
};
peelz = {
email = "peelz.dev+nixpkgs@gmail.com";
github = "louistakepillz";
githubId = 920910;
name = "peelz";
};
q3k = {
email = "q3k@q3k.org";
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.
</para>
</listitem>
<listitem>
<para>
PHP now defaults to PHP 7.4, updated from 7.3.
</para>
</listitem>
</itemizedlist>
</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.
firebird = 95;
#keys = 96; # unused
#haproxy = 97; # DynamicUser as of 2019-11-08
#haproxy = 97; # dynamically allocated as of 2020-03-11
mongodb = 98;
openldap = 99;
#users = 100; # unused
@ -448,7 +448,7 @@ in
#tcpcryptd = 93; # unused
firebird = 95;
keys = 96;
#haproxy = 97; # DynamicUser as of 2019-11-08
#haproxy = 97; # dynamically allocated as of 2020-03-11
#mongodb = 98; # unused
openldap = 99;
munin = 102;

View File

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

View File

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

View File

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

View File

@ -21,6 +21,11 @@ let
installOptions =
"${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
{
@ -76,9 +81,64 @@ in
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 {
type = types.lines;
default = "";
type = with types; nullOr lines;
default = null;
example = ''
key_buffer_size = 6G
table_cache = 1600
@ -252,10 +312,27 @@ in
config = mkIf config.services.mysql.enable {
warnings = optional (cfg.extraOptions != null) "services.mysql.`extraOptions` is deprecated, please use services.mysql.`settings`.";
services.mysql.dataDir =
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/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 = {
description = "MySQL server user";
group = "mysql";
@ -266,25 +343,7 @@ in
environment.systemPackages = [mysql];
environment.etc."my.cnf".text =
''
[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}
'';
environment.etc."my.cnf".source = cfg.configFile;
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0700 ${cfg.user} mysql -"
@ -297,7 +356,7 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
restartTriggers = [ config.environment.etc."my.cnf".source ];
restartTriggers = [ cfg.configFile ];
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";
wantedBy = ["multi-user.target"];
after = ["network-online.target"];
wants = ["network-online.target"];
after = ["network.target"];
wants = ["network.target"];
preStart = ''
${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout
'';
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 = [
"${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout"
"${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
@ -66,6 +77,7 @@ in
};
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 {
type = types.nullOr types.lines;
default = null;
@ -49,7 +61,8 @@ with lib;
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
DynamicUser = true;
User = cfg.user;
Group = cfg.group;
Type = "notify";
# when running the config test, don't be quiet so we can see what goes wrong
ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}";
@ -60,5 +73,16 @@ with lib;
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 ''
guest_enable=YES
guest_username=vsftpd
pam_service_name=vsftpd
''}
pam_service_name=vsftpd
${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/enso-os.nix
./lightdm-greeters/pantheon.nix
./lightdm-greeters/tiny.nix
];
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;
};
systemd.timers.nixos-upgrade.timerConfig.RandomizedDelaySec = cfg.randomizedDelaySec;
};
}

View File

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

View File

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

View File

@ -10,14 +10,14 @@ let
# If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/
# 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:
# 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:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "36";
rev = "41";
deps = [
@ -56,6 +56,8 @@ let
xorg.libXScrnSaver
xorg.libXtst
xorg.libxcb
xorg.libSM
xorg.libICE
zlib
];
@ -75,7 +77,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "c49f1a86a9b737e64a475bbe62754a36f607669e908eb725a2395f0a0a6b95968e0c8ce27ab2c8b6c92fe8cbacb1ef58de11c79b92dc0f58c2c6d3a140706a1f";
sha512 = "41bc8d20388bab39058d0709d99b1c8e324ea37af217620797356b8bc0b24aedbe801eaaa6e00a93e94e26765602e5dc27ad423ce2e777b4bec1b92daf04f81e";
};
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 {
pname = "nano-wallet";
version = "19.0";
version = "20.0";
src = fetchFromGitHub {
owner = "nanocurrency";
repo = "raiblocks";
rev = "V${version}";
sha256 = "1y5fc4cvfqh33imjkh91sqhy5bb9kh0icwyvdgm1cl564vnjax80";
sha256 = "12nrjjd89yjzx20d85ccmp395pl0djpx0x0qb8dgka8xfy11k7xn";
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";
};
latestVersion = { # canary & dev
version = "4.1.0.1"; # "Android Studio 4.1 Canary 1"
build = "193.6224510";
sha256Hash = "0misff7xx8jcg4zr5ahc8qdwvlkx605il0shzd9i1cm9v1br3sqx";
version = "4.1.0.2"; # "Android Studio 4.1 Canary 2"
build = "193.6264773";
sha256Hash = "0m09q4jp653i9jlqsjplx3d64xkdm27c35781yz6h5rw0a1sq6kz";
};
in {
# Attributes are named by their corresponding release channels

View File

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

View File

@ -11,15 +11,15 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0c067qp3aa5kqya3y8pzc9cvyzsafizhgjp9dsibnfl08lvz9hbs";
x86_64-darwin = "0vi94nk8p3vp30nx60mwqcmfqbrmrqwvfdjbah0zm480dcjzz7dv";
x86_64-linux = "0i8dmh9w7xgzfjii4m116lavydpfpcp7fxs4bcykf0a779pzwv87";
x86_64-darwin = "0z0r0dmmzk3k095g7jbrrk9gl1jpb3cai973xrjw17ank1lddcjf";
}.${system};
in
callPackage ./generic.nix rec {
# The update script doesn't correctly change the hash for darwin, so please:
# nixpkgs-update: no auto update
version = "1.42.1";
version = "1.43.0";
pname = "vscode";
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";
sha256 = {
x86_64-linux = "1pac3rv7ps23ymynvy8dwd5k2154aln33ksr75z1d8w859x3f1dy";
x86_64-darwin = "1imzgqynbd65c7gbfp2gb1cxjbazx7afvbdvbqnm5qg7pvq22rni";
x86_64-linux = "139sqaixlcqlpcrn2vkcp9fxvcjgnhn2dwxclxq3bnb814pw7rba";
x86_64-darwin = "0jkd3p1jqg38z9l22k5w7b45fdnxwrhzlgyhinw7wlqz7zvflkn1";
}.${system};
sourceRoot = {
@ -25,7 +25,7 @@ in
# The update script doesn't correctly change the hash for darwin, so please:
# nixpkgs-update: no auto update
version = "1.42.1";
version = "1.43.0";
pname = "vscodium";
executableName = "codium";

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, mkDerivation
, qtbase, qtx11extras, qtsvg, makeWrapper
, vulkan-loader, xorg, python3, python3Packages
, vulkan-loader, libglvnd, xorg, python3, python3Packages
, bison, pcre, automake, autoconf, addOpenGLRunpath
}:
let
@ -13,14 +13,14 @@ let
pythonPackages = python3Packages;
in
mkDerivation rec {
version = "1.6";
version = "1.7";
pname = "renderdoc";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "v${version}";
sha256 = "0b2f9m5azzvcjbmxkwcl1d7jvvp720b81zwn19rrskznfcc2r1i8";
sha256 = "0r0y0lx48hkyf39pgippsc9q8hdcf57bdva6gx7f35vlhicx5hlz";
};
buildInputs = [
@ -52,8 +52,8 @@ mkDerivation rec {
dontWrapQtApps = true;
preFixup = ''
wrapQtApp $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : "$out/lib:${vulkan-loader}/lib"
wrapProgram $out/bin/renderdoccmd --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:${libglvnd}/lib"
'';
# 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 {
pname = "tev";
version = "1.14";
version = "1.15";
src = fetchFromGitHub {
owner = "Tom94";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "1g86wl0sdn0wprfxff2q1yc1hiq9fndmzhyvj09cw51lzbab5faw";
sha256 = "173nxvj30xmbdj8fc3rbw0mlicxy6zbhxv01i7z5nmcdvpamkdx6";
};
nativeBuildInputs = [ cmake wrapGAppsHook ];
@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
types of images can also be loaded.
'';
inherit (src.meta) homepage;
changelog = "https://github.com/Tom94/tev/releases/tag/v${version}";
license = licenses.bsd3;
platforms = platforms.unix;
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
, glib, gnome2, gnome3, gtk2-x11, gtkspell2, poppler
{ stdenv, pkgs
, glib, gnome3, gtk3, gtksourceview3, gtkspell3, poppler, texlive
, pkgconfig, intltool, autoreconfHook, wrapGAppsHook
}:
stdenv.mkDerivation rec {
version = "0.6.6";
version = "0.8.1";
pname = "gummi";
src = pkgs.fetchFromGitHub {
owner = "alexandervdm";
repo = "gummi";
rev = version;
sha256 = "1vw8rhv8qj82l6l22kpysgm9mxilnki2kjmvxsnajbqcagr6s7cn";
sha256 = "0wxgmzazqiq77cw42i5fn2hc22hhxf5gbpl9g8y3zlnp21lw9y16";
};
nativeBuildInputs = [
pkgconfig intltool autoreconfHook makeWrapper wrapGAppsHook
pkgconfig intltool autoreconfHook wrapGAppsHook
];
buildInputs = [
glib gnome2.gtksourceview pango gtk2-x11 gtkspell2 poppler
gnome3.adwaita-icon-theme
glib gtksourceview3 gtk3 gtkspell3 poppler
texlive.bin.core # needed for synctex
];
preConfigure = ''
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${pkgs.gnome2.gtksourceview}/share")
'';
postInstall = ''
install -Dpm644 COPYING $out/share/licenses/$name/COPYING
'';
meta = {
homepage = http://gummi.midnightcoding.org/;
homepage = "https://gummi.app";
description = "Simple LaTex editor for GTK users";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ flokli ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,8 +5,17 @@
fetch = {
type = "git";
url = "https://code.googlesource.com/gocloud";
rev = "28a4bc8c44b3acbcc482cff0cdf7de29a4688b61";
sha256 = "0j40msxm72m8gs87rpwkk19iagjj387r42xwxszmrna7il8g0sbl";
rev = "d96ccb2ba7586bb79a416471882d347754a78ce5";
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";
};
}
{
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";
fetch = {
@ -378,6 +396,33 @@
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";
fetch = {
@ -414,13 +459,31 @@
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";
fetch = {
type = "git";
url = "https://code.googlesource.com/google-api-go-client";
rev = "890e5eb51fe205e56dc55eb68d63e82039730816";
sha256 = "05r2wsjnmszsz4y59w8q6qknc7zq1mc56kya61i2133dqxyc55ai";
rev = "e9c39defab7fc4be8ec95d4ce422dbeae4070400";
sha256 = "01wjr07xnb9s32y2jc6d0rba3jxwccd2wydm6cql41yhyr3x84rd";
};
}
{
@ -446,8 +509,17 @@
fetch = {
type = "git";
url = "https://github.com/grpc/grpc-go";
rev = "501c41df7f472c740d0674ff27122f3f48c80ce7";
sha256 = "0hla9rjvyi6wjak4cw39ic8jkdcd0lsymhrz9sa52bfybxsczf38";
rev = "f495f5b15ae7ccda3b38c53a1bfcde4c1a58a2bc";
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;
buildRustPackage rec {
pname = "cfdyndns";
version = "0.0.1";
version = "0.0.3";
src = fetchFromGitHub {
owner = "colemickens";
repo = "cfdyndns";
rev = "v${version}";
sha256 = "1mcdjykrgh0jq6k6y664lai8sbgzk6j7k0r944f43vg63d1jql5b";
sha256 = "1fba0w2979dmc2wyggqx4fj52rrl1s2vpjk6mkj1811a848l1hdi";
};
# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
cargoSha256 = "04ryin24z3pfxjxy4smngy66xs7k85g6gdzsl77cij8ifb29im99";
cargoSha256 = "1d7jpffkw2m2v37bfdqsl9sqwsl19cgglpa00lwy4ih09kzbc2n9";
buildInputs = [ makeWrapper openssl ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
installPhase = ''
mkdir -p $out/bin
@ -30,6 +28,5 @@ buildRustPackage rec {
license = stdenv.lib.licenses.mit;
maintainers = with maintainers; [ colemickens ];
platforms = with platforms; linux;
broken = true;
};
}

View File

@ -52,6 +52,8 @@ python3Packages.buildPythonApplication rec {
sqlalchemy
terminaltables
zxcvbn
# plugins
transmissionrpc
];
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";
homepage = https://github.com/de-vri-es/weechat-autosort;
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
, dbus
, desktop-file-utils
, fontconfig
, libjson
, pythonPackages
, imagemagick
, qtmultimedia
, squashfsTools
, zlib
}:
mkDerivation rec {
pname = "soulseekqt";
version = "2018-1-30";
name="${pname}-${version}";
src = fetchurl {
urls = [
"https://www.dropbox.com/s/0vi87eef3ooh7iy/SoulseekQt-${version}.tgz"
"https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz"
];
sha256 = "0d1cayxr1a4j19bc5a3qp9pg22ggzmd55b6f5av3lc6lvwqqg4w6";
};
src = fetchzip {
url = "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz";
sha256 = "16ncnvv8h33f161mgy7qc0wjvvqahsbwvby65qhgfh9pbbgb4xgg";
};
appextracted = appimageTools.extractType2 {
inherit name;
src="${src}/SoulseekQt-2018-1-30-64bit.AppImage";
};
dontBuild = true;
nativeBuildInputs = [ autoPatchelfHook pythonPackages.binwalk squashfsTools desktop-file-utils ];
dontConfigure = true;
nativeBuildInputs = [ imagemagick autoPatchelfHook desktop-file-utils ];
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 = ''
mkdir -p $out/{bin,share/applications,share/icons/}
cp default.desktop $out/share/applications/$binary.desktop
cp soulseek.png $out/share/icons/
cp $binary $out/bin/
'';
# directory in /nix/store so readonly
cd $appextracted
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; {
description = "Official Qt SoulSeek client";
homepage = http://www.soulseekqt.net;
homepage = https://www.slsknet.org;
license = licenses.unfree;
maintainers = [ maintainers.genesis ];
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
# https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
./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

View File

@ -1,62 +1,36 @@
{ stdenv
, fetchurl
, lib
, fetchFromGitLab
, fetchpatch
, autoreconfHook
}:
stdenv.mkDerivation rec {
pname = "symmetrica";
version = "2.0";
version = "3.0.1";
src = fetchurl {
url = "http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/SYM2_0_tar.gz";
sha256 = "1qhfrbd5ybb0sinl9pad64rscr08qvlfzrzmi4p4hk61xn6phlmz";
name = "symmetrica-2.0.tar.gz";
# Fork of the original symmetrica, which can be found here
# http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html
# "This fork was created to modernize the codebase, and to resume making
# 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 = ".";
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";
})
nativeBuildInputs = [
autoreconfHook
];
postPatch = ''
substituteInPlace makefile --replace gcc cc
'';
enableParallelBuilding = true;
installPhase = ''
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;
meta = with lib; {
description = ''A collection of routines for representation theory and combinatorics'';
license = stdenv.lib.licenses.publicDomain;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.unix;
homepage = http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html;
license = licenses.isc;
maintainers = with maintainers; [raskin timokau];
platforms = platforms.unix;
homepage = "https://gitlab.com/sagemath/symmetrica";
};
}

View File

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

View File

@ -8,31 +8,18 @@
buildPythonApplication rec {
pname = "glances";
version = "3.1.3";
version = "3.1.4";
disabled = isPyPy;
src = fetchFromGitHub {
owner = "nicolargo";
repo = "glances";
rev = "v${version}";
sha256 = "15yz8sbw3k3n0729g2zcwsxc5iyhkyrhqza6fnipxxpsskwgqbwp";
sha256 = "1lr186rc3fvldy2m2yx1hxzdlxll93pjabs01sxz48kkpsvbiydi";
};
# 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
++ [
(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";
})
];
patches = lib.optional (doCheck && stdenv.isLinux) ./skip-failing-tests.patch;
# On Darwin this package segfaults due to mismatch of pure and impure
# CoreFoundation. This issues was solved for binaries but for interpreted
@ -64,6 +51,7 @@ buildPythonApplication rec {
meta = with lib; {
homepage = "https://nicolargo.github.io/glances/";
description = "Cross-platform curses-based monitoring tool";
changelog = "https://github.com/nicolargo/glances/releases/tag/v${version}";
license = licenses.lgpl3;
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):
"""Check MEMSWAP plugin."""
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-trim = callPackage ./git-trim {
inherit (darwin.apple_sdk.frameworks) Security;
};
git-workspace = callPackage ./git-workspace {
inherit (darwin.apple_sdk.frameworks) Security;
};

View File

@ -26,10 +26,7 @@ buildRustPackage rec {
sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2";
};
# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
cargoSha256 = "10852131aizfw9j1yl4gz180h4gd8y5ymx3wmf5v9cmqiqxy8bgy";
cargoSha256 = "1wjbwd3scx71l2fpxgvgwaw05lkpw13rm6d2i1x5crhs7py96ky6";
nativeBuildInputs = [
cmake
@ -51,6 +48,10 @@ buildRustPackage rec {
meta = with stdenv.lib; {
inherit (src.meta) homepage;
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;
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 {
pname = "gitstatus";
version = "unstable-2020-02-26";
version = "unstable-2020-03-06";
src = fetchFromGitHub {
owner = "romkatv";
repo = "gitstatus";
rev = "c0e5a24299c1a1a71434dac1de6ea650e80fbe49";
sha256 = "0fj84cvr5a895jqgg86raakx6lqyyhahf1dgzgx05y2gfvnxxh8m";
rev = "c07996bc3ea1912652f52a816b830a5a3ee9b49c";
sha256 = "07s8hwx3i5mnafi2xfim44z3q2nsvlcibfdxj17w8mkjhfpywi00";
};
buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
@ -16,7 +16,7 @@ stdenv.mkDerivation {
sed -i "1i GITSTATUS_DAEMON=$out/bin/gitstatusd" gitstatus.plugin.zsh
'';
installPhase = ''
install -Dm755 gitstatusd $out/bin/gitstatusd
install -Dm755 usrbin/gitstatusd $out/bin/gitstatusd
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 {
pname = "mkvtoolnix";
version = "43.0.0";
version = "44.0.0";
src = fetchFromGitLab {
owner = "mbunkus";
repo = "mkvtoolnix";
rev = "release-${version}";
sha256 = "0ra9kgvhh5yhbr0hsia1va5lw45zr4kdwcdjhas5ljjyj75mlyxc";
sha256 = "072sw51svaizqi9f6kscic23wxcjarwgb7nv52yd5si5w8s0qh9r";
};
nativeBuildInputs = [

View File

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

View File

@ -5,13 +5,13 @@
buildGoPackage rec {
pname = "podman";
version = "1.8.0";
version = "1.8.1";
src = fetchFromGitHub {
owner = "containers";
repo = "libpod";
rev = "v${version}";
sha256 = "1rbapks11xg0vgl9m322mijirx0wm6c4yav8aw2y41wsr7qd7db4";
sha256 = "047nji6vbrdb1pm8ymxz4dv07xdnp5c624bq2cfy58m5l4f1dn75";
};
goPackagePath = "github.com/containers/libpod";
@ -38,7 +38,7 @@ buildGoPackage rec {
'';
meta = with stdenv.lib; {
homepage = https://podman.io/;
homepage = "https://podman.io/";
description = "A program for managing pods, containers and container images";
license = licenses.asl20;
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 }:
let
let
rpath = stdenv.lib.makeLibraryPath [ libXinerama libX11 ];
in
rustPlatform.buildRustPackage rec {
pname = "leftwm";
version = "0.1.10";
pname = "leftwm";
version = "0.2.2";
src = fetchFromGitHub {
owner = "leftwm";
repo = "leftwm";
rev = version;
sha256 = "190lc48clkh9vzlsfg2a70w405k7xyyw7avnxwna1glfwmbyy2ag";
};
src = fetchFromGitHub {
owner = "leftwm";
repo = "leftwm";
rev = version;
sha256 = "0x8cqc7zay19jxy7cshayjjwwjrcblqpmqrxipm2g5hhyjghk6q0";
};
buildInputs = [ makeWrapper libX11 libXinerama ];
cargoSha256 = "1kphv3vnr8ij7raf0niwz3rwly986xi5fgwqg2ya0r46ifqkgvrc";
postInstall = ''
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}"
'';
buildInputs = [ makeWrapper libX11 libXinerama ];
# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
postInstall = ''
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";
# patch wrong version in Cargo.lock
cargoPatches = [ ./cargo-lock.patch ];
meta = {
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 ];
};
meta = with stdenv.lib; {
description = "Leftwm - A tiling window manager for the adventurer";
homepage = "https://github.com/leftwm/leftwm";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ mschneider ];
};
}

View File

@ -1,18 +1,19 @@
{ lib, fetchzip }:
let
version = "1.0.3";
version = "1.0.4";
in
fetchzip rec {
name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
sha256 = "16am5fxvda24jfl8lb9jf8mkcqfc97scj8hvwgd3m771db0dpflf";
sha256 = "1m6wppz6mrh7475d92yvwrjgbwkkcfq444v0im90f5c7fsf3dzbd";
postFetch = ''
mkdir -p $out/share/fonts
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 \*.woff2 -d $out/share/fonts/woff2
'';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "matcha";
version = "2020-03-01";
version = "2020-03-11";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "09nb6xsysfg477zcm9y49iaczxksxrd4zh3n8dp7rlzc2h2kicpn";
sha256 = "1np2964g5f0vwdvfmi8gidsk9jj7v43nkshiqnfdbvmwa85ldpfl";
};
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
, fixDarwinDylibNames
, enableManpages ? false
, enablePolly ? false # TODO: get this info from llvm (passthru?)
}:
let
@ -9,7 +8,7 @@ let
pname = "clang";
inherit version;
src = fetch "clang" "1npwv0j6812q9jar79bb5m2j4lmvp11680in45nlma8czrs52w0v";
src = fetch "clang" "1w7ixr16a9f0g5kv4irvhwq973wn0d418kb0p9rabyfscm05wfmq";
unpackPhase = ''
unpackFile $src
@ -34,12 +33,12 @@ let
"-DSPHINX_OUTPUT_MAN=ON"
"-DSPHINX_OUTPUT_HTML=OFF"
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
] ++ stdenv.lib.optionals enablePolly [
"-DWITH_POLLY=ON"
"-DLINK_POLLY_INTO_TOOLS=ON"
];
patches = [
# 10.0.0rc3-only
./clang-extension-handling.patch
./purity.patch
# https://reviews.llvm.org/D51899
./compiler-rt-baremetal.patch

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,18 @@
{ stdenv, fetchFromGitHub, autoreconfHook, coq }:
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" = {
version = "0.6.3";
rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2";
@ -18,7 +30,6 @@ let params = {
};
"8.5" = {
version = "0.6";
rev = "v0.6";
sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n";
};
};
@ -30,7 +41,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "Karmaki";
repo = "coq-dpdgraph";
inherit (param) rev sha256;
rev = param.rev or "v${param.version}";
inherit (param) sha256;
};
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;
passthru = passthru // { inherit go go-modules; };
passthru = passthru // { inherit go go-modules modSha256; };
meta = {
# Add default meta information

View File

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

View File

@ -6,7 +6,8 @@
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
, gd, freetype, libXpm, libjpeg, libpng, libwebp
, libzip, valgrind, oniguruma
, libzip, valgrind, oniguruma, symlinkJoin, writeText
, makeWrapper, callPackage
}:
with lib;
@ -255,7 +256,7 @@ let
description = "An HTML-embedded scripting language";
homepage = https://www.php.net/;
license = licenses.php301;
maintainers = with maintainers; [ globin etu ];
maintainers = with maintainers; [ globin etu ma27 ];
platforms = platforms.all;
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 {
php72 = generic {
version = "7.2.27";
sha256 = "0jbhc8x2i6xx6p7zc30ahg9xplsqlz334m1w13mhr1qv2xdnkh2v";
php72 = generic' {
version = "7.2.28";
sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw";
# https://bugs.php.net/bug.php?id=76826
extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
};
php73 = generic {
version = "7.3.14";
sha256 = "0wn2qsfrnch90l8nxbpcjd2q0ijzdiiyhvcpbycngki9r6xwppxr";
php73 = generic' {
version = "7.3.15";
sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld";
# https://bugs.php.net/bug.php?id=76826
extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
};
php74 = generic {
php74 = generic' {
version = "7.4.3";
sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
};

View File

@ -36,7 +36,6 @@
, desktop-file-utils
, gtk3
, fuse
, malcontent
, nixosTests
, libsoup
, lzma
@ -140,7 +139,6 @@ stdenv.mkDerivation rec {
systemd
xorg.libXau
fuse
malcontent
gsettings-desktop-schemas
glib-networking
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 {
pname = "libfido2";
@ -9,14 +17,33 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ libcbor libressl ]
buildInputs = [ libcbor openssl ]
++ stdenv.lib.optionals stdenv.isLinux [ udev ]
++ 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"
"-DCMAKE_INSTALL_LIBDIR=lib" ];
cmakeFlags = [
"-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
meta = with stdenv.lib; {
description = ''
@ -24,7 +51,7 @@ stdenv.mkDerivation rec {
'';
homepage = https://github.com/Yubico/libfido2;
license = licenses.bsd2;
maintainers = with maintainers; [ dtzWill ];
maintainers = with maintainers; [ dtzWill prusnak ];
platforms = platforms.unix;
};
}

View File

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

View File

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

View File

@ -1,8 +1,8 @@
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
+++ b/libmalcontent/tests/meson.build
@@ -61,9 +61,9 @@ test_programs = [
@@ -72,9 +72,9 @@ test_programs = [
], deps],
]
@ -14,7 +14,7 @@ index a8a815a..0b1d242 100644
'libmalcontent-' + libmalcontent_api_version)
foreach program: test_programs
@@ -94,4 +94,4 @@ foreach program: test_programs
@@ -105,4 +105,4 @@ foreach program: test_programs
env: envs,
args: ['--tap'],
)
@ -22,14 +22,32 @@ index a8a815a..0b1d242 100644
\ No newline at end of file
+endforeach
diff --git a/meson_options.txt b/meson_options.txt
index 96a517d..7cb1ee8 100644
index 06329d4..72aa505 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,4 +3,5 @@ option(
type: 'boolean',
value: false,
description: 'enable installed tests'
-)
\ No newline at end of file
@@ -9,3 +9,9 @@ option(
type: 'string',
description: 'directory for PAM modules'
)
+option(
+ '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
index f4a05ba..dd31537 100644
index 3575224..0abea63 100644
--- a/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',
define_variable: ['prefix', prefix])
@ -13,10 +13,3 @@ index f4a05ba..dd31537 100644
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 {
pname = "openxr-loader";
version = "1.0.3";
version = "1.0.6";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "OpenXR-SDK-Source";
rev = "release-${version}";
sha256 = "0hqf0z38gk4id8d6vcms66mh3gllh2xib5mr11069sh9ak6b3mmp";
sha256 = "0zvp3x9hhpww2ym1inc0z8cwmfqhgqgl2g7csmj6ipp2fqwl6dlj";
};
nativeBuildInputs = [ cmake python3 ];

View File

@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
# Build individual shared libraries
make library \
JOBS=$NIX_BUILD_CORES \
BLAS=-lopenblas \
LAPACK="" \
${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
# them and combining the objects into one shared library.
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
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
, wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland
, libGL, wayland-protocols, libinput, libxkbcommon, pixman
, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
, libpng, ffmpeg_4
}:
stdenv.mkDerivation rec {
pname = "wlroots";
version = "0.10.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "swaywm";
repo = "wlroots";
rev = version;
sha256 = "0c0q1p9yss5kx4430ik3n89drqpmm2bvgl8fjlf6prac1a7xzqn8";
sha256 = "0j2lh9vc92zhn44rjbia5aw3y1rpgfng1x1h17lcvj5m4i6vj0pc";
};
# $out for the library and $examples for the example programs (in examples):
outputs = [ "out" "examples" ];
nativeBuildInputs = [ meson ninja pkgconfig ];
nativeBuildInputs = [ meson ninja pkg-config wayland ];
buildInputs = [
wayland libGL wayland-protocols libinput libxkbcommon pixman
libGL wayland-protocols libinput libxkbcommon pixman
xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
libpng ffmpeg_4
];
mesonFlags = [
"-Dlibcap=enabled" "-Dlogind=enabled" "-Dxwayland=enabled" "-Dx11-backend=enabled"
"-Dxcb-icccm=enabled" "-Dxcb-errors=enabled"
];
postInstall = ''
# Copy the library to $examples
mkdir -p $examples/lib
@ -51,7 +46,12 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
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;
changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ];

View File

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

View File

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

View File

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

View File

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

View File

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

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