Merge staging-next into staging
This commit is contained in:
commit
4a88dd14a2
@ -6,8 +6,14 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
|
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
|
||||||
derivation attributes, the results of derivations or even the whole package
|
derivation attributes, the results of derivations.
|
||||||
set.
|
</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>
|
</para>
|
||||||
|
|
||||||
<section xml:id="sec-pkg-override">
|
<section xml:id="sec-pkg-override">
|
||||||
@ -25,6 +31,9 @@
|
|||||||
<para>
|
<para>
|
||||||
Example usages:
|
Example usages:
|
||||||
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
|
<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>
|
<programlisting>
|
||||||
import pkgs.path { overlays = [ (self: super: {
|
import pkgs.path { overlays = [ (self: super: {
|
||||||
foo = super.foo.override { barSupport = true ; };
|
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.
|
in this case, as it overrides only the attributes of the final derivation.
|
||||||
It is for this reason that <varname>overrideAttrs</varname> should be
|
It is for this reason that <varname>overrideAttrs</varname> should be
|
||||||
preferred in (almost) all cases to <varname>overrideDerivation</varname>,
|
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
|
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
|
same attribute names you see in your Nix code, instead of the ones
|
||||||
generated (e.g. <varname>buildInputs</varname> vs
|
generated (e.g. <varname>buildInputs</varname> vs
|
||||||
<varname>nativeBuildInputs</varname>, and involves less typing.
|
<varname>nativeBuildInputs</varname>), and it involves less typing).
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</section>
|
</section>
|
||||||
|
191
doc/overlays.xml
191
doc/overlays.xml
@ -17,91 +17,122 @@
|
|||||||
<title>Installing overlays</title>
|
<title>Installing overlays</title>
|
||||||
|
|
||||||
<para>
|
<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><nixpkgs-overlays></literal> or user configuration
|
||||||
|
files.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<section xml:id="sec-overlays-argument">
|
||||||
If the <varname>overlays</varname> argument is not provided explicitly, we
|
<title>Set overlays in NixOS or Nix expressions</title>
|
||||||
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 <nixpkgs> { overlays = [ overlay1 overlay2 ];
|
|
||||||
}</literal>.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Otherwise, if the Nix path entry <literal><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><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>
|
<para>
|
||||||
If we are looking for overlays at a path, then there are two cases:
|
On a NixOS system the value of the <literal>nixpkgs.overlays</literal>
|
||||||
<itemizedlist>
|
option, if present, is passed to the system Nixpkgs directly as an
|
||||||
<listitem>
|
argument. Note that this does not affect the overlays for non-NixOS
|
||||||
<para>
|
operations (e.g. <literal>nix-env</literal>), which are
|
||||||
If the path is a file, then the file is imported as a Nix expression and
|
<link xlink:href="#sec-overlays-lookup">looked</link> up independently.
|
||||||
used as the list of overlays.
|
</para>
|
||||||
</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>
|
<para>
|
||||||
On a NixOS system the value of the <literal>nixpkgs.overlays</literal>
|
The list of overlays can be passed explicitly when importing nixpkgs, for
|
||||||
option, if present, is passed to the system Nixpkgs directly as an argument.
|
example <literal>import <nixpkgs> { overlays = [ overlay1 overlay2 ];
|
||||||
Note that this does not affect the overlays for non-NixOS operations (e.g.
|
}</literal>.
|
||||||
<literal>nix-env</literal>), which are looked up independently.
|
</para>
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <filename>overlays.nix</filename> option therefore provides a convenient
|
Further overlays can be added by calling the <literal>pkgs.extend</literal>
|
||||||
way to use the same overlays for a NixOS system configuration and user
|
or <literal>pkgs.appendOverlays</literal>, although it is often preferable
|
||||||
configuration: the same file can be used as
|
to avoid these functions, because they recompute the Nixpkgs fixpoint,
|
||||||
<filename>overlays.nix</filename> and imported as the value of
|
which is somewhat expensive to do.
|
||||||
<literal>nixpkgs.overlays</literal>.
|
</para>
|
||||||
</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><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><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>
|
||||||
<!--============================================================-->
|
<!--============================================================-->
|
||||||
<section xml:id="sec-overlays-definition">
|
<section xml:id="sec-overlays-definition">
|
||||||
|
@ -681,10 +681,10 @@ overrides = self: super: rec {
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The python plugin allows the addition of extra libraries. For instance, the
|
The python and perl plugins allows the addition of extra libraries. For
|
||||||
<literal>inotify.py</literal> script in weechat-scripts requires D-Bus or
|
instance, the <literal>inotify.py</literal> script in weechat-scripts
|
||||||
libnotify, and the <literal>fish.py</literal> script requires pycrypto. To
|
requires D-Bus or libnotify, and the <literal>fish.py</literal> script
|
||||||
use these scripts, use the <literal>python</literal> plugin's
|
requires pycrypto. To use these scripts, use the plugin's
|
||||||
<literal>withPackages</literal> attribute:
|
<literal>withPackages</literal> attribute:
|
||||||
<programlisting>weechat.override { configure = {availablePlugins, ...}: {
|
<programlisting>weechat.override { configure = {availablePlugins, ...}: {
|
||||||
plugins = with availablePlugins; [
|
plugins = with availablePlugins; [
|
||||||
|
@ -158,6 +158,11 @@
|
|||||||
github = "alexanderkjeldaas";
|
github = "alexanderkjeldaas";
|
||||||
name = "Alexander Kjeldaas";
|
name = "Alexander Kjeldaas";
|
||||||
};
|
};
|
||||||
|
akavel = {
|
||||||
|
email = "czapkofan@gmail.com";
|
||||||
|
github = "akavel";
|
||||||
|
name = "Mateusz Czapliński";
|
||||||
|
};
|
||||||
akaWolf = {
|
akaWolf = {
|
||||||
email = "akawolf0@gmail.com";
|
email = "akawolf0@gmail.com";
|
||||||
github = "akaWolf";
|
github = "akaWolf";
|
||||||
@ -3636,6 +3641,11 @@
|
|||||||
github = "roosemberth";
|
github = "roosemberth";
|
||||||
name = "Roosembert (Roosemberth) Palacios";
|
name = "Roosembert (Roosemberth) Palacios";
|
||||||
};
|
};
|
||||||
|
royneary = {
|
||||||
|
email = "christian@ulrich.earth";
|
||||||
|
github = "royneary";
|
||||||
|
name = "Christian Ulrich";
|
||||||
|
};
|
||||||
rprospero = {
|
rprospero = {
|
||||||
email = "rprospero+nix@gmail.com";
|
email = "rprospero+nix@gmail.com";
|
||||||
github = "rprospero";
|
github = "rprospero";
|
||||||
@ -4148,11 +4158,6 @@
|
|||||||
github = "tazjin";
|
github = "tazjin";
|
||||||
name = "Vincent Ambo";
|
name = "Vincent Ambo";
|
||||||
};
|
};
|
||||||
TealG = {
|
|
||||||
email = "~@Teal.Gr";
|
|
||||||
github = "TealG";
|
|
||||||
name = "Teal Gaure";
|
|
||||||
};
|
|
||||||
teh = {
|
teh = {
|
||||||
email = "tehunger@gmail.com";
|
email = "tehunger@gmail.com";
|
||||||
github = "teh";
|
github = "teh";
|
||||||
|
@ -130,6 +130,13 @@
|
|||||||
were removed. They were never used for anything and can therefore safely be removed.
|
were removed. They were never used for anything and can therefore safely be removed.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -385,7 +385,7 @@
|
|||||||
virtuoso = 44;
|
virtuoso = 44;
|
||||||
#rtkit = 45; # unused
|
#rtkit = 45; # unused
|
||||||
dovecot2 = 46;
|
dovecot2 = 46;
|
||||||
#dovenull = 47; # unused
|
dovenull2 = 47;
|
||||||
prayer = 49;
|
prayer = 49;
|
||||||
mpd = 50;
|
mpd = 50;
|
||||||
clamav = 51;
|
clamav = 51;
|
||||||
|
@ -108,7 +108,6 @@
|
|||||||
./programs/oblogout.nix
|
./programs/oblogout.nix
|
||||||
./programs/plotinus.nix
|
./programs/plotinus.nix
|
||||||
./programs/qt5ct.nix
|
./programs/qt5ct.nix
|
||||||
./programs/rootston.nix
|
|
||||||
./programs/screen.nix
|
./programs/screen.nix
|
||||||
./programs/sedutil.nix
|
./programs/sedutil.nix
|
||||||
./programs/slock.nix
|
./programs/slock.nix
|
||||||
|
@ -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 ];
|
|
||||||
}
|
|
@ -180,35 +180,6 @@ in
|
|||||||
# programs to be wrapped.
|
# programs to be wrapped.
|
||||||
WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin
|
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.
|
# We want to place the tmpdirs for the wrappers to the parent dir.
|
||||||
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
|
wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
|
||||||
chmod a+rx $wrapperDir
|
chmod a+rx $wrapperDir
|
||||||
|
@ -311,7 +311,7 @@ in
|
|||||||
{ name = "dovenull";
|
{ name = "dovenull";
|
||||||
uid = config.ids.uids.dovenull2;
|
uid = config.ids.uids.dovenull2;
|
||||||
description = "Dovecot user for untrusted logins";
|
description = "Dovecot user for untrusted logins";
|
||||||
group = cfg.group;
|
group = "dovenull";
|
||||||
}
|
}
|
||||||
] ++ optional (cfg.user == "dovecot2")
|
] ++ optional (cfg.user == "dovecot2")
|
||||||
{ name = "dovecot2";
|
{ name = "dovecot2";
|
||||||
@ -332,6 +332,10 @@ in
|
|||||||
}
|
}
|
||||||
++ optional (cfg.createMailUser && cfg.mailGroup != null)
|
++ optional (cfg.createMailUser && cfg.mailGroup != null)
|
||||||
{ name = cfg.mailGroup;
|
{ name = cfg.mailGroup;
|
||||||
|
}
|
||||||
|
++ singleton
|
||||||
|
{ name = "dovenull";
|
||||||
|
gid = config.ids.gids.dovenull2;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.etc."dovecot/modules".source = modulesDir;
|
environment.etc."dovecot/modules".source = modulesDir;
|
||||||
|
@ -7,7 +7,7 @@ let
|
|||||||
|
|
||||||
ddConf = {
|
ddConf = {
|
||||||
dd_url = "https://app.datadoghq.com";
|
dd_url = "https://app.datadoghq.com";
|
||||||
skip_ssl_validation = "no";
|
skip_ssl_validation = false;
|
||||||
confd_path = "/etc/datadog-agent/conf.d";
|
confd_path = "/etc/datadog-agent/conf.d";
|
||||||
additional_checksd = "/etc/datadog-agent/checks.d";
|
additional_checksd = "/etc/datadog-agent/checks.d";
|
||||||
use_dogstatsd = true;
|
use_dogstatsd = true;
|
||||||
@ -16,6 +16,7 @@ let
|
|||||||
// optionalAttrs (cfg.hostname != null) { inherit (cfg) hostname; }
|
// optionalAttrs (cfg.hostname != null) { inherit (cfg) hostname; }
|
||||||
// optionalAttrs (cfg.tags != null ) { tags = concatStringsSep ", " cfg.tags; }
|
// optionalAttrs (cfg.tags != null ) { tags = concatStringsSep ", " cfg.tags; }
|
||||||
// optionalAttrs (cfg.enableLiveProcessCollection) { process_config = { enabled = "true"; }; }
|
// optionalAttrs (cfg.enableLiveProcessCollection) { process_config = { enabled = "true"; }; }
|
||||||
|
// optionalAttrs (cfg.enableTraceAgent) { apm_config = { enabled = true; }; }
|
||||||
// cfg.extraConfig;
|
// cfg.extraConfig;
|
||||||
|
|
||||||
# Generate Datadog configuration files for each configured checks.
|
# Generate Datadog configuration files for each configured checks.
|
||||||
@ -132,6 +133,15 @@ in {
|
|||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableTraceAgent = mkOption {
|
||||||
|
description = ''
|
||||||
|
Whether to enable the trace agent.
|
||||||
|
'';
|
||||||
|
default = false;
|
||||||
|
type = types.bool;
|
||||||
|
};
|
||||||
|
|
||||||
checks = mkOption {
|
checks = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
Configuration for all Datadog checks. Keys of this attribute
|
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
|
${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;
|
environment.etc = etcfiles;
|
||||||
|
@ -4,6 +4,7 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.grafana;
|
cfg = config.services.grafana;
|
||||||
|
opt = options.services.grafana;
|
||||||
|
|
||||||
envOptions = {
|
envOptions = {
|
||||||
PATHS_DATA = cfg.dataDir;
|
PATHS_DATA = cfg.dataDir;
|
||||||
@ -41,6 +42,12 @@ let
|
|||||||
AUTH_ANONYMOUS_ORG_ROLE = cfg.auth.anonymous.org_role;
|
AUTH_ANONYMOUS_ORG_ROLE = cfg.auth.anonymous.org_role;
|
||||||
|
|
||||||
ANALYTICS_REPORTING_ENABLED = boolToString cfg.analytics.reporting.enable;
|
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;
|
} // cfg.extraOptions;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
@ -134,11 +141,23 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
password = mkOption {
|
password = mkOption {
|
||||||
description = "Database password.";
|
description = ''
|
||||||
|
Database password.
|
||||||
|
This option is mutual exclusive with the passwordFile option.
|
||||||
|
'';
|
||||||
default = "";
|
default = "";
|
||||||
type = types.str;
|
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 {
|
path = mkOption {
|
||||||
description = "Database path.";
|
description = "Database path.";
|
||||||
default = "${cfg.dataDir}/data/grafana.db";
|
default = "${cfg.dataDir}/data/grafana.db";
|
||||||
@ -163,16 +182,69 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
adminPassword = mkOption {
|
adminPassword = mkOption {
|
||||||
description = "Default admin password.";
|
description = ''
|
||||||
|
Default admin password.
|
||||||
|
This option is mutual exclusive with the adminPasswordFile option.
|
||||||
|
'';
|
||||||
default = "admin";
|
default = "admin";
|
||||||
type = types.str;
|
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 {
|
secretKey = mkOption {
|
||||||
description = "Secret key used for signing.";
|
description = "Secret key used for signing.";
|
||||||
default = "SW2YcwTIb9zpOOhoPsMm";
|
default = "SW2YcwTIb9zpOOhoPsMm";
|
||||||
type = types.str;
|
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 = {
|
users = {
|
||||||
@ -241,12 +313,31 @@ in {
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
warnings = optional (
|
warnings = optional (
|
||||||
cfg.database.password != options.services.grafana.database.password.default ||
|
cfg.database.password != opt.database.password.default ||
|
||||||
cfg.security.adminPassword != options.services.grafana.security.adminPassword.default
|
cfg.security.adminPassword != opt.security.adminPassword.default
|
||||||
) "Grafana passwords will be stored as plaintext in the Nix store!";
|
) "Grafana passwords will be stored as plaintext in the Nix store!";
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
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 = {
|
systemd.services.grafana = {
|
||||||
description = "Grafana Service Daemon";
|
description = "Grafana Service Daemon";
|
||||||
wantedBy = ["multi-user.target"];
|
wantedBy = ["multi-user.target"];
|
||||||
@ -254,8 +345,22 @@ in {
|
|||||||
environment = {
|
environment = {
|
||||||
QT_QPA_PLATFORM = "offscreen";
|
QT_QPA_PLATFORM = "offscreen";
|
||||||
} // mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions;
|
} // 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 = {
|
serviceConfig = {
|
||||||
ExecStart = "${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir}";
|
|
||||||
WorkingDirectory = cfg.dataDir;
|
WorkingDirectory = cfg.dataDir;
|
||||||
User = "grafana";
|
User = "grafana";
|
||||||
};
|
};
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
# TODO: support fastcgi
|
# TODO: support fastcgi
|
||||||
# http://munin-monitoring.org/wiki/CgiHowto2
|
# 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 /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-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
|
||||||
# https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum
|
# https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum
|
||||||
# nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html
|
# nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ let
|
|||||||
dbdir /var/lib/munin
|
dbdir /var/lib/munin
|
||||||
htmldir /var/www/munin
|
htmldir /var/www/munin
|
||||||
logdir /var/log/munin
|
logdir /var/log/munin
|
||||||
rundir /var/run/munin
|
rundir /run/munin
|
||||||
|
|
||||||
${cronCfg.extraGlobalConfig}
|
${cronCfg.extraGlobalConfig}
|
||||||
|
|
||||||
@ -170,7 +170,7 @@ in
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ];
|
path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ];
|
||||||
environment.MUNIN_LIBDIR = "${pkgs.munin}/lib";
|
environment.MUNIN_LIBDIR = "${pkgs.munin}/lib";
|
||||||
environment.MUNIN_PLUGSTATE = "/var/run/munin";
|
environment.MUNIN_PLUGSTATE = "/run/munin";
|
||||||
environment.MUNIN_LOGDIR = "/var/log/munin";
|
environment.MUNIN_LOGDIR = "/var/log/munin";
|
||||||
preStart = ''
|
preStart = ''
|
||||||
echo "updating munin plugins..."
|
echo "updating munin plugins..."
|
||||||
@ -188,7 +188,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# munin_stats plugin breaks as of 2.0.33 when this doesn't exist
|
# 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 {
|
}) (mkIf cronCfg.enable {
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
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/log/munin 0755 munin munin -"
|
||||||
"d /var/www/munin 0755 munin munin -"
|
"d /var/www/munin 0755 munin munin -"
|
||||||
"d /var/lib/munin 0755 munin munin -"
|
"d /var/lib/munin 0755 munin munin -"
|
||||||
|
@ -53,8 +53,6 @@ in
|
|||||||
chmod 0700 ${cfg.password}
|
chmod 0700 ${cfg.password}
|
||||||
mkdir -p /var/lib/munge -m 0711
|
mkdir -p /var/lib/munge -m 0711
|
||||||
chown -R munge:munge /var/lib/munge
|
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
|
mkdir -p /run/munge -m 0755
|
||||||
chown -R munge:munge /run/munge
|
chown -R munge:munge /run/munge
|
||||||
'';
|
'';
|
||||||
|
@ -57,6 +57,11 @@ let
|
|||||||
AutomapHostsSuffixes ${concatStringsSep "," cfg.client.dns.automapHostsSuffixes}
|
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
|
# Relay config
|
||||||
+ optionalString cfg.relay.enable ''
|
+ optionalString cfg.relay.enable ''
|
||||||
ORPort ${toString cfg.relay.port}
|
ORPort ${toString cfg.relay.port}
|
||||||
|
@ -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.<name></literal>.
|
||||||
|
See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
webfinger = mkOption {
|
webfinger = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
@ -121,6 +121,11 @@ in
|
|||||||
type = types.str;
|
type = types.str;
|
||||||
description = "name of the virtualhost";
|
description = "name of the virtualhost";
|
||||||
};
|
};
|
||||||
|
aliases = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
description = "aliases of the virtualhost";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
webapps = mkOption {
|
webapps = mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.path;
|
||||||
description = ''
|
description = ''
|
||||||
@ -220,10 +225,28 @@ in
|
|||||||
|
|
||||||
${if cfg.serverXml != "" then ''
|
${if cfg.serverXml != "" then ''
|
||||||
cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/
|
cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/
|
||||||
'' else ''
|
'' else
|
||||||
# Create a modified server.xml which also includes all virtual hosts
|
let
|
||||||
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)}" \
|
hostElementForVirtualHost = virtualHost: ''
|
||||||
${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
|
<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 != []) ''
|
${optionalString (cfg.logDirs != []) ''
|
||||||
|
@ -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
|
|
@ -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;
|
||||||
|
}
|
@ -5,15 +5,25 @@ shopt -s nullglob
|
|||||||
export PATH=/empty
|
export PATH=/empty
|
||||||
for i in @path@; do PATH=$PATH:$i/bin; done
|
for i in @path@; do PATH=$PATH:$i/bin; done
|
||||||
|
|
||||||
default=$1
|
usage() {
|
||||||
if test -z "$1"; then
|
echo "usage: $0 -c <path-to-default-configuration> [-d <boot-dir>]" >&2
|
||||||
echo "Syntax: builder.sh <DEFAULT-CONFIG>"
|
|
||||||
exit 1
|
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..."
|
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
|
# Convert a path to a file in the Nix store such as
|
||||||
# /nix/store/<hash>-<name>/file to <hash>-<name>-<file>.
|
# /nix/store/<hash>-<name>/file to <hash>-<name>-<file>.
|
||||||
@ -22,12 +32,12 @@ cleanName() {
|
|||||||
echo "$path" | sed 's|^/nix/store/||' | sed 's|/|-|g'
|
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
|
declare -A filesCopied
|
||||||
|
|
||||||
copyToKernelsDir() {
|
copyToKernelsDir() {
|
||||||
local src="$1"
|
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
|
# Don't copy the file if $dst already exists. This means that we
|
||||||
# have to create $dst atomically to prevent partially copied
|
# have to create $dst atomically to prevent partially copied
|
||||||
# kernels or initrd if this script is ever interrupted.
|
# kernels or initrd if this script is ever interrupted.
|
||||||
@ -47,10 +57,10 @@ copyForced() {
|
|||||||
mv $dst.tmp $dst
|
mv $dst.tmp $dst
|
||||||
}
|
}
|
||||||
|
|
||||||
outdir=/boot/old
|
outdir=$target/old
|
||||||
mkdir -p $outdir || true
|
mkdir -p $outdir || true
|
||||||
|
|
||||||
# Copy its kernel and initrd to /boot/kernels.
|
# Copy its kernel and initrd to $target/old.
|
||||||
addEntry() {
|
addEntry() {
|
||||||
local path="$1"
|
local path="$1"
|
||||||
local generation="$2"
|
local generation="$2"
|
||||||
@ -74,25 +84,21 @@ addEntry() {
|
|||||||
echo $initrd > $outdir/$generation-initrd
|
echo $initrd > $outdir/$generation-initrd
|
||||||
echo $kernel > $outdir/$generation-kernel
|
echo $kernel > $outdir/$generation-kernel
|
||||||
|
|
||||||
if test $(readlink -f "$path") = "$default"; then
|
if test "$generation" = "default"; then
|
||||||
if [ @version@ -eq 1 ]; then
|
copyForced $kernel $target/kernel.img
|
||||||
copyForced $kernel /boot/kernel.img
|
copyForced $initrd $target/initrd
|
||||||
else
|
for dtb in $dtb_path/{broadcom,}/bcm*.dtb; do
|
||||||
copyForced $kernel /boot/kernel7.img
|
dst="$target/$(basename $dtb)"
|
||||||
fi
|
|
||||||
copyForced $initrd /boot/initrd
|
|
||||||
for dtb in $dtb_path/bcm*.dtb; do
|
|
||||||
dst="/boot/$(basename $dtb)"
|
|
||||||
copyForced $dtb "$dst"
|
copyForced $dtb "$dst"
|
||||||
filesCopied[$dst]=1
|
filesCopied[$dst]=1
|
||||||
done
|
done
|
||||||
cp "$(readlink -f "$path/init")" /boot/nixos-init
|
cp "$(readlink -f "$path/init")" $target/nixos-init
|
||||||
echo "`cat $path/kernel-params` init=$path/init" >/boot/cmdline.txt
|
echo "`cat $path/kernel-params` init=$path/init" >$target/cmdline.txt
|
||||||
|
|
||||||
echo "$2" > /boot/defaultgeneration
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addEntry $default default
|
||||||
|
|
||||||
# Add all generations of the system profile to the menu, in reverse
|
# Add all generations of the system profile to the menu, in reverse
|
||||||
# (most recent to least recent) order.
|
# (most recent to least recent) order.
|
||||||
for generation in $(
|
for generation in $(
|
||||||
@ -105,21 +111,21 @@ done
|
|||||||
|
|
||||||
# Add the firmware files
|
# Add the firmware files
|
||||||
fwdir=@firmware@/share/raspberrypi/boot/
|
fwdir=@firmware@/share/raspberrypi/boot/
|
||||||
copyForced $fwdir/bootcode.bin /boot/bootcode.bin
|
copyForced $fwdir/bootcode.bin $target/bootcode.bin
|
||||||
copyForced $fwdir/fixup.dat /boot/fixup.dat
|
copyForced $fwdir/fixup.dat $target/fixup.dat
|
||||||
copyForced $fwdir/fixup_cd.dat /boot/fixup_cd.dat
|
copyForced $fwdir/fixup_cd.dat $target/fixup_cd.dat
|
||||||
copyForced $fwdir/fixup_db.dat /boot/fixup_db.dat
|
copyForced $fwdir/fixup_db.dat $target/fixup_db.dat
|
||||||
copyForced $fwdir/fixup_x.dat /boot/fixup_x.dat
|
copyForced $fwdir/fixup_x.dat $target/fixup_x.dat
|
||||||
copyForced $fwdir/start.elf /boot/start.elf
|
copyForced $fwdir/start.elf $target/start.elf
|
||||||
copyForced $fwdir/start_cd.elf /boot/start_cd.elf
|
copyForced $fwdir/start_cd.elf $target/start_cd.elf
|
||||||
copyForced $fwdir/start_db.elf /boot/start_db.elf
|
copyForced $fwdir/start_db.elf $target/start_db.elf
|
||||||
copyForced $fwdir/start_x.elf /boot/start_x.elf
|
copyForced $fwdir/start_x.elf $target/start_x.elf
|
||||||
|
|
||||||
# Add the config.txt
|
# Add the config.txt
|
||||||
copyForced @configTxt@ /boot/config.txt
|
copyForced @configTxt@ $target/config.txt
|
||||||
|
|
||||||
# Remove obsolete files from /boot and /boot/old.
|
# Remove obsolete files from $target and $target/old.
|
||||||
for fn in /boot/old/*linux* /boot/old/*initrd-initrd* /boot/bcm*.dtb; do
|
for fn in $target/old/*linux* $target/old/*initrd-initrd* $target/bcm*.dtb; do
|
||||||
if ! test "${filesCopied[$fn]}" = 1; then
|
if ! test "${filesCopied[$fn]}" = 1; then
|
||||||
rm -vf -- "$fn"
|
rm -vf -- "$fn"
|
||||||
fi
|
fi
|
@ -5,25 +5,16 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.boot.loader.raspberryPi;
|
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;
|
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 =
|
builder =
|
||||||
if cfg.uboot.enable then
|
if cfg.uboot.enable then
|
||||||
"${builderUboot} -g ${toString cfg.uboot.configurationLimit} -t ${timeoutStr} -c"
|
"${builderUboot} -g ${toString cfg.uboot.configurationLimit} -t ${timeoutStr} -c"
|
||||||
else
|
else
|
||||||
builderGeneric;
|
"${builderGeneric} -c";
|
||||||
|
|
||||||
blCfg = config.boot.loader;
|
blCfg = config.boot.loader;
|
||||||
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
||||||
@ -43,9 +34,12 @@ let
|
|||||||
'' + optional isAarch64 ''
|
'' + optional isAarch64 ''
|
||||||
# Boot in 64-bit mode.
|
# Boot in 64-bit mode.
|
||||||
arm_control=0x200
|
arm_control=0x200
|
||||||
'' + optional cfg.uboot.enable ''
|
'' + (if cfg.uboot.enable then ''
|
||||||
kernel=u-boot-rpi.bin
|
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
|
in
|
||||||
|
|
||||||
@ -65,7 +59,7 @@ in
|
|||||||
|
|
||||||
version = mkOption {
|
version = mkOption {
|
||||||
default = 2;
|
default = 2;
|
||||||
type = types.enum [ 1 2 3 ];
|
type = types.enum [ 0 1 2 3 ];
|
||||||
description = ''
|
description = ''
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{ config, pkgs, configTxt }:
|
{ pkgs, version, configTxt }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.boot.loader.raspberryPi;
|
|
||||||
isAarch64 = pkgs.stdenv.isAarch64;
|
isAarch64 = pkgs.stdenv.isAarch64;
|
||||||
|
|
||||||
uboot =
|
uboot =
|
||||||
if cfg.version == 1 then
|
if version == 0 then
|
||||||
|
pkgs.ubootRaspberryPiZero
|
||||||
|
else if version == 1 then
|
||||||
pkgs.ubootRaspberryPi
|
pkgs.ubootRaspberryPi
|
||||||
else if cfg.version == 2 then
|
else if version == 2 then
|
||||||
pkgs.ubootRaspberryPi2
|
pkgs.ubootRaspberryPi2
|
||||||
else
|
else
|
||||||
if isAarch64 then
|
if isAarch64 then
|
||||||
@ -21,7 +22,7 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
pkgs.substituteAll {
|
pkgs.substituteAll {
|
||||||
src = ./builder_uboot.sh;
|
src = ./uboot-builder.sh;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
inherit (pkgs) bash;
|
inherit (pkgs) bash;
|
||||||
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
||||||
@ -29,6 +30,6 @@ pkgs.substituteAll {
|
|||||||
inherit uboot;
|
inherit uboot;
|
||||||
inherit configTxt;
|
inherit configTxt;
|
||||||
inherit extlinuxConfBuilder;
|
inherit extlinuxConfBuilder;
|
||||||
version = cfg.version;
|
inherit version;
|
||||||
}
|
}
|
||||||
|
|
@ -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
|
@ -112,9 +112,6 @@ in {
|
|||||||
|
|
||||||
environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
|
environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
|
||||||
|
|
||||||
systemd.services."systemd-nspawn@" = {
|
|
||||||
wantedBy = [ "machine.target" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
, gnumake, gcc-arm-embedded, dfu-util-axoloti, jdk, ant, libfaketime }:
|
, gnumake, gcc-arm-embedded, dfu-util-axoloti, jdk, ant, libfaketime }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.0.12-1";
|
version = "1.0.12-2";
|
||||||
name = "axoloti-${version}";
|
name = "axoloti-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "axoloti";
|
owner = "axoloti";
|
||||||
repo = "axoloti";
|
repo = "axoloti";
|
||||||
rev = "${version}";
|
rev = "${version}";
|
||||||
sha256 = "13njmv8zac0kaaxgkv4y4zfjcclafn9cw0m8lj2k4926wnwjmf50";
|
sha256 = "1qffis277wshldr3i939b0r2x3a2mlr53samxqmr2nk1sfm2b4w9";
|
||||||
};
|
};
|
||||||
|
|
||||||
chibi_version = "2.6.9";
|
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>
|
<literal>SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0442", OWNER="someuser", GROUP="somegroup"</literal>
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ TealG ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,12 @@
|
|||||||
{ stdenv, fetchurl }:
|
{ stdenv, fetchurl }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "caps-${version}";
|
name = "caps-${version}";
|
||||||
version = "0.9.24";
|
version = "0.9.26";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2";
|
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 = ''
|
configurePhase = ''
|
||||||
echo "PREFIX = $out" > defines.make
|
echo "PREFIX = $out" > defines.make
|
||||||
'';
|
'';
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{ stdenv, fetchgit, libjack2, libGL, pkgconfig, xorg }:
|
{ stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dragonfly-reverb-${src.rev}";
|
name = "dragonfly-reverb-${src.rev}";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/michaelwillis/dragonfly-reverb";
|
owner = "michaelwillis";
|
||||||
rev = "0.9.1";
|
repo = "dragonfly-reverb";
|
||||||
sha256 = "1dbykx044h768bbzabdagl4jh65gqgfsxsrarjrkp07sqnhlnhpd";
|
rev = "0.9.4";
|
||||||
|
sha256 = "0lc45jybjwg4wrcz4s9lvzpvqawgj825rkqhz2xxvalfbvjazi53";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "fluidsynth-${version}";
|
name = "fluidsynth-${version}";
|
||||||
version = "1.1.10";
|
version = "1.1.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "FluidSynth";
|
owner = "FluidSynth";
|
||||||
repo = "fluidsynth";
|
repo = "fluidsynth";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p";
|
sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig cmake ];
|
nativeBuildInputs = [ pkgconfig cmake ];
|
||||||
|
@ -1,49 +1,61 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
|
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
|
||||||
, asio, alsaLib, avahi, libogg, libvorbis, flac }:
|
, alsaLib, asio, avahi, flac, libogg, libvorbis }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
popl = stdenv.mkDerivation rec {
|
dependency = { name, version, sha256 }:
|
||||||
name = "popl-${version}";
|
stdenv.mkDerivation {
|
||||||
version = "1.1.0";
|
name = "${name}-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "badaix";
|
owner = "badaix";
|
||||||
repo = "popl";
|
repo = name;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1zgjgcingyi1xw61azxxasaidbgqidncml5c2y2cj90mz23yam1i";
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
};
|
};
|
||||||
|
|
||||||
aixlog = stdenv.mkDerivation rec {
|
aixlog = dependency {
|
||||||
name = "aixlog-${version}";
|
name = "aixlog";
|
||||||
version = "1.2.1";
|
version = "1.2.1";
|
||||||
|
sha256 = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr";
|
||||||
|
};
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
popl = dependency {
|
||||||
owner = "badaix";
|
name = "popl";
|
||||||
repo = "aixlog";
|
version = "1.2.0";
|
||||||
rev = "v${version}";
|
sha256 = "1z6z7fwffs3d9h56mc2m24d5gp4fc5bi8836zyfb276s6fjyfcai";
|
||||||
sha256 = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "snapcast-${version}";
|
name = "snapcast-${version}";
|
||||||
version = "0.14.0";
|
version = "0.15.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "badaix";
|
owner = "badaix";
|
||||||
repo = "snapcast";
|
repo = "snapcast";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "14f5jrsarjdk2mixmznmighrh22j6flp7y47r9j3qzxycmm1mcf6";
|
sha256 = "11rnpy6w3wm240qgmkp74k5w8wh5b7hzfx05qrnh6l7ng7m25ky2";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
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; {
|
meta = with lib; {
|
||||||
description = "Synchronous multi-room audio player";
|
description = "Synchronous multi-room audio player";
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "snd-18.7";
|
name = "snd-18.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/snd/${name}.tar.gz";
|
url = "mirror://sourceforge/snd/${name}.tar.gz";
|
||||||
sha256 = "1d7g043r534shwsq5s4xsywgn5qv96v9wnhdx04j21s9w7fy9ypl";
|
sha256 = "16p6cmxl8y58wa19k1z6i66qsqaz7rld4850b0sprbxjjb6cqhf7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -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)"
|
nixpkgs="$(git rev-parse --show-toplevel)"
|
||||||
spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix"
|
spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix"
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# find the newest stable spotify version avaiable on snapcraft
|
||||||
|
#
|
||||||
|
|
||||||
# create bash array from snap info
|
# create bash array from snap info
|
||||||
snap_info=($(
|
snap_info=($(
|
||||||
@ -12,38 +35,62 @@ snap_info=($(
|
|||||||
'.revision,.download_sha512,.version,.last_updated'
|
'.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]}"
|
revision="${snap_info[0]}"
|
||||||
sha512="${snap_info[1]}"
|
sha512="${snap_info[1]}"
|
||||||
version="${snap_info[2]}"
|
upstream_version="${snap_info[2]}"
|
||||||
last_updated="${snap_info[3]}"
|
last_updated="${snap_info[3]}"
|
||||||
|
|
||||||
# find the last commited version
|
echo "Latest $channel release is $upstream_version from $last_updated."
|
||||||
version_pre=$(
|
|
||||||
git grep 'version\s*=' HEAD "$spotify_nix" \
|
#
|
||||||
|
# read the current spotify version from the currently *committed* nix expression
|
||||||
|
#
|
||||||
|
|
||||||
|
current_nix_version=$(
|
||||||
|
grep 'version\s*=' "$spotify_nix" \
|
||||||
| sed -Ene 's/.*"(.*)".*/\1/p'
|
| 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"
|
echo "Spotify is already up ot date"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
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 \
|
sed --regexp-extended \
|
||||||
-e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \
|
-e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \
|
||||||
-e 's/sha512\s*=\s*".{128}"\s*;/sha512 = "'"${sha512}"'";/' \
|
-e 's/sha512\s*=\s*"[^"]*"\s*;/sha512 = "'"${sha512}"'";/' \
|
||||||
-e 's/version\s*=\s*".*"\s*;/version = "'"${version}"'";/' \
|
-e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \
|
||||||
-i "$spotify_nix"
|
-i "$spotify_nix"
|
||||||
|
|
||||||
|
#
|
||||||
|
# try to build the updated version
|
||||||
|
#
|
||||||
|
|
||||||
if ! nix-build -A spotify "$nixpkgs"; then
|
if ! nix-build -A spotify "$nixpkgs"; then
|
||||||
echo "The updated spotify failed to build."
|
echo "The updated spotify failed to build."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# give instructions for upstreaming
|
||||||
|
#
|
||||||
|
|
||||||
git add "$spotify_nix"
|
git add "$spotify_nix"
|
||||||
# show diff for review
|
# show changes for review
|
||||||
git diff HEAD
|
git status
|
||||||
# prepare commit message, but allow edit
|
echo 'Please review and test the changes (./result/bin/spotify).'
|
||||||
git commit --edit --message "spotify: $version_pre -> $version"
|
echo 'Then stage the changes with `git add` and commit with:'
|
||||||
|
# prepare commit message
|
||||||
|
echo "git commit -m 'spotify: $current_nix_version -> $upstream_version'"
|
||||||
|
@ -6,7 +6,7 @@ python2.pkgs.buildPythonApplication rec {
|
|||||||
version = "0.7.0";
|
version = "0.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "JoeLametta";
|
owner = "whipper-team";
|
||||||
repo = "whipper";
|
repo = "whipper";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "04m8s0s9dcnly9l6id8vv99n9kbjrjid79bss52ay9yvwng0frmj";
|
sha256 = "04m8s0s9dcnly9l6id8vv99n9kbjrjid79bss52ay9yvwng0frmj";
|
||||||
@ -39,7 +39,7 @@ python2.pkgs.buildPythonApplication rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
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";
|
description = "A CD ripper aiming for accuracy over speed";
|
||||||
maintainers = with maintainers; [ rycee jgeerds ];
|
maintainers = with maintainers; [ rycee jgeerds ];
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
|
@ -1,6 +1,19 @@
|
|||||||
{ stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }:
|
{ stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }:
|
||||||
|
|
||||||
let
|
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}:
|
common = pname: {version, sha256, beta ? null}:
|
||||||
let fullVersion = version + stdenv.lib.optionalString (beta != null) "-beta${toString beta}";
|
let fullVersion = version + stdenv.lib.optionalString (beta != null) "-beta${toString beta}";
|
||||||
name = "${pname}-${fullVersion}";
|
name = "${pname}-${fullVersion}";
|
||||||
@ -71,15 +84,4 @@ let
|
|||||||
platforms = platforms.x86_64;
|
platforms = platforms.x86_64;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in stdenv.lib.mapAttrs common {
|
in stdenv.lib.mapAttrs common versions
|
||||||
atom = {
|
|
||||||
version = "1.31.2";
|
|
||||||
sha256 = "1szx9p2nz1qzjpig0l8h4hj5mqwpjvkcynn8crh21drply4bpfr0";
|
|
||||||
};
|
|
||||||
|
|
||||||
atom-beta = {
|
|
||||||
version = "1.32.0";
|
|
||||||
beta = 0;
|
|
||||||
sha256 = "12k5cn70a0diyaqbmq6s6l2sbi9i3d9p7i38qnm97lnw0y1kh0jm";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
@ -555,12 +555,12 @@ rec {
|
|||||||
|
|
||||||
spotbugs = buildEclipseUpdateSite rec {
|
spotbugs = buildEclipseUpdateSite rec {
|
||||||
name = "spotbugs-${version}";
|
name = "spotbugs-${version}";
|
||||||
version = "3.1.6";
|
version = "3.1.8";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
|
url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
|
||||||
sha256 = "1qsams12n64slp00nfc9v943sy9bzffzm7anqqaz2hjw64iia7fh";
|
sha256 = "0086shivxx745f69226f59xcv7l9xliwyr9kxm6zyn753c888js3";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -14,4 +14,7 @@ mkDerivation {
|
|||||||
qtscript qtsvg qtquickcontrols qtwebkit shared-mime-info krunner kparts
|
qtscript qtsvg qtquickcontrols qtwebkit shared-mime-info krunner kparts
|
||||||
knewstuff gpsd
|
knewstuff gpsd
|
||||||
];
|
];
|
||||||
|
preConfigure = ''
|
||||||
|
cmakeFlags+=" -DINCLUDE_INSTALL_DIR=''${!outputDev}/include"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -6,51 +6,20 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let libPath = lib.makeLibraryPath [
|
let libPath = lib.makeLibraryPath [
|
||||||
alsaLib
|
alsaLib atk cairo cups curl dbus expat ffmpeg fontconfig freetype gdk_pixbuf
|
||||||
atk
|
glib glibc gnome2.GConf gtk2 libopus nspr nss pango stdenv.cc.cc udev x264
|
||||||
cairo
|
libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes
|
||||||
cups
|
libXi libXrandr libXrender libXtst libpulseaudio libxcb
|
||||||
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 {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "airtame";
|
pname = "airtame";
|
||||||
version = "3.1.1";
|
version = "3.3.0";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
longName = "${pname}-application";
|
longName = "${pname}-application";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.airtame.com/application/ga/lin_x64/releases/${longName}-${version}.tar.gz";
|
url = "https://downloads.airtame.com/application/ga/lin_x64/releases/${longName}-${version}.tar.gz";
|
||||||
sha256 = "1am1qz280r5g9i0vwwx5lr24fpdl5lazhpr2bhb34nlr5d8rsmzr";
|
sha256 = "16ca1vcxpka26jcrfbxpq74kcizgrm138j94bby6kzqp2swhrl76";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
@ -77,15 +46,26 @@ in stdenv.mkDerivation rec {
|
|||||||
ln -s "$opt/icon.png" "$out/share/icons/airtame.png"
|
ln -s "$opt/icon.png" "$out/share/icons/airtame.png"
|
||||||
|
|
||||||
# Flags and rpath are copied from launch-airtame.sh.
|
# Flags and rpath are copied from launch-airtame.sh.
|
||||||
interp="$(< $NIX_CC/nix-support/dynamic-linker)"
|
vendorlib="\
|
||||||
vendorlib="$opt/resources/app.asar.unpacked/streamer/vendor/airtame-core/lib"
|
$opt/resources/app.asar.unpacked/modules/streamer/dist/deps/airtame-modules:\
|
||||||
rpath="${libPath}:$opt:$vendorlib:$opt/resources/app.asar.unpacked/encryption/out/lib"
|
$opt/resources/app.asar.unpacked/encryption/out/lib:\
|
||||||
rm $vendorlib/libcurl.so*
|
$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.*" \) \
|
find "$opt" \( -type f -executable -o -name "*.so" -o -name "*.so.*" \) \
|
||||||
-exec patchelf --set-rpath "$rpath" {} \;
|
-exec patchelf --set-rpath "$rpath" {} \;
|
||||||
|
|
||||||
# The main binary also needs libudev which was removed by --shrink-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}
|
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;
|
dontPatchELF = true;
|
||||||
|
@ -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
|
, libxslt, docbook_xml_dtd_412, docbook_xsl, libxml2, findXMLCatalogs
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
automake autoconf intltool pkgconfig
|
automake autoconf intltool pkgconfig wrapGAppsHook
|
||||||
libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs
|
libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs
|
||||||
];
|
];
|
||||||
|
|
||||||
|
25
pkgs/applications/misc/mako/default.nix
Normal file
25
pkgs/applications/misc/mako/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.6.2";
|
version = "0.6.3";
|
||||||
sqlGda = libgda.override {
|
sqlGda = libgda.override {
|
||||||
mysqlSupport = true;
|
mysqlSupport = true;
|
||||||
postgresSupport = true;
|
postgresSupport = true;
|
||||||
@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
|
|||||||
owner = "Alecaddd";
|
owner = "Alecaddd";
|
||||||
repo = "sequeler";
|
repo = "sequeler";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0j5z3z34jc1acclmlkjpv7fcs4f2gf0bcfnvcpn3zdzw9fzj0sw7";
|
sha256 = "14a0i9y003m4pvdfp4ax7jfxvyzvyfg45zhln44rm08rfngb0f7k";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection gettext wrapGAppsHook python3 desktop-file-utils ];
|
nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection gettext wrapGAppsHook python3 desktop-file-utils ];
|
||||||
|
29
pkgs/applications/misc/visidata/default.nix
Normal file
29
pkgs/applications/misc/visidata/default.nix
Normal 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/";
|
||||||
|
};
|
||||||
|
}
|
@ -12,13 +12,13 @@ in
|
|||||||
|
|
||||||
stdenv'.mkDerivation rec {
|
stdenv'.mkDerivation rec {
|
||||||
name = "xmr-stak-${version}";
|
name = "xmr-stak-${version}";
|
||||||
version = "2.5.0";
|
version = "2.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fireice-uk";
|
owner = "fireice-uk";
|
||||||
repo = "xmr-stak";
|
repo = "xmr-stak";
|
||||||
rev = "${version}";
|
rev = "${version}";
|
||||||
sha256 = "1qls0rai9c1cszcqqqmhcdvcsmm23w1jxzlq2b035apkz7ywbxjl";
|
sha256 = "0n042vxrr52k6x86h06f298flmxghsfh2a3kqnc41r7p7qybgjj8";
|
||||||
};
|
};
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-O3";
|
NIX_CFLAGS_COMPILE = "-O3";
|
||||||
@ -40,6 +40,6 @@ stdenv'.mkDerivation rec {
|
|||||||
description = "Unified All-in-one Monero miner";
|
description = "Unified All-in-one Monero miner";
|
||||||
homepage = "https://github.com/fireice-uk/xmr-stak";
|
homepage = "https://github.com/fireice-uk/xmr-stak";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ fpletz ];
|
maintainers = with maintainers; [ fpletz bfortz ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
108
pkgs/applications/networking/browsers/brave/default.nix
Normal file
108
pkgs/applications/networking/browsers/brave/default.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
{ pname, version, updateScript ? null
|
{ pname, ffversion, meta, updateScript ? null
|
||||||
, src, patches ? [], extraConfigureFlags ? [], extraMakeFlags ? []
|
, src, unpackPhase ? null, patches ? []
|
||||||
, overrides ? {}, extraNativeBuildInputs ? [], meta
|
, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? []
|
||||||
, isTorBrowserLike ? false }:
|
, isTorBrowserLike ? false, tbversion ? null }:
|
||||||
|
|
||||||
{ lib, stdenv, pkgconfig, pango, perl, python2, zip, libIDL
|
{ lib, stdenv, pkgconfig, pango, perl, python2, zip, libIDL
|
||||||
, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
|
, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
|
||||||
@ -19,7 +19,7 @@
|
|||||||
, alsaSupport ? stdenv.isLinux, alsaLib
|
, alsaSupport ? stdenv.isLinux, alsaLib
|
||||||
, pulseaudioSupport ? true, libpulseaudio
|
, pulseaudioSupport ? true, libpulseaudio
|
||||||
, ffmpegSupport ? true, gstreamer, gst-plugins-base
|
, ffmpegSupport ? true, gstreamer, gst-plugins-base
|
||||||
, gtk3Support ? !isTorBrowserLike, gtk2, gtk3, wrapGAppsHook
|
, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
|
||||||
, gssSupport ? true, kerberos
|
, gssSupport ? true, kerberos
|
||||||
|
|
||||||
## privacy-related options
|
## privacy-related options
|
||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
# webrtcSupport breaks the aarch64 build on version >= 60.
|
# webrtcSupport breaks the aarch64 build on version >= 60.
|
||||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1434589
|
# 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
|
, geolocationSupport ? !privacySupport
|
||||||
, googleAPISupport ? geolocationSupport
|
, googleAPISupport ? geolocationSupport
|
||||||
, crashreporterSupport ? false
|
, crashreporterSupport ? false
|
||||||
@ -80,23 +80,24 @@ let
|
|||||||
browserName = if stdenv.isDarwin then "Firefox" else "firefox";
|
browserName = if stdenv.isDarwin then "Firefox" else "firefox";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "${pname}-unwrapped-${version}";
|
name = "${pname}-unwrapped-${version}";
|
||||||
|
version = if !isTorBrowserLike then ffversion else tbversion;
|
||||||
|
|
||||||
inherit src patches meta;
|
inherit src unpackPhase patches meta;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk2 perl zip libIDL libjpeg zlib bzip2
|
gtk2 perl zip libIDL libjpeg zlib bzip2
|
||||||
dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
|
dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
|
||||||
xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
|
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.libXScrnSaver xorg.scrnsaverproto
|
||||||
xorg.libXext xorg.xextproto sqlite unzip makeWrapper
|
xorg.libXext xorg.xextproto sqlite unzip makeWrapper
|
||||||
libevent libstartup_notification libvpx /* cairo */
|
libevent libstartup_notification libvpx /* cairo */
|
||||||
icu libpng jemalloc glib
|
icu libpng jemalloc glib
|
||||||
]
|
]
|
||||||
++ lib.optionals (!isTorBrowserLike) [ nss ]
|
++ lib.optionals (!isTorBrowserLike) [ nspr nss ]
|
||||||
++ lib.optional (lib.versionOlder version "61") hunspell
|
++ lib.optional (lib.versionOlder ffversion "61") hunspell
|
||||||
++ lib.optional alsaSupport alsaLib
|
++ lib.optional alsaSupport alsaLib
|
||||||
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
|
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
|
||||||
++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ]
|
++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ]
|
||||||
@ -106,12 +107,17 @@ stdenv.mkDerivation (rec {
|
|||||||
AVFoundation MediaToolbox CoreLocation
|
AVFoundation MediaToolbox CoreLocation
|
||||||
Foundation libobjc AddressBook cups ];
|
Foundation libobjc AddressBook cups ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = [ "-I${nspr.dev}/include/nspr"
|
NIX_CFLAGS_COMPILE = [
|
||||||
"-I${nss.dev}/include/nss"
|
"-I${glib.dev}/include/gio-unix-2.0"
|
||||||
"-I${glib.dev}/include/gio-unix-2.0" ]
|
]
|
||||||
++ lib.optional stdenv.isDarwin [
|
++ lib.optionals (!isTorBrowserLike) [
|
||||||
"-isystem ${llvmPackages.libcxx}/include/c++/v1"
|
"-I${nspr.dev}/include/nspr"
|
||||||
"-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10" ];
|
"-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 ''
|
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0
|
substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0
|
||||||
@ -128,14 +134,14 @@ stdenv.mkDerivation (rec {
|
|||||||
rm -f configure
|
rm -f configure
|
||||||
rm -f js/src/configure
|
rm -f js/src/configure
|
||||||
rm -f .mozconfig*
|
rm -f .mozconfig*
|
||||||
'' + (if lib.versionAtLeast version "58"
|
'' + (if lib.versionAtLeast ffversion "58"
|
||||||
# this will run autoconf213
|
# this will run autoconf213
|
||||||
then ''
|
then ''
|
||||||
configureScript="$(realpath ./mach) configure"
|
configureScript="$(realpath ./mach) configure"
|
||||||
'' else ''
|
'' else ''
|
||||||
make -f client.mk configure-files
|
make -f client.mk configure-files
|
||||||
configureScript="$(realpath ./configure)"
|
configureScript="$(realpath ./configure)"
|
||||||
'') + lib.optionalString (!isTorBrowserLike && lib.versionAtLeast version "53") ''
|
'') + lib.optionalString (lib.versionAtLeast ffversion "53") ''
|
||||||
export MOZCONFIG=$(pwd)/mozconfig
|
export MOZCONFIG=$(pwd)/mozconfig
|
||||||
|
|
||||||
# Set C flags for Rust's bindgen program. Unlike ordinary C
|
# 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.
|
# please get your own set of keys.
|
||||||
echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga
|
echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga
|
||||||
configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga")
|
configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga")
|
||||||
'' + lib.optionalString (lib.versionOlder version "58") ''
|
'' + lib.optionalString (lib.versionOlder ffversion "58") ''
|
||||||
cd obj-*
|
cd obj-*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -185,37 +191,29 @@ stdenv.mkDerivation (rec {
|
|||||||
"--disable-gconf"
|
"--disable-gconf"
|
||||||
"--enable-default-toolkit=${default-toolkit}"
|
"--enable-default-toolkit=${default-toolkit}"
|
||||||
]
|
]
|
||||||
++ lib.optional (stdenv.isDarwin && lib.versionAtLeast version "61") "--disable-xcode-checks"
|
++ lib.optional (stdenv.isDarwin && lib.versionAtLeast ffversion "61") "--disable-xcode-checks"
|
||||||
++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell"
|
++ lib.optional (lib.versionOlder ffversion "61") "--enable-system-hunspell"
|
||||||
++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
|
++ lib.optionals (lib.versionAtLeast ffversion "56" && !stdenv.hostPlatform.isi686) [
|
||||||
# on i686-linux: --with-libclang-path is not available in this configuration
|
# on i686-linux: --with-libclang-path is not available in this configuration
|
||||||
"--with-libclang-path=${llvmPackages.libclang}/lib"
|
"--with-libclang-path=${llvmPackages.libclang}/lib"
|
||||||
"--with-clang-path=${llvmPackages.clang}/bin/clang"
|
"--with-clang-path=${llvmPackages.clang}/bin/clang"
|
||||||
]
|
]
|
||||||
++ lib.optionals (lib.versionAtLeast version "57") [
|
++ lib.optionals (lib.versionAtLeast ffversion "57") [
|
||||||
"--enable-webrender=build"
|
"--enable-webrender=build"
|
||||||
]
|
]
|
||||||
|
|
||||||
# TorBrowser patches these
|
# TorBrowser patches these
|
||||||
++ lib.optionals (!isTorBrowserLike) [
|
++ lib.optionals (!isTorBrowserLike) [
|
||||||
"--with-system-nss"
|
|
||||||
"--with-system-nspr"
|
"--with-system-nspr"
|
||||||
|
"--with-system-nss"
|
||||||
]
|
]
|
||||||
|
|
||||||
# and wants these
|
# and wants these
|
||||||
++ lib.optionals isTorBrowserLike ([
|
++ lib.optionals isTorBrowserLike ([
|
||||||
"--with-tor-browser-version=${version}"
|
"--with-tor-browser-version=${tbversion}"
|
||||||
"--enable-signmar"
|
"--enable-signmar"
|
||||||
"--enable-verify-mar"
|
"--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 alsaSupport "alsa"
|
||||||
++ flag pulseaudioSupport "pulseaudio"
|
++ flag pulseaudioSupport "pulseaudio"
|
||||||
@ -226,6 +224,11 @@ stdenv.mkDerivation (rec {
|
|||||||
++ flag crashreporterSupport "crashreporter"
|
++ flag crashreporterSupport "crashreporter"
|
||||||
++ lib.optional drmSupport "--enable-eme=widevine"
|
++ 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" ]
|
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
|
||||||
else [ "--disable-debug" "--enable-release"
|
else [ "--disable-debug" "--enable-release"
|
||||||
"--enable-optimize"
|
"--enable-optimize"
|
||||||
@ -239,11 +242,11 @@ stdenv.mkDerivation (rec {
|
|||||||
# top level and then run `make` in obj-*. (We can also run the
|
# 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` at the top level in 58, but then we would have to `cd` to
|
||||||
# `make install` anyway. This is ugly, but simple.)
|
# `make install` anyway. This is ugly, but simple.)
|
||||||
postConfigure = lib.optionalString (lib.versionAtLeast version "58") ''
|
postConfigure = lib.optionalString (lib.versionAtLeast ffversion "58") ''
|
||||||
cd obj-*
|
cd obj-*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preBuild = lib.optionalString (enableOfficialBranding && isTorBrowserLike) ''
|
preBuild = lib.optionalString isTorBrowserLike ''
|
||||||
buildFlagsArray=("MOZ_APP_DISPLAYNAME=Tor Browser")
|
buildFlagsArray=("MOZ_APP_DISPLAYNAME=Tor Browser")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -302,4 +305,4 @@ stdenv.mkDerivation (rec {
|
|||||||
inherit browserName;
|
inherit browserName;
|
||||||
} // lib.optionalAttrs gtk3Support { inherit gtk3; };
|
} // lib.optionalAttrs gtk3Support { inherit gtk3; };
|
||||||
|
|
||||||
} // overrides)
|
}
|
||||||
|
@ -2,16 +2,22 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
common = opts: callPackage (import ./common.nix opts);
|
common = opts: callPackage (import ./common.nix opts) {};
|
||||||
|
|
||||||
nixpkgsPatches = [
|
nixpkgsPatches = [
|
||||||
./env_var_for_system_dir.patch
|
./env_var_for_system_dir.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
firefox60_aarch64_skia_patch = fetchpatch {
|
firefox60_aarch64_skia_patch = fetchpatch {
|
||||||
name = "aarch64-skia.patch";
|
name = "aarch64-skia.patch";
|
||||||
url = https://src.fedoraproject.org/rpms/firefox/raw/8cff86d95da3190272d1beddd45b41de3148f8ef/f/build-aarch64-skia.patch;
|
url = https://src.fedoraproject.org/rpms/firefox/raw/8cff86d95da3190272d1beddd45b41de3148f8ef/f/build-aarch64-skia.patch;
|
||||||
sha256 = "11acb0ms4jrswp7268nm2p8g8l4lv8zc666a5bqjbb09x9k6b78k";
|
sha256 = "11acb0ms4jrswp7268nm2p8g8l4lv8zc666a5bqjbb09x9k6b78k";
|
||||||
|
};
|
||||||
|
|
||||||
|
firefox60_triplet_patch = fetchpatch {
|
||||||
|
name = "triplet.patch";
|
||||||
|
url = https://hg.mozilla.org/releases/mozilla-release/raw-rev/bc651d3d910c;
|
||||||
|
sha256 = "0iybkadsgsf6a3pq3jh8z1p110vmpkih8i35jfj8micdkhxzi89g";
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
@ -20,9 +26,9 @@ rec {
|
|||||||
|
|
||||||
firefox = common rec {
|
firefox = common rec {
|
||||||
pname = "firefox";
|
pname = "firefox";
|
||||||
version = "62.0.3";
|
ffversion = "62.0.3";
|
||||||
src = fetchurl {
|
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";
|
sha512 = "0kvb664s47bmmdq2ppjsnyqy8yaiig1xj81r25s36c3i8igfq3zxvws10k2dlmmmrwyc5k4g9i9imgkxj7r3xwwqxc72dl429wvfys8";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -42,13 +48,13 @@ rec {
|
|||||||
updateScript = callPackage ./update.nix {
|
updateScript = callPackage ./update.nix {
|
||||||
attrPath = "firefox-unwrapped";
|
attrPath = "firefox-unwrapped";
|
||||||
};
|
};
|
||||||
} {};
|
};
|
||||||
|
|
||||||
firefox-esr-52 = common rec {
|
firefox-esr-52 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
version = "52.9.0esr";
|
ffversion = "52.9.0esr";
|
||||||
src = fetchurl {
|
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";
|
sha512 = "bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -64,15 +70,15 @@ rec {
|
|||||||
};
|
};
|
||||||
updateScript = callPackage ./update.nix {
|
updateScript = callPackage ./update.nix {
|
||||||
attrPath = "firefox-esr-52-unwrapped";
|
attrPath = "firefox-esr-52-unwrapped";
|
||||||
versionSuffix = "esr";
|
ffversionSuffix = "esr";
|
||||||
};
|
};
|
||||||
} {};
|
};
|
||||||
|
|
||||||
firefox-esr-60 = common rec {
|
firefox-esr-60 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
version = "60.2.2esr";
|
ffversion = "60.2.2esr";
|
||||||
src = fetchurl {
|
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";
|
sha512 = "2h2naaxx4lv90bjpcrsma4sdhl4mvsisx3zi09vakjwv2lad91gy41cmcpqprpcbsmlvpqf8yiv52ah4d02a8d9335xhw2ajw6asjc1";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -91,23 +97,27 @@ rec {
|
|||||||
attrPath = "firefox-esr-60-unwrapped";
|
attrPath = "firefox-esr-60-unwrapped";
|
||||||
versionSuffix = "esr";
|
versionSuffix = "esr";
|
||||||
};
|
};
|
||||||
} {};
|
};
|
||||||
|
|
||||||
} // (let
|
} // (let
|
||||||
|
|
||||||
commonAttrs = {
|
tbcommon = args: common (args // {
|
||||||
overrides = {
|
pname = "tor-browser";
|
||||||
unpackPhase = ''
|
isTorBrowserLike = true;
|
||||||
# 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
|
unpackPhase = ''
|
||||||
find . -exec touch -d'2010-01-01 00:00' {} \;
|
# 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 = {
|
meta = {
|
||||||
description = "A web browser built from TorBrowser source tree";
|
description = "A web browser built from TorBrowser source tree";
|
||||||
@ -142,14 +152,13 @@ rec {
|
|||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.bsd3;
|
license = lib.licenses.bsd3;
|
||||||
};
|
};
|
||||||
};
|
});
|
||||||
|
|
||||||
in rec {
|
in rec {
|
||||||
|
|
||||||
tor-browser-7-5 = common (rec {
|
tor-browser-7-5 = (tbcommon rec {
|
||||||
pname = "tor-browser";
|
ffversion = "52.9.0esr";
|
||||||
version = "7.5.6";
|
tbversion = "7.5.6";
|
||||||
isTorBrowserLike = true;
|
|
||||||
|
|
||||||
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
|
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@ -159,27 +168,24 @@ in rec {
|
|||||||
rev = "95bb92d552876a1f4260edf68fda5faa3eb36ad8";
|
rev = "95bb92d552876a1f4260edf68fda5faa3eb36ad8";
|
||||||
sha256 = "1ykn3yg4s36g2cpzxbz7s995c33ij8kgyvghx38z4i8siaqxdddy";
|
sha256 = "1ykn3yg4s36g2cpzxbz7s995c33ij8kgyvghx38z4i8siaqxdddy";
|
||||||
};
|
};
|
||||||
|
}).override {
|
||||||
|
gtk3Support = false;
|
||||||
|
};
|
||||||
|
|
||||||
patches = nixpkgsPatches;
|
tor-browser-8-0 = tbcommon rec {
|
||||||
} // commonAttrs) {};
|
ffversion = "60.2.1esr";
|
||||||
|
tbversion = "8.0.2";
|
||||||
tor-browser-8-0 = common (rec {
|
|
||||||
pname = "tor-browser";
|
|
||||||
version = "8.0.1";
|
|
||||||
isTorBrowserLike = true;
|
|
||||||
|
|
||||||
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
|
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "SLNOS";
|
owner = "SLNOS";
|
||||||
repo = "tor-browser";
|
repo = "tor-browser";
|
||||||
# branch "tor-browser-52.8.0esr-8.0-1-slnos";
|
# branch "tor-browser-60.2.1esr-8.0-1-slnos"
|
||||||
rev = "5d7e9e1cacbf70840f8f1a9aafe99f354f9ad0ca";
|
rev = "4f71403a3e6203baa349a8f81d8664782c5ea548";
|
||||||
sha256 = "0cwxwwc4m7331bbp3id694ffwxar0j5kfpgpn9l1z36rmgv92n21";
|
sha256 = "0zxdi162gpnfca7g77hc0rw4wkmxhfzp9hfmw6dpn97d5kn1zqq3";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
patches = nixpkgsPatches;
|
tor-browser = tor-browser-8-0;
|
||||||
} // commonAttrs) {};
|
|
||||||
|
|
||||||
tor-browser = tor-browser-7-5;
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -103,7 +103,7 @@ let
|
|||||||
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||||
|
|
||||||
# Upstream source
|
# Upstream source
|
||||||
version = "8.0.2";
|
version = "8.0.3";
|
||||||
|
|
||||||
lang = "en-US";
|
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://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"
|
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||||
];
|
];
|
||||||
sha256 = "1vajphnl53bhp0bnq8shljvnnq4k2wpvfrfclmxklp97lqvfl9vz";
|
sha256 = "19clhhsyhc8brjzjyrq0xl5gavwhbyq036nbl0x6dybawr3684gz";
|
||||||
};
|
};
|
||||||
|
|
||||||
"i686-linux" = fetchurl {
|
"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://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"
|
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||||
];
|
];
|
||||||
sha256 = "157yd8n53w79xx58xf5v983a50xq1s0c09cr7qfd5cxgs7zrwh34";
|
sha256 = "1hlrbn8r9z93mswnaksn66azgf3zjf08wrlk58risli32j9gywd0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
25
pkgs/applications/networking/cloudflared/default.nix
Normal file
25
pkgs/applications/networking/cloudflared/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
444
pkgs/applications/networking/cloudflared/deps.nix
generated
Normal file
444
pkgs/applications/networking/cloudflared/deps.nix
generated
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]
|
@ -2,22 +2,21 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "pidgin-opensteamworks-${version}";
|
name = "pidgin-opensteamworks-${version}";
|
||||||
version = "1.6.1";
|
version = "unstable-2018-08-02";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "EionRobb";
|
owner = "EionRobb";
|
||||||
repo = "pidgin-opensteamworks";
|
repo = "pidgin-opensteamworks";
|
||||||
rev = "${version}";
|
rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
|
||||||
sha256 = "6ab27831e454ad3b440e4f06b52e0b3671a4f8417ba4da3ab6f56c56d82cc29b";
|
sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = "cd steam-mobile";
|
preConfigure = "cd steam-mobile";
|
||||||
postInstall = ''
|
installFlags = [
|
||||||
mkdir -p $out/lib/purple-2
|
"DESTDIR=$(out)"
|
||||||
mkdir -p $out/share/pixmaps/pidgin/protocols/
|
"PLUGIN_DIR_PURPLE=/lib/purple-2"
|
||||||
cp libsteam.so $out/lib/purple-2/
|
"DATA_ROOT_DIR_PURPLE=/share"
|
||||||
unzip releases/icons.zip -d $out/share/pixmaps/pidgin/protocols/
|
];
|
||||||
'';
|
|
||||||
|
|
||||||
buildInputs = [ pidgin unzip glib json-glib nss nspr libgnome-keyring ];
|
buildInputs = [ pidgin unzip glib json-glib nss nspr libgnome-keyring ];
|
||||||
|
|
||||||
|
@ -56,11 +56,11 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "signal-desktop-${version}";
|
name = "signal-desktop-${version}";
|
||||||
version = "1.16.3";
|
version = "1.17.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "1fhs3408i8f80z5rlchrc3gwm0481rxqb5jk37gb8ip94zf97hsf";
|
sha256 = "0daxp8ychvvr4lqz8wni8lkalk3w409pzwnikvf92f1whxs76xj0";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
phases = [ "unpackPhase" "installPhase" ];
|
||||||
|
@ -6,7 +6,7 @@ with stdenv.lib;
|
|||||||
let
|
let
|
||||||
bits = "x86_64";
|
bits = "x86_64";
|
||||||
|
|
||||||
version = "4.3.0";
|
version = "4.4.0";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem rec {
|
desktopItem = makeDesktopItem rec {
|
||||||
name = "Wavebox";
|
name = "Wavebox";
|
||||||
@ -23,7 +23,7 @@ in stdenv.mkDerivation rec {
|
|||||||
name = "wavebox-${version}";
|
name = "wavebox-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
|
url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
|
||||||
sha256 = "0kdg5q9rv8nxlg5jhmdfy5vv7gkdswzhy49af29d3zf57z69187c";
|
sha256 = "0g77clrxks1ivldq496bg14hv57hm0kjh4g1askxyck69yf8illn";
|
||||||
};
|
};
|
||||||
|
|
||||||
# don't remove runtime deps
|
# don't remove runtime deps
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
, asciidoctor # manpages
|
, asciidoctor # manpages
|
||||||
, guileSupport ? true, guile
|
, guileSupport ? true, guile
|
||||||
, luaSupport ? true, lua5
|
, luaSupport ? true, lua5
|
||||||
, perlSupport ? true, perl
|
, perlSupport ? true, perl, perlPackages
|
||||||
, pythonSupport ? true, pythonPackages
|
, pythonSupport ? true, pythonPackages
|
||||||
, rubySupport ? true, ruby
|
, rubySupport ? true, ruby
|
||||||
, tclSupport ? true, tcl
|
, tclSupport ? true, tcl
|
||||||
@ -108,6 +108,12 @@ in if configure == null then weechat else
|
|||||||
extraEnv = ''
|
extraEnv = ''
|
||||||
export PATH="${perlInterpreter}/bin:$PATH"
|
export PATH="${perlInterpreter}/bin:$PATH"
|
||||||
'';
|
'';
|
||||||
|
withPackages = pkgsFun: (perl // {
|
||||||
|
extraEnv = ''
|
||||||
|
${perl.extraEnv}
|
||||||
|
export PERL5LIB=${lib.makeFullPerlPath (pkgsFun perlPackages)}
|
||||||
|
'';
|
||||||
|
});
|
||||||
};
|
};
|
||||||
tcl = simplePlugin "tcl";
|
tcl = simplePlugin "tcl";
|
||||||
ruby = simplePlugin "ruby";
|
ruby = simplePlugin "ruby";
|
||||||
|
@ -118,12 +118,21 @@ let
|
|||||||
sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
|
sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Fix compile error against boost 1.66 (#33655):
|
patches = [
|
||||||
patches = singleton (fetchpatch {
|
# Fix compile error against boost 1.66 (#33655):
|
||||||
url = "https://github.com/mumble-voip/mumble/commit/"
|
(fetchpatch {
|
||||||
+ "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
|
url = "https://github.com/mumble-voip/mumble/commit/"
|
||||||
sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
|
+ "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 {
|
gitSource = rec {
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
python2Packages.buildPythonApplication rec {
|
||||||
pname = "zeronet";
|
pname = "zeronet";
|
||||||
version = "0.6.2";
|
version = "0.6.4";
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "HelloZeroNet";
|
owner = "HelloZeroNet";
|
||||||
repo = "ZeroNet";
|
repo = "ZeroNet";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0v19jjirkyv8hj2yfdj0c40zwynn51h2bj4issn5blr95vhfm8s7";
|
sha256 = "04mpnkx0pbvcfjs337f0ajabdbh6h0gypnaz6n395avkf8r1g4c3";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python2Packages; [ msgpack gevent ];
|
propagatedBuildInputs = with python2Packages; [ msgpack gevent ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, qmake, qtsvg }:
|
{ stdenv, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.43.27";
|
version = "1.43.27";
|
||||||
@ -9,7 +9,7 @@ in stdenv.mkDerivation rec {
|
|||||||
sha256 = "1gzr11jy1bvnp28w2ar3wmh76g55jn9nra5la5qasnal6b5pg28h";
|
sha256 = "1gzr11jy1bvnp28w2ar3wmh76g55jn9nra5la5qasnal6b5pg28h";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
nativeBuildInputs = [ qmake makeWrapper ];
|
||||||
buildInputs = [ qtsvg ];
|
buildInputs = [ qtsvg ];
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
@ -23,6 +23,11 @@ in stdenv.mkDerivation rec {
|
|||||||
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
|
--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; {
|
meta = with stdenv.lib; {
|
||||||
description = "Smart manager for information collecting";
|
description = "Smart manager for information collecting";
|
||||||
homepage = https://webhamster.ru/site/page/index/articles/projectcode/138;
|
homepage = https://webhamster.ru/site/page/index/articles/projectcode/138;
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "star-${version}";
|
name = "star-${version}";
|
||||||
version = "2.6.1a";
|
version = "2.6.1c";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "STAR";
|
repo = "STAR";
|
||||||
owner = "alexdobin";
|
owner = "alexdobin";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "11zs32d96gpjldrylz3nr5r2qrshf0nmzh5nmcy4wrk7y5lz81xc";
|
sha256 = "0macdbxa0v5xplag83fpdhfpyhnqncmi9wf9r92wa7w8zkln12vd";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/source";
|
sourceRoot = "source/source";
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, alex, happy, Agda, agdaIowaStdlib,
|
{ 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 {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.0.0";
|
version = "1.0.0";
|
||||||
name = "cedille-${version}";
|
name = "cedille-${version}";
|
||||||
@ -11,6 +19,8 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ];
|
buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ];
|
||||||
|
|
||||||
|
patches = [options-patch];
|
||||||
|
|
||||||
LANG = "en_US.UTF-8";
|
LANG = "en_US.UTF-8";
|
||||||
LOCALE_ARCHIVE =
|
LOCALE_ARCHIVE =
|
||||||
lib.optionalString (buildPlatform.libc == "glibc")
|
lib.optionalString (buildPlatform.libc == "glibc")
|
||||||
@ -22,9 +32,12 @@ stdenv.mkDerivation rec {
|
|||||||
chmod -R 755 ial
|
chmod -R 755 ial
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
outputs = ["out" "lib"];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
mv cedille $out/bin/cedille
|
mv cedille $out/bin/cedille
|
||||||
|
mv lib $lib
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -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
|
||||||
|
|
@ -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 #
|
@ -27,6 +27,16 @@ stdenv.mkDerivation rec {
|
|||||||
# https://trac.sagemath.org/ticket/25316
|
# https://trac.sagemath.org/ticket/25316
|
||||||
# https://github.com/python/cpython/pull/7476
|
# https://github.com/python/cpython/pull/7476
|
||||||
./patches/python-5755-hotpatch.patch
|
./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 = [
|
packageUpgradePatches = [
|
||||||
|
@ -57,6 +57,8 @@ let
|
|||||||
|
|
||||||
git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { };
|
git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { };
|
||||||
|
|
||||||
|
git-bug = callPackage ./git-bug { };
|
||||||
|
|
||||||
# support for bugzilla
|
# support for bugzilla
|
||||||
git-bz = callPackage ./git-bz { };
|
git-bz = callPackage ./git-bz { };
|
||||||
|
|
||||||
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
417
pkgs/applications/version-management/git-and-tools/git-bug/deps.nix
generated
Normal file
417
pkgs/applications/version-management/git-and-tools/git-bug/deps.nix
generated
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]
|
@ -1,14 +1,14 @@
|
|||||||
{ fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
|
{ fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
name = "git-crypt-${version}";
|
||||||
name = "git-crypt-${meta.version}";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AGWA";
|
owner = "AGWA";
|
||||||
repo = "git-crypt";
|
repo = "git-crypt";
|
||||||
rev = meta.version;
|
rev = "${version}";
|
||||||
sha256 = "4fe45f903a4b3cc06a5fe11334b914c225009fe8440d9e91a54fdf21cf4dcc4d";
|
sha256 = "13m9y0m6gc3mlw3pqv9x4i0him2ycbysizigdvdanhh514kga602";
|
||||||
inherit name;
|
inherit name;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
downloadPage = "https://github.com/AGWA/git-crypt/releases";
|
downloadPage = "https://github.com/AGWA/git-crypt/releases";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
version = "0.5.0";
|
|
||||||
maintainers = [ maintainers.dochang ];
|
maintainers = [ maintainers.dochang ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
python2Packages.buildPythonApplication rec {
|
||||||
name = "tortoisehg-${version}";
|
name = "tortoisehg-${version}";
|
||||||
version = "4.7.1";
|
version = "4.7.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
|
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
|
||||||
sha256 = "0x7hz4v882xy2r3k43fbndkq1kqwl3rl1zjmi8pxgpf05qcn950d";
|
sha256 = "0y2q50380gnjzmyvmzh729ljgvq3wkcv6ham3w62mf4fjcvlpnag";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
|
pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "clipgrab-${version}";
|
name = "clipgrab-${version}";
|
||||||
version = "3.7.0";
|
version = "3.7.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
sha256 = "0rx12218yy6h27z3xsmmxfsw8ldlsf4y862adkz6ybrygppsaib4";
|
sha256 = "0bhzkmcinlsfp5ldgqp59xnkaz6ikzdnq78drcdf1w7q4z05ipxd";
|
||||||
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
|
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
|
||||||
url = "https://download.clipgrab.org/${name}.tar.gz";
|
url = "https://download.clipgrab.org/${name}.tar.gz";
|
||||||
};
|
};
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, qmake, qtscript }:
|
{ stdenv, fetchurl, qmake, qtscript }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "smplayer-18.9.0";
|
name = "smplayer-18.10.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
||||||
sha256 = "0gff22yh2h76cyqsbjpa7rax51sfzygjl3isd8dk47zar9cyvw8d";
|
sha256 = "1sql1rd4h74smkapjf5c686zbdqqaf44h7k7z5bxfvfcsad7rzrd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ qtscript ];
|
buildInputs = [ qtscript ];
|
||||||
|
43
pkgs/applications/window-managers/sway/beta.nix
Normal file
43
pkgs/applications/window-managers/sway/beta.nix
Normal 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.
|
||||||
|
};
|
||||||
|
}
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "i3-compatible window manager for Wayland";
|
description = "i3-compatible window manager for Wayland";
|
||||||
homepage = http://swaywm.org;
|
homepage = https://swaywm.org;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date.
|
maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date.
|
||||||
|
60
pkgs/desktops/deepin/dde-session-ui/default.nix
Normal file
60
pkgs/desktops/deepin/dde-session-ui/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -8,6 +8,7 @@ let
|
|||||||
dde-calendar = callPackage ./dde-calendar { };
|
dde-calendar = callPackage ./dde-calendar { };
|
||||||
dde-polkit-agent = callPackage ./dde-polkit-agent { };
|
dde-polkit-agent = callPackage ./dde-polkit-agent { };
|
||||||
dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
|
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-base = callPackage ./deepin-desktop-base { };
|
||||||
deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
|
deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
|
||||||
deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
|
deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
|
||||||
|
@ -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 }:
|
, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobjectIntrospection }:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobjectIntrospection python3 ];
|
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 = ''
|
postPatch = ''
|
||||||
chmod +x meson_post_install.py
|
chmod +x meson_post_install.py
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop-file-utils, python3, wrapGAppsHook
|
{ 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 }:
|
, exempi, librsvg, tracker, tracker-miners, gnome-desktop, gexiv2, libselinux, gdk_pixbuf }:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook desktop-file-utils ];
|
nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook desktop-file-utils ];
|
||||||
|
|
||||||
buildInputs = [
|
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
|
tracker tracker-miners gnome-desktop gexiv2
|
||||||
gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas
|
gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas
|
||||||
];
|
];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, libxslt, packagekit, polkit
|
{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, packagekit, polkit
|
||||||
, fontconfig, libcanberra-gtk3, systemd, libnotify, wrapGAppsHook, dbus-glib, dbus, desktop-file-utils }:
|
, systemd, wrapGAppsHook, desktop-file-utils }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnome-packagekit-${version}";
|
name = "gnome-packagekit-${version}";
|
||||||
@ -10,17 +10,19 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "051q3hc78qa85mfh4jxxprfcrfj1hva6smfqsgzm0kx4zkkj1c1r";
|
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 ];
|
nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils ];
|
||||||
buildInputs = [ libxslt gnome3.gtk packagekit fontconfig systemd polkit
|
buildInputs = [ gnome3.gtk packagekit systemd polkit ];
|
||||||
libcanberra-gtk3 libnotify dbus-glib dbus ];
|
|
||||||
|
|
||||||
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; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://www.freedesktop.org/software/PackageKit/;
|
homepage = https://www.freedesktop.org/software/PackageKit/;
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
, withContrib ? true }:
|
, withContrib ? true }:
|
||||||
|
|
||||||
let
|
let
|
||||||
versionPkg = "0.3.11" ;
|
versionPkg = "0.3.12" ;
|
||||||
|
|
||||||
contrib = fetchurl {
|
contrib = fetchurl {
|
||||||
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz" ;
|
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz" ;
|
||||||
sha256 = "300884eca8a54cb9b0daa19bd04a86252160cc8ad6ef494198babd56d5a579bc";
|
sha256 = "6e53e3070f50600373b857a73a76196adffcabc3c0d3173eaaf9a5f50f4596f4";
|
||||||
};
|
};
|
||||||
|
|
||||||
postInstallContrib = stdenv.lib.optionalString withContrib
|
postInstallContrib = stdenv.lib.optionalString withContrib
|
||||||
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
|
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
|
||||||
sha256 = "feba71f37e9688b8ff0a72c4eb21914ce59f19421350d9dc3f15ad6f8c28428a";
|
sha256 = "63eb02b225a11752745e8f08691140ed764288ab4ceda3710670cde24835b0d8";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gmp ];
|
buildInputs = [ gmp ];
|
||||||
|
@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
|
|||||||
touch test/$i.jl
|
touch test/$i.jl
|
||||||
done
|
done
|
||||||
rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl
|
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/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
|
sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl
|
||||||
'';
|
'';
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sbcl-${version}";
|
name = "sbcl-${version}";
|
||||||
version = "1.4.10";
|
version = "1.4.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||||
sha256 = "1j9wb608pkihpwgzl4qvnr4jl6mb7ngfqy559pxnvmnn1zlyfklh";
|
sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
@ -87,15 +87,23 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
INSTALL_ROOT=$out sh install.sh
|
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 = stdenv.lib.optional purgeNixReferences (writeText "setupHook.sh" ''
|
||||||
setupHook = writeText "setupHook.sh" ''
|
|
||||||
addEnvHooks "$targetOffset" _setSbclHome
|
addEnvHooks "$targetOffset" _setSbclHome
|
||||||
_setSbclHome() {
|
_setSbclHome() {
|
||||||
export SBCL_HOME='@out@/lib/sbcl/'
|
export SBCL_HOME='@out@/lib/sbcl/'
|
||||||
}
|
}
|
||||||
'';
|
'');
|
||||||
|
|
||||||
meta = sbclBootstrap.meta // {
|
meta = sbclBootstrap.meta // {
|
||||||
inherit version;
|
inherit version;
|
||||||
|
50
pkgs/development/coq-modules/Velisarios/default.nix
Normal file
50
pkgs/development/coq-modules/Velisarios/default.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,21 +1,25 @@
|
|||||||
{ stdenv, fetchgit, coq, ssreflect }:
|
{ stdenv, fetchgit, coq, ssreflect, equations }:
|
||||||
|
|
||||||
let param =
|
let
|
||||||
{
|
params =
|
||||||
"8.6" = {
|
let
|
||||||
|
v20180709 = {
|
||||||
version = "20180709";
|
version = "20180709";
|
||||||
rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead";
|
rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead";
|
||||||
sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs";
|
sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs";
|
||||||
};
|
};
|
||||||
|
v20181016 = {
|
||||||
"8.7" = {
|
version = "20181016";
|
||||||
version = "20180709";
|
rev = "8049479c5aee00ed0b92e5edc7c8996aebf48208";
|
||||||
rev = "3b9ba7b26a64d49a55e8b6ccea570a7f32c11ead";
|
sha256 = "14f9rlwh8vgmcl6njykvsiwxx0jn623375afixk26mzpy12zdcph";
|
||||||
sha256 = "0f2nr8dgn1ab7hr7jrdmr1zla9g9h8216q4yf4wnff9qkln8sbbs";
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
}."${coq.coq-version}"
|
"8.6" = v20180709;
|
||||||
; in
|
"8.7" = v20180709;
|
||||||
|
"8.8" = v20181016;
|
||||||
|
};
|
||||||
|
param = params."${coq.coq-version}";
|
||||||
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
@ -26,8 +30,8 @@ stdenv.mkDerivation rec {
|
|||||||
inherit (param) rev sha256;
|
inherit (param) rev sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
|
buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ]);
|
||||||
propagatedBuildInputs = [ coq ssreflect ];
|
propagatedBuildInputs = [ ssreflect equations ];
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
@ -43,7 +47,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" ];
|
compatibleCoqVersions = v: builtins.hasAttr v params;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# patch to fix python-test
|
# patch to fix python-test
|
||||||
./darwin.patch
|
./darwin.patch
|
||||||
|
|
||||||
|
# facebook/zstd#1385
|
||||||
|
./zstd136.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
17
pkgs/development/libraries/arrow-cpp/zstd136.patch
Normal file
17
pkgs/development/libraries/arrow-cpp/zstd136.patch
Normal 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.");
|
@ -15,13 +15,13 @@ let
|
|||||||
else throw "Unsupported system!";
|
else throw "Unsupported system!";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "aws-sdk-cpp-${version}";
|
name = "aws-sdk-cpp-${version}";
|
||||||
version = "1.5.17";
|
version = "1.6.20";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "awslabs";
|
owner = "awslabs";
|
||||||
repo = "aws-sdk-cpp";
|
repo = "aws-sdk-cpp";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0mmzf3js6090kk9vdwrmib5cjny43mqf044iynkhkglzvwhadc8z";
|
sha256 = "0b6ahy748i29jqzzrjh8vybk7dv8qda3ir277mqflg4a8xxg9bj1";
|
||||||
};
|
};
|
||||||
|
|
||||||
# FIXME: might be nice to put different APIs in different outputs
|
# FIXME: might be nice to put different APIs in different outputs
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "capnproto-${version}";
|
name = "capnproto-${version}";
|
||||||
version = "0.6.1";
|
version = "0.7.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
|
url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
|
||||||
sha256 = "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0";
|
sha256 = "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
27
pkgs/development/libraries/dqlite/default.nix
Normal file
27
pkgs/development/libraries/dqlite/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{stdenv, fetchurl, fetchpatch, cmake}:
|
{stdenv, fetchurl, fetchpatch, cmake}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.3.4";
|
version = "3.3.5";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "eigen-${version}";
|
name = "eigen-${version}";
|
||||||
@ -9,18 +9,9 @@ stdenv.mkDerivation {
|
|||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
|
url = "https://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
|
||||||
name = "eigen-${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 ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -133,7 +133,9 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
nativeBuildInputs = [ bison ];
|
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
|
# 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
|
# prevent a retained dependency on the bootstrap tools in the stdenv-linux
|
||||||
|
36
pkgs/development/libraries/libaosd/default.nix
Normal file
36
pkgs/development/libraries/libaosd/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -1,31 +1,24 @@
|
|||||||
{ stdenv, fetchurl, autoreconfHook, perl, zlib, gnutls, gss, openssl
|
{ stdenv, fetchurl, libtool, groff, perl, pkgconfig, python2, zlib, gnutls,
|
||||||
, libidn }:
|
libidn2, libunistring, nghttp2 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "7.54.1";
|
version = "7.61.1";
|
||||||
|
|
||||||
name = "libgnurl-${version}";
|
name = "libgnurl-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gnunet.org/sites/default/files/gnurl-${version}.tar.bz2";
|
url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
|
||||||
sha256 = "0szbj352h95sgc9kbx9wzkgjksmg3g5k6cvlc7hz3wrbdh5gb0a4";
|
sha256 = "0y56k15vp3m2r8q6mnc6ivflwq9lv6npdhbbvxxcf4r8vwjhv91q";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
|
||||||
buildInputs = [ perl gnutls gss openssl zlib libidn ];
|
|
||||||
|
|
||||||
preConfigure = ''
|
buildInputs = [ gnutls zlib libidn2 libunistring nghttp2 ];
|
||||||
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
|
|
||||||
'';
|
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-ipv6" "--with-gnutls" "--without-libmetalink" "--without-winidn"
|
"--disable-ntlm-wb"
|
||||||
"--without-librtmp" "--without-nghttp2" "--without-nss" "--without-cyassl"
|
"--without-ca-bundle"
|
||||||
"--without-polarssl" "--without-ssl" "--without-winssl"
|
"--with-ca-fallback"
|
||||||
"--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"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -33,6 +26,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://gnunet.org/gnurl;
|
homepage = https://gnunet.org/gnurl;
|
||||||
maintainers = with maintainers; [ falsifian vrthra ];
|
maintainers = with maintainers; [ falsifian vrthra ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = with licenses; [ bsdOriginal mit ];
|
license = licenses.curl;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
pname = "libmd";
|
pname = "libmd";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
|
url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1iv45npzv0gncjgcpx5m081861zdqxw667ysghqb8721yrlyl6pj";
|
sha256 = "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
@ -1,17 +1,29 @@
|
|||||||
{ stdenv, fetchurl }:
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libowfat-0.31";
|
name = "libowfat-0.32";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.fefe.de/libowfat/${name}.tar.xz";
|
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)";
|
makeFlags = "prefix=$(out)";
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.fefe.de/libowfat/;
|
homepage = https://www.fefe.de/libowfat/;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
@ -11,10 +11,11 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ m4];
|
buildInputs = [ m4];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://libsigcplusplus.github.io/libsigcplusplus/;
|
homepage = https://libsigcplusplus.github.io/libsigcplusplus/;
|
||||||
description = "A typesafe callback system for standard C++";
|
description = "A typesafe callback system for standard C++";
|
||||||
branch = "1.2";
|
branch = "1.2";
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
license = licenses.lgpl3;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://github.com/libuv/libuv;
|
homepage = https://github.com/libuv/libuv;
|
||||||
maintainers = with maintainers; [ cstrahan ];
|
maintainers = with maintainers; [ cstrahan ];
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = with platforms; linux ++ darwin;
|
||||||
|
license = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,8 +22,10 @@ stdenv.mkDerivation {
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "WMF library from wvWare";
|
description = "WMF library from wvWare";
|
||||||
platforms = stdenv.lib.platforms.unix;
|
homepage = http://wvware.sourceforge.net/libwmf.html;
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig bzip2 ];
|
nativeBuildInputs = [ pkgconfig bzip2 ];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
platforms = stdenv.lib.platforms.unix;
|
description = "Library for importing WordPerfect documents";
|
||||||
|
homepage = http://libwpd.sourceforge.net;
|
||||||
|
license = with licenses; [ lgpl21 mpl20 ];
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ libwpd zlib librevenge ];
|
buildInputs = [ libwpd zlib librevenge ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://libwpg.sourceforge.net;
|
homepage = http://libwpg.sourceforge.net;
|
||||||
description = "C++ library to parse WPG";
|
description = "C++ library to parse WPG";
|
||||||
maintainers = [ ];
|
license = with licenses; [ lgpl21 mpl20 ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -15,5 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A forked version of log4cpp that has been created for the Shibboleth project";
|
description = "A forked version of log4cpp that has been created for the Shibboleth project";
|
||||||
maintainers = [ maintainers.jammerful ];
|
maintainers = [ maintainers.jammerful ];
|
||||||
|
license = licenses.lgpl21;
|
||||||
|
homepage = http://log4cpp.sf.net;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,12 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "A lightweight C library for the Jabber protocol";
|
description = "A lightweight C library for the Jabber protocol";
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
downloadPage = "http://mcabber.com/files/loudmouth/";
|
downloadPage = "http://mcabber.com/files/loudmouth/";
|
||||||
downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
|
downloadURLRegexp = "loudmouth-[0-9.]+[.]tar[.]bz2$";
|
||||||
updateWalker = true;
|
updateWalker = true;
|
||||||
|
license = licenses.lgpl21;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
|
|||||||
meta = {
|
meta = {
|
||||||
description = "Martyr is a Java framework around the IRC protocol to allow application writers easy manipulation of the protocol and client state";
|
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/;
|
homepage = http://martyr.sourceforge.net/;
|
||||||
|
license = stdenv.lib.licenses.lgpl21;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -9,9 +9,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0gg8mb9kxh3wggh7njj1gf90xy27p0yq2cw88wqar9hhg2fmwmi3";
|
sha256 = "0gg8mb9kxh3wggh7njj1gf90xy27p0yq2cw88wqar9hhg2fmwmi3";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://gitlab.com/mdds/mdds;
|
homepage = https://gitlab.com/mdds/mdds;
|
||||||
description = "A collection of multi-dimensional data structure and indexing algorithm";
|
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
Loading…
Reference in New Issue
Block a user