Merge remote-tracking branch 'upstream/master' into HEAD
This commit is contained in:
commit
3eceecb90d
@ -243,5 +243,218 @@ set of packages.
|
|||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section xml:id="sec-declarative-package-management">
|
||||||
|
<title>Declarative Package Management</title>
|
||||||
|
|
||||||
|
<section xml:id="sec-building-environment">
|
||||||
|
<title>Build an environment</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Using <literal>packageOverrides</literal>, it is possible to manage
|
||||||
|
packages declaratively. This means that we can list all of our desired
|
||||||
|
packages within a declarative Nix expression. For example, to have
|
||||||
|
<literal>aspell</literal>, <literal>bc</literal>,
|
||||||
|
<literal>ffmpeg</literal>, <literal>coreutils</literal>,
|
||||||
|
<literal>gdb</literal>, <literal>nixUnstable</literal>,
|
||||||
|
<literal>emscripten</literal>, <literal>jq</literal>,
|
||||||
|
<literal>nox</literal>, and <literal>silver-searcher</literal>, we could
|
||||||
|
use the following in <filename>~/.config/nixpkgs/config.nix</filename>:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; {
|
||||||
|
myPackages = pkgs.buildEnv {
|
||||||
|
name = "my-packages";
|
||||||
|
paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
To install it into our environment, you can just run <literal>nix-env -iA
|
||||||
|
nixpkgs.myPackages</literal>. If you want to load the packages to be built
|
||||||
|
from a working copy of <literal>nixpkgs</literal> you just run
|
||||||
|
<literal>nix-env -f. -iA myPackages</literal>. To explore what's been
|
||||||
|
installed, just look through <filename>~/.nix-profile/</filename>. You can
|
||||||
|
see that a lot of stuff has been installed. Some of this stuff is useful
|
||||||
|
some of it isn't. Let's tell Nixpkgs to only link the stuff that we want:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; {
|
||||||
|
myPackages = pkgs.buildEnv {
|
||||||
|
name = "my-packages";
|
||||||
|
paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ];
|
||||||
|
pathsToLink = [ "/share" "/bin" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed
|
||||||
|
which gets rid of the extra stuff in the profile.
|
||||||
|
<filename>/bin</filename> and <filename>/share</filename> are good
|
||||||
|
defaults for a user environment, getting rid of the clutter. If you are
|
||||||
|
running on Nix on MacOS, you may want to add another path as well,
|
||||||
|
<filename>/Applications</filename>, that makes GUI apps available.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xml:id="sec-getting-documentation">
|
||||||
|
<title>Getting documentation</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
After building that new environment, look through
|
||||||
|
<filename>~/.nix-profile</filename> to make sure everything is there that
|
||||||
|
we wanted. Discerning readers will note that some files are missing. Look
|
||||||
|
inside <filename>~/.nix-profile/share/man/man1/</filename> to verify this.
|
||||||
|
There are no man pages for any of the Nix tools! This is because some
|
||||||
|
packages like Nix have multiple outputs for things like documentation (see
|
||||||
|
section 4). Let's make Nix install those as well.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; {
|
||||||
|
myPackages = pkgs.buildEnv {
|
||||||
|
name = "my-packages";
|
||||||
|
paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ];
|
||||||
|
pathsToLink = [ "/share/man" "/share/doc" /bin" ];
|
||||||
|
extraOutputsToInstall = [ "man" "doc" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This provides us with some useful documentation for using our packages.
|
||||||
|
However, if we actually want those manpages to be detected by man, we need
|
||||||
|
to set up our environment. This can also be managed within Nix
|
||||||
|
expressions.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; rec {
|
||||||
|
myProfile = writeText "my-profile" ''
|
||||||
|
export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man
|
||||||
|
'';
|
||||||
|
myPackages = pkgs.buildEnv {
|
||||||
|
name = "my-packages";
|
||||||
|
paths = [
|
||||||
|
(runCommand "profile" {} ''
|
||||||
|
mkdir -p $out/etc/profile.d
|
||||||
|
cp ${myProfile} $out/etc/profile.d/my-profile.sh
|
||||||
|
'')
|
||||||
|
aspell
|
||||||
|
bc
|
||||||
|
coreutils
|
||||||
|
ffmpeg
|
||||||
|
man
|
||||||
|
nixUnstable
|
||||||
|
emscripten
|
||||||
|
jq
|
||||||
|
nox
|
||||||
|
silver-searcher
|
||||||
|
];
|
||||||
|
pathsToLink = [ "/share/man" "/share/doc" /bin" "/etc" ];
|
||||||
|
extraOutputsToInstall = [ "man" "doc" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
For this to work fully, you must also have this script sourced when you
|
||||||
|
are logged in. Try adding something like this to your
|
||||||
|
<filename>~/.profile</filename> file:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -d $HOME/.nix-profile/etc/profile.d ]; then
|
||||||
|
for i in $HOME/.nix-profile/etc/profile.d/*.sh; do
|
||||||
|
if [ -r $i ]; then
|
||||||
|
. $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Now just run <literal>source $HOME/.profile</literal> and you can starting
|
||||||
|
loading man pages from your environent.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section xml:id="sec-gnu-info-setup">
|
||||||
|
<title>GNU info setup</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Configuring GNU info is a little bit trickier than man pages. To work
|
||||||
|
correctly, info needs a database to be generated. This can be done with
|
||||||
|
some small modifications to our environment scripts.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
{
|
||||||
|
packageOverrides = pkgs: with pkgs; rec {
|
||||||
|
myProfile = writeText "my-profile" ''
|
||||||
|
export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man
|
||||||
|
export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info
|
||||||
|
'';
|
||||||
|
myPackages = pkgs.buildEnv {
|
||||||
|
name = "my-packages";
|
||||||
|
paths = [
|
||||||
|
(runCommand "profile" {} ''
|
||||||
|
mkdir -p $out/etc/profile.d
|
||||||
|
cp ${myProfile} $out/etc/profile.d/my-profile.sh
|
||||||
|
'')
|
||||||
|
aspell
|
||||||
|
bc
|
||||||
|
coreutils
|
||||||
|
ffmpeg
|
||||||
|
man
|
||||||
|
nixUnstable
|
||||||
|
emscripten
|
||||||
|
jq
|
||||||
|
nox
|
||||||
|
silver-searcher
|
||||||
|
texinfoInteractive
|
||||||
|
];
|
||||||
|
pathsToLink = [ "/share/man" "/share/doc" "/share/info" "/bin" "/etc" ];
|
||||||
|
extraOutputsToInstall = [ "man" "doc" "info" ];
|
||||||
|
postBuild = ''
|
||||||
|
if [ -x $out/bin/install-info -a -w $out/share/info ]; then
|
||||||
|
shopt -s nullglob
|
||||||
|
for i in $out/share/info/*.info $out/share/info/*.info.gz; do
|
||||||
|
$out/bin/install-info $i $out/share/info/dir
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<literal>postBuild</literal> tells Nixpkgs to run a command after building
|
||||||
|
the environment. In this case, <literal>install-info</literal> adds the
|
||||||
|
installed info pages to <literal>dir</literal> which is GNU info's default
|
||||||
|
root node. Note that <literal>texinfoInteractive</literal> is added to the
|
||||||
|
environment to give the <literal>install-info</literal> command.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -91,6 +91,7 @@ def _get_latest_version_pypi(package, extension):
|
|||||||
if release['filename'].endswith(extension):
|
if release['filename'].endswith(extension):
|
||||||
# TODO: In case of wheel we need to do further checks!
|
# TODO: In case of wheel we need to do further checks!
|
||||||
sha256 = release['digests']['sha256']
|
sha256 = release['digests']['sha256']
|
||||||
|
break
|
||||||
else:
|
else:
|
||||||
sha256 = None
|
sha256 = None
|
||||||
return version, sha256
|
return version, sha256
|
||||||
|
@ -85,6 +85,10 @@ rmdir /var/lib/ipfs/.ipfs
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The following changes apply if the <literal>stateVersion</literal> is changed to 17.09 or higher.
|
||||||
|
For <literal>stateVersion = "17.03</literal> or lower the old behavior is preserved.
|
||||||
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The <literal>postgres</literal> default version was changed from 9.5 to 9.6.
|
The <literal>postgres</literal> default version was changed from 9.5 to 9.6.
|
||||||
</para>
|
</para>
|
||||||
@ -94,6 +98,9 @@ rmdir /var/lib/ipfs/.ipfs
|
|||||||
<para>
|
<para>
|
||||||
The <literal>postgres</literal> default <literal>dataDir</literal> has changed from <literal>/var/db/postgres</literal> to <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is 9.6 for example.
|
The <literal>postgres</literal> default <literal>dataDir</literal> has changed from <literal>/var/db/postgres</literal> to <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is 9.6 for example.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
The <literal>mysql</literal> default <literal>dataDir</literal> has changed from <literal>/var/mysql</literal> to <literal>/var/lib/mysql</literal>.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
@ -113,9 +120,18 @@ rmdir /var/lib/ipfs/.ipfs
|
|||||||
also serve as a SSH agent if <literal>enableSSHSupport</literal> is set.
|
also serve as a SSH agent if <literal>enableSSHSupport</literal> is set.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <literal>services.tinc.networks.<name>.listenAddress</literal>
|
||||||
|
option had a misleading name that did not correspond to its behavior. It
|
||||||
|
now correctly defines the ip to listen for incoming connections on. To
|
||||||
|
keep the previous behaviour, use
|
||||||
|
<literal>services.tinc.networks.<name>.bindToAddress</literal>
|
||||||
|
instead. Refer to the description of the options for more details.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
|
||||||
<para>Other notable improvements:</para>
|
<para>Other notable improvements:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -6,6 +6,7 @@ with lib;
|
|||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.hardware.pulseaudio;
|
cfg = config.hardware.pulseaudio;
|
||||||
|
alsaCfg = config.sound;
|
||||||
|
|
||||||
systemWide = cfg.enable && cfg.systemWide;
|
systemWide = cfg.enable && cfg.systemWide;
|
||||||
nonSystemWide = cfg.enable && !cfg.systemWide;
|
nonSystemWide = cfg.enable && !cfg.systemWide;
|
||||||
@ -76,6 +77,7 @@ let
|
|||||||
ctl.!default {
|
ctl.!default {
|
||||||
type pulse
|
type pulse
|
||||||
}
|
}
|
||||||
|
${alsaCfg.extraConfig}
|
||||||
'');
|
'');
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
@ -326,6 +326,7 @@
|
|||||||
./services/misc/ripple-data-api.nix
|
./services/misc/ripple-data-api.nix
|
||||||
./services/misc/rogue.nix
|
./services/misc/rogue.nix
|
||||||
./services/misc/siproxd.nix
|
./services/misc/siproxd.nix
|
||||||
|
./services/misc/snapper.nix
|
||||||
./services/misc/sonarr.nix
|
./services/misc/sonarr.nix
|
||||||
./services/misc/spice-vdagentd.nix
|
./services/misc/spice-vdagentd.nix
|
||||||
./services/misc/ssm-agent.nix
|
./services/misc/ssm-agent.nix
|
||||||
|
@ -41,6 +41,9 @@
|
|||||||
|
|
||||||
# Virtio (QEMU, KVM etc.) support.
|
# Virtio (QEMU, KVM etc.) support.
|
||||||
"virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
|
"virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
|
||||||
|
|
||||||
|
# VMware support.
|
||||||
|
"mptspi" "vmw_balloon" "vmwgfx" "vmw_vmci" "vmw_vsock_vmci_transport" "vmxnet3" "vsock"
|
||||||
|
|
||||||
# Hyper-V support.
|
# Hyper-V support.
|
||||||
"hv_storvsc"
|
"hv_storvsc"
|
||||||
|
@ -7,6 +7,8 @@ let
|
|||||||
|
|
||||||
inherit (pkgs) alsaUtils;
|
inherit (pkgs) alsaUtils;
|
||||||
|
|
||||||
|
pulseaudioEnabled = config.hardware.pulseaudio.enable;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -80,7 +82,7 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = [ alsaUtils ];
|
environment.systemPackages = [ alsaUtils ];
|
||||||
|
|
||||||
environment.etc = mkIf (config.sound.extraConfig != "")
|
environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "")
|
||||||
[
|
[
|
||||||
{ source = pkgs.writeText "asound.conf" config.sound.extraConfig;
|
{ source = pkgs.writeText "asound.conf" config.sound.extraConfig;
|
||||||
target = "asound.conf";
|
target = "asound.conf";
|
||||||
|
@ -62,8 +62,7 @@ let
|
|||||||
name = "nixos-manual";
|
name = "nixos-manual";
|
||||||
desktopName = "NixOS Manual";
|
desktopName = "NixOS Manual";
|
||||||
genericName = "View NixOS documentation in a web browser";
|
genericName = "View NixOS documentation in a web browser";
|
||||||
# TODO: find a better icon (Nix logo + help overlay?)
|
icon = "nix-snowflake";
|
||||||
icon = "system-help";
|
|
||||||
exec = "${helpScript}/bin/nixos-help";
|
exec = "${helpScript}/bin/nixos-help";
|
||||||
categories = "System";
|
categories = "System";
|
||||||
};
|
};
|
||||||
@ -115,7 +114,7 @@ in
|
|||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[ manual.manual helpScript ]
|
[ manual.manual helpScript ]
|
||||||
++ optional config.services.xserver.enable desktopItem
|
++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons]
|
||||||
++ optional config.programs.man.enable manual.manpages;
|
++ optional config.programs.man.enable manual.manpages;
|
||||||
|
|
||||||
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
|
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
|
||||||
|
152
nixos/modules/services/misc/snapper.nix
Normal file
152
nixos/modules/services/misc/snapper.nix
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.snapper;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.services.snapper = {
|
||||||
|
|
||||||
|
snapshotInterval = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "hourly";
|
||||||
|
description = ''
|
||||||
|
Snapshot interval.
|
||||||
|
|
||||||
|
The format is described in
|
||||||
|
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
||||||
|
<manvolnum>7</manvolnum></citerefentry>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
cleanupInterval = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "1d";
|
||||||
|
description = ''
|
||||||
|
Cleanup interval.
|
||||||
|
|
||||||
|
The format is described in
|
||||||
|
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
||||||
|
<manvolnum>7</manvolnum></citerefentry>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
filters = mkOption {
|
||||||
|
type = types.nullOr types.lines;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Global display difference filter. See man:snapper(8) for more details.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
configs = mkOption {
|
||||||
|
default = { };
|
||||||
|
example = literalExample {
|
||||||
|
"home" = {
|
||||||
|
subvolume = "/home";
|
||||||
|
extraConfig = ''
|
||||||
|
ALLOW_USERS="alice"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
description = ''
|
||||||
|
Subvolume configuration
|
||||||
|
'';
|
||||||
|
|
||||||
|
type = types.attrsOf (types.submodule {
|
||||||
|
options = {
|
||||||
|
subvolume = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = ''
|
||||||
|
Path of the subvolume or mount point.
|
||||||
|
This path is a subvolume and has to contain a subvolume named
|
||||||
|
.snapshots.
|
||||||
|
See also man:snapper(8) section PERMISSIONS.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
fstype = mkOption {
|
||||||
|
type = types.enum [ "btrfs" ];
|
||||||
|
default = "btrfs";
|
||||||
|
description = ''
|
||||||
|
Filesystem type. Only btrfs is stable and tested.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = mkOption {
|
||||||
|
type = types.lines;
|
||||||
|
default = "";
|
||||||
|
description = ''
|
||||||
|
Additional configuration next to SUBVOLUME and FSTYPE.
|
||||||
|
See man:snapper-configs(5).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.configs != {}) (let
|
||||||
|
documentation = [ "man:snapper(8)" "man:snapper-configs(5)" ];
|
||||||
|
in {
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
|
||||||
|
systemPackages = [ pkgs.snapper ];
|
||||||
|
|
||||||
|
# Note: snapper/config-templates/default is only needed for create-config
|
||||||
|
# which is not the NixOS way to configure.
|
||||||
|
etc = {
|
||||||
|
|
||||||
|
"sysconfig/snapper".text = ''
|
||||||
|
SNAPPER_CONFIGS="${lib.concatStringsSep " " (builtins.attrNames cfg.configs)}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
|
// (mapAttrs' (name: subvolume: nameValuePair "snapper/configs/${name}" ({
|
||||||
|
text = ''
|
||||||
|
${subvolume.extraConfig}
|
||||||
|
FSTYPE="${subvolume.fstype}"
|
||||||
|
SUBVOLUME="${subvolume.subvolume}"
|
||||||
|
'';
|
||||||
|
})) cfg.configs)
|
||||||
|
// (lib.optionalAttrs (cfg.filters != null) {
|
||||||
|
"snapper/filters/default.txt".text = cfg.filters;
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.snapper ];
|
||||||
|
|
||||||
|
systemd.services.snapper-timeline = {
|
||||||
|
description = "Timeline of Snapper Snapshots";
|
||||||
|
inherit documentation;
|
||||||
|
serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --timeline";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.snapper-timeline = {
|
||||||
|
description = "Timeline of Snapper Snapshots";
|
||||||
|
inherit documentation;
|
||||||
|
wantedBy = [ "basic.target" ];
|
||||||
|
timerConfig.OnCalendar = cfg.snapshotInterval;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.snapper-cleanup = {
|
||||||
|
description = "Cleanup of Snapper Snapshots";
|
||||||
|
inherit documentation;
|
||||||
|
serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --cleanup";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.snapper-cleanup = {
|
||||||
|
description = "Cleanup of Snapper Snapshots";
|
||||||
|
inherit documentation;
|
||||||
|
wantedBy = [ "basic.target" ];
|
||||||
|
timerConfig.OnBootSec = "10m";
|
||||||
|
timerConfig.OnUnitActiveSec = cfg.cleanupInterval;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -448,6 +448,8 @@ def cli(ctx):
|
|||||||
"""
|
"""
|
||||||
Manage Taskserver users and certificates
|
Manage Taskserver users and certificates
|
||||||
"""
|
"""
|
||||||
|
if not IS_AUTO_CONFIG:
|
||||||
|
return
|
||||||
for path in (CA_KEY, CA_CERT, CRL_FILE):
|
for path in (CA_KEY, CA_CERT, CRL_FILE):
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
msg = "CA setup not done or incomplete, missing file {}."
|
msg = "CA setup not done or incomplete, missing file {}."
|
||||||
|
@ -79,7 +79,15 @@ in
|
|||||||
default = null;
|
default = null;
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
description = ''
|
description = ''
|
||||||
The ip adress to bind to.
|
The ip address to listen on for incoming connections.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
bindToAddress = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = ''
|
||||||
|
The ip address to bind to (both listen on and send packets from).
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -131,7 +139,8 @@ in
|
|||||||
Name = ${if data.name == null then "$HOST" else data.name}
|
Name = ${if data.name == null then "$HOST" else data.name}
|
||||||
DeviceType = ${data.interfaceType}
|
DeviceType = ${data.interfaceType}
|
||||||
${optionalString (data.ed25519PrivateKeyFile != null) "Ed25519PrivateKeyFile = ${data.ed25519PrivateKeyFile}"}
|
${optionalString (data.ed25519PrivateKeyFile != null) "Ed25519PrivateKeyFile = ${data.ed25519PrivateKeyFile}"}
|
||||||
${optionalString (data.listenAddress != null) "BindToAddress = ${data.listenAddress}"}
|
${optionalString (data.listenAddress != null) "ListenAddress = ${data.listenAddress}"}
|
||||||
|
${optionalString (data.bindToAddress != null) "BindToAddress = ${data.bindToAddress}"}
|
||||||
Device = /dev/net/tun
|
Device = /dev/net/tun
|
||||||
Interface = tinc.${network}
|
Interface = tinc.${network}
|
||||||
${data.extraConfig}
|
${data.extraConfig}
|
||||||
|
@ -324,6 +324,8 @@ in
|
|||||||
fi
|
fi
|
||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
serviceConfig.PrivateTmp = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.cups-browsed = mkIf avahiEnabled
|
systemd.services.cups-browsed = mkIf avahiEnabled
|
||||||
|
@ -123,45 +123,49 @@ let
|
|||||||
|
|
||||||
vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost:
|
vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost:
|
||||||
let
|
let
|
||||||
serverName = vhost.serverName;
|
|
||||||
ssl = vhost.enableSSL || vhost.forceSSL;
|
ssl = vhost.enableSSL || vhost.forceSSL;
|
||||||
port = if vhost.port != null then vhost.port else (if ssl then 443 else 80);
|
defaultPort = if ssl then 443 else 80;
|
||||||
listenString = toString port + optionalString ssl " ssl http2"
|
|
||||||
+ optionalString vhost.default " default_server";
|
listenString = { addr, port, ... }:
|
||||||
acmeLocation = optionalString vhost.enableACME (''
|
"listen ${addr}:${toString (if port != null then port else defaultPort)} "
|
||||||
|
+ optionalString ssl "ssl http2 "
|
||||||
|
+ optionalString vhost.default "default_server"
|
||||||
|
+ ";";
|
||||||
|
|
||||||
|
redirectListenString = { addr, ... }:
|
||||||
|
"listen ${addr}:80 ${optionalString vhost.default "default_server"};";
|
||||||
|
|
||||||
|
acmeLocation = ''
|
||||||
location /.well-known/acme-challenge {
|
location /.well-known/acme-challenge {
|
||||||
${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"}
|
${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"}
|
||||||
root ${vhost.acmeRoot};
|
root ${vhost.acmeRoot};
|
||||||
auth_basic off;
|
auth_basic off;
|
||||||
}
|
}
|
||||||
'' + (optionalString (vhost.acmeFallbackHost != null) ''
|
${optionalString (vhost.acmeFallbackHost != null) ''
|
||||||
location @acme-fallback {
|
location @acme-fallback {
|
||||||
auth_basic off;
|
auth_basic off;
|
||||||
proxy_pass http://${vhost.acmeFallbackHost};
|
proxy_pass http://${vhost.acmeFallbackHost};
|
||||||
}
|
}
|
||||||
''));
|
''}
|
||||||
|
'';
|
||||||
|
|
||||||
in ''
|
in ''
|
||||||
${optionalString vhost.forceSSL ''
|
${optionalString vhost.forceSSL ''
|
||||||
server {
|
server {
|
||||||
listen 80 ${optionalString vhost.default "default_server"};
|
${concatMapStringsSep "\n" redirectListenString vhost.listen}
|
||||||
${optionalString enableIPv6
|
|
||||||
''listen [::]:80 ${optionalString vhost.default "default_server"};''
|
|
||||||
}
|
|
||||||
|
|
||||||
server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
|
server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
|
||||||
${acmeLocation}
|
${optionalString vhost.enableACME acmeLocation}
|
||||||
location / {
|
location / {
|
||||||
return 301 https://$host${optionalString (port != 443) ":${toString port}"}$request_uri;
|
return 301 https://$host$request_uri;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
''}
|
''}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen ${listenString};
|
${concatMapStringsSep "\n" listenString vhost.listen}
|
||||||
${optionalString enableIPv6 "listen [::]:${listenString};"}
|
server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
|
||||||
|
${optionalString vhost.enableACME acmeLocation}
|
||||||
server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
|
|
||||||
${acmeLocation}
|
|
||||||
${optionalString (vhost.root != null) "root ${vhost.root};"}
|
${optionalString (vhost.root != null) "root ${vhost.root};"}
|
||||||
${optionalString (vhost.globalRedirect != null) ''
|
${optionalString (vhost.globalRedirect != null) ''
|
||||||
return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri;
|
return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri;
|
||||||
@ -380,7 +384,7 @@ in
|
|||||||
|
|
||||||
virtualHosts = mkOption {
|
virtualHosts = mkOption {
|
||||||
type = types.attrsOf (types.submodule (import ./vhost-options.nix {
|
type = types.attrsOf (types.submodule (import ./vhost-options.nix {
|
||||||
inherit lib;
|
inherit config lib;
|
||||||
}));
|
}));
|
||||||
default = {
|
default = {
|
||||||
localhost = {};
|
localhost = {};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# has additional options that affect the web server as a whole, like
|
# has additional options that affect the web server as a whole, like
|
||||||
# the user/group to run under.)
|
# the user/group to run under.)
|
||||||
|
|
||||||
{ lib }:
|
{ config, lib }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
@ -26,12 +26,26 @@ with lib;
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
port = mkOption {
|
listen = mkOption {
|
||||||
type = types.nullOr types.int;
|
type = with types; listOf (submodule {
|
||||||
default = null;
|
options = {
|
||||||
|
addr = mkOption { type = str; description = "IP address."; };
|
||||||
|
port = mkOption { type = nullOr int; description = "Port number."; };
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default =
|
||||||
|
[ { addr = "0.0.0.0"; port = null; } ]
|
||||||
|
++ optional config.networking.enableIPv6
|
||||||
|
{ addr = "[::]"; port = null; };
|
||||||
|
example = [
|
||||||
|
{ addr = "195.154.1.1"; port = 443; }
|
||||||
|
{ addr = "192.168.1.2"; port = 443; }
|
||||||
|
];
|
||||||
description = ''
|
description = ''
|
||||||
Port for the server. Defaults to 80 for http
|
Listen addresses and ports for this virtual host.
|
||||||
and 443 for https (i.e. when enableSSL is set).
|
IPv6 addresses must be enclosed in square brackets.
|
||||||
|
Setting the port to <literal>null</literal> defaults
|
||||||
|
to 80 for http and 443 for https (i.e. when enableSSL is set).
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -301,6 +301,7 @@ mountFS() {
|
|||||||
*x-nixos.autoresize*)
|
*x-nixos.autoresize*)
|
||||||
if [ "$fsType" = ext2 -o "$fsType" = ext3 -o "$fsType" = ext4 ]; then
|
if [ "$fsType" = ext2 -o "$fsType" = ext3 -o "$fsType" = ext4 ]; then
|
||||||
echo "resizing $device..."
|
echo "resizing $device..."
|
||||||
|
e2fsck -fp "$device"
|
||||||
resize2fs "$device"
|
resize2fs "$device"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -303,6 +303,7 @@ in rec {
|
|||||||
tests.simple = callTest tests/simple.nix {};
|
tests.simple = callTest tests/simple.nix {};
|
||||||
tests.slim = callTest tests/slim.nix {};
|
tests.slim = callTest tests/slim.nix {};
|
||||||
tests.smokeping = callTest tests/smokeping.nix {};
|
tests.smokeping = callTest tests/smokeping.nix {};
|
||||||
|
tests.snapper = callTest tests/snapper.nix {};
|
||||||
tests.taskserver = callTest tests/taskserver.nix {};
|
tests.taskserver = callTest tests/taskserver.nix {};
|
||||||
tests.tomcat = callTest tests/tomcat.nix {};
|
tests.tomcat = callTest tests/tomcat.nix {};
|
||||||
tests.udisks2 = callTest tests/udisks2.nix {};
|
tests.udisks2 = callTest tests/udisks2.nix {};
|
||||||
|
43
nixos/tests/snapper.nix
Normal file
43
nixos/tests/snapper.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import ./make-test.nix ({ ... }:
|
||||||
|
{
|
||||||
|
name = "snapper";
|
||||||
|
|
||||||
|
machine = { pkgs, lib, ... }: {
|
||||||
|
boot.initrd.postDeviceCommands = ''
|
||||||
|
${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb
|
||||||
|
'';
|
||||||
|
|
||||||
|
virtualisation.emptyDiskImages = [ 4096 ];
|
||||||
|
|
||||||
|
fileSystems = lib.mkVMOverride {
|
||||||
|
"/home" = {
|
||||||
|
device = "/dev/disk/by-label/aux";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.snapper.configs.home.subvolume = "/home";
|
||||||
|
services.snapper.filters = "/nix";
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
$machine->succeed("btrfs subvolume create /home/.snapshots");
|
||||||
|
|
||||||
|
$machine->succeed("snapper -c home list");
|
||||||
|
|
||||||
|
$machine->succeed("snapper -c home create --description empty");
|
||||||
|
|
||||||
|
$machine->succeed("echo test > /home/file");
|
||||||
|
$machine->succeed("snapper -c home create --description file");
|
||||||
|
|
||||||
|
$machine->succeed("snapper -c home status 1..2");
|
||||||
|
|
||||||
|
$machine->succeed("snapper -c home undochange 1..2");
|
||||||
|
$machine->fail("ls /home/file");
|
||||||
|
|
||||||
|
$machine->succeed("snapper -c home delete 2");
|
||||||
|
|
||||||
|
$machine->succeed("systemctl --wait start snapper-timeline.service");
|
||||||
|
|
||||||
|
$machine->succeed("systemctl --wait start snapper-cleanup.service");
|
||||||
|
'';
|
||||||
|
})
|
@ -246,6 +246,10 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
subtest "check manual configuration", sub {
|
subtest "check manual configuration", sub {
|
||||||
|
# Remove the keys from automatic CA creation, to make sure the new
|
||||||
|
# generation doesn't use keys from before.
|
||||||
|
$server->succeed('rm -rf ${cfg.dataDir}/keys/* >&2');
|
||||||
|
|
||||||
$server->succeed('${switchToNewServer} >&2');
|
$server->succeed('${switchToNewServer} >&2');
|
||||||
$server->waitForUnit("taskserver.service");
|
$server->waitForUnit("taskserver.service");
|
||||||
$server->waitForOpenPort(${portStr});
|
$server->waitForOpenPort(${portStr});
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
name = "mopidy-iris-${version}";
|
name = "mopidy-iris-${version}";
|
||||||
version = "3.0.3";
|
version = "3.0.5";
|
||||||
|
|
||||||
src = pythonPackages.fetchPypi {
|
src = pythonPackages.fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "Mopidy-Iris";
|
pname = "Mopidy-Iris";
|
||||||
sha256 = "1j8zrkvgs2f6jcqf1sn79afiirk5plfrkychlzcwqrxix293ngjr";
|
sha256 = "0rabpzmiis13z4qz3vqlsfc9xjkwracafckahnq2cq97qawyq9y9";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -265,12 +265,12 @@ in
|
|||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
name = "idea-community-${version}";
|
||||||
version = "2017.1.4";
|
version = "2017.1.5"; /* updated by script */
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||||
sha256 = "1w1knq969dl8rxlkhr9mw8cr2vszn384acwhspimrd3zs9825r45";
|
sha256 = "830c662c517e8d0131dc2df150d6f75adb3d8becaf9de96393730b0f4ae6ccf0"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea-ce";
|
wmClass = "jetbrains-idea-ce";
|
||||||
update-channel = "IDEA_Release";
|
update-channel = "IDEA_Release";
|
||||||
@ -304,12 +304,12 @@ in
|
|||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
name = "idea-ultimate-${version}";
|
||||||
version = "2017.1.4";
|
version = "2017.1.5";
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
|
||||||
sha256 = "0byrsbsscpzb0syamzpavny879src5dlclnissa7173rh8hgkna4";
|
sha256 = "0gjj2g9fcrbbbp3v4clg0kj48qdw0gqcn9im4h8p3z2zscpg16ag";
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea";
|
wmClass = "jetbrains-idea";
|
||||||
update-channel = "IDEA_Release";
|
update-channel = "IDEA_Release";
|
||||||
@ -343,12 +343,12 @@ in
|
|||||||
|
|
||||||
pycharm-community = buildPycharm rec {
|
pycharm-community = buildPycharm rec {
|
||||||
name = "pycharm-community-${version}";
|
name = "pycharm-community-${version}";
|
||||||
version = "2017.1.4"; /* updated by script */
|
version = "2017.1.5"; /* updated by script */
|
||||||
description = "PyCharm Community Edition";
|
description = "PyCharm Community Edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "1e69ab29215a9c8c4626de6727df433ae0d9f6ed46eba2a6f48ffa52c2b04256"; /* updated by script */
|
sha256 = "1a0bbf0d881527e08aad7a5adaa3ad44e8754c3eb2c3a8ed5ab113491549679b"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm-ce";
|
wmClass = "jetbrains-pycharm-ce";
|
||||||
update-channel = "PyCharm_Release";
|
update-channel = "PyCharm_Release";
|
||||||
@ -356,12 +356,12 @@ in
|
|||||||
|
|
||||||
pycharm-professional = buildPycharm rec {
|
pycharm-professional = buildPycharm rec {
|
||||||
name = "pycharm-professional-${version}";
|
name = "pycharm-professional-${version}";
|
||||||
version = "2017.1.4"; /* updated by script */
|
version = "2017.1.5"; /* updated by script */
|
||||||
description = "PyCharm Professional Edition";
|
description = "PyCharm Professional Edition";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "bbae5602b9cf6d26ccce9e1bf8b388d79c27cf89673d1a56f248bf0a50e518ed"; /* updated by script */
|
sha256 = "52519dfd0e913b5ccb8767155cd4d1fd413967d5010e8474cdc9a1fa688016ce"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm";
|
wmClass = "jetbrains-pycharm";
|
||||||
update-channel = "PyCharm_Release";
|
update-channel = "PyCharm_Release";
|
||||||
@ -369,25 +369,25 @@ in
|
|||||||
|
|
||||||
rider = buildRider rec {
|
rider = buildRider rec {
|
||||||
name = "rider-${version}";
|
name = "rider-${version}";
|
||||||
version = "171.4456.575"; /* updated by script */
|
version = "171.4456.1432"; /* updated by script */
|
||||||
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/resharper/riderRS-${version}.tar.gz";
|
url = "https://download.jetbrains.com/resharper/Rider-RC-${version}.tar.gz";
|
||||||
sha256 = "9b7f46e9c800a091f2cdbe9fda08041729e2abc0ce57252731da659b2424707b"; /* updated by script */
|
sha256 = "37bad69cdfcc4f297b2500a7bb673af7ef8f1fd45baa4eb2fa388d2c4bcb41ee"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-rider";
|
wmClass = "jetbrains-rider";
|
||||||
update-channel = "rider1.0EAP";
|
update-channel = "rider_2017_1_eap";
|
||||||
};
|
};
|
||||||
|
|
||||||
ruby-mine = buildRubyMine rec {
|
ruby-mine = buildRubyMine rec {
|
||||||
name = "ruby-mine-${version}";
|
name = "ruby-mine-${version}";
|
||||||
version = "2017.1.4";
|
version = "2017.1.5"; /* updated by script */
|
||||||
description = "The Most Intelligent Ruby and Rails IDE";
|
description = "The Most Intelligent Ruby and Rails IDE";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
||||||
sha256 = "06jk0anlnc4gr240i51kam47shdjgda6zg3hglk5w3bpvbyix68z";
|
sha256 = "198eb3d7914529ce3a6857e038167e194fb838c4b94242048ae45e8413458d66"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-rubymine";
|
wmClass = "jetbrains-rubymine";
|
||||||
update-channel = "rm2017.1";
|
update-channel = "rm2017.1";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
msgpack (1.0.2)
|
msgpack (1.1.0)
|
||||||
neovim (0.3.1)
|
neovim (0.5.0)
|
||||||
msgpack (~> 1.0)
|
msgpack (~> 1.0)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
@ -12,4 +12,4 @@ DEPENDENCIES
|
|||||||
neovim
|
neovim
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.12.5
|
1.15.1
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
msgpack = {
|
msgpack = {
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg";
|
sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.2";
|
version = "1.1.0";
|
||||||
};
|
};
|
||||||
neovim = {
|
neovim = {
|
||||||
dependencies = ["msgpack"];
|
dependencies = ["msgpack"];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw";
|
sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.3.1";
|
version = "0.5.0";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -5,24 +5,15 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qgis-2.18.4";
|
name = "qgis-2.18.10";
|
||||||
|
|
||||||
buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
|
buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
|
||||||
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
|
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
|
||||||
(stdenv.lib.optional withGrass grass) ++
|
(stdenv.lib.optional withGrass grass) ++
|
||||||
(with python2Packages; [ numpy psycopg2 requests python2Packages.qscintilla sip ]);
|
(with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]);
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake makeWrapper ];
|
nativeBuildInputs = [ cmake makeWrapper ];
|
||||||
|
|
||||||
patches = [
|
|
||||||
# See https://hub.qgis.org/issues/16071
|
|
||||||
(fetchpatch {
|
|
||||||
name = "fix-build-against-recent-sip";
|
|
||||||
url = "https://github.com/qgis/QGIS/commit/85a0db24f32351f6096cd8282f03ad5c2f4e6ef5.patch";
|
|
||||||
sha256 = "0snspzdrpawd7j5b69i8kk7pmmy6ij8bn02bzg94qznfpf9ihf30";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
|
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
|
||||||
#enableParallelBuilding = true;
|
#enableParallelBuilding = true;
|
||||||
|
|
||||||
@ -34,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://qgis.org/downloads/${name}.tar.bz2";
|
url = "http://qgis.org/downloads/${name}.tar.bz2";
|
||||||
sha256 = "1s264pahxpn0215xmzm8q2khr5xspipd7bbvxah5kj339kyjfy3k";
|
sha256 = "1vrzxhnpzd75iia4xmhbxy90x0wlvj2w4210f0r8203hd2m4sxdj";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
|
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
|
||||||
|
@ -11,12 +11,12 @@
|
|||||||
assert stdenv ? glibc;
|
assert stdenv ? glibc;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.2.4";
|
version = "2.2.5";
|
||||||
name = "darktable-${version}";
|
name = "darktable-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
||||||
sha256 = "1n7rddkxwcifc3kcdlnar9w562xv4h78fqkkn27jihqzp3b4am5x";
|
sha256 = "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
49
pkgs/applications/misc/bashSnippets/default.nix
Normal file
49
pkgs/applications/misc/bashSnippets/default.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, makeWrapper
|
||||||
|
, curl, netcat, mpv, python, bind, iproute, bc, gitMinimal }:
|
||||||
|
let
|
||||||
|
version = "1.12.0";
|
||||||
|
deps = lib.makeBinPath [
|
||||||
|
curl
|
||||||
|
mpv
|
||||||
|
python
|
||||||
|
bind.dnsutils
|
||||||
|
iproute
|
||||||
|
bc
|
||||||
|
gitMinimal
|
||||||
|
];
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "bashSnippets-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "alexanderepstein";
|
||||||
|
repo = "Bash-Snippets";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0kx2a8z3jbmmardw9z8fpghbw5mrbz4knb3wdihq35iarcbrddrg";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
patchShebangs install.sh
|
||||||
|
substituteInPlace install.sh --replace /usr/local "$out"
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out"/bin "$out"/man/man1
|
||||||
|
./install.sh all
|
||||||
|
for file in "$out"/bin/*; do
|
||||||
|
wrapProgram "$file" --prefix PATH : "${deps}"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A collection of small bash scripts for heavy terminal users";
|
||||||
|
homepage = https://github.com/alexanderepstein/Bash-Snippets;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ infinisil ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -1,32 +1,25 @@
|
|||||||
{ stdenv, fetchFromGitHub, fetchpatch
|
{ stdenv, fetchFromGitHub, fetchpatch
|
||||||
, pkgconfig, which, perl
|
, pkgconfig, which, perl, gtk2, xrandr
|
||||||
, cairo, dbus, freetype, gdk_pixbuf, glib, libX11, libXScrnSaver
|
, cairo, dbus, gdk_pixbuf, glib, libX11, libXScrnSaver
|
||||||
, libXext, libXinerama, libnotify, libxdg_basedir, pango, xproto
|
, libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg
|
||||||
, librsvg
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dunst-${version}";
|
name = "dunst-${version}";
|
||||||
version = "1.1.0";
|
version = "1.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "knopwob";
|
owner = "dunst-project";
|
||||||
repo = "dunst";
|
repo = "dunst";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "102s0rkcdz22hnacsi3dhm7kj3lsw9gnikmh3a7wk862nkvvwjmk";
|
sha256 = "0jncnb4z4hg92ws08bkf52jswsd4vqlzyznwbynhh2jh6q0sl18b";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [(fetchpatch {
|
|
||||||
name = "add-svg-support.patch";
|
|
||||||
url = "https://github.com/knopwob/dunst/commit/63b11141185d1d07a6d12212257a543e182d250a.patch";
|
|
||||||
sha256 = "0giiaj5zjim7xqcav5ij5gn4x6nnchkllwcx0ln16j0p3vbi4y4x";
|
|
||||||
})];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ perl pkgconfig which ];
|
nativeBuildInputs = [ perl pkgconfig which ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cairo dbus freetype gdk_pixbuf glib libX11 libXScrnSaver libXext
|
cairo dbus gdk_pixbuf glib libX11 libXScrnSaver
|
||||||
libXinerama libnotify libxdg_basedir pango xproto librsvg
|
libXinerama libnotify libxdg_basedir pango xproto librsvg gtk2 xrandr
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "out" "man" ];
|
outputs = [ "out" "man" ];
|
||||||
|
@ -153,7 +153,7 @@ stdenv.mkDerivation (rec {
|
|||||||
++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
|
++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
|
||||||
++ flag crashreporterSupport "crashreporter"
|
++ flag crashreporterSupport "crashreporter"
|
||||||
++ flag safeBrowsingSupport "safe-browsing"
|
++ flag safeBrowsingSupport "safe-browsing"
|
||||||
++ flag drmSupport "eme"
|
++ lib.optional drmSupport "--enable-eme=widevine"
|
||||||
|
|
||||||
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
|
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
|
||||||
else [ "--disable-debug" "--enable-release"
|
else [ "--disable-debug" "--enable-release"
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
, cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }:
|
, cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20170609";
|
version = "20170714";
|
||||||
name = "neomutt-${version}";
|
name = "neomutt-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neomutt";
|
owner = "neomutt";
|
||||||
repo = "neomutt";
|
repo = "neomutt";
|
||||||
rev = "neomutt-${version}";
|
rev = "neomutt-${version}";
|
||||||
sha256 = "015dd6rphvqdmnv477f1is22l7n5gvcvyblbyp0ggbp64650k0bz";
|
sha256 = "0jbh83hvq1jwb8ps7ffl2325y6i79wdnwcn6db0r5prmxax18hw1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
|
nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{ lib, python3Packages, fetchFromGitHub, gtk3, cairo
|
{ lib, python3Packages, fetchFromGitHub, gtk3, cairo
|
||||||
, aspellDicts, buildEnv
|
, aspellDicts, buildEnv
|
||||||
, gnome3, hicolor_icon_theme
|
, gnome3, hicolor_icon_theme
|
||||||
, xvfb_run, dbus
|
, xvfb_run, dbus, libnotify
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
name = "paperwork-${version}";
|
name = "paperwork-${version}";
|
||||||
# Don't forget to also update paperwork-backend when updating this!
|
# Don't forget to also update paperwork-backend when updating this!
|
||||||
version = "1.0.6.1";
|
version = "1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "paperwork";
|
repo = "paperwork";
|
||||||
owner = "jflesch";
|
owner = "jflesch";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h";
|
sha256 = "1cb9wnhhpm3dyxjrkyl9bbva56xx85vlwlb7z07m1icflcln14x5";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patch out a few paths that assume that we're using the FHS:
|
# Patch out a few paths that assume that we're using the FHS:
|
||||||
@ -47,7 +47,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
}}/lib/aspell";
|
}}/lib/aspell";
|
||||||
|
|
||||||
checkInputs = [ xvfb_run dbus.daemon ];
|
checkInputs = [ xvfb_run dbus.daemon ];
|
||||||
buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ];
|
buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme libnotify ];
|
||||||
|
|
||||||
# A few parts of chkdeps need to have a display and a dbus session, so we not
|
# A few parts of chkdeps need to have a display and a dbus session, so we not
|
||||||
# only need to run a virtual X server + dbus but also have a large enough
|
# only need to run a virtual X server + dbus but also have a large enough
|
||||||
@ -59,7 +59,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
paperwork-backend pypillowfight gtk3 cairo
|
paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil
|
||||||
];
|
];
|
||||||
|
|
||||||
makeWrapperArgs = [
|
makeWrapperArgs = [
|
||||||
|
@ -234,11 +234,10 @@ rec {
|
|||||||
# Files to add to the layer.
|
# Files to add to the layer.
|
||||||
contents ? null,
|
contents ? null,
|
||||||
# Additional commands to run on the layer before it is tar'd up.
|
# Additional commands to run on the layer before it is tar'd up.
|
||||||
extraCommands ? ""
|
extraCommands ? "", uid ? 0, gid ? 0
|
||||||
}:
|
}:
|
||||||
runCommand "docker-layer-${name}" {
|
runCommand "docker-layer-${name}" {
|
||||||
inherit baseJson contents extraCommands;
|
inherit baseJson contents extraCommands;
|
||||||
|
|
||||||
buildInputs = [ jshon rsync ];
|
buildInputs = [ jshon rsync ];
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
@ -253,6 +252,8 @@ rec {
|
|||||||
echo "No contents to add to layer."
|
echo "No contents to add to layer."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
chmod ug+w layer
|
||||||
|
|
||||||
if [[ -n $extraCommands ]]; then
|
if [[ -n $extraCommands ]]; then
|
||||||
(cd layer; eval "$extraCommands")
|
(cd layer; eval "$extraCommands")
|
||||||
fi
|
fi
|
||||||
@ -260,7 +261,7 @@ rec {
|
|||||||
# Tar up the layer and throw it into 'layer.tar'.
|
# Tar up the layer and throw it into 'layer.tar'.
|
||||||
echo "Packing layer..."
|
echo "Packing layer..."
|
||||||
mkdir $out
|
mkdir $out
|
||||||
tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar .
|
tar -C layer --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar .
|
||||||
|
|
||||||
# Compute a checksum of the tarball.
|
# Compute a checksum of the tarball.
|
||||||
echo "Computing layer checksum..."
|
echo "Computing layer checksum..."
|
||||||
@ -312,6 +313,8 @@ rec {
|
|||||||
echo "Adding $item..."
|
echo "Adding $item..."
|
||||||
rsync -ak --chown=0:0 $item/ layer/
|
rsync -ak --chown=0:0 $item/ layer/
|
||||||
done
|
done
|
||||||
|
|
||||||
|
chmod ug+w layer
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postMount = ''
|
postMount = ''
|
||||||
@ -375,7 +378,7 @@ rec {
|
|||||||
# Docker config; e.g. what command to run on the container.
|
# Docker config; e.g. what command to run on the container.
|
||||||
config ? null,
|
config ? null,
|
||||||
# Optional bash script to run on the files prior to fixturizing the layer.
|
# Optional bash script to run on the files prior to fixturizing the layer.
|
||||||
extraCommands ? "",
|
extraCommands ? "", uid ? 0, gid ? 0,
|
||||||
# Optional bash script to run as root on the image when provisioning.
|
# Optional bash script to run as root on the image when provisioning.
|
||||||
runAsRoot ? null,
|
runAsRoot ? null,
|
||||||
# Size of the virtual machine disk to provision when building the image.
|
# Size of the virtual machine disk to provision when building the image.
|
||||||
@ -398,7 +401,7 @@ rec {
|
|||||||
if runAsRoot == null
|
if runAsRoot == null
|
||||||
then mkPureLayer {
|
then mkPureLayer {
|
||||||
name = baseName;
|
name = baseName;
|
||||||
inherit baseJson contents extraCommands;
|
inherit baseJson contents extraCommands uid gid;
|
||||||
} else mkRootLayer {
|
} else mkRootLayer {
|
||||||
name = baseName;
|
name = baseName;
|
||||||
inherit baseJson fromImage fromImageName fromImageTag
|
inherit baseJson fromImage fromImageName fromImageTag
|
||||||
@ -498,7 +501,7 @@ rec {
|
|||||||
chmod -R a-w image
|
chmod -R a-w image
|
||||||
|
|
||||||
echo "Cooking the image..."
|
echo "Cooking the image..."
|
||||||
tar -C image --mtime="@$SOURCE_DATE_EPOCH" -c . | pigz -nT > $out
|
tar -C image --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 -c . | pigz -nT > $out
|
||||||
|
|
||||||
echo "Finished."
|
echo "Finished."
|
||||||
'';
|
'';
|
||||||
|
13
pkgs/data/misc/nixos-artwork/icons.nix
Normal file
13
pkgs/data/misc/nixos-artwork/icons.nix
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, imagemagick }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "nixos-icons-2017-03-16";
|
||||||
|
srcs = fetchFromGitHub {
|
||||||
|
owner = "nixos";
|
||||||
|
repo = "nixos-artwork";
|
||||||
|
rev = "783ca1249fc4cfe523ad4e541f37e2229891bc8b";
|
||||||
|
sha256 = "0wp08b1gh2chs1xri43wziznyjcplx0clpsrb13wzyscv290ay5a";
|
||||||
|
};
|
||||||
|
makeFlags = [ "DESTDIR=$(out)" "prefix=" ];
|
||||||
|
buildInputs = [ imagemagick ];
|
||||||
|
}
|
@ -54,7 +54,8 @@ let
|
|||||||
debugInfo = true;
|
debugInfo = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
lfe = callPackage ../interpreters/lfe { };
|
lfe = lfe_1_2;
|
||||||
|
lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
|
||||||
|
|
||||||
# Non hex packages
|
# Non hex packages
|
||||||
hex = callPackage ./hex {};
|
hex = callPackage ./hex {};
|
||||||
|
@ -56,4 +56,26 @@ rec {
|
|||||||
mkDerivation = pkgs.makeOverridable builder;
|
mkDerivation = pkgs.makeOverridable builder;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Uses generic-builder to evaluate provided drv containing Elixir version
|
||||||
|
specific data.
|
||||||
|
|
||||||
|
drv: package containing version-specific args;
|
||||||
|
builder: generic builder for all Erlang versions;
|
||||||
|
args: arguments merged into version-specific args, used mostly to customize
|
||||||
|
dependencies;
|
||||||
|
|
||||||
|
Arguments passed to the generic-builder are overridable.
|
||||||
|
|
||||||
|
Please note that "mkDerivation" defined here is the one called from 1.2.nix
|
||||||
|
and similar files.
|
||||||
|
*/
|
||||||
|
callLFE = drv: args:
|
||||||
|
let
|
||||||
|
inherit (stdenv.lib) versionAtLeast;
|
||||||
|
builder = callPackage ../interpreters/lfe/generic-builder.nix args;
|
||||||
|
in
|
||||||
|
callPackage drv {
|
||||||
|
mkDerivation = pkgs.makeOverridable builder;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
, downloadUrl
|
, downloadUrl
|
||||||
, sha256_i686
|
, sha256_i686
|
||||||
, sha256_x86_64
|
, sha256_x86_64
|
||||||
|
, sha256_armv7l
|
||||||
, jceName
|
, jceName
|
||||||
, jceDownloadUrl
|
, jceDownloadUrl
|
||||||
, sha256JCE
|
, sha256JCE
|
||||||
@ -34,10 +35,13 @@
|
|||||||
, setJavaClassPath
|
, setJavaClassPath
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
assert stdenv.system == "i686-linux"
|
||||||
|
|| stdenv.system == "x86_64-linux"
|
||||||
|
|| stdenv.system == "armv7l-linux";
|
||||||
assert swingSupport -> xorg != null;
|
assert swingSupport -> xorg != null;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
abortArch = abort "jdk requires i686-linux, x86_64-linux, or armv7l-linux";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The JRE libraries are in directories that depend on the CPU.
|
* The JRE libraries are in directories that depend on the CPU.
|
||||||
@ -47,8 +51,10 @@ let
|
|||||||
"i386"
|
"i386"
|
||||||
else if stdenv.system == "x86_64-linux" then
|
else if stdenv.system == "x86_64-linux" then
|
||||||
"amd64"
|
"amd64"
|
||||||
|
else if stdenv.system == "armv7l-linux" then
|
||||||
|
"arm"
|
||||||
else
|
else
|
||||||
abort "jdk requires i686-linux or x86_64 linux";
|
abortArch;
|
||||||
|
|
||||||
jce =
|
jce =
|
||||||
if installjce then
|
if installjce then
|
||||||
@ -59,6 +65,14 @@ let
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
"";
|
"";
|
||||||
|
|
||||||
|
rSubPaths = [
|
||||||
|
"lib/${architecture}/jli"
|
||||||
|
"lib/${architecture}/server"
|
||||||
|
"lib/${architecture}/xawt"
|
||||||
|
"lib/${architecture}"
|
||||||
|
];
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
let result = stdenv.mkDerivation rec {
|
let result = stdenv.mkDerivation rec {
|
||||||
@ -78,8 +92,14 @@ let result = stdenv.mkDerivation rec {
|
|||||||
url = downloadUrl;
|
url = downloadUrl;
|
||||||
sha256 = sha256_x86_64;
|
sha256 = sha256_x86_64;
|
||||||
}
|
}
|
||||||
|
else if stdenv.system == "armv7l-linux" then
|
||||||
|
requireFile {
|
||||||
|
name = "jdk-${productVersion}u${patchVersion}-linux-arm32-vfp-hflt.tar.gz";
|
||||||
|
url = downloadUrl;
|
||||||
|
sha256 = sha256_armv7l;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
abort "jdk requires i686-linux or x86_64 linux";
|
abortArch;
|
||||||
|
|
||||||
nativeBuildInputs = [ file ]
|
nativeBuildInputs = [ file ]
|
||||||
++ stdenv.lib.optional installjce unzip;
|
++ stdenv.lib.optional installjce unzip;
|
||||||
@ -134,18 +154,6 @@ let result = stdenv.mkDerivation rec {
|
|||||||
cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security
|
cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/jli
|
|
||||||
rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server
|
|
||||||
rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt
|
|
||||||
rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}
|
|
||||||
|
|
||||||
# set all the dynamic linkers
|
|
||||||
find $out -type f -perm -0100 \
|
|
||||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
|
||||||
--set-rpath "$rpath" {} \;
|
|
||||||
|
|
||||||
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
|
|
||||||
|
|
||||||
if test -z "$pluginSupport"; then
|
if test -z "$pluginSupport"; then
|
||||||
rm -f $out/bin/javaws
|
rm -f $out/bin/javaws
|
||||||
if test -n "$installjdk"; then
|
if test -n "$installjdk"; then
|
||||||
@ -163,11 +171,22 @@ let result = stdenv.mkDerivation rec {
|
|||||||
cat <<EOF >> $out/nix-support/setup-hook
|
cat <<EOF >> $out/nix-support/setup-hook
|
||||||
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
|
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
|
||||||
EOF
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}"
|
||||||
|
|
||||||
|
# set all the dynamic linkers
|
||||||
|
find $out -type f -perm -0100 \
|
||||||
|
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
|
--set-rpath "$rpath" {} \;
|
||||||
|
|
||||||
|
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
|
||||||
|
|
||||||
# Oracle Java Mission Control needs to know where libgtk-x11 and related is
|
# Oracle Java Mission Control needs to know where libgtk-x11 and related is
|
||||||
if test -n "$installjdk"; then
|
if test -n "$installjdk" -a -x $out/bin/jmc; then
|
||||||
wrapProgram "$out/bin/jmc" \
|
wrapProgram "$out/bin/jmc" \
|
||||||
--suffix-each LD_LIBRARY_PATH ':' "${rpath}"
|
--suffix-each LD_LIBRARY_PATH ':' "$rpath"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -192,7 +211,7 @@ let result = stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms
|
platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" ]; # some inherit jre.meta.platforms
|
||||||
};
|
};
|
||||||
|
|
||||||
}; in result
|
}; in result
|
||||||
|
@ -4,6 +4,7 @@ import ./jdk-linux-base.nix {
|
|||||||
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
|
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
|
||||||
sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80";
|
sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80";
|
||||||
sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2";
|
sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2";
|
||||||
|
sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd";
|
||||||
jceName = "jce_policy-8.zip";
|
jceName = "jce_policy-8.zip";
|
||||||
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
||||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||||
|
@ -4,6 +4,7 @@ import ./jdk-linux-base.nix {
|
|||||||
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
|
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
|
||||||
sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80";
|
sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80";
|
||||||
sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2";
|
sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2";
|
||||||
|
sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd";
|
||||||
jceName = "jce_policy-8.zip";
|
jceName = "jce_policy-8.zip";
|
||||||
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
||||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||||
|
7
pkgs/development/interpreters/lfe/1.2.nix
Normal file
7
pkgs/development/interpreters/lfe/1.2.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ mkDerivation }:
|
||||||
|
|
||||||
|
mkDerivation {
|
||||||
|
version = "1.2.1";
|
||||||
|
sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz";
|
||||||
|
maximumOTPVersion = "19";
|
||||||
|
}
|
@ -1,29 +1,38 @@
|
|||||||
{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, beamPackages }:
|
{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3, buildHex }:
|
||||||
|
|
||||||
|
{ baseName ? "lfe"
|
||||||
|
, version
|
||||||
|
, maximumOTPVersion
|
||||||
|
, sha256 ? null
|
||||||
|
, rev ? version
|
||||||
|
, src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; }
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (beamPackages) buildRebar3 buildHex;
|
inherit (stdenv.lib) getVersion versionAtLeast splitString head;
|
||||||
proper = buildHex rec {
|
|
||||||
name = "proper";
|
mainVersion = head (splitString "." (getVersion erlang));
|
||||||
|
|
||||||
|
proper = buildHex {
|
||||||
|
name = "proper";
|
||||||
version = "1.1.1-beta";
|
version = "1.1.1-beta";
|
||||||
|
|
||||||
sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx";
|
sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx";
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
${erlang}/bin/escript write_compile_flags include/compile_flags.hrl
|
${erlang}/bin/escript write_compile_flags include/compile_flags.hrl
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
buildRebar3 rec {
|
assert versionAtLeast maximumOTPVersion mainVersion;
|
||||||
name = "lfe";
|
|
||||||
version = "1.2.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
buildRebar3 {
|
||||||
owner = "rvirding";
|
name = baseName;
|
||||||
repo = name;
|
|
||||||
rev = version;
|
|
||||||
sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
inherit src version;
|
||||||
|
|
||||||
|
buildInputs = [ erlang makeWrapper ];
|
||||||
beamDeps = [ proper ];
|
beamDeps = [ proper ];
|
||||||
patches = [ ./no-test-deps.patch ];
|
patches = [ ./no-test-deps.patch ];
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
@ -41,6 +50,7 @@ buildRebar3 rec {
|
|||||||
install -m644 _build/default/lib/lfe/ebin/* $ebindir
|
install -m644 _build/default/lib/lfe/ebin/* $ebindir
|
||||||
|
|
||||||
install -m755 -d $bindir
|
install -m755 -d $bindir
|
||||||
|
|
||||||
for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done
|
for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done
|
||||||
|
|
||||||
install -m755 -d $out/bin
|
install -m755 -d $out/bin
|
||||||
@ -70,7 +80,7 @@ buildRebar3 rec {
|
|||||||
downloadPage = "https://github.com/rvirding/lfe/releases";
|
downloadPage = "https://github.com/rvirding/lfe/releases";
|
||||||
|
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ yurrriq ];
|
maintainers = with maintainers; [ yurrriq ankhers ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
35
pkgs/development/libraries/aspell/aspell-with-dicts.nix
Normal file
35
pkgs/development/libraries/aspell/aspell-with-dicts.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Create a derivation that contains aspell and selected dictionaries.
|
||||||
|
# Composition is done using `pkgs.buildEnv`.
|
||||||
|
|
||||||
|
{ aspell
|
||||||
|
, aspellDicts
|
||||||
|
, makeWrapper
|
||||||
|
, symlinkJoin
|
||||||
|
, runCommand
|
||||||
|
}:
|
||||||
|
|
||||||
|
f:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Dictionaries we want
|
||||||
|
dicts = f aspellDicts;
|
||||||
|
|
||||||
|
# A tree containing the dictionaries
|
||||||
|
dictEnv = symlinkJoin {
|
||||||
|
name = "aspell-dicts";
|
||||||
|
paths = dicts;
|
||||||
|
};
|
||||||
|
|
||||||
|
in runCommand "aspell-env" {
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
} ''
|
||||||
|
# Construct wrappers in /bin
|
||||||
|
mkdir -p $out/bin
|
||||||
|
pushd "${aspell}/bin"
|
||||||
|
for prg in *; do
|
||||||
|
if [ -f "$prg" ]; then
|
||||||
|
makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "data-dir ${dictEnv}/lib/aspell"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
''
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, zlib, expat, gettext }:
|
{ stdenv, fetchurl, fetchpatch, zlib, expat, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "exiv2-0.25";
|
name = "exiv2-0.26";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.exiv2.org/${name}.tar.gz";
|
url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
|
||||||
sha256 = "197g6vgcpyf9p2cwn5p5hb1r714xsk1v4p96f5pv1z8mi9vzq2y8";
|
sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7";
|
||||||
};
|
};
|
||||||
postPatch = "patchShebangs ./src/svn_version.sh";
|
postPatch = "patchShebangs ./src/svn_version.sh";
|
||||||
|
|
||||||
|
@ -1,30 +1,13 @@
|
|||||||
/* hunspell dictionaries */
|
/* hunspell dictionaries */
|
||||||
|
|
||||||
{ stdenv, fetchurl, unzip }:
|
{ stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip }:
|
||||||
|
|
||||||
with stdenv.lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
mkDict =
|
mkDict =
|
||||||
{ name, src, meta, readmeFile, dictFileName, ... }:
|
{ name, readmeFile, dictFileName, ... }@args:
|
||||||
let
|
stdenv.mkDerivation (rec {
|
||||||
isFrench = hasSuffix "fr_" dictFileName;
|
inherit name;
|
||||||
isItaly = hasSuffix "it_" dictFileName;
|
|
||||||
isSpanish = hasSuffix "es_" dictFileName;
|
|
||||||
isEnglish = hasSuffix "en_" dictFileName;
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
inherit name src meta;
|
|
||||||
buildInputs = [ unzip ];
|
|
||||||
sourceRoot = ".";
|
|
||||||
phases = "unpackPhase installPhase" + (if isItaly then "patchPhase" else "");
|
|
||||||
unpackCmd = "unzip $src ${readmeFile} ${dictFileName}.dic ${dictFileName}.aff";
|
|
||||||
prePatch = if isItaly then ''
|
|
||||||
# Fix dic file empty lines (FS#22275)
|
|
||||||
sed '/^\/$/d' -i it_IT.dic
|
|
||||||
'' else "";
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
# hunspell dicts
|
# hunspell dicts
|
||||||
install -dm755 "$out/share/hunspell"
|
install -dm755 "$out/share/hunspell"
|
||||||
@ -38,7 +21,45 @@ let
|
|||||||
install -dm755 "$out/share/doc"
|
install -dm755 "$out/share/doc"
|
||||||
install -m644 ${readmeFile} $out/share/doc/${name}.txt
|
install -m644 ${readmeFile} $out/share/doc/${name}.txt
|
||||||
'';
|
'';
|
||||||
};
|
} // args);
|
||||||
|
|
||||||
|
mkDictFromRla =
|
||||||
|
{ shortName, shortDescription, dictFileName }:
|
||||||
|
mkDict rec {
|
||||||
|
inherit dictFileName;
|
||||||
|
version = "2.2";
|
||||||
|
name = "hunspell-dict-${shortName}-rla-${version}";
|
||||||
|
readmeFile = "README.txt";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sbosio";
|
||||||
|
repo = "rla-es";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0n9ms092k7vg7xpd3ksadxydbrizkb7js7dfxr08nbnnb9fgy0i8";
|
||||||
|
};
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Hunspell dictionary for ${shortDescription} from rla";
|
||||||
|
homepage = https://github.com/sbosio/rla-es;
|
||||||
|
license = with licenses; [ gpl3 lgpl3 mpl11 ];
|
||||||
|
maintainers = with maintainers; [ renzo ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
phases = "unpackPhase patchPhase buildPhase installPhase";
|
||||||
|
buildInputs = [ bash coreutils unzip which zip ];
|
||||||
|
patchPhase = ''
|
||||||
|
substituteInPlace ortograf/herramientas/make_dict.sh \
|
||||||
|
--replace /bin/bash bash \
|
||||||
|
--replace /dev/stderr stderr.log
|
||||||
|
|
||||||
|
substituteInPlace ortograf/herramientas/remover_comentarios.sh \
|
||||||
|
--replace /bin/bash bash \
|
||||||
|
'';
|
||||||
|
buildPhase = ''
|
||||||
|
cd ortograf/herramientas
|
||||||
|
bash -x ./make_dict.sh -l ${dictFileName} -2
|
||||||
|
unzip ${dictFileName}.zip \
|
||||||
|
${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
mkDictFromDicollecte =
|
mkDictFromDicollecte =
|
||||||
{ shortName, shortDescription, longDescription, dictFileName }:
|
{ shortName, shortDescription, longDescription, dictFileName }:
|
||||||
@ -59,6 +80,12 @@ let
|
|||||||
maintainers = with maintainers; [ renzo ];
|
maintainers = with maintainers; [ renzo ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
buildInputs = [ unzip ];
|
||||||
|
phases = "unpackPhase installPhase";
|
||||||
|
sourceRoot = ".";
|
||||||
|
unpackCmd = ''
|
||||||
|
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mkDictFromWordlist =
|
mkDictFromWordlist =
|
||||||
@ -75,9 +102,15 @@ let
|
|||||||
maintainers = with maintainers; [ renzo ];
|
maintainers = with maintainers; [ renzo ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
buildInputs = [ unzip ];
|
||||||
|
phases = "unpackPhase installPhase";
|
||||||
|
sourceRoot = ".";
|
||||||
|
unpackCmd = ''
|
||||||
|
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mkLinguistico =
|
mkDictFromLinguistico =
|
||||||
{ shortName, shortDescription, dictFileName, src }:
|
{ shortName, shortDescription, dictFileName, src }:
|
||||||
mkDict rec {
|
mkDict rec {
|
||||||
inherit src dictFileName;
|
inherit src dictFileName;
|
||||||
@ -90,6 +123,16 @@ let
|
|||||||
maintainers = with maintainers; [ renzo ];
|
maintainers = with maintainers; [ renzo ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
buildInputs = [ unzip ];
|
||||||
|
phases = "unpackPhase patchPhase installPhase";
|
||||||
|
sourceRoot = ".";
|
||||||
|
prePatch = ''
|
||||||
|
# Fix dic file empty lines (FS#22275)
|
||||||
|
sed '/^\/$/d' -i ${dictFileName}.dic
|
||||||
|
'';
|
||||||
|
unpackCmd = ''
|
||||||
|
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mkDictFromXuxen =
|
mkDictFromXuxen =
|
||||||
@ -169,6 +212,134 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* SPANISH */
|
||||||
|
|
||||||
|
es-any = mkDictFromRla {
|
||||||
|
shortName = "es-any";
|
||||||
|
shortDescription = "Spanish (any variant)";
|
||||||
|
dictFileName = "es_ANY";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-ar = mkDictFromRla {
|
||||||
|
shortName = "es-ar";
|
||||||
|
shortDescription = "Spanish (Argentina)";
|
||||||
|
dictFileName = "es_AR";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-bo = mkDictFromRla {
|
||||||
|
shortName = "es-bo";
|
||||||
|
shortDescription = "Spanish (Bolivia)";
|
||||||
|
dictFileName = "es_BO";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-cl = mkDictFromRla {
|
||||||
|
shortName = "es-cl";
|
||||||
|
shortDescription = "Spanish (Chile)";
|
||||||
|
dictFileName = "es_CL";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-co = mkDictFromRla {
|
||||||
|
shortName = "es-co";
|
||||||
|
shortDescription = "Spanish (Colombia)";
|
||||||
|
dictFileName = "es_CO";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-cr = mkDictFromRla {
|
||||||
|
shortName = "es-cr";
|
||||||
|
shortDescription = "Spanish (Costra Rica)";
|
||||||
|
dictFileName = "es_CR";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-cu = mkDictFromRla {
|
||||||
|
shortName = "es-cu";
|
||||||
|
shortDescription = "Spanish (Cuba)";
|
||||||
|
dictFileName = "es_CU";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-do = mkDictFromRla {
|
||||||
|
shortName = "es-do";
|
||||||
|
shortDescription = "Spanish (Dominican Republic)";
|
||||||
|
dictFileName = "es_DO";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-ec = mkDictFromRla {
|
||||||
|
shortName = "es-ec";
|
||||||
|
shortDescription = "Spanish (Ecuador)";
|
||||||
|
dictFileName = "es_EC";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-es = mkDictFromRla {
|
||||||
|
shortName = "es-es";
|
||||||
|
shortDescription = "Spanish (Spain)";
|
||||||
|
dictFileName = "es_ES";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-gt = mkDictFromRla {
|
||||||
|
shortName = "es-gt";
|
||||||
|
shortDescription = "Spanish (Guatemala)";
|
||||||
|
dictFileName = "es_GT";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-hn = mkDictFromRla {
|
||||||
|
shortName = "es-hn";
|
||||||
|
shortDescription = "Spanish (Honduras)";
|
||||||
|
dictFileName = "es_HN";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-mx = mkDictFromRla {
|
||||||
|
shortName = "es-mx";
|
||||||
|
shortDescription = "Spanish (Mexico)";
|
||||||
|
dictFileName = "es_MX";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-ni = mkDictFromRla {
|
||||||
|
shortName = "es-ni";
|
||||||
|
shortDescription = "Spanish (Nicaragua)";
|
||||||
|
dictFileName = "es_NI";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-pa = mkDictFromRla {
|
||||||
|
shortName = "es-pa";
|
||||||
|
shortDescription = "Spanish (Panama)";
|
||||||
|
dictFileName = "es_PA";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-pe = mkDictFromRla {
|
||||||
|
shortName = "es-pe";
|
||||||
|
shortDescription = "Spanish (Peru)";
|
||||||
|
dictFileName = "es_PE";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-pr = mkDictFromRla {
|
||||||
|
shortName = "es-pr";
|
||||||
|
shortDescription = "Spanish (Puerto Rico)";
|
||||||
|
dictFileName = "es_PR";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-py = mkDictFromRla {
|
||||||
|
shortName = "es-py";
|
||||||
|
shortDescription = "Spanish (Paraguay)";
|
||||||
|
dictFileName = "es_PY";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-sv = mkDictFromRla {
|
||||||
|
shortName = "es-sv";
|
||||||
|
shortDescription = "Spanish (El Salvador)";
|
||||||
|
dictFileName = "es_SV";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-uy = mkDictFromRla {
|
||||||
|
shortName = "es-uy";
|
||||||
|
shortDescription = "Spanish (Uruguay)";
|
||||||
|
dictFileName = "es_UY";
|
||||||
|
};
|
||||||
|
|
||||||
|
es-ve = mkDictFromRla {
|
||||||
|
shortName = "es-ve";
|
||||||
|
shortDescription = "Spanish (Venezuela)";
|
||||||
|
dictFileName = "es_VE";
|
||||||
|
};
|
||||||
|
|
||||||
/* FRENCH */
|
/* FRENCH */
|
||||||
|
|
||||||
fr-any = mkDictFromDicollecte {
|
fr-any = mkDictFromDicollecte {
|
||||||
@ -215,7 +386,7 @@ in {
|
|||||||
|
|
||||||
/* ITALIAN */
|
/* ITALIAN */
|
||||||
|
|
||||||
it-it = mkLinguistico rec {
|
it-it = mkDictFromLinguistico rec {
|
||||||
shortName = "it-it";
|
shortName = "it-it";
|
||||||
dictFileName = "it_IT";
|
dictFileName = "it_IT";
|
||||||
shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
|
shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, cmake, itk, python }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
_name = "elastix";
|
||||||
|
_version = "4.8";
|
||||||
|
name = "${_name}-${_version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "SuperElastix";
|
||||||
|
repo = "elastix";
|
||||||
|
rev = "ef057ff89233822b26b04b31c3c043af57d5deff";
|
||||||
|
sha256 = "0gm3a8dgqww50h6zld9ighjk92wlpybpimjwfz4s5h82vdjsvxrm";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake python ];
|
||||||
|
buildInputs = [ itk ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DUSE_KNNGraphAlphaMutualInformationMetric=OFF" ];
|
||||||
|
|
||||||
|
checkPhase = "ctest";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://elastix.isi.uu.nl/;
|
||||||
|
description = "Image registration toolkit based on ITK";
|
||||||
|
maintainers = with maintainers; [ bcdarwin ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
license = licenses.asl20;
|
||||||
|
};
|
||||||
|
}
|
@ -1,17 +1,19 @@
|
|||||||
{ stdenv, fetchzip, ocaml, findlib, gen, ppx_tools }:
|
{ stdenv, fetchzip, ocaml, findlib, gen, ppx_tools_versioned }:
|
||||||
|
|
||||||
assert stdenv.lib.versionAtLeast ocaml.version "4.02";
|
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
|
||||||
|
then throw "sedlex is not available for OCaml ${ocaml.version}"
|
||||||
|
else
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ocaml${ocaml.version}-sedlex-${version}";
|
name = "ocaml${ocaml.version}-sedlex-${version}";
|
||||||
version = "1.99.3";
|
version = "1.99.4";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "http://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz";
|
url = "http://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz";
|
||||||
sha256 = "1wghjy3qyj43ll1ikchlqy7fv2hxcn3ap9xgsscm2ch09d8dcv7y";
|
sha256 = "1b7nqxyfcz8i7m4b8zil2rn6ygh2czy26f9v64xnxn8r0hy9sh1m";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ppx_tools ];
|
buildInputs = [ ocaml findlib ppx_tools_versioned ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ gen ];
|
propagatedBuildInputs = [ gen ];
|
||||||
|
|
||||||
|
32
pkgs/development/python-modules/aafigure/default.nix
Normal file
32
pkgs/development/python-modules/aafigure/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi, pillow }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "aafigure";
|
||||||
|
version = "0.5";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "090c88beb091d28a233f854e239713aa15d8d1906ea16211855345c912e8a091";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pillow ];
|
||||||
|
|
||||||
|
# error: invalid command 'test'
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
# Fix impurity. TODO: Do the font lookup using fontconfig instead of this
|
||||||
|
# manual method. Until that is fixed, we get this whenever we run aafigure:
|
||||||
|
# WARNING: font not found, using PIL default font
|
||||||
|
patchPhase = ''
|
||||||
|
sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "ASCII art to image converter";
|
||||||
|
homepage = https://launchpad.net/aafigure/;
|
||||||
|
license = licenses.bsd2;
|
||||||
|
maintainers = with maintainers; [ bjornfor ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
19
pkgs/development/python-modules/acme/default.nix
Normal file
19
pkgs/development/python-modules/acme/default.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, certbot, nose, cryptography, pyasn1, pyopenssl, pyRFC3339
|
||||||
|
, pytz, requests, six, werkzeug, mock, ndg-httpsclient }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
inherit (certbot) src version;
|
||||||
|
|
||||||
|
pname = "acme";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock
|
||||||
|
ndg-httpsclient
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [ nose ];
|
||||||
|
|
||||||
|
postUnpack = "sourceRoot=\${sourceRoot}/acme";
|
||||||
|
}
|
26
pkgs/development/python-modules/acoustics/default.nix
Normal file
26
pkgs/development/python-modules/acoustics/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, cython, pytest, numpy, scipy, matplotlib, pandas, tabulate }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "acoustics";
|
||||||
|
version = "0.1.2";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
buildInputs = [ cython pytest ];
|
||||||
|
propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ];
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "b75a47de700d01e704de95953a6e969922b2f510d7eefe59f7f8980ad44ad1b7";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tests not distributed
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A package for acousticians";
|
||||||
|
maintainer = with maintainers; [ fridh ];
|
||||||
|
license = with licenses; [ bsd3 ];
|
||||||
|
homepage = https://github.com/python-acoustics/python-acoustics;
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/development/python-modules/altair/default.nix
Normal file
30
pkgs/development/python-modules/altair/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, pytest, vega, pandas, ipython, traitlets }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "altair";
|
||||||
|
version = "1.2.0";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "05c47dm20p7m0017p2h38il721rxag1q0457dj7whp0k8rc7qd1n";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pytest ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
py.test altair --doctest-modules
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ vega pandas ipython traitlets ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A declarative statistical visualization library for Python.";
|
||||||
|
homepage = https://github.com/altair-viz/altair;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ teh ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
19
pkgs/development/python-modules/ansicolor/default.nix
Normal file
19
pkgs/development/python-modules/ansicolor/default.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "ansicolor";
|
||||||
|
version = "0.2.4";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://github.com/numerodix/ansicolor/";
|
||||||
|
description = "A library to produce ansi color output and colored highlighting and diffing";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ andsild ];
|
||||||
|
};
|
||||||
|
}
|
24
pkgs/development/python-modules/discid/default.nix
Normal file
24
pkgs/development/python-modules/discid/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, libdiscid, buildPythonPackage, fetchPypi }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "discid";
|
||||||
|
version = "1.1.0";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "b39d443051b26d0230be7a6c616243daae93337a8711dd5d4119bb6a0e516fa8";
|
||||||
|
};
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
substituteInPlace discid/libdiscid.py \
|
||||||
|
--replace '_open_library(_LIB_NAME)' "_open_library('${libdiscid}/lib/libdiscid.so.0')"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Python binding of libdiscid";
|
||||||
|
homepage = "https://python-discid.readthedocs.org/";
|
||||||
|
license = licenses.lgpl3Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
22
pkgs/development/python-modules/django_tagging/default.nix
Normal file
22
pkgs/development/python-modules/django_tagging/default.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi, django }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "django-tagging";
|
||||||
|
version = "0.4.5";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "00ki1g6pb2lnaj4lh0s865mmlf4kdwx7a6n38iy5qz9qv4xrvz4q";
|
||||||
|
};
|
||||||
|
|
||||||
|
# error: invalid command 'test'
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ django ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A generic tagging application for Django projects";
|
||||||
|
homepage = https://github.com/Fantomas42/django-tagging;
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/development/python-modules/emcee/default.nix
Normal file
21
pkgs/development/python-modules/emcee/default.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, numpy }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "emcee";
|
||||||
|
version = "2.1.0";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0qyafp9jfya0mkxgqfvljf0rkic5fm8nimzwadyrxyvq7nd07qaw";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ numpy ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Kick ass affine-invariant ensemble MCMC sampling";
|
||||||
|
homepage = http://dan.iel.fm/emcee;
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
33
pkgs/development/python-modules/intervaltree/default.nix
Normal file
33
pkgs/development/python-modules/intervaltree/default.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, python, pytest, sortedcontainers }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
version = "2.1.0";
|
||||||
|
pname = "intervaltree";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pytest ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ sortedcontainers ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
# pytest will try to run tests for nix_run_setup.py / files in build/lib which fails
|
||||||
|
mv nix_run_setup.py run_setup
|
||||||
|
rm build -rf
|
||||||
|
${python.interpreter} run_setup test
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Editable interval tree data structure for Python 2 and 3";
|
||||||
|
homepage = https://github.com/chaimleib/intervaltree;
|
||||||
|
license = [ licenses.asl20 ];
|
||||||
|
maintainers = [ maintainers.bennofs ];
|
||||||
|
};
|
||||||
|
}
|
27
pkgs/development/python-modules/jsonref/default.nix
Normal file
27
pkgs/development/python-modules/jsonref/default.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, pytest, mock }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "jsonref";
|
||||||
|
version = "0.1";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pytest mock ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
py.test tests.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "An implementation of JSON Reference for Python";
|
||||||
|
homepage = "http://github.com/gazpachoking/jsonref";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ nand0p ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
24
pkgs/development/python-modules/packaging/default.nix
Normal file
24
pkgs/development/python-modules/packaging/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, pyparsing, six, pytest, pretend }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "packaging";
|
||||||
|
version = "16.8";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pyparsing six ];
|
||||||
|
|
||||||
|
buildInputs = [ pytest pretend ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Core utilities for Python packages";
|
||||||
|
homepage = "https://github.com/pypa/packaging";
|
||||||
|
license = [ licenses.bsd2 licenses.asl20 ];
|
||||||
|
maintainers = with maintainers; [ bennofs ];
|
||||||
|
};
|
||||||
|
}
|
33
pkgs/development/python-modules/pygame_sdl2/default.nix
Normal file
33
pkgs/development/python-modules/pygame_sdl2/default.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ stdenv, pkgs, buildPythonPackage, fetchFromGitHub
|
||||||
|
, cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pygame_sdl2";
|
||||||
|
version = "6.99.10.1227";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "renpy";
|
||||||
|
repo = "${pname}";
|
||||||
|
rev = "renpy-${version}";
|
||||||
|
sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
SDL2 SDL2_image SDL2_ttf SDL2_mixer
|
||||||
|
cython libjpeg libpng
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
( cd "$out"/include/python*/ ;
|
||||||
|
ln -s pygame-sdl2 pygame_sdl2 || true ; )
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A reimplementation of parts of pygame API using SDL2";
|
||||||
|
homepage = "https://github.com/renpy/pygame_sdl2";
|
||||||
|
# Some parts are also available under Zlib License
|
||||||
|
license = licenses.lgpl2;
|
||||||
|
maintainers = with maintainers; [ raskin ];
|
||||||
|
};
|
||||||
|
}
|
32
pkgs/development/python-modules/pypandoc/default.nix
Normal file
32
pkgs/development/python-modules/pypandoc/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, pip, pandoc, glibcLocales, haskellPackages, texlive }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pypandoc";
|
||||||
|
version = "1.3.3";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0628f2kn4gqimnhpf251fgzl723hwgyl3idy69dkzyjvi45s5zm6";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Fix tests: first requires network access, second is a bug (reported upstream)
|
||||||
|
preConfigure = ''
|
||||||
|
substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'"
|
||||||
|
substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'<h1 id=\"title\">title</h1>'"
|
||||||
|
'';
|
||||||
|
|
||||||
|
LC_ALL="en_US.UTF-8";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pip ];
|
||||||
|
|
||||||
|
buildInputs = [ pandoc texlive.combined.scheme-small haskellPackages.pandoc-citeproc glibcLocales ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Thin wrapper for pandoc";
|
||||||
|
homepage = "https://github.com/bebraw/pypandoc";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ bennofs kristoff3r ];
|
||||||
|
};
|
||||||
|
}
|
24
pkgs/development/python-modules/pytoml/default.nix
Normal file
24
pkgs/development/python-modules/pytoml/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchgit
|
||||||
|
, python }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "pytoml";
|
||||||
|
version = "0.1.11";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
checkPhase = "${python.interpreter} test/test.py";
|
||||||
|
|
||||||
|
# fetchgit used to ensure test submodule is available
|
||||||
|
src = fetchgit {
|
||||||
|
url = "${meta.homepage}.git";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A TOML parser/writer for Python";
|
||||||
|
homepage = https://github.com/avakar/pytoml;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
|
};
|
||||||
|
}
|
27
pkgs/development/python-modules/stripe/default.nix
Normal file
27
pkgs/development/python-modules/stripe/default.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, unittest2, mock, requests }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "stripe";
|
||||||
|
version = "1.41.1";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
# Tests require network connectivity and there's no easy way to disable
|
||||||
|
# them. ~ C.
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0zvffvq933ia5w5ll6xhx2zgvppgc6zc2mxhc6f0kypw5g2fxvz5";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ unittest2 mock ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ requests ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Stripe Python bindings";
|
||||||
|
homepage = "https://github.com/stripe/stripe-python";
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
@ -1,20 +0,0 @@
|
|||||||
diff --git a/src/tarsnapper/script.py b/src/tarsnapper/script.py
|
|
||||||
index 737ac8d..52cc775 100644
|
|
||||||
--- a/src/tarsnapper/script.py
|
|
||||||
+++ b/src/tarsnapper/script.py
|
|
||||||
@@ -48,7 +48,7 @@ class TarsnapBackend(object):
|
|
||||||
"""
|
|
||||||
``arguments`` is a single list of strings.
|
|
||||||
"""
|
|
||||||
- call_with = ['tarsnap']
|
|
||||||
+ call_with = ['@NIXTARSNAPPATH@']
|
|
||||||
for option in self.options:
|
|
||||||
key = option[0]
|
|
||||||
pre = "-" if len(key) == 1 else "--"
|
|
||||||
@@ -499,4 +499,4 @@ def run():
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
- run()
|
|
||||||
\ No newline at end of file
|
|
||||||
+ run()
|
|
25
pkgs/development/python-modules/unifi/default.nix
Normal file
25
pkgs/development/python-modules/unifi/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, buildPythonPackage
|
||||||
|
, fetchPypi, urllib3 }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "unifi";
|
||||||
|
version = "1.2.5";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ urllib3 ];
|
||||||
|
|
||||||
|
# upstream has no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "An API towards the Ubiquity Networks UniFi controller";
|
||||||
|
homepage = https://pypi.python.org/pypi/unifi/;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/development/python-modules/vega/default.nix
Normal file
30
pkgs/development/python-modules/vega/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, buildPythonPackage , fetchPypi
|
||||||
|
, pytest, jupyter_core, pandas }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "vega";
|
||||||
|
version = "0.4.4";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pytest ];
|
||||||
|
propagatedBuildInputs = [ jupyter_core pandas ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "An IPython/Jupyter widget for Vega and Vega-Lite";
|
||||||
|
longDescription = ''
|
||||||
|
To use this you have to enter a nix-shell with vega. Then run:
|
||||||
|
|
||||||
|
jupyter nbextension install --user --py vega
|
||||||
|
jupyter nbextension enable --user vega
|
||||||
|
'';
|
||||||
|
homepage = https://github.com/vega/ipyvega;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ teh ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
23
pkgs/development/python-modules/vine/default.nix
Normal file
23
pkgs/development/python-modules/vine/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, case, pytest, pythonOlder }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "vine";
|
||||||
|
version = "1.1.3";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
disable = pythonOlder "2.7";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0h94x9mc9bspg23lb1f73h7smdzc39ps7z7sm0q38ds9jahmvfc7";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ case pytest ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Python promises";
|
||||||
|
homepage = https://github.com/celery/vine;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
};
|
||||||
|
}
|
24
pkgs/development/python-modules/yamllint/default.nix
Normal file
24
pkgs/development/python-modules/yamllint/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, nose, pyyaml }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "yamllint";
|
||||||
|
version = "0.5.2";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0brdy1crhfng10hlw0420bv10c2xnjk8ndnhssybkzym47yrzg84";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ nose ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pyyaml ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A linter for YAML files";
|
||||||
|
homepage = "https://github.com/adrienverge/yamllint";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ mikefaille ];
|
||||||
|
};
|
||||||
|
}
|
20
pkgs/development/python-modules/yapf/default.nix
Normal file
20
pkgs/development/python-modules/yapf/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "yapf";
|
||||||
|
version = "0.11.0";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A formatter for Python code.";
|
||||||
|
homepage = "https://github.com/google/yapf";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ siddharthist ];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
22
pkgs/development/python-modules/zeroconf/default.nix
Normal file
22
pkgs/development/python-modules/zeroconf/default.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi
|
||||||
|
, netifaces, six, enum-compat }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "zeroconf";
|
||||||
|
version = "0.18.0";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0s1840v2h4h19ad8lfadbm3dhzs8bw9c5c3slkxql1zsaiycvjy2";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ netifaces six enum-compat ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A pure python implementation of multicast DNS service discovery";
|
||||||
|
homepage = "https://github.com/jstasiak/python-zeroconf";
|
||||||
|
license = licenses.lgpl21;
|
||||||
|
maintainers = with maintainers; [ abbradar ];
|
||||||
|
};
|
||||||
|
}
|
@ -281,6 +281,7 @@ let
|
|||||||
pbdMPI = [ pkgs.openmpi ];
|
pbdMPI = [ pkgs.openmpi ];
|
||||||
pbdNCDF4 = [ pkgs.netcdf ];
|
pbdNCDF4 = [ pkgs.netcdf ];
|
||||||
pbdPROF = [ pkgs.openmpi ];
|
pbdPROF = [ pkgs.openmpi ];
|
||||||
|
pbdZMQ = [ pkgs.which ];
|
||||||
PKI = [ pkgs.openssl.dev ];
|
PKI = [ pkgs.openssl.dev ];
|
||||||
png = [ pkgs.libpng.dev ];
|
png = [ pkgs.libpng.dev ];
|
||||||
PopGenome = [ pkgs.zlib.dev ];
|
PopGenome = [ pkgs.zlib.dev ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, liburcu }:
|
{ stdenv, fetchurl, liburcu, python }:
|
||||||
|
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# ./configure ...
|
# ./configure ...
|
||||||
@ -20,7 +20,11 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq";
|
sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ liburcu ];
|
buildInputs = [ liburcu python ];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
patchShebangs .
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "LTTng Userspace Tracer libraries";
|
description = "LTTng Userspace Tracer libraries";
|
||||||
|
@ -6,8 +6,8 @@ stdenv.mkDerivation {
|
|||||||
name = "teensy-loader-cli-${version}";
|
name = "teensy-loader-cli-${version}";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://github.com/PaulStoffregen/teensy_loader_cli.git";
|
url = "git://github.com/PaulStoffregen/teensy_loader_cli.git";
|
||||||
rev = "001da416bc362ff24485ff97e3a729bd921afe98";
|
rev = "f5b6d7aafda9a8b014b4bb08660833ca45c136d2";
|
||||||
sha256 = "36aed0a725055e36d71183ff57a023993099fdc380072177cffc7676da3c3966";
|
sha256 = "1a663bv3lvm7bsf2wcaj2c0vpmniak7w5hwix5qgz608bvm2v781";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ unzip libusb ];
|
buildInputs = [ unzip libusb ];
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
{ stdenv, fetchzip, ncurses
|
{ stdenv, fetchzip, ncurses
|
||||||
, ocamlPackages
|
, ocamlPackages
|
||||||
, opam }:
|
, jbuilder }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ocaml-top-1.1.3";
|
name = "ocaml-top-1.1.4";
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = https://github.com/OCamlPro/ocaml-top/archive/1.1.3.tar.gz;
|
url = https://github.com/OCamlPro/ocaml-top/archive/1.1.4.tar.gz;
|
||||||
sha256 = "0islyinv7lwhg8hkg4xn30wwz1nv50rj0wpsis8jpimw6jdsnax3";
|
sha256 = "1lmzjmnzsg8xdz0q5nm95zclihi9z80kzsalapg0s9wq0id8qm4j";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses opam ]
|
buildInputs = [ ncurses jbuilder ]
|
||||||
++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]);
|
++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]);
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
@ -17,9 +17,9 @@ stdenv.mkDerivation {
|
|||||||
ocp-build -init
|
ocp-build -init
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = "ocp-build ocaml-top";
|
buildPhase = "jbuilder build";
|
||||||
|
|
||||||
installPhase = "opam-installer --prefix=$out";
|
inherit (jbuilder) installPhase;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.typerex.org/ocaml-top.html;
|
homepage = http://www.typerex.org/ocaml-top.html;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }:
|
{ stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }:
|
||||||
let
|
let
|
||||||
version = "1.99.18-beta";
|
version = "1.99.19-beta";
|
||||||
in
|
in
|
||||||
buildOcaml {
|
buildOcaml {
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ buildOcaml {
|
|||||||
owner = "OCamlPro";
|
owner = "OCamlPro";
|
||||||
repo = "ocp-build";
|
repo = "ocp-build";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "14vzam8p1d2c5qxljrhsfppd8a3j9lxx8kzxlplwclkr2laar0ss";
|
sha256 = "162k5l0cxyqanxlml5v8mqapdq5qbqc9m4b8wdjq7mf523b3h2zj";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml ];
|
buildInputs = [ ocaml ];
|
||||||
|
@ -10,7 +10,7 @@ assert releaseType == "alpha" || releaseType == "headless" || releaseType == "de
|
|||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
let
|
let
|
||||||
version = if releaseType != "demo" then "0.15.26" else "0.15.25";
|
version = if releaseType != "demo" then "0.15.30" else "0.15.25";
|
||||||
|
|
||||||
arch = if stdenv.system == "x86_64-linux" then {
|
arch = if stdenv.system == "x86_64-linux" then {
|
||||||
inUrl = "linux64";
|
inUrl = "linux64";
|
||||||
@ -26,8 +26,8 @@ let
|
|||||||
url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}";
|
url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}";
|
||||||
name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz";
|
name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz";
|
||||||
x64 = {
|
x64 = {
|
||||||
headless = fetchurl { inherit name url; sha256 = "1nblfff1m5wgp177l508y94n61lga3palhzw4frp2vd98sdp7gqk"; };
|
headless = fetchurl { inherit name url; sha256 = "0nmr73i9acnqgphfmsps7f8jlw0f2gyal9l8pldlp4rk0cjgvszy"; };
|
||||||
alpha = authenticatedFetch { inherit name url; sha256 = "0g7k58h15q4n9wxf96rx72w340xpdbj8k1faaxixrfrfx8bnmsls"; };
|
alpha = authenticatedFetch { inherit name url; sha256 = "1ydh44na2lbvdv4anrblym7d6wxwapfbwap40n3722llrsad0zsz"; };
|
||||||
demo = fetchurl { inherit name url; sha256 = "1qz6g8mf221ic663zk92l6rs77ggfydaw2d8g2s7wy0j9097qbsl"; };
|
demo = fetchurl { inherit name url; sha256 = "1qz6g8mf221ic663zk92l6rs77ggfydaw2d8g2s7wy0j9097qbsl"; };
|
||||||
};
|
};
|
||||||
i386 = {
|
i386 = {
|
||||||
|
@ -33,7 +33,7 @@ $curl --data-urlencode csrf_token="$csrf" \
|
|||||||
|
|
||||||
if grep -q 'Location: https://' headers; then
|
if grep -q 'Location: https://' headers; then
|
||||||
# Now download. We need --insecure for this, but the sha256 should cover us.
|
# Now download. We need --insecure for this, but the sha256 should cover us.
|
||||||
$curl --insecure --location $url > $out
|
$curl --insecure --location --fail $url > $out || { echo "Login succeeded, but subsequent fetch failed."; exit 1; }
|
||||||
set +x
|
set +x
|
||||||
else
|
else
|
||||||
set +x
|
set +x
|
||||||
|
@ -4,20 +4,23 @@ stdenv.mkDerivation rec {
|
|||||||
name = "zuki-themes-${version}";
|
name = "zuki-themes-${version}";
|
||||||
version = "${gnome3.version}.${date}";
|
version = "${gnome3.version}.${date}";
|
||||||
date = {
|
date = {
|
||||||
"3.20" = "2017-02-09";
|
"3.20" = "2017-05-03";
|
||||||
"3.22" = "2017-02-17";
|
"3.22" = "2017-04-23";
|
||||||
|
"3.24" = "2017-06-26";
|
||||||
}."${gnome3.version}";
|
}."${gnome3.version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lassekongo83";
|
owner = "lassekongo83";
|
||||||
repo = "zuki-themes";
|
repo = "zuki-themes";
|
||||||
rev = {
|
rev = {
|
||||||
"3.20" = "b9106c3c05012b7e91394819ca550def3357d2eb";
|
"3.20" = "ce7ae498df7d5c81acaf48ed957b9f828356d58c";
|
||||||
"3.22" = "fc3cf7c372bcc439870c4785f91b8ea7af73e1cc";
|
"3.22" = "e97f2c3cf75b5205bc5ecd6072696327169fde5d";
|
||||||
|
"3.24" = "d25e0a2fb6e08ad107d8bb627451433362f2a830";
|
||||||
}."${gnome3.version}";
|
}."${gnome3.version}";
|
||||||
sha256 = {
|
sha256 = {
|
||||||
"3.20" = "03k18p25gsscv05934vs0py26vpcrx93wi5bj6di277c6kwgjzxg";
|
"3.20" = "0na81q9mc8kwn9m04kkcchrdr67087dqf3q155imhjgqrxjhh3w4";
|
||||||
"3.22" = "02ppk8wsx0k7j3zgmcb1l8jgij0m5rdkrahfv884jxkyjr6wwgs5";
|
"3.22" = "195v0d2sgqh92c104xqm00p68yxp6kzp5mzx8q7s36bdv9p972q4";
|
||||||
|
"3.24" = "0z5swi5aah3s4yinfglh491qydxgjkqwf6zxyz7k9c1d7lrvj3ww";
|
||||||
}."${gnome3.version}";
|
}."${gnome3.version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -302,7 +302,9 @@ with stdenv.lib;
|
|||||||
CIFS_UPCALL y
|
CIFS_UPCALL y
|
||||||
CIFS_ACL y
|
CIFS_ACL y
|
||||||
CIFS_DFS_UPCALL y
|
CIFS_DFS_UPCALL y
|
||||||
CIFS_SMB2 y
|
${optionalString (versionOlder version "4.13") ''
|
||||||
|
CIFS_SMB2 y
|
||||||
|
''}
|
||||||
${optionalString (versionAtLeast version "3.12") ''
|
${optionalString (versionAtLeast version "3.12") ''
|
||||||
CEPH_FSCACHE y
|
CEPH_FSCACHE y
|
||||||
''}
|
''}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "4.11.10";
|
version = "4.11.11";
|
||||||
extraMeta.branch = "4.11";
|
extraMeta.branch = "4.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||||
sha256 = "1dma031rcj8nvcb3znbcffafwm5cpax3cvqkq9zspa8lf5ah52si";
|
sha256 = "1dvs1r3vq15akyv0yxvim6j09pqac5dagqbchvdlsw5yi4fnylc8";
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPatches = args.kernelPatches;
|
kernelPatches = args.kernelPatches;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "4.12.1";
|
version = "4.12.2";
|
||||||
extraMeta.branch = "4.12";
|
extraMeta.branch = "4.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||||
sha256 = "0qm8lp6z3f2frqb585i5r7cb6hbzd0m13p0ywz4s8bqxwmrym1cw";
|
sha256 = "1ql5y6bvb1bx9b2k5iksdzjgzxnq852rvq69kdnkwa98p8p8ayha";
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPatches = args.kernelPatches;
|
kernelPatches = args.kernelPatches;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "4.4.76";
|
version = "4.4.77";
|
||||||
extraMeta.branch = "4.4";
|
extraMeta.branch = "4.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||||
sha256 = "180mngyar7ky2aiaszmgfqpfvwi0kxcym8j3ifflzggwqjkgrrki";
|
sha256 = "1s5l5b3hpm691w94a3ddliy4gcxi2s9xm3hsazdwgzqrqdv70ysy";
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPatches = args.kernelPatches;
|
kernelPatches = args.kernelPatches;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "4.9.37";
|
version = "4.9.38";
|
||||||
extraMeta.branch = "4.9";
|
extraMeta.branch = "4.9";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||||
sha256 = "14300vddyz7x6vg1mx64a0i8i61fk5bl8azcvv7rf3b97c4cy7pn";
|
sha256 = "0x4h2b6xapqyxgivj9ay5yclmyl434bjfmq9ikajy7fmgpc8kmvn";
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPatches = args.kernelPatches;
|
kernelPatches = args.kernelPatches;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.12.1";
|
version = "4.12.2";
|
||||||
revision = "a";
|
revision = "a";
|
||||||
sha256 = "0fjw5fmxpvdhfqkr4lcpmqw8xxj92q19ya8q48yhxvv149ahcvhq";
|
sha256 = "0w3k5a30li2qz2msach9sg9qsvmjsc4mf9k3ad5dxd0667a0hygm";
|
||||||
in
|
in
|
||||||
|
|
||||||
import ./generic.nix (args // {
|
import ./generic.nix (args // {
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "4.12-rc7";
|
version = "4.13-rc1";
|
||||||
modDirVersion = "4.12.0-rc7";
|
modDirVersion = "4.13.0-rc1";
|
||||||
extraMeta.branch = "4.12";
|
extraMeta.branch = "4.13";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||||
sha256 = "1svfswv0b4gagv1yiavwb22p726h0w81lgxjqq0h9m3gf4xlqp3x";
|
sha256 = "1pdbykp2336vk7ynrz0l95rwqags6kklbr08wjc7zpmdaad6yd6m";
|
||||||
};
|
};
|
||||||
|
|
||||||
features.iwlwifi = true;
|
features.iwlwifi = true;
|
||||||
|
@ -1,224 +0,0 @@
|
|||||||
From 8a937a25a7e3c19d5fb3f9d92f605cf5fda219d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Masami Hiramatsu <mhiramat@kernel.org>
|
|
||||||
Date: Wed, 4 Jan 2017 12:30:19 +0900
|
|
||||||
Subject: perf probe: Fix to probe on gcc generated symbols for offline kernel
|
|
||||||
|
|
||||||
From: Masami Hiramatsu <mhiramat@kernel.org>
|
|
||||||
|
|
||||||
commit 8a937a25a7e3c19d5fb3f9d92f605cf5fda219d8 upstream.
|
|
||||||
|
|
||||||
Fix perf-probe to show probe definition on gcc generated symbols for
|
|
||||||
offline kernel (including cross-arch kernel image).
|
|
||||||
|
|
||||||
gcc sometimes optimizes functions and generate new symbols with suffixes
|
|
||||||
such as ".constprop.N" or ".isra.N" etc. Since those symbol names are
|
|
||||||
not recorded in DWARF, we have to find correct generated symbols from
|
|
||||||
offline ELF binary to probe on it (kallsyms doesn't correct it). For
|
|
||||||
online kernel or uprobes we don't need it because those are rebased on
|
|
||||||
_text, or a section relative address.
|
|
||||||
|
|
||||||
E.g. Without this:
|
|
||||||
|
|
||||||
$ perf probe -k build-arm/vmlinux -F __slab_alloc*
|
|
||||||
__slab_alloc.constprop.9
|
|
||||||
$ perf probe -k build-arm/vmlinux -D __slab_alloc
|
|
||||||
p:probe/__slab_alloc __slab_alloc+0
|
|
||||||
|
|
||||||
If you put above definition on target machine, it should fail
|
|
||||||
because there is no __slab_alloc in kallsyms.
|
|
||||||
|
|
||||||
With this fix, perf probe shows correct probe definition on
|
|
||||||
__slab_alloc.constprop.9:
|
|
||||||
|
|
||||||
$ perf probe -k build-arm/vmlinux -D __slab_alloc
|
|
||||||
p:probe/__slab_alloc __slab_alloc.constprop.9+0
|
|
||||||
|
|
||||||
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
|
|
||||||
Cc: Jiri Olsa <jolsa@redhat.com>
|
|
||||||
Cc: Namhyung Kim <namhyung@kernel.org>
|
|
||||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
||||||
Link: http://lkml.kernel.org/r/148350060434.19001.11864836288580083501.stgit@devbox
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
Cc: Krister Johansen <kjlx@templeofstupid.com>
|
|
||||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
||||||
|
|
||||||
---
|
|
||||||
tools/perf/util/probe-event.c | 48 +++++++++++++++++++++++++++++++++++++++++-
|
|
||||||
1 file changed, 47 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/tools/perf/util/probe-event.c
|
|
||||||
+++ b/tools/perf/util/probe-event.c
|
|
||||||
@@ -618,6 +618,51 @@ error:
|
|
||||||
return ret ? : -ENOENT;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * Rename DWARF symbols to ELF symbols -- gcc sometimes optimizes functions
|
|
||||||
+ * and generate new symbols with suffixes such as .constprop.N or .isra.N
|
|
||||||
+ * etc. Since those symbols are not recorded in DWARF, we have to find
|
|
||||||
+ * correct generated symbols from offline ELF binary.
|
|
||||||
+ * For online kernel or uprobes we don't need this because those are
|
|
||||||
+ * rebased on _text, or already a section relative address.
|
|
||||||
+ */
|
|
||||||
+static int
|
|
||||||
+post_process_offline_probe_trace_events(struct probe_trace_event *tevs,
|
|
||||||
+ int ntevs, const char *pathname)
|
|
||||||
+{
|
|
||||||
+ struct symbol *sym;
|
|
||||||
+ struct map *map;
|
|
||||||
+ unsigned long stext = 0;
|
|
||||||
+ u64 addr;
|
|
||||||
+ int i;
|
|
||||||
+
|
|
||||||
+ /* Prepare a map for offline binary */
|
|
||||||
+ map = dso__new_map(pathname);
|
|
||||||
+ if (!map || get_text_start_address(pathname, &stext) < 0) {
|
|
||||||
+ pr_warning("Failed to get ELF symbols for %s\n", pathname);
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < ntevs; i++) {
|
|
||||||
+ addr = tevs[i].point.address + tevs[i].point.offset - stext;
|
|
||||||
+ sym = map__find_symbol(map, addr);
|
|
||||||
+ if (!sym)
|
|
||||||
+ continue;
|
|
||||||
+ if (!strcmp(sym->name, tevs[i].point.symbol))
|
|
||||||
+ continue;
|
|
||||||
+ /* If we have no realname, use symbol for it */
|
|
||||||
+ if (!tevs[i].point.realname)
|
|
||||||
+ tevs[i].point.realname = tevs[i].point.symbol;
|
|
||||||
+ else
|
|
||||||
+ free(tevs[i].point.symbol);
|
|
||||||
+ tevs[i].point.symbol = strdup(sym->name);
|
|
||||||
+ tevs[i].point.offset = addr - sym->start;
|
|
||||||
+ }
|
|
||||||
+ map__put(map);
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs,
|
|
||||||
int ntevs, const char *exec)
|
|
||||||
{
|
|
||||||
@@ -694,7 +739,8 @@ post_process_kernel_probe_trace_events(s
|
|
||||||
|
|
||||||
/* Skip post process if the target is an offline kernel */
|
|
||||||
if (symbol_conf.ignore_vmlinux_buildid)
|
|
||||||
- return 0;
|
|
||||||
+ return post_process_offline_probe_trace_events(tevs, ntevs,
|
|
||||||
+ symbol_conf.vmlinux_name);
|
|
||||||
|
|
||||||
reloc_sym = kernel_get_ref_reloc_sym();
|
|
||||||
if (!reloc_sym) {
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
From 3e96dac7c956089d3f23aca98c4dfca57b6aaf8a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Masami Hiramatsu <mhiramat@kernel.org>
|
|
||||||
Date: Wed, 11 Jan 2017 15:00:47 +0900
|
|
||||||
Subject: perf probe: Add error checks to offline probe post-processing
|
|
||||||
|
|
||||||
From: Masami Hiramatsu <mhiramat@kernel.org>
|
|
||||||
|
|
||||||
commit 3e96dac7c956089d3f23aca98c4dfca57b6aaf8a upstream.
|
|
||||||
|
|
||||||
Add error check codes on post processing and improve it for offline
|
|
||||||
probe events as:
|
|
||||||
|
|
||||||
- post processing fails if no matched symbol found in map(-ENOENT)
|
|
||||||
or strdup() failed(-ENOMEM).
|
|
||||||
|
|
||||||
- Even if the symbol name is the same, it updates symbol address
|
|
||||||
and offset.
|
|
||||||
|
|
||||||
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
|
|
||||||
Cc: Jiri Olsa <jolsa@redhat.com>
|
|
||||||
Cc: Namhyung Kim <namhyung@kernel.org>
|
|
||||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
||||||
Link: http://lkml.kernel.org/r/148411443738.9978.4617979132625405545.stgit@devbox
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
Cc: Krister Johansen <kjlx@templeofstupid.com>
|
|
||||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
||||||
|
|
||||||
---
|
|
||||||
tools/perf/util/probe-event.c | 50 +++++++++++++++++++++++++++---------------
|
|
||||||
1 file changed, 33 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
--- a/tools/perf/util/probe-event.c
|
|
||||||
+++ b/tools/perf/util/probe-event.c
|
|
||||||
@@ -618,6 +618,33 @@ error:
|
|
||||||
return ret ? : -ENOENT;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Adjust symbol name and address */
|
|
||||||
+static int post_process_probe_trace_point(struct probe_trace_point *tp,
|
|
||||||
+ struct map *map, unsigned long offs)
|
|
||||||
+{
|
|
||||||
+ struct symbol *sym;
|
|
||||||
+ u64 addr = tp->address + tp->offset - offs;
|
|
||||||
+
|
|
||||||
+ sym = map__find_symbol(map, addr);
|
|
||||||
+ if (!sym)
|
|
||||||
+ return -ENOENT;
|
|
||||||
+
|
|
||||||
+ if (strcmp(sym->name, tp->symbol)) {
|
|
||||||
+ /* If we have no realname, use symbol for it */
|
|
||||||
+ if (!tp->realname)
|
|
||||||
+ tp->realname = tp->symbol;
|
|
||||||
+ else
|
|
||||||
+ free(tp->symbol);
|
|
||||||
+ tp->symbol = strdup(sym->name);
|
|
||||||
+ if (!tp->symbol)
|
|
||||||
+ return -ENOMEM;
|
|
||||||
+ }
|
|
||||||
+ tp->offset = addr - sym->start;
|
|
||||||
+ tp->address -= offs;
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Rename DWARF symbols to ELF symbols -- gcc sometimes optimizes functions
|
|
||||||
* and generate new symbols with suffixes such as .constprop.N or .isra.N
|
|
||||||
@@ -630,11 +657,9 @@ static int
|
|
||||||
post_process_offline_probe_trace_events(struct probe_trace_event *tevs,
|
|
||||||
int ntevs, const char *pathname)
|
|
||||||
{
|
|
||||||
- struct symbol *sym;
|
|
||||||
struct map *map;
|
|
||||||
unsigned long stext = 0;
|
|
||||||
- u64 addr;
|
|
||||||
- int i;
|
|
||||||
+ int i, ret = 0;
|
|
||||||
|
|
||||||
/* Prepare a map for offline binary */
|
|
||||||
map = dso__new_map(pathname);
|
|
||||||
@@ -644,23 +669,14 @@ post_process_offline_probe_trace_events(
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < ntevs; i++) {
|
|
||||||
- addr = tevs[i].point.address + tevs[i].point.offset - stext;
|
|
||||||
- sym = map__find_symbol(map, addr);
|
|
||||||
- if (!sym)
|
|
||||||
- continue;
|
|
||||||
- if (!strcmp(sym->name, tevs[i].point.symbol))
|
|
||||||
- continue;
|
|
||||||
- /* If we have no realname, use symbol for it */
|
|
||||||
- if (!tevs[i].point.realname)
|
|
||||||
- tevs[i].point.realname = tevs[i].point.symbol;
|
|
||||||
- else
|
|
||||||
- free(tevs[i].point.symbol);
|
|
||||||
- tevs[i].point.symbol = strdup(sym->name);
|
|
||||||
- tevs[i].point.offset = addr - sym->start;
|
|
||||||
+ ret = post_process_probe_trace_point(&tevs[i].point,
|
|
||||||
+ map, stext);
|
|
||||||
+ if (ret < 0)
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
map__put(map);
|
|
||||||
|
|
||||||
- return 0;
|
|
||||||
+ return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs,
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
inherit (kernel) src;
|
inherit (kernel) src;
|
||||||
|
|
||||||
patches = kernel.patches ++ [ ./perf-binutils-path.patch ./perf-offline-probe.patch ];
|
patches = kernel.patches ++ [ ./perf-binutils-path.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cd tools/perf
|
cd tools/perf
|
||||||
|
@ -62,11 +62,11 @@ in
|
|||||||
assert buildKernel -> kernel != null;
|
assert buildKernel -> kernel != null;
|
||||||
{
|
{
|
||||||
splStable = common {
|
splStable = common {
|
||||||
version = "0.6.5.10";
|
version = "0.6.5.11";
|
||||||
sha256 = "1zdxggpdz9j0lpcqfnkvf4iym7mp2k246sg1s4frqaw1pwwcw9vi";
|
sha256 = "192val8035pj2rryi3fwb134avzirhv5ifaj5021vh8bbjx75pd5";
|
||||||
};
|
};
|
||||||
splUnstable = common {
|
splUnstable = common {
|
||||||
version = "0.7.0-rc4";
|
version = "0.7.0-rc5";
|
||||||
sha256 = "13r5qwrdnaabqfy9fvizvdj4n4cvfv6zy4jh0vijzjvbjd4an9g1";
|
sha256 = "17y25g02c9swi3n90lhjvazcnsr69nh50dz3b8g1c08zlz9n2akp";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -123,12 +123,12 @@ in
|
|||||||
# to be adapted
|
# to be adapted
|
||||||
zfsStable = common {
|
zfsStable = common {
|
||||||
# comment/uncomment if breaking kernel versions are known
|
# comment/uncomment if breaking kernel versions are known
|
||||||
incompatibleKernelVersion = null;
|
incompatibleKernelVersion = "4.12";
|
||||||
|
|
||||||
version = "0.6.5.10";
|
version = "0.6.5.11";
|
||||||
|
|
||||||
# this package should point to the latest release.
|
# this package should point to the latest release.
|
||||||
sha256 = "04gn5fj22z17zq2nazxwl3j9dr33l79clha6ipxvdz241bhjqrk3";
|
sha256 = "1wqz43cjr21m3f52ahcikl2798pbzj5sfy16zqxwiqpv7iy09kr3";
|
||||||
extraPatches = [
|
extraPatches = [
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch";
|
url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch";
|
||||||
@ -141,10 +141,10 @@ in
|
|||||||
# comment/uncomment if breaking kernel versions are known
|
# comment/uncomment if breaking kernel versions are known
|
||||||
incompatibleKernelVersion = "4.12";
|
incompatibleKernelVersion = "4.12";
|
||||||
|
|
||||||
version = "0.7.0-rc4";
|
version = "0.7.0-rc5";
|
||||||
|
|
||||||
# this package should point to a version / git revision compatible with the latest kernel release
|
# this package should point to a version / git revision compatible with the latest kernel release
|
||||||
sha256 = "16jiq2h7m2ljg5xv7m5lqmsszzclkhvj1iq1wa9w740la4vl22kf";
|
sha256 = "1k0fl6lbi5winri58v26k7gngd560hbj0247rnwcbc6j01ixsr5n";
|
||||||
extraPatches = [
|
extraPatches = [
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch";
|
url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch";
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "tt-rss-${version}";
|
name = "tt-rss-${version}";
|
||||||
version = "16.3";
|
version = "17.4";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://tt-rss.org/gitlab/fox/tt-rss.git";
|
url = "https://git.tt-rss.org/git/tt-rss.git";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "1584lcq6kcy9f8ik5djb9apck9hxvfpl54sn6yhl3pdfrfdj3nw5";
|
sha256 = "07ng21n4pva56cxnxkzd6vzs381zn67psqpm51ym5wnl644jqh08";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildPhases = ["unpackPhase" "installPhase"];
|
buildPhases = ["unpackPhase" "installPhase"];
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "restic-${version}";
|
name = "restic-${version}";
|
||||||
version = "0.6.1";
|
version = "0.7.0";
|
||||||
|
|
||||||
goPackagePath = "github.com/restic/restic";
|
goPackagePath = "github.com/restic/restic";
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ buildGoPackage rec {
|
|||||||
owner = "restic";
|
owner = "restic";
|
||||||
repo = "restic";
|
repo = "restic";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1rp4s1gh07j06457rhl4r0qnxqn0h7n4i8k50akdr87nwyikkn17";
|
sha256 = "1whzzma2c199i604qy1a807zhi8qgri1r9bbxl5l7wlfh7x0n6sd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
@ -8,11 +8,11 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "tarsnap-${version}";
|
name = "tarsnap-${version}";
|
||||||
version = "1.0.37";
|
version = "1.0.38";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz";
|
url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz";
|
||||||
sha256 = "1ynv323qi6775lzjb6hvifl8ajkv2bizy43sajadjfqvcl9r96gs";
|
sha256 = "0nyd722i7q8h81h5mvwxai0f3jmwd93r3ahjkmr12k55p8c0rvkn";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
25
pkgs/tools/backup/tarsnapper/default.nix
Normal file
25
pkgs/tools/backup/tarsnapper/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ python3Packages, fetchFromGitHub , tarsnap }:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
name = "tarsnapper-${version}";
|
||||||
|
version = "0.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "miracle2k";
|
||||||
|
repo = "tarsnapper";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "03db49188f4v1946c8mqqj30ah10x68hbg3a58js0syai32v12pm";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = with python3Packages; [ nose pytest ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
py.test .
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [ pyyaml dateutil pexpect ];
|
||||||
|
|
||||||
|
patches = [ ./remove-argparse.patch ];
|
||||||
|
|
||||||
|
makeWrapperArgs = ["--prefix PATH : ${tarsnap}/bin"];
|
||||||
|
}
|
10
pkgs/tools/backup/tarsnapper/remove-argparse.patch
Normal file
10
pkgs/tools/backup/tarsnapper/remove-argparse.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- tarsnapper-0.4-src.org/setup.py 1980-01-02 00:00:00.000000000 +0000
|
||||||
|
+++ tarsnapper-0.4-src/setup.py 2017-07-16 10:54:36.596499451 +0100
|
||||||
|
@@ -45,6 +45,6 @@
|
||||||
|
url='http://github.com/miracle2k/tarsnapper',
|
||||||
|
license='BSD',
|
||||||
|
packages=['tarsnapper'],
|
||||||
|
- install_requires = ['argparse>=1.1', 'pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'],
|
||||||
|
+ install_requires = ['pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'],
|
||||||
|
**kw
|
||||||
|
)
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "lftp-${version}";
|
name = "lftp-${version}";
|
||||||
version = "4.7.7";
|
version = "4.8.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||||||
"ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2"
|
"ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2"
|
||||||
"http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
|
"http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
|
||||||
];
|
];
|
||||||
sha256 = "104jvzmvbmblfg8n8ffrnrrg8za5l25n53lbkawwy5x3m4h1yi7y";
|
sha256 = "0z2432zxzg808swi72yak9kia976qrjj030grk0v4p54mcib3s34";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
, autoreconfHook }:
|
, autoreconfHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.3.4";
|
version = "0.3.5";
|
||||||
name = "opkg-${version}";
|
name = "opkg-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
|
url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
|
||||||
sha256 = "1glkxjhsaaji172phd1gv8g0k0fs09pij6k01cl9namnac5r02vm";
|
sha256 = "0ciz6h6sx9hnz463alpkcqwqnq8jk382ifc6z89j29hix8fw4jvk";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||||
|
@ -4370,6 +4370,8 @@ with pkgs;
|
|||||||
|
|
||||||
tarsnap = callPackage ../tools/backup/tarsnap { };
|
tarsnap = callPackage ../tools/backup/tarsnap { };
|
||||||
|
|
||||||
|
tarsnapper = callPackage ../tools/backup/tarsnapper { };
|
||||||
|
|
||||||
tcpcrypt = callPackage ../tools/security/tcpcrypt { };
|
tcpcrypt = callPackage ../tools/security/tcpcrypt { };
|
||||||
|
|
||||||
tcptraceroute = callPackage ../tools/networking/tcptraceroute { };
|
tcptraceroute = callPackage ../tools/networking/tcptraceroute { };
|
||||||
@ -5619,8 +5621,8 @@ with pkgs;
|
|||||||
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
|
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
|
||||||
(openjdk7.jre // { outputs = [ "jre" ]; }));
|
(openjdk7.jre // { outputs = [ "jre" ]; }));
|
||||||
|
|
||||||
jdk8 = openjdk8 // { outputs = [ "out" ]; };
|
jdk8 = if stdenv.isArm then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; };
|
||||||
jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}"
|
jre8 = if stdenv.isArm then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}"
|
||||||
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
|
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
|
||||||
(openjdk8.jre // { outputs = [ "jre" ]; }));
|
(openjdk8.jre // { outputs = [ "jre" ]; }));
|
||||||
jre8_headless =
|
jre8_headless =
|
||||||
@ -5653,7 +5655,8 @@ with pkgs;
|
|||||||
|
|
||||||
supportsJDK =
|
supportsJDK =
|
||||||
system == "i686-linux" ||
|
system == "i686-linux" ||
|
||||||
system == "x86_64-linux";
|
system == "x86_64-linux" ||
|
||||||
|
system == "armv7l-linux";
|
||||||
|
|
||||||
jdkdistro = oraclejdk8distro;
|
jdkdistro = oraclejdk8distro;
|
||||||
|
|
||||||
@ -6064,7 +6067,7 @@ with pkgs;
|
|||||||
inherit (beam.interpreters)
|
inherit (beam.interpreters)
|
||||||
erlang erlang_odbc erlang_javac erlang_odbc_javac
|
erlang erlang_odbc erlang_javac erlang_odbc_javac
|
||||||
elixir elixir_1_5_rc elixir_1_4 elixir_1_3
|
elixir elixir_1_5_rc elixir_1_4 elixir_1_3
|
||||||
lfe
|
lfe lfe_1_2
|
||||||
erlangR16 erlangR16_odbc
|
erlangR16 erlangR16_odbc
|
||||||
erlang_basho_R16B02 erlang_basho_R16B02_odbc
|
erlang_basho_R16B02 erlang_basho_R16B02_odbc
|
||||||
erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac
|
erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac
|
||||||
@ -7390,6 +7393,8 @@ with pkgs;
|
|||||||
|
|
||||||
aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {});
|
aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {});
|
||||||
|
|
||||||
|
aspellWithDicts = callPackage ../development/libraries/aspell/aspell-with-dicts.nix { };
|
||||||
|
|
||||||
attica = callPackage ../development/libraries/attica { };
|
attica = callPackage ../development/libraries/attica { };
|
||||||
|
|
||||||
attr = callPackage ../development/libraries/attr { };
|
attr = callPackage ../development/libraries/attr { };
|
||||||
@ -7654,6 +7659,8 @@ with pkgs;
|
|||||||
|
|
||||||
vmmlib = callPackage ../development/libraries/vmmlib {};
|
vmmlib = callPackage ../development/libraries/vmmlib {};
|
||||||
|
|
||||||
|
elastix = callPackage ../development/libraries/science/biology/elastix { };
|
||||||
|
|
||||||
enchant = callPackage ../development/libraries/enchant { };
|
enchant = callPackage ../development/libraries/enchant { };
|
||||||
|
|
||||||
enet = callPackage ../development/libraries/enet { };
|
enet = callPackage ../development/libraries/enet { };
|
||||||
@ -13399,6 +13406,8 @@ with pkgs;
|
|||||||
libgpod = pkgs.libgpod.override { monoSupport = true; };
|
libgpod = pkgs.libgpod.override { monoSupport = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bashSnippets = callPackage ../applications/misc/bashSnippets { };
|
||||||
|
|
||||||
batik = callPackage ../applications/graphics/batik { };
|
batik = callPackage ../applications/graphics/batik { };
|
||||||
|
|
||||||
batti = callPackage ../applications/misc/batti { };
|
batti = callPackage ../applications/misc/batti { };
|
||||||
@ -18651,6 +18660,7 @@ with pkgs;
|
|||||||
nix-serve = callPackage ../tools/package-management/nix-serve { };
|
nix-serve = callPackage ../tools/package-management/nix-serve { };
|
||||||
|
|
||||||
nixos-artwork = callPackage ../data/misc/nixos-artwork { };
|
nixos-artwork = callPackage ../data/misc/nixos-artwork { };
|
||||||
|
nixos-icons = callPackage ../data/misc/nixos-artwork/icons.nix { };
|
||||||
|
|
||||||
nixos-container = callPackage ../tools/virtualization/nixos-container { };
|
nixos-container = callPackage ../tools/virtualization/nixos-container { };
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ rec {
|
|||||||
# `beam.packages.erlangR19.elixir`.
|
# `beam.packages.erlangR19.elixir`.
|
||||||
inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3;
|
inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3;
|
||||||
|
|
||||||
lfe = packages.erlang.lfe;
|
inherit (packages.erlang) lfe lfe_1_2;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Helper function to generate package set with a specific Erlang version.
|
# Helper function to generate package set with a specific Erlang version.
|
||||||
|
@ -84,29 +84,7 @@ in {
|
|||||||
|
|
||||||
vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { pythonPackages = self; };
|
vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { pythonPackages = self; };
|
||||||
|
|
||||||
acoustics = buildPythonPackage rec {
|
acoustics = callPackage ../development/python-modules/acoustics { };
|
||||||
pname = "acoustics";
|
|
||||||
version = "0.1.2";
|
|
||||||
name = pname + "-" + version;
|
|
||||||
|
|
||||||
buildInputs = with self; [ cython pytest ];
|
|
||||||
propagatedBuildInputs = with self; [ numpy scipy matplotlib pandas tabulate ];
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
|
|
||||||
sha256 = "b75a47de700d01e704de95953a6e969922b2f510d7eefe59f7f8980ad44ad1b7";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Tests not distributed
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A package for acousticians";
|
|
||||||
maintainer = with maintainers; [ fridh ];
|
|
||||||
license = with licenses; [ bsd3 ];
|
|
||||||
homepage = https://github.com/python-acoustics/python-acoustics;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"3to2" = callPackage ../development/python-modules/3to2 { };
|
"3to2" = callPackage ../development/python-modules/3to2 { };
|
||||||
|
|
||||||
@ -122,22 +100,7 @@ in {
|
|||||||
|
|
||||||
agate-sql = callPackage ../development/python-modules/agate-sql { };
|
agate-sql = callPackage ../development/python-modules/agate-sql { };
|
||||||
|
|
||||||
ansicolor = buildPythonPackage rec {
|
ansicolor = callPackage ../development/python-modules/ansicolor { };
|
||||||
name = "ansicolor-${version}";
|
|
||||||
version = "0.2.4";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl{
|
|
||||||
url = "mirror://pypi/a/ansicolor/${name}.tar.gz";
|
|
||||||
sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/numerodix/ansicolor/";
|
|
||||||
description = "A library to produce ansi color output and colored highlighting and diffing";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ andsild ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
asn1crypto = callPackage ../development/python-modules/asn1crypto { };
|
asn1crypto = callPackage ../development/python-modules/asn1crypto { };
|
||||||
|
|
||||||
@ -167,44 +130,13 @@ in {
|
|||||||
|
|
||||||
dkimpy = callPackage ../development/python-modules/dkimpy { };
|
dkimpy = callPackage ../development/python-modules/dkimpy { };
|
||||||
|
|
||||||
emcee = buildPythonPackage {
|
emcee = callPackage ../development/python-modules/emcee { };
|
||||||
name = "emcee-2.1.0";
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/e/emcee/emcee-2.1.0.tar.gz";
|
|
||||||
sha256 = "0qyafp9jfya0mkxgqfvljf0rkic5fm8nimzwadyrxyvq7nd07qaw";
|
|
||||||
};
|
|
||||||
propagatedBuildInputs = [ self.numpy ];
|
|
||||||
meta = {
|
|
||||||
homepage = http://dan.iel.fm/emcee;
|
|
||||||
license = "MIT";
|
|
||||||
description = "Kick ass affine-invariant ensemble MCMC sampling";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dbus-python = callPackage ../development/python-modules/dbus {
|
dbus-python = callPackage ../development/python-modules/dbus {
|
||||||
dbus = pkgs.dbus;
|
dbus = pkgs.dbus;
|
||||||
};
|
};
|
||||||
|
|
||||||
discid = buildPythonPackage rec {
|
discid = callPackage ../development/python-modules/discid { };
|
||||||
name = "discid-1.1.0";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Python binding of libdiscid";
|
|
||||||
homepage = "https://python-discid.readthedocs.org/";
|
|
||||||
license = licenses.lgpl3Plus;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/d/discid/${name}.tar.gz";
|
|
||||||
sha256 = "b39d443051b26d0230be7a6c616243daae93337a8711dd5d4119bb6a0e516fa8";
|
|
||||||
};
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
substituteInPlace discid/libdiscid.py \
|
|
||||||
--replace '_open_library(_LIB_NAME)' "_open_library('${pkgs.libdiscid}/lib/libdiscid.so.0')"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
discordpy = callPackage ../development/python-modules/discordpy { };
|
discordpy = callPackage ../development/python-modules/discordpy { };
|
||||||
|
|
||||||
@ -264,38 +196,10 @@ in {
|
|||||||
|
|
||||||
pygame-git = callPackage ../development/python-modules/pygame/git.nix { };
|
pygame-git = callPackage ../development/python-modules/pygame/git.nix { };
|
||||||
|
|
||||||
pygame_sdl2 = buildPythonPackage rec {
|
pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { };
|
||||||
pname = "pygame_sdl2";
|
|
||||||
version = "6.99.10.1227";
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A reimplementation of parts of pygame API using SDL2";
|
|
||||||
homepage = "https://github.com/renpy/pygame_sdl2";
|
|
||||||
# Some parts are also available under Zlib License
|
|
||||||
license = licenses.lgpl2;
|
|
||||||
maintainers = with maintainers; [ raskin ];
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ ];
|
|
||||||
buildInputs = with pkgs; with self; [
|
|
||||||
SDL2 SDL2_image SDL2_ttf SDL2_mixer
|
|
||||||
cython libjpeg libpng ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
( cd "$out"/include/python*/ ;
|
|
||||||
ln -s pygame-sdl2 pygame_sdl2 || true ; )
|
|
||||||
'';
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "renpy";
|
|
||||||
repo = "${pname}";
|
|
||||||
rev = "renpy-${version}";
|
|
||||||
sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pygobject2 = callPackage ../development/python-modules/pygobject { };
|
pygobject2 = callPackage ../development/python-modules/pygobject { };
|
||||||
|
|
||||||
pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { };
|
pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { };
|
||||||
|
|
||||||
pygtk = callPackage ../development/python-modules/pygtk { libglade = null; };
|
pygtk = callPackage ../development/python-modules/pygtk { libglade = null; };
|
||||||
@ -352,121 +256,19 @@ in {
|
|||||||
hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
|
hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
|
||||||
};
|
};
|
||||||
|
|
||||||
unifi = buildPythonPackage rec {
|
unifi = callPackage ../development/python-modules/unifi { };
|
||||||
name = "unifi-1.2.5";
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ urllib3 ];
|
|
||||||
|
|
||||||
# upstream has no tests
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "An API towards the Ubiquity Networks UniFi controller";
|
|
||||||
homepage = https://pypi.python.org/pypi/unifi/;
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/u/unifi/${name}.tar.gz";
|
|
||||||
sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pyunbound = callPackage ../tools/networking/unbound/python.nix { };
|
pyunbound = callPackage ../tools/networking/unbound/python.nix { };
|
||||||
|
|
||||||
# packages defined here
|
# packages defined here
|
||||||
|
|
||||||
aafigure = buildPythonPackage rec {
|
aafigure = callPackage ../development/python-modules/aafigure { };
|
||||||
name = "aafigure-0.5";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
altair = callPackage ../development/python-modules/altair { };
|
||||||
url = "mirror://pypi/a/aafigure/${name}.tar.gz";
|
|
||||||
sha256 = "090c88beb091d28a233f854e239713aa15d8d1906ea16211855345c912e8a091";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ pillow ];
|
vega = callPackage ../development/python-modules/vega { };
|
||||||
|
|
||||||
# error: invalid command 'test'
|
acme = callPackage ../development/python-modules/acme { };
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
# Fix impurity. TODO: Do the font lookup using fontconfig instead of this
|
|
||||||
# manual method. Until that is fixed, we get this whenever we run aafigure:
|
|
||||||
# WARNING: font not found, using PIL default font
|
|
||||||
patchPhase = ''
|
|
||||||
sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "ASCII art to image converter";
|
|
||||||
homepage = https://launchpad.net/aafigure/;
|
|
||||||
license = licenses.bsd2;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ bjornfor ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
altair = buildPythonPackage rec {
|
|
||||||
name = "altair-1.2.0";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/a/altair/${name}.tar.gz";
|
|
||||||
sha256 = "05c47dm20p7m0017p2h38il721rxag1q0457dj7whp0k8rc7qd1n";
|
|
||||||
};
|
|
||||||
buildInputs = [ self.pytest ];
|
|
||||||
|
|
||||||
checkPhase = ''
|
|
||||||
export LANG=en_US.UTF-8
|
|
||||||
py.test altair --doctest-modules
|
|
||||||
'';
|
|
||||||
propagatedBuildInputs = with self; [ vega pandas ipython traitlets ];
|
|
||||||
meta = {
|
|
||||||
description = "A declarative statistical visualization library for Python.";
|
|
||||||
homepage = https://github.com/altair-viz/altair;
|
|
||||||
license = licenses.bsd3;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ teh ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vega = buildPythonPackage rec {
|
|
||||||
name = "vega-0.4.4";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/v/vega/${name}.tar.gz";
|
|
||||||
sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ self.pytest ];
|
|
||||||
propagatedBuildInputs = with self; [ jupyter_core pandas ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = " An IPython/Jupyter widget for Vega and Vega-Lite.";
|
|
||||||
longDescription = ''
|
|
||||||
To use this you have to enter a nix-shell with vega. Then run:
|
|
||||||
|
|
||||||
jupyter nbextension install --user --py vega
|
|
||||||
jupyter nbextension enable --user vega
|
|
||||||
'';
|
|
||||||
homepage = https://github.com/vega/ipyvega;
|
|
||||||
license = licenses.bsd3;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ teh ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
acme = buildPythonPackage rec {
|
|
||||||
inherit (pkgs.certbot) src version;
|
|
||||||
|
|
||||||
name = "acme-${version}";
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [
|
|
||||||
cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock
|
|
||||||
ndg-httpsclient
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = with self; [ nose ];
|
|
||||||
postUnpack = "sourceRoot=\${sourceRoot}/acme";
|
|
||||||
};
|
|
||||||
|
|
||||||
acme-tiny = buildPythonPackage rec {
|
acme-tiny = buildPythonPackage rec {
|
||||||
name = "acme-tiny-${version}";
|
name = "acme-tiny-${version}";
|
||||||
@ -8192,30 +7994,25 @@ in {
|
|||||||
|
|
||||||
paperwork-backend = buildPythonPackage rec {
|
paperwork-backend = buildPythonPackage rec {
|
||||||
name = "paperwork-backend-${version}";
|
name = "paperwork-backend-${version}";
|
||||||
version = "1.0.6";
|
version = "1.2.0";
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "jflesch";
|
owner = "jflesch";
|
||||||
repo = "paperwork-backend";
|
repo = "paperwork-backend";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "11jbhv9xcpimp9iq2b1hlpljzij73s86rb5lpgzhslqc7zmm5bxn";
|
sha256 = "1pzyy14f9wzh9vwn855k1z48a8mbs73j1dk8730kdlcdkmn3l1ms";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Python 2.x is not supported.
|
# Python 2.x is not supported.
|
||||||
disabled = !isPy3k && !isPyPy;
|
disabled = !isPy3k && !isPyPy;
|
||||||
|
|
||||||
# Make sure that chkdeps exits with status 1 if a dependency is not found.
|
|
||||||
postPatch = ''
|
|
||||||
sed -i -e '/print.*Missing dependencies/,/^ *$/ {
|
|
||||||
/^ *$/ a \ sys.exit(1)
|
|
||||||
}' scripts/paperwork-shell
|
|
||||||
'';
|
|
||||||
|
|
||||||
preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
|
preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [
|
propagatedBuildInputs = with self; [
|
||||||
pyenchant simplebayes pillow pycountry whoosh termcolor
|
pyenchant simplebayes pillow pycountry whoosh termcolor
|
||||||
python-Levenshtein pyinsane2 pygobject3 pyocr pkgs.poppler_gi
|
python-Levenshtein pyinsane2 pygobject3 pyocr
|
||||||
|
pkgs.poppler_gi pkgs.gtk3
|
||||||
|
natsort
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -9938,26 +9735,9 @@ in {
|
|||||||
|
|
||||||
django_polymorphic = callPackage ../development/python-modules/django-polymorphic { };
|
django_polymorphic = callPackage ../development/python-modules/django-polymorphic { };
|
||||||
|
|
||||||
django_tagging = buildPythonPackage rec {
|
django_tagging = callPackage ../development/python-modules/django_tagging { };
|
||||||
name = "django-tagging-0.4.5";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
django_tagging_0_3 = self.django_tagging.overrideAttrs (attrs: rec {
|
||||||
url = "mirror://pypi/d/django-tagging/${name}.tar.gz";
|
|
||||||
sha256 = "00ki1g6pb2lnaj4lh0s865mmlf4kdwx7a6n38iy5qz9qv4xrvz4q";
|
|
||||||
};
|
|
||||||
|
|
||||||
# error: invalid command 'test'
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ django ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A generic tagging application for Django projects";
|
|
||||||
homepage = https://github.com/Fantomas42/django-tagging;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
django_tagging_0_3 = self.django_tagging.override (attrs: rec {
|
|
||||||
name = "django-tagging-0.3.6";
|
name = "django-tagging-0.3.6";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = pkgs.fetchurl {
|
||||||
@ -23884,26 +23664,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
tarsnapper = buildPythonPackage rec {
|
|
||||||
name = "tarsnapper-0.2.1";
|
|
||||||
disabled = isPy3k;
|
|
||||||
|
|
||||||
src = pkgs.fetchgit {
|
|
||||||
url = https://github.com/miracle2k/tarsnapper.git;
|
|
||||||
rev = "620439bca68892f2ffaba1079a34b18496cc6596";
|
|
||||||
sha256 = "1n2k2r9x11r1ph9jcjhlk44hsghfnl1pl3aakbx121qc5dg7b0yn";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ argparse pyyaml ];
|
|
||||||
|
|
||||||
patches = [ ../development/python-modules/tarsnapper-path.patch ];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
substituteInPlace src/tarsnapper/script.py \
|
|
||||||
--replace '@NIXTARSNAPPATH@' '${pkgs.tarsnap}/bin/tarsnap'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
taskcoach = buildPythonPackage rec {
|
taskcoach = buildPythonPackage rec {
|
||||||
name = "TaskCoach-1.3.22";
|
name = "TaskCoach-1.3.22";
|
||||||
disabled = isPy3k;
|
disabled = isPy3k;
|
||||||
@ -29972,48 +29732,11 @@ EOF
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
yapf = buildPythonPackage rec {
|
yapf = callPackage ../development/python-modules/yapf { };
|
||||||
name = "yapf-${version}";
|
|
||||||
version = "0.11.0";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A formatter for Python code.";
|
|
||||||
homepage = "https://github.com/google/yapf";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ siddharthist ];
|
|
||||||
};
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/y/yapf/${name}.tar.gz";
|
|
||||||
sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
autobahn = callPackage ../development/python-modules/autobahn { };
|
autobahn = callPackage ../development/python-modules/autobahn { };
|
||||||
|
|
||||||
jsonref = buildPythonPackage rec {
|
jsonref = callPackage ../development/python-modules/jsonref { };
|
||||||
name = "${pname}-${version}";
|
|
||||||
pname = "jsonref";
|
|
||||||
version = "0.1";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "An implementation of JSON Reference for Python.";
|
|
||||||
homepage = "http://github.com/gazpachoking/jsonref";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ nand0p ];
|
|
||||||
platforms = platforms.all;
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = with self; [ pytest mock ];
|
|
||||||
checkPhase = ''
|
|
||||||
py.test tests.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/j/${pname}/${name}.tar.gz";
|
|
||||||
sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
whoosh = callPackage ../development/python-modules/whoosh { };
|
whoosh = callPackage ../development/python-modules/whoosh { };
|
||||||
|
|
||||||
@ -30087,115 +29810,15 @@ EOF
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
intervaltree = buildPythonPackage rec {
|
intervaltree = callPackage ../development/python-modules/intervaltree { };
|
||||||
name = "intervaltree-${version}";
|
|
||||||
version = "2.1.0";
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/i/intervaltree/${name}.tar.gz";
|
|
||||||
sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc";
|
|
||||||
};
|
|
||||||
buildInputs = with self; [ pytest ];
|
|
||||||
propagatedBuildInputs = with self; [ sortedcontainers ];
|
|
||||||
checkPhase = ''
|
|
||||||
runHook preCheck
|
|
||||||
# pytest will try to run tests for nix_run_setup.py / files in build/lib which fails
|
|
||||||
mv nix_run_setup.py run_setup
|
|
||||||
rm build -rf
|
|
||||||
${python.interpreter} run_setup test
|
|
||||||
runHook postCheck
|
|
||||||
'';
|
|
||||||
meta = with pkgs.stdenv.lib; {
|
|
||||||
description = "Editable interval tree data structure for Python 2 and 3";
|
|
||||||
homepage = https://github.com/chaimleib/intervaltree;
|
|
||||||
license = [ licenses.asl20 ];
|
|
||||||
maintainers = [ maintainers.bennofs ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
packaging = buildPythonPackage rec {
|
packaging = callPackage ../development/python-modules/packaging { };
|
||||||
name = "packaging-16.8";
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/p/packaging/${name}.tar.gz";
|
|
||||||
sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e";
|
|
||||||
};
|
|
||||||
propagatedBuildInputs = with self; [ pyparsing six ];
|
|
||||||
buildInputs = with self; [ pytest pretend ];
|
|
||||||
|
|
||||||
meta = with pkgs.stdenv.lib; {
|
pytoml = callPackage ../development/python-modules/pytoml { };
|
||||||
description = "Core utilities for Python packages";
|
|
||||||
homepage = "https://github.com/pypa/packaging";
|
|
||||||
license = [ licenses.bsd2 licenses.asl20 ];
|
|
||||||
maintainers = with maintainers; [ bennofs ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pytoml = buildPythonPackage rec {
|
pypandoc = callPackage ../development/python-modules/pypandoc { };
|
||||||
name = "pytoml-${version}";
|
|
||||||
version = "0.1.11";
|
|
||||||
|
|
||||||
checkPhase = "${python.interpreter} test/test.py";
|
yamllint = callPackage ../development/python-modules/yamllint { };
|
||||||
|
|
||||||
# fetchgit used to ensure test submodule is available
|
|
||||||
src = pkgs.fetchgit {
|
|
||||||
url = "${meta.homepage}.git";
|
|
||||||
rev = "refs/tags/v${version}";
|
|
||||||
sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A TOML parser/writer for Python";
|
|
||||||
homepage = https://github.com/avakar/pytoml;
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pypandoc = buildPythonPackage rec {
|
|
||||||
name = "pypandoc-1.3.3";
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/p/pypandoc/${name}.tar.gz";
|
|
||||||
sha256 = "0628f2kn4gqimnhpf251fgzl723hwgyl3idy69dkzyjvi45s5zm6";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Fix tests: first requires network access, second is a bug (reported upstream)
|
|
||||||
preConfigure = ''
|
|
||||||
substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'"
|
|
||||||
substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'<h1 id=\"title\">title</h1>'"
|
|
||||||
'';
|
|
||||||
|
|
||||||
LC_ALL="en_US.UTF-8";
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ self.pip ];
|
|
||||||
buildInputs = [ pkgs.pandoc pkgs.texlive.combined.scheme-small pkgs.haskellPackages.pandoc-citeproc pkgs.glibcLocales ];
|
|
||||||
|
|
||||||
meta = with pkgs.stdenv.lib; {
|
|
||||||
description = "Thin wrapper for pandoc";
|
|
||||||
homepage = "https://github.com/bebraw/pypandoc";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ bennofs kristoff3r ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
yamllint = buildPythonPackage rec {
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
pname = "yamllint";
|
|
||||||
version = "0.5.2";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl{
|
|
||||||
url = "mirror://pypi/y/${pname}/${name}.tar.gz";
|
|
||||||
sha256 = "0brdy1crhfng10hlw0420bv10c2xnjk8ndnhssybkzym47yrzg84";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = with self; [ nose ];
|
|
||||||
propagatedBuildInputs = with self; [ pyyaml ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/adrienverge/yamllint";
|
|
||||||
description = "A linter for YAML files";
|
|
||||||
license = licenses.gpl3;
|
|
||||||
maintainers = with maintainers; [ mikefaille ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
yarl = callPackage ../development/python-modules/yarl { };
|
yarl = callPackage ../development/python-modules/yarl { };
|
||||||
|
|
||||||
@ -30224,51 +29847,11 @@ EOF
|
|||||||
|
|
||||||
typed-ast = callPackage ../development/python-modules/typed-ast { };
|
typed-ast = callPackage ../development/python-modules/typed-ast { };
|
||||||
|
|
||||||
stripe = buildPythonPackage rec {
|
stripe = callPackage ../development/python-modules/stripe { };
|
||||||
name = "${pname}-${version}";
|
|
||||||
pname = "stripe";
|
|
||||||
version = "1.41.1";
|
|
||||||
|
|
||||||
# Tests require network connectivity and there's no easy way to disable
|
|
||||||
# them. ~ C.
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/s/${pname}/${name}.tar.gz";
|
|
||||||
sha256 = "0zvffvq933ia5w5ll6xhx2zgvppgc6zc2mxhc6f0kypw5g2fxvz5";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = with self; [ unittest2 mock ];
|
|
||||||
propagatedBuildInputs = with self; [ requests ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/stripe/stripe-python";
|
|
||||||
description = "Stripe Python bindings";
|
|
||||||
license = licenses.mit;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
uranium = callPackage ../development/python-modules/uranium { };
|
uranium = callPackage ../development/python-modules/uranium { };
|
||||||
|
|
||||||
vine = buildPythonPackage rec {
|
vine = callPackage ../development/python-modules/vine { };
|
||||||
name = "vine-${version}";
|
|
||||||
version = "1.1.3";
|
|
||||||
|
|
||||||
disable = pythonOlder "2.7";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "mirror://pypi/v/vine/${name}.tar.gz";
|
|
||||||
sha256 = "0h94x9mc9bspg23lb1f73h7smdzc39ps7z7sm0q38ds9jahmvfc7";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = with self; [ case pytest ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = https://github.com/celery/vine;
|
|
||||||
description = "python promises";
|
|
||||||
license = licenses.bsd3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wp_export_parser = buildPythonPackage rec {
|
wp_export_parser = buildPythonPackage rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
@ -30282,36 +29865,16 @@ EOF
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wptserve = callPackage ../development/python-modules/wptserve {};
|
wptserve = callPackage ../development/python-modules/wptserve { };
|
||||||
|
|
||||||
yenc = callPackage ../development/python-modules/yenc {
|
yenc = callPackage ../development/python-modules/yenc { };
|
||||||
};
|
|
||||||
|
|
||||||
zeep = callPackage ../development/python-modules/zeep {
|
zeep = callPackage ../development/python-modules/zeep { };
|
||||||
};
|
|
||||||
|
|
||||||
zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else
|
zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else
|
||||||
(pkgs.zeitgeist.override{python2Packages=self;}).py;
|
(pkgs.zeitgeist.override{python2Packages=self;}).py;
|
||||||
|
|
||||||
zeroconf = buildPythonPackage rec {
|
zeroconf = callPackage ../development/python-modules/zeroconf { };
|
||||||
pname = "zeroconf";
|
|
||||||
version = "0.18.0";
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
sha256 = "0s1840v2h4h19ad8lfadbm3dhzs8bw9c5c3slkxql1zsaiycvjy2";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with self; [ netifaces six enum-compat ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A pure python implementation of multicast DNS service discovery";
|
|
||||||
homepage = "https://github.com/jstasiak/python-zeroconf";
|
|
||||||
license = licenses.lgpl21;
|
|
||||||
maintainers = with maintainers; [ abbradar ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
zipfile36 = buildPythonPackage rec {
|
zipfile36 = buildPythonPackage rec {
|
||||||
pname = "zipfile36";
|
pname = "zipfile36";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user