Merge branch 'master' into staging-next
There were several more conflicts from name -> pname+version; all auto-solved by kdiff3, hopefully OK. Hydra nixpkgs: ?compare=1538611
This commit is contained in:
commit
985d1ac425
@ -335,6 +335,12 @@
|
||||
githubId = 2822871;
|
||||
name = "Alistair Bill";
|
||||
};
|
||||
alkeryn = {
|
||||
email = "plbraundev@gmail.com";
|
||||
github = "Alkeryn";
|
||||
githubId = 11599075;
|
||||
name = "Pierre-Louis Braun";
|
||||
};
|
||||
all = {
|
||||
email = "nix-commits@lists.science.uu.nl";
|
||||
name = "Nix Committers";
|
||||
@ -3385,6 +3391,11 @@
|
||||
githubId = 10544;
|
||||
name = "Giuluo Eulisse";
|
||||
};
|
||||
ktor = {
|
||||
email = "kruszewsky@gmail.com";
|
||||
github = "ktor";
|
||||
name = "Pawel Kruszewski";
|
||||
};
|
||||
ktosiek = {
|
||||
email = "tomasz.kontusz@gmail.com";
|
||||
github = "ktosiek";
|
||||
@ -3514,6 +3525,11 @@
|
||||
githubId = 307589;
|
||||
name = "Nathaniel Baxter";
|
||||
};
|
||||
lightbulbjim = {
|
||||
email = "chris@killred.net";
|
||||
github = "lightbulbjim";
|
||||
name = "Chris Rendle-Short";
|
||||
};
|
||||
lightdiscord = {
|
||||
email = "root@arnaud.sh";
|
||||
github = "lightdiscord";
|
||||
|
@ -220,6 +220,30 @@
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="release-managers">
|
||||
<title>Release Management Team</title>
|
||||
<para>
|
||||
For each release there are two release managers. After each release the
|
||||
release manager having managed two releases steps down and the release
|
||||
management team of the last release appoints a new release manager.
|
||||
</para>
|
||||
<para>
|
||||
This makes sure a release management team always consists of one release
|
||||
manager who already has managed one release and one release manager being
|
||||
introduced to their role, making it easier to pass on knowledge and
|
||||
experience.
|
||||
</para>
|
||||
<para>
|
||||
A release manager's role and responsibilities are:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem><para>manage the release process</para></listitem>
|
||||
<listitem><para>start discussions about features and changes for a given release</para></listitem>
|
||||
<listitem><para>create a roadmap</para></listitem>
|
||||
<listitem><para>release in cooperation with Eelco Dolstra</para></listitem>
|
||||
<listitem><para>decide which bug fixes, features, etc... get backported after a release</para></listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="release-schedule">
|
||||
<title>Release schedule</title>
|
||||
|
||||
|
@ -42,7 +42,7 @@ in
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf config.programs.bash.vteIntegration {
|
||||
programs.bash.interactiveShellInit = vteInitSnippet;
|
||||
programs.bash.interactiveShellInit = mkBefore vteInitSnippet;
|
||||
})
|
||||
|
||||
(mkIf config.programs.zsh.vteIntegration {
|
||||
|
@ -649,6 +649,7 @@
|
||||
./services/networking/nullidentdmod.nix
|
||||
./services/networking/nylon.nix
|
||||
./services/networking/ocserv.nix
|
||||
./services/networking/ofono.nix
|
||||
./services/networking/oidentd.nix
|
||||
./services/networking/openfire.nix
|
||||
./services/networking/openntpd.nix
|
||||
|
@ -21,6 +21,7 @@ in
|
||||
PAGER = mkDefault "less -R";
|
||||
EDITOR = mkDefault "nano";
|
||||
XCURSOR_PATH = [ "$HOME/.icons" ];
|
||||
XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc
|
||||
};
|
||||
|
||||
environment.profiles = mkAfter
|
||||
|
@ -83,7 +83,8 @@ in
|
||||
systemd.user.sockets.dirmngr = mkIf cfg.dirmngr.enable {
|
||||
wantedBy = [ "sockets.target" ];
|
||||
};
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [ cfg.package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
environment.interactiveShellInit = ''
|
||||
|
@ -178,6 +178,9 @@ with lib;
|
||||
The starting time can be configured via <literal>services.postgresqlBackup.startAt</literal>.
|
||||
'')
|
||||
|
||||
# phpfpm
|
||||
(mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.")
|
||||
|
||||
# zabbixServer
|
||||
(mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
|
||||
|
||||
|
@ -4,6 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.roundcube;
|
||||
fpm = config.services.phpfpm.pools.roundcube;
|
||||
in
|
||||
{
|
||||
options.services.roundcube = {
|
||||
@ -105,7 +106,7 @@ in
|
||||
extraConfig = ''
|
||||
location ~* \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:/run/phpfpm/roundcube;
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||
include ${pkgs.nginx}/conf/fastcgi.conf;
|
||||
}
|
||||
@ -119,24 +120,27 @@ in
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.phpfpm.poolConfigs.roundcube = ''
|
||||
listen = /run/phpfpm/roundcube
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
listen.mode = 0660
|
||||
user = nginx
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
php_admin_value[error_log] = 'stderr'
|
||||
php_admin_flag[log_errors] = on
|
||||
php_admin_value[post_max_size] = 25M
|
||||
php_admin_value[upload_max_filesize] = 25M
|
||||
catch_workers_output = yes
|
||||
'';
|
||||
services.phpfpm.pools.roundcube = {
|
||||
user = "nginx";
|
||||
phpOptions = ''
|
||||
error_log = 'stderr'
|
||||
log_errors = on
|
||||
post_max_size = 25M
|
||||
upload_max_filesize = 25M
|
||||
'';
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0660";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 1;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
"catch_workers_output" = true;
|
||||
};
|
||||
};
|
||||
systemd.services.phpfpm-roundcube.after = [ "roundcube-setup.service" ];
|
||||
|
||||
systemd.services.roundcube-setup = let
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
let
|
||||
cfg = config.services.zoneminder;
|
||||
fpm = config.services.phpfpm.pools.zoneminder;
|
||||
pkg = pkgs.zoneminder;
|
||||
|
||||
dirName = pkg.dirName;
|
||||
@ -19,8 +20,6 @@ let
|
||||
|
||||
useCustomDir = cfg.storageDir != null;
|
||||
|
||||
socket = "/run/phpfpm/${dirName}.sock";
|
||||
|
||||
zms = "/cgi-bin/zms";
|
||||
|
||||
dirs = dirList: [ dirName ] ++ map (e: "${dirName}/${e}") dirList;
|
||||
@ -274,7 +273,7 @@ in {
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
|
||||
fastcgi_pass unix:${socket};
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
}
|
||||
}
|
||||
'';
|
||||
@ -284,30 +283,27 @@ in {
|
||||
|
||||
phpfpm = lib.mkIf useNginx {
|
||||
pools.zoneminder = {
|
||||
listen = socket;
|
||||
inherit user group;
|
||||
phpOptions = ''
|
||||
date.timezone = "${config.time.timeZone}"
|
||||
|
||||
${lib.concatStringsSep "\n" (map (e:
|
||||
"extension=${e.pkg}/lib/php/extensions/${e.name}.so") phpExtensions)}
|
||||
'';
|
||||
extraConfig = ''
|
||||
user = ${user}
|
||||
group = ${group}
|
||||
settings = lib.mapAttrs (name: lib.mkDefault) {
|
||||
"listen.owner" = user;
|
||||
"listen.group" = group;
|
||||
"listen.mode" = "0660";
|
||||
|
||||
listen.owner = ${user}
|
||||
listen.group = ${group}
|
||||
listen.mode = 0660
|
||||
|
||||
pm = dynamic
|
||||
pm.start_servers = 1
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 2
|
||||
pm.max_requests = 500
|
||||
pm.max_children = 5
|
||||
pm.status_path = /$pool-status
|
||||
ping.path = /$pool-ping
|
||||
'';
|
||||
"pm" = "dynamic";
|
||||
"pm.start_servers" = 1;
|
||||
"pm.min_spare_servers" = 1;
|
||||
"pm.max_spare_servers" = 2;
|
||||
"pm.max_requests" = 500;
|
||||
"pm.max_children" = 5;
|
||||
"pm.status_path" = "/$pool-status";
|
||||
"ping.path" = "/$pool-ping";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
44
nixos/modules/services/networking/ofono.nix
Normal file
44
nixos/modules/services/networking/ofono.nix
Normal file
@ -0,0 +1,44 @@
|
||||
# Ofono daemon.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.ofono;
|
||||
|
||||
plugin_path =
|
||||
lib.concatMapStringsSep ":"
|
||||
(plugin: "${plugin}/lib/ofono/plugins")
|
||||
cfg.plugins
|
||||
;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.ofono = {
|
||||
enable = mkEnableOption "Ofono";
|
||||
|
||||
plugins = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
example = literalExample "[ pkgs.modem-manager-gui ]";
|
||||
description = ''
|
||||
The list of plugins to install.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
services.dbus.packages = [ pkgs.ofono ];
|
||||
|
||||
systemd.packages = [ pkgs.ofono ];
|
||||
|
||||
systemd.services.ofono.environment.OFONO_PLUGIN_PATH = mkIf (cfg.plugins != []) plugin_path;
|
||||
|
||||
};
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{ config, lib, pkgs, ... }: with lib; let
|
||||
cfg = config.services.icingaweb2;
|
||||
fpm = config.services.phpfpm.pools.${poolName};
|
||||
poolName = "icingaweb2";
|
||||
phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock";
|
||||
|
||||
defaultConfig = {
|
||||
global = {
|
||||
@ -164,27 +164,26 @@ in {
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") {
|
||||
"${poolName}" = ''
|
||||
listen = "${phpfpmSocketName}"
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
listen.mode = 0600
|
||||
user = icingaweb2
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 2
|
||||
pm.max_spare_servers = 10
|
||||
'';
|
||||
services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
|
||||
"${poolName}" = {
|
||||
user = "icingaweb2";
|
||||
phpOptions = ''
|
||||
extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
|
||||
date.timezone = "${cfg.timezone}"
|
||||
'';
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0600";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.phpfpm.phpOptions = mkIf (cfg.pool == "${poolName}")
|
||||
''
|
||||
extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
|
||||
date.timezone = "${cfg.timezone}"
|
||||
'';
|
||||
|
||||
systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ];
|
||||
|
||||
services.nginx = {
|
||||
@ -208,7 +207,7 @@ in {
|
||||
include ${config.services.nginx.package}/conf/fastcgi.conf;
|
||||
try_files $uri =404;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:${phpfpmSocketName};
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
fastcgi_param SCRIPT_FILENAME ${pkgs.icingaweb2}/public/index.php;
|
||||
'';
|
||||
};
|
||||
|
@ -120,15 +120,15 @@ in
|
||||
};
|
||||
|
||||
poolConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = ''
|
||||
pm = dynamic
|
||||
pm.max_children = 32
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 2
|
||||
pm.max_spare_servers = 4
|
||||
pm.max_requests = 500
|
||||
'';
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 4;
|
||||
"pm.max_requests" = 500;
|
||||
};
|
||||
description = ''
|
||||
Options for the LimeSurvey PHP pool. See the documentation on <literal>php-fpm.conf</literal>
|
||||
for details on configuration directives.
|
||||
@ -203,17 +203,12 @@ in
|
||||
};
|
||||
|
||||
services.phpfpm.pools.limesurvey = {
|
||||
listen = "/run/phpfpm/limesurvey.sock";
|
||||
extraConfig = ''
|
||||
listen.owner = ${config.services.httpd.user};
|
||||
listen.group = ${config.services.httpd.group};
|
||||
user = ${user};
|
||||
group = ${group};
|
||||
|
||||
env[LIMESURVEY_CONFIG] = ${limesurveyConfig}
|
||||
|
||||
${cfg.poolConfig}
|
||||
'';
|
||||
inherit user group;
|
||||
phpEnv.LIMESURVEY_CONFIG = "${limesurveyConfig}";
|
||||
settings = {
|
||||
"listen.owner" = config.services.httpd.user;
|
||||
"listen.group" = config.services.httpd.group;
|
||||
} // cfg.poolConfig;
|
||||
};
|
||||
|
||||
services.httpd = {
|
||||
@ -241,7 +236,7 @@ in
|
||||
<Directory "${pkg}/share/limesurvey">
|
||||
<FilesMatch "\.php$">
|
||||
<If "-f %{REQUEST_FILENAME}">
|
||||
SetHandler "proxy:unix:${fpm.listen}|fcgi://localhost/"
|
||||
SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
|
||||
</If>
|
||||
</FilesMatch>
|
||||
|
||||
|
@ -225,22 +225,24 @@ in {
|
||||
serviceConfig.UMask = "0007";
|
||||
};
|
||||
|
||||
services.phpfpm.poolConfigs = let
|
||||
services.phpfpm.pools = let
|
||||
# workaround for when both are null and need to generate a string,
|
||||
# which is illegal, but as assertions apparently are being triggered *after* config generation,
|
||||
# we have to avoid already throwing errors at this previous stage.
|
||||
socketOwner = if (cfg.nginx != null) then config.services.nginx.user
|
||||
else if (cfg.webServerUser != null) then cfg.webServerUser else "";
|
||||
in {
|
||||
${pool} = ''
|
||||
listen = "${phpSocket}"
|
||||
listen.owner = ${socketOwner}
|
||||
listen.group = root
|
||||
listen.mode = 0600
|
||||
user = ${user}
|
||||
env[PIWIK_USER_PATH] = ${dataDir}
|
||||
${cfg.phpfpmProcessManagerConfig}
|
||||
'';
|
||||
${pool} = {
|
||||
listen = phpSocket;
|
||||
extraConfig = ''
|
||||
listen.owner = ${socketOwner}
|
||||
listen.group = root
|
||||
listen.mode = 0600
|
||||
user = ${user}
|
||||
env[PIWIK_USER_PATH] = ${dataDir}
|
||||
${cfg.phpfpmProcessManagerConfig}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
@ -312,17 +312,17 @@ in
|
||||
};
|
||||
|
||||
poolConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = ''
|
||||
pm = dynamic
|
||||
pm.max_children = 32
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 2
|
||||
pm.max_spare_servers = 4
|
||||
pm.max_requests = 500
|
||||
'';
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 4;
|
||||
"pm.max_requests" = 500;
|
||||
};
|
||||
description = ''
|
||||
Options for MediaWiki's PHP pool. See the documentation on <literal>php-fpm.conf</literal>
|
||||
Options for the MediaWiki PHP pool. See the documentation on <literal>php-fpm.conf</literal>
|
||||
for details on configuration directives.
|
||||
'';
|
||||
};
|
||||
@ -379,17 +379,12 @@ in
|
||||
};
|
||||
|
||||
services.phpfpm.pools.mediawiki = {
|
||||
listen = "/run/phpfpm/mediawiki.sock";
|
||||
extraConfig = ''
|
||||
listen.owner = ${config.services.httpd.user}
|
||||
listen.group = ${config.services.httpd.group}
|
||||
user = ${user}
|
||||
group = ${group}
|
||||
|
||||
env[MEDIAWIKI_CONFIG] = ${mediawikiConfig}
|
||||
|
||||
${cfg.poolConfig}
|
||||
'';
|
||||
inherit user group;
|
||||
phpEnv.MEDIAWIKI_CONFIG = "${mediawikiConfig}";
|
||||
settings = {
|
||||
"listen.owner" = config.services.httpd.user;
|
||||
"listen.group" = config.services.httpd.group;
|
||||
} // cfg.poolConfig;
|
||||
};
|
||||
|
||||
services.httpd = {
|
||||
@ -403,7 +398,7 @@ in
|
||||
<Directory "${pkg}/share/mediawiki">
|
||||
<FilesMatch "\.php$">
|
||||
<If "-f %{REQUEST_FILENAME}">
|
||||
SetHandler "proxy:unix:${fpm.listen}|fcgi://localhost/"
|
||||
SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
|
||||
</If>
|
||||
</FilesMatch>
|
||||
|
||||
|
@ -4,6 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.nextcloud;
|
||||
fpm = config.services.phpfpm.pools.nextcloud;
|
||||
|
||||
phpPackage = pkgs.php73;
|
||||
phpPackages = pkgs.php73Packages;
|
||||
@ -410,25 +411,20 @@ in {
|
||||
};
|
||||
|
||||
services.phpfpm = {
|
||||
pools.nextcloud = let
|
||||
phpAdminValues = (toKeyValue
|
||||
(foldr (a: b: a // b) {}
|
||||
(mapAttrsToList (k: v: { "php_admin_value[${k}]" = v; })
|
||||
phpOptions)));
|
||||
in {
|
||||
phpOptions = phpOptionsExtensions;
|
||||
pools.nextcloud = {
|
||||
user = "nextcloud";
|
||||
group = "nginx";
|
||||
phpOptions = phpOptionsExtensions + phpOptionsStr;
|
||||
phpPackage = phpPackage;
|
||||
listen = "/run/phpfpm/nextcloud";
|
||||
extraConfig = ''
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
user = nextcloud
|
||||
group = nginx
|
||||
${cfg.poolConfig}
|
||||
env[NEXTCLOUD_CONFIG_DIR] = ${cfg.home}/config
|
||||
env[PATH] = /run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin
|
||||
${phpAdminValues}
|
||||
'';
|
||||
phpEnv = {
|
||||
NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
|
||||
PATH = "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin";
|
||||
};
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
};
|
||||
extraConfig = cfg.poolConfig;
|
||||
};
|
||||
};
|
||||
|
||||
@ -489,7 +485,7 @@ in {
|
||||
fastcgi_param HTTPS ${if cfg.https then "on" else "off"};
|
||||
fastcgi_param modHeadersAvailable true;
|
||||
fastcgi_param front_controller_active true;
|
||||
fastcgi_pass unix:/run/phpfpm/nextcloud;
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
fastcgi_read_timeout 120s;
|
||||
|
@ -9,11 +9,11 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.restya-board;
|
||||
fpm = config.services.phpfpm.pools.${poolName};
|
||||
|
||||
runDir = "/run/restya-board";
|
||||
|
||||
poolName = "restya-board";
|
||||
phpfpmSocketName = "/run/phpfpm/${poolName}.sock";
|
||||
|
||||
in
|
||||
|
||||
@ -180,7 +180,7 @@ in
|
||||
|
||||
services.phpfpm.pools = {
|
||||
"${poolName}" = {
|
||||
listen = phpfpmSocketName;
|
||||
inherit (cfg) user group;
|
||||
phpOptions = ''
|
||||
date.timezone = "CET"
|
||||
|
||||
@ -191,20 +191,18 @@ in
|
||||
auth_password = ${cfg.email.password}
|
||||
''}
|
||||
'';
|
||||
extraConfig = ''
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
listen.mode = 0600
|
||||
user = ${cfg.user}
|
||||
group = ${cfg.group}
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 10
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
catch_workers_output = 1
|
||||
'';
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0600";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
"catch_workers_output" = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -241,7 +239,7 @@ in
|
||||
tryFiles = "$uri =404";
|
||||
extraConfig = ''
|
||||
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||
fastcgi_pass unix:${phpfpmSocketName};
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M";
|
||||
|
@ -4,7 +4,6 @@ let
|
||||
cfg = config.services.selfoss;
|
||||
|
||||
poolName = "selfoss_pool";
|
||||
phpfpmSocketName = "/run/phpfpm/${poolName}.sock";
|
||||
|
||||
dataDir = "/var/lib/selfoss";
|
||||
|
||||
@ -116,21 +115,22 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") {
|
||||
"${poolName}" = ''
|
||||
listen = "${phpfpmSocketName}";
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
listen.mode = 0600
|
||||
user = nginx
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 10
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
catch_workers_output = 1
|
||||
'';
|
||||
services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
|
||||
"${poolName}" = {
|
||||
user = "nginx";
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0600";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
"catch_workers_output" = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.selfoss-config = {
|
||||
|
@ -521,20 +521,19 @@ let
|
||||
|
||||
services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
|
||||
"${poolName}" = {
|
||||
listen = "/var/run/phpfpm/${poolName}.sock";
|
||||
extraConfig = ''
|
||||
listen.owner = nginx
|
||||
listen.group = nginx
|
||||
listen.mode = 0600
|
||||
user = ${cfg.user}
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 10
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
catch_workers_output = 1
|
||||
'';
|
||||
inherit (cfg) user;
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0600";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
"catch_workers_output" = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -552,7 +551,7 @@ let
|
||||
locations."~ \.php$" = {
|
||||
extraConfig = ''
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.listen};
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.socket};
|
||||
fastcgi_index index.php;
|
||||
'';
|
||||
};
|
||||
|
@ -216,15 +216,15 @@ let
|
||||
};
|
||||
|
||||
poolConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = ''
|
||||
pm = dynamic
|
||||
pm.max_children = 32
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 2
|
||||
pm.max_spare_servers = 4
|
||||
pm.max_requests = 500
|
||||
'';
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 4;
|
||||
"pm.max_requests" = 500;
|
||||
};
|
||||
description = ''
|
||||
Options for the WordPress PHP pool. See the documentation on <literal>php-fpm.conf</literal>
|
||||
for details on configuration directives.
|
||||
@ -280,15 +280,11 @@ in
|
||||
|
||||
services.phpfpm.pools = mapAttrs' (hostName: cfg: (
|
||||
nameValuePair "wordpress-${hostName}" {
|
||||
listen = "/run/phpfpm/wordpress-${hostName}.sock";
|
||||
extraConfig = ''
|
||||
listen.owner = ${config.services.httpd.user}
|
||||
listen.group = ${config.services.httpd.group}
|
||||
user = ${user}
|
||||
group = ${group}
|
||||
|
||||
${cfg.poolConfig}
|
||||
'';
|
||||
inherit user group;
|
||||
settings = {
|
||||
"listen.owner" = config.services.httpd.user;
|
||||
"listen.group" = config.services.httpd.group;
|
||||
} // cfg.poolConfig;
|
||||
}
|
||||
)) eachSite;
|
||||
|
||||
@ -303,7 +299,7 @@ in
|
||||
<Directory "${pkg hostName cfg}/share/wordpress">
|
||||
<FilesMatch "\.php$">
|
||||
<If "-f %{REQUEST_FILENAME}">
|
||||
SetHandler "proxy:unix:/run/phpfpm/wordpress-${hostName}.sock|fcgi://localhost/"
|
||||
SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/"
|
||||
</If>
|
||||
</FilesMatch>
|
||||
|
||||
|
@ -133,15 +133,15 @@ in
|
||||
};
|
||||
|
||||
poolConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = ''
|
||||
pm = dynamic
|
||||
pm.max_children = 32
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 2
|
||||
pm.max_spare_servers = 4
|
||||
pm.max_requests = 500
|
||||
'';
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 4;
|
||||
"pm.max_requests" = 500;
|
||||
};
|
||||
description = ''
|
||||
Options for the Zabbix PHP pool. See the documentation on <literal>php-fpm.conf</literal> for details on configuration directives.
|
||||
'';
|
||||
@ -160,6 +160,8 @@ in
|
||||
];
|
||||
|
||||
services.phpfpm.pools.zabbix = {
|
||||
inherit user;
|
||||
group = config.services.httpd.group;
|
||||
phpOptions = ''
|
||||
# https://www.zabbix.com/documentation/current/manual/installation/install
|
||||
memory_limit = 128M
|
||||
@ -177,15 +179,11 @@ in
|
||||
'' + optionalString (cfg.database.type == "oracle") ''
|
||||
extension=${pkgs.phpPackages.oci8}/lib/php/extensions/oci8.so
|
||||
'';
|
||||
listen = "/run/phpfpm/zabbix.sock";
|
||||
extraConfig = ''
|
||||
listen.owner = ${config.services.httpd.user};
|
||||
listen.group = ${config.services.httpd.group};
|
||||
user = ${user};
|
||||
group = ${config.services.httpd.group};
|
||||
env[ZABBIX_CONFIG] = ${zabbixConfig}
|
||||
${cfg.poolConfig}
|
||||
'';
|
||||
phpEnv.ZABBIX_CONFIG = zabbixConfig;
|
||||
settings = {
|
||||
"listen.owner" = config.services.httpd.user;
|
||||
"listen.group" = config.services.httpd.group;
|
||||
} // cfg.poolConfig;
|
||||
};
|
||||
|
||||
services.httpd = {
|
||||
|
@ -4,41 +4,27 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.phpfpm;
|
||||
enabled = cfg.poolConfigs != {} || cfg.pools != {};
|
||||
|
||||
stateDir = "/run/phpfpm";
|
||||
runtimeDir = "/run/phpfpm";
|
||||
|
||||
poolConfigs =
|
||||
(mapAttrs mapPoolConfig cfg.poolConfigs) //
|
||||
(mapAttrs mapPool cfg.pools);
|
||||
toStr = value:
|
||||
if true == value then "yes"
|
||||
else if false == value then "no"
|
||||
else toString value;
|
||||
|
||||
mapPoolConfig = n: p: {
|
||||
phpPackage = cfg.phpPackage;
|
||||
phpOptions = cfg.phpOptions;
|
||||
config = p;
|
||||
};
|
||||
|
||||
mapPool = n: p: {
|
||||
phpPackage = p.phpPackage;
|
||||
phpOptions = p.phpOptions;
|
||||
config = ''
|
||||
listen = ${p.listen}
|
||||
${p.extraConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
fpmCfgFile = pool: conf: pkgs.writeText "phpfpm-${pool}.conf" ''
|
||||
fpmCfgFile = pool: poolOpts: pkgs.writeText "phpfpm-${pool}.conf" ''
|
||||
[global]
|
||||
error_log = syslog
|
||||
daemonize = no
|
||||
${cfg.extraConfig}
|
||||
${concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings)}
|
||||
${optionalString (cfg.extraConfig != null) cfg.extraConfig}
|
||||
|
||||
[${pool}]
|
||||
${conf}
|
||||
${concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") poolOpts.settings)}
|
||||
${concatStringsSep "\n" (mapAttrsToList (n: v: "env[${n}] = ${toStr v}") poolOpts.phpEnv)}
|
||||
${optionalString (poolOpts.extraConfig != null) poolOpts.extraConfig}
|
||||
'';
|
||||
|
||||
phpIni = pool: pkgs.runCommand "php.ini" {
|
||||
inherit (pool) phpPackage phpOptions;
|
||||
phpIni = poolOpts: pkgs.runCommand "php.ini" {
|
||||
inherit (poolOpts) phpPackage phpOptions;
|
||||
preferLocalBuild = true;
|
||||
nixDefaults = ''
|
||||
sendmail_path = "/run/wrappers/bin/sendmail -t -i"
|
||||
@ -48,13 +34,138 @@ let
|
||||
cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
|
||||
'';
|
||||
|
||||
poolOpts = { name, ... }:
|
||||
let
|
||||
poolOpts = cfg.pools."${name}";
|
||||
in
|
||||
{
|
||||
options = {
|
||||
socket = mkOption {
|
||||
type = types.str;
|
||||
readOnly = true;
|
||||
description = ''
|
||||
Path to the unix socket file on which to accept FastCGI requests.
|
||||
<note><para>This option is read-only and managed by NixOS.</para></note>
|
||||
'';
|
||||
};
|
||||
|
||||
listen = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "/path/to/unix/socket";
|
||||
description = ''
|
||||
The address on which to accept FastCGI requests.
|
||||
'';
|
||||
};
|
||||
|
||||
phpPackage = mkOption {
|
||||
type = types.package;
|
||||
default = cfg.phpPackage;
|
||||
defaultText = "config.services.phpfpm.phpPackage";
|
||||
description = ''
|
||||
The PHP package to use for running this PHP-FPM pool.
|
||||
'';
|
||||
};
|
||||
|
||||
phpOptions = mkOption {
|
||||
type = types.lines;
|
||||
default = cfg.phpOptions;
|
||||
defaultText = "config.services.phpfpm.phpOptions";
|
||||
description = ''
|
||||
"Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
|
||||
'';
|
||||
};
|
||||
|
||||
phpEnv = lib.mkOption {
|
||||
type = with types; attrsOf str;
|
||||
default = {};
|
||||
description = ''
|
||||
Environment variables used for this PHP-FPM pool.
|
||||
'';
|
||||
example = literalExample ''
|
||||
{
|
||||
HOSTNAME = "$HOSTNAME";
|
||||
TMP = "/tmp";
|
||||
TMPDIR = "/tmp";
|
||||
TEMP = "/tmp";
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
description = "User account under which this pool runs.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
description = "Group account under which this pool runs.";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {};
|
||||
description = ''
|
||||
PHP-FPM pool directives. Refer to the "List of pool directives" section of
|
||||
<link xlink:href="https://www.php.net/manual/en/install.fpm.configuration.php"/>
|
||||
for details. Note that settings names must be enclosed in quotes (e.g.
|
||||
<literal>"pm.max_children"</literal> instead of <literal>pm.max_children</literal>).
|
||||
'';
|
||||
example = literalExample ''
|
||||
{
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = with types; nullOr lines;
|
||||
default = null;
|
||||
description = ''
|
||||
Extra lines that go into the pool configuration.
|
||||
See the documentation on <literal>php-fpm.conf</literal> for
|
||||
details on configuration directives.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
socket = if poolOpts.listen == "" then "${runtimeDir}/${name}.sock" else poolOpts.listen;
|
||||
group = mkDefault poolOpts.user;
|
||||
|
||||
settings = mapAttrs (name: mkDefault){
|
||||
listen = poolOpts.socket;
|
||||
user = poolOpts.user;
|
||||
group = poolOpts.group;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
|
||||
options = {
|
||||
services.phpfpm = {
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {};
|
||||
description = ''
|
||||
PHP-FPM global directives. Refer to the "List of global php-fpm.conf directives" section of
|
||||
<link xlink:href="https://www.php.net/manual/en/install.fpm.configuration.php"/>
|
||||
for details. Note that settings names must be enclosed in quotes (e.g.
|
||||
<literal>"pm.max_children"</literal> instead of <literal>pm.max_children</literal>).
|
||||
You need not specify the options <literal>error_log</literal> or
|
||||
<literal>daemonize</literal> here, since they are generated by NixOS.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
type = with types; nullOr lines;
|
||||
default = null;
|
||||
description = ''
|
||||
Extra configuration that should be put in the global section of
|
||||
the PHP-FPM configuration file. Do not specify the options
|
||||
@ -80,64 +191,56 @@ in {
|
||||
''
|
||||
date.timezone = "CET"
|
||||
'';
|
||||
description =
|
||||
"Options appended to the PHP configuration file <filename>php.ini</filename>.";
|
||||
};
|
||||
|
||||
poolConfigs = mkOption {
|
||||
default = {};
|
||||
type = types.attrsOf types.lines;
|
||||
example = literalExample ''
|
||||
{ mypool = '''
|
||||
listen = /run/phpfpm/mypool
|
||||
user = nobody
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 10
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
''';
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
A mapping between PHP-FPM pool names and their configurations.
|
||||
See the documentation on <literal>php-fpm.conf</literal> for
|
||||
details on configuration directives. If no pools are defined,
|
||||
the phpfpm service is disabled.
|
||||
Options appended to the PHP configuration file <filename>php.ini</filename>.
|
||||
'';
|
||||
};
|
||||
|
||||
pools = mkOption {
|
||||
type = types.attrsOf (types.submodule (import ./pool-options.nix {
|
||||
inherit lib config;
|
||||
}));
|
||||
type = types.attrsOf (types.submodule poolOpts);
|
||||
default = {};
|
||||
example = literalExample ''
|
||||
{
|
||||
mypool = {
|
||||
listen = "/path/to/unix/socket";
|
||||
user = "php";
|
||||
group = "php";
|
||||
phpPackage = pkgs.php;
|
||||
extraConfig = '''
|
||||
user = nobody
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 10
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
settings = '''
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
''';
|
||||
}
|
||||
}'';
|
||||
description = ''
|
||||
PHP-FPM pools. If no pools or poolConfigs are defined, the PHP-FPM
|
||||
PHP-FPM pools. If no pools are defined, the PHP-FPM
|
||||
service is disabled.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf enabled {
|
||||
config = mkIf (cfg.pools != {}) {
|
||||
|
||||
warnings =
|
||||
mapAttrsToList (pool: poolOpts: ''
|
||||
Using config.services.phpfpm.pools.${pool}.listen is deprecated and will become unsupported in a future release. Please reference the read-only option config.services.phpfpm.pools.${pool}.socket to access the path of your socket.
|
||||
'') (filterAttrs (pool: poolOpts: poolOpts.listen != "") cfg.pools) ++
|
||||
mapAttrsToList (pool: poolOpts: ''
|
||||
Using config.services.phpfpm.pools.${pool}.extraConfig is deprecated and will become unsupported in a future release. Please migrate your configuration to config.services.phpfpm.pools.${pool}.settings.
|
||||
'') (filterAttrs (pool: poolOpts: poolOpts.extraConfig != null) cfg.pools) ++
|
||||
optional (cfg.extraConfig != null) ''
|
||||
Using config.services.phpfpm.extraConfig is deprecated and will become unsupported in a future release. Please migrate your configuration to config.services.phpfpm.settings.
|
||||
''
|
||||
;
|
||||
|
||||
services.phpfpm.settings = {
|
||||
error_log = "syslog";
|
||||
daemonize = false;
|
||||
};
|
||||
|
||||
systemd.slices.phpfpm = {
|
||||
description = "PHP FastCGI Process manager pools slice";
|
||||
@ -148,18 +251,15 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
systemd.services = flip mapAttrs' poolConfigs (pool: poolConfig:
|
||||
systemd.services = mapAttrs' (pool: poolOpts:
|
||||
nameValuePair "phpfpm-${pool}" {
|
||||
description = "PHP FastCGI Process Manager service for pool ${pool}";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "phpfpm.target" ];
|
||||
partOf = [ "phpfpm.target" ];
|
||||
preStart = ''
|
||||
mkdir -p ${stateDir}
|
||||
'';
|
||||
serviceConfig = let
|
||||
cfgFile = fpmCfgFile pool poolConfig.config;
|
||||
iniFile = phpIni poolConfig;
|
||||
cfgFile = fpmCfgFile pool poolOpts;
|
||||
iniFile = phpIni poolOpts;
|
||||
in {
|
||||
Slice = "phpfpm.slice";
|
||||
PrivateDevices = true;
|
||||
@ -168,10 +268,12 @@ in {
|
||||
# XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
|
||||
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
|
||||
Type = "notify";
|
||||
ExecStart = "${poolConfig.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}";
|
||||
ExecStart = "${poolOpts.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID";
|
||||
RuntimeDirectory = "phpfpm";
|
||||
RuntimeDirectoryPreserve = true; # Relevant when multiple processes are running
|
||||
};
|
||||
}
|
||||
);
|
||||
) cfg.pools;
|
||||
};
|
||||
}
|
||||
|
@ -1,57 +0,0 @@
|
||||
{ lib, config }:
|
||||
|
||||
let
|
||||
fpmCfg = config.services.phpfpm;
|
||||
in
|
||||
|
||||
with lib; {
|
||||
|
||||
options = {
|
||||
|
||||
listen = mkOption {
|
||||
type = types.str;
|
||||
example = "/path/to/unix/socket";
|
||||
description = ''
|
||||
The address on which to accept FastCGI requests.
|
||||
'';
|
||||
};
|
||||
|
||||
phpPackage = mkOption {
|
||||
type = types.package;
|
||||
default = fpmCfg.phpPackage;
|
||||
defaultText = "config.services.phpfpm.phpPackage";
|
||||
description = ''
|
||||
The PHP package to use for running this PHP-FPM pool.
|
||||
'';
|
||||
};
|
||||
|
||||
phpOptions = mkOption {
|
||||
type = types.lines;
|
||||
default = fpmCfg.phpOptions;
|
||||
defaultText = "config.services.phpfpm.phpOptions";
|
||||
description = ''
|
||||
"Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
example = ''
|
||||
user = nobody
|
||||
pm = dynamic
|
||||
pm.max_children = 75
|
||||
pm.start_servers = 10
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 20
|
||||
pm.max_requests = 500
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Extra lines that go into the pool configuration.
|
||||
See the documentation on <literal>php-fpm.conf</literal> for
|
||||
details on configuration directives.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -29,10 +29,10 @@ let
|
||||
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
|
||||
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
|
||||
[org.gnome.desktop.background]
|
||||
picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
|
||||
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
|
||||
|
||||
[org.gnome.desktop.screensaver]
|
||||
picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
|
||||
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
|
||||
|
||||
[org.gnome.shell]
|
||||
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'evolution.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
|
||||
|
@ -104,6 +104,18 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
onBoot = mkOption {
|
||||
type = types.enum ["start" "ignore" ];
|
||||
default = "start";
|
||||
description = ''
|
||||
Specifies the action to be done to / on the guests when the host boots.
|
||||
The "start" option starts all guests that were running prior to shutdown
|
||||
regardless of their autostart settings. The "ignore" option will not
|
||||
start the formally running guest on boot. However, any guest marked as
|
||||
autostart will still be automatically started by libvirtd.
|
||||
'';
|
||||
};
|
||||
|
||||
onShutdown = mkOption {
|
||||
type = types.enum ["shutdown" "suspend" ];
|
||||
default = "suspend";
|
||||
@ -221,6 +233,7 @@ in {
|
||||
path = with pkgs; [ coreutils libvirt gawk ];
|
||||
restartIfChanged = false;
|
||||
|
||||
environment.ON_BOOT = "${cfg.onBoot}";
|
||||
environment.ON_SHUTDOWN = "${cfg.onShutdown}";
|
||||
};
|
||||
|
||||
|
@ -14,9 +14,9 @@ let
|
||||
};
|
||||
betaVersion = stableVersion;
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.6.0.6"; # "Android Studio 3.6 Canary 6"
|
||||
build = "192.5787298";
|
||||
sha256Hash = "1rri8b5nkxj65hq13s5d31fy08llf3ad9s5mn56ridd4nsy2c5df";
|
||||
version = "3.6.0.7"; # "Android Studio 3.6 Canary 7"
|
||||
build = "192.5807797";
|
||||
sha256Hash = "1l47miiyd8z7v0hbvda06953pp9ilyrsma83gxqx35ghnc0n7g81";
|
||||
};
|
||||
in rec {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
@ -15,15 +15,19 @@
|
||||
, libuv
|
||||
, libzen
|
||||
, lsb-release
|
||||
, mkDerivation
|
||||
, pkgconfig
|
||||
, qt5
|
||||
, qmake
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qttools
|
||||
, sqlite
|
||||
, swig
|
||||
, unzip
|
||||
, wget
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkDerivation rec {
|
||||
pname = "megasync";
|
||||
version = "4.1.1.0";
|
||||
|
||||
@ -41,8 +45,8 @@ stdenv.mkDerivation rec {
|
||||
doxygen
|
||||
lsb-release
|
||||
pkgconfig
|
||||
qt5.qmake
|
||||
qt5.qttools
|
||||
qmake
|
||||
qttools
|
||||
swig
|
||||
];
|
||||
buildInputs = [
|
||||
@ -57,8 +61,8 @@ stdenv.mkDerivation rec {
|
||||
libtool
|
||||
libuv
|
||||
libzen
|
||||
qt5.qtbase
|
||||
qt5.qtsvg
|
||||
qtbase
|
||||
qtsvg
|
||||
sqlite
|
||||
unzip
|
||||
wget
|
||||
|
@ -3,11 +3,11 @@
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "netsurf-buildsystem";
|
||||
version = "1.7";
|
||||
version = "1.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz";
|
||||
sha256 = "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw";
|
||||
sha256 = "0ffdjwskxlnh8sk40qqfgksbb1nrdzfxsshrscra0p4nqpkj98z6";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
38
pkgs/applications/networking/irc/irccloud/default.nix
Normal file
38
pkgs/applications/networking/irc/irccloud/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ appimageTools, fetchurl, lib }:
|
||||
|
||||
let
|
||||
pname = "irccloud";
|
||||
version = "0.13.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "0ff69m5jav2c90918avsr5wvik2gds3klij3dzhkb352fgrd1s0l";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit name src;
|
||||
};
|
||||
|
||||
in appimageTools.wrapType2 rec {
|
||||
inherit name src;
|
||||
|
||||
extraPkgs = pkgs: with pkgs; [ at-spi2-core ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
|
||||
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
|
||||
$out/share/icons/hicolor/512x512/apps/irccloud.png
|
||||
substituteInPlace $out/share/applications/irccloud.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A desktop client for IRCCloud";
|
||||
homepage = "https://www.irccloud.com";
|
||||
license = licenses.asl20;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ lightbulbjim ];
|
||||
};
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
};
|
||||
|
||||
weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
|
||||
inherit (luaPackages) cjson;
|
||||
inherit (luaPackages) cjson luaffi;
|
||||
};
|
||||
|
||||
wee-slack = callPackage ./wee-slack {
|
||||
|
@ -31,9 +31,9 @@ stdenv.mkDerivation {
|
||||
mkdir -p $out/{share,lib}
|
||||
|
||||
cp {matrix.lua,olm.lua} $out/share
|
||||
cp ${cjson}/lib/lua/5.2/cjson.so $out/lib/cjson.so
|
||||
cp ${cjson}/lib/lua/${cjson.lua.luaversion}/cjson.so $out/lib/cjson.so
|
||||
cp ${olm}/lib/libolm.so $out/lib/libolm.so
|
||||
cp ${luaffi}/lib/ffi.so $out/lib/ffi.so
|
||||
cp ${luaffi}/lib/lua/${luaffi.lua.luaversion}/ffi.so $out/lib/ffi.so
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,4 +1,19 @@
|
||||
{ stdenv, pkgconfig, python3, fetchhg, gtk3, glib, gdbm, gtkspell3, itstool, libappindicator-gtk3, perlPackages, glibcLocales, meson, ninja }:
|
||||
{ stdenv
|
||||
, pkgconfig
|
||||
, python3
|
||||
, fetchhg
|
||||
, gtk3
|
||||
, glib
|
||||
, gdbm
|
||||
, gtkspell3
|
||||
, ofono
|
||||
, itstool
|
||||
, libappindicator-gtk3
|
||||
, perlPackages
|
||||
, glibcLocales
|
||||
, meson
|
||||
, ninja
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "modem-manager-gui";
|
||||
@ -10,14 +25,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "11iibh36567814h2bz41sa1072b86p1l13xyj670pwkh9k8kw8fd";
|
||||
};
|
||||
|
||||
LC_ALL = "en_US.utf-8";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
python3
|
||||
perlPackages.Po4a
|
||||
itstool
|
||||
glibcLocales
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
@ -27,6 +39,7 @@ stdenv.mkDerivation rec {
|
||||
glib
|
||||
gdbm
|
||||
gtkspell3
|
||||
ofono
|
||||
libappindicator-gtk3
|
||||
];
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus
|
||||
, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11
|
||||
, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc
|
||||
, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "teamviewer";
|
||||
version = "14.5.1691";
|
||||
@ -44,8 +44,11 @@ mkDerivation rec {
|
||||
--replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
|
||||
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
|
||||
--replace '/var/run/' '/run/'
|
||||
|
||||
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
|
||||
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
|
||||
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
|
||||
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}"
|
||||
|
||||
wrapQtApp $out/bin/teamviewer
|
||||
'';
|
||||
|
@ -0,0 +1,43 @@
|
||||
{ stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sumorobot-manager";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robokoding";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "03zhb54c259a66hsahmv2ajbzwcjnfjj050wbjhw51zqzxinlgqr";
|
||||
};
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
pythonPath = [
|
||||
pyqt5 pyserial
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook ];
|
||||
|
||||
buildPhase = "true";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/opt/sumorobot-manager
|
||||
cp -r main.py lib res $out/opt/sumorobot-manager
|
||||
chmod -R 644 $out/opt/sumorobot-manager/lib/*
|
||||
mkdir $out/bin
|
||||
makeQtWrapper $out/opt/sumorobot-manager/main.py $out/bin/sumorobot-manager \
|
||||
--run "cd $out/opt/sumorobot-manager"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchShebangs $out/opt/sumorobot-manager/main.py
|
||||
wrapPythonProgramsIn "$out/opt" "$pythonPath"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Desktop App for managing SumoRobots";
|
||||
homepage = "https://www.robokoding.com/kits/sumorobot/sumomanager/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
66
pkgs/applications/version-management/bcompare/default.nix
Normal file
66
pkgs/applications/version-management/bcompare/default.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bcompare";
|
||||
version = "4.2.10.23938";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
|
||||
sha256 = "1825s1lbaj20d712czmaaqg7mkwfb650r53af2y30j29p6yd4wal";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
ar x $src
|
||||
tar xfz data.tar.gz
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib $out/share
|
||||
cp -R usr/share $out/
|
||||
cp -R usr/lib $out/
|
||||
cp -R usr/bin $out/
|
||||
|
||||
# Remove library that refuses to be autoPatchelf'ed
|
||||
rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so
|
||||
|
||||
substituteInPlace $out/bin/bcompare \
|
||||
--replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
|
||||
--replace "/bin/bash" "${runtimeShell}"
|
||||
|
||||
# Create symlink bzip2 library
|
||||
ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc.lib
|
||||
gtk2
|
||||
gnome2.pango
|
||||
cairo
|
||||
kio
|
||||
kservice
|
||||
ki18n
|
||||
kcoreaddons
|
||||
gdk-pixbuf
|
||||
qt4
|
||||
bzip2
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GUI application that allows to quickly and easily compare files and folders";
|
||||
longDescription = ''
|
||||
Beyond Compare is focused. Beyond Compare allows you to quickly and easily compare your files and folders.
|
||||
By using simple, powerful commands you can focus on the differences you're interested in and ignore those you're not.
|
||||
You can then merge the changes, synchronize your files, and generate reports for your records.
|
||||
'';
|
||||
homepage = "https://www.scootersoftware.com";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.ktor ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
}
|
@ -121,6 +121,8 @@ let
|
||||
|
||||
git-stree = callPackage ./git-stree { };
|
||||
|
||||
git-subrepo = callPackage ./git-subrepo { };
|
||||
|
||||
git-sync = callPackage ./git-sync { };
|
||||
|
||||
git-test = callPackage ./git-test { };
|
||||
|
@ -0,0 +1,58 @@
|
||||
{ stdenv, fetchFromGitHub, git, makeWrapper, which }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-subrepo";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ingydotnet";
|
||||
repo = "git-subrepo";
|
||||
rev = version;
|
||||
sha256 = "05m2dm9gq2nggwnxxdyq2kjj584sn2lxk66pr1qhjxnk81awj9l7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
git
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder ''out''}"
|
||||
"INSTALL_LIB=${placeholder ''out''}/bin"
|
||||
"INSTALL_MAN=${placeholder ''out''}/share/man/man1"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Allow zsh completion to work even though we aren't installing from a git
|
||||
# clone. Also submitted upstream as
|
||||
# https://github.com/ingydotnet/git-subrepo/pull/420
|
||||
./zsh-completion.patch
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ZSH_COMP_DIR="$out/share/zsh/vendor-completions"
|
||||
mkdir -p "$ZSH_COMP_DIR"
|
||||
cp share/zsh-completion/_git-subrepo "$ZSH_COMP_DIR/"
|
||||
|
||||
BASH_COMP_DIR="$out/share/bash-completion/completions"
|
||||
mkdir -p "$BASH_COMP_DIR"
|
||||
cp share/completion.bash "$BASH_COMP_DIR/git-subrepo"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/git-subrepo \
|
||||
--prefix PATH : "${git}/bin"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/ingydotnet/git-subrepo;
|
||||
description = "Git submodule alternative";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.ryantrinkle ];
|
||||
};
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
diff --git a/pkg/bin/generate-completion.pl b/pkg/bin/generate-completion.pl
|
||||
index 85ae3b8..d3e423c 100644
|
||||
--- a/pkg/bin/generate-completion.pl
|
||||
+++ b/pkg/bin/generate-completion.pl
|
||||
@@ -82,11 +82,6 @@ sub generate_zsh {
|
||||
|
||||
# DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
|
||||
|
||||
-if [[ -z $GIT_SUBREPO_ROOT ]]; then
|
||||
- echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
|
||||
- return 3
|
||||
-fi
|
||||
-
|
||||
_git-subrepo() {
|
||||
typeset -A opt_args
|
||||
local curcontext="$curcontext" state line context
|
||||
diff --git a/share/zsh-completion/_git-subrepo b/share/zsh-completion/_git-subrepo
|
||||
index fc82be2..a8069d9 100644
|
||||
--- a/share/zsh-completion/_git-subrepo
|
||||
+++ b/share/zsh-completion/_git-subrepo
|
||||
@@ -3,11 +3,6 @@
|
||||
|
||||
# DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
|
||||
|
||||
-if [[ -z $GIT_SUBREPO_ROOT ]]; then
|
||||
- echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
|
||||
- return 3
|
||||
-fi
|
||||
-
|
||||
_git-subrepo() {
|
||||
typeset -A opt_args
|
||||
local curcontext="$curcontext" state line context
|
@ -5,15 +5,13 @@
|
||||
, libXinerama, libXext, xwininfo, libxdg_basedir }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "compton";
|
||||
version = "7";
|
||||
|
||||
COMPTON_VERSION = "v${version}";
|
||||
version = "7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yshui";
|
||||
repo = "compton";
|
||||
rev = COMPTON_VERSION;
|
||||
sha256 = "0f23dv2p1snlpzc91v38q6896ncz4zqzmh2d97yf66j78g21awas";
|
||||
rev = "v${version}";
|
||||
sha256 = "1vwa5f0nifc1913diqd6cp5k1dlfyc2ijxbcdj1s37ywpx6c63c3";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -42,11 +40,6 @@ stdenv.mkDerivation rec {
|
||||
"-Dbuild_docs=true"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
git() { echo "$COMPTON_VERSION"; }
|
||||
export -f git
|
||||
'';
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
postInstall = ''
|
||||
|
@ -1,15 +1,67 @@
|
||||
{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, ibus, gettext, upower, wrapGAppsHook
|
||||
, libcanberra-gtk3, accountsservice, libpwquality, libpulseaudio
|
||||
, gdk-pixbuf, librsvg, libgudev, libsecret, gnome-color-manager
|
||||
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
||||
, libkrb5, networkmanagerapplet, networkmanager, glibc
|
||||
, libwacom, samba, shared-mime-info, tzdata, libgnomekbd
|
||||
, docbook_xsl, modemmanager, clutter, clutter-gtk, cheese, gnome-session
|
||||
, fontconfig, sound-theme-freedesktop, grilo, python3
|
||||
, gtk3, glib, glib-networking, gsettings-desktop-schemas
|
||||
, gnome-desktop, gnome-settings-daemon, gnome-online-accounts
|
||||
, vino, gnome-bluetooth, tracker, adwaita-icon-theme
|
||||
, udisks2, gsound, libhandy, cups, mutter }:
|
||||
{ fetchurl
|
||||
, stdenv
|
||||
, substituteAll
|
||||
, accountsservice
|
||||
, adwaita-icon-theme
|
||||
, cheese
|
||||
, clutter
|
||||
, clutter-gtk
|
||||
, colord
|
||||
, colord-gtk
|
||||
, cups
|
||||
, docbook_xsl
|
||||
, fontconfig
|
||||
, gdk-pixbuf
|
||||
, gettext
|
||||
, glib
|
||||
, glib-networking
|
||||
, glibc
|
||||
, gnome-bluetooth
|
||||
, gnome-color-manager
|
||||
, gnome-desktop
|
||||
, gnome-online-accounts
|
||||
, gnome-session
|
||||
, gnome-settings-daemon
|
||||
, gnome3
|
||||
, grilo
|
||||
, grilo-plugins
|
||||
, gsettings-desktop-schemas
|
||||
, gsound
|
||||
, gtk3
|
||||
, ibus
|
||||
, libcanberra-gtk3
|
||||
, libgnomekbd
|
||||
, libgtop
|
||||
, libgudev
|
||||
, libhandy
|
||||
, libkrb5
|
||||
, libpulseaudio
|
||||
, libpwquality
|
||||
, librsvg
|
||||
, libsecret
|
||||
, libsoup
|
||||
, libwacom
|
||||
, libxml2
|
||||
, libxslt
|
||||
, meson
|
||||
, modemmanager
|
||||
, mutter
|
||||
, networkmanager
|
||||
, networkmanagerapplet
|
||||
, ninja
|
||||
, pkgconfig
|
||||
, polkit
|
||||
, python3
|
||||
, samba
|
||||
, shared-mime-info
|
||||
, sound-theme-freedesktop
|
||||
, tracker
|
||||
, tzdata
|
||||
, udisks2
|
||||
, upower
|
||||
, vino
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-control-center";
|
||||
@ -21,20 +73,61 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xsl
|
||||
shared-mime-info python3
|
||||
docbook_xsl
|
||||
gettext
|
||||
libxslt
|
||||
meson
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
shared-mime-info
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ibus gtk3 glib glib-networking upower gsettings-desktop-schemas
|
||||
libxml2 gnome-desktop gnome-settings-daemon polkit libgtop
|
||||
gnome-online-accounts libsoup colord libpulseaudio fontconfig colord-gtk
|
||||
accountsservice libkrb5 networkmanagerapplet libwacom samba
|
||||
grilo libpwquality vino libcanberra-gtk3 libgudev libsecret
|
||||
gdk-pixbuf adwaita-icon-theme librsvg clutter clutter-gtk cheese
|
||||
networkmanager modemmanager gnome-bluetooth tracker
|
||||
udisks2 gsound libhandy
|
||||
accountsservice
|
||||
adwaita-icon-theme
|
||||
cheese
|
||||
clutter
|
||||
clutter-gtk
|
||||
colord
|
||||
colord-gtk
|
||||
fontconfig
|
||||
gdk-pixbuf
|
||||
glib
|
||||
glib-networking
|
||||
gnome-bluetooth
|
||||
gnome-desktop
|
||||
gnome-online-accounts
|
||||
gnome-settings-daemon
|
||||
grilo
|
||||
grilo-plugins # for setting wallpaper from Flickr
|
||||
gsettings-desktop-schemas
|
||||
gsound
|
||||
gtk3
|
||||
ibus
|
||||
libcanberra-gtk3
|
||||
libgtop
|
||||
libgudev
|
||||
libhandy
|
||||
libkrb5
|
||||
libpulseaudio
|
||||
libpwquality
|
||||
librsvg
|
||||
libsecret
|
||||
libsoup
|
||||
libwacom
|
||||
libxml2
|
||||
modemmanager
|
||||
mutter # schemas for the keybindings
|
||||
networkmanager
|
||||
networkmanagerapplet
|
||||
polkit
|
||||
samba
|
||||
tracker
|
||||
udisks2
|
||||
upower
|
||||
vino
|
||||
];
|
||||
|
||||
patches = [
|
||||
|
@ -44,7 +44,7 @@ runCommand "elementary-gsettings-desktop-schemas" {}
|
||||
|
||||
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
|
||||
[org.gnome.desktop.background]
|
||||
picture-uri='${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
|
||||
picture-uri='file://${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
|
||||
primary-color='#000000'
|
||||
|
||||
${extraGSettingsOverrides}
|
||||
|
@ -30,11 +30,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go";
|
||||
version = "1.11.12";
|
||||
version = "1.11.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/go/go${version}.src.tar.gz";
|
||||
sha256 = "09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd";
|
||||
sha256 = "0xj0pbviikdf8g0sfz5hwxf7hwz8b8g5akqnrvyclhgnsdghjcjh";
|
||||
};
|
||||
|
||||
# perl is used for testing go vet
|
||||
|
@ -30,11 +30,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go";
|
||||
version = "1.12.7";
|
||||
version = "1.12.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/go/go${version}.src.tar.gz";
|
||||
sha256 = "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m";
|
||||
sha256 = "1z32imbwmpkzgyh5c3vi7rbvzbq94xjk5qi2xm9sccj7kknmc3mb";
|
||||
};
|
||||
|
||||
# perl is used for testing go vet
|
||||
|
@ -3,26 +3,26 @@
|
||||
let
|
||||
graalvm8-ee = stdenv.mkDerivation rec {
|
||||
pname = "graalvm8-ee";
|
||||
version = "19.1.1";
|
||||
version = "19.2.0";
|
||||
srcs = [
|
||||
(requireFile {
|
||||
name = "graalvm-ee-linux-amd64-${version}.tar.gz";
|
||||
sha256 = "1ayg4chiw08jbrivmsylh6275sn0ygzc0iaic28fk7hhw5dc6r2f";
|
||||
sha256 = "1j56lyids48zyjhxk8xl4niy8hk6qzi1aj7c55yfh62id8v6cpbw";
|
||||
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
|
||||
})
|
||||
(requireFile {
|
||||
name = "native-image-installable-svm-svmee-linux-amd64-${version}.jar";
|
||||
sha256 = "1mvc4id193gl482fnjcgh4dz29ifqwigqq68ib0i1p3ks1nnj717";
|
||||
sha256 = "07c25l27msxccqrbz4bknz0sxsl0z2k8990cdfkbrgxvhxspfnnm";
|
||||
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
|
||||
})
|
||||
(requireFile {
|
||||
name = "python-installable-svm-svmee-linux-amd64-${version}.jar";
|
||||
sha256 = "0q7sggqk5myad053dsfw2i1n8v4wspahg1ac7zr3y3srqvdb0xfp";
|
||||
sha256 = "1c7kpz56w9p418li97ymixdwywscr85vhn7jkzxq71bj7ia7pxwz";
|
||||
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
|
||||
})
|
||||
(requireFile {
|
||||
name = "ruby-installable-svm-svmee-linux-amd64-${version}.jar";
|
||||
sha256 = "1xax1bg155d74jhv7h0qb7vbc95jy4wm4bvbpvr76ivzn7qaml6j";
|
||||
sha256 = "13jfm5qpxqxz7f5n9yyvqrv1vwigifrjwk3hssp23maski2ssys1";
|
||||
url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
|
||||
})
|
||||
];
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ stdenv, fetchzip, boost, cmake, ncurses, python2
|
||||
, z3Support ? true, z3 ? null
|
||||
, z3Support ? true, z3 ? null, cvc4Support ? true, cvc4 ? null
|
||||
, cln ? null, gmp ? null
|
||||
}:
|
||||
|
||||
assert z3Support -> z3 != null;
|
||||
assert z3Support -> stdenv.lib.versionAtLeast z3.version "4.6.0";
|
||||
assert z3Support -> z3 != null && stdenv.lib.versionAtLeast z3.version "4.6.0";
|
||||
assert cvc4Support -> cvc4 != null && cln != null && gmp != null;
|
||||
|
||||
let
|
||||
jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz;
|
||||
@ -16,12 +17,12 @@ in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "solc";
|
||||
version = "0.5.10";
|
||||
version = "0.5.11";
|
||||
|
||||
# upstream suggests avoid using archive generated by github
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
|
||||
sha256 = "1ns562h8blvv32lz462rf5835fs2hgn698mvi6ss5y7ar6k5y5xw";
|
||||
sha256 = "0679s5pqbfy7fgpb4f3ppgj8iafxb64g046v8vhp29mf3dsdcnyl";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ];
|
||||
@ -37,10 +38,14 @@ stdenv.mkDerivation rec {
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
] ++ stdenv.lib.optionals (!z3Support) [
|
||||
"-DUSE_Z3=OFF"
|
||||
] ++ stdenv.lib.optionals (!cvc4Support) [
|
||||
"-DUSE_CVC4=OFF"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ boost ] ++ stdenv.lib.optionals z3Support [ z3 ];
|
||||
buildInputs = [ boost ]
|
||||
++ stdenv.lib.optionals z3Support [ z3 ]
|
||||
++ stdenv.lib.optionals cvc4Support [ cvc4 cln gmp ];
|
||||
checkInputs = [ ncurses python2 ];
|
||||
|
||||
# Test fails on darwin for unclear reason
|
||||
|
@ -1,684 +0,0 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
new file mode 100644
|
||||
index 0000000..edf585d
|
||||
--- /dev/null
|
||||
+++ b/Cargo.lock
|
||||
@@ -0,0 +1,661 @@
|
||||
+# This file is automatically @generated by Cargo.
|
||||
+# It is not intended for manual editing.
|
||||
+[[package]]
|
||||
+name = "aho-corasick"
|
||||
+version = "0.6.10"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "approx"
|
||||
+version = "0.1.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "argon2rs"
|
||||
+version = "0.2.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "arrayvec"
|
||||
+version = "0.4.10"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "autocfg"
|
||||
+version = "0.1.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "backtrace"
|
||||
+version = "0.3.15"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "backtrace-sys"
|
||||
+version = "0.1.28"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "base64"
|
||||
+version = "0.10.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "bitflags"
|
||||
+version = "1.0.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "blake2-rfc"
|
||||
+version = "0.2.18"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "byteorder"
|
||||
+version = "1.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cc"
|
||||
+version = "1.0.36"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cfg-if"
|
||||
+version = "0.1.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cgmath"
|
||||
+version = "0.16.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cloudabi"
|
||||
+version = "0.0.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "bitflags 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "colored"
|
||||
+version = "1.8.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "constant_time_eq"
|
||||
+version = "0.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "dirs"
|
||||
+version = "1.0.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "evcxr"
|
||||
+version = "0.3.3"
|
||||
+dependencies = [
|
||||
+ "backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "json 0.11.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "sig 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "evcxr_repl"
|
||||
+version = "0.3.3"
|
||||
+dependencies = [
|
||||
+ "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "evcxr 0.3.3",
|
||||
+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rustyline 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "evcxr_runtime"
|
||||
+version = "1.1.0"
|
||||
+dependencies = [
|
||||
+ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "failure"
|
||||
+version = "0.1.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "failure_derive"
|
||||
+version = "0.1.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "fuchsia-cprng"
|
||||
+version = "0.1.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "json"
|
||||
+version = "0.11.13"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "lazy_static"
|
||||
+version = "1.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "libc"
|
||||
+version = "0.2.54"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "libloading"
|
||||
+version = "0.5.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "log"
|
||||
+version = "0.4.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "memchr"
|
||||
+version = "2.2.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "nix"
|
||||
+version = "0.11.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "bitflags 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "nodrop"
|
||||
+version = "0.1.13"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "num-traits"
|
||||
+version = "0.1.43"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "num-traits"
|
||||
+version = "0.2.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro2"
|
||||
+version = "0.4.27"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "quote"
|
||||
+version = "0.6.12"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand"
|
||||
+version = "0.4.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand"
|
||||
+version = "0.6.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_chacha"
|
||||
+version = "0.1.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_core"
|
||||
+version = "0.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_core"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_hc"
|
||||
+version = "0.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_isaac"
|
||||
+version = "0.1.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_jitter"
|
||||
+version = "0.1.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_os"
|
||||
+version = "0.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_pcg"
|
||||
+version = "0.1.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rand_xorshift"
|
||||
+version = "0.1.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rdrand"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "redox_syscall"
|
||||
+version = "0.1.54"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "redox_users"
|
||||
+version = "0.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "regex"
|
||||
+version = "1.1.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "regex-syntax"
|
||||
+version = "0.6.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "remove_dir_all"
|
||||
+version = "0.5.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rgb"
|
||||
+version = "0.8.13"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rustc-demangle"
|
||||
+version = "0.1.14"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rustyline"
|
||||
+version = "3.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "scoped_threadpool"
|
||||
+version = "0.1.9"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "sig"
|
||||
+version = "1.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "syn"
|
||||
+version = "0.15.27"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "synstructure"
|
||||
+version = "0.10.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "tempfile"
|
||||
+version = "3.0.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "thread_local"
|
||||
+version = "0.3.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ucd-util"
|
||||
+version = "0.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-segmentation"
|
||||
+version = "1.2.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-width"
|
||||
+version = "0.1.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-xid"
|
||||
+version = "0.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "utf8-ranges"
|
||||
+version = "1.0.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "utf8parse"
|
||||
+version = "0.1.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "void"
|
||||
+version = "1.0.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi"
|
||||
+version = "0.3.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-i686-pc-windows-gnu"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-x86_64-pc-windows-gnu"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winconsole"
|
||||
+version = "0.10.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+dependencies = [
|
||||
+ "cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "rgb 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
+]
|
||||
+
|
||||
+[metadata]
|
||||
+"checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
|
||||
+"checksum approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94"
|
||||
+"checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392"
|
||||
+"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
|
||||
+"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
|
||||
+"checksum backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f106c02a3604afcdc0df5d36cc47b44b55917dbaf3d808f71c163a0ddba64637"
|
||||
+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
|
||||
+"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
|
||||
+"checksum bitflags 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bd1fa8ad26490b0a5cfec99089952250301b6716cdeaa7c9ab229598fb82ab66"
|
||||
+"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400"
|
||||
+"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
|
||||
+"checksum cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)" = "a0c56216487bb80eec9c4516337b2588a4f2a2290d72a1416d930e4dcdb0c90d"
|
||||
+"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
|
||||
+"checksum cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)" = "64a4b57c8f4e3a2e9ac07e0f6abc9c24b6fc9e1b54c3478cfb598f3d0023e51c"
|
||||
+"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
|
||||
+"checksum colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6cdb90b60f2927f8d76139c72dbde7e10c3a2bc47c8594c9c7a66529f2687c03"
|
||||
+"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
|
||||
+"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
|
||||
+"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
|
||||
+"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
|
||||
+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
|
||||
+"checksum json 0.11.13 (registry+https://github.com/rust-lang/crates.io-index)" = "9ad0485404155f45cce53a40d4b2d6ac356418300daed05273d9e26f91c390be"
|
||||
+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
|
||||
+"checksum libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)" = "c6785aa7dd976f5fbf3b71cfd9cd49d7f783c1ff565a858d71031c6c313aa5c6"
|
||||
+"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2"
|
||||
+"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
|
||||
+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
|
||||
+"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
|
||||
+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
|
||||
+"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
|
||||
+"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
|
||||
+"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
|
||||
+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
|
||||
+"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
|
||||
+"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
|
||||
+"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
|
||||
+"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
|
||||
+"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
|
||||
+"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
|
||||
+"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
|
||||
+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
|
||||
+"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
|
||||
+"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
|
||||
+"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
|
||||
+"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
|
||||
+"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
|
||||
+"checksum redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe5204c3a17e97dde73f285d49be585df59ed84b50a872baf416e73b62c3828"
|
||||
+"checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f"
|
||||
+"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
|
||||
+"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
|
||||
+"checksum rgb 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)" = "4f089652ca87f5a82a62935ec6172a534066c7b97be003cc8f702ee9a7a59c92"
|
||||
+"checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288"
|
||||
+"checksum rustyline 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eb02ba7748691403057542ee60a1e7688fdfb46bd3bee752b8977537ee003ae2"
|
||||
+"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
|
||||
+"checksum sig 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6567e29578f9bfade6a5d94a32b9a4256348358d2a3f448cab0021f9a02614a2"
|
||||
+"checksum syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)" = "525bd55255f03c816e5d7f615587bd13030c7103354fadb104993dcee6a788ec"
|
||||
+"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
|
||||
+"checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a"
|
||||
+"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
|
||||
+"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
|
||||
+"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
|
||||
+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
|
||||
+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
|
||||
+"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
|
||||
+"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
|
||||
+"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
||||
+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
|
||||
+"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
+"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
+"checksum winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef84b96d10db72dd980056666d7f1e7663ce93d82fa33b63e71c966f4cf5032"
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index d09a342..5377ed0 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -2,10 +2,9 @@
|
||||
members = [
|
||||
"evcxr",
|
||||
"evcxr_repl",
|
||||
- "evcxr_jupyter",
|
||||
"evcxr_runtime",
|
||||
]
|
||||
|
||||
exclude = [
|
||||
"runtimes"
|
||||
-]
|
||||
\ No newline at end of file
|
||||
+]
|
@ -1,21 +1,20 @@
|
||||
{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security }:
|
||||
{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security, zeromq }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "evcxr-${version}";
|
||||
version = "0.3.3";
|
||||
pname = "evcxr";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "evcxr";
|
||||
rev = "ae07ccf08723b7aec0de57d540822b89088ca036";
|
||||
sha256 = "1apc93z9vvf6qks5x2pad45rnrj9kjl812rj78w5zmmizccp2fhf";
|
||||
rev = "v${version}";
|
||||
sha256 = "08zsdl6pkg6dx7k0ns8cd070v7ydsxkscd2ms8wh9r68c08vwzcp";
|
||||
};
|
||||
|
||||
cargoSha256 = "153pxqj4jhlbacr7607q9yfw6h96ns5igbvssis8j3gn0xp6ssg6";
|
||||
cargoPatches = [ ./cargo-lock.patch ];
|
||||
cargoSha256 = "1hqlagwl94xcybfqq5h2mrz9296mjns2l598d6jclls7ac5wsdfc";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||
buildInputs = [ cargo ] ++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||
buildInputs = [ zeromq ] ++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/evcxr --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]}
|
||||
rm $out/bin/testing_runtime
|
||||
|
23
pkgs/development/libraries/cm256cc/default.nix
Normal file
23
pkgs/development/libraries/cm256cc/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, boost } :
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cm256cc";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f4exb";
|
||||
repo = "cm256cc";
|
||||
rev = "v${version}";
|
||||
sha256 = "0d16y3lhdwr644am4sxqpshpbc3qik6dgr1w2c39vy75w9ff61a0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ boost ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Fast GF(256) Cauchy MDS Block Erasure Codec in C++";
|
||||
homepage = "https://github.com/f4exb/cm256cc";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ alkeryn ];
|
||||
};
|
||||
}
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "graphene-hardened-malloc";
|
||||
version = "1";
|
||||
version = "2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/GrapheneOS/hardened_malloc/archive/${version}.tar.gz";
|
||||
sha256 = "1z3kb9fr6w9fcdc42bh8k5b4r10sn5hrwwk4m691qjdgk5hlj3aa";
|
||||
sha256 = "0zsl4vl65ic6lw5rzcjzvcxg8makg683abnwvy60zfap8hvijvjb";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -312,6 +312,17 @@ in rec {
|
||||
};
|
||||
};
|
||||
|
||||
en-au = mkDictFromWordlist {
|
||||
shortName = "en-au";
|
||||
shortDescription = "English (Australia)";
|
||||
dictFileName = "en_AU";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-2018.04.16.zip;
|
||||
sha256 = "1kp06npl1kd05mm9r52cg2iwc13x02zwqgpibdw15b6x43agg6f5";
|
||||
};
|
||||
};
|
||||
en_AU = en-au;
|
||||
|
||||
en_GB-ise = en-gb-ise;
|
||||
en-gb-ise = mkDictFromWordlist {
|
||||
shortName = "en-gb-ise";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcacard";
|
||||
version = "2.6.1";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.spice-space.org/download/libcacard/${pname}-${version}.tar.xz";
|
||||
sha256 = "1w6y0kiakhg7dgyf8yqpm4jj6jiv17zhy9lp3d7z32q1pniccxk2";
|
||||
sha256 = "0vyvkk4b6xjwq1ccggql13c1x7g4y90clpkqw28257azgn2a1c8n";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -2,7 +2,7 @@
|
||||
, gtk-doc, docbook_xsl, docbook_xml_dtd_43, glibcLocales, dbus, xvfb_run, glib, gtk3, gnome3 }:
|
||||
|
||||
let
|
||||
version = "3.32.2";
|
||||
version = "3.32.3";
|
||||
pname = "libdazzle";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0hgi7gnkna9n42nh7p81crrw0jjj22yr8acych60wxh6hzxqsgs1";
|
||||
sha256 = "1s37hv12ikfzhvh86qzgmfcjm3wvp12l2vsr0whl5xmm2harp3bc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 glibcLocales dbus xvfb_run ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libgig";
|
||||
version = "4.1.0";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.linuxsampler.org/packages/${pname}-${version}.tar.bz2";
|
||||
sha256 = "02xx6bqxzgkvrawwnzrnxx1ypk244q4kpwfd58266f9ji8kq18h6";
|
||||
sha256 = "1zs5yy124bymfyapsnljr6rv2lnn5inwchm0xnwiw44b2d39l8hn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
|
||||
|
43
pkgs/development/libraries/libspf2/default.nix
Normal file
43
pkgs/development/libraries/libspf2/default.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{ stdenv, fetchurl, autoreconfHook }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libspf2";
|
||||
version = "1.2.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.libspf2.org/spf/libspf2-${version}.tar.gz";
|
||||
sha256 = "1j91p0qiipzf89qxq4m1wqhdf01hpn1h5xj4djbs51z23bl3s7nr";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
name = "0001-gcc-variadic-macros.patch";
|
||||
url = "https://github.com/shevek/libspf2/commit/5852828582f556e73751076ad092f72acf7fc8b6.patch";
|
||||
sha256 = "1v6ashqzpr0xidxq0vpkjd8wd66cj8df01kyzj678ljzcrax35hk";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# disable static bins compilation
|
||||
sed -i \
|
||||
-e '/bin_PROGRAMS/s/spfquery_static//' src/spfquery/Makefile.am \
|
||||
-e '/bin_PROGRAMS/s/spftest_static//' src/spftest/Makefile.am \
|
||||
-e '/bin_PROGRAMS/s/spfd_static//' src/spfd/Makefile.am \
|
||||
-e '/bin_PROGRAMS/s/spf_example_static//' src/spf_example/Makefile.am
|
||||
'';
|
||||
|
||||
# autoreconf necessary because we modified automake files
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Implementation of the Sender Policy Framework for SMTP authorization";
|
||||
homepage = https://www.libspf2.org;
|
||||
license = with licenses; [ lgpl21Plus bsd2 ];
|
||||
maintainers = with maintainers; [ pacien ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -129,6 +129,7 @@ in stdenv.mkDerivation rec {
|
||||
binPath = [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ] ++ optionals enableIscsi [ openiscsi ];
|
||||
in ''
|
||||
substituteInPlace $out/libexec/libvirt-guests.sh \
|
||||
--replace 'ON_BOOT=start' 'ON_BOOT=''${ON_BOOT:-start}' \
|
||||
--replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
|
||||
--replace "$out/bin" '${gettext}/bin' \
|
||||
--replace 'lock/subsys' 'lock' \
|
||||
|
@ -1,17 +0,0 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index b2b5f2c..b690a5d 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -18,10 +18,10 @@ test:
|
||||
if [ `uname` = "Darwin" ]; then $(MAKE) test_macosx; else $(MAKE) test_posix; fi
|
||||
|
||||
macosx:
|
||||
- $(MAKE) posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)"
|
||||
+ $(MAKE) posix "SOCC= $(CC) -dynamiclib -single_module -undefined dynamic_lookup -Wl,-install_name,$(PREFIX)/lib/$(MODSO) $(SOCFLAGS)"
|
||||
|
||||
test_macosx:
|
||||
- $(MAKE) test_posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)"
|
||||
+ $(MAKE) test_posix "SOCC= $(CC) -dynamiclib -single_module -undefined dynamic_lookup -Wl,-install_name,$(PREFIX)/lib/$(MODSO) $(SOCFLAGS)"
|
||||
|
||||
posix: $(MODSO) test_cdecl.so
|
||||
|
@ -1,31 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub, lua, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "luaffi-2013-11-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jmckaskill";
|
||||
repo = "luaffi";
|
||||
rev = "abc638c9341025580099dcf77795c4b320ba0e63";
|
||||
sha256 = "1hv1y9i66p473hfy36nqj220sfrxdmbd75c1gpjvpk8073vx55ac";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ lua ];
|
||||
|
||||
patches = [ ./darwin.patch ./makefile-errors.patch ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
cp ffi.so $out/lib/ffi.so
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Standalone FFI library for calling C functions from lua. Compatible with the luajit FFI interface.";
|
||||
homepage = https://github.com/jmckaskill/luaffi;
|
||||
maintainers = with maintainers; [ ma27 ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index b2b5f2c..49d4c99 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -6,7 +6,7 @@ LUA=lua
|
||||
LUA_CFLAGS=`$(PKG_CONFIG) --cflags lua5.2 2>/dev/null || $(PKG_CONFIG) --cflags lua`
|
||||
SOCFLAGS=-fPIC
|
||||
SOCC=$(CC) -shared $(SOCFLAGS)
|
||||
-CFLAGS=-fPIC -g -Wall -Werror $(LUA_CFLAGS) -fvisibility=hidden -Wno-unused-function --std=gnu99
|
||||
+CFLAGS=-fPIC -g -Wall $(LUA_CFLAGS) -fvisibility=hidden -Wno-unused-function --std=gnu99
|
||||
|
||||
MODNAME=ffi
|
||||
MODSO=$(MODNAME).so
|
@ -1,6 +1,6 @@
|
||||
{ callPackage, ... }:
|
||||
|
||||
callPackage ./generic-v3.nix {
|
||||
version = "3.9.0";
|
||||
sha256 = "1xq2njqrbmizwg91ggi1lqr0n26cm2jdyk668ljc24ihrpk0z9bw";
|
||||
version = "3.9.1";
|
||||
sha256 = "0vv85xb65dx6fa76fsnyps13kaamvwfzd8hr6ii1payr73x4zy2h";
|
||||
}
|
||||
|
23
pkgs/development/libraries/serialdv/default.nix
Normal file
23
pkgs/development/libraries/serialdv/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "serialdv";
|
||||
version ="1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f4exb";
|
||||
repo = "serialdv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0swalyp8cbs7if6gxbcl7wf83ml8ch3k7ww4hws89rzpjvf070fr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "C++ Minimal interface to encode and decode audio with AMBE3000 based devices in packet mode over a serial link.";
|
||||
homepage = "https://github.com/f4exb/serialdv";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ alkeryn ];
|
||||
};
|
||||
}
|
||||
|
@ -26,13 +26,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wiredtiger";
|
||||
version = "2.6.1";
|
||||
version = "3.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "wiredtiger";
|
||||
owner = "wiredtiger";
|
||||
rev = version;
|
||||
sha256 = "1nj319w3hvkq3za2dz9m0p1w683gycdb392v1jb910bhzpsq30pd";
|
||||
sha256 = "1s27l51p2p3kbdjmccvlg43i7zx84hhchs3779w9giab4nvd0y19";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ automake autoconf libtool ];
|
||||
@ -58,17 +58,10 @@ stdenv.mkDerivation rec {
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace api/leveldb/leveldb_wt.h --replace \
|
||||
'#include "wiredtiger.h"' \
|
||||
''$'#include "wiredtiger.h"\n#include "pthread.h"'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://wiredtiger.com/;
|
||||
description = "";
|
||||
license = licenses.gpl2;
|
||||
platforms = intersectLists platforms.unix platforms.x86_64;
|
||||
broken = true; # Broken by f689a6d1c6796c4a4f116ffec6c4624379e04bc9.
|
||||
};
|
||||
}
|
||||
|
@ -5,7 +5,9 @@ let
|
||||
webpage = "https://erratique.ch/software/${pname}";
|
||||
in
|
||||
|
||||
assert stdenv.lib.versionAtLeast ocaml.version "4.01.0";
|
||||
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
|
||||
then throw "logs is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml-${pname}-${version}";
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "lwt_log";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
minimumOCamlVersion = "4.02";
|
||||
|
||||
@ -10,7 +10,7 @@ buildDunePackage rec {
|
||||
owner = "aantron";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1c58gkqfvyf2j11jwj2nh4iq999wj9xpnmr80hz9d0nk9fv333pi";
|
||||
sha256 = "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ lwt ];
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocurl-0.8.1";
|
||||
name = "ocurl-0.8.2";
|
||||
src = fetchurl {
|
||||
url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
|
||||
sha256 = "08ldzbx1k3mbjc01fmzsn86ll4paf331bcjss6iig6y6hgc9q3ry";
|
||||
sha256 = "1ax3xdlzgb1zg7d0wr9nwgmh6a45a764m0wk8p6mx07ad94hz0q9";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig ocaml findlib ncurses ];
|
||||
|
@ -1,35 +1,22 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, ocamlbuild, findlib, topkg
|
||||
, ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, rresult, nocrypto
|
||||
, astring
|
||||
{ lib, fetchFromGitHub, buildDunePackage
|
||||
, cstruct, sexplib0, rresult, nocrypto, astring
|
||||
}:
|
||||
|
||||
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
|
||||
then throw "otr is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-otr-${version}";
|
||||
version = "0.3.4";
|
||||
buildDunePackage rec {
|
||||
pname = "otr";
|
||||
version = "0.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hannesm";
|
||||
repo = "ocaml-otr";
|
||||
rev = "${version}";
|
||||
sha256 = "0ixf0jvccmcbhk5mhzqakfzimvz200wkdkq3z2d0bdzyggslbdl4";
|
||||
sha256 = "0iz6p85a0jxng9aq9blqsky173zaqfr6wlc5j48ad55lgwzlbih5";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml ocamlbuild findlib topkg ppx_tools ppx_sexp_conv ppx_cstruct ];
|
||||
propagatedBuildInputs = [ cstruct sexplib rresult nocrypto astring ];
|
||||
|
||||
buildPhase = "${topkg.run} build --tests true";
|
||||
|
||||
inherit (topkg) installPhase;
|
||||
propagatedBuildInputs = [ cstruct sexplib0 rresult nocrypto astring ];
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "${topkg.run} test";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit (ocaml.meta) platforms;
|
||||
meta = with lib; {
|
||||
homepage = https://github.com/hannesm/ocaml-otr;
|
||||
description = "Off-the-record messaging protocol, purely in OCaml";
|
||||
license = licenses.bsd2;
|
||||
|
@ -1,23 +1,19 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, ocaml-migrate-parsetree }:
|
||||
{ lib, fetchFromGitHub, buildDunePackage, ocaml-migrate-parsetree }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-ppx_tools_versioned-${version}";
|
||||
version = "5.1";
|
||||
buildDunePackage rec {
|
||||
pname = "ppx_tools_versioned";
|
||||
version = "5.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "let-def";
|
||||
repo = "ppx_tools_versioned";
|
||||
owner = "ocaml-ppx";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1c7kvca67qpyr4hiy492yik5x31lmkhyhy5wpl0l0fbx7fr7l624";
|
||||
sha256 = "1hcmpnw26zf70a71r3d2c2c0mn8q084gdn1r36ynng6fv9hq6j0y";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ];
|
||||
|
||||
propagatedBuildInputs = [ ocaml-migrate-parsetree ];
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
homepage = https://github.com/let-def/ppx_tools_versioned;
|
||||
description = "Tools for authors of syntactic tools (such as ppx rewriters)";
|
||||
license = licenses.gpl2;
|
||||
|
@ -11,11 +11,13 @@ let
|
||||
inherit (stdenv.lib) optionals versionAtLeast;
|
||||
|
||||
pname = "vg";
|
||||
version = "0.9.1";
|
||||
version = "0.9.3";
|
||||
webpage = "https://erratique.ch/software/${pname}";
|
||||
in
|
||||
|
||||
assert versionAtLeast ocaml.version "4.02.0";
|
||||
if !versionAtLeast ocaml.version "4.03"
|
||||
then throw "vg is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${webpage}/releases/${pname}-${version}.tbz";
|
||||
sha256 = "07h9a464v0x066mjg3ldkaq94ah47b7rvh54z4rndrg7v6bk7kyp";
|
||||
sha256 = "0jj5hrqxdb6yyplnz0r7am4mbjzgcn876qp7sqs2x93a97fk6lwd";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||
|
@ -3,20 +3,19 @@
|
||||
, fetchPypi
|
||||
, isPy3k
|
||||
, gevent
|
||||
, gunicorn
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gevent-websocket";
|
||||
version = "0.10.1";
|
||||
# SyntaxError in tests.
|
||||
disabled = isPy3k;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1c2zv2rahp1gil3cj66hfsqgy0n35hz9fny3ywhr2319d0lz7bky";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ gevent ];
|
||||
propagatedBuildInputs = [ gevent gunicorn ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.gitlab.com/noppo/gevent-websocket;
|
||||
|
@ -1,9 +1,11 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, requests, geojson }:
|
||||
{ lib, buildPythonPackage, fetchPypi, pythonOlder, requests, geojson }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyowm";
|
||||
version = "2.10.0";
|
||||
|
||||
disabled = pythonOlder "3.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "8fd41a18536f4d6c432bc6d9ea69994efb1ea9b43688cf19523659b6f4d86cf7";
|
||||
@ -14,8 +16,7 @@ buildPythonPackage rec {
|
||||
# This may actually break the package.
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "requests>=2.18.2,<2.19" "requests" \
|
||||
--replace "geojson>=2.3.0,<2.4" "geojson<2.5,>=2.3.0"
|
||||
--replace "requests>=2.18.2,<2.19" "requests"
|
||||
'';
|
||||
|
||||
# No tests in archive
|
||||
|
@ -21,13 +21,13 @@ in
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-language-server";
|
||||
version = "0.27.0";
|
||||
version = "0.28.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "palantir";
|
||||
repo = "python-language-server";
|
||||
rev = version;
|
||||
sha256 = "158wxj2w880jrab7mi4fb3xqnjhmfixqacxjp7whf7jy3zxqrq38";
|
||||
sha256 = "0xa0zw7hlfqqa305ic4csgfmlbxhklb5xzx72mfkcz8gcc0f5qwd";
|
||||
};
|
||||
|
||||
# The tests require all the providers, disable otherwise.
|
||||
|
43
pkgs/development/python-modules/xapian/default.nix
Normal file
43
pkgs/development/python-modules/xapian/default.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{ lib, buildPythonPackage, fetchurl, python
|
||||
, sphinx
|
||||
, xapian
|
||||
}:
|
||||
|
||||
let
|
||||
pythonSuffix = lib.optionalString python.isPy3k "3";
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "xapian";
|
||||
inherit (xapian) version;
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://oligarchy.co.uk/xapian/${version}/xapian-bindings-${version}.tar.xz";
|
||||
sha256 = "0j9awiiw9zf97r60m848absq43k37gghpyw7acxqjazfzd71fxvm";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--with-python${pythonSuffix}"
|
||||
"PYTHON${pythonSuffix}_LIB=${placeholder "out"}/${python.sitePackages}"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export XAPIAN_CONFIG=${xapian}/bin/xapian-config
|
||||
'';
|
||||
|
||||
buildInputs = [ sphinx xapian ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} python${pythonSuffix}/smoketest.py
|
||||
${python.interpreter} python${pythonSuffix}/pythontest.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python Bindings for Xapian";
|
||||
homepage = https://xapian.org/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "cloudfoundry-cli";
|
||||
version = "6.45.0";
|
||||
version = "6.46.1";
|
||||
|
||||
goPackagePath = "code.cloudfoundry.org/cli";
|
||||
|
||||
@ -12,7 +12,7 @@ buildGoPackage rec {
|
||||
owner = "cloudfoundry";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nq78670limq8lydysadk0kb1r88w55fr8cqxqxw0zy58vy1jzr4";
|
||||
sha256 = "0dqrkimwhw016icgyf4cyipzy6vdz5jgickm33xxd9018dh3ibwq";
|
||||
};
|
||||
|
||||
makeTarget = let hps = stdenv.hostPlatform.system; in
|
||||
|
@ -1,22 +1,64 @@
|
||||
{ stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
|
||||
, python3Packages, wrapGAppsHook, gnome3, libwnck3, gobject-introspection }:
|
||||
{ stdenv
|
||||
, pkgconfig
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, glib
|
||||
, gtk3
|
||||
, python3
|
||||
, wrapGAppsHook
|
||||
, gnome3
|
||||
, libwnck3
|
||||
, gobject-introspection
|
||||
, gettext
|
||||
, itstool
|
||||
}:
|
||||
|
||||
let
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "d-feet";
|
||||
version = "0.3.14";
|
||||
in python3Packages.buildPythonApplication rec {
|
||||
name = "${pname}-${version}";
|
||||
version = "0.3.15";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f";
|
||||
url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook libxml2 ];
|
||||
buildInputs = [ glib gtk3 gnome3.adwaita-icon-theme libwnck3 gobject-introspection ];
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
gobject-introspection
|
||||
itstool
|
||||
meson
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
|
||||
buildInputs = [
|
||||
glib
|
||||
gnome3.adwaita-icon-theme
|
||||
gtk3
|
||||
libwnck3
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pygobject3
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dtests=false" # needs dbus
|
||||
];
|
||||
|
||||
# Temporary fix
|
||||
# See https://github.com/NixOS/nixpkgs/issues/56943
|
||||
strictDeps = false;
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
@ -26,17 +68,15 @@ in python3Packages.buildPythonApplication rec {
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "D-Feet is an easy to use D-Bus debugger";
|
||||
|
||||
longDescription = ''
|
||||
D-Feet can be used to inspect D-Bus interfaces of running programs
|
||||
and invoke methods on those interfaces.
|
||||
'';
|
||||
|
||||
homepage = https://wiki.gnome.org/Apps/DFeet;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with stdenv.lib.maintainers; [ ktosiek ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ ktosiek ];
|
||||
};
|
||||
}
|
||||
|
47
pkgs/development/tools/ofono-phonesim/default.nix
Normal file
47
pkgs/development/tools/ofono-phonesim/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkgconfig
|
||||
, qtbase
|
||||
, qtscript
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "ofono-phonesim";
|
||||
version = "unstable-2014-04-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpakkane";
|
||||
repo = "ofono-phonesim";
|
||||
rev = "baa41f04e6a86c5289d7185cad8a6f08a5c3ed0a";
|
||||
sha256 = "0ywalvvf3dfbn81ml21gji1n2hywh2nmakynakjzyyskcqjn2wiz";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./qt5-compat.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkgconfig
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtscript
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"MOC=${qtbase.dev}/bin/moc"
|
||||
"UIC=${qtbase.dev}/bin/uic"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Phone Simulator for modem testing";
|
||||
homepage = https://github.com/jpakkane/ofono-phonesim;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
48
pkgs/development/tools/ofono-phonesim/qt5-compat.patch
Normal file
48
pkgs/development/tools/ofono-phonesim/qt5-compat.patch
Normal file
@ -0,0 +1,48 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2436292..993df87 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -21,18 +21,18 @@ AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
|
||||
fi
|
||||
])
|
||||
|
||||
-PKG_CHECK_MODULES(QT, QtCore QtGui QtXml QtNetwork QtScript QtDBus, dummy=yes,
|
||||
+PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Widgets Qt5Xml Qt5Network Qt5Script Qt5DBus, dummy=yes,
|
||||
AC_MSG_ERROR(Qt is required))
|
||||
AC_SUBST(QT_CFLAGS)
|
||||
AC_SUBST(QT_LIBS)
|
||||
|
||||
AC_MSG_CHECKING(for moc)
|
||||
-MOC="`$PKG_CONFIG --variable=moc_location QtCore`"
|
||||
+MOC="`$PKG_CONFIG --variable=moc_location Qt5Core`"
|
||||
AC_SUBST(MOC)
|
||||
AC_MSG_RESULT($MOC)
|
||||
|
||||
AC_MSG_CHECKING(for uic)
|
||||
-UIC="`$PKG_CONFIG --variable=uic_location QtCore`"
|
||||
+UIC="`$PKG_CONFIG --variable=uic_location Qt5Core`"
|
||||
AC_SUBST(UIC)
|
||||
AC_MSG_RESULT($UIC)
|
||||
|
||||
diff --git a/src/control.cpp b/src/control.cpp
|
||||
index e1838a6..880da68 100644
|
||||
--- a/src/control.cpp
|
||||
+++ b/src/control.cpp
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <qslider.h>
|
||||
#include <qcheckbox.h>
|
||||
#include <qcombobox.h>
|
||||
-#include <QtGui/qmessagebox.h>
|
||||
+#include <QMessageBox>
|
||||
#include <qfiledialog.h>
|
||||
#include <Qt>
|
||||
#include <qbuffer.h>
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <QFileInfo>
|
||||
#include <QFile>
|
||||
#include <QDir>
|
||||
-#include <QtGui/QHeaderView>
|
||||
+#include <QHeaderView>
|
||||
|
||||
#define TWO_BYTE_MAX 65535
|
||||
#define FOUR_CHAR 4
|
106
pkgs/development/tools/parsing/tree-sitter/default.nix
Normal file
106
pkgs/development/tools/parsing/tree-sitter/default.nix
Normal file
@ -0,0 +1,106 @@
|
||||
{ lib, stdenv
|
||||
, fetchgit, fetchFromGitHub, fetchurl
|
||||
, writeShellScript, runCommand
|
||||
, rustPlatform, jq, nix-prefetch-git, xe, curl
|
||||
}:
|
||||
|
||||
# TODO: move to carnix or https://github.com/kolloch/crate2nix
|
||||
let
|
||||
# to update:
|
||||
# 1) change all these hashes
|
||||
# 2) nix-build -A tree-sitter.updater.update-all-grammars
|
||||
# 3) run the script that is output by that (it updates ./grammars)
|
||||
version = "0.15.7";
|
||||
sha256 = "0q6w8wl4a4s49xlgbv531pandzrj3n12hc1cwfshzcgikx303dg0";
|
||||
sha256Js = "11ig4cc2m85siyhafh4hq9sjb5if4gfwsf9k87izkxpiyflda0wp";
|
||||
sha256Wasm = "1zm4bvjri8ivhah3sy22mx6jbvibgbn2hk67d148j3nyka3y4gc0";
|
||||
cargoSha256 = "0ls9cb2p6cgqvnrmx72n79ga7687n8mzhh7n8n1pzv11r6cah9ki";
|
||||
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter";
|
||||
rev = version;
|
||||
inherit sha256;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
fetchDist = {file, sha256}: fetchurl {
|
||||
url = "https://github.com/tree-sitter/tree-sitter/releases/download/${version}/${file}";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
# TODO: not distributed anymore; needed for the web-ui module,
|
||||
# see also the disable-web-ui patch.
|
||||
# TODO: build those instead of downloading prebuilt
|
||||
# js = fetchDist {
|
||||
# file = "tree-sitter.js";
|
||||
# sha256 = sha256Js;
|
||||
# };
|
||||
# wasm = fetchDist {
|
||||
# file = "tree-sitter.wasm";
|
||||
# sha256 = sha256Wasm;
|
||||
# };
|
||||
|
||||
update-all-grammars = import ./update.nix {
|
||||
inherit writeShellScript nix-prefetch-git curl jq xe src;
|
||||
};
|
||||
|
||||
grammars =
|
||||
let fetch =
|
||||
(v: fetchgit {inherit (v) url rev sha256 fetchSubmodules; });
|
||||
in runCommand "grammars" {} (''
|
||||
mkdir $out
|
||||
'' + (lib.concatStrings (lib.mapAttrsToList
|
||||
(name: grammar: "ln -s ${fetch grammar} $out/${name}\n")
|
||||
(import ./grammars))));
|
||||
|
||||
|
||||
in rustPlatform.buildRustPackage {
|
||||
pname = "tree-sitter";
|
||||
inherit version;
|
||||
inherit src;
|
||||
|
||||
patches = [
|
||||
# the web ui requires tree-sitter compiled to js and wasm
|
||||
./disable-web-ui.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# needed for the tests
|
||||
rm -rf test/fixtures/grammars
|
||||
ln -s ${grammars} test/fixtures/grammars
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updater = {
|
||||
inherit update-all-grammars;
|
||||
};
|
||||
inherit grammars;
|
||||
};
|
||||
|
||||
inherit cargoSha256;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/tree-sitter/tree-sitter";
|
||||
description = "A parser generator tool and an incremental parsing library";
|
||||
longDescription = ''
|
||||
Tree-sitter is a parser generator tool and an incremental parsing library.
|
||||
It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
|
||||
|
||||
Tree-sitter aims to be:
|
||||
|
||||
* General enough to parse any programming language
|
||||
* Fast enough to parse on every keystroke in a text editor
|
||||
* Robust enough to provide useful results even in the presence of syntax errors
|
||||
* Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
|
||||
'';
|
||||
platforms = lib.platforms.all;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ Profpatsch ];
|
||||
# Darwin needs some more work with default libraries
|
||||
# Aarch has test failures with how tree-sitter compiles the generated C files
|
||||
broken = stdenv.isDarwin || stdenv.isAarch64;
|
||||
};
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
diff --git a/cli/src/lib.rs b/cli/src/lib.rs
|
||||
index 33a9904f..633032d7 100644
|
||||
--- a/cli/src/lib.rs
|
||||
+++ b/cli/src/lib.rs
|
||||
@@ -8,7 +8,7 @@ pub mod parse;
|
||||
pub mod test;
|
||||
pub mod util;
|
||||
pub mod wasm;
|
||||
-pub mod web_ui;
|
||||
+// pub mod web_ui;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
diff --git a/cli/src/main.rs b/cli/src/main.rs
|
||||
index 23e7fc1a..9d784c8a 100644
|
||||
--- a/cli/src/main.rs
|
||||
+++ b/cli/src/main.rs
|
||||
@@ -4,7 +4,7 @@ use std::{env, fs, u64};
|
||||
use std::path::Path;
|
||||
use std::process::exit;
|
||||
use tree_sitter_cli::{
|
||||
- config, error, generate, highlight, loader, logger, parse, test, wasm, web_ui,
|
||||
+ config, error, generate, highlight, loader, logger, parse, test, wasm,
|
||||
};
|
||||
|
||||
const BUILD_VERSION: &'static str = env!("CARGO_PKG_VERSION");
|
||||
@@ -250,7 +250,9 @@ fn run() -> error::Result<()> {
|
||||
let grammar_path = current_dir.join(matches.value_of("path").unwrap_or(""));
|
||||
wasm::compile_language_to_wasm(&grammar_path, matches.is_present("docker"))?;
|
||||
} else if matches.subcommand_matches("web-ui").is_some() {
|
||||
- web_ui::serve(¤t_dir);
|
||||
+ print!("ERROR: web-ui is not available in the nixpkgs tree-sitter-cli at the moment.");
|
||||
+ std::process::exit(1);
|
||||
+ // web_ui::serve(¤t_dir);
|
||||
}
|
||||
|
||||
Ok(())
|
@ -0,0 +1,15 @@
|
||||
{
|
||||
bash = (builtins.fromJSON (builtins.readFile ./tree-sitter-bash.json));
|
||||
c = (builtins.fromJSON (builtins.readFile ./tree-sitter-c.json));
|
||||
cpp = (builtins.fromJSON (builtins.readFile ./tree-sitter-cpp.json));
|
||||
embedded-template = (builtins.fromJSON (builtins.readFile ./tree-sitter-embedded-template.json));
|
||||
go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json));
|
||||
html = (builtins.fromJSON (builtins.readFile ./tree-sitter-html.json));
|
||||
javascript = (builtins.fromJSON (builtins.readFile ./tree-sitter-javascript.json));
|
||||
json = (builtins.fromJSON (builtins.readFile ./tree-sitter-json.json));
|
||||
python = (builtins.fromJSON (builtins.readFile ./tree-sitter-python.json));
|
||||
# wasn’t able to check out with fetchgit
|
||||
# ruby = (builtins.fromJSON (builtins.readFile ./tree-sitter-ruby.json));
|
||||
rust = (builtins.fromJSON (builtins.readFile ./tree-sitter-rust.json));
|
||||
typescript = (builtins.fromJSON (builtins.readFile ./tree-sitter-typescript.json));
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-bash",
|
||||
"rev": "7b8adcf484e27b6c1a707ce28123e55dd4b7a844",
|
||||
"date": "2019-07-26T14:05:41-06:00",
|
||||
"sha256": "047p51ab4fqm55xqss6z74iyj1hlndql97dv9fifckczx3d5xn5g",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-c",
|
||||
"rev": "22decdc361767838dd36f1da4125b35b5b9a3c28",
|
||||
"date": "2019-07-02T15:49:42-07:00",
|
||||
"sha256": "03f9g49l4g2l4hlafr3xhvi8d3a491k5zz4bxpq7391l5wgjy3zi",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-cpp",
|
||||
"rev": "f5afa0ee48ad1dc067ed6fe1aa2cfd2a3ea5d443",
|
||||
"date": "2019-08-06T17:23:46-07:00",
|
||||
"sha256": "1w9zjqj232fcagqfqd8qi4kmvr655s4ivllrm27973sda4xq557h",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-embedded-template",
|
||||
"rev": "71955edec8cb762f63e94cf062fc96b52b9ae609",
|
||||
"date": "2019-07-17T15:55:22-07:00",
|
||||
"sha256": "1ar2n1z2h194lb3isbdkmvhn8w78j4a62nbh105w3jl1sxb4qpsa",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-go",
|
||||
"rev": "475571bb5bdb9b229c6be3843d4c71ba747688fd",
|
||||
"date": "2019-07-17T15:51:06-07:00",
|
||||
"sha256": "1cg5qpifrvpnsi0iy26g156xib2qa55vlna41hw6c70kx8ibvl9z",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-html",
|
||||
"rev": "aeb2f456b8c6a60b8475d075889d476a165cde57",
|
||||
"date": "2019-07-17T15:57:54-07:00",
|
||||
"sha256": "0ba8zi65kja6p7f5h7pa7kxqa3mj29ysjrvl84am24vy5ik4zz3z",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-javascript",
|
||||
"rev": "a730b5c210904e2e3c1f601125a059fde1b35850",
|
||||
"date": "2019-08-08T14:13:17-07:00",
|
||||
"sha256": "1cr0vikbzrklksjj07fh34a5cabkgbpkbxwiw2alnana3zzzdhnq",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-json",
|
||||
"rev": "337f55be9b9b1ccb0baa7763bfe014a94acea7ea",
|
||||
"date": "2019-05-23T11:02:26-04:00",
|
||||
"sha256": "0amh4qrjj3fli9c0z6p61z9d7496sqq54i1gh2vrghgnbbyaa6mz",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-python",
|
||||
"rev": "4c22de0944cd42a5c86ade7ef7097033604796f8",
|
||||
"date": "2019-07-30T15:35:03-04:00",
|
||||
"sha256": "1p12h7hj1ak15fyk4gw9wcmgzydd4z5mikhjp54mn1q4vfw175p3",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-ruby",
|
||||
"rev": "db91c934ff9d3d4ea67111a0f581532c49c3a6b3",
|
||||
"date": "2019-07-26T15:51:54-06:00",
|
||||
"sha256": "1ir1nqpz0c0hnsqzp90w2iw1gy3z3nqil2fm4n3zmid5di7c98dg",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-rust",
|
||||
"rev": "3f956b18a6b0a576ed238cc69d5e3f413bd547b1",
|
||||
"date": "2019-07-18T11:44:02-07:00",
|
||||
"sha256": "0dwxg3pqirqm1lvl5x0q9djavfri9ffk5diygqzjnx53rwqhyzj8",
|
||||
"fetchSubmodules": false
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-typescript",
|
||||
"rev": "ab9ab6cced868ee3e096f33fa21fd9d356c92e1a",
|
||||
"date": "2019-08-08T14:27:32-07:00",
|
||||
"sha256": "11r0vj1dhv0my2cr442mwvaav8ljygsns20w51mwg7328vlz90q3",
|
||||
"fetchSubmodules": false
|
||||
}
|
68
pkgs/development/tools/parsing/tree-sitter/update.nix
Normal file
68
pkgs/development/tools/parsing/tree-sitter/update.nix
Normal file
@ -0,0 +1,68 @@
|
||||
{ writeShellScript, nix-prefetch-git
|
||||
, curl, jq, xe
|
||||
, src }:
|
||||
|
||||
let
|
||||
# print all the grammar names mentioned in the fetch-fixtures script
|
||||
getGrammarNames = writeShellScript "get-grammars.sh" ''
|
||||
set -euo pipefail
|
||||
sed -ne 's/^fetch_grammar \(\S*\).*$/\1/p' \
|
||||
${src}/script/fetch-fixtures
|
||||
'';
|
||||
|
||||
# TODO
|
||||
urlEscape = x: x;
|
||||
# TODO
|
||||
urlEscapeSh = writeShellScript "escape-url" ''printf '%s' "$1"'';
|
||||
|
||||
# generic bash script to find the latest github release for a repo
|
||||
latestGithubRelease = { owner }: writeShellScript "latest-github-release" ''
|
||||
set -euo pipefail
|
||||
repo="$1"
|
||||
res=$(${curl}/bin/curl \
|
||||
--silent \
|
||||
"https://api.github.com/repos/${urlEscape owner}/$(${urlEscapeSh} "$repo")/releases/latest")
|
||||
if [[ "$(printf "%s" "$res" | ${jq}bin/jq '.message')" =~ "rate limit" ]]; then
|
||||
echo "rate limited" >&2
|
||||
fi
|
||||
release=$(printf "%s" "$res" | ${jq}/bin/jq '.tag_name')
|
||||
# github sometimes returns an empty list even tough there are releases
|
||||
if [ "$release" = "null" ]; then
|
||||
echo "uh-oh, latest for $repo is not there, using HEAD" >&2
|
||||
release="HEAD"
|
||||
fi
|
||||
echo "$release"
|
||||
'';
|
||||
|
||||
# update one tree-sitter grammar repo and print their nix-prefetch-git output
|
||||
updateGrammar = { owner }: writeShellScript "update-grammar.sh" ''
|
||||
set -euo pipefail
|
||||
repo="$1"
|
||||
latest="$(${latestGithubRelease { inherit owner; }} "$repo")"
|
||||
echo "Fetching latest release ($latest) of $repo …" >&2
|
||||
${nix-prefetch-git}/bin/nix-prefetch-git \
|
||||
--quiet \
|
||||
--no-deepClone \
|
||||
--url "https://github.com/${urlEscape owner}/$(${urlEscapeSh} "$repo")" \
|
||||
--rev "$latest"
|
||||
'';
|
||||
|
||||
update-all-grammars = writeShellScript "update-all-grammars.sh" ''
|
||||
set -euo pipefail
|
||||
grammarNames=$(${getGrammarNames})
|
||||
outputDir="${toString ./.}/grammars"
|
||||
mkdir -p "$outputDir"
|
||||
updateCommand=$(printf \
|
||||
'${updateGrammar { owner = "tree-sitter"; }} "$1" > "%s/$1.json"' \
|
||||
"$outputDir")
|
||||
printf '%s' "$grammarNames" \
|
||||
| ${xe}/bin/xe printf "tree-sitter-%s\n" {} \
|
||||
| ${xe}/bin/xe -j2 -s "$updateCommand"
|
||||
( echo "{"
|
||||
printf '%s' "$grammarNames" \
|
||||
| ${xe}/bin/xe -s 'printf " %s = (builtins.fromJSON (builtins.readFile ./tree-sitter-%s.json));\n" "$1" "$1"'
|
||||
echo "}" ) \
|
||||
> "$outputDir/default.nix"
|
||||
'';
|
||||
|
||||
in update-all-grammars
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-expand";
|
||||
version = "0.4.14";
|
||||
version = "0.4.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dtolnay";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0i59m34lav3cmrazaxfraj3jk5mdi5fgaq8p7l4s8qr1fpmmw9vy";
|
||||
sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
|
||||
};
|
||||
|
||||
cargoSha256 = "1sjbcgscgvjq4qpcljrsj1dyxbr10jl6wpp27xh3bv8c2rv4bzz8";
|
||||
cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
|
||||
|
||||
buildInputs = [ llvmPackages.libclang ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
|
||||
|
@ -2,6 +2,7 @@
|
||||
, meson
|
||||
, ninja
|
||||
, pkgconfig
|
||||
, fetchpatch
|
||||
|
||||
, platform-tools
|
||||
, ffmpeg
|
||||
@ -9,10 +10,10 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.8";
|
||||
version = "1.10";
|
||||
prebuilt_server = fetchurl {
|
||||
url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}.jar";
|
||||
sha256 = "1h755k5xpchlm7wq2yk5mlwjnh7y4yhviffixacby0srj3pmb443";
|
||||
sha256 = "144k25x6ha89l9p5a1dm6r3fqvgqszzwrhvkvk0r44vg0i71msyb";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "Genymobile";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1cx7y3w699s3i8s53l1mb7lkrnbix457hf17liwh00jzb0i7aga7";
|
||||
sha256 = "0hhncqcs49n9g8sgvwbyvkaq4b1dhrpn7qgnaj6grjcb0i27vzaq";
|
||||
};
|
||||
|
||||
# postPatch:
|
||||
@ -39,12 +40,18 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ ffmpeg SDL2 ];
|
||||
|
||||
# FIXME: remove on update to > 1.10
|
||||
patches = [(fetchpatch {
|
||||
url = "https://github.com/Genymobile/scrcpy/commit/c05056343b56be65ae887f8b7ead61a8072622b9.diff";
|
||||
sha256 = "1xh24gr2g2i9rk0zyv19jx54hswrq12ssp227vxbhsbamin9ir5b";
|
||||
})];
|
||||
|
||||
# Manually install the server jar to prevent Meson from "fixing" it
|
||||
preConfigure = ''
|
||||
echo -n > server/meson.build
|
||||
'';
|
||||
|
||||
mesonFlags = ["-Doverride_server_path=${prebuilt_server}"];
|
||||
mesonFlags = [ "-Doverride_server_path=${prebuilt_server}" ];
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/scrcpy"
|
||||
ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server.jar"
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, buildPackages, fetchgit, fetchpatch, perl, buildLinux, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.1.2019.07.13";
|
||||
version = "5.1.2019.08.21";
|
||||
modDirVersion = "5.1.0";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://evilpiepirate.org/git/bcachefs.git";
|
||||
rev = "22776fe9902b0b06d6aa18cd4c7f0c5ad35a95fa";
|
||||
sha256 = "0ly4vxawj8skh55c541zll3b8g6igiaq7aj33fklfjh0icmgzs60";
|
||||
rev = "ece184f718c2b678738bc2c42906e90eeb8ba7dc";
|
||||
sha256 = "08cbisgcww8fklpxwqkm2c8ddz0mm7v11ycp7ch0kalwdv2f81lr";
|
||||
};
|
||||
|
||||
extraConfig = "BCACHEFS_FS m";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "limesurvey";
|
||||
version = "3.17.1+190408";
|
||||
version = "3.17.12+190823";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LimeSurvey";
|
||||
repo = "LimeSurvey";
|
||||
rev = version;
|
||||
sha256 = "0d6dgw9af492vn5yg2hq82ipq4p80c19lhky0dpwrm5kv67kxbhv";
|
||||
sha256 = "1i7jpxndrbya5ggl4babscwzmxx4c0jwri5kpl7h2ihqrn90m4b5";
|
||||
};
|
||||
|
||||
phpConfig = writeText "config.php" ''
|
||||
@ -18,9 +18,13 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/limesurvey
|
||||
cp -r . $out/share/limesurvey
|
||||
cp ${phpConfig} $out/share/limesurvey/application/config/config.php
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -3,6 +3,7 @@
|
||||
, enableMySQL ? false, mysql, zlib
|
||||
, enableAuthDovecot ? false, dovecot
|
||||
, enablePAM ? false, pam
|
||||
, enableSPF ? true, libspf2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional enableLDAP openldap
|
||||
++ stdenv.lib.optionals enableMySQL [ mysql.connector-c zlib ]
|
||||
++ stdenv.lib.optional enableAuthDovecot dovecot
|
||||
++ stdenv.lib.optional enablePAM pam;
|
||||
++ stdenv.lib.optional enablePAM pam
|
||||
++ stdenv.lib.optional enableSPF libspf2;
|
||||
|
||||
preBuild = ''
|
||||
sed '
|
||||
@ -64,6 +66,10 @@ stdenv.mkDerivation rec {
|
||||
s:^\(EXTRALIBS_EXIM\)=\(.*\):\1=\2 -lpam:
|
||||
s:^# \(EXTRALIBS_EXIM\)=.*:\1=-lpam:
|
||||
''}
|
||||
${stdenv.lib.optionalString enableSPF ''
|
||||
s:^# \(SUPPORT_SPF\)=.*:\1=yes:
|
||||
s:^# \(LDFLAGS += -lspf2\):\1:
|
||||
''}
|
||||
#/^\s*#.*/d
|
||||
#/^\s*$/d
|
||||
' < src/EDITME > Local/Makefile
|
||||
|
@ -8,13 +8,13 @@
|
||||
# server, and the FHS userenv and corresponding NixOS module should
|
||||
# automatically pick up the changes.
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.16.4.1469-6d5612c2f";
|
||||
version = "1.16.5.1488-deeb86e7f";
|
||||
pname = "plexmediaserver";
|
||||
|
||||
# Fetch the source
|
||||
src = fetchurl {
|
||||
url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
|
||||
sha256 = "16ifgqsxgpqyd1m0xmwrrv4cic1yccklv1jlv7fhq8wc6vz9l6lx";
|
||||
sha256 = "0kgcbq3jfvmigza8a9ak215q2cpi18vh96gx01hppk51m9ibkrwi";
|
||||
};
|
||||
|
||||
outputs = [ "out" "basedb" ];
|
||||
|
@ -8,4 +8,6 @@ patch: [
|
||||
(patch "005" "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav")
|
||||
(patch "006" "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn")
|
||||
(patch "007" "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
|
||||
(patch "008" "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf")
|
||||
(patch "009" "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d")
|
||||
]
|
||||
|
@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ libxslt docbook_xsl makeWrapper ];
|
||||
|
||||
preFixup = ''
|
||||
# fallback values need to be last
|
||||
wrapProgram "$out/bin/xdg-user-dirs-update" \
|
||||
--prefix XDG_CONFIG_DIRS : "$out/etc/xdg"
|
||||
--suffix XDG_CONFIG_DIRS : "$out/etc/xdg"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -14,11 +14,11 @@ let
|
||||
xf86videodummy = callPackage ./xf86videodummy { };
|
||||
in buildPythonApplication rec {
|
||||
pname = "xpra";
|
||||
version = "2.5";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://xpra.org/src/${pname}-${version}.tar.xz";
|
||||
sha256 = "0q6c7ijgpp2wk6jlh0pzqki1w60i36wyl2zfwkg0gpdh40ypab3x";
|
||||
sha256 = "1ys35lj28903alccks9p055psy1fsk1nxi8ncchvw8bfxkkkvbys";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -56,7 +56,7 @@ in buildPythonApplication rec {
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pillow rencode pycrypto cryptography pycups lz4 dbus-python
|
||||
netifaces numpy pygobject3 pycairo gst-python pam
|
||||
pyopengl paramiko opencv python-uinput pyxdg
|
||||
pyopengl paramiko opencv4 python-uinput pyxdg
|
||||
ipaddress idna
|
||||
];
|
||||
|
||||
|
@ -1,15 +1,8 @@
|
||||
gdiff --git a/setup.py b/setup.py
|
||||
index 8d3df15..6156206 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1885,7 +1885,7 @@
|
||||
if OSX:
|
||||
pycairo = "py3cairo"
|
||||
else:
|
||||
- pycairo = "pycairo"
|
||||
+ pycairo = "py3cairo"
|
||||
cython_add(Extension("xpra.client.gtk3.cairo_workaround",
|
||||
["xpra/client/gtk3/cairo_workaround.pyx"],
|
||||
**pkgconfig(pycairo)
|
||||
@@ -2363,10 +2363,7 @@
|
||||
@@ -2359,10 +2359,7 @@ if v4l2_ENABLED:
|
||||
v4l2_pkgconfig = pkgconfig()
|
||||
#fuly warning: cython makes this difficult,
|
||||
#we have to figure out if "device_caps" exists in the headers:
|
||||
@ -21,14 +14,16 @@
|
||||
kwargs = {"ENABLE_DEVICE_CAPS" : ENABLE_DEVICE_CAPS}
|
||||
make_constants("xpra", "codecs", "v4l2", "constants", **kwargs)
|
||||
cython_add(Extension("xpra.codecs.v4l2.pusher",
|
||||
diff --git a/xpra/x11/bindings/keyboard_bindings.pyx b/xpra/x11/bindings/keyboard_bindings.pyx
|
||||
index bd7023d..064c6b5 100644
|
||||
--- a/xpra/x11/bindings/keyboard_bindings.pyx
|
||||
+++ b/xpra/x11/bindings/keyboard_bindings.pyx
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
@@ -21,7 +21,7 @@ from libc.stdlib cimport free, malloc
|
||||
|
||||
DEF PATH_MAX = 1024
|
||||
DEF DFLT_XKB_RULES_FILE = b"base"
|
||||
-DEF DFLT_XKB_CONFIG_ROOT = b"/usr/share/X11/xkb"
|
||||
+DEF DFLT_XKB_CONFIG_ROOT = b"@xkeyboardconfig@/share/X11/xkb"
|
||||
|
||||
|
||||
###################################
|
||||
# Headers, python magic
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user