Merge master into staging-next

This commit is contained in:
volth 2018-10-24 17:37:47 +00:00
commit 716cfab34e
262 changed files with 4905 additions and 1876 deletions

View File

@ -6,8 +6,14 @@
<para>
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
derivation attributes, the results of derivations or even the whole package
set.
derivation attributes, the results of derivations.
</para>
<para>
These functions are used to make changes to packages, returning only single
packages. <link xlink:href="#chap-overlays">Overlays</link>, on the other
hand, can be used to combine the overridden packages across the entire
package set of Nixpkgs.
</para>
<section xml:id="sec-pkg-override">
@ -25,6 +31,9 @@
<para>
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<!-- TODO: move below programlisting to a new section about extending and overlays
and reference it
-->
<programlisting>
import pkgs.path { overlays = [ (self: super: {
foo = super.foo.override { barSupport = true ; };
@ -86,11 +95,11 @@ helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
in this case, as it overrides only the attributes of the final derivation.
It is for this reason that <varname>overrideAttrs</varname> should be
preferred in (almost) all cases to <varname>overrideDerivation</varname>,
i.e. to allow using <varname>sdenv.mkDerivation</varname> to process input
i.e. to allow using <varname>stdenv.mkDerivation</varname> to process input
arguments, as well as the fact that it is easier to use (you can use the
same attribute names you see in your Nix code, instead of the ones
generated (e.g. <varname>buildInputs</varname> vs
<varname>nativeBuildInputs</varname>, and involves less typing.
<varname>nativeBuildInputs</varname>), and it involves less typing).
</para>
</note>
</section>

View File

@ -17,91 +17,122 @@
<title>Installing overlays</title>
<para>
The list of overlays is determined as follows.
The list of overlays can be set either explicitly in a Nix expression, or
through <literal>&lt;nixpkgs-overlays></literal> or user configuration
files.
</para>
<para>
If the <varname>overlays</varname> argument is not provided explicitly, we
look for overlays in a path. The path is determined as follows:
<orderedlist>
<listitem>
<para>
First, if an <varname>overlays</varname> argument to the nixpkgs function
itself is given, then that is used.
</para>
<para>
This can be passed explicitly when importing nipxkgs, for example
<literal>import &lt;nixpkgs> { overlays = [ overlay1 overlay2 ];
}</literal>.
</para>
</listitem>
<listitem>
<para>
Otherwise, if the Nix path entry <literal>&lt;nixpkgs-overlays></literal>
exists, we look for overlays at that path, as described below.
</para>
<para>
See the section on <literal>NIX_PATH</literal> in the Nix manual for more
details on how to set a value for
<literal>&lt;nixpkgs-overlays>.</literal>
</para>
</listitem>
<listitem>
<para>
If one of <filename>~/.config/nixpkgs/overlays.nix</filename> and
<filename>~/.config/nixpkgs/overlays/</filename> exists, then we look for
overlays at that path, as described below. It is an error if both exist.
</para>
</listitem>
</orderedlist>
</para>
<section xml:id="sec-overlays-argument">
<title>Set overlays in NixOS or Nix expressions</title>
<para>
If we are looking for overlays at a path, then there are two cases:
<itemizedlist>
<listitem>
<para>
If the path is a file, then the file is imported as a Nix expression and
used as the list of overlays.
</para>
</listitem>
<listitem>
<para>
If the path is a directory, then we take the content of the directory,
order it lexicographically, and attempt to interpret each as an overlay
by:
<itemizedlist>
<listitem>
<para>
Importing the file, if it is a <literal>.nix</literal> file.
</para>
</listitem>
<listitem>
<para>
Importing a top-level <filename>default.nix</filename> file, if it is
a directory.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
<para>
On a NixOS system the value of the <literal>nixpkgs.overlays</literal>
option, if present, is passed to the system Nixpkgs directly as an
argument. Note that this does not affect the overlays for non-NixOS
operations (e.g. <literal>nix-env</literal>), which are
<link xlink:href="#sec-overlays-lookup">looked</link> up independently.
</para>
<para>
On a NixOS system the value of the <literal>nixpkgs.overlays</literal>
option, if present, is passed to the system Nixpkgs directly as an argument.
Note that this does not affect the overlays for non-NixOS operations (e.g.
<literal>nix-env</literal>), which are looked up independently.
</para>
<para>
The list of overlays can be passed explicitly when importing nixpkgs, for
example <literal>import &lt;nixpkgs> { overlays = [ overlay1 overlay2 ];
}</literal>.
</para>
<para>
The <filename>overlays.nix</filename> option therefore provides a convenient
way to use the same overlays for a NixOS system configuration and user
configuration: the same file can be used as
<filename>overlays.nix</filename> and imported as the value of
<literal>nixpkgs.overlays</literal>.
</para>
<para>
Further overlays can be added by calling the <literal>pkgs.extend</literal>
or <literal>pkgs.appendOverlays</literal>, although it is often preferable
to avoid these functions, because they recompute the Nixpkgs fixpoint,
which is somewhat expensive to do.
</para>
</section>
<section xml:id="sec-overlays-lookup">
<title>Install overlays via configuration lookup</title>
<para>
The list of overlays is determined as follows.
</para>
<para>
<orderedlist>
<listitem>
<para>
First, if an
<link xlink:href="#sec-overlays-argument"><varname>overlays</varname>
argument</link> to the nixpkgs function itself is given, then that is
used and no path lookup will be performed.
</para>
</listitem>
<listitem>
<para>
Otherwise, if the Nix path entry
<literal>&lt;nixpkgs-overlays></literal> exists, we look for overlays at
that path, as described below.
</para>
<para>
See the section on <literal>NIX_PATH</literal> in the Nix manual for
more details on how to set a value for
<literal>&lt;nixpkgs-overlays>.</literal>
</para>
</listitem>
<listitem>
<para>
If one of <filename>~/.config/nixpkgs/overlays.nix</filename> and
<filename>~/.config/nixpkgs/overlays/</filename> exists, then we look
for overlays at that path, as described below. It is an error if both
exist.
</para>
</listitem>
</orderedlist>
</para>
<para>
If we are looking for overlays at a path, then there are two cases:
<itemizedlist>
<listitem>
<para>
If the path is a file, then the file is imported as a Nix expression and
used as the list of overlays.
</para>
</listitem>
<listitem>
<para>
If the path is a directory, then we take the content of the directory,
order it lexicographically, and attempt to interpret each as an overlay
by:
<itemizedlist>
<listitem>
<para>
Importing the file, if it is a <literal>.nix</literal> file.
</para>
</listitem>
<listitem>
<para>
Importing a top-level <filename>default.nix</filename> file, if it is
a directory.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
<para>
Because overlays that are set in NixOS configuration do not affect
non-NixOS operations such as <literal>nix-env</literal>, the
<filename>overlays.nix</filename> option provides a convenient way to use
the same overlays for a NixOS system configuration and user configuration:
the same file can be used as <filename>overlays.nix</filename> and imported
as the value of <literal>nixpkgs.overlays</literal>.
</para>
<!-- TODO: Example of sharing overlays between NixOS configuration
and configuration lookup. Also reference the example
from the sec-overlays-argument paragraph about NixOS.
-->
</section>
</section>
<!--============================================================-->
<section xml:id="sec-overlays-definition">

View File

@ -681,10 +681,10 @@ overrides = self: super: rec {
</para>
<para>
The python plugin allows the addition of extra libraries. For instance, the
<literal>inotify.py</literal> script in weechat-scripts requires D-Bus or
libnotify, and the <literal>fish.py</literal> script requires pycrypto. To
use these scripts, use the <literal>python</literal> plugin's
The python and perl plugins allows the addition of extra libraries. For
instance, the <literal>inotify.py</literal> script in weechat-scripts
requires D-Bus or libnotify, and the <literal>fish.py</literal> script
requires pycrypto. To use these scripts, use the plugin's
<literal>withPackages</literal> attribute:
<programlisting>weechat.override { configure = {availablePlugins, ...}: {
plugins = with availablePlugins; [

View File

@ -158,6 +158,11 @@
github = "alexanderkjeldaas";
name = "Alexander Kjeldaas";
};
akavel = {
email = "czapkofan@gmail.com";
github = "akavel";
name = "Mateusz Czapliński";
};
akaWolf = {
email = "akawolf0@gmail.com";
github = "akaWolf";
@ -3636,6 +3641,11 @@
github = "roosemberth";
name = "Roosembert (Roosemberth) Palacios";
};
royneary = {
email = "christian@ulrich.earth";
github = "royneary";
name = "Christian Ulrich";
};
rprospero = {
email = "rprospero+nix@gmail.com";
github = "rprospero";
@ -4148,11 +4158,6 @@
github = "tazjin";
name = "Vincent Ambo";
};
TealG = {
email = "~@Teal.Gr";
github = "TealG";
name = "Teal Gaure";
};
teh = {
email = "tehunger@gmail.com";
github = "teh";

View File

@ -130,6 +130,13 @@
were removed. They were never used for anything and can therefore safely be removed.
</para>
</listitem>
<listitem>
<para>
Package <literal>wasm</literal> has been renamed <literal>proglodyte-wasm</literal>. The package
<literal>wasm</literal> will be pointed to <literal>ocamlPackages.wasm</literal> in 19.09, so
make sure to update your configuration if you want to keep <literal>proglodyte-wasm</literal>
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -385,7 +385,7 @@
virtuoso = 44;
#rtkit = 45; # unused
dovecot2 = 46;
#dovenull = 47; # unused
dovenull2 = 47;
prayer = 49;
mpd = 50;
clamav = 51;

View File

@ -108,7 +108,6 @@
./programs/oblogout.nix
./programs/plotinus.nix
./programs/qt5ct.nix
./programs/rootston.nix
./programs/screen.nix
./programs/sedutil.nix
./programs/slock.nix

View File

@ -1,103 +0,0 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs.rootston;
rootstonWrapped = pkgs.writeScriptBin "rootston" ''
#! ${pkgs.runtimeShell}
if [[ "$#" -ge 1 ]]; then
exec ${pkgs.rootston}/bin/rootston "$@"
else
${cfg.extraSessionCommands}
exec ${pkgs.rootston}/bin/rootston -C ${cfg.configFile}
fi
'';
in {
options.programs.rootston = {
enable = mkEnableOption ''
rootston, the reference compositor for wlroots. The purpose of rootston
is to test and demonstrate the features of wlroots (if you want a real
Wayland compositor you should e.g. use Sway instead). You can manually
start the compositor by running "rootston" from a terminal'';
extraSessionCommands = mkOption {
type = types.lines;
default = "";
example = ''
# Define a keymap (US QWERTY is the default)
export XKB_DEFAULT_LAYOUT=de,us
export XKB_DEFAULT_VARIANT=nodeadkeys
export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:escape
'';
description = ''
Shell commands executed just before rootston is started.
'';
};
extraPackages = mkOption {
type = with types; listOf package;
default = with pkgs; [
westonLite xwayland rofi
];
defaultText = literalExample ''
with pkgs; [
westonLite xwayland rofi
]
'';
example = literalExample "[ ]";
description = ''
Extra packages to be installed system wide.
'';
};
config = mkOption {
type = types.str;
default = ''
[keyboard]
meta-key = Logo
# Sway/i3 like Keybindings
# Maps key combinations with commands to execute
# Commands include:
# - "exit" to stop the compositor
# - "exec" to execute a shell command
# - "close" to close the current view
# - "next_window" to cycle through windows
[bindings]
Logo+Shift+e = exit
Logo+q = close
Logo+m = maximize
Alt+Tab = next_window
Logo+Return = exec weston-terminal
Logo+d = exec rofi -show run
'';
description = ''
Default configuration for rootston (used when called without any
parameters).
'';
};
configFile = mkOption {
type = types.path;
default = "/etc/rootston.ini";
example = literalExample "${pkgs.rootston}/etc/rootston.ini";
description = ''
Path to the default rootston configuration file (the "config" option
will have no effect if you change the path).
'';
};
};
config = mkIf cfg.enable {
environment.etc."rootston.ini".text = cfg.config;
environment.systemPackages = [ rootstonWrapped ] ++ cfg.extraPackages;
hardware.opengl.enable = mkDefault true;
fonts.enableDefaultFonts = mkDefault true;
programs.dconf.enable = mkDefault true;
};
meta.maintainers = with lib.maintainers; [ primeos gnidorah ];
}

View File

@ -180,35 +180,6 @@ in
# programs to be wrapped.
WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin
# Remove the old /var/setuid-wrappers path from the system...
#
# TODO: this is only necessary for upgrades 16.09 => 17.x;
# this conditional removal block needs to be removed after
# the release.
if [ -d /var/setuid-wrappers ]; then
rm -rf /var/setuid-wrappers
ln -s /run/wrappers/bin /var/setuid-wrappers
fi
# Remove the old /run/setuid-wrappers-dir path from the
# system as well...
#
# TODO: this is only necessary for upgrades 16.09 => 17.x;
# this conditional removal block needs to be removed after
# the release.
if [ -d /run/setuid-wrapper-dirs ]; then
rm -rf /run/setuid-wrapper-dirs
ln -s /run/wrappers/bin /run/setuid-wrapper-dirs
fi
# TODO: this is only necessary for upgrades 16.09 => 17.x;
# this conditional removal block needs to be removed after
# the release.
if readlink -f /run/booted-system | grep nixos-17 > /dev/null; then
rm -rf /run/setuid-wrapper-dirs
rm -rf /var/setuid-wrappers
fi
# We want to place the tmpdirs for the wrappers to the parent dir.
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
chmod a+rx $wrapperDir

View File

@ -311,7 +311,7 @@ in
{ name = "dovenull";
uid = config.ids.uids.dovenull2;
description = "Dovecot user for untrusted logins";
group = cfg.group;
group = "dovenull";
}
] ++ optional (cfg.user == "dovecot2")
{ name = "dovecot2";
@ -332,6 +332,10 @@ in
}
++ optional (cfg.createMailUser && cfg.mailGroup != null)
{ name = cfg.mailGroup;
}
++ singleton
{ name = "dovenull";
gid = config.ids.gids.dovenull2;
};
environment.etc."dovecot/modules".source = modulesDir;

View File

@ -7,7 +7,7 @@ let
ddConf = {
dd_url = "https://app.datadoghq.com";
skip_ssl_validation = "no";
skip_ssl_validation = false;
confd_path = "/etc/datadog-agent/conf.d";
additional_checksd = "/etc/datadog-agent/checks.d";
use_dogstatsd = true;
@ -16,6 +16,7 @@ let
// optionalAttrs (cfg.hostname != null) { inherit (cfg) hostname; }
// optionalAttrs (cfg.tags != null ) { tags = concatStringsSep ", " cfg.tags; }
// optionalAttrs (cfg.enableLiveProcessCollection) { process_config = { enabled = "true"; }; }
// optionalAttrs (cfg.enableTraceAgent) { apm_config = { enabled = true; }; }
// cfg.extraConfig;
# Generate Datadog configuration files for each configured checks.
@ -132,6 +133,15 @@ in {
default = false;
type = types.bool;
};
enableTraceAgent = mkOption {
description = ''
Whether to enable the trace agent.
'';
default = false;
type = types.bool;
};
checks = mkOption {
description = ''
Configuration for all Datadog checks. Keys of this attribute
@ -244,6 +254,16 @@ in {
${pkgs.datadog-process-agent}/bin/agent --config /etc/datadog-agent/datadog.yaml
'';
});
datadog-trace-agent = lib.mkIf cfg.enableTraceAgent (makeService {
description = "Datadog Trace Agent";
path = [ ];
script = ''
export DD_API_KEY=$(head -n 1 ${cfg.apiKeyFile})
${pkgs.datadog-trace-agent}/bin/trace-agent -config /etc/datadog-agent/datadog.yaml
'';
});
};
environment.etc = etcfiles;

View File

@ -4,6 +4,7 @@ with lib;
let
cfg = config.services.grafana;
opt = options.services.grafana;
envOptions = {
PATHS_DATA = cfg.dataDir;
@ -41,6 +42,12 @@ let
AUTH_ANONYMOUS_ORG_ROLE = cfg.auth.anonymous.org_role;
ANALYTICS_REPORTING_ENABLED = boolToString cfg.analytics.reporting.enable;
SMTP_ENABLE = boolToString cfg.smtp.enable;
SMTP_HOST = cfg.smtp.host;
SMTP_USER = cfg.smtp.user;
SMTP_PASSWORD = cfg.smtp.password;
SMTP_FROM_ADDRESS = cfg.smtp.fromAddress;
} // cfg.extraOptions;
in {
@ -134,11 +141,23 @@ in {
};
password = mkOption {
description = "Database password.";
description = ''
Database password.
This option is mutual exclusive with the passwordFile option.
'';
default = "";
type = types.str;
};
passwordFile = mkOption {
description = ''
File that containts the database password.
This option is mutual exclusive with the password option.
'';
default = null;
type = types.nullOr types.path;
};
path = mkOption {
description = "Database path.";
default = "${cfg.dataDir}/data/grafana.db";
@ -163,16 +182,69 @@ in {
};
adminPassword = mkOption {
description = "Default admin password.";
description = ''
Default admin password.
This option is mutual exclusive with the adminPasswordFile option.
'';
default = "admin";
type = types.str;
};
adminPasswordFile = mkOption {
description = ''
Default admin password.
This option is mutual exclusive with the <literal>adminPassword</literal> option.
'';
default = null;
type = types.nullOr types.path;
};
secretKey = mkOption {
description = "Secret key used for signing.";
default = "SW2YcwTIb9zpOOhoPsMm";
type = types.str;
};
secretKeyFile = mkOption {
description = "Secret key used for signing.";
default = null;
type = types.nullOr types.path;
};
};
smtp = {
enable = mkEnableOption "smtp";
host = mkOption {
description = "Host to connect to";
default = "localhost:25";
type = types.str;
};
user = mkOption {
description = "User used for authentication";
default = "";
type = types.str;
};
password = mkOption {
description = ''
Password used for authentication.
This option is mutual exclusive with the passwordFile option.
'';
default = "";
type = types.str;
};
passwordFile = mkOption {
description = ''
Password used for authentication.
This option is mutual exclusive with the password option.
'';
default = null;
type = types.nullOr types.path;
};
fromAddress = mkOption {
description = "Email address used for sending";
default = "admin@grafana.localhost";
type = types.str;
};
};
users = {
@ -241,12 +313,31 @@ in {
config = mkIf cfg.enable {
warnings = optional (
cfg.database.password != options.services.grafana.database.password.default ||
cfg.security.adminPassword != options.services.grafana.security.adminPassword.default
cfg.database.password != opt.database.password.default ||
cfg.security.adminPassword != opt.security.adminPassword.default
) "Grafana passwords will be stored as plaintext in the Nix store!";
environment.systemPackages = [ cfg.package ];
assertions = [
{
assertion = cfg.database.password != opt.database.password.default -> cfg.database.passwordFile == null;
message = "Cannot set both password and passwordFile";
}
{
assertion = cfg.security.adminPassword != opt.security.adminPassword.default -> cfg.security.adminPasswordFile == null;
message = "Cannot set both adminPassword and adminPasswordFile";
}
{
assertion = cfg.security.secretKeyFile != opt.security.secretKeyFile.default -> cfg.security.secretKeyFile == null;
message = "Cannot set both secretKey and secretKeyFile";
}
{
assertion = cfg.smtp.password != opt.smtp.password.default -> cfg.smtp.passwordFile == null;
message = "Cannot set both password and secretKeyFile";
}
];
systemd.services.grafana = {
description = "Grafana Service Daemon";
wantedBy = ["multi-user.target"];
@ -254,8 +345,22 @@ in {
environment = {
QT_QPA_PLATFORM = "offscreen";
} // mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions;
script = ''
${optionalString (cfg.database.passwordFile != null) ''
export GF_DATABASE_PASSWORD="$(cat ${escapeShellArg cfg.database.passwordFile})"
''}
${optionalString (cfg.security.adminPasswordFile != null) ''
export GF_SECURITY_ADMIN_PASSWORD="$(cat ${escapeShellArg cfg.security.adminPasswordFile})"
''}
${optionalString (cfg.security.secretKeyFile != null) ''
export GF_SECURITY_SECRET_KEY="$(cat ${escapeShellArg cfg.security.secretKeyFile})"
''}
${optionalString (cfg.smtp.passwordFile != null) ''
export GF_SMTP_PASSWORD="$(cat ${escapeShellArg cfg.smtp.passwordFile})"
''}
exec ${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir}
'';
serviceConfig = {
ExecStart = "${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir}";
WorkingDirectory = cfg.dataDir;
User = "grafana";
};

View File

@ -5,8 +5,8 @@
# TODO: support fastcgi
# http://munin-monitoring.org/wiki/CgiHowto2
# spawn-fcgi -s /var/run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
# spawn-fcgi -s /var/run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
# spawn-fcgi -s /run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
# spawn-fcgi -s /run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
# https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum
# nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html
@ -22,7 +22,7 @@ let
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
rundir /run/munin
${cronCfg.extraGlobalConfig}
@ -170,7 +170,7 @@ in
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ];
environment.MUNIN_LIBDIR = "${pkgs.munin}/lib";
environment.MUNIN_PLUGSTATE = "/var/run/munin";
environment.MUNIN_PLUGSTATE = "/run/munin";
environment.MUNIN_LOGDIR = "/var/log/munin";
preStart = ''
echo "updating munin plugins..."
@ -188,7 +188,7 @@ in
};
# munin_stats plugin breaks as of 2.0.33 when this doesn't exist
systemd.tmpfiles.rules = [ "d /var/run/munin 0755 munin munin -" ];
systemd.tmpfiles.rules = [ "d /run/munin 0755 munin munin -" ];
}) (mkIf cronCfg.enable {
@ -210,7 +210,7 @@ in
};
systemd.tmpfiles.rules = [
"d /var/run/munin 0755 munin munin -"
"d /run/munin 0755 munin munin -"
"d /var/log/munin 0755 munin munin -"
"d /var/www/munin 0755 munin munin -"
"d /var/lib/munin 0755 munin munin -"

View File

@ -53,8 +53,6 @@ in
chmod 0700 ${cfg.password}
mkdir -p /var/lib/munge -m 0711
chown -R munge:munge /var/lib/munge
mkdir -p /var/log/munge -m 0700
chown -R munge:munge /var/log/munge
mkdir -p /run/munge -m 0755
chown -R munge:munge /run/munge
'';

View File

@ -57,6 +57,11 @@ let
AutomapHostsSuffixes ${concatStringsSep "," cfg.client.dns.automapHostsSuffixes}
''}
''
# Explicitly disable the SOCKS server if the client is disabled. In
# particular, this makes non-anonymous hidden services possible.
+ optionalString (! cfg.client.enable) ''
SOCKSPort 0
''
# Relay config
+ optionalString cfg.relay.enable ''
ORPort ${toString cfg.relay.port}

View File

@ -70,7 +70,15 @@ in {
'';
};
nginx.enable = mkEnableOption "nginx vhost management";
nginx.enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable nginx virtual host management.
Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
'';
};
webfinger = mkOption {
type = types.bool;

View File

@ -121,6 +121,11 @@ in
type = types.str;
description = "name of the virtualhost";
};
aliases = mkOption {
type = types.listOf types.str;
description = "aliases of the virtualhost";
default = [];
};
webapps = mkOption {
type = types.listOf types.path;
description = ''
@ -220,10 +225,28 @@ in
${if cfg.serverXml != "" then ''
cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/
'' else ''
# Create a modified server.xml which also includes all virtual hosts
sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\ ${toString (map (virtualHost: ''<Host name=\"${virtualHost.name}\" appBase=\"virtualhosts/${virtualHost.name}/webapps\" unpackWARs=\"true\" autoDeploy=\"true\" xmlValidation=\"false\" xmlNamespaceAware=\"false\" >${if cfg.logPerVirtualHost then ''<Valve className=\"org.apache.catalina.valves.AccessLogValve\" directory=\"logs/${virtualHost.name}\" prefix=\"${virtualHost.name}_access_log.\" pattern=\"combined\" resolveHosts=\"false\"/>'' else ""}</Host>'') cfg.virtualHosts)}" \
${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
'' else
let
hostElementForVirtualHost = virtualHost: ''
<Host name="${virtualHost.name}" appBase="virtualhosts/${virtualHost.name}/webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
'' + concatStrings (innerElementsForVirtualHost virtualHost) + ''
</Host>
'';
innerElementsForVirtualHost = virtualHost:
(map (alias: ''
<Alias>${alias}</Alias>
'') virtualHost.aliases)
++ (optional cfg.logPerVirtualHost ''
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/${virtualHost.name}"
prefix="${virtualHost.name}_access_log." pattern="combined" resolveHosts="false"/>
'');
hostElementsString = concatMapStringsSep "\n" hostElementForVirtualHost cfg.virtualHosts;
hostElementsSedString = replaceStrings ["\n"] ["\\\n"] hostElementsString;
in ''
# Create a modified server.xml which also includes all virtual hosts
sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\\"${escapeShellArg hostElementsSedString} \
${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
''
}
${optionalString (cfg.logDirs != []) ''

View File

@ -1,29 +0,0 @@
#! @bash@/bin/sh -e
copyForced() {
local src="$1"
local dst="$2"
cp $src $dst.tmp
mv $dst.tmp $dst
}
# Call the extlinux builder
"@extlinuxConfBuilder@" "$@"
# Add the firmware files
fwdir=@firmware@/share/raspberrypi/boot/
copyForced $fwdir/bootcode.bin /boot/bootcode.bin
copyForced $fwdir/fixup.dat /boot/fixup.dat
copyForced $fwdir/fixup_cd.dat /boot/fixup_cd.dat
copyForced $fwdir/fixup_db.dat /boot/fixup_db.dat
copyForced $fwdir/fixup_x.dat /boot/fixup_x.dat
copyForced $fwdir/start.elf /boot/start.elf
copyForced $fwdir/start_cd.elf /boot/start_cd.elf
copyForced $fwdir/start_db.elf /boot/start_db.elf
copyForced $fwdir/start_x.elf /boot/start_x.elf
# Add the uboot file
copyForced @uboot@/u-boot.bin /boot/u-boot-rpi.bin
# Add the config.txt
copyForced @configTxt@ /boot/config.txt

View File

@ -0,0 +1,10 @@
{ pkgs, configTxt }:
pkgs.substituteAll {
src = ./raspberrypi-builder.sh;
isExecutable = true;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
firmware = pkgs.raspberrypifw;
inherit configTxt;
}

View File

@ -5,15 +5,25 @@ shopt -s nullglob
export PATH=/empty
for i in @path@; do PATH=$PATH:$i/bin; done
default=$1
if test -z "$1"; then
echo "Syntax: builder.sh <DEFAULT-CONFIG>"
usage() {
echo "usage: $0 -c <path-to-default-configuration> [-d <boot-dir>]" >&2
exit 1
fi
}
default= # Default configuration
target=/boot # Target directory
while getopts "c:d:" opt; do
case "$opt" in
c) default="$OPTARG" ;;
d) target="$OPTARG" ;;
\?) usage ;;
esac
done
echo "updating the boot generations directory..."
mkdir -p /boot/old
mkdir -p $target/old
# Convert a path to a file in the Nix store such as
# /nix/store/<hash>-<name>/file to <hash>-<name>-<file>.
@ -22,12 +32,12 @@ cleanName() {
echo "$path" | sed 's|^/nix/store/||' | sed 's|/|-|g'
}
# Copy a file from the Nix store to /boot/kernels.
# Copy a file from the Nix store to $target/kernels.
declare -A filesCopied
copyToKernelsDir() {
local src="$1"
local dst="/boot/old/$(cleanName $src)"
local dst="$target/old/$(cleanName $src)"
# Don't copy the file if $dst already exists. This means that we
# have to create $dst atomically to prevent partially copied
# kernels or initrd if this script is ever interrupted.
@ -47,10 +57,10 @@ copyForced() {
mv $dst.tmp $dst
}
outdir=/boot/old
outdir=$target/old
mkdir -p $outdir || true
# Copy its kernel and initrd to /boot/kernels.
# Copy its kernel and initrd to $target/old.
addEntry() {
local path="$1"
local generation="$2"
@ -74,25 +84,21 @@ addEntry() {
echo $initrd > $outdir/$generation-initrd
echo $kernel > $outdir/$generation-kernel
if test $(readlink -f "$path") = "$default"; then
if [ @version@ -eq 1 ]; then
copyForced $kernel /boot/kernel.img
else
copyForced $kernel /boot/kernel7.img
fi
copyForced $initrd /boot/initrd
for dtb in $dtb_path/bcm*.dtb; do
dst="/boot/$(basename $dtb)"
if test "$generation" = "default"; then
copyForced $kernel $target/kernel.img
copyForced $initrd $target/initrd
for dtb in $dtb_path/{broadcom,}/bcm*.dtb; do
dst="$target/$(basename $dtb)"
copyForced $dtb "$dst"
filesCopied[$dst]=1
done
cp "$(readlink -f "$path/init")" /boot/nixos-init
echo "`cat $path/kernel-params` init=$path/init" >/boot/cmdline.txt
echo "$2" > /boot/defaultgeneration
cp "$(readlink -f "$path/init")" $target/nixos-init
echo "`cat $path/kernel-params` init=$path/init" >$target/cmdline.txt
fi
}
addEntry $default default
# Add all generations of the system profile to the menu, in reverse
# (most recent to least recent) order.
for generation in $(
@ -105,21 +111,21 @@ done
# Add the firmware files
fwdir=@firmware@/share/raspberrypi/boot/
copyForced $fwdir/bootcode.bin /boot/bootcode.bin
copyForced $fwdir/fixup.dat /boot/fixup.dat
copyForced $fwdir/fixup_cd.dat /boot/fixup_cd.dat
copyForced $fwdir/fixup_db.dat /boot/fixup_db.dat
copyForced $fwdir/fixup_x.dat /boot/fixup_x.dat
copyForced $fwdir/start.elf /boot/start.elf
copyForced $fwdir/start_cd.elf /boot/start_cd.elf
copyForced $fwdir/start_db.elf /boot/start_db.elf
copyForced $fwdir/start_x.elf /boot/start_x.elf
copyForced $fwdir/bootcode.bin $target/bootcode.bin
copyForced $fwdir/fixup.dat $target/fixup.dat
copyForced $fwdir/fixup_cd.dat $target/fixup_cd.dat
copyForced $fwdir/fixup_db.dat $target/fixup_db.dat
copyForced $fwdir/fixup_x.dat $target/fixup_x.dat
copyForced $fwdir/start.elf $target/start.elf
copyForced $fwdir/start_cd.elf $target/start_cd.elf
copyForced $fwdir/start_db.elf $target/start_db.elf
copyForced $fwdir/start_x.elf $target/start_x.elf
# Add the config.txt
copyForced @configTxt@ /boot/config.txt
copyForced @configTxt@ $target/config.txt
# Remove obsolete files from /boot and /boot/old.
for fn in /boot/old/*linux* /boot/old/*initrd-initrd* /boot/bcm*.dtb; do
# Remove obsolete files from $target and $target/old.
for fn in $target/old/*linux* $target/old/*initrd-initrd* $target/bcm*.dtb; do
if ! test "${filesCopied[$fn]}" = 1; then
rm -vf -- "$fn"
fi

View File

@ -5,25 +5,16 @@ with lib;
let
cfg = config.boot.loader.raspberryPi;
builderGeneric = pkgs.substituteAll {
src = ./builder.sh;
isExecutable = true;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
firmware = pkgs.raspberrypifw;
version = cfg.version;
inherit configTxt;
};
inherit (pkgs.stdenv.hostPlatform) platform;
builderUboot = import ./builder_uboot.nix { inherit config; inherit pkgs; inherit configTxt; };
builderUboot = import ./uboot-builder.nix { inherit pkgs configTxt; inherit (cfg) version; };
builderGeneric = import ./raspberrypi-builder.nix { inherit pkgs configTxt; };
builder =
if cfg.uboot.enable then
"${builderUboot} -g ${toString cfg.uboot.configurationLimit} -t ${timeoutStr} -c"
else
builderGeneric;
"${builderGeneric} -c";
blCfg = config.boot.loader;
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
@ -43,9 +34,12 @@ let
'' + optional isAarch64 ''
# Boot in 64-bit mode.
arm_control=0x200
'' + optional cfg.uboot.enable ''
'' + (if cfg.uboot.enable then ''
kernel=u-boot-rpi.bin
'' + optional (cfg.firmwareConfig != null) cfg.firmwareConfig);
'' else ''
kernel=kernel.img
initramfs initrd followkernel
'') + optional (cfg.firmwareConfig != null) cfg.firmwareConfig);
in
@ -65,7 +59,7 @@ in
version = mkOption {
default = 2;
type = types.enum [ 1 2 3 ];
type = types.enum [ 0 1 2 3 ];
description = ''
'';
};

View File

@ -1,13 +1,14 @@
{ config, pkgs, configTxt }:
{ pkgs, version, configTxt }:
let
cfg = config.boot.loader.raspberryPi;
isAarch64 = pkgs.stdenv.isAarch64;
uboot =
if cfg.version == 1 then
if version == 0 then
pkgs.ubootRaspberryPiZero
else if version == 1 then
pkgs.ubootRaspberryPi
else if cfg.version == 2 then
else if version == 2 then
pkgs.ubootRaspberryPi2
else
if isAarch64 then
@ -21,7 +22,7 @@ let
};
in
pkgs.substituteAll {
src = ./builder_uboot.sh;
src = ./uboot-builder.sh;
isExecutable = true;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
@ -29,6 +30,6 @@ pkgs.substituteAll {
inherit uboot;
inherit configTxt;
inherit extlinuxConfBuilder;
version = cfg.version;
inherit version;
}

View File

@ -0,0 +1,38 @@
#! @bash@/bin/sh -e
target=/boot # Target directory
while getopts "t:c:d:g:" opt; do
case "$opt" in
d) target="$OPTARG" ;;
*) ;;
esac
done
copyForced() {
local src="$1"
local dst="$2"
cp $src $dst.tmp
mv $dst.tmp $dst
}
# Call the extlinux builder
"@extlinuxConfBuilder@" "$@"
# Add the firmware files
fwdir=@firmware@/share/raspberrypi/boot/
copyForced $fwdir/bootcode.bin $target/bootcode.bin
copyForced $fwdir/fixup.dat $target/fixup.dat
copyForced $fwdir/fixup_cd.dat $target/fixup_cd.dat
copyForced $fwdir/fixup_db.dat $target/fixup_db.dat
copyForced $fwdir/fixup_x.dat $target/fixup_x.dat
copyForced $fwdir/start.elf $target/start.elf
copyForced $fwdir/start_cd.elf $target/start_cd.elf
copyForced $fwdir/start_db.elf $target/start_db.elf
copyForced $fwdir/start_x.elf $target/start_x.elf
# Add the uboot file
copyForced @uboot@/u-boot.bin $target/u-boot-rpi.bin
# Add the config.txt
copyForced @configTxt@ $target/config.txt

View File

@ -112,9 +112,6 @@ in {
environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
systemd.services."systemd-nspawn@" = {
wantedBy = [ "machine.target" ];
};
};
}

View File

@ -2,14 +2,14 @@
, gnumake, gcc-arm-embedded, dfu-util-axoloti, jdk, ant, libfaketime }:
stdenv.mkDerivation rec {
version = "1.0.12-1";
version = "1.0.12-2";
name = "axoloti-${version}";
src = fetchFromGitHub {
owner = "axoloti";
repo = "axoloti";
rev = "${version}";
sha256 = "13njmv8zac0kaaxgkv4y4zfjcclafn9cw0m8lj2k4926wnwjmf50";
sha256 = "1qffis277wshldr3i939b0r2x3a2mlr53samxqmr2nk1sfm2b4w9";
};
chibi_version = "2.6.9";
@ -96,6 +96,6 @@ stdenv.mkDerivation rec {
<literal>SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0442", OWNER="someuser", GROUP="somegroup"</literal>
'';
license = licenses.gpl3;
maintainers = with maintainers; [ TealG ];
maintainers = with maintainers; [ ];
};
}

View File

@ -1,23 +1,12 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "caps-${version}";
version = "0.9.24";
version = "0.9.26";
src = fetchurl {
url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2";
sha256 = "081zx0i2ysw5nmy03j60q9j11zdlg1fxws81kwanncdgayxgwipp";
sha256 = "1jcq9y51vdnk93q27r566y9qmddvadhr4ddnvkiypaq5rrdnqjg7";
};
patches = [
(fetchurl {
url = "https://salsa.debian.org/multimedia-team/caps/raw/9a99c225/debian/patches/0001-Avoid-ambiguity-in-div-invocation.patch";
sha256 = "1b1pb5yfskiw8zi1lkj572l2ajpirh4amq538vggwvlpv1fqfway";
})
(fetchurl {
url = "https://salsa.debian.org/multimedia-team/caps/raw/a411203d/debian/patches/0002-Use-standard-exp10f-instead-of-pow10f.patch";
sha256 = "18ciklnscabr77l8b89xmbagkk79w4iqfpzr2yhn2ywv2jp8akx9";
})
];
configurePhase = ''
echo "PREFIX = $out" > defines.make
'';

View File

@ -1,12 +1,14 @@
{ stdenv, fetchgit, libjack2, libGL, pkgconfig, xorg }:
{ stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
stdenv.mkDerivation rec {
name = "dragonfly-reverb-${src.rev}";
src = fetchgit {
url = "https://github.com/michaelwillis/dragonfly-reverb";
rev = "0.9.1";
sha256 = "1dbykx044h768bbzabdagl4jh65gqgfsxsrarjrkp07sqnhlnhpd";
src = fetchFromGitHub {
owner = "michaelwillis";
repo = "dragonfly-reverb";
rev = "0.9.4";
sha256 = "0lc45jybjwg4wrcz4s9lvzpvqawgj825rkqhz2xxvalfbvjazi53";
fetchSubmodules = true;
};
patchPhase = ''

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "fluidsynth-${version}";
version = "1.1.10";
version = "1.1.11";
src = fetchFromGitHub {
owner = "FluidSynth";
repo = "fluidsynth";
rev = "v${version}";
sha256 = "04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p";
sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
};
nativeBuildInputs = [ pkgconfig cmake ];

View File

@ -1,49 +1,61 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
, asio, alsaLib, avahi, libogg, libvorbis, flac }:
, alsaLib, asio, avahi, flac, libogg, libvorbis }:
let
popl = stdenv.mkDerivation rec {
name = "popl-${version}";
version = "1.1.0";
dependency = { name, version, sha256 }:
stdenv.mkDerivation {
name = "${name}-${version}";
src = fetchFromGitHub {
owner = "badaix";
repo = "popl";
rev = "v${version}";
sha256 = "1zgjgcingyi1xw61azxxasaidbgqidncml5c2y2cj90mz23yam1i";
repo = name;
rev = "v${version}";
inherit sha256;
};
nativeBuildInputs = [ cmake ];
};
aixlog = stdenv.mkDerivation rec {
name = "aixlog-${version}";
aixlog = dependency {
name = "aixlog";
version = "1.2.1";
sha256 = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr";
};
src = fetchFromGitHub {
owner = "badaix";
repo = "aixlog";
rev = "v${version}";
sha256 = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr";
};
nativeBuildInputs = [ cmake ];
popl = dependency {
name = "popl";
version = "1.2.0";
sha256 = "1z6z7fwffs3d9h56mc2m24d5gp4fc5bi8836zyfb276s6fjyfcai";
};
in
stdenv.mkDerivation rec {
name = "snapcast-${version}";
version = "0.14.0";
version = "0.15.0";
src = fetchFromGitHub {
owner = "badaix";
repo = "snapcast";
rev = "v${version}";
sha256 = "14f5jrsarjdk2mixmznmighrh22j6flp7y47r9j3qzxycmm1mcf6";
owner = "badaix";
repo = "snapcast";
rev = "v${version}";
sha256 = "11rnpy6w3wm240qgmkp74k5w8wh5b7hzfx05qrnh6l7ng7m25ky2";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ asio popl aixlog alsaLib avahi libogg libvorbis flac ];
# snapcast also supports building against tremor but as we have libogg, that's
# not needed
buildInputs = [
alsaLib asio avahi flac libogg libvorbis
aixlog popl
];
# Upstream systemd unit files are pretty awful, so we provide our own in a
# NixOS module. It might make sense to get that upstreamed...
postInstall = ''
install -d $out/share/doc/snapcast
cp -r ../doc/* ../*.md $out/share/doc/snapcast
'';
meta = with lib; {
description = "Synchronous multi-room audio player";

View File

@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "snd-18.7";
name = "snd-18.8";
src = fetchurl {
url = "mirror://sourceforge/snd/${name}.tar.gz";
sha256 = "1d7g043r534shwsq5s4xsywgn5qv96v9wnhdx04j21s9w7fy9ypl";
sha256 = "16p6cmxl8y58wa19k1z6i66qsqaz7rld4850b0sprbxjjb6cqhf7";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -1,8 +1,31 @@
channel="stable" # stable/candidate/edge
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq git gnused gnugrep
# executing this script without arguments will
# - find the newest stable spotify version avaiable on snapcraft (https://snapcraft.io/spotify)
# - read the current spotify version from the current nix expression
# - update the nix expression if the versions differ
# - try to build the updated version, exit if that fails
# - give instructions for upstreaming
# Please test the update manually before pushing. There have been errors before
# and because the service is proprietary and a paid account is necessary to do
# anything with spotify automatic testing is not possible.
# As an optional argument you can specify the snapcraft channel to update to.
# Default is `stable` and only stable updates should be pushed to nixpkgs. For
# testing you may specify `candidate` or `edge`.
channel="${1:-stable}" # stable/candidate/edge
nixpkgs="$(git rev-parse --show-toplevel)"
spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix"
#
# find the newest stable spotify version avaiable on snapcraft
#
# create bash array from snap info
snap_info=($(
@ -12,38 +35,62 @@ snap_info=($(
'.revision,.download_sha512,.version,.last_updated'
))
# "revision" is the actual version identifier on snapcraft, the "version" is
# just for human consumption. Revision is just an integer that gets increased
# by one every (stable or unstable) release.
revision="${snap_info[0]}"
sha512="${snap_info[1]}"
version="${snap_info[2]}"
upstream_version="${snap_info[2]}"
last_updated="${snap_info[3]}"
# find the last commited version
version_pre=$(
git grep 'version\s*=' HEAD "$spotify_nix" \
echo "Latest $channel release is $upstream_version from $last_updated."
#
# read the current spotify version from the currently *committed* nix expression
#
current_nix_version=$(
grep 'version\s*=' "$spotify_nix" \
| sed -Ene 's/.*"(.*)".*/\1/p'
)
if [[ "$version_pre" = "$version" ]]; then
echo "Current nix version: $current_nix_version"
#
# update the nix expression if the versions differ
#
if [[ "$current_nix_version" = "$upstream_version" ]]; then
echo "Spotify is already up ot date"
exit 0
fi
echo "Updating from ${version_pre} to ${version}, released on ${last_updated}"
echo "Updating from ${current_nix_version} to ${upstream_version}, released on ${last_updated}"
# search-andreplace revision, hash and version
# search-and-replace revision, hash and version
sed --regexp-extended \
-e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \
-e 's/sha512\s*=\s*".{128}"\s*;/sha512 = "'"${sha512}"'";/' \
-e 's/version\s*=\s*".*"\s*;/version = "'"${version}"'";/' \
-e 's/sha512\s*=\s*"[^"]*"\s*;/sha512 = "'"${sha512}"'";/' \
-e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \
-i "$spotify_nix"
#
# try to build the updated version
#
if ! nix-build -A spotify "$nixpkgs"; then
echo "The updated spotify failed to build."
exit 1
fi
#
# give instructions for upstreaming
#
git add "$spotify_nix"
# show diff for review
git diff HEAD
# prepare commit message, but allow edit
git commit --edit --message "spotify: $version_pre -> $version"
# show changes for review
git status
echo 'Please review and test the changes (./result/bin/spotify).'
echo 'Then stage the changes with `git add` and commit with:'
# prepare commit message
echo "git commit -m 'spotify: $current_nix_version -> $upstream_version'"

View File

@ -6,7 +6,7 @@ python2.pkgs.buildPythonApplication rec {
version = "0.7.0";
src = fetchFromGitHub {
owner = "JoeLametta";
owner = "whipper-team";
repo = "whipper";
rev = "v${version}";
sha256 = "04m8s0s9dcnly9l6id8vv99n9kbjrjid79bss52ay9yvwng0frmj";
@ -39,7 +39,7 @@ python2.pkgs.buildPythonApplication rec {
'';
meta = with stdenv.lib; {
homepage = https://github.com/JoeLametta/whipper;
homepage = https://github.com/whipper-team/whipper;
description = "A CD ripper aiming for accuracy over speed";
maintainers = with maintainers; [ rycee jgeerds ];
license = licenses.gpl3Plus;

View File

@ -1,6 +1,19 @@
{ stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }:
let
versions = {
atom = {
version = "1.32.0";
sha256 = "0dha8zi4gshxj993ns7ybi7q86pfqwzsasrk3a7b5xrdqbrcm5md";
};
atom-beta = {
version = "1.33.0";
beta = 0;
sha256 = "1x4s12zvfd2gjy7mimndbhs6x9k37jq4dyy6r1mzhwfysix74val";
};
};
common = pname: {version, sha256, beta ? null}:
let fullVersion = version + stdenv.lib.optionalString (beta != null) "-beta${toString beta}";
name = "${pname}-${fullVersion}";
@ -71,15 +84,4 @@ let
platforms = platforms.x86_64;
};
};
in stdenv.lib.mapAttrs common {
atom = {
version = "1.31.2";
sha256 = "1szx9p2nz1qzjpig0l8h4hj5mqwpjvkcynn8crh21drply4bpfr0";
};
atom-beta = {
version = "1.32.0";
beta = 0;
sha256 = "12k5cn70a0diyaqbmq6s6l2sbi9i3d9p7i38qnm97lnw0y1kh0jm";
};
}
in stdenv.lib.mapAttrs common versions

View File

@ -555,12 +555,12 @@ rec {
spotbugs = buildEclipseUpdateSite rec {
name = "spotbugs-${version}";
version = "3.1.6";
version = "3.1.8";
src = fetchzip {
stripRoot = false;
url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
sha256 = "1qsams12n64slp00nfc9v943sy9bzffzm7anqqaz2hjw64iia7fh";
sha256 = "0086shivxx745f69226f59xcv7l9xliwyr9kxm6zyn753c888js3";
};
meta = with stdenv.lib; {

View File

@ -14,4 +14,7 @@ mkDerivation {
qtscript qtsvg qtquickcontrols qtwebkit shared-mime-info krunner kparts
knewstuff gpsd
];
preConfigure = ''
cmakeFlags+=" -DINCLUDE_INSTALL_DIR=''${!outputDev}/include"
'';
}

View File

@ -6,51 +6,20 @@
}:
let libPath = lib.makeLibraryPath [
alsaLib
atk
cairo
cups
curl
dbus
expat
ffmpeg
fontconfig
freetype
gdk_pixbuf
glib
glibc
gnome2.GConf
gtk2
libopus
nspr
nss
pango
stdenv.cc.cc
udev
x264
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
libpulseaudio
libxcb
alsaLib atk cairo cups curl dbus expat ffmpeg fontconfig freetype gdk_pixbuf
glib glibc gnome2.GConf gtk2 libopus nspr nss pango stdenv.cc.cc udev x264
libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes
libXi libXrandr libXrender libXtst libpulseaudio libxcb
];
in stdenv.mkDerivation rec {
pname = "airtame";
version = "3.1.1";
version = "3.3.0";
name = "${pname}-${version}";
longName = "${pname}-application";
src = fetchurl {
url = "https://downloads.airtame.com/application/ga/lin_x64/releases/${longName}-${version}.tar.gz";
sha256 = "1am1qz280r5g9i0vwwx5lr24fpdl5lazhpr2bhb34nlr5d8rsmzr";
sha256 = "16ca1vcxpka26jcrfbxpq74kcizgrm138j94bby6kzqp2swhrl76";
};
nativeBuildInputs = [ makeWrapper ];
@ -77,15 +46,26 @@ in stdenv.mkDerivation rec {
ln -s "$opt/icon.png" "$out/share/icons/airtame.png"
# Flags and rpath are copied from launch-airtame.sh.
interp="$(< $NIX_CC/nix-support/dynamic-linker)"
vendorlib="$opt/resources/app.asar.unpacked/streamer/vendor/airtame-core/lib"
rpath="${libPath}:$opt:$vendorlib:$opt/resources/app.asar.unpacked/encryption/out/lib"
rm $vendorlib/libcurl.so*
vendorlib="\
$opt/resources/app.asar.unpacked/modules/streamer/dist/deps/airtame-modules:\
$opt/resources/app.asar.unpacked/encryption/out/lib:\
$opt/resources/deps/airtame-core/lib:\
$opt/resources/deps/airtame-encryption/lib"
echo $vendorlib
rpath="${libPath}:$opt:$vendorlib"
find "$opt" \( -type f -executable -o -name "*.so" -o -name "*.so.*" \) \
-exec patchelf --set-rpath "$rpath" {} \;
# The main binary also needs libudev which was removed by --shrink-rpath.
interp="$(< $NIX_CC/nix-support/dynamic-linker)"
patchelf --set-interpreter "$interp" $opt/${longName}
wrapProgram $opt/${longName} --add-flags "--disable-gpu --enable-transparent-visuals"
wrapProgram $opt/${longName} \
--prefix LD_LIBRARY_PATH=$rpath \
--add-flags "--disable-gpu --enable-transparent-visuals"
'';
dontPatchELF = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk3, vte
{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk3, vte, wrapGAppsHook
, libxslt, docbook_xml_dtd_412, docbook_xsl, libxml2, findXMLCatalogs
}:
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [
automake autoconf intltool pkgconfig
automake autoconf intltool pkgconfig wrapGAppsHook
libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs
];

View File

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc, systemd, pango, cairo
, wayland, wayland-protocols }:
stdenv.mkDerivation rec {
name = "mako-${version}";
version = "1.1";
src = fetchFromGitHub {
owner = "emersion";
repo = "mako";
rev = "v${version}";
sha256 = "18krsyp9g6f689024dn1mq8dyj4yg8c3kcy5s88q1gm8py6c4493";
};
nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
buildInputs = [ systemd pango cairo wayland wayland-protocols ];
meta = with stdenv.lib; {
description = "A lightweight Wayland notification daemon";
homepage = https://wayland.emersion.fr/mako/;
license = licenses.mit;
maintainers = with maintainers; [ dywedir ];
platforms = platforms.linux;
};
}

View File

@ -4,7 +4,7 @@
let
version = "0.6.2";
version = "0.6.3";
sqlGda = libgda.override {
mysqlSupport = true;
postgresSupport = true;
@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
owner = "Alecaddd";
repo = "sequeler";
rev = "v${version}";
sha256 = "0j5z3z34jc1acclmlkjpv7fcs4f2gf0bcfnvcpn3zdzw9fzj0sw7";
sha256 = "14a0i9y003m4pvdfp4ax7jfxvyzvyfg45zhln44rm08rfngb0f7k";
};
nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection gettext wrapGAppsHook python3 desktop-file-utils ];

View File

@ -0,0 +1,29 @@
{ buildPythonApplication, lib, fetchFromGitHub
, dateutil, pyyaml, openpyxl, xlrd, h5py, fonttools, lxml, pandas, pyshp
}:
buildPythonApplication rec {
name = "${pname}-${version}";
pname = "visidata";
version = "1.3.1";
src = fetchFromGitHub {
owner = "saulpw";
repo = "visidata";
rev = "v${version}";
sha256 = "1d5sx1kfil1vjkynaac5sjsnn9azxxw834gwbh9plzd5fwxg4dz2";
};
propagatedBuildInputs = [dateutil pyyaml openpyxl xlrd h5py fonttools
lxml pandas pyshp ];
doCheck = false;
meta = {
inherit version;
description = "Interactive terminal multitool for tabular data";
license = lib.licenses.gpl3 ;
maintainers = [lib.maintainers.raskin];
platforms = lib.platforms.linux;
homepage = "http://visidata.org/";
};
}

View File

@ -12,13 +12,13 @@ in
stdenv'.mkDerivation rec {
name = "xmr-stak-${version}";
version = "2.5.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "fireice-uk";
repo = "xmr-stak";
rev = "${version}";
sha256 = "1qls0rai9c1cszcqqqmhcdvcsmm23w1jxzlq2b035apkz7ywbxjl";
sha256 = "0n042vxrr52k6x86h06f298flmxghsfh2a3kqnc41r7p7qybgjj8";
};
NIX_CFLAGS_COMPILE = "-O3";
@ -40,6 +40,6 @@ stdenv'.mkDerivation rec {
description = "Unified All-in-one Monero miner";
homepage = "https://github.com/fireice-uk/xmr-stak";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fpletz ];
maintainers = with maintainers; [ fpletz bfortz ];
};
}

View File

@ -0,0 +1,108 @@
{ stdenv, lib, fetchurl,
dpkg,
alsaLib,
at-spi2-atk,
atk,
cairo,
cups,
dbus,
expat,
fontconfig,
freetype,
gdk_pixbuf,
glib,
gnome2,
gtk3,
libuuid,
libX11,
libXcomposite,
libXcursor,
libXdamage,
libXext,
libXfixes,
libXi,
libXrandr,
libXrender,
libXScrnSaver,
libXtst,
nspr,
nss,
pango,
udev,
xorg,
zlib
}:
let rpath = lib.makeLibraryPath [
alsaLib
at-spi2-atk
atk
cairo
cups
dbus
expat
fontconfig
freetype
gdk_pixbuf
glib
gnome2.GConf
gtk3
libuuid
libX11
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXScrnSaver
libXtst
nspr
nss
pango
udev
xorg.libxcb
zlib
];
in stdenv.mkDerivation rec {
name = "brave";
version = "0.25.2";
src = fetchurl {
url = "https://github.com/brave/browser-laptop/releases/download/v${version}dev/brave_${version}_amd64.deb";
sha256 = "1r3rsa6szps7mvvpqyw0mg16zn36x451dxq4nmn2l5ds5cp1f017";
};
phases = [ "unpackPhase" "installPhase" ];
nativeBuildInputs = [ dpkg ];
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
mkdir -p $out
cp -R usr/* $out
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" $out/bin/brave
'';
meta = with stdenv.lib; {
homepage = "https://brave.com/";
description = "Privacy-oriented browser for Desktop and Laptop computers";
longDescription = ''
Brave browser blocks the ads and trackers that slow you down,
chew up your bandwidth, and invade your privacy. Brave lets you
contribute to your favorite creators automatically.
'';
license = licenses.mpl20;
maintainers = [ maintainers.uskudnik ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,7 +1,7 @@
{ pname, version, updateScript ? null
, src, patches ? [], extraConfigureFlags ? [], extraMakeFlags ? []
, overrides ? {}, extraNativeBuildInputs ? [], meta
, isTorBrowserLike ? false }:
{ pname, ffversion, meta, updateScript ? null
, src, unpackPhase ? null, patches ? []
, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? []
, isTorBrowserLike ? false, tbversion ? null }:
{ lib, stdenv, pkgconfig, pango, perl, python2, zip, libIDL
, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
@ -19,7 +19,7 @@
, alsaSupport ? stdenv.isLinux, alsaLib
, pulseaudioSupport ? true, libpulseaudio
, ffmpegSupport ? true, gstreamer, gst-plugins-base
, gtk3Support ? !isTorBrowserLike, gtk2, gtk3, wrapGAppsHook
, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
, gssSupport ? true, kerberos
## privacy-related options
@ -31,7 +31,7 @@
# webrtcSupport breaks the aarch64 build on version >= 60.
# https://bugzilla.mozilla.org/show_bug.cgi?id=1434589
, webrtcSupport ? (if lib.versionAtLeast version "60" && stdenv.isAarch64 then false else !privacySupport)
, webrtcSupport ? (if lib.versionAtLeast ffversion "60" && stdenv.isAarch64 then false else !privacySupport)
, geolocationSupport ? !privacySupport
, googleAPISupport ? geolocationSupport
, crashreporterSupport ? false
@ -80,23 +80,24 @@ let
browserName = if stdenv.isDarwin then "Firefox" else "firefox";
in
stdenv.mkDerivation (rec {
stdenv.mkDerivation rec {
name = "${pname}-unwrapped-${version}";
version = if !isTorBrowserLike then ffversion else tbversion;
inherit src patches meta;
inherit src unpackPhase patches meta;
buildInputs = [
gtk2 perl zip libIDL libjpeg zlib bzip2
dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
nspr libnotify xorg.pixman yasm libGLU_combined
libnotify xorg.pixman yasm libGLU_combined
xorg.libXScrnSaver xorg.scrnsaverproto
xorg.libXext xorg.xextproto sqlite unzip makeWrapper
libevent libstartup_notification libvpx /* cairo */
icu libpng jemalloc glib
]
++ lib.optionals (!isTorBrowserLike) [ nss ]
++ lib.optional (lib.versionOlder version "61") hunspell
++ lib.optionals (!isTorBrowserLike) [ nspr nss ]
++ lib.optional (lib.versionOlder ffversion "61") hunspell
++ lib.optional alsaSupport alsaLib
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ]
@ -106,12 +107,17 @@ stdenv.mkDerivation (rec {
AVFoundation MediaToolbox CoreLocation
Foundation libobjc AddressBook cups ];
NIX_CFLAGS_COMPILE = [ "-I${nspr.dev}/include/nspr"
"-I${nss.dev}/include/nss"
"-I${glib.dev}/include/gio-unix-2.0" ]
++ lib.optional stdenv.isDarwin [
"-isystem ${llvmPackages.libcxx}/include/c++/v1"
"-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10" ];
NIX_CFLAGS_COMPILE = [
"-I${glib.dev}/include/gio-unix-2.0"
]
++ lib.optionals (!isTorBrowserLike) [
"-I${nspr.dev}/include/nspr"
"-I${nss.dev}/include/nss"
]
++ lib.optional stdenv.isDarwin [
"-isystem ${llvmPackages.libcxx}/include/c++/v1"
"-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10"
];
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0
@ -128,14 +134,14 @@ stdenv.mkDerivation (rec {
rm -f configure
rm -f js/src/configure
rm -f .mozconfig*
'' + (if lib.versionAtLeast version "58"
'' + (if lib.versionAtLeast ffversion "58"
# this will run autoconf213
then ''
configureScript="$(realpath ./mach) configure"
'' else ''
make -f client.mk configure-files
configureScript="$(realpath ./configure)"
'') + lib.optionalString (!isTorBrowserLike && lib.versionAtLeast version "53") ''
'') + lib.optionalString (lib.versionAtLeast ffversion "53") ''
export MOZCONFIG=$(pwd)/mozconfig
# Set C flags for Rust's bindgen program. Unlike ordinary C
@ -158,7 +164,7 @@ stdenv.mkDerivation (rec {
# please get your own set of keys.
echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga
configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga")
'' + lib.optionalString (lib.versionOlder version "58") ''
'' + lib.optionalString (lib.versionOlder ffversion "58") ''
cd obj-*
'';
@ -185,37 +191,29 @@ stdenv.mkDerivation (rec {
"--disable-gconf"
"--enable-default-toolkit=${default-toolkit}"
]
++ lib.optional (stdenv.isDarwin && lib.versionAtLeast version "61") "--disable-xcode-checks"
++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell"
++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
++ lib.optional (stdenv.isDarwin && lib.versionAtLeast ffversion "61") "--disable-xcode-checks"
++ lib.optional (lib.versionOlder ffversion "61") "--enable-system-hunspell"
++ lib.optionals (lib.versionAtLeast ffversion "56" && !stdenv.hostPlatform.isi686) [
# on i686-linux: --with-libclang-path is not available in this configuration
"--with-libclang-path=${llvmPackages.libclang}/lib"
"--with-clang-path=${llvmPackages.clang}/bin/clang"
]
++ lib.optionals (lib.versionAtLeast version "57") [
++ lib.optionals (lib.versionAtLeast ffversion "57") [
"--enable-webrender=build"
]
# TorBrowser patches these
++ lib.optionals (!isTorBrowserLike) [
"--with-system-nss"
"--with-system-nspr"
"--with-system-nss"
]
# and wants these
++ lib.optionals isTorBrowserLike ([
"--with-tor-browser-version=${version}"
"--with-tor-browser-version=${tbversion}"
"--enable-signmar"
"--enable-verify-mar"
# We opt out of TorBrowser's nspr because that patch is useless on
# anything but Windows and produces zero fingerprinting
# possibilities on other platforms.
# Lets save some space instead.
"--with-system-nspr"
] ++ flag geolocationSupport "mozril-geoloc"
++ flag safeBrowsingSupport "safe-browsing"
)
])
++ flag alsaSupport "alsa"
++ flag pulseaudioSupport "pulseaudio"
@ -226,6 +224,11 @@ stdenv.mkDerivation (rec {
++ flag crashreporterSupport "crashreporter"
++ lib.optional drmSupport "--enable-eme=widevine"
++ lib.optionals (lib.versionOlder ffversion "60") ([]
++ flag geolocationSupport "mozril-geoloc"
++ flag safeBrowsingSupport "safe-browsing"
)
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
else [ "--disable-debug" "--enable-release"
"--enable-optimize"
@ -239,11 +242,11 @@ stdenv.mkDerivation (rec {
# top level and then run `make` in obj-*. (We can also run the
# `make` at the top level in 58, but then we would have to `cd` to
# `make install` anyway. This is ugly, but simple.)
postConfigure = lib.optionalString (lib.versionAtLeast version "58") ''
postConfigure = lib.optionalString (lib.versionAtLeast ffversion "58") ''
cd obj-*
'';
preBuild = lib.optionalString (enableOfficialBranding && isTorBrowserLike) ''
preBuild = lib.optionalString isTorBrowserLike ''
buildFlagsArray=("MOZ_APP_DISPLAYNAME=Tor Browser")
'';
@ -302,4 +305,4 @@ stdenv.mkDerivation (rec {
inherit browserName;
} // lib.optionalAttrs gtk3Support { inherit gtk3; };
} // overrides)
}

View File

@ -2,16 +2,22 @@
let
common = opts: callPackage (import ./common.nix opts);
common = opts: callPackage (import ./common.nix opts) {};
nixpkgsPatches = [
./env_var_for_system_dir.patch
];
firefox60_aarch64_skia_patch = fetchpatch {
name = "aarch64-skia.patch";
url = https://src.fedoraproject.org/rpms/firefox/raw/8cff86d95da3190272d1beddd45b41de3148f8ef/f/build-aarch64-skia.patch;
sha256 = "11acb0ms4jrswp7268nm2p8g8l4lv8zc666a5bqjbb09x9k6b78k";
name = "aarch64-skia.patch";
url = https://src.fedoraproject.org/rpms/firefox/raw/8cff86d95da3190272d1beddd45b41de3148f8ef/f/build-aarch64-skia.patch;
sha256 = "11acb0ms4jrswp7268nm2p8g8l4lv8zc666a5bqjbb09x9k6b78k";
};
firefox60_triplet_patch = fetchpatch {
name = "triplet.patch";
url = https://hg.mozilla.org/releases/mozilla-release/raw-rev/bc651d3d910c;
sha256 = "0iybkadsgsf6a3pq3jh8z1p110vmpkih8i35jfj8micdkhxzi89g";
};
in
@ -20,9 +26,9 @@ rec {
firefox = common rec {
pname = "firefox";
version = "62.0.3";
ffversion = "62.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "0kvb664s47bmmdq2ppjsnyqy8yaiig1xj81r25s36c3i8igfq3zxvws10k2dlmmmrwyc5k4g9i9imgkxj7r3xwwqxc72dl429wvfys8";
};
@ -42,13 +48,13 @@ rec {
updateScript = callPackage ./update.nix {
attrPath = "firefox-unwrapped";
};
} {};
};
firefox-esr-52 = common rec {
pname = "firefox-esr";
version = "52.9.0esr";
ffversion = "52.9.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9";
};
@ -64,15 +70,15 @@ rec {
};
updateScript = callPackage ./update.nix {
attrPath = "firefox-esr-52-unwrapped";
versionSuffix = "esr";
ffversionSuffix = "esr";
};
} {};
};
firefox-esr-60 = common rec {
pname = "firefox-esr";
version = "60.2.2esr";
ffversion = "60.2.2esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "2h2naaxx4lv90bjpcrsma4sdhl4mvsisx3zi09vakjwv2lad91gy41cmcpqprpcbsmlvpqf8yiv52ah4d02a8d9335xhw2ajw6asjc1";
};
@ -91,23 +97,27 @@ rec {
attrPath = "firefox-esr-60-unwrapped";
versionSuffix = "esr";
};
} {};
};
} // (let
commonAttrs = {
overrides = {
unpackPhase = ''
# fetchFromGitHub produces ro sources, root dir gets a name that
# is too long for shebangs. fixing
cp -a $src tor-browser
chmod -R +w tor-browser
cd tor-browser
tbcommon = args: common (args // {
pname = "tor-browser";
isTorBrowserLike = true;
# set times for xpi archives
find . -exec touch -d'2010-01-01 00:00' {} \;
'';
};
unpackPhase = ''
# fetchFromGitHub produces ro sources, root dir gets a name that
# is too long for shebangs. fixing
cp -a $src tor-browser
chmod -R +w tor-browser
cd tor-browser
# set times for xpi archives
find . -exec touch -d'2010-01-01 00:00' {} \;
'';
patches = nixpkgsPatches
++ lib.optional (args.tbversion == "8.0.2") firefox60_triplet_patch;
meta = {
description = "A web browser built from TorBrowser source tree";
@ -142,14 +152,13 @@ rec {
platforms = lib.platforms.linux;
license = lib.licenses.bsd3;
};
};
});
in rec {
tor-browser-7-5 = common (rec {
pname = "tor-browser";
version = "7.5.6";
isTorBrowserLike = true;
tor-browser-7-5 = (tbcommon rec {
ffversion = "52.9.0esr";
tbversion = "7.5.6";
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
src = fetchFromGitHub {
@ -159,27 +168,24 @@ in rec {
rev = "95bb92d552876a1f4260edf68fda5faa3eb36ad8";
sha256 = "1ykn3yg4s36g2cpzxbz7s995c33ij8kgyvghx38z4i8siaqxdddy";
};
}).override {
gtk3Support = false;
};
patches = nixpkgsPatches;
} // commonAttrs) {};
tor-browser-8-0 = common (rec {
pname = "tor-browser";
version = "8.0.1";
isTorBrowserLike = true;
tor-browser-8-0 = tbcommon rec {
ffversion = "60.2.1esr";
tbversion = "8.0.2";
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
src = fetchFromGitHub {
owner = "SLNOS";
repo = "tor-browser";
# branch "tor-browser-52.8.0esr-8.0-1-slnos";
rev = "5d7e9e1cacbf70840f8f1a9aafe99f354f9ad0ca";
sha256 = "0cwxwwc4m7331bbp3id694ffwxar0j5kfpgpn9l1z36rmgv92n21";
# branch "tor-browser-60.2.1esr-8.0-1-slnos"
rev = "4f71403a3e6203baa349a8f81d8664782c5ea548";
sha256 = "0zxdi162gpnfca7g77hc0rw4wkmxhfzp9hfmw6dpn97d5kn1zqq3";
};
};
patches = nixpkgsPatches;
} // commonAttrs) {};
tor-browser = tor-browser-7-5;
tor-browser = tor-browser-8-0;
})

View File

@ -103,7 +103,7 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "8.0.2";
version = "8.0.3";
lang = "en-US";
@ -113,7 +113,7 @@ let
"https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
];
sha256 = "1vajphnl53bhp0bnq8shljvnnq4k2wpvfrfclmxklp97lqvfl9vz";
sha256 = "19clhhsyhc8brjzjyrq0xl5gavwhbyq036nbl0x6dybawr3684gz";
};
"i686-linux" = fetchurl {
@ -121,7 +121,7 @@ let
"https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
];
sha256 = "157yd8n53w79xx58xf5v983a50xq1s0c09cr7qfd5cxgs7zrwh34";
sha256 = "1hlrbn8r9z93mswnaksn66azgf3zjf08wrlk58risli32j9gywd0";
};
};
in

View File

@ -0,0 +1,25 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "cloudflared-${version}";
version = "2018.10.3";
goPackagePath = "github.com/cloudflare/cloudflared";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = "41916365b689bf2cc1446ea5717e4d26cc8aed43"; # untagged
sha256 = "109bhnmvlvj3ag9vw090fy202z8aaqr1rakhn8v550wwy30h9zkf";
};
goDeps = ./deps.nix;
meta = with stdenv.lib; {
description = "CloudFlare Argo Tunnel daemon (and DNS-over-HTTPS client)";
homepage = https://www.cloudflare.com/products/argo-tunnel;
license = licenses.unfree;
platforms = platforms.unix;
maintainers = [ maintainers.thoughtpolice ];
};
}

View File

@ -0,0 +1,444 @@
# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
[
{
goPackagePath = "github.com/BurntSushi/toml";
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "b26d9c308763d68093482582cea63d69be07a0f0";
sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry";
};
}
{
goPackagePath = "github.com/beorn7/perks";
fetch = {
type = "git";
url = "https://github.com/beorn7/perks";
rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
};
}
{
goPackagePath = "github.com/certifi/gocertifi";
fetch = {
type = "git";
url = "https://github.com/certifi/gocertifi";
rev = "deb3ae2ef2610fde3330947281941c562861188b";
sha256 = "1xy09y1fdfcny1z09hd4493w1acj5min9z2sx4gfpshc80icrmr6";
};
}
{
goPackagePath = "github.com/cloudflare/brotli-go";
fetch = {
type = "git";
url = "https://github.com/cloudflare/brotli-go";
rev = "18c9f6c67e3dfc12e0ddaca748d2887f97a7ac28";
sha256 = "10112y4k8qing552n0df9w33cgminrzm6g3x7ng0vgin4sv59785";
};
}
{
goPackagePath = "github.com/coredns/coredns";
fetch = {
type = "git";
url = "https://github.com/coredns/coredns";
rev = "992e7928c7c258628d2b13b769acc86781b9faea";
sha256 = "0mvlkca11ikwzii0p7g5a2z3gn1xrp7qmmjwklp4i52lbnsawzv0";
};
}
{
goPackagePath = "github.com/coreos/go-oidc";
fetch = {
type = "git";
url = "https://github.com/coreos/go-oidc";
rev = "a93f71fdfe73d2c0f5413c0565eea0af6523a6df";
sha256 = "00pmmky0y9a9l767xn16xlf52h81j4869n6j0xql79rybp6xc1f3";
};
}
{
goPackagePath = "github.com/coreos/go-systemd";
fetch = {
type = "git";
url = "https://github.com/coreos/go-systemd";
rev = "39ca1b05acc7ad1220e09f133283b8859a8b71ab";
sha256 = "1kzqrrzqspa5qm7kwslxl3m16lqzns23c24rv474ajzwmj3ixmx1";
};
}
{
goPackagePath = "github.com/coreos/pkg";
fetch = {
type = "git";
url = "https://github.com/coreos/pkg";
rev = "97fdf19511ea361ae1c100dd393cc47f8dcfa1e1";
sha256 = "1srn87wih25l09f75483hnxsr8fc6rq3bk7w1x8125ym39p6mg21";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "346938d642f2ec3594ed81d874461961cd0faa76";
sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
};
}
{
goPackagePath = "github.com/elgs/gosqljson";
fetch = {
type = "git";
url = "https://github.com/elgs/gosqljson";
rev = "027aa4915315a0b2825c0f025cea347829b974fa";
sha256 = "14i45m1y505acvsk4l725bp8p9w3mcg49khz9hxkzg3afg7nc5gq";
};
}
{
goPackagePath = "github.com/equinox-io/equinox";
fetch = {
type = "git";
url = "https://github.com/equinox-io/equinox";
rev = "f24972fa72facf59d05c91c848b65eac38815915";
sha256 = "1d3620g1kxyzn8b3py2471qp8ssyzm1qnpbap9gxrmg8912wiww1";
};
}
{
goPackagePath = "github.com/facebookgo/grace";
fetch = {
type = "git";
url = "https://github.com/facebookgo/grace";
rev = "75cf19382434e82df4dd84953f566b8ad23d6e9e";
sha256 = "15chyvgv5y59w9x2asm0vh29cmmcji7f5vxvv8gqcr15nkyi61q0";
};
}
{
goPackagePath = "github.com/flynn/go-shlex";
fetch = {
type = "git";
url = "https://github.com/flynn/go-shlex";
rev = "3f9db97f856818214da2e1057f8ad84803971cff";
sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia";
};
}
{
goPackagePath = "github.com/getsentry/raven-go";
fetch = {
type = "git";
url = "https://github.com/getsentry/raven-go";
rev = "ed7bcb39ff10f39ab08e317ce16df282845852fa";
sha256 = "0pqggcjbia9sidxqxnyd5z5k44iswxaqss3qvkka8bfm082kczij";
};
}
{
goPackagePath = "github.com/golang-collections/collections";
fetch = {
type = "git";
url = "https://github.com/golang-collections/collections";
rev = "604e922904d35e97f98a774db7881f049cd8d970";
sha256 = "04g0xc1bs4aphc2rcj9knah2shmck500qagnazy4mg052b84ggwm";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
};
}
{
goPackagePath = "github.com/google/uuid";
fetch = {
type = "git";
url = "https://github.com/google/uuid";
rev = "064e2069ce9c359c118179501254f67d7d37ba24";
sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb";
};
}
{
goPackagePath = "github.com/gorilla/context";
fetch = {
type = "git";
url = "https://github.com/gorilla/context";
rev = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42";
sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
};
}
{
goPackagePath = "github.com/gorilla/mux";
fetch = {
type = "git";
url = "https://github.com/gorilla/mux";
rev = "e3702bed27f0d39777b0b37b664b6280e8ef8fbf";
sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2";
};
}
{
goPackagePath = "github.com/gorilla/websocket";
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b";
sha256 = "1bhgs2542qs49p1dafybqxfs2qc072xv41w5nswyrknwyjxxs2a1";
};
}
{
goPackagePath = "github.com/grpc-ecosystem/grpc-opentracing";
fetch = {
type = "git";
url = "https://github.com/grpc-ecosystem/grpc-opentracing";
rev = "8e809c8a86450a29b90dcc9efbf062d0fe6d9746";
sha256 = "1yz3gxhdipmi63n32y5srwx7p254k3fm8y64cimkb1gz7sw99nxw";
};
}
{
goPackagePath = "github.com/jonboulle/clockwork";
fetch = {
type = "git";
url = "https://github.com/jonboulle/clockwork";
rev = "2eee05ed794112d45db504eb05aa693efd2b8b09";
sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl";
};
}
{
goPackagePath = "github.com/lib/pq";
fetch = {
type = "git";
url = "https://github.com/lib/pq";
rev = "90697d60dd844d5ef6ff15135d0203f65d2f53b8";
sha256 = "0hb4bfsk8g5473yzbf3lzrb373xicakjznkf0v085xgimz991i9r";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39";
sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
};
}
{
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
fetch = {
type = "git";
url = "https://github.com/matttproud/golang_protobuf_extensions";
rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
};
}
{
goPackagePath = "github.com/mholt/caddy";
fetch = {
type = "git";
url = "https://github.com/mholt/caddy";
rev = "d3b731e9255b72d4571a5aac125634cf1b6031dc";
sha256 = "1183cfaryw7m3hvngzv87w80pc9vp3369sjyz7a0dlbr39jip1r0";
};
}
{
goPackagePath = "github.com/miekg/dns";
fetch = {
type = "git";
url = "https://github.com/miekg/dns";
rev = "5a2b9fab83ff0f8bfc99684bd5f43a37abe560f1";
sha256 = "1vmgkpmwlqg6pwrpvjbn4h4al6af5fjvwwnacyv18hvlfd3fyfmx";
};
}
{
goPackagePath = "github.com/mitchellh/go-homedir";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-homedir";
rev = "3864e76763d94a6df2f9960b16a20a33da9f9a66";
sha256 = "1n8vya16l60i5jms43yb8fzdgwvqa2q926p5wkg3lbrk8pxy1nv0";
};
}
{
goPackagePath = "github.com/opentracing/opentracing-go";
fetch = {
type = "git";
url = "https://github.com/opentracing/opentracing-go";
rev = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38";
sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "645ef00459ed84a119197bfb8d8205042c6df63d";
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "792786c7400a136282c1664665ae0a8db921c6c2";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/prometheus/client_golang";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_golang";
rev = "967789050ba94deca04a5e84cce8ad472ce313c1";
sha256 = "1djwz6shmyx5kbp9b1pim3kncq2jwn3qhbx4b0b4lq7msww76hpz";
};
}
{
goPackagePath = "github.com/prometheus/client_model";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_model";
rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
};
}
{
goPackagePath = "github.com/prometheus/common";
fetch = {
type = "git";
url = "https://github.com/prometheus/common";
rev = "7600349dcfe1abd18d72d3a1770870d9800a7801";
sha256 = "0lsp94dqpj35dny4m4x15kg4wgwawlm3in7cnpajkkacgyxagk5f";
};
}
{
goPackagePath = "github.com/prometheus/procfs";
fetch = {
type = "git";
url = "https://github.com/prometheus/procfs";
rev = "ae68e2d4c00fed4943b5f6698d504a5fe083da8a";
sha256 = "04sar4k99w8nvq3kwx6chz0mbp4s6xfjfxww7aqfd950xgs2jv5f";
};
}
{
goPackagePath = "github.com/rifflock/lfshook";
fetch = {
type = "git";
url = "https://github.com/rifflock/lfshook";
rev = "bf539943797a1f34c1f502d07de419b5238ae6c6";
sha256 = "0hns4zidw8g3s5l9dyl894fnyjr0a5xgdvx26rnal9jrn4n6z835";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc";
sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686";
sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "a49355c7e3f8fe157a85be2f77e6e269a0f89602";
sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "32a936f46389aa10549d60bd7833e54b01685d09";
sha256 = "0f24khgx6s7idpnmwgkml4qyrqwkvdjd18aapn5rmybyhmrb57j7";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://go.googlesource.com/sync";
rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca";
sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "ce36f3865eeb42541ce3f87f32f8462c5687befa";
sha256 = "0dkmxn48l9g7w1247c473qlacfkfp8wyan54k9cbi79icdp65jja";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
};
}
{
goPackagePath = "google.golang.org/genproto";
fetch = {
type = "git";
url = "https://github.com/google/go-genproto";
rev = "ff3583edef7de132f219f0efc00e097cabcc0ec0";
sha256 = "0bpzxk85fgvznmdf9356nzh8riqhwzcil9r2a955rbfn27lh4lmy";
};
}
{
goPackagePath = "google.golang.org/grpc";
fetch = {
type = "git";
url = "https://github.com/grpc/grpc-go";
rev = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8";
sha256 = "0d8vj372ri55mrqfc0rhjl3albp5ykwfjhda1s5cgm5n40v70pr3";
};
}
{
goPackagePath = "gopkg.in/urfave/cli.v2";
fetch = {
type = "git";
url = "https://github.com/cbranch/cli";
rev = "d604b6ffeee878fbf084fd2761466b6649989cee";
sha256 = "16csqipw5vrbb91m9w9g72jlxlrhcyxa79fz6fjp6803znmjdpk2";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://github.com/go-yaml/yaml";
rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
};
}
{
goPackagePath = "zombiezen.com/go/capnproto2";
fetch = {
type = "git";
url = "https://github.com/zombiezen/go-capnproto2";
rev = "7cfd211c19c7f5783c695f3654efa46f0df259c3";
sha256 = "0nzw3g8xpxyzwqqv3ja0iznd0j18l1rwagwhf9sinwdjjgmh51sy";
};
}
]

View File

@ -2,22 +2,21 @@
stdenv.mkDerivation rec {
name = "pidgin-opensteamworks-${version}";
version = "1.6.1";
version = "unstable-2018-08-02";
src = fetchFromGitHub {
owner = "EionRobb";
repo = "pidgin-opensteamworks";
rev = "${version}";
sha256 = "6ab27831e454ad3b440e4f06b52e0b3671a4f8417ba4da3ab6f56c56d82cc29b";
rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
};
preConfigure = "cd steam-mobile";
postInstall = ''
mkdir -p $out/lib/purple-2
mkdir -p $out/share/pixmaps/pidgin/protocols/
cp libsteam.so $out/lib/purple-2/
unzip releases/icons.zip -d $out/share/pixmaps/pidgin/protocols/
'';
installFlags = [
"DESTDIR=$(out)"
"PLUGIN_DIR_PURPLE=/lib/purple-2"
"DATA_ROOT_DIR_PURPLE=/share"
];
buildInputs = [ pidgin unzip glib json-glib nss nspr libgnome-keyring ];

View File

@ -56,11 +56,11 @@ let
in stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.16.3";
version = "1.17.0";
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1fhs3408i8f80z5rlchrc3gwm0481rxqb5jk37gb8ip94zf97hsf";
sha256 = "0daxp8ychvvr4lqz8wni8lkalk3w409pzwnikvf92f1whxs76xj0";
};
phases = [ "unpackPhase" "installPhase" ];

View File

@ -6,7 +6,7 @@ with stdenv.lib;
let
bits = "x86_64";
version = "4.3.0";
version = "4.4.0";
desktopItem = makeDesktopItem rec {
name = "Wavebox";
@ -23,7 +23,7 @@ in stdenv.mkDerivation rec {
name = "wavebox-${version}";
src = fetchurl {
url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
sha256 = "0kdg5q9rv8nxlg5jhmdfy5vv7gkdswzhy49af29d3zf57z69187c";
sha256 = "0g77clrxks1ivldq496bg14hv57hm0kjh4g1askxyck69yf8illn";
};
# don't remove runtime deps

View File

@ -6,7 +6,7 @@
, asciidoctor # manpages
, guileSupport ? true, guile
, luaSupport ? true, lua5
, perlSupport ? true, perl
, perlSupport ? true, perl, perlPackages
, pythonSupport ? true, pythonPackages
, rubySupport ? true, ruby
, tclSupport ? true, tcl
@ -108,6 +108,12 @@ in if configure == null then weechat else
extraEnv = ''
export PATH="${perlInterpreter}/bin:$PATH"
'';
withPackages = pkgsFun: (perl // {
extraEnv = ''
${perl.extraEnv}
export PERL5LIB=${lib.makeFullPerlPath (pkgsFun perlPackages)}
'';
});
};
tcl = simplePlugin "tcl";
ruby = simplePlugin "ruby";

View File

@ -118,12 +118,21 @@ let
sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
};
# Fix compile error against boost 1.66 (#33655):
patches = singleton (fetchpatch {
url = "https://github.com/mumble-voip/mumble/commit/"
+ "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
});
patches = [
# Fix compile error against boost 1.66 (#33655):
(fetchpatch {
url = "https://github.com/mumble-voip/mumble/commit/"
+ "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
})
# Fixes hang on reconfiguring audio (often including startup)
# https://github.com/mumble-voip/mumble/pull/3418
(fetchpatch {
url = "https://github.com/mumble-voip/mumble/commit/"
+ "fbbdf2e8ab7d93ed6f7680268ad0689b7eaa71ad.patch";
sha256 = "1yhj62mlwm6q42i4aclbia645ha97d3j4ycxhgafr46dbjs0gani";
})
];
};
gitSource = rec {

View File

@ -2,14 +2,14 @@
python2Packages.buildPythonApplication rec {
pname = "zeronet";
version = "0.6.2";
version = "0.6.4";
format = "other";
src = fetchFromGitHub {
owner = "HelloZeroNet";
repo = "ZeroNet";
rev = "v${version}";
sha256 = "0v19jjirkyv8hj2yfdj0c40zwynn51h2bj4issn5blr95vhfm8s7";
sha256 = "04mpnkx0pbvcfjs337f0ajabdbh6h0gypnaz6n395avkf8r1g4c3";
};
propagatedBuildInputs = with python2Packages; [ msgpack gevent ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, qmake, qtsvg }:
{ stdenv, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
let
version = "1.43.27";
@ -9,7 +9,7 @@ in stdenv.mkDerivation rec {
sha256 = "1gzr11jy1bvnp28w2ar3wmh76g55jn9nra5la5qasnal6b5pg28h";
};
nativeBuildInputs = [ qmake ];
nativeBuildInputs = [ qmake makeWrapper ];
buildInputs = [ qtsvg ];
hardeningDisable = [ "format" ];
@ -23,6 +23,11 @@ in stdenv.mkDerivation rec {
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
'';
postFixup = ''
wrapProgram $out/bin/mytetra \
--prefix PATH : ${xdg_utils}/bin
'';
meta = with stdenv.lib; {
description = "Smart manager for information collecting";
homepage = https://webhamster.ru/site/page/index/articles/projectcode/138;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "star-${version}";
version = "2.6.1a";
version = "2.6.1c";
src = fetchFromGitHub {
repo = "STAR";
owner = "alexdobin";
rev = version;
sha256 = "11zs32d96gpjldrylz3nr5r2qrshf0nmzh5nmcy4wrk7y5lz81xc";
sha256 = "0macdbxa0v5xplag83fpdhfpyhnqncmi9wf9r92wa7w8zkln12vd";
};
sourceRoot = "source/source";

View File

@ -1,5 +1,13 @@
{ stdenv, lib, fetchFromGitHub, alex, happy, Agda, agdaIowaStdlib,
buildPlatform, buildPackages, ghcWithPackages }:
buildPlatform, buildPackages, ghcWithPackages, fetchpatch }:
let
options-patch =
fetchpatch {
url = https://github.com/cedille/cedille/commit/ee62b0fabde6c4f7299a3778868519255cc4a64f.patch;
name = "options.patch";
sha256 = "19xzn9sqpfnfqikqy1x9lb9mb6722kbgvrapl6cf8ckcw8cfj8cz";
};
in
stdenv.mkDerivation rec {
version = "1.0.0";
name = "cedille-${version}";
@ -11,6 +19,8 @@ stdenv.mkDerivation rec {
};
buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ];
patches = [options-patch];
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE =
lib.optionalString (buildPlatform.libc == "glibc")
@ -22,9 +32,12 @@ stdenv.mkDerivation rec {
chmod -R 755 ial
'';
outputs = ["out" "lib"];
installPhase = ''
mkdir -p $out/bin
mv cedille $out/bin/cedille
mv lib $lib
'';
meta = {

View File

@ -0,0 +1,35 @@
From 8218bd4fdeb4c92de8af0d3aabec55980fc4fb3d Mon Sep 17 00:00:00 2001
From: Timo Kaufmann <timokau@zoho.com>
Date: Sun, 21 Oct 2018 17:52:40 +0200
Subject: [PATCH] Only test py2/py3 optional tests when all of sage is tested
---
src/sage/doctest/control.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
index bf18df8b2b..935c67abf7 100644
--- a/src/sage/doctest/control.py
+++ b/src/sage/doctest/control.py
@@ -362,7 +362,8 @@ class DocTestController(SageObject):
if not optionaltag_regex.search(o):
raise ValueError('invalid optional tag {!r}'.format(o))
- options.optional |= auto_optional_tags
+ if "sage" in options.optional:
+ options.optional |= auto_optional_tags
self.options = options
@@ -765,7 +766,7 @@ class DocTestController(SageObject):
sage: DC = DocTestController(DD, [dirname])
sage: DC.expand_files_into_sources()
sage: sorted(DC.sources[0].options.optional) # abs tol 1
- ['guava', 'magma', 'py2']
+ ['guava', 'magma']
We check that files are skipped appropriately::
--
2.18.1

View File

@ -0,0 +1,71 @@
commit f1c59929c3c180ac283334c2b3c901ac8c82f6b1
Author: Timo Kaufmann <timokau@zoho.com>
Date: Sat Oct 20 20:07:41 2018 +0200
Revert "Something related to the sphinxbuild seems to be leaking memory"
This reverts commit 7d85dc796c58c3de57401bc22d3587b94e205091.
diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
index 0b24b1a60b..084c3f89d7 100644
--- a/src/sage_setup/docbuild/__init__.py
+++ b/src/sage_setup/docbuild/__init__.py
@@ -265,29 +265,35 @@ class DocBuilder(object):
# import the customized builder for object.inv files
inventory = builder_helper('inventory')
-def build_many(target, args):
- # Pool() uses an actual fork() to run each new instance. This is important
- # for performance reasons, i.e., don't use a forkserver when it becomes
- # available with Python 3: Here, sage is already initialized which is quite
- # costly, with a forkserver we would have to reinitialize it for every
- # document we build. At the same time, don't serialize this by taking the
- # pool (and thus the call to fork()) out completely: The call to Sphinx
- # leaks memory, so we need to build each document in its own process to
- # control the RAM usage.
- from multiprocessing import Pool
- pool = Pool(NUM_THREADS, maxtasksperchild=1)
- # map_async handles KeyboardInterrupt correctly. Plain map and
- # apply_async does not, so don't use it.
- x = pool.map_async(target, args, 1)
- try:
- ret = x.get(99999)
- pool.close()
- pool.join()
- except Exception:
- pool.terminate()
- if ABORT_ON_ERROR:
- raise
- return ret
+if NUM_THREADS > 1:
+ def build_many(target, args):
+ from multiprocessing import Pool
+ pool = Pool(NUM_THREADS, maxtasksperchild=1)
+ # map_async handles KeyboardInterrupt correctly. Plain map and
+ # apply_async does not, so don't use it.
+ x = pool.map_async(target, args, 1)
+ try:
+ ret = x.get(99999)
+ pool.close()
+ pool.join()
+ except Exception:
+ pool.terminate()
+ if ABORT_ON_ERROR:
+ raise
+ return ret
+else:
+ def build_many(target, args):
+ results = []
+
+ for arg in args:
+ try:
+ results.append(target(arg))
+ except Exception:
+ if ABORT_ON_ERROR:
+ raise
+
+ return results
+
##########################################
# Parallel Building Ref Manual #

View File

@ -27,6 +27,16 @@ stdenv.mkDerivation rec {
# https://trac.sagemath.org/ticket/25316
# https://github.com/python/cpython/pull/7476
./patches/python-5755-hotpatch.patch
# Revert the commit that made the sphinx build fork even in the single thread
# case. For some yet unknown reason, that breaks the docbuild on nix and archlinux.
# See https://groups.google.com/forum/#!msg/sage-packaging/VU4h8IWGFLA/mrmCMocYBwAJ.
./patches/revert-sphinx-always-fork.patch
# Make sure py2/py3 tests are only run when their expected context (all "sage"
# tests) are also run. That is necessary to test dochtml individually. See
# https://trac.sagemath.org/ticket/26110 for an upstream discussion.
./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
];
packageUpgradePatches = [

View File

@ -57,6 +57,8 @@ let
git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { };
git-bug = callPackage ./git-bug { };
# support for bugzilla
git-bz = callPackage ./git-bz { };

View File

@ -0,0 +1,32 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "git-bug-${version}";
version = "0.4.0";
rev = "2ab2412771d58a1b1f3bfeb5a6e9da2e683b0e12";
goPackagePath = "github.com/MichaelMure/git-bug";
src = fetchFromGitHub {
inherit rev;
owner = "MichaelMure";
repo = "git-bug";
sha256 = "1zyvyg0p5h71wvyxrzkr1bwddxm3x8p44n6wh9ccfdxp8d2k6k25";
};
goDeps = ./deps.nix;
postInstall = ''
cd go/src/${goPackagePath}
install -D -m 0644 misc/bash_completion/git-bug "$bin/etc/bash_completion.d/git-bug"
install -D -m 0644 misc/zsh_completion/git-bug "$bin/share/zsh/site-functions/git-bug"
install -D -m 0644 -t "$bin/share/man/man1" doc/man/*
'';
meta = with stdenv.lib; {
description = "Distributed bug tracker embedded in Git";
homepage = https://github.com/MichaelMure/git-bug;
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ royneary ];
};
}

View File

@ -0,0 +1,417 @@
# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
[
{
goPackagePath = "github.com/99designs/gqlgen";
fetch = {
type = "git";
url = "https://github.com/99designs/gqlgen";
rev = "636435b68700211441303f1a5ed92f3768ba5774";
sha256 = "0d4sr6kpyn3zq3kpvk8lizy7hdpcw3fjmv7fbv2m1k9w8fzjawrz";
};
}
{
goPackagePath = "github.com/agnivade/levenshtein";
fetch = {
type = "git";
url = "https://github.com/agnivade/levenshtein";
rev = "3d21ba515fe27b856f230847e856431ae1724adc";
sha256 = "0dym3k3ycsj0zj0p4dhdp7gd2hm7c7pyh2wii1mdbmpdyipy99cd";
};
}
{
goPackagePath = "github.com/cheekybits/genny";
fetch = {
type = "git";
url = "https://github.com/cheekybits/genny";
rev = "9127e812e1e9e501ce899a18121d316ecb52e4ba";
sha256 = "1z57ga9c2sjnl5ngqgb1ap0zqv36sk0rarm02bbbkipz4m9yabjg";
};
}
{
goPackagePath = "github.com/corpix/uarand";
fetch = {
type = "git";
url = "https://github.com/corpix/uarand";
rev = "2b8494104d86337cdd41d0a49cbed8e4583c0ab4";
sha256 = "06ml5m8l9wbr96gvyg6z1syawn797f8kmq74nhgry3vqpngyb6yn";
};
}
{
goPackagePath = "github.com/cpuguy83/go-md2man";
fetch = {
type = "git";
url = "https://github.com/cpuguy83/go-md2man";
rev = "20f5889cbdc3c73dbd2862796665e7c465ade7d1";
sha256 = "1w22dfdamsq63b5rvalh9k2y7rbwfkkjs7vm9vd4a13h2ql70lg2";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/dustin/go-humanize";
fetch = {
type = "git";
url = "https://github.com/dustin/go-humanize";
rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
};
}
{
goPackagePath = "github.com/fatih/color";
fetch = {
type = "git";
url = "https://github.com/fatih/color";
rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
};
}
{
goPackagePath = "github.com/go-test/deep";
fetch = {
type = "git";
url = "https://github.com/go-test/deep";
rev = "6592d9cc0a499ad2d5f574fde80a2b5c5cc3b4f5";
sha256 = "0f4rbdl6qmlq4bzh0443i634bm675bbrkyzwp8wkc1yhdl9qsij7";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "aa810b61a9c79d51363740d207bb46cf8e620ed5";
sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
};
}
{
goPackagePath = "github.com/google/go-cmp";
fetch = {
type = "git";
url = "https://github.com/google/go-cmp";
rev = "3af367b6b30c263d47e8895973edcca9a49cf029";
sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
};
}
{
goPackagePath = "github.com/gorilla/context";
fetch = {
type = "git";
url = "https://github.com/gorilla/context";
rev = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42";
sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
};
}
{
goPackagePath = "github.com/gorilla/mux";
fetch = {
type = "git";
url = "https://github.com/gorilla/mux";
rev = "e3702bed27f0d39777b0b37b664b6280e8ef8fbf";
sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2";
};
}
{
goPackagePath = "github.com/gorilla/websocket";
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b";
sha256 = "1bhgs2542qs49p1dafybqxfs2qc072xv41w5nswyrknwyjxxs2a1";
};
}
{
goPackagePath = "github.com/hashicorp/golang-lru";
fetch = {
type = "git";
url = "https://github.com/hashicorp/golang-lru";
rev = "20f1fb78b0740ba8c3cb143a61e86ba5c8669768";
sha256 = "12k2cp2k615fjvfa5hyb9k2alian77wivds8s65diwshwv41939f";
};
}
{
goPackagePath = "github.com/icrowley/fake";
fetch = {
type = "git";
url = "https://github.com/icrowley/fake";
rev = "4178557ae428460c3780a381c824a1f3aceb6325";
sha256 = "1mv4bxfphaqbvacy49v4lf4gf2nmadzpmjq0jbdx93wi5bnkc977";
};
}
{
goPackagePath = "github.com/inconshreveable/mousetrap";
fetch = {
type = "git";
url = "https://github.com/inconshreveable/mousetrap";
rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
};
}
{
goPackagePath = "github.com/jroimartin/gocui";
fetch = {
type = "git";
url = "https://github.com/jroimartin/gocui";
rev = "c055c87ae801372cd74a0839b972db4f7697ae5f";
sha256 = "1b1cbjg925l1c5v3ls8amni9716190yzf847cqs9wjnj82z8qa47";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39";
sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n";
};
}
{
goPackagePath = "github.com/mattn/go-runewidth";
fetch = {
type = "git";
url = "https://github.com/mattn/go-runewidth";
rev = "9e777a8366cce605130a531d2cd6363d07ad7317";
sha256 = "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb";
};
}
{
goPackagePath = "github.com/mitchellh/mapstructure";
fetch = {
type = "git";
url = "https://github.com/mitchellh/mapstructure";
rev = "fa473d140ef3c6adf42d6b391fe76707f1f243c8";
sha256 = "0f06q4fpzg0c370cvmpsl0iq2apl5nkbz5cd3nba5x5ysmshv1lm";
};
}
{
goPackagePath = "github.com/nsf/termbox-go";
fetch = {
type = "git";
url = "https://github.com/nsf/termbox-go";
rev = "5c94acc5e6eb520f1bcd183974e01171cc4c23b3";
sha256 = "1fi8imdgwvlsgifw2qfl3ww0lsrgkfsimkzz7bnrq41nar78s0fw";
};
}
{
goPackagePath = "github.com/phayes/freeport";
fetch = {
type = "git";
url = "https://github.com/phayes/freeport";
rev = "b8543db493a5ed890c5499e935e2cad7504f3a04";
sha256 = "1gwaan8fwmc5lfx4dzymq0jd6z2l1frg83jkmjpm4kw8ay4vr11q";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "645ef00459ed84a119197bfb8d8205042c6df63d";
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "792786c7400a136282c1664665ae0a8db921c6c2";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/russross/blackfriday";
fetch = {
type = "git";
url = "https://github.com/russross/blackfriday";
rev = "55d61fa8aa702f59229e6cff85793c22e580eaf5";
sha256 = "0qmavm5d14kj6im6sqzpqnlhpy524428vkn4hnfwknndr9rycmn0";
};
}
{
goPackagePath = "github.com/shurcooL/githubv4";
fetch = {
type = "git";
url = "https://github.com/shurcooL/githubv4";
rev = "b5f70540eee0ebfb6a27b52fc5b131be76415539";
sha256 = "0hrjk16l8jwkhrbzcasp4dflv6hl24hcc4q2md5rn6i8f73dl18h";
};
}
{
goPackagePath = "github.com/shurcooL/go";
fetch = {
type = "git";
url = "https://github.com/shurcooL/go";
rev = "9e1955d9fb6e1ee2345ba1f5e71669263e719e27";
sha256 = "1lad9bvs75jsn61cfza19739c2c057k0bqxg2b4xz3z3l4w1mkqj";
};
}
{
goPackagePath = "github.com/shurcooL/graphql";
fetch = {
type = "git";
url = "https://github.com/shurcooL/graphql";
rev = "365899397c9ad12805631fe4c9b2a64be9d74818";
sha256 = "10n4id76zpj5g4hr1ry8d9v5cvm039rygrpgdk4ygk198vhr0gwm";
};
}
{
goPackagePath = "github.com/shurcooL/httpfs";
fetch = {
type = "git";
url = "https://github.com/shurcooL/httpfs";
rev = "809beceb23714880abc4a382a00c05f89d13b1cc";
sha256 = "1hvj5q5kjw83z7f77y03fqfg7fps7pqj2cj2c38x752m0pq4j2w3";
};
}
{
goPackagePath = "github.com/shurcooL/vfsgen";
fetch = {
type = "git";
url = "https://github.com/shurcooL/vfsgen";
rev = "62bca832be04bd2bcaabd3b68a6b19a7ec044411";
sha256 = "1lh8sw7qxs43jj8k9pfn91kfy2033p3il9bcb63whz8zhqw2a16y";
};
}
{
goPackagePath = "github.com/skratchdot/open-golang";
fetch = {
type = "git";
url = "https://github.com/skratchdot/open-golang";
rev = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c";
sha256 = "1b67imqbsdvg19vif1q1dfmapxy3v2anagacbql95fwnnw0v8jga";
};
}
{
goPackagePath = "github.com/spf13/cobra";
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
};
}
{
goPackagePath = "github.com/spf13/pflag";
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "583c0c0531f06d5278b7d917446061adc344b5cd";
sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686";
sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
};
}
{
goPackagePath = "github.com/vektah/gqlgen";
fetch = {
type = "git";
url = "https://github.com/vektah/gqlgen";
rev = "636435b68700211441303f1a5ed92f3768ba5774";
sha256 = "0d4sr6kpyn3zq3kpvk8lizy7hdpcw3fjmv7fbv2m1k9w8fzjawrz";
};
}
{
goPackagePath = "github.com/vektah/gqlparser";
fetch = {
type = "git";
url = "https://github.com/vektah/gqlparser";
rev = "14e83ae06ec152e6d0afb9766a00e0c0918aa8fc";
sha256 = "162j259402pa2wb4645z6gplx5g1a2sfk393k2svwgws3bg2bws2";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "0e37d006457bf46f9e6692014ba72ef82c33022c";
sha256 = "1fj8rvrhgv5j8pmckzphvm3sqkzhcqp3idkxvgv13qrjdfycsa5r";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "2f5d2388922f370f4355f327fcf4cfe9f5583908";
sha256 = "03s92ygxfrd2c1m4697sd6iksgbar6c007w1yf3h6wmd79vr5dxs";
};
}
{
goPackagePath = "golang.org/x/oauth2";
fetch = {
type = "git";
url = "https://go.googlesource.com/oauth2";
rev = "d2e6202438beef2727060aa7cabdd924d92ebfd9";
sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "ac767d655b305d4e9612f5f6e33120b9176c4ad4";
sha256 = "1ds29n5lh4j21hmzxz7vk7hv1k6sixc7f0zsdc9xqdg0j7d212zm";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "a434f64ace81347eff0fb4a32bc80a235e0ad762";
sha256 = "0zngnxrxjync4caz6ikmv5v0cn895iqhqmzqg9qddfm5bvl2a2my";
};
}
{
goPackagePath = "google.golang.org/appengine";
fetch = {
type = "git";
url = "https://github.com/golang/appengine";
rev = "ae0ab99deb4dc413a2b4bd6c8bdd0eb67f1e4d06";
sha256 = "1iabxnqgxvvn1239i6fvfl375vlbvhfrc03m1x2rvalmx4d6w9c7";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://github.com/go-yaml/yaml";
rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
};
}
{
goPackagePath = "gotest.tools";
fetch = {
type = "git";
url = "https://github.com/gotestyourself/gotest.tools";
rev = "b6e20af1ed078cd01a6413b734051a292450b4cb";
sha256 = "11k6hmfhaf0qxpddp3i5kfpacdx51q6pv4n1kn3jnf1hjs0yny2k";
};
}
]

View File

@ -1,14 +1,14 @@
{ fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
stdenv.mkDerivation rec {
name = "git-crypt-${meta.version}";
name = "git-crypt-${version}";
version = "0.6.0";
src = fetchFromGitHub {
owner = "AGWA";
repo = "git-crypt";
rev = meta.version;
sha256 = "4fe45f903a4b3cc06a5fe11334b914c225009fe8440d9e91a54fdf21cf4dcc4d";
rev = "${version}";
sha256 = "13m9y0m6gc3mlw3pqv9x4i0him2ycbysizigdvdanhh514kga602";
inherit name;
};
@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
'';
downloadPage = "https://github.com/AGWA/git-crypt/releases";
license = licenses.gpl3;
version = "0.5.0";
maintainers = [ maintainers.dochang ];
platforms = platforms.unix;
};

View File

@ -2,11 +2,11 @@
python2Packages.buildPythonApplication rec {
name = "tortoisehg-${version}";
version = "4.7.1";
version = "4.7.2";
src = fetchurl {
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
sha256 = "0x7hz4v882xy2r3k43fbndkq1kqwl3rl1zjmi8pxgpf05qcn950d";
sha256 = "0y2q50380gnjzmyvmzh729ljgvq3wkcv6ham3w62mf4fjcvlpnag";
};
pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
name = "clipgrab-${version}";
version = "3.7.0";
version = "3.7.1";
src = fetchurl {
sha256 = "0rx12218yy6h27z3xsmmxfsw8ldlsf4y862adkz6ybrygppsaib4";
sha256 = "0bhzkmcinlsfp5ldgqp59xnkaz6ikzdnq78drcdf1w7q4z05ipxd";
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
url = "https://download.clipgrab.org/${name}.tar.gz";
};

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, qmake, qtscript }:
stdenv.mkDerivation rec {
name = "smplayer-18.9.0";
name = "smplayer-18.10.0";
src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "0gff22yh2h76cyqsbjpa7rax51sfzygjl3isd8dk47zar9cyvw8d";
sha256 = "1sql1rd4h74smkapjf5c686zbdqqaf44h7k7z5bxfvfcsad7rzrd";
};
buildInputs = [ qtscript ];

View File

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub
, meson, ninja
, pkgconfig, scdoc
, wayland, libxkbcommon, pcre, json_c, dbus
, pango, cairo, libinput, libcap, pam, gdk_pixbuf
, wlroots, wayland-protocols
, buildDocs ? true
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "sway";
version = "1.0-beta.1";
src = fetchFromGitHub {
owner = "swaywm";
repo = "sway";
rev = version;
sha256 = "0h9kgrg9mh2acks63z72bw3lwff32pf2nb4i7i5xhd9i6l4gfnqa";
};
nativeBuildInputs = [
pkgconfig meson ninja
] ++ stdenv.lib.optional buildDocs scdoc;
buildInputs = [
wayland libxkbcommon pcre json_c dbus
pango cairo libinput libcap pam gdk_pixbuf
wlroots wayland-protocols
];
enableParallelBuilding = true;
mesonFlags = "-Dsway-version=${version}";
meta = with stdenv.lib; {
description = "i3-compatible window manager for Wayland";
homepage = https://swaywm.org;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos synthetica ]; # Trying to keep it up-to-date.
};
}

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "i3-compatible window manager for Wayland";
homepage = http://swaywm.org;
homepage = https://swaywm.org;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date.

View File

@ -0,0 +1,60 @@
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtsvg, qttools,
qtx11extras, xkeyboard_config, xorg, lightdm_qt, gsettings-qt,
dde-qt-dbus-factory, deepin-gettext-tools, dtkcore, dtkwidget,
hicolor-icon-theme }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "dde-session-ui";
version = "4.5.1.10";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "0cr3g9jbgpp8k41i86lr4pg88gn690nzili7ah745vf1kdwvi1w0";
};
nativeBuildInputs = [
pkgconfig
qmake
qttools
deepin-gettext-tools
];
buildInputs = [
dde-qt-dbus-factory
dtkcore
dtkwidget
gsettings-qt
lightdm_qt
qtsvg
qtx11extras
xorg.libXcursor
xorg.libXrandr
xorg.libXtst
xkeyboard_config
hicolor-icon-theme
];
postPatch = ''
patchShebangs .
sed -i translate_desktop.sh -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
find -type f -exec sed -i -e "s,path = /etc,path = $out/etc," {} +
find -type f -exec sed -i -e "s,path = /usr,path = $out," {} +
find -type f -exec sed -i -e "s,Exec=/usr,Exec=$out," {} +
find -type f -exec sed -i -e "s,/usr/share/dde-session-ui,$out/share/dde-session-ui," {} +
sed -i global_util/xkbparser.h -e "s,/usr/share/X11/xkb/rules/base.xml,${xkeyboard_config}/share/X11/xkb/rules/base.xml,"
sed -i lightdm-deepin-greeter/Scripts/lightdm-deepin-greeter -e "s,/usr/bin/lightdm-deepin-greeter,$out/bin/lightdm-deepin-greeter,"
# fix default background url
sed -i widgets/*.cpp boxframe/*.cpp -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,'
'';
meta = with stdenv.lib; {
description = "Deepin desktop-environment - Session UI module";
homepage = https://github.com/linuxdeepin/dde-session-ui;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
};
}

View File

@ -8,6 +8,7 @@ let
dde-calendar = callPackage ./dde-calendar { };
dde-polkit-agent = callPackage ./dde-polkit-agent { };
dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
dde-session-ui = callPackage ./dde-session-ui { };
deepin-desktop-base = callPackage ./deepin-desktop-base { };
deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
deepin-gettext-tools = callPackage ./deepin-gettext-tools { };

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, dbus-glib, gtk3, gnome3, python3
{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobjectIntrospection }:
let
@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobjectIntrospection python3 ];
buildInputs = [ glib dbus-glib gtk3 gnome3.defaultIconTheme gnome3.dconf ];
buildInputs = [ glib gtk3 gnome3.dconf ];
postPatch = ''
chmod +x meson_post_install.py

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop-file-utils, python3, wrapGAppsHook
, gtk, gnome3, gnome-autoar, dbus-glib, shared-mime-info, libnotify, libexif
, gtk, gnome3, gnome-autoar, glib-networking, shared-mime-info, libnotify, libexif
, exempi, librsvg, tracker, tracker-miners, gnome-desktop, gexiv2, libselinux, gdk_pixbuf }:
let
@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook desktop-file-utils ];
buildInputs = [
dbus-glib shared-mime-info libexif gtk exempi libnotify libselinux
glib-networking shared-mime-info libexif gtk exempi libnotify libselinux
tracker tracker-miners gnome-desktop gexiv2
gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas
];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, libxslt, packagekit, polkit
, fontconfig, libcanberra-gtk3, systemd, libnotify, wrapGAppsHook, dbus-glib, dbus, desktop-file-utils }:
{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, packagekit, polkit
, systemd, wrapGAppsHook, desktop-file-utils }:
stdenv.mkDerivation rec {
name = "gnome-packagekit-${version}";
@ -10,17 +10,19 @@ stdenv.mkDerivation rec {
sha256 = "051q3hc78qa85mfh4jxxprfcrfj1hva6smfqsgzm0kx4zkkj1c1r";
};
passthru = {
updateScript = gnome3.updateScript { packageName = "gnome-packagekit"; attrPath = "gnome3.gnome-packagekit"; };
};
NIX_CFLAGS_COMPILE = "-I${dbus-glib.dev}/include/dbus-1.0 -I${dbus.dev}/include/dbus-1.0";
nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils ];
buildInputs = [ libxslt gnome3.gtk packagekit fontconfig systemd polkit
libcanberra-gtk3 libnotify dbus-glib dbus ];
buildInputs = [ gnome3.gtk packagekit systemd polkit ];
prePatch = "patchShebangs meson_post_install.sh";
postPatch = ''
patchShebangs meson_post_install.sh
'';
passthru = {
updateScript = gnome3.updateScript {
packageName = "gnome-packagekit";
attrPath = "gnome3.gnome-packagekit";
};
};
meta = with stdenv.lib; {
homepage = https://www.freedesktop.org/software/PackageKit/;

View File

@ -3,11 +3,11 @@
, withContrib ? true }:
let
versionPkg = "0.3.11" ;
versionPkg = "0.3.12" ;
contrib = fetchurl {
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz" ;
sha256 = "300884eca8a54cb9b0daa19bd04a86252160cc8ad6ef494198babd56d5a579bc";
sha256 = "6e53e3070f50600373b857a73a76196adffcabc3c0d3173eaaf9a5f50f4596f4";
};
postInstallContrib = stdenv.lib.optionalString withContrib
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
sha256 = "feba71f37e9688b8ff0a72c4eb21914ce59f19421350d9dc3f15ad6f8c28428a";
sha256 = "63eb02b225a11752745e8f08691140ed764288ab4ceda3710670cde24835b0d8";
};
buildInputs = [ gmp ];

View File

@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
touch test/$i.jl
done
rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl
rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl
sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl
sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl
'';

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
name = "sbcl-${version}";
version = "1.4.10";
version = "1.4.12";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "1j9wb608pkihpwgzl4qvnr4jl6mb7ngfqy559pxnvmnn1zlyfklh";
sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a";
};
patchPhase = ''
@ -87,15 +87,23 @@ stdenv.mkDerivation rec {
installPhase = ''
INSTALL_ROOT=$out sh install.sh
''
+ stdenv.lib.optionalString (!purgeNixReferences) ''
cp -r src $out/lib/sbcl
cp -r contrib $out/lib/sbcl
cat >$out/lib/sbcl/sbclrc <<EOF
(setf (logical-pathname-translations "SYS")
'(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
EOF
'';
# Specifying $SBCL_HOME is only truly needed with `purgeNixReferences = true`.
setupHook = writeText "setupHook.sh" ''
setupHook = stdenv.lib.optional purgeNixReferences (writeText "setupHook.sh" ''
addEnvHooks "$targetOffset" _setSbclHome
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'';
'');
meta = sbclBootstrap.meta // {
inherit version;

View File

@ -0,0 +1,50 @@
{ stdenv, fetchFromGitHub, coq }:
let params =
{
"8.6" = {
version = "20180221";
rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b";
sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2";
};
"8.7" = {
version = "20180221";
rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b";
sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2";
};
"8.8" = {
version = "20180221";
rev = "e1eee1f10d5d46331a560bd8565ac101229d0d6b";
sha256 = "0l9885nxy0n955fj1gnijlxl55lyxiv9yjfmz8hmfrn9hl8vv1m2";
};
};
param = params."${coq.coq-version}";
in
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-Velisarios-${param.version}";
src = fetchFromGitHub {
owner = "vrahli";
repo = "Velisarios";
inherit (param) rev sha256;
};
buildInputs = [
coq coq.ocaml coq.camlp5 coq.findlib
];
enableParallelBuilding = true;
buildPhase = "make -j$NIX_BUILD_CORES";
preBuild = "./create-makefile.sh";
installPhase = ''
mkdir -p $out/lib/coq/${coq.coq-version}/Velisarios
cp -pR model/*.vo $out/lib/coq/${coq.coq-version}/Velisarios
'';
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" ];
};
}

View File

@ -1,21 +1,25 @@
{ stdenv, fetchgit, coq, ssreflect }:
{ stdenv, fetchgit, coq, ssreflect, equations }:
let param =
{
"8.6" = {
let
params =
let
v20180709 = {
version = "20180709";
rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead";
sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs";
};
"8.7" = {
version = "20180709";
rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead";
sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs";
v20181016 = {
version = "20181016";
rev = "8049479c5aee00ed0b92e5edc7c8996aebf48208";
sha256 = "14f9rlwh8vgmcl6njykvsiwxx0jn623375afixk26mzpy12zdcph";
};
}."${coq.coq-version}"
; in
in {
"8.6" = v20180709;
"8.7" = v20180709;
"8.8" = v20181016;
};
param = params."${coq.coq-version}";
in
stdenv.mkDerivation rec {
@ -26,8 +30,8 @@ stdenv.mkDerivation rec {
inherit (param) rev sha256;
};
buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
propagatedBuildInputs = [ coq ssreflect ];
buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ]);
propagatedBuildInputs = [ ssreflect equations ];
enableParallelBuilding = false;
@ -43,7 +47,7 @@ stdenv.mkDerivation rec {
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" ];
compatibleCoqVersions = v: builtins.hasAttr v params;
};
}

View File

@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
# patch to fix python-test
./darwin.patch
# facebook/zstd#1385
./zstd136.patch
];
nativeBuildInputs = [ cmake ];

View File

@ -0,0 +1,17 @@
--- a/src/arrow/util/compression_zstd.cc
+++ b/src/arrow/util/compression_zstd.cc
@@ -35,8 +35,13 @@ namespace util {
Status ZSTDCodec::Decompress(int64_t input_len, const uint8_t* input, int64_t output_len,
uint8_t* output_buffer) {
+ void *safe_output_buffer = static_cast<void*>(output_buffer);
+ int dummy {};
+ if ((output_len == 0) && (output_buffer == NULL)) {
+ safe_output_buffer = static_cast<void*>(&dummy);
+ }
int64_t decompressed_size =
- ZSTD_decompress(output_buffer, static_cast<size_t>(output_len), input,
+ ZSTD_decompress(safe_output_buffer, static_cast<size_t>(output_len), input,
static_cast<size_t>(input_len));
if (decompressed_size != output_len) {
return Status::IOError("Corrupt ZSTD compressed data.");

View File

@ -15,13 +15,13 @@ let
else throw "Unsupported system!";
in stdenv.mkDerivation rec {
name = "aws-sdk-cpp-${version}";
version = "1.5.17";
version = "1.6.20";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-sdk-cpp";
rev = version;
sha256 = "0mmzf3js6090kk9vdwrmib5cjny43mqf044iynkhkglzvwhadc8z";
sha256 = "0b6ahy748i29jqzzrjh8vybk7dv8qda3ir277mqflg4a8xxg9bj1";
};
# FIXME: might be nice to put different APIs in different outputs

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "capnproto-${version}";
version = "0.6.1";
version = "0.7.0";
src = fetchurl {
url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
sha256 = "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0";
sha256 = "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969";
};
meta = with stdenv.lib; {

View File

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libuv, sqlite-replication }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "dqlite-${version}";
version = "0.2.4";
src = fetchFromGitHub {
owner = "CanonicalLtd";
repo = "dqlite";
rev = "v${version}";
sha256 = "03dikhjppraagyvjx4zbp7f5jfg74jivighxkwrbzrcy0g8pmcvd";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ libuv sqlite-replication ];
meta = {
description = "Expose a SQLite database over the network and replicate it across a cluster of peers";
homepage = https://github.com/CanonicalLtd/dqlite/;
license = licenses.asl20;
maintainers = with maintainers; [ joko ];
platforms = platforms.unix;
};
}

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl, fetchpatch, cmake}:
let
version = "3.3.4";
version = "3.3.5";
in
stdenv.mkDerivation {
name = "eigen-${version}";
@ -9,18 +9,9 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
name = "eigen-${version}.tar.gz";
sha256 = "1q85bgd6hnsgn0kq73wa4jwh4qdwklfg73pgqrz4zmxvzbqyi1j2";
sha256 = "13p60x6k61zq2y2in7g4fy5p55cr5dbmj3zvw10zcazxraxbcm04";
};
patches = [
# Remove for > 3.3.4
# Upstream commit from 6 Apr 2018 "Fix cmake scripts with no fortran compiler"
(fetchpatch {
url = "https://bitbucket.org/eigen/eigen/commits/ba14974d054ae9ae4ba88e5e58012fa6c2729c32/raw";
sha256 = "0fskiy9sbzvp693fcyv3pfq8kxxx3d3mgmaqvjbl5bpfjivij8l1";
})
];
nativeBuildInputs = [ cmake ];
postInstall = ''

View File

@ -133,7 +133,9 @@ stdenv.mkDerivation ({
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ bison ];
buildInputs = lib.optionals withGd [ gd libpng ];
# TODO make linuxHeaders unconditional next mass rebuild
buildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) linuxHeaders
++ lib.optionals withGd [ gd libpng ];
# Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to
# prevent a retained dependency on the bootstrap tools in the stdenv-linux

View File

@ -0,0 +1,36 @@
{ stdenv, lib, fetchFromGitHub, pkgconfig, cairo, pango,
libX11, libXcomposite, autoconf, automake }:
stdenv.mkDerivation rec {
version = "0.2.7-9-g177589f";
name = "libaosd-${version}";
src = fetchFromGitHub {
owner = "atheme-legacy";
repo = "libaosd";
rev = "${version}";
sha256 = "1cn7k0n74p6jp25kxwcyblhmbdvgw3mikvj0m2jh4c6xccfrgb9a";
};
nativeBuildInputs = [ autoconf automake pkgconfig ];
buildInputs = [ cairo pango libX11 libXcomposite ];
enableParallelBuilding = true;
preConfigure = ''
./autogen.sh
'';
meta = with stdenv.lib; {
longDescription = ''
libaosd is an advanced on screen display library.
It supports many modern features like anti-aliased text and
composited rendering via XComposite, as well as support for
rendering Cairo and Pango layouts.
'';
homepage = https://github.com/atheme-legacy/libaosd;
license = licenses.mit;
maintainers = with maintainers; [ unode ];
platforms = with platforms; unix;
};
}

View File

@ -1,31 +1,24 @@
{ stdenv, fetchurl, autoreconfHook, perl, zlib, gnutls, gss, openssl
, libidn }:
{ stdenv, fetchurl, libtool, groff, perl, pkgconfig, python2, zlib, gnutls,
libidn2, libunistring, nghttp2 }:
stdenv.mkDerivation rec {
version = "7.54.1";
version = "7.61.1";
name = "libgnurl-${version}";
src = fetchurl {
url = "https://gnunet.org/sites/default/files/gnurl-${version}.tar.bz2";
sha256 = "0szbj352h95sgc9kbx9wzkgjksmg3g5k6cvlc7hz3wrbdh5gb0a4";
url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
sha256 = "0y56k15vp3m2r8q6mnc6ivflwq9lv6npdhbbvxxcf4r8vwjhv91q";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ perl gnutls gss openssl zlib libidn ];
preConfigure = ''
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
'';
nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
buildInputs = [ gnutls zlib libidn2 libunistring nghttp2 ];
configureFlags = [
"--enable-ipv6" "--with-gnutls" "--without-libmetalink" "--without-winidn"
"--without-librtmp" "--without-nghttp2" "--without-nss" "--without-cyassl"
"--without-polarssl" "--without-ssl" "--without-winssl"
"--without-darwinssl" "--disable-sspi" "--disable-ntlm-wb" "--disable-ldap"
"--disable-rtsp" "--disable-dict" "--disable-telnet" "--disable-tftp"
"--disable-pop3" "--disable-imap" "--disable-smtp" "--disable-gopher"
"--disable-file" "--disable-ftp" "--disable-smb"
"--disable-ntlm-wb"
"--without-ca-bundle"
"--with-ca-fallback"
];
meta = with stdenv.lib; {
@ -33,6 +26,6 @@ stdenv.mkDerivation rec {
homepage = https://gnunet.org/gnurl;
maintainers = with maintainers; [ falsifian vrthra ];
platforms = platforms.linux;
license = with licenses; [ bsdOriginal mit ];
license = licenses.curl;
};
}

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "libmd";
version = "1.0.0";
version = "1.0.1";
src = fetchurl {
url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
sha256 = "1iv45npzv0gncjgcpx5m081861zdqxw667ysghqb8721yrlyl6pj";
sha256 = "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1";
};
nativeBuildInputs = [ autoreconfHook ];

View File

@ -1,17 +1,29 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "libowfat-0.31";
name = "libowfat-0.32";
src = fetchurl {
url = "https://www.fefe.de/libowfat/${name}.tar.xz";
sha256 = "04lagr62bd2cr0k8h59qfnx2klh2cf73k5kxsx8xrdybzhfarr6i";
sha256 = "1hcqg7pvy093bxx8wk7i4gvbmgnxz2grxpyy7b4mphidjbcv7fgl";
};
# Dirty patch because 0.32 "moved headers to <libowfat/> upon install"
# but it breaks gatling-0.15 and opentracker-2018-05-26 ...
postPatch = ''
substituteInPlace GNUmakefile --replace \
'install -d $(DESTDIR)$(INCLUDEDIR)/libowfat' \
'install -d $(DESTDIR)$(INCLUDEDIR)'
substituteInPlace GNUmakefile --replace \
'install -m 644 $(INCLUDES) $(DESTDIR)$(INCLUDEDIR)/libowfat' \
'install -m 644 $(INCLUDES) $(DESTDIR)$(INCLUDEDIR)'
'';
makeFlags = "prefix=$(out)";
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://www.fefe.de/libowfat/;
homepage = https://www.fefe.de/libowfat/;
license = licenses.gpl2;
platforms = platforms.linux;
};

View File

@ -11,10 +11,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ m4];
meta = {
meta = with stdenv.lib; {
homepage = https://libsigcplusplus.github.io/libsigcplusplus/;
description = "A typesafe callback system for standard C++";
branch = "1.2";
platforms = stdenv.lib.platforms.unix;
platforms = platforms.unix;
license = licenses.lgpl3;
};
}

View File

@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
homepage = https://github.com/libuv/libuv;
maintainers = with maintainers; [ cstrahan ];
platforms = with platforms; linux ++ darwin;
license = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
};
}

View File

@ -22,8 +22,10 @@ stdenv.mkDerivation {
})
];
meta = {
meta = with stdenv.lib; {
description = "WMF library from wvWare";
platforms = stdenv.lib.platforms.unix;
homepage = http://wvware.sourceforge.net/libwmf.html;
license = licenses.gpl2;
platforms = platforms.unix;
};
}

View File

@ -2,19 +2,22 @@
stdenv.mkDerivation rec {
name = "libwpd-0.8.14";
src = fetchurl {
url = "mirror://sourceforge/libwpd/${name}.tar.gz";
sha256 = "1syli6i5ma10cwzpa61a18pyjmianjwsf6pvmvzsh5md6yk4yx01";
};
patches = [ ./gcc-0.8.patch ];
buildInputs = [ glib libgsf libxml2 ];
nativeBuildInputs = [ pkgconfig bzip2 ];
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
description = "Library for importing WordPerfect documents";
homepage = http://libwpd.sourceforge.net;
license = with licenses; [ lgpl21 mpl20 ];
platforms = platforms.unix;
};
}

View File

@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
buildInputs = [ libwpd zlib librevenge ];
nativeBuildInputs = [ pkgconfig ];
meta = {
meta = with stdenv.lib; {
homepage = http://libwpg.sourceforge.net;
description = "C++ library to parse WPG";
maintainers = [ ];
platforms = stdenv.lib.platforms.all;
license = with licenses; [ lgpl21 mpl20 ];
platforms = platforms.all;
};
}

View File

@ -15,5 +15,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A forked version of log4cpp that has been created for the Shibboleth project";
maintainers = [ maintainers.jammerful ];
license = licenses.lgpl21;
homepage = http://log4cpp.sf.net;
};
}

View File

@ -18,11 +18,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
meta = {
meta = with stdenv.lib; {
description = "A lightweight C library for the Jabber protocol";
platforms = stdenv.lib.platforms.linux;
platforms = platforms.linux;
downloadPage = "http://mcabber.com/files/loudmouth/";
downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
updateWalker = true;
license = licenses.lgpl21;
};
}

View File

@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
meta = {
description = "Martyr is a Java framework around the IRC protocol to allow application writers easy manipulation of the protocol and client state";
homepage = http://martyr.sourceforge.net/;
license = stdenv.lib.licenses.lgpl21;
};
}

View File

@ -9,9 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "0gg8mb9kxh3wggh7njj1gf90xy27p0yq2cw88wqar9hhg2fmwmi3";
};
meta = {
meta = with stdenv.lib; {
homepage = https://gitlab.com/mdds/mdds;
description = "A collection of multi-dimensional data structure and indexing algorithm";
platforms = stdenv.lib.platforms.all;
platforms = platforms.all;
license = licenses.mit;
};
}

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