mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-29 14:57:28 +03:00
Merge staging-next into staging
This commit is contained in:
commit
f8b45e2d84
@ -180,7 +180,11 @@
|
|||||||
code:
|
code:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
{
|
{
|
||||||
allowUnfreePredicate = (pkg: builtins.elem (builtins.parseDrvName pkg.name).name [ "flashplayer" "vscode" ]);
|
allowUnfreePredicate = (pkg: builtins.elem
|
||||||
|
(builtins.parseDrvName pkg.name).name [
|
||||||
|
"flashplayer"
|
||||||
|
"vscode"
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
@ -322,7 +326,18 @@
|
|||||||
packageOverrides = pkgs: with pkgs; {
|
packageOverrides = pkgs: with pkgs; {
|
||||||
myPackages = pkgs.buildEnv {
|
myPackages = pkgs.buildEnv {
|
||||||
name = "my-packages";
|
name = "my-packages";
|
||||||
paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ];
|
paths = [
|
||||||
|
aspell
|
||||||
|
bc
|
||||||
|
coreutils
|
||||||
|
gdb
|
||||||
|
ffmpeg
|
||||||
|
nixUnstable
|
||||||
|
emscripten
|
||||||
|
jq
|
||||||
|
nox
|
||||||
|
silver-searcher
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -343,7 +358,18 @@
|
|||||||
packageOverrides = pkgs: with pkgs; {
|
packageOverrides = pkgs: with pkgs; {
|
||||||
myPackages = pkgs.buildEnv {
|
myPackages = pkgs.buildEnv {
|
||||||
name = "my-packages";
|
name = "my-packages";
|
||||||
paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ];
|
paths = [
|
||||||
|
aspell
|
||||||
|
bc
|
||||||
|
coreutils
|
||||||
|
gdb
|
||||||
|
ffmpeg
|
||||||
|
nixUnstable
|
||||||
|
emscripten
|
||||||
|
jq
|
||||||
|
nox
|
||||||
|
silver-searcher
|
||||||
|
];
|
||||||
pathsToLink = [ "/share" "/bin" ];
|
pathsToLink = [ "/share" "/bin" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -378,7 +404,17 @@
|
|||||||
packageOverrides = pkgs: with pkgs; {
|
packageOverrides = pkgs: with pkgs; {
|
||||||
myPackages = pkgs.buildEnv {
|
myPackages = pkgs.buildEnv {
|
||||||
name = "my-packages";
|
name = "my-packages";
|
||||||
paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ];
|
paths = [
|
||||||
|
aspell
|
||||||
|
bc
|
||||||
|
coreutils
|
||||||
|
ffmpeg
|
||||||
|
nixUnstable
|
||||||
|
emscripten
|
||||||
|
jq
|
||||||
|
nox
|
||||||
|
silver-searcher
|
||||||
|
];
|
||||||
pathsToLink = [ "/share/man" "/share/doc" "/bin" ];
|
pathsToLink = [ "/share/man" "/share/doc" "/bin" ];
|
||||||
extraOutputsToInstall = [ "man" "doc" ];
|
extraOutputsToInstall = [ "man" "doc" ];
|
||||||
};
|
};
|
||||||
|
@ -605,11 +605,11 @@ policy.
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In a case a contributor leaves definitively the Nix community, he should
|
In a case a contributor definitively leaves the Nix community, they should
|
||||||
create an issue or post on
|
create an issue or post on
|
||||||
<link
|
<link
|
||||||
xlink:href="https://discourse.nixos.org">Discourse</link> with
|
xlink:href="https://discourse.nixos.org">Discourse</link> with
|
||||||
references of packages and modules he maintains so the maintainership can be
|
references of packages and modules they maintain so the maintainership can be
|
||||||
taken over by other contributors.
|
taken over by other contributors.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
body
|
body
|
||||||
{
|
{
|
||||||
font-family: "Nimbus Sans L", sans-serif;
|
font-family: "Nimbus Sans L", sans-serif;
|
||||||
|
font-size: 1em;
|
||||||
background: white;
|
background: white;
|
||||||
margin: 2em 1em 2em 1em;
|
margin: 2em 1em 2em 1em;
|
||||||
}
|
}
|
||||||
@ -28,6 +29,25 @@ h2 /* chapters, appendices, subtitle */
|
|||||||
font-size: 180%;
|
font-size: 180%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.book
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.book > div
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* based on https://medium.com/@zkareemz/golden-ratio-62b3b6d4282a
|
||||||
|
* we do 70 characters per line to fit code listings better
|
||||||
|
* 70 * (font-size / 1.618)
|
||||||
|
* expression for emacs:
|
||||||
|
* (* 70 (/ 1 1.618))
|
||||||
|
*/
|
||||||
|
max-width: 43.2em;
|
||||||
|
text-align: left;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
/* Extra space between chapters, appendices. */
|
/* Extra space between chapters, appendices. */
|
||||||
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
|
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
|
||||||
{
|
{
|
||||||
@ -102,8 +122,8 @@ pre.screen, pre.programlisting
|
|||||||
{
|
{
|
||||||
border: 1px solid #b0b0b0;
|
border: 1px solid #b0b0b0;
|
||||||
padding: 3px 3px;
|
padding: 3px 3px;
|
||||||
margin-left: 1.5em;
|
margin-left: 0.5em;
|
||||||
margin-right: 1.5em;
|
margin-right: 0.5em;
|
||||||
|
|
||||||
background: #f4f4f8;
|
background: #f4f4f8;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
|
@ -94,7 +94,7 @@ let
|
|||||||
callPackageWith callPackagesWith extendDerivation hydraJob
|
callPackageWith callPackagesWith extendDerivation hydraJob
|
||||||
makeScope;
|
makeScope;
|
||||||
inherit (meta) addMetaAttrs dontDistribute setName updateName
|
inherit (meta) addMetaAttrs dontDistribute setName updateName
|
||||||
appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio
|
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
||||||
hiPrioSet;
|
hiPrioSet;
|
||||||
inherit (sources) pathType pathIsDirectory cleanSourceFilter
|
inherit (sources) pathType pathIsDirectory cleanSourceFilter
|
||||||
cleanSource sourceByRegex sourceFilesBySuffices
|
cleanSource sourceByRegex sourceFilesBySuffices
|
||||||
|
11
lib/meta.nix
11
lib/meta.nix
@ -41,16 +41,18 @@ rec {
|
|||||||
let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}");
|
let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}");
|
||||||
|
|
||||||
|
|
||||||
/* Apply a function to each derivation and only to derivations in an attrset
|
/* Apply a function to each derivation and only to derivations in an attrset.
|
||||||
*/
|
*/
|
||||||
mapDerivationAttrset = f: set: lib.mapAttrs (name: pkg: if lib.isDerivation pkg then (f pkg) else pkg) set;
|
mapDerivationAttrset = f: set: lib.mapAttrs (name: pkg: if lib.isDerivation pkg then (f pkg) else pkg) set;
|
||||||
|
|
||||||
|
/* Set the nix-env priority of the package.
|
||||||
|
*/
|
||||||
|
setPrio = priority: addMetaAttrs { inherit priority; };
|
||||||
|
|
||||||
/* Decrease the nix-env priority of the package, i.e., other
|
/* Decrease the nix-env priority of the package, i.e., other
|
||||||
versions/variants of the package will be preferred.
|
versions/variants of the package will be preferred.
|
||||||
*/
|
*/
|
||||||
lowPrio = drv: addMetaAttrs { priority = 10; } drv;
|
lowPrio = setPrio 10;
|
||||||
|
|
||||||
|
|
||||||
/* Apply lowPrio to an attrset with derivations
|
/* Apply lowPrio to an attrset with derivations
|
||||||
*/
|
*/
|
||||||
@ -60,8 +62,7 @@ rec {
|
|||||||
/* Increase the nix-env priority of the package, i.e., this
|
/* Increase the nix-env priority of the package, i.e., this
|
||||||
version/variant of the package will be preferred.
|
version/variant of the package will be preferred.
|
||||||
*/
|
*/
|
||||||
hiPrio = drv: addMetaAttrs { priority = -10; } drv;
|
hiPrio = setPrio (-10);
|
||||||
|
|
||||||
|
|
||||||
/* Apply hiPrio to an attrset with derivations
|
/* Apply hiPrio to an attrset with derivations
|
||||||
*/
|
*/
|
||||||
|
@ -35,11 +35,11 @@
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
NixOS’s default <emphasis>display manager</emphasis> (the program that
|
NixOS’s default <emphasis>display manager</emphasis> (the program that
|
||||||
provides a graphical login prompt and manages the X server) is SLiM. You can
|
provides a graphical login prompt and manages the X server) is LightDM. You can
|
||||||
select an alternative one by picking one of the following lines:
|
select an alternative one by picking one of the following lines:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
|
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
|
||||||
<xref linkend="opt-services.xserver.displayManager.lightdm.enable"/> = true;
|
<xref linkend="opt-services.xserver.displayManager.slim.enable"/> = true;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -23,7 +23,7 @@ $ diskutil list
|
|||||||
[..]
|
[..]
|
||||||
$ diskutil unmountDisk diskN
|
$ diskutil unmountDisk diskN
|
||||||
Unmount of all volumes on diskN was successful
|
Unmount of all volumes on diskN was successful
|
||||||
$ sudo dd bs=1m if=nix.iso of=/dev/rdiskN
|
$ sudo dd bs=1000000 if=nix.iso of=/dev/rdiskN
|
||||||
</programlisting>
|
</programlisting>
|
||||||
Using the 'raw' <command>rdiskN</command> device instead of
|
Using the 'raw' <command>rdiskN</command> device instead of
|
||||||
<command>diskN</command> completes in minutes instead of hours. After
|
<command>diskN</command> completes in minutes instead of hours. After
|
||||||
|
@ -77,18 +77,22 @@
|
|||||||
Shared folders can be given a name and a path in the host system in the
|
Shared folders can be given a name and a path in the host system in the
|
||||||
VirtualBox settings (Machine / Settings / Shared Folders, then click on the
|
VirtualBox settings (Machine / Settings / Shared Folders, then click on the
|
||||||
"Add" icon). Add the following to the
|
"Add" icon). Add the following to the
|
||||||
<literal>/etc/nixos/configuration.nix</literal> to auto-mount them:
|
<literal>/etc/nixos/configuration.nix</literal> to auto-mount them. If you
|
||||||
|
do not add <literal>"nofail"</literal>, the system will no boot properly.
|
||||||
|
The same goes for disabling <literal>rngd</literal> which is normally used
|
||||||
|
to get randomness but this does not work in virtual machines.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
{ config, pkgs, ...} :
|
{ config, pkgs, ...} :
|
||||||
{
|
{
|
||||||
|
security.rngd.enable = false; // otherwise vm will not boot
|
||||||
...
|
...
|
||||||
|
|
||||||
fileSystems."/virtualboxshare" = {
|
fileSystems."/virtualboxshare" = {
|
||||||
fsType = "vboxsf";
|
fsType = "vboxsf";
|
||||||
device = "nameofthesharedfolder";
|
device = "nameofthesharedfolder";
|
||||||
options = [ "rw" ];
|
options = [ "rw" "nofail" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
@ -306,7 +306,7 @@
|
|||||||
rslsync = 279;
|
rslsync = 279;
|
||||||
minio = 280;
|
minio = 280;
|
||||||
kanboard = 281;
|
kanboard = 281;
|
||||||
pykms = 282;
|
# pykms = 282; # DynamicUser = true
|
||||||
kodi = 283;
|
kodi = 283;
|
||||||
restya-board = 284;
|
restya-board = 284;
|
||||||
mighttpd2 = 285;
|
mighttpd2 = 285;
|
||||||
@ -338,6 +338,7 @@
|
|||||||
minetest = 311;
|
minetest = 311;
|
||||||
rss2email = 312;
|
rss2email = 312;
|
||||||
cockroachdb = 313;
|
cockroachdb = 313;
|
||||||
|
zoneminder = 314;
|
||||||
|
|
||||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||||
|
|
||||||
@ -604,7 +605,7 @@
|
|||||||
rslsync = 279;
|
rslsync = 279;
|
||||||
minio = 280;
|
minio = 280;
|
||||||
kanboard = 281;
|
kanboard = 281;
|
||||||
pykms = 282;
|
# pykms = 282; # DynamicUser = true
|
||||||
kodi = 283;
|
kodi = 283;
|
||||||
restya-board = 284;
|
restya-board = 284;
|
||||||
mighttpd2 = 285;
|
mighttpd2 = 285;
|
||||||
@ -636,6 +637,7 @@
|
|||||||
minetest = 311;
|
minetest = 311;
|
||||||
rss2email = 312;
|
rss2email = 312;
|
||||||
cockroachdb = 313;
|
cockroachdb = 313;
|
||||||
|
zoneminder = 314;
|
||||||
|
|
||||||
# When adding a gid, make sure it doesn't match an existing
|
# When adding a gid, make sure it doesn't match an existing
|
||||||
# uid. Users and groups with the same name should have equal
|
# uid. Users and groups with the same name should have equal
|
||||||
|
@ -248,6 +248,7 @@
|
|||||||
./services/desktops/gnome3/at-spi2-core.nix
|
./services/desktops/gnome3/at-spi2-core.nix
|
||||||
./services/desktops/gnome3/chrome-gnome-shell.nix
|
./services/desktops/gnome3/chrome-gnome-shell.nix
|
||||||
./services/desktops/gnome3/evolution-data-server.nix
|
./services/desktops/gnome3/evolution-data-server.nix
|
||||||
|
./services/desktops/gnome3/file-roller.nix
|
||||||
./services/desktops/gnome3/gnome-disks.nix
|
./services/desktops/gnome3/gnome-disks.nix
|
||||||
./services/desktops/gnome3/gnome-documents.nix
|
./services/desktops/gnome3/gnome-documents.nix
|
||||||
./services/desktops/gnome3/gnome-keyring.nix
|
./services/desktops/gnome3/gnome-keyring.nix
|
||||||
@ -432,6 +433,7 @@
|
|||||||
./services/misc/uhub.nix
|
./services/misc/uhub.nix
|
||||||
./services/misc/weechat.nix
|
./services/misc/weechat.nix
|
||||||
./services/misc/xmr-stak.nix
|
./services/misc/xmr-stak.nix
|
||||||
|
./services/misc/zoneminder.nix
|
||||||
./services/misc/zookeeper.nix
|
./services/misc/zookeeper.nix
|
||||||
./services/monitoring/alerta.nix
|
./services/monitoring/alerta.nix
|
||||||
./services/monitoring/apcupsd.nix
|
./services/monitoring/apcupsd.nix
|
||||||
|
32
nixos/modules/services/desktops/gnome3/file-roller.nix
Normal file
32
nixos/modules/services/desktops/gnome3/file-roller.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# File Roller.
|
||||||
|
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.gnome3.file-roller = {
|
||||||
|
|
||||||
|
enable = mkEnableOption "File Roller, an archive manager for GNOME";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.services.gnome3.file-roller.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gnome3.file-roller ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.gnome3.file-roller ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -5,20 +5,8 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.pykms;
|
cfg = config.services.pykms;
|
||||||
|
|
||||||
home = "/var/lib/pykms";
|
|
||||||
|
|
||||||
services = {
|
|
||||||
serviceConfig = {
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "10s";
|
|
||||||
StartLimitInterval = "1min";
|
|
||||||
PrivateTmp = true;
|
|
||||||
ProtectSystem = "full";
|
|
||||||
ProtectHome = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
meta.maintainers = with lib.maintainers; [ peterhoeg ];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
services.pykms = rec {
|
services.pykms = rec {
|
||||||
@ -51,39 +39,38 @@ in {
|
|||||||
default = false;
|
default = false;
|
||||||
description = "Whether the listening port should be opened automatically.";
|
description = "Whether the listening port should be opened automatically.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
memoryLimit = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "64M";
|
||||||
|
description = "How much memory to use at most.";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewallPort [ cfg.port ];
|
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewallPort [ cfg.port ];
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services.pykms = let
|
||||||
pykms = services // {
|
home = "/var/lib/pykms";
|
||||||
description = "Python KMS";
|
in {
|
||||||
wantedBy = [ "multi-user.target" ];
|
description = "Python KMS";
|
||||||
serviceConfig = with pkgs; {
|
after = [ "network.target" ];
|
||||||
User = "pykms";
|
wantedBy = [ "multi-user.target" ];
|
||||||
Group = "pykms";
|
# python programs with DynamicUser = true require HOME to be set
|
||||||
ExecStartPre = "${getBin pykms}/bin/create_pykms_db.sh ${home}/clients.db";
|
environment.HOME = home;
|
||||||
ExecStart = "${getBin pykms}/bin/server.py ${optionalString cfg.verbose "--verbose"} ${cfg.listenAddress} ${toString cfg.port}";
|
serviceConfig = with pkgs; {
|
||||||
WorkingDirectory = home;
|
DynamicUser = true;
|
||||||
MemoryLimit = "64M";
|
StateDirectory = baseNameOf home;
|
||||||
};
|
ExecStartPre = "${getBin pykms}/bin/create_pykms_db.sh ${home}/clients.db";
|
||||||
};
|
ExecStart = lib.concatStringsSep " " ([
|
||||||
};
|
"${getBin pykms}/bin/server.py"
|
||||||
|
cfg.listenAddress
|
||||||
users = {
|
(toString cfg.port)
|
||||||
users.pykms = {
|
] ++ lib.optional cfg.verbose "--verbose");
|
||||||
name = "pykms";
|
WorkingDirectory = home;
|
||||||
group = "pykms";
|
Restart = "on-failure";
|
||||||
home = home;
|
MemoryLimit = cfg.memoryLimit;
|
||||||
createHome = true;
|
|
||||||
uid = config.ids.uids.pykms;
|
|
||||||
description = "PyKMS daemon user";
|
|
||||||
};
|
|
||||||
|
|
||||||
groups.pykms = {
|
|
||||||
gid = config.ids.gids.pykms;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
362
nixos/modules/services/misc/zoneminder.nix
Normal file
362
nixos/modules/services/misc/zoneminder.nix
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.zoneminder;
|
||||||
|
pkg = pkgs.zoneminder;
|
||||||
|
|
||||||
|
dirName = pkg.dirName;
|
||||||
|
|
||||||
|
user = "zoneminder";
|
||||||
|
group = {
|
||||||
|
nginx = config.services.nginx.group;
|
||||||
|
none = user;
|
||||||
|
}."${cfg.webserver}";
|
||||||
|
|
||||||
|
useNginx = cfg.webserver == "nginx";
|
||||||
|
|
||||||
|
defaultDir = "/var/lib/${user}";
|
||||||
|
home = if useCustomDir then cfg.storageDir else defaultDir;
|
||||||
|
|
||||||
|
useCustomDir = !(builtins.isNull cfg.storageDir);
|
||||||
|
|
||||||
|
socket = "/run/phpfpm/${dirName}.sock";
|
||||||
|
|
||||||
|
zms = "/cgi-bin/zms";
|
||||||
|
|
||||||
|
dirs = dirList: [ dirName ] ++ map (e: "${dirName}/${e}") dirList;
|
||||||
|
|
||||||
|
cacheDirs = [ "swap" ];
|
||||||
|
libDirs = [ "events" "exports" "images" "sounds" ];
|
||||||
|
|
||||||
|
dirStanzas = baseDir:
|
||||||
|
lib.concatStringsSep "\n" (map (e:
|
||||||
|
"ZM_DIR_${lib.toUpper e}=${baseDir}/${e}"
|
||||||
|
) libDirs);
|
||||||
|
|
||||||
|
defaultsFile = pkgs.writeText "60-defaults.conf" ''
|
||||||
|
# 01-system-paths.conf
|
||||||
|
${dirStanzas home}
|
||||||
|
ZM_PATH_ARP=${lib.getBin pkgs.nettools}/bin/arp
|
||||||
|
ZM_PATH_LOGS=/var/log/${dirName}
|
||||||
|
ZM_PATH_MAP=/dev/shm
|
||||||
|
ZM_PATH_SOCKS=/run/${dirName}
|
||||||
|
ZM_PATH_SWAP=/var/cache/${dirName}/swap
|
||||||
|
ZM_PATH_ZMS=${zms}
|
||||||
|
|
||||||
|
# 02-multiserver.conf
|
||||||
|
ZM_SERVER_HOST=
|
||||||
|
|
||||||
|
# Database
|
||||||
|
ZM_DB_TYPE=mysql
|
||||||
|
ZM_DB_HOST=${cfg.database.host}
|
||||||
|
ZM_DB_NAME=${cfg.database.name}
|
||||||
|
ZM_DB_USER=${cfg.database.username}
|
||||||
|
ZM_DB_PASS=${cfg.database.password}
|
||||||
|
|
||||||
|
# Web
|
||||||
|
ZM_WEB_USER=${user}
|
||||||
|
ZM_WEB_GROUP=${group}
|
||||||
|
'';
|
||||||
|
|
||||||
|
configFile = pkgs.writeText "80-nixos.conf" ''
|
||||||
|
# You can override defaults here
|
||||||
|
|
||||||
|
${cfg.extraConfig}
|
||||||
|
'';
|
||||||
|
|
||||||
|
phpExtensions = with pkgs.phpPackages; [
|
||||||
|
{ pkg = apcu; name = "apcu"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
services.zoneminder = with lib; {
|
||||||
|
enable = lib.mkEnableOption ''
|
||||||
|
ZoneMinder
|
||||||
|
</para><para>
|
||||||
|
If you intend to run the database locally, you should set
|
||||||
|
`config.services.zoneminder.database.createLocally` to true. Otherwise,
|
||||||
|
when set to `false` (the default), you will have to create the database
|
||||||
|
and database user as well as populate the database yourself.
|
||||||
|
'';
|
||||||
|
|
||||||
|
webserver = mkOption {
|
||||||
|
type = types.enum [ "nginx" "none" ];
|
||||||
|
default = "nginx";
|
||||||
|
description = ''
|
||||||
|
The webserver to configure for the PHP frontend.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
|
||||||
|
Set it to `none` if you want to configure it yourself. PRs are welcome
|
||||||
|
for support for other web servers.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
hostname = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "localhost";
|
||||||
|
description = ''
|
||||||
|
The hostname on which to listen.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
port = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 8095;
|
||||||
|
description = ''
|
||||||
|
The port on which to listen.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
openFirewall = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Open the firewall port(s).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
database = {
|
||||||
|
createLocally = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Create the database and database user locally.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
host = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "localhost";
|
||||||
|
description = ''
|
||||||
|
Hostname hosting the database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "zm";
|
||||||
|
description = ''
|
||||||
|
Name of database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
username = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "zmuser";
|
||||||
|
description = ''
|
||||||
|
Username for accessing the database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
password = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "zmpass";
|
||||||
|
description = ''
|
||||||
|
Username for accessing the database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cameras = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 1;
|
||||||
|
description = ''
|
||||||
|
Set this to the number of cameras you expect to support.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
storageDir = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
example = "/storage/tank";
|
||||||
|
description = ''
|
||||||
|
ZoneMinder can generate quite a lot of data, so in case you don't want
|
||||||
|
to use the default ${home}, you can override the path here.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = mkOption {
|
||||||
|
type = types.lines;
|
||||||
|
default = "";
|
||||||
|
description = ''
|
||||||
|
Additional configuration added verbatim to the configuration file.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"zoneminder/60-defaults.conf".source = defaultsFile;
|
||||||
|
"zoneminder/80-nixos.conf".source = configFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
fcgiwrap = lib.mkIf useNginx {
|
||||||
|
enable = true;
|
||||||
|
preforkProcesses = cfg.cameras;
|
||||||
|
inherit user group;
|
||||||
|
};
|
||||||
|
|
||||||
|
mysql = lib.mkIf cfg.database.createLocally {
|
||||||
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
ensureUsers = {
|
||||||
|
name = cfg.database.username;
|
||||||
|
ensurePermissions = [
|
||||||
|
{ "${cfg.database.name}.*" = "ALL PRIVILEGES"; }
|
||||||
|
];
|
||||||
|
initialDatabases = [
|
||||||
|
{ inherit (cfg.database) name; schema = "${pkg}/share/zoneminder/db/zm_create.sql"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx = lib.mkIf useNginx {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts = {
|
||||||
|
"${cfg.hostname}" = {
|
||||||
|
default = true;
|
||||||
|
root = "${pkg}/share/zoneminder/www";
|
||||||
|
listen = [ { addr = "0.0.0.0"; inherit (cfg) port; } ];
|
||||||
|
extraConfig = let
|
||||||
|
fcgi = config.services.fcgiwrap;
|
||||||
|
in ''
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php?$args =404;
|
||||||
|
|
||||||
|
location ~ /api/(css|img|ico) {
|
||||||
|
rewrite ^/api(.+)$ /api/app/webroot/$1 break;
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.(gif|ico|jpg|jpeg|png)$ {
|
||||||
|
access_log off;
|
||||||
|
expires 30d;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /api {
|
||||||
|
rewrite ^/api(.+)$ /api/app/webroot/index.php?p=$1 last;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /cgi-bin {
|
||||||
|
gzip off;
|
||||||
|
|
||||||
|
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME ${pkg}/libexec/zoneminder/${zms};
|
||||||
|
fastcgi_param HTTP_PROXY "";
|
||||||
|
fastcgi_intercept_errors on;
|
||||||
|
|
||||||
|
fastcgi_pass ${fcgi.socketType}:${fcgi.socketAddress};
|
||||||
|
}
|
||||||
|
|
||||||
|
location /cache {
|
||||||
|
alias /var/cache/${dirName};
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
|
||||||
|
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||||
|
fastcgi_param HTTP_PROXY "";
|
||||||
|
|
||||||
|
fastcgi_pass unix:${socket};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
phpfpm = lib.mkIf useNginx {
|
||||||
|
phpOptions = ''
|
||||||
|
date.timezone = "${config.time.timeZone}"
|
||||||
|
|
||||||
|
${lib.concatStringsSep "\n" (map (e:
|
||||||
|
"extension=${e.pkg}/lib/php/extensions/${e.name}.so") phpExtensions)}
|
||||||
|
'';
|
||||||
|
pools.zoneminder = {
|
||||||
|
listen = socket;
|
||||||
|
extraConfig = ''
|
||||||
|
user = ${user}
|
||||||
|
group = ${group}
|
||||||
|
|
||||||
|
listen.owner = ${user}
|
||||||
|
listen.group = ${group}
|
||||||
|
listen.mode = 0660
|
||||||
|
|
||||||
|
pm = dynamic
|
||||||
|
pm.start_servers = 1
|
||||||
|
pm.min_spare_servers = 1
|
||||||
|
pm.max_spare_servers = 2
|
||||||
|
pm.max_requests = 500
|
||||||
|
pm.max_children = 5
|
||||||
|
pm.status_path = /$pool-status
|
||||||
|
ping.path = /$pool-ping
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
zoneminder = with pkgs; rec {
|
||||||
|
inherit (zoneminder.meta) description;
|
||||||
|
documentation = [ "https://zoneminder.readthedocs.org/en/latest/" ];
|
||||||
|
path = [
|
||||||
|
coreutils
|
||||||
|
procps
|
||||||
|
psmisc
|
||||||
|
];
|
||||||
|
after = [ "mysql.service" "nginx.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
restartTriggers = [ defaultsFile configFile ];
|
||||||
|
preStart = lib.mkIf useCustomDir ''
|
||||||
|
install -dm775 -o ${user} -g ${group} ${cfg.storageDir}/{${lib.concatStringsSep "," libDirs}}
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
User = user;
|
||||||
|
Group = group;
|
||||||
|
SupplementaryGroups = [ "video" ];
|
||||||
|
ExecStart = "${zoneminder}/bin/zmpkg.pl start";
|
||||||
|
ExecStop = "${zoneminder}/bin/zmpkg.pl stop";
|
||||||
|
ExecReload = "${zoneminder}/bin/zmpkg.pl restart";
|
||||||
|
PIDFile = "/run/${dirName}/zm.pid";
|
||||||
|
Type = "forking";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "10s";
|
||||||
|
CacheDirectory = dirs cacheDirs;
|
||||||
|
RuntimeDirectory = dirName;
|
||||||
|
ReadWriteDirectories = lib.mkIf useCustomDir [ cfg.storageDir ];
|
||||||
|
StateDirectory = dirs (if useCustomDir then [] else libDirs);
|
||||||
|
LogsDirectory = dirName;
|
||||||
|
PrivateTmp = true;
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups."${user}" = {
|
||||||
|
gid = config.ids.gids.zoneminder;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users."${user}" = {
|
||||||
|
uid = config.ids.uids.zoneminder;
|
||||||
|
group = user;
|
||||||
|
inherit home;
|
||||||
|
inherit (pkgs.zoneminder.meta) description;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ peterhoeg ];
|
||||||
|
}
|
@ -95,6 +95,7 @@ in {
|
|||||||
services.dleyna-server.enable = mkDefault true;
|
services.dleyna-server.enable = mkDefault true;
|
||||||
services.gnome3.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
services.gnome3.evolution-data-server.enable = true;
|
services.gnome3.evolution-data-server.enable = true;
|
||||||
|
services.gnome3.file-roller.enable = mkDefault true;
|
||||||
services.gnome3.gnome-disks.enable = mkDefault true;
|
services.gnome3.gnome-disks.enable = mkDefault true;
|
||||||
services.gnome3.gnome-documents.enable = mkDefault true;
|
services.gnome3.gnome-documents.enable = mkDefault true;
|
||||||
services.gnome3.gnome-keyring.enable = true;
|
services.gnome3.gnome-keyring.enable = true;
|
||||||
|
@ -32,14 +32,14 @@
|
|||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "3.30.2";
|
version = "3.30.3";
|
||||||
pname = "gnome-builder";
|
pname = "gnome-builder";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "05yax7iv9g831xvw9xdc01qc0l7qpmh6rfd692x8cbg76hljxdrr";
|
sha256 = "11h6apjyah91djf77m8xkl5rvdz7mwpp3bjc4yzzs9lm3pag764r";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -14,11 +14,11 @@ in
|
|||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
name = "electrum-${version}";
|
name = "electrum-${version}";
|
||||||
version = "3.2.3";
|
version = "3.2.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||||
sha256 = "139kzapas1l61w1in9f7c6ybricid4fzryfnvsrfhpaqh83ydn2c";
|
sha256 = "0nwipn1alk3r54zpsv2bdwsqxw4f08bxnfmygnwakfkiaifmmhxg";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
@ -1,24 +1,33 @@
|
|||||||
{ stdenv, fetchgit, cmake, pkgconfig, boost, gnuradio, rtl-sdr, uhd
|
{ stdenv, fetchgit, cmake, pkgconfig, makeWrapper
|
||||||
, makeWrapper, hackrf, airspy
|
, boost
|
||||||
, pythonSupport ? true, python, swig
|
, pythonSupport ? true, python, swig
|
||||||
|
, airspy
|
||||||
|
, gnuradio
|
||||||
|
, hackrf
|
||||||
|
, libbladeRF
|
||||||
|
, rtl-sdr
|
||||||
|
, soapysdr-with-plugins
|
||||||
|
, uhd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert pythonSupport -> python != null && swig != null;
|
assert pythonSupport -> python != null && swig != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnuradio-osmosdr-${version}";
|
name = "gnuradio-osmosdr-${version}";
|
||||||
version = "0.1.4";
|
version = "2018-08-15";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.osmocom.org/gr-osmosdr";
|
url = "git://git.osmocom.org/gr-osmosdr";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "4d83c6067f059b0c5015c3f59f8117bbd361e877";
|
||||||
sha256 = "0vyzr4fhkblf2v3d7m0ch5hws4c493jw3ydl4y6b2dfbfzchhsz8";
|
sha256 = "1d5nb47506qry52bg4cn02d3l4lwxwz44g2fz1ph0q93c7892j60";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cmake boost gnuradio rtl-sdr uhd makeWrapper hackrf airspy
|
cmake makeWrapper boost
|
||||||
] ++ stdenv.lib.optionals pythonSupport [ python swig ];
|
airspy gnuradio hackrf libbladeRF rtl-sdr uhd
|
||||||
|
] ++ stdenv.lib.optionals stdenv.isLinux [ soapysdr-with-plugins ]
|
||||||
|
++ stdenv.lib.optionals pythonSupport [ python swig ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
for prog in "$out"/bin/*; do
|
for prog in "$out"/bin/*; do
|
||||||
|
@ -6,13 +6,13 @@ assert pythonSupport -> python != null && swig != null;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnuradio-rds-${version}";
|
name = "gnuradio-rds-${version}";
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bastibl";
|
owner = "bastibl";
|
||||||
repo = "gr-rds";
|
repo = "gr-rds";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "008284ya464q4h4fd0zvcn6g7bym231p8fl3kdxncz9ks4zsbsxs";
|
sha256 = "0jkzchvw0ivcxsjhi1h0mf7k13araxf5m4wi5v9xdgqxvipjzqfy";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -4,11 +4,11 @@ with python3Packages;
|
|||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "img2pdf";
|
pname = "img2pdf";
|
||||||
version = "0.3.2";
|
version = "0.3.3";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "07wxgn5khmy94zqqv8l84q9b3yy84ddvwr2f7j4pjycrj2gg7si8";
|
sha256 = "1ksn33j9d9df04n4jx7dli70d700rafbm37gjaz6lwsswrzc2xwx";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false; # needs pdfrw
|
doCheck = false; # needs pdfrw
|
||||||
|
33
pkgs/applications/misc/tdrop/default.nix
Normal file
33
pkgs/applications/misc/tdrop/default.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, makeWrapper
|
||||||
|
, xwininfo, xdotool, xprop }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "tdrop";
|
||||||
|
version = "unstable-2018-11-13";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "noctuid";
|
||||||
|
repo = "tdrop";
|
||||||
|
rev = "198795c0d2573a31979330d6a2ae946eb81deebf";
|
||||||
|
sha256 = "1fhibqgmls64mylcb6q46ipmg1q6pvaqm26vz933gqav6cqsbdzs";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/tdrop \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ xwininfo xdotool xprop ]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A Glorified WM-Independent Dropdown Creator";
|
||||||
|
homepage = https://github.com/noctuid/tdrop;
|
||||||
|
license = licenses.bsd2;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ wedens ];
|
||||||
|
};
|
||||||
|
}
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "xpad-${version}";
|
name = "xpad-${version}";
|
||||||
version = "5.3.0";
|
version = "5.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://launchpad.net/xpad/trunk/${version}/+download/xpad-${version}.tar.bz2";
|
url = "https://launchpad.net/xpad/trunk/${version}/+download/xpad-${version}.tar.bz2";
|
||||||
sha256 = "0gv9indihr2kbv9iqdqq4mfj6l6qgzwc06jm08gmg10f262sni34";
|
sha256 = "1qpmlwn0bcw1q73ag0l0fdnlzmwawfvsy4g9y5b0vyrc58lcp5d3";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
|
||||||
|
@ -1,41 +1,56 @@
|
|||||||
{ stdenv, fetchurl, python27Packages, pcsclite, yubikey-personalization }:
|
{ stdenv, fetchurl, fetchFromGitHub
|
||||||
|
, qmake, qtbase, qtquickcontrols, qtsvg
|
||||||
|
, python3, pyotherside, ncurses
|
||||||
|
, pcsclite, yubikey-personalization
|
||||||
|
, yubikey-manager, makeWrapper }:
|
||||||
|
|
||||||
python27Packages.buildPythonApplication rec {
|
stdenv.mkDerivation rec {
|
||||||
namePrefix = "";
|
pname = "yubioath-desktop";
|
||||||
name = "yubioath-desktop-${version}";
|
version = "4.3.4";
|
||||||
version = "3.1.0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz";
|
url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz";
|
||||||
sha256 = "0jfvllgh88g2vwd8sg6willlnn2hq05nd9d3xmv98lhl7gyy1akw";
|
sha256 = "0hb7j71032sigs8zd5r8yr0m59sjkb24vhs2l4jarpvj8q7hv30d";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
buildInputs = [ stdenv ];
|
buildInputs = [ stdenv qtbase qtquickcontrols pyotherside python3 ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ python27Packages.pycrypto python27Packages.click python27Packages.pyscard python27Packages.pyside ];
|
nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ];
|
||||||
|
|
||||||
# Need LD_PRELOAD for libykpers as the Nix cpython disables ctypes.cdll.LoadLibrary
|
postPatch = ''
|
||||||
# support that the yubicommon library uses to load libykpers
|
substituteInPlace deployment.pri \
|
||||||
makeWrapperArgs = ''--prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib" --prefix LD_PRELOAD : "${yubikey-personalization}/lib/libykpers-1.so"'';
|
--replace '/usr/bin' "$out/bin"
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonPath = [ yubikey-manager ];
|
||||||
|
|
||||||
|
# Need LD_PRELOAD for libykpers as the Nix cpython disables ctypes.cdll.LoadLibrary
|
||||||
|
# support that the yubicommon library uses to load libykpers
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
buildPythonPath "$out $pythonPath"
|
||||||
|
wrapProgram $out/bin/yubioath-desktop \
|
||||||
|
--prefix PYTHONPATH : "$program_PYTHONPATH" \
|
||||||
|
--prefix LD_PRELOAD : "${yubikey-personalization}/lib/libykpers-1.so" \
|
||||||
|
--prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib"
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out/share/applications
|
mkdir -p $out/share/applications
|
||||||
cp resources/yubioath.desktop $out/share/applications/yubioath.desktop
|
cp resources/yubioath-desktop.desktop \
|
||||||
|
$out/share/applications/yubioath-desktop.desktop
|
||||||
mkdir -p $out/share/yubioath/icons
|
mkdir -p $out/share/yubioath/icons
|
||||||
cp resources/yubioath*.{icns,ico,png,xpm} $out/share/yubioath/icons
|
cp resources/icons/*.{icns,ico,png,xpm} $out/share/yubioath/icons
|
||||||
substituteInPlace $out/share/applications/yubioath.desktop \
|
substituteInPlace $out/share/applications/yubioath-desktop.desktop \
|
||||||
--replace 'Exec=yubioath-gui' "Exec=$out/bin/yubioath-gui" \
|
--replace 'Exec=yubioath-desktop' "Exec=$out/bin/yubioath-desktop" \
|
||||||
--replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons"
|
'';
|
||||||
|
|
||||||
'';
|
meta = with stdenv.lib; {
|
||||||
|
description = "Yubikey Desktop Authenticator";
|
||||||
|
|
||||||
meta = {
|
homepage = https://www.yubico.com/support/knowledge-base/categories/articles/yubico-authenticator-download/;
|
||||||
description = "Yubikey Desktop Authenticator";
|
|
||||||
|
|
||||||
homepage = https://www.yubico.com/support/knowledge-base/categories/articles/yubico-authenticator-download/;
|
license = stdenv.lib.licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ mic92 ];
|
||||||
license = stdenv.lib.licenses.gpl3;
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -76,11 +76,11 @@ let rpath = lib.makeLibraryPath [
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "brave";
|
pname = "brave";
|
||||||
version = "0.58.18";
|
version = "0.58.21";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||||
sha256 = "0xybcgsxjmd8bxi4x4midzw71s23j8icpspqf5sadskhldvshzr3";
|
sha256 = "0mml8zjpm8gjw3krppr57y4p10ky975v0s4wyyx7ixr1lzk2qp11";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -15,13 +15,13 @@ with lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "kubernetes-${version}";
|
name = "kubernetes-${version}";
|
||||||
version = "1.13.1";
|
version = "1.13.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "048ckirz7v1djari6l9ddkcd9i4yafcv57wk131dv0cs2zady9va";
|
sha256 = "1j5yyzn3c481ba6bbyx6gsa41zhg3x35sdbajlnxmbnid0g21g8g";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
pname = "terraform-docs";
|
pname = "terraform-docs";
|
||||||
version = "0.5.0";
|
version = "0.6.0";
|
||||||
|
|
||||||
goPackagePath = "github.com/segmentio/${pname}";
|
goPackagePath = "github.com/segmentio/${pname}";
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ buildGoPackage rec {
|
|||||||
owner = "segmentio";
|
owner = "segmentio";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "12w2yr669hk5kxdb9rrzsn8hwvx8rzrc1rmn8hs9l8z1bkfhr4gg";
|
sha256 = "1p6prhjf82qnhf1zwl9h92j4ds5g383a6g9pwwnqbc3wdwy5zx7d";
|
||||||
};
|
};
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-alicloud";
|
repo = "terraform-provider-alicloud";
|
||||||
version = "1.25.0";
|
version = "1.28.0";
|
||||||
sha256 = "09f0vdzkifj2mk1qccacpnlqiihbhhb2sfd21rpxbqscmj6a7vj1";
|
sha256 = "1clivywiv41dbdiix5cqghncf782jvpixlh02hlj4hn2cwq2j6mn";
|
||||||
};
|
};
|
||||||
archive =
|
archive =
|
||||||
{
|
{
|
||||||
@ -39,15 +39,22 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-aws";
|
repo = "terraform-provider-aws";
|
||||||
version = "1.52.0";
|
version = "1.56.0";
|
||||||
sha256 = "037n26spp49r4b4f6cyv6d3sgqw2d80g97fqgz1j0hcwi0am56h1";
|
sha256 = "1jsvkqr3l88z2lq89rjw0nrnm8dsm57nydi45mbzjl3k0j7g028m";
|
||||||
|
};
|
||||||
|
azuread =
|
||||||
|
{
|
||||||
|
owner = "terraform-providers";
|
||||||
|
repo = "terraform-provider-azuread";
|
||||||
|
version = "0.1.0";
|
||||||
|
sha256 = "0jrsg3a9cb16jinzjhg2pfm65b1bfhdwnyhag1x3x4kffm3gm148";
|
||||||
};
|
};
|
||||||
azurerm =
|
azurerm =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-azurerm";
|
repo = "terraform-provider-azurerm";
|
||||||
version = "1.20.0";
|
version = "1.21.0";
|
||||||
sha256 = "0hfq5gk4bhmw65x1rsdpwv0massgr1sczvcbyh572qlkkhvm59xd";
|
sha256 = "1xvw884nmr3h5ai2ijm2vms12cghas0jbkb52mqbqbaqci7273lc";
|
||||||
};
|
};
|
||||||
azurestack =
|
azurestack =
|
||||||
{
|
{
|
||||||
@ -102,8 +109,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-cloudflare";
|
repo = "terraform-provider-cloudflare";
|
||||||
version = "1.9.0";
|
version = "1.11.0";
|
||||||
sha256 = "0z11zaii99cilqcq4lgikaanb2zc457qv19sxdh6b3v88n5n8qsf";
|
sha256 = "14v4461bxxr5zdr11v1s89m1x9kpjxa1mff9inx2vwkdz9s02w0i";
|
||||||
};
|
};
|
||||||
cloudscale =
|
cloudscale =
|
||||||
{
|
{
|
||||||
@ -116,8 +123,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-cloudstack";
|
repo = "terraform-provider-cloudstack";
|
||||||
version = "0.1.5";
|
version = "0.2.0";
|
||||||
sha256 = "139wq6rr6fczjz496fqkxh6cmscx5hfnv2hvhfwpkhvqipsnlxmq";
|
sha256 = "1v46da55a8a0hnw319swz3pkd62afy7hdwzybxmp48hxh1i6af74";
|
||||||
};
|
};
|
||||||
cobbler =
|
cobbler =
|
||||||
{
|
{
|
||||||
@ -193,15 +200,15 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-fastly";
|
repo = "terraform-provider-fastly";
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
sha256 = "1fkn9b6ibs36cmhknb3x05g31rf73w70xwx05rh9fhybrz5dd9z9";
|
sha256 = "08mnpf5j0pwhd38yl0phy5ipdvk9hwh8q9kcbv997y8mzpn5703g";
|
||||||
};
|
};
|
||||||
flexibleengine =
|
flexibleengine =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-flexibleengine";
|
repo = "terraform-provider-flexibleengine";
|
||||||
version = "1.2.1";
|
version = "1.3.1";
|
||||||
sha256 = "000v6fmmnwfibzfssk23s9qwrb8a9l0j1qd14x2dqsc7ql0kbnz8";
|
sha256 = "19jncf24hl448srk4r2vqn8sca1mx8pcql9p5nxn015q6gig510v";
|
||||||
};
|
};
|
||||||
github =
|
github =
|
||||||
{
|
{
|
||||||
@ -214,8 +221,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-gitlab";
|
repo = "terraform-provider-gitlab";
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
sha256 = "1kxmzdzdb6fc64i2bzch6020zfk0ygms9gh5mm1bypsyqmj4qc6r";
|
sha256 = "07mj69w0bvvkbzgfj17z7j34dg19db1d2m4gxwzjj81qmgmvzs3x";
|
||||||
};
|
};
|
||||||
google =
|
google =
|
||||||
{
|
{
|
||||||
@ -224,6 +231,13 @@
|
|||||||
version = "1.20.0";
|
version = "1.20.0";
|
||||||
sha256 = "1brkq4iz140miai6gzvzxfl28qi4j8gcc22igd7cb4qzafnlbxaj";
|
sha256 = "1brkq4iz140miai6gzvzxfl28qi4j8gcc22igd7cb4qzafnlbxaj";
|
||||||
};
|
};
|
||||||
|
google-beta =
|
||||||
|
{
|
||||||
|
owner = "terraform-providers";
|
||||||
|
repo = "terraform-provider-google-beta";
|
||||||
|
version = "1.20.0";
|
||||||
|
sha256 = "0qbzacfm1ai0lflwrq49sjy5y84n8zvaxsp6yz7ifvylqmirj1j0";
|
||||||
|
};
|
||||||
grafana =
|
grafana =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
@ -235,8 +249,15 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-hcloud";
|
repo = "terraform-provider-hcloud";
|
||||||
version = "1.6.0";
|
version = "1.7.0";
|
||||||
sha256 = "19kax1l2l6vr8cwgy14ahhafnvlxgkw86xx2g9ajfg70d0q4zs3g";
|
sha256 = "10i043mlcp4vvlsd22zcdj2ma3372cxfklrx30kav7w3lfsqgcl6";
|
||||||
|
};
|
||||||
|
hedvig =
|
||||||
|
{
|
||||||
|
owner = "terraform-providers";
|
||||||
|
repo = "terraform-provider-hedvig";
|
||||||
|
version = "1.0.1";
|
||||||
|
sha256 = "1cbvr43qb2kxvsg17cnf91lnfv6cmj0dmc1manxrq1nicsnz6v5f";
|
||||||
};
|
};
|
||||||
helm =
|
helm =
|
||||||
{
|
{
|
||||||
@ -249,8 +270,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-heroku";
|
repo = "terraform-provider-heroku";
|
||||||
version = "1.7.0";
|
version = "1.7.2";
|
||||||
sha256 = "0zk5w4xwbg631m7592gfmdbsmrr0r7vla5nd1p5frh6szg6psy6m";
|
sha256 = "0wliiks1cvxai3rca2nzy6dhc763fkrzagsl92c5xsz1zs59vy98";
|
||||||
};
|
};
|
||||||
http =
|
http =
|
||||||
{
|
{
|
||||||
@ -263,8 +284,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-huaweicloud";
|
repo = "terraform-provider-huaweicloud";
|
||||||
version = "1.2.0";
|
version = "1.3.0";
|
||||||
sha256 = "0r05dfgpzci0lpc2ivbrj6ivib8svbks9612by3w3zakzclpv467";
|
sha256 = "1pm2zfss20spfwqidhn04hcq4nxxamjkn6xv8vxm3mgrky1ysvp5";
|
||||||
};
|
};
|
||||||
icinga2 =
|
icinga2 =
|
||||||
{
|
{
|
||||||
@ -291,8 +312,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-kubernetes";
|
repo = "terraform-provider-kubernetes";
|
||||||
version = "1.4.0";
|
version = "1.5.0";
|
||||||
sha256 = "14bhqrpx0z4qn51xwcklafva46ipx05q6myy7xh5wf6wpjz69j9p";
|
sha256 = "1rzydw8bg2rmwvcvjp1h2qd4izkfs96rnmff42h0av22sfxkd7ng";
|
||||||
};
|
};
|
||||||
librato =
|
librato =
|
||||||
{
|
{
|
||||||
@ -305,8 +326,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-linode";
|
repo = "terraform-provider-linode";
|
||||||
version = "1.3.0";
|
version = "1.4.0";
|
||||||
sha256 = "1683nkpq7wnc67pphablcmaifq2l1pz3gc9y5y9jbslllphy92v5";
|
sha256 = "0ak102bmi6yh7x9d3ryyvpck49vgdgwhbk958bbyhfpdr6jrvsrr";
|
||||||
};
|
};
|
||||||
local =
|
local =
|
||||||
{
|
{
|
||||||
@ -361,15 +382,15 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-nomad";
|
repo = "terraform-provider-nomad";
|
||||||
version = "1.2.0";
|
version = "1.3.0";
|
||||||
sha256 = "1z3knyjn5ymbk4vaja4ka9zn57cgl7vr7hqv6ybqw0q9i2ykaici";
|
sha256 = "06kq0qkrgnj7z13xrgb9shid356m55mz0hkdbm4vfz3fx863mvl3";
|
||||||
};
|
};
|
||||||
ns1 =
|
ns1 =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-ns1";
|
repo = "terraform-provider-ns1";
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
sha256 = "0zjdhz6miwlg3b68pbd99c6nw7hhyzxy736734xz8g3w89xn18f5";
|
sha256 = "1qfzm35p6kgamm1ffdvll96br025sj496nqzhsnfh3n3hsxzf0b8";
|
||||||
};
|
};
|
||||||
nsxt =
|
nsxt =
|
||||||
{
|
{
|
||||||
@ -382,8 +403,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-null";
|
repo = "terraform-provider-null";
|
||||||
version = "1.0.0";
|
version = "2.0.0";
|
||||||
sha256 = "12vpa09xrq8z1pjq0bwzq3889c4fl6c5kvynwqy0z1pdx21m60ha";
|
sha256 = "1qbb4pyzqys2010g6b4yzdzgalrf6az1s24y4sa577q2bix8x45v";
|
||||||
};
|
};
|
||||||
nutanix =
|
nutanix =
|
||||||
{
|
{
|
||||||
@ -396,8 +417,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-oci";
|
repo = "terraform-provider-oci";
|
||||||
version = "3.10.0";
|
version = "3.12.0";
|
||||||
sha256 = "0dhz3y62dp66jkn0q4x7v2cnqw8kiq34sgyfx8mw706hg9sdqb0l";
|
sha256 = "00mwyangy7n665wlvvr6jmrlfbhnw5spy47q64rmm4pp66gg9brw";
|
||||||
};
|
};
|
||||||
oneandone =
|
oneandone =
|
||||||
{
|
{
|
||||||
@ -410,22 +431,22 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-opc";
|
repo = "terraform-provider-opc";
|
||||||
version = "1.3.1";
|
version = "1.3.2";
|
||||||
sha256 = "0rpkhaja6vq1y1xah136vjlp1d5v9adymq300ajssbjkqf93wzs6";
|
sha256 = "0fm53xwgpsmfkqavichxb0vq86bqqpsadlyzqz5jafw3aavx91cb";
|
||||||
};
|
};
|
||||||
openstack =
|
openstack =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-openstack";
|
repo = "terraform-provider-openstack";
|
||||||
version = "1.12.0";
|
version = "1.14.0";
|
||||||
sha256 = "1zv5z55yiqvsh5sh26qlyw8fcc7kyw7v4p60kfnw2ds5kd0b51i1";
|
sha256 = "05vlcfnbfs4xwzfx8lihq63zya19gdgq2xh5ddwprzddm42v1i1z";
|
||||||
};
|
};
|
||||||
opentelekomcloud =
|
opentelekomcloud =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-opentelekomcloud";
|
repo = "terraform-provider-opentelekomcloud";
|
||||||
version = "1.4.0";
|
version = "1.5.2";
|
||||||
sha256 = "0dv756npyhadzr08zlv28ghazaj1fdp3avcld7y6ri99hamncm95";
|
sha256 = "1zprj2k86wad9c35jgv22imld8l8f1jjgv54dj54ry56964nhkh8";
|
||||||
};
|
};
|
||||||
opsgenie =
|
opsgenie =
|
||||||
{
|
{
|
||||||
@ -438,8 +459,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-oraclepaas";
|
repo = "terraform-provider-oraclepaas";
|
||||||
version = "1.4.0";
|
version = "1.4.1";
|
||||||
sha256 = "1hhkijxnwmm21b0w9qc3lk5vfcg0ac0sg7v4g0ffjqv68mssrz6x";
|
sha256 = "12jsqsyrkmrxpz8zashjwnvn6nkrd6ya06d58m116a0qija1a4s3";
|
||||||
};
|
};
|
||||||
ovh =
|
ovh =
|
||||||
{
|
{
|
||||||
@ -473,8 +494,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-postgresql";
|
repo = "terraform-provider-postgresql";
|
||||||
version = "0.1.2";
|
version = "0.1.3";
|
||||||
sha256 = "08wv03j70mych4nnamivjihwvca3aksjxgjlj8yasz5292qgl05w";
|
sha256 = "1jx907wrq3b9cvx0z4731d1vkp40g358czgpgmky6k8wg70mhp17";
|
||||||
};
|
};
|
||||||
powerdns =
|
powerdns =
|
||||||
{
|
{
|
||||||
@ -543,8 +564,15 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-selvpc";
|
repo = "terraform-provider-selvpc";
|
||||||
version = "0.3.0";
|
version = "1.1.0";
|
||||||
sha256 = "1s1p0qa9x007hq26i4h0gcqpyx54jnwvg8d6ya044gm7gghhviz4";
|
sha256 = "045mp6j5hll0lym9z035swxmdjq43mdpf881qgmk8sz8j2wgvm5f";
|
||||||
|
};
|
||||||
|
skytap =
|
||||||
|
{
|
||||||
|
owner = "terraform-providers";
|
||||||
|
repo = "terraform-provider-skytap";
|
||||||
|
version = "0.9.0";
|
||||||
|
sha256 = "15p2rfaqw5iab8fkxcxigp7nxvs4gmgr2v8ysfyjz01mgwidd0rq";
|
||||||
};
|
};
|
||||||
softlayer =
|
softlayer =
|
||||||
{
|
{
|
||||||
@ -557,8 +585,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-spotinst";
|
repo = "terraform-provider-spotinst";
|
||||||
version = "1.4.0";
|
version = "1.5.0";
|
||||||
sha256 = "0kb09v18ksh2r4b5k9iv4rzq403zk1shpakk54pmq8s6i5jd085g";
|
sha256 = "15ggn37qsgzb78g0f6bj1l89zy65yqj66abs7xq5kjxsh62h9dij";
|
||||||
};
|
};
|
||||||
statuscake =
|
statuscake =
|
||||||
{
|
{
|
||||||
@ -578,8 +606,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-template";
|
repo = "terraform-provider-template";
|
||||||
version = "1.0.0";
|
version = "2.0.0";
|
||||||
sha256 = "0jl6bp6gwg96sdk5j6s13vv1j9gxjpy2yva3barmzv9138i665mz";
|
sha256 = "0rn2qavvx1y0hv25iw8yd6acvrclmz17hzg2jpb161mnlh8q94r4";
|
||||||
};
|
};
|
||||||
tencentcloud =
|
tencentcloud =
|
||||||
{
|
{
|
||||||
@ -599,8 +627,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-tfe";
|
repo = "terraform-provider-tfe";
|
||||||
version = "0.5.0";
|
version = "0.6.0";
|
||||||
sha256 = "1acmmsb4nj3l4d7zlzjrh97nhrkgm99wlazjrfavxwly253ck283";
|
sha256 = "1p8l034cjpj81vcvnz8mr2yyw3bz4zffmdg9pz9mp62s8rrrvwkw";
|
||||||
};
|
};
|
||||||
tls =
|
tls =
|
||||||
{
|
{
|
||||||
@ -616,6 +644,13 @@
|
|||||||
version = "0.5.1";
|
version = "0.5.1";
|
||||||
sha256 = "1bn5x6nmhfkrzpxhyfclls85l9qqffvzx1xsgcb3368lhwzarn2f";
|
sha256 = "1bn5x6nmhfkrzpxhyfclls85l9qqffvzx1xsgcb3368lhwzarn2f";
|
||||||
};
|
};
|
||||||
|
ucloud =
|
||||||
|
{
|
||||||
|
owner = "terraform-providers";
|
||||||
|
repo = "terraform-provider-ucloud";
|
||||||
|
version = "1.1.0";
|
||||||
|
sha256 = "0v4f7rvyiwmm64v6gwqdz3mn9sjq5y8mlhd7v9saq7rh56pfx3n2";
|
||||||
|
};
|
||||||
ultradns =
|
ultradns =
|
||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
@ -641,8 +676,8 @@
|
|||||||
{
|
{
|
||||||
owner = "terraform-providers";
|
owner = "terraform-providers";
|
||||||
repo = "terraform-provider-vsphere";
|
repo = "terraform-provider-vsphere";
|
||||||
version = "1.9.0";
|
version = "1.9.1";
|
||||||
sha256 = "1by9klwvdw3m854jffimfnsz1lnbaixi4zcv4zzs63dc3flwy2b2";
|
sha256 = "07pxzy8fw0n0kq9mf43bz4cycbwxp8vy0jbl44sknszmzbn4pam7";
|
||||||
};
|
};
|
||||||
matchbox =
|
matchbox =
|
||||||
{
|
{
|
||||||
|
@ -11,11 +11,13 @@ let
|
|||||||
inherit (data) owner repo version sha256;
|
inherit (data) owner repo version sha256;
|
||||||
name = "${repo}-${version}";
|
name = "${repo}-${version}";
|
||||||
goPackagePath = "github.com/${owner}/${repo}";
|
goPackagePath = "github.com/${owner}/${repo}";
|
||||||
|
subPackages = [ "." ];
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
inherit owner repo sha256;
|
inherit owner repo sha256;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Terraform allow checking the provider versions, but this breaks
|
# Terraform allow checking the provider versions, but this breaks
|
||||||
# if the versions are not provided via file paths.
|
# if the versions are not provided via file paths.
|
||||||
postBuild = "mv go/bin/${repo}{,_v${version}}";
|
postBuild = "mv go/bin/${repo}{,_v${version}}";
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
# <organisation>/<repo> - include only the named repository.
|
# <organisation>/<repo> - include only the named repository.
|
||||||
|
|
||||||
# include all terraform-providers
|
# include all terraform-providers
|
||||||
terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\|google-beta\\|skytap\\)
|
terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\)
|
||||||
|
|
||||||
# include terraform-provider-matchbox
|
# include terraform-provider-matchbox
|
||||||
coreos/terraform-provider-matchbox
|
coreos/terraform-provider-matchbox
|
||||||
|
@ -97,8 +97,8 @@ in rec {
|
|||||||
terraform_0_11-full = terraform_0_11.full;
|
terraform_0_11-full = terraform_0_11.full;
|
||||||
|
|
||||||
terraform_0_12 = pluggable (generic {
|
terraform_0_12 = pluggable (generic {
|
||||||
version = "0.12.0-alpha2";
|
version = "0.12.0-alpha4";
|
||||||
sha256 = "1rnxgwfk10b1g3jnh9gv4lqrcszhxq8shaqslml30hafs3dkg71q";
|
sha256 = "16cwqxxb19m91d7rx7awri1awz7d8cfnrv0rbql9rbg5qjyqxcp9";
|
||||||
patches = [ ./provider-path.patch ];
|
patches = [ ./provider-path.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
});
|
});
|
||||||
|
@ -56,11 +56,11 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "signal-desktop-${version}";
|
name = "signal-desktop-${version}";
|
||||||
version = "1.19.0";
|
version = "1.20.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "19a585mylbwrxd2m75hgp77ys1r350xkvawq2ysp0cxzr04l46z7";
|
sha256 = "1w75g7i7hf9b3yilnd6ivhd4xgp4z000x9wnrqcba2dgbr5pz7c7";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
phases = [ "unpackPhase" "installPhase" ];
|
||||||
|
@ -8,7 +8,7 @@ with stdenv.lib;
|
|||||||
let
|
let
|
||||||
bits = "x86_64";
|
bits = "x86_64";
|
||||||
|
|
||||||
version = "4.5.9";
|
version = "4.5.10";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem rec {
|
desktopItem = makeDesktopItem rec {
|
||||||
name = "Wavebox";
|
name = "Wavebox";
|
||||||
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
|
|||||||
name = "wavebox-${version}";
|
name = "wavebox-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
|
url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
|
||||||
sha256 = "158kj7r5p4p3xk5pwzvbd51h543panmgkr64knv418ksyqjdi16g";
|
sha256 = "0863x3gyzzbm6qs26j821b4iy596cc2h7ppdj6hq5rgr7c01ac9k";
|
||||||
};
|
};
|
||||||
|
|
||||||
# don't remove runtime deps
|
# don't remove runtime deps
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl, buildFHSUserEnv, makeDesktopItem, runCommand, bash, wrapGAppsHook, gsettings-desktop-schemas, gtk3, gnome3 }:
|
{ stdenv, fetchurl, buildFHSUserEnv, makeDesktopItem, runCommand, bash, wrapGAppsHook, gsettings-desktop-schemas, gtk3, gnome3 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "5.0.35.1";
|
version = "5.0.60";
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://www.zotero.org;
|
homepage = https://www.zotero.org;
|
||||||
description = "Collect, organize, cite, and share your research sources";
|
description = "Collect, organize, cite, and share your research sources";
|
||||||
@ -15,7 +15,7 @@ zoteroSrc = stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
|
url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
|
||||||
sha256 = "0d2imvp84svllrnja1dl4nldp634z632g5xkm2q9v7j3dwbzw1hw";
|
sha256 = "0753xk95shhxma4dvdxrj2q6y81z8lianxg7jnab9m17fb67jy2d";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
|
buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
|
||||||
@ -32,7 +32,7 @@ zoteroSrc = stdenv.mkDerivation rec {
|
|||||||
fhsEnv = buildFHSUserEnv {
|
fhsEnv = buildFHSUserEnv {
|
||||||
name = "zotero-fhs-env";
|
name = "zotero-fhs-env";
|
||||||
targetPkgs = pkgs: with pkgs; with xorg; [
|
targetPkgs = pkgs: with pkgs; with xorg; [
|
||||||
gtk3 dbus-glib
|
gtk3 dbus-glib glib
|
||||||
libXt nss
|
libXt nss
|
||||||
libX11
|
libX11
|
||||||
];
|
];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "picard-tools-${version}";
|
name = "picard-tools-${version}";
|
||||||
version = "2.18.21";
|
version = "2.18.23";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
|
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
|
||||||
sha256 = "0p1na79p0kz1x1nd88100487s4f306p8k4m7dq5r4m2kdsc1dqin";
|
sha256 = "13521lcblbcb4vshcrrw6qlqlzvm88grp4vm8d0b3hwbl3rr0py4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
|
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
|
||||||
, zlib, libGLU_combined, libGLU, xorg }:
|
, zlib, libGLU_combined, libGLU, xorg }:
|
||||||
|
|
||||||
let version = "4.0.7"; in
|
let version = "4.1.0"; in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "gmsh-${version}";
|
name = "gmsh-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
|
url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
|
||||||
sha256 = "c6572320d0ffdf7d2488e113861bc4bd9c38a29f7fc5b67957f6fbcb63fbdbd5";
|
sha256 = "0k53k6s4hmciakhrb3ka109vk06ckdbyms5ixizijlfh1dvh7iim";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake openblasCompat gmm fltk libjpeg zlib libGLU_combined
|
buildInputs = [ cmake openblasCompat gmm fltk libjpeg zlib libGLU_combined
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
diff --git a/src/sage/doctest/forker.py b/src/sage/doctest/forker.py
|
||||||
|
index 02e18e67e7..2ebf6eb35f 100644
|
||||||
|
--- a/src/sage/doctest/forker.py
|
||||||
|
+++ b/src/sage/doctest/forker.py
|
||||||
|
@@ -1075,6 +1075,14 @@ class SageDocTestRunner(doctest.DocTestRunner, object):
|
||||||
|
sage: set(ex2.predecessors) == set([ex0,ex1])
|
||||||
|
True
|
||||||
|
"""
|
||||||
|
+
|
||||||
|
+ # Fix ECL dir race conditions by using a separate dir for each process
|
||||||
|
+ # (https://trac.sagemath.org/ticket/26968)
|
||||||
|
+ os.environ['MAXIMA_USERDIR'] = "{}/sage-maxima-{}".format(
|
||||||
|
+ tempfile.gettempdir(),
|
||||||
|
+ os.getpid()
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
if isinstance(globs, RecordingDict):
|
||||||
|
globs.start()
|
||||||
|
example.sequence_number = len(self.history)
|
@ -46,6 +46,9 @@ stdenv.mkDerivation rec {
|
|||||||
# tests) are also run. That is necessary to test dochtml individually. See
|
# tests) are also run. That is necessary to test dochtml individually. See
|
||||||
# https://trac.sagemath.org/ticket/26110 for an upstream discussion.
|
# https://trac.sagemath.org/ticket/26110 for an upstream discussion.
|
||||||
./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
|
./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
|
||||||
|
|
||||||
|
# Fixes a potential race condition which can lead to transient doctest failures.
|
||||||
|
./patches/fix-ecl-race.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
# Patches needed because of package updates. We could just pin the versions of
|
# Patches needed because of package updates. We could just pin the versions of
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }:
|
{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.2.4";
|
version = "0.2.5";
|
||||||
repo = "git-secret";
|
repo = "git-secret";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
@ -11,7 +11,7 @@ in stdenv.mkDerivation {
|
|||||||
inherit repo;
|
inherit repo;
|
||||||
owner = "sobolevn";
|
owner = "sobolevn";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0lx2rjyhy3xh6ik755lbbl40v7a7ayyqk68jj8mnv42f2vhd66xl";
|
sha256 = "1caxdx1ps662vfa79f7l1bwgwgwf974ahzii0hzaqfnkxy45i520";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
28
pkgs/data/fonts/agave/default.nix
Normal file
28
pkgs/data/fonts/agave/default.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "agave-${version}";
|
||||||
|
version = "008";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/agarick/agave/releases/download/v${version}/${name}.tar.gz";
|
||||||
|
sha256 = "0g50mqpffn4dq761vibaf8dwfkbcl5da1cc89qz6pq35ircipbns";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/fonts/truetype
|
||||||
|
cp *.ttf $out/share/fonts/truetype
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "truetype monospaced typeface designed for X environments";
|
||||||
|
homepage = https://b.agaric.net/page/agave;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
24
pkgs/data/fonts/ankacoder/condensed.nix
Normal file
24
pkgs/data/fonts/ankacoder/condensed.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchzip }:
|
||||||
|
|
||||||
|
let version = "1.100"; in
|
||||||
|
fetchzip rec {
|
||||||
|
name = "ankacoder-condensed-${version}";
|
||||||
|
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/anka-coder-fonts/AnkaCoderCondensed.${version}.zip";
|
||||||
|
|
||||||
|
postFetch = ''
|
||||||
|
unzip $downloadedFile
|
||||||
|
mkdir -p $out/share/fonts/truetype
|
||||||
|
cp *.ttf $out/share/fonts/truetype
|
||||||
|
'';
|
||||||
|
|
||||||
|
sha256 = "0i80zpr2y9368rg2i6x8jv0g7d03kdyr5h7w9yz7pjd7i9xd8439";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Anka/Coder Condensed font";
|
||||||
|
homepage = https://code.google.com/archive/p/anka-coder-fonts;
|
||||||
|
license = licenses.ofl;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
24
pkgs/data/fonts/ankacoder/default.nix
Normal file
24
pkgs/data/fonts/ankacoder/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchzip }:
|
||||||
|
|
||||||
|
let version = "1.100"; in
|
||||||
|
fetchzip rec {
|
||||||
|
name = "ankacoder-${version}";
|
||||||
|
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/anka-coder-fonts/AnkaCoder.${version}.zip";
|
||||||
|
|
||||||
|
postFetch = ''
|
||||||
|
unzip $downloadedFile
|
||||||
|
mkdir -p $out/share/fonts/truetype
|
||||||
|
cp *.ttf $out/share/fonts/truetype
|
||||||
|
'';
|
||||||
|
|
||||||
|
sha256 = "1jqx9micfmiarqh9xp330gl96v3vxbwzz9cmg2vi845n9md4im85";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Anka/Coder fonts";
|
||||||
|
homepage = https://code.google.com/archive/p/anka-coder-fonts;
|
||||||
|
license = licenses.ofl;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
35
pkgs/data/fonts/cherry/default.nix
Normal file
35
pkgs/data/fonts/cherry/default.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, bdftopcf }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
pname = "cherry";
|
||||||
|
version = "1.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "turquoise-hexagon";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1sfajzndv78v8hb156876i2rw3zw8xys6qi8zr4yi0isgsqj5yx5";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ bdftopcf ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
patchShebangs make.sh
|
||||||
|
./make.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/fonts/misc
|
||||||
|
cp *.pcf $out/share/fonts/misc
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "cherry font";
|
||||||
|
homepage = https://github.com/turquoise-hexagon/cherry;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
28
pkgs/data/fonts/hermit/default.nix
Normal file
28
pkgs/data/fonts/hermit/default.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "hermit";
|
||||||
|
version = "2.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://pcaro.es/d/otf-${pname}-${version}.tar.gz";
|
||||||
|
sha256 = "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/fonts/opentype
|
||||||
|
cp *.otf $out/share/fonts/opentype/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "monospace font designed to be clear, pragmatic and very readable";
|
||||||
|
homepage = https://pcaro.es/p/hermit;
|
||||||
|
license = licenses.ofl;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
23
pkgs/data/fonts/luculent/default.nix
Normal file
23
pkgs/data/fonts/luculent/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ lib, fetchzip }:
|
||||||
|
|
||||||
|
let version = "2.0.0"; in
|
||||||
|
fetchzip rec {
|
||||||
|
name = "luculent-${version}";
|
||||||
|
url = http://www.eastfarthing.com/luculent/luculent.tar.xz;
|
||||||
|
|
||||||
|
postFetch = ''
|
||||||
|
tar -xJf $downloadedFile --strip-components=1
|
||||||
|
mkdir -p $out/share/fonts/truetype
|
||||||
|
cp *.ttf $out/share/fonts/truetype
|
||||||
|
'';
|
||||||
|
|
||||||
|
sha256 = "1m3g64galwna1xjxb1fczmfplm6c1fn3ra1ln7f0vkm0ah5m4lbv";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "luculent font";
|
||||||
|
homepage = http://www.eastfarthing.com/luculent/;
|
||||||
|
license = licenses.ofl;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zafiro-icons";
|
pname = "zafiro-icons";
|
||||||
version = "0.8.1";
|
version = "0.8.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zayronxio";
|
owner = "zayronxio";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "121fpg74vra8kfvgxi3i7p09qxhck45kv270x6cv5dq1fp2hdm8k";
|
sha256 = "1hflpnliww5fkk7bsgmi8hlrbqvkijjjmbzjqnnl991nqsqxqxpl";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [ gtk3 ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs
|
{ stdenv, meson, ninja, gettext, fetchurl, fetchpatch, evince, gjs
|
||||||
, pkgconfig, gtk3, glib, tracker, tracker-miners
|
, pkgconfig, gtk3, glib, tracker, tracker-miners
|
||||||
, itstool, libxslt, webkitgtk, libgdata
|
, itstool, libxslt, webkitgtk, libgdata
|
||||||
, gnome-desktop, libzapojit, libgepub
|
, gnome-desktop, libzapojit, libgepub
|
||||||
@ -31,6 +31,14 @@ stdenv.mkDerivation rec {
|
|||||||
gnome-desktop libzapojit libgepub
|
gnome-desktop libzapojit libgepub
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# fix RPATH to libgd
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.gnome.org/GNOME/gnome-documents/commit/d18a92e0a940073ac766f609937539e4fc6cdbb7.patch";
|
||||||
|
sha256 = "0s3mk8vrl1gzk93yvgqbnz44i27qw1d9yvvmnck3fv23phrxkzk9";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
chmod +x meson_post_install.py # patchShebangs requires executable file
|
chmod +x meson_post_install.py # patchShebangs requires executable file
|
||||||
patchShebangs meson_post_install.py
|
patchShebangs meson_post_install.py
|
||||||
|
@ -1,16 +1,22 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk_pixbuf, gst_all_1, gnome3 }:
|
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk_pixbuf, gst_all_1, gnome3 }:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-sound-recorder";
|
pname = "gnome-sound-recorder";
|
||||||
version = "3.28.1";
|
version = "3.28.2";
|
||||||
in stdenv.mkDerivation rec {
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0y0srj1hvr1waa35p6dj1r1mlgcsscc0i99jni50ijp4zb36fjqy";
|
sha256 = "1k63xr3d16qbzi88md913ndaf2mzwmhmi6hipj0123sm7nsz1p94";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix crash when trying to play recordings
|
||||||
|
(fetchpatch {
|
||||||
|
url = https://gitlab.gnome.org/GNOME/gnome-sound-recorder/commit/2b311ef67909bc20d0e87f334fe37bf5c4e9f29f.patch;
|
||||||
|
sha256 = "0hqmk846bxma0p66cqp94zd02zc1if836ywjq3sv5dsfwnz7jv3f";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ];
|
nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ];
|
||||||
buildInputs = [ gjs glib gtk3 gdk_pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]);
|
buildInputs = [ gjs glib gtk3 gdk_pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]);
|
||||||
|
|
||||||
|
@ -25,6 +25,15 @@ in stdenv.mkDerivation rec {
|
|||||||
patchShebangs meson_post_install.py
|
patchShebangs meson_post_install.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
gappsWrapperArgs+=(
|
||||||
|
# Thumbnailers
|
||||||
|
--prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share"
|
||||||
|
--prefix XDG_DATA_DIRS : "${librsvg}/share"
|
||||||
|
--prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = gnome3.updateScript {
|
updateScript = gnome3.updateScript {
|
||||||
packageName = pname;
|
packageName = pname;
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "evolution-data-server-${version}";
|
name = "evolution-data-server-${version}";
|
||||||
version = "3.30.3";
|
version = "3.30.4";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "1q1wpsc3p6b1cacwgkgqbni7rdx3skvb2fm6fyjs2wjgq6zi5753";
|
sha256 = "1j8lwl04zz59sg7k3hpkzp829z8xyd1isz8xavm9vzxfvw5w776y";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnome-settings-daemon-${version}";
|
name = "gnome-settings-daemon-${version}";
|
||||||
version = "3.30.1.2";
|
version = "3.30.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "079dh609rvpwfyzg4m898q8km9g7x04hg18rwwb1izj1dr7zdp2w";
|
sha256 = "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
name = "fasm-bin-${version}";
|
name = "fasm-bin-${version}";
|
||||||
|
|
||||||
version = "1.73.05";
|
version = "1.73.06";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://flatassembler.net/fasm-${version}.tgz";
|
url = "https://flatassembler.net/fasm-${version}.tgz";
|
||||||
sha256 = "0qpj6cs9rp1bg2rqxg1k8j71918rh86hplyw4n82n11ndwk23ni5";
|
sha256 = "02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, coq, ssreflect }:
|
{ stdenv, fetchFromGitHub, coq, ssreflect, coq-ext-lib, simple-io }:
|
||||||
|
|
||||||
let params =
|
let params =
|
||||||
{
|
{
|
||||||
@ -19,6 +19,14 @@ let params =
|
|||||||
rev = "195e550a1cf0810497734356437a1720ebb6d744";
|
rev = "195e550a1cf0810497734356437a1720ebb6d744";
|
||||||
sha256 = "0zm23y89z0h4iamy74qk9qi2pz2cj3ga6ygav0w79n0qyqwhxcq1";
|
sha256 = "0zm23y89z0h4iamy74qk9qi2pz2cj3ga6ygav0w79n0qyqwhxcq1";
|
||||||
};
|
};
|
||||||
|
"8.8" = rec {
|
||||||
|
preConfigure = "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native";
|
||||||
|
version = "1.0.2";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1mcbsp07ra3gdcmir36pf27ig3xv8nagyfp7w5pwqi4gj9w81ffn";
|
||||||
|
buildInputs = with coq.ocamlPackages; [ ocamlbuild num ];
|
||||||
|
propagatedBuildInputs = [ coq-ext-lib simple-io ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
param = params."${coq.coq-version}";
|
param = params."${coq.coq-version}";
|
||||||
in
|
in
|
||||||
@ -33,11 +41,16 @@ stdenv.mkDerivation rec {
|
|||||||
inherit (param) rev sha256;
|
inherit (param) rev sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
|
buildInputs = [ coq ]
|
||||||
propagatedBuildInputs = [ coq ssreflect ];
|
++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ])
|
||||||
|
++ (param.buildInputs or [])
|
||||||
|
;
|
||||||
|
propagatedBuildInputs = [ ssreflect ] ++ (param.propagatedBuildInputs or []);
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
|
preConfigure = param.preConfigure or null;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
|
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
|
||||||
'';
|
'';
|
||||||
|
@ -39,7 +39,7 @@ core-packages:
|
|||||||
|
|
||||||
# Hack: The following package is a core package of GHCJS. If we don't declare
|
# Hack: The following package is a core package of GHCJS. If we don't declare
|
||||||
# it, then hackage2nix will generate a Hackage database where all dependants
|
# it, then hackage2nix will generate a Hackage database where all dependants
|
||||||
# of this library are maked as "broken".
|
# of this library are marked as "broken".
|
||||||
- ghcjs-base-0
|
- ghcjs-base-0
|
||||||
|
|
||||||
default-package-overrides:
|
default-package-overrides:
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
, disableDocs ? false
|
, disableDocs ? false
|
||||||
, CoreFoundation
|
, CoreFoundation
|
||||||
, gsettings-desktop-schemas
|
, gsettings-desktop-schemas
|
||||||
|
, wrapGAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -59,7 +60,9 @@ stdenv.mkDerivation rec {
|
|||||||
(stdenv.lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
|
(stdenv.lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ fontconfig libffi libtool makeWrapper sqlite gsettings-desktop-schemas gtk3 ]
|
nativeBuildInputs = [ wrapGAppsHook ];
|
||||||
|
|
||||||
|
buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
|
++ stdenv.lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
@ -69,6 +72,8 @@ stdenv.mkDerivation rec {
|
|||||||
done
|
done
|
||||||
mkdir src/build
|
mkdir src/build
|
||||||
cd src/build
|
cd src/build
|
||||||
|
|
||||||
|
gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" $LD_LIBRARY_PATH)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
shared = if stdenv.isDarwin then "dylib" else "shared";
|
shared = if stdenv.isDarwin then "dylib" else "shared";
|
||||||
@ -80,13 +85,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for p in $(ls $out/bin/) ; do
|
|
||||||
wrapProgram $out/bin/$p \
|
|
||||||
--prefix LD_LIBRARY_PATH ":" "${LD_LIBRARY_PATH}" \
|
|
||||||
--prefix XDG_DATA_DIRS ":" "$GSETTINGS_SCHEMAS_PATH";
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A programmable programming language";
|
description = "A programmable programming language";
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
|
{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "9.200.6";
|
version = "9.200.7";
|
||||||
name = "armadillo-${version}";
|
name = "armadillo-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
|
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
|
||||||
sha256 = "1gm8dysb29f3p96bzjgdb5r70dc6y5jq1avg18sdixz0hgnxqq14";
|
sha256 = "1y3xrchykwddlrnzgf7xjdmbkf6c4gayz92vyrqdyvnlpi07sy72";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "box2d-${version}";
|
name = "box2d-${version}";
|
||||||
version = "2.3.0";
|
version = "2.3.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/erincatto/Box2D/archive/v${version}.tar.gz";
|
url = "https://github.com/erincatto/Box2D/archive/v${version}.tar.gz";
|
||||||
sha256 = "1dmbswh4x2n5l3c9h0k72m0z4rdpzfy1xl8m8p3rf5rwkvk3bkg2";
|
sha256 = "0llpcifl8zbjbpxdwz87drd01m3lwnv82xb4av6kca1xn4w2gmkm";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "Box2D-${version}/Box2D";
|
sourceRoot = "Box2D-${version}/Box2D";
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "capstone-${version}";
|
name = "capstone-${version}";
|
||||||
version = "4.0";
|
version = "4.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/aquynh/capstone/archive/${version}.tar.gz";
|
url = "https://github.com/aquynh/capstone/archive/${version}.tar.gz";
|
||||||
sha256 = "0yp6y5m3v674i2pq6s804ikvz43gzgsjwq1maqhmj3b730b4dii6";
|
sha256 = "1isxw2qwy1fi3m3w7igsr5klzczxc5cxndz0a78dfss6ps6ymfvr";
|
||||||
};
|
};
|
||||||
|
|
||||||
configurePhase = '' patchShebangs make.sh '';
|
configurePhase = '' patchShebangs make.sh '';
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gtkd-${version}";
|
name = "gtkd-${version}";
|
||||||
version = "3.8.4";
|
version = "3.8.5";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
|
url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
|
||||||
sha256 = "0q2kf1jwr89i8ajjzyf3b4bbla33djvnwrvljq17y206q7qknfyz";
|
sha256 = "12n2njsaplra7x15nqwrj2hrf8a27pfjj2mck4mkzxv03qk6mqky";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, netcdf, hdf5, curl, gfortran }:
|
{ stdenv, fetchurl, netcdf, hdf5, curl, gfortran }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "netcdf-fortran-${version}";
|
name = "netcdf-fortran-${version}";
|
||||||
version = "4.4.4";
|
version = "4.4.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Unidata/netcdf-fortran/archive/v${version}.tar.gz";
|
url = "https://github.com/Unidata/netcdf-fortran/archive/v${version}.tar.gz";
|
||||||
sha256 = "0rwybszj1jjb25cx8vfyrd77x5qsdjzwspcjz56n12br89n9ica4";
|
sha256 = "00qwg4v250yg8kxp68srrnvfbfim241fnlm071p9ila2mihk8r01";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ netcdf hdf5 curl gfortran ];
|
buildInputs = [ netcdf hdf5 curl gfortran ];
|
||||||
|
29
pkgs/development/libraries/pyotherside/default.nix
Normal file
29
pkgs/development/libraries/pyotherside/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ stdenv, fetchFromGitHub
|
||||||
|
, python3, qmake, qtbase, qtquickcontrols, qtsvg, ncurses }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "pyotherside";
|
||||||
|
version = "1.5.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "thp";
|
||||||
|
repo = "pyotherside";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1xaw1aarj8gpgpm4z3lk8klbssadrsf3xdyzqx10zcwy16amka7k";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ qmake ];
|
||||||
|
buildInputs = [
|
||||||
|
python3 qtbase qtquickcontrols qtsvg ncurses
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [ ./qml-path.patch ];
|
||||||
|
installTargets = [ "sub-src-install_subtargets" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Asynchronous Python 3 Bindings for Qt 5";
|
||||||
|
homepage = https://thp.io/2011/pyotherside/;
|
||||||
|
license = licenses.isc;
|
||||||
|
maintainers = [ maintainers.mic92 ];
|
||||||
|
};
|
||||||
|
}
|
12
pkgs/development/libraries/pyotherside/qml-path.patch
Normal file
12
pkgs/development/libraries/pyotherside/qml-path.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -Naur --strip-trailing-cr source.org/src/src.pro source/src/src.pro
|
||||||
|
--- source.org/src/src.pro 1970-01-01 01:00:01.000000000 +0100
|
||||||
|
+++ source/src/src.pro 2019-01-17 19:14:46.256821852 +0000
|
||||||
|
@@ -10,7 +10,7 @@
|
||||||
|
CONFIG += qt plugin
|
||||||
|
QT += qml quick svg
|
||||||
|
|
||||||
|
-target.path = $$[QT_INSTALL_QML]/$$PLUGIN_IMPORT_PATH
|
||||||
|
+target.path = $$NIX_OUTPUT_QML/$$PLUGIN_IMPORT_PATH
|
||||||
|
INSTALLS += target
|
||||||
|
|
||||||
|
qmldir.files += $$_PRO_FILE_PWD_/qmldir $$_PRO_FILE_PWD_/pyotherside.qmltypes
|
@ -1,10 +1,10 @@
|
|||||||
{ qtModule, lib, python2, qtbase, qtsvg, qtxmlpatterns }:
|
{ qtModule, lib, python2, qtbase, qtsvg }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
name = "qtdeclarative";
|
name = "qtdeclarative";
|
||||||
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
|
qtInputs = [ qtbase qtsvg ];
|
||||||
nativeBuildInputs = [ python2 ];
|
nativeBuildInputs = [ python2 ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ qtModule, qtbase }:
|
{ qtModule, qtbase, qtdeclarative }:
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
name = "qtxmlpatterns";
|
name = "qtxmlpatterns";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ];
|
devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ];
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ stdenv.mkDerivation (
|
|||||||
PERL_USE_UNSAFE_INC = "1";
|
PERL_USE_UNSAFE_INC = "1";
|
||||||
|
|
||||||
meta.homepage = "https://metacpan.org/release/${(builtins.parseDrvName name).name}";
|
meta.homepage = "https://metacpan.org/release/${(builtins.parseDrvName name).name}";
|
||||||
|
meta.platforms = perl.meta.platforms;
|
||||||
}
|
}
|
||||||
attrs
|
attrs
|
||||||
)
|
)
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
, pytest, requests }:
|
, pytest, requests }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "2.1.3";
|
version = "2.2.0";
|
||||||
pname = "beancount";
|
pname = "beancount";
|
||||||
|
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "4b7b0d3633c82ca88d3cb3d31ad2fd2e45a42401cfa94eaa1cb938ffece34f22";
|
sha256 = "1j3fyyqnr5gq71rmkb9q3im8pqppa134zzhmmp4hk4b274g18w31";
|
||||||
};
|
};
|
||||||
|
|
||||||
# No tests in archive
|
# No tests in archive
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "cfgv";
|
pname = "cfgv";
|
||||||
version = "1.1.0";
|
version = "1.4.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1akm5xdbi5kckgnhhfj6qavjwakm44cwqzhfx2ycgh7mkym1qyfi";
|
sha256 = "01mpw8kx0f2py2jwf0fv60k01p11gs0dbar5zq42k4z38xf0bn9r";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ six ];
|
propagatedBuildInputs = [ six ];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k
|
{ stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k
|
||||||
, pyperclip, six, pyparsing, vim, wcwidth, colorama
|
, pyperclip, six, pyparsing, vim, wcwidth, colorama, attrs
|
||||||
, contextlib2 ? null, typing ? null, setuptools_scm
|
, contextlib2 ? null, typing ? null, setuptools_scm
|
||||||
, pytest, mock ? null, pytest-mock
|
, pytest, mock ? null, pytest-mock
|
||||||
, which, glibcLocales
|
, which, glibcLocales
|
||||||
@ -36,6 +36,7 @@ buildPythonPackage rec {
|
|||||||
six
|
six
|
||||||
pyparsing
|
pyparsing
|
||||||
wcwidth
|
wcwidth
|
||||||
|
attrs
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optionals (pythonOlder "3.5") [contextlib2 typing]
|
++ stdenv.lib.optionals (pythonOlder "3.5") [contextlib2 typing]
|
||||||
;
|
;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ buildPythonPackage, fetchPypi
|
{ buildPythonPackage, fetchPypi, isPy3k
|
||||||
, six, jaraco_logging, jaraco_text, jaraco_stream, pytz, jaraco_itertools
|
, six, jaraco_logging, jaraco_text, jaraco_stream, pytz, jaraco_itertools
|
||||||
, setuptools_scm }:
|
, setuptools_scm }:
|
||||||
|
|
||||||
@ -6,6 +6,8 @@ buildPythonPackage rec {
|
|||||||
pname = "irc";
|
pname = "irc";
|
||||||
version = "17.0";
|
version = "17.0";
|
||||||
|
|
||||||
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "f9c5fcb72dd230e1387fd4a0114a1935605e0f59ac09dec962313baed74e1365";
|
sha256 = "f9c5fcb72dd230e1387fd4a0114a1935605e0f59ac09dec962313baed74e1365";
|
||||||
|
@ -1,14 +1,26 @@
|
|||||||
{ buildPythonPackage, fetchPypi, setuptools_scm
|
{ lib, buildPythonPackage, fetchPypi, setuptools_scm
|
||||||
, inflect, more-itertools, six }:
|
, inflect, more-itertools, six, pytest, pytest-flake8 }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "jaraco.itertools";
|
pname = "jaraco.itertools";
|
||||||
version = "3.0.0";
|
version = "4.0.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "19d8557a25c08f7a7b8f1cfa456ebfd615bafa0f045f89bbda55f99661b0626d";
|
sha256 = "1d09zpi593bhr56rwm41kzffr18wif98plgy6xdy0zrbdwfarrxl";
|
||||||
};
|
};
|
||||||
doCheck = false;
|
|
||||||
buildInputs = [ setuptools_scm ];
|
buildInputs = [ setuptools_scm ];
|
||||||
propagatedBuildInputs = [ inflect more-itertools six ];
|
propagatedBuildInputs = [ inflect more-itertools six ];
|
||||||
|
checkInputs = [ pytest pytest-flake8 ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Tools for working with iterables";
|
||||||
|
homepage = https://github.com/jaraco/jaraco.itertools;
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,26 @@
|
|||||||
{ buildPythonPackage, fetchPypi, setuptools_scm
|
{ lib, buildPythonPackage, fetchPypi, setuptools_scm
|
||||||
, tempora, six }:
|
, tempora, six, pytest, pytest-flake8 }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "jaraco.logging";
|
pname = "jaraco.logging";
|
||||||
version = "1.5.2";
|
version = "2.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "199pgwx9ziab3gxg6p0c24z8dp3bjpsvvshnmlph9zjsssq0xc93";
|
sha256 = "1lb846j7qs1hgqwkyifv51nhl3f8jimbc4lk8yn9nkaynw0vyzcg";
|
||||||
};
|
};
|
||||||
doCheck = false;
|
|
||||||
buildInputs = [ setuptools_scm ];
|
buildInputs = [ setuptools_scm ];
|
||||||
propagatedBuildInputs = [ tempora six ];
|
propagatedBuildInputs = [ tempora six ];
|
||||||
|
checkInputs = [ pytest pytest-flake8 ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
PYTHONPATH=".:$PYTHONPATH" pytest
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Support for Python logging facility";
|
||||||
|
homepage = https://github.com/jaraco/jaraco.logging;
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
27
pkgs/development/python-modules/jq/default.nix
Normal file
27
pkgs/development/python-modules/jq/default.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ buildPythonPackage, fetchPypi, lib, cython, jq }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "jq";
|
||||||
|
version = "0.1.6";
|
||||||
|
|
||||||
|
srcs = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "34bdf9f9e49e522e1790afc03f3584c6b57329215ea0567fb2157867d6d6f602";
|
||||||
|
};
|
||||||
|
patches = [ ./jq-py-setup.patch ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cython ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
cython jq.pyx
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [ jq ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Python bindings for jq, the flexible JSON processor";
|
||||||
|
homepage = "https://github.com/mwilliamson/jq.py";
|
||||||
|
license = lib.licenses.bsd2;
|
||||||
|
maintainers = with lib.maintainers; [ benley ];
|
||||||
|
};
|
||||||
|
}
|
130
pkgs/development/python-modules/jq/jq-py-setup.patch
Normal file
130
pkgs/development/python-modules/jq/jq-py-setup.patch
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
From 3f369cf8b9f7134d0792f6b141d39b5342a8274f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Benjamin Staffin <benley@gmail.com>
|
||||||
|
Date: Mon, 14 Jan 2019 17:27:06 -0500
|
||||||
|
Subject: [PATCH] Vastly simplify setup.py for distro compatibility
|
||||||
|
|
||||||
|
---
|
||||||
|
setup.py | 81 +-------------------------------------------------------
|
||||||
|
1 file changed, 1 insertion(+), 80 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 77933f2..2b71e25 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -1,10 +1,6 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
-import platform
|
||||||
|
-import subprocess
|
||||||
|
-import tarfile
|
||||||
|
-import shutil
|
||||||
|
|
||||||
|
try:
|
||||||
|
import sysconfig
|
||||||
|
@@ -14,88 +10,15 @@ except ImportError:
|
||||||
|
|
||||||
|
from setuptools import setup
|
||||||
|
from distutils.extension import Extension
|
||||||
|
-from distutils.command.build_ext import build_ext
|
||||||
|
-
|
||||||
|
-try:
|
||||||
|
- from urllib import urlretrieve
|
||||||
|
-except ImportError:
|
||||||
|
- from urllib.request import urlretrieve
|
||||||
|
-
|
||||||
|
-def path_in_dir(relative_path):
|
||||||
|
- return os.path.abspath(os.path.join(os.path.dirname(__file__), relative_path))
|
||||||
|
|
||||||
|
def read(fname):
|
||||||
|
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
||||||
|
|
||||||
|
|
||||||
|
-jq_lib_tarball_path = path_in_dir("_jq-lib-1.5.tar.gz")
|
||||||
|
-jq_lib_dir = path_in_dir("jq-jq-1.5")
|
||||||
|
-
|
||||||
|
-oniguruma_lib_tarball_path = path_in_dir("_onig-5.9.6.tar.gz")
|
||||||
|
-oniguruma_lib_build_dir = path_in_dir("onig-5.9.6")
|
||||||
|
-oniguruma_lib_install_dir = path_in_dir("onig-install-5.9.6")
|
||||||
|
-
|
||||||
|
-class jq_build_ext(build_ext):
|
||||||
|
- def run(self):
|
||||||
|
- self._build_oniguruma()
|
||||||
|
- self._build_libjq()
|
||||||
|
- build_ext.run(self)
|
||||||
|
-
|
||||||
|
- def _build_oniguruma(self):
|
||||||
|
- self._build_lib(
|
||||||
|
- source_url="https://github.com/kkos/oniguruma/releases/download/v5.9.6/onig-5.9.6.tar.gz",
|
||||||
|
- tarball_path=oniguruma_lib_tarball_path,
|
||||||
|
- lib_dir=oniguruma_lib_build_dir,
|
||||||
|
- commands=[
|
||||||
|
- ["./configure", "CFLAGS=-fPIC", "--prefix=" + oniguruma_lib_install_dir],
|
||||||
|
- ["make"],
|
||||||
|
- ["make", "install"],
|
||||||
|
- ])
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- def _build_libjq(self):
|
||||||
|
- self._build_lib(
|
||||||
|
- source_url="https://github.com/stedolan/jq/archive/jq-1.5.tar.gz",
|
||||||
|
- tarball_path=jq_lib_tarball_path,
|
||||||
|
- lib_dir=jq_lib_dir,
|
||||||
|
- commands=[
|
||||||
|
- ["autoreconf", "-i"],
|
||||||
|
- ["./configure", "CFLAGS=-fPIC", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir],
|
||||||
|
- ["make"],
|
||||||
|
- ])
|
||||||
|
-
|
||||||
|
- def _build_lib(self, source_url, tarball_path, lib_dir, commands):
|
||||||
|
- self._download_tarball(source_url, tarball_path)
|
||||||
|
-
|
||||||
|
- macosx_deployment_target = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET")
|
||||||
|
- if macosx_deployment_target:
|
||||||
|
- os.environ['MACOSX_DEPLOYMENT_TARGET'] = macosx_deployment_target
|
||||||
|
-
|
||||||
|
- def run_command(args):
|
||||||
|
- print("Executing: %s" % ' '.join(args))
|
||||||
|
- subprocess.check_call(args, cwd=lib_dir)
|
||||||
|
-
|
||||||
|
- for command in commands:
|
||||||
|
- run_command(command)
|
||||||
|
-
|
||||||
|
- def _download_tarball(self, source_url, tarball_path):
|
||||||
|
- if os.path.exists(tarball_path):
|
||||||
|
- os.unlink(tarball_path)
|
||||||
|
- urlretrieve(source_url, tarball_path)
|
||||||
|
-
|
||||||
|
- if os.path.exists(jq_lib_dir):
|
||||||
|
- shutil.rmtree(jq_lib_dir)
|
||||||
|
- tarfile.open(tarball_path, "r:gz").extractall(path_in_dir("."))
|
||||||
|
-
|
||||||
|
-
|
||||||
|
jq_extension = Extension(
|
||||||
|
"jq",
|
||||||
|
sources=["jq.c"],
|
||||||
|
- include_dirs=[jq_lib_dir],
|
||||||
|
- extra_objects=[
|
||||||
|
- os.path.join(jq_lib_dir, ".libs/libjq.a"),
|
||||||
|
- os.path.join(oniguruma_lib_install_dir, "lib/libonig.a"),
|
||||||
|
- ],
|
||||||
|
+ libraries=["jq"],
|
||||||
|
)
|
||||||
|
|
||||||
|
setup(
|
||||||
|
@@ -107,7 +30,6 @@ setup(
|
||||||
|
url='http://github.com/mwilliamson/jq.py',
|
||||||
|
license='BSD 2-Clause',
|
||||||
|
ext_modules = [jq_extension],
|
||||||
|
- cmdclass={"build_ext": jq_build_ext},
|
||||||
|
classifiers=[
|
||||||
|
'Development Status :: 4 - Beta',
|
||||||
|
'Intended Audience :: Developers',
|
||||||
|
@@ -123,4 +45,3 @@ setup(
|
||||||
|
'Programming Language :: Python :: 3.5',
|
||||||
|
],
|
||||||
|
)
|
||||||
|
-
|
||||||
|
--
|
||||||
|
2.19.2
|
||||||
|
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "jsonrpclib-pelix";
|
pname = "jsonrpclib-pelix";
|
||||||
version = "0.3.2";
|
version = "0.4.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "14d288d1b3d3273cf96a729dd21a2470851c4962be8509f3dd62f0137ff90339";
|
sha256 = "1pimyq95w99ik5av96j0n9i6n12mr9kk0y28jnrq0555d7hmii8r";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false; # test_suite="tests" in setup.py but no tests in pypi.
|
doCheck = false; # test_suite="tests" in setup.py but no tests in pypi.
|
||||||
|
@ -11,13 +11,13 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytest-benchmark";
|
pname = "pytest-benchmark";
|
||||||
version = "3.1.1";
|
version = "3.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ionelmc";
|
owner = "ionelmc";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1ch079dlc6c9ag74dh4dg6plkmh0h8kn78ari3fgadc75bald71m";
|
sha256 = "1hslzzinpwc1zqhbpllqh3sllmiyk69pcycl7ahr0rz3micgwczj";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optional (pythonOlder "3.4") [ pathlib statistics ];
|
propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optional (pythonOlder "3.4") [ pathlib statistics ];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-gitlab";
|
pname = "python-gitlab";
|
||||||
version = "1.6.0";
|
version = "1.7.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "20ceb9232f9a412ce6554056a6b5039013d0755261d57b5c8ada7035773de795";
|
sha256 = "17nh09c28vf2daamyq97bdzgr685lyh668haisqbbp5lkn9gh7j0";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ requests six ];
|
propagatedBuildInputs = [ requests six ];
|
||||||
|
@ -1,26 +1,30 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchFromGitHub
|
||||||
, pytest
|
, pytest
|
||||||
, sphinx
|
, CommonMark
|
||||||
, CommonMark_54
|
|
||||||
, docutils
|
, docutils
|
||||||
|
, sphinx
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "recommonmark";
|
pname = "recommonmark";
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
# PyPI tarball is missing some test files: https://github.com/rtfd/recommonmark/pull/128
|
||||||
inherit pname version;
|
src = fetchFromGitHub {
|
||||||
sha256 = "6e29c723abcf5533842376d87c4589e62923ecb6002a8e059eb608345ddaff9d";
|
owner = "rtfd";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "04bjqx2hczmg7rnj2rpsjk7h24diwk83s6fhgrxk00k40w2bpz5j";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [ pytest sphinx ];
|
checkInputs = [ pytest ];
|
||||||
propagatedBuildInputs = [ CommonMark_54 docutils ];
|
propagatedBuildInputs = [ CommonMark docutils sphinx ];
|
||||||
|
|
||||||
# No tests in archive
|
checkPhase = ''
|
||||||
doCheck = false;
|
py.test
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A docutils-compatibility bridge to CommonMark";
|
description = "A docutils-compatibility bridge to CommonMark";
|
||||||
|
@ -15,12 +15,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "trio";
|
pname = "trio";
|
||||||
version = "0.9.0";
|
version = "0.10.0";
|
||||||
disabled = pythonOlder "3.5";
|
disabled = pythonOlder "3.5";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "6d905d950dfa1db3fad6b5ef5637c221947123fd2b0e112033fecfc582318c3b";
|
sha256 = "1c1snnhjg8l87ygf5p9z2qjcq090mws5w7pr9aaiava0yqawq8yk";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [ pytest pyopenssl trustme jedi pylint ];
|
checkInputs = [ pytest pyopenssl trustme jedi pylint ];
|
||||||
|
@ -297,13 +297,16 @@ in
|
|||||||
buildInputs = [ rainbow_rake ];
|
buildInputs = [ rainbow_rake ];
|
||||||
};
|
};
|
||||||
|
|
||||||
rbnacl = spec: {
|
rbnacl = spec:
|
||||||
postInstall = ''
|
if lib.versionOlder spec.version "6.0.0" then {
|
||||||
sed -i $(cat $out/nix-support/gem-meta/install-path)/lib/rbnacl.rb -e "2a \
|
postInstall = ''
|
||||||
RBNACL_LIBSODIUM_GEM_LIB_PATH = '${libsodium.out}/lib/libsodium${stdenv.hostPlatform.extensions.sharedLibrary}'
|
sed -i $(cat $out/nix-support/gem-meta/install-path)/lib/rbnacl.rb -e "2a \
|
||||||
"
|
RBNACL_LIBSODIUM_GEM_LIB_PATH = '${libsodium.out}/lib/libsodium${stdenv.hostPlatform.extensions.sharedLibrary}'
|
||||||
'';
|
"
|
||||||
};
|
'';
|
||||||
|
} else {
|
||||||
|
buildInputs = [ libsodium ];
|
||||||
|
};
|
||||||
|
|
||||||
re2 = attrs: {
|
re2 = attrs: {
|
||||||
buildInputs = [ re2 ];
|
buildInputs = [ re2 ];
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ammonite-${version}";
|
name = "ammonite-${version}";
|
||||||
version = "1.6.0";
|
version = "1.6.2";
|
||||||
scalaVersion = "2.12";
|
scalaVersion = "2.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
|
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
|
||||||
sha256 = "17c6ps5i48hcjj7r6xw8mrqhy4cs7qsa787l36f30757hi1cx4qy";
|
sha256 = "0am21zrnl48d397ll4pfsrgk079jb7x8z9kpfm6fz9hznrbl12hl";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ jre ] ;
|
propagatedBuildInputs = [ jre ] ;
|
||||||
|
@ -4,8 +4,8 @@ buildRubyGem rec {
|
|||||||
inherit ruby;
|
inherit ruby;
|
||||||
name = "${gemName}-${version}";
|
name = "${gemName}-${version}";
|
||||||
gemName = "brakeman";
|
gemName = "brakeman";
|
||||||
version = "4.3.1";
|
version = "4.4.0";
|
||||||
source.sha256 = "1y4i4vw7hawypvgg04s544fqx52ml67h9zxsaqm8w5hvxmb20wkh";
|
source.sha256 = "1fg37qknz1f10v4fgbn1s98gks0iimsgs1c8xra2jy16kpz4q86k";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Static analysis security scanner for Ruby on Rails";
|
description = "Static analysis security scanner for Ruby on Rails";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
baseName = "bloop";
|
baseName = "bloop";
|
||||||
version = "1.2.1";
|
version = "1.2.3";
|
||||||
deps = stdenv.mkDerivation {
|
deps = stdenv.mkDerivation {
|
||||||
name = "${baseName}-deps-${version}";
|
name = "${baseName}-deps-${version}";
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
@ -16,14 +16,14 @@ let
|
|||||||
'';
|
'';
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHash = "1hr9d9fzp1vd60iqxbn316vzgayhsx9cffl1jclmdycqv0yzgfx3";
|
outputHash = "0d0q4rzz21afzfclm3sjp940wk7p8cllbxsidr6rg3r1qqhzawlr";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "${baseName}-${version}";
|
name = "${baseName}-${version}";
|
||||||
|
|
||||||
# Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
|
# Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
|
||||||
nailgunCommit = "933f482b";
|
nailgunCommit = "0c325237";
|
||||||
|
|
||||||
buildInputs = [ jdk makeWrapper deps ];
|
buildInputs = [ jdk makeWrapper deps ];
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "flatpak-builder-${version}";
|
name = "flatpak-builder-${version}";
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz";
|
url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz";
|
||||||
sha256 = "01p3j8ndk9bimnqibw3dyny0ysv6nw2f7z5im19s9jlhlzdqb48w";
|
sha256 = "0z5aaw9zvgp26szbysa3059gqsivq5ah8b6l29mqxx6ryp1nhrc1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-data.tar.xz";
|
url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-data.tar.xz";
|
||||||
sha256 = "1b6qcvd8yyyxavgdwpcs7asmln3xgnvjkglz6ggvwb956x37ggzx";
|
sha256 = "04x7729hk6zw1xj3n4s4lvaviijsnbjf5rhzvjxlr5fygvg4l6z1";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -10,11 +10,11 @@ assert withEditor -> wxGTK != null;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "0ad-${version}";
|
name = "0ad-${version}";
|
||||||
version = "0.0.23";
|
version = "0.0.23b";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-build.tar.xz";
|
url = "http://releases.wildfiregames.com/0ad-${version}-alpha-unix-build.tar.xz";
|
||||||
sha256 = "0qz1sg4n5y766qwgi63drrrx6k17kk0rcnn9a4a9crllk2vf78fg";
|
sha256 = "0draa53xg69i5qhqym85658m45xhwkbiimaldj4sr3703rjgggq1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ python2 perl pkgconfig ];
|
nativeBuildInputs = [ python2 perl pkgconfig ];
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "android-udev-rules-${version}";
|
name = "android-udev-rules-${version}";
|
||||||
version = "20181031";
|
version = "20190114";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "M0Rf30";
|
owner = "M0Rf30";
|
||||||
repo = "android-udev-rules";
|
repo = "android-udev-rules";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "175js0vimv6b92cxl0sc4ihdj1k8yq3jrpbjy0zsvrm2367z7xqp";
|
sha256 = "1x3vaq8jpnfhxc2lzz5jnlz219w66sn151v5fkdgv68pya4nzhjj";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{stdenv, fetchurl, zlib, ncurses}:
|
{stdenv, fetchurl, zlib, ncurses}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.3.0";
|
version = "2.4.0";
|
||||||
name = "atop-${version}";
|
name = "atop-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.atoptool.nl/download/atop-${version}.tar.gz";
|
url = "https://www.atoptool.nl/download/atop-${version}.tar.gz";
|
||||||
sha256 = "0r5j9q89wpylmg0px5xymxi3jpihw9wq8bh37g3ciymsw1fp5r3k";
|
sha256 = "0s9xlxlzz688a80zxld840zkrmzw998rdkkg6yc7ssq8fw50275y";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [zlib ncurses];
|
buildInputs = [zlib ncurses];
|
||||||
|
@ -106,5 +106,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
priority = 10;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -22,14 +22,10 @@ rec {
|
|||||||
beta = stable;
|
beta = stable;
|
||||||
|
|
||||||
stable_415 = generic {
|
stable_415 = generic {
|
||||||
version = "415.25";
|
version = "415.27";
|
||||||
sha256_64bit = "0jck3sjhkdf9j40fqa6hpm2m9i11bfka9diaxmk2apni4f4mpdk4";
|
sha256_64bit = "12ylf1h1wpgkd0g7r30c33hhhialn315k5sbxyzks0rm42k7cay8";
|
||||||
settingsSha256 = "0x5a9dhr29g67rbgl1w973fzgjfg1lyn3dpq7fpc7chfp91vxzrp";
|
settingsSha256 = "0m8hfxb6fhanqlkkk4ayn1blgdsvnn0ipxdl19ifdl200ln6j053";
|
||||||
persistencedSha256 = "0z1d7hrz7zvi4x3ir1c3gcfpsj57wdr5pylvmjhdi3x47cb1w34f";
|
persistencedSha256 = "0i6ik6xv6rnwcd6vg5xrxcd9g7nzca3vkiy2srbv0simw86nwgdz";
|
||||||
|
|
||||||
patches = lib.optional (kernel.meta.branch == "4.20") [
|
|
||||||
./atomic64_t.patch
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Last one supporting x86
|
# Last one supporting x86
|
||||||
|
@ -158,7 +158,7 @@ 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 = "4.19";
|
incompatibleKernelVersion = "4.20";
|
||||||
|
|
||||||
# this package should point to the latest release.
|
# this package should point to the latest release.
|
||||||
version = "0.7.12";
|
version = "0.7.12";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }:
|
{ stdenv, fetchurl, libcap, openssl, pam }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "vsftpd-3.0.3";
|
name = "vsftpd-3.0.3";
|
||||||
@ -8,44 +8,29 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx";
|
sha256 = "1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildInputs = [ libcap openssl pam ];
|
||||||
|
|
||||||
patches = [ ./CVE-2015-1419.patch ];
|
patches = [ ./CVE-2015-1419.patch ];
|
||||||
|
|
||||||
preConfigure = stdenv.lib.optionalString sslEnable ''
|
postPatch = ''
|
||||||
echo "Will enable SSL"
|
|
||||||
sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
|
sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
|
||||||
|
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace -dirafter "" \
|
||||||
|
--replace /usr $out \
|
||||||
|
--replace /etc $out/etc
|
||||||
|
|
||||||
|
mkdir -p $out/sbin $out/man/man{5,8}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# The gcc-wrappers use -idirafter for glibc, and vsftpd also, and
|
NIX_LDFLAGS = "-lcrypt -lssl -lcrypto -lpam -lcap";
|
||||||
# their dummyinc come before those of glibc, then the build works bad.
|
|
||||||
prePatch = ''
|
|
||||||
sed -i -e 's/-idirafter.*//' Makefile
|
|
||||||
'';
|
|
||||||
|
|
||||||
preBuild =
|
enableParallelBuilding = true;
|
||||||
let
|
|
||||||
sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto" else "";
|
|
||||||
in ''
|
|
||||||
makeFlagsArray=( "LIBS=${sslLibs} -lpam -lcap -fstack-protector" )
|
|
||||||
'';
|
|
||||||
|
|
||||||
# It won't link without this flag, used in CFLAGS
|
meta = with stdenv.lib; {
|
||||||
|
description = "A very secure FTP daemon";
|
||||||
buildInputs = [ openssl libcap pam ];
|
license = licenses.gpl2;
|
||||||
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
installPhase = ''
|
platforms = platforms.linux;
|
||||||
mkdir -pv $out/sbin
|
|
||||||
install -v -m 755 vsftpd $out/sbin/vsftpd
|
|
||||||
|
|
||||||
mkdir -pv $out/share/man/man{5,8}
|
|
||||||
install -v -m 644 vsftpd.8 $out/share/man/man8/vsftpd.8
|
|
||||||
install -v -m 644 vsftpd.conf.5 $out/share/man/man5/vsftpd.conf.5
|
|
||||||
|
|
||||||
mkdir -pv $out/etc/xinetd.d
|
|
||||||
install -v -m 644 xinetd.d/vsftpd $out/etc/xinetd.d/vsftpd
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
license = stdenv.lib.licenses.gpl2;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
119
pkgs/servers/home-assistant/dont-import-platformio-esptool.patch
Normal file
119
pkgs/servers/home-assistant/dont-import-platformio-esptool.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
diff --git a/esphomeyaml/__main__.py b/esphomeyaml/__main__.py
|
||||||
|
index 26f42c1..529d2e0 100644
|
||||||
|
--- a/esphomeyaml/__main__.py
|
||||||
|
+++ b/esphomeyaml/__main__.py
|
||||||
|
@@ -167,13 +167,10 @@ def compile_program(args, config):
|
||||||
|
|
||||||
|
|
||||||
|
def upload_using_esptool(config, port):
|
||||||
|
- import esptool
|
||||||
|
-
|
||||||
|
path = os.path.join(CORE.build_path, '.pioenvs', CORE.name, 'firmware.bin')
|
||||||
|
- cmd = ['esptool.py', '--before', 'default_reset', '--after', 'hard_reset',
|
||||||
|
+ cmd = ['@esptool@/bin/esptool.py', '--before', 'default_reset', '--after', 'hard_reset',
|
||||||
|
'--chip', 'esp8266', '--port', port, 'write_flash', '0x0', path]
|
||||||
|
- # pylint: disable=protected-access
|
||||||
|
- return run_external_command(esptool._main, *cmd)
|
||||||
|
+ return run_external_command(*cmd)
|
||||||
|
|
||||||
|
|
||||||
|
def upload_program(config, args, host):
|
||||||
|
diff --git a/esphomeyaml/platformio_api.py b/esphomeyaml/platformio_api.py
|
||||||
|
index df29491..f991701 100644
|
||||||
|
--- a/esphomeyaml/platformio_api.py
|
||||||
|
+++ b/esphomeyaml/platformio_api.py
|
||||||
|
@@ -13,12 +13,9 @@ _LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def run_platformio_cli(*args, **kwargs):
|
||||||
|
- import platformio.__main__
|
||||||
|
-
|
||||||
|
os.environ["PLATFORMIO_FORCE_COLOR"] = "true"
|
||||||
|
- cmd = ['platformio'] + list(args)
|
||||||
|
- return run_external_command(platformio.__main__.main,
|
||||||
|
- *cmd, **kwargs)
|
||||||
|
+ cmd = ['@platformio@/bin/platformio'] + list(args)
|
||||||
|
+ return run_external_command(*cmd, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def run_platformio_cli_run(config, verbose, *args, **kwargs):
|
||||||
|
diff --git a/esphomeyaml/util.py b/esphomeyaml/util.py
|
||||||
|
index eebb4b7..9e9e58f 100644
|
||||||
|
--- a/esphomeyaml/util.py
|
||||||
|
+++ b/esphomeyaml/util.py
|
||||||
|
@@ -4,6 +4,7 @@ import io
|
||||||
|
import logging
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
+import subprocess
|
||||||
|
|
||||||
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@@ -79,42 +80,25 @@ class RedirectText(object):
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
-def run_external_command(func, *cmd, **kwargs):
|
||||||
|
- def mock_exit(return_code):
|
||||||
|
- raise SystemExit(return_code)
|
||||||
|
-
|
||||||
|
- orig_argv = sys.argv
|
||||||
|
- orig_exit = sys.exit # mock sys.exit
|
||||||
|
+def run_external_command(*cmd, **kwargs):
|
||||||
|
full_cmd = u' '.join(shlex_quote(x) for x in cmd)
|
||||||
|
_LOGGER.info(u"Running: %s", full_cmd)
|
||||||
|
|
||||||
|
- orig_stdout = sys.stdout
|
||||||
|
- sys.stdout = RedirectText(sys.stdout)
|
||||||
|
- orig_stderr = sys.stderr
|
||||||
|
- sys.stderr = RedirectText(sys.stderr)
|
||||||
|
-
|
||||||
|
capture_stdout = kwargs.get('capture_stdout', False)
|
||||||
|
if capture_stdout:
|
||||||
|
- cap_stdout = sys.stdout = io.BytesIO()
|
||||||
|
+ cap_stdout = io.BytesIO()
|
||||||
|
+ else:
|
||||||
|
+ cap_stdout = sys.stdout
|
||||||
|
|
||||||
|
try:
|
||||||
|
- sys.argv = list(cmd)
|
||||||
|
- sys.exit = mock_exit
|
||||||
|
- return func() or 0
|
||||||
|
- except KeyboardInterrupt:
|
||||||
|
- return 1
|
||||||
|
- except SystemExit as err:
|
||||||
|
- return err.args[0]
|
||||||
|
+ completed_process = subprocess.run(cmd,
|
||||||
|
+ stdout=RedirectText(cap_stdout),
|
||||||
|
+ stderr=RedirectText(sys.stderr))
|
||||||
|
+ return completed_process.returncode
|
||||||
|
except Exception as err: # pylint: disable=broad-except
|
||||||
|
_LOGGER.error(u"Running command failed: %s", err)
|
||||||
|
_LOGGER.error(u"Please try running %s locally.", full_cmd)
|
||||||
|
finally:
|
||||||
|
- sys.argv = orig_argv
|
||||||
|
- sys.exit = orig_exit
|
||||||
|
-
|
||||||
|
- sys.stdout = orig_stdout
|
||||||
|
- sys.stderr = orig_stderr
|
||||||
|
-
|
||||||
|
if capture_stdout:
|
||||||
|
# pylint: disable=lost-exception
|
||||||
|
return cap_stdout.getvalue()
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 78a5378..8ce80de 100755
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -23,12 +23,10 @@ DOWNLOAD_URL = '{}/archive/{}.zip'.format(GITHUB_URL, const.__version__)
|
||||||
|
|
||||||
|
REQUIRES = [
|
||||||
|
'voluptuous>=0.11.1',
|
||||||
|
- 'platformio>=3.5.3',
|
||||||
|
'pyyaml>=3.12',
|
||||||
|
'paho-mqtt>=1.3.1',
|
||||||
|
'colorlog>=3.1.2',
|
||||||
|
'tornado>=5.0.0',
|
||||||
|
- 'esptool>=2.3.1',
|
||||||
|
'typing>=3.0.0',
|
||||||
|
'protobuf>=3.4',
|
||||||
|
'tzlocal>=1.4',
|
43
pkgs/servers/home-assistant/esphome.nix
Normal file
43
pkgs/servers/home-assistant/esphome.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ lib, python3, fetchpatch, substituteAll, platformio, esptool }:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "esphomeyaml";
|
||||||
|
version = "1.10.1";
|
||||||
|
|
||||||
|
src = python3.pkgs.fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "426cd545b4e9505ce5b4f5c63d2d54cb038f93fe3ba9d4d56b6b6431b222485d";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./dont-import-platformio-esptool.patch;
|
||||||
|
inherit platformio esptool;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# typing is part of the standard library since Python 3.5
|
||||||
|
substituteInPlace setup.py --replace "'typing>=3.0.0'," ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
voluptuous pyyaml paho-mqtt colorlog
|
||||||
|
tornado protobuf tzlocal pyserial
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
$out/bin/esphomeyaml tests/test1.yaml compile
|
||||||
|
$out/bin/esphomeyaml tests/test2.yaml compile
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Platformio will try to access the network
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
|
||||||
|
homepage = https://esphomelib.com/esphomeyaml;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ dotlambda ];
|
||||||
|
};
|
||||||
|
}
|
13
pkgs/servers/zoneminder/default-to-http-1dot1.patch
Normal file
13
pkgs/servers/zoneminder/default-to-http-1dot1.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
|
||||||
|
index fa7b86079..c9d3c6f6c 100644
|
||||||
|
--- a/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
|
||||||
|
+++ b/scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
|
||||||
|
@@ -877,7 +877,7 @@ our @options = (
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name => 'ZM_HTTP_VERSION',
|
||||||
|
- default => '1.0',
|
||||||
|
+ default => '1.1',
|
||||||
|
description => 'The version of HTTP that ZoneMinder will use to connect',
|
||||||
|
help => q`
|
||||||
|
ZoneMinder can communicate with network cameras using either of
|
192
pkgs/servers/zoneminder/default.nix
Normal file
192
pkgs/servers/zoneminder/default.nix
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, fetchurl, cmake, makeWrapper, pkgconfig
|
||||||
|
, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, mysql, nettools, pcre, perl, perlPackages
|
||||||
|
, polkit, utillinuxMinimal, x264, zlib
|
||||||
|
, avahi, dbus, gettext, git, gnutar, gzip, bzip2, libiconv, openssl, python
|
||||||
|
, coreutils, procps, psmisc }:
|
||||||
|
|
||||||
|
# NOTES:
|
||||||
|
#
|
||||||
|
# 1. ZM_CONFIG_DIR is set to $out/etc/zoneminder as the .conf file distributed
|
||||||
|
# by upstream contains defaults and is not supposed to be edited so it is fine
|
||||||
|
# to keep it read-only.
|
||||||
|
#
|
||||||
|
# 2. ZM_CONFIG_SUBDIR is where we place our configuration from the NixOS module
|
||||||
|
# but as the installer will try to put files there, we patch Config.pm after the
|
||||||
|
# install.
|
||||||
|
#
|
||||||
|
# 3. ZoneMinder is run with -T passed to the perl interpreter which makes perl
|
||||||
|
# ignore PERL5LIB. We therefore have to do the substitution into -I parameters
|
||||||
|
# ourselves which results in ugly wrappers.
|
||||||
|
#
|
||||||
|
# 4. The makefile for the perl modules needs patching to put things into the
|
||||||
|
# right place. That also means we have to not run "make install" for them.
|
||||||
|
#
|
||||||
|
# 5. In principal the various ZM_xx variables should be overridable from the
|
||||||
|
# config file but some of them are baked into the perl scripts, so we *have* to
|
||||||
|
# set them here instead of in the configuration in the NixOS module.
|
||||||
|
#
|
||||||
|
# 6. I am no PolicyKit expert but the .policy file looks fishy:
|
||||||
|
# a. The user needs to be known at build-time so we should probably throw
|
||||||
|
# upstream's policy file away and generate it from the NixOS module
|
||||||
|
# b. I *think* we may have to substitute the store paths with
|
||||||
|
# /run/current-system/sw/bin paths for it to work.
|
||||||
|
#
|
||||||
|
# 7. we manually fix up the perl paths in the scripts as fixupPhase will only
|
||||||
|
# handle pkexec and not perl if both are present.
|
||||||
|
#
|
||||||
|
# 8. There are several perl modules needed at runtime which are not checked when
|
||||||
|
# building so if a new version stops working, check if there is a missing
|
||||||
|
# dependency by running the failing component manually.
|
||||||
|
#
|
||||||
|
# 9. Parts of the web UI has a hardcoded /zm path so we create a symlink to work
|
||||||
|
# around it.
|
||||||
|
|
||||||
|
let
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
path = "web/api/app/Plugin/Crud";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ZoneMinder";
|
||||||
|
repo = "crud";
|
||||||
|
rev = "3.1.0-zm";
|
||||||
|
sha256 = "061avzyml7mla4hlx057fm8a9yjh6m6qslgyzn74cv5p2y7f463l";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
path = "web/api/app/Plugin/CakePHP-Enum-Behavior";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ZoneMinder";
|
||||||
|
repo = "CakePHP-Enum-Behavior";
|
||||||
|
rev = "1.0-zm";
|
||||||
|
sha256 = "0zsi6s8xymb183kx3szspbrwfjqcgga7786zqvydy6hc8c909cgx";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
addons = [
|
||||||
|
{
|
||||||
|
path = "scripts/ZoneMinder/lib/ZoneMinder/Control/Xiaomi.pm";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://gist.githubusercontent.com/joshstrange/73a2f24dfaf5cd5b470024096ce2680f/raw/e964270c5cdbf95e5b7f214f7f0fc6113791530e/Xiaomi.pm";
|
||||||
|
sha256 = "04n1ap8fx66xfl9q9rypj48pzbgzikq0gisfsfm8wdsmflarz43v";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
user = "zoneminder";
|
||||||
|
dirName = "zoneminder";
|
||||||
|
perlBin = "${perl}/bin/perl";
|
||||||
|
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
name = "zoneminder-${version}";
|
||||||
|
version = "1.32.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ZoneMinder";
|
||||||
|
repo = "zoneminder";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1sx2fn99861zh0gp8g53ynr1q6yfmymxamn82y54jqj6nv475njz";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./default-to-http-1dot1.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
${lib.concatStringsSep "\n" (map (e: ''
|
||||||
|
rm -rf ${e.path}/*
|
||||||
|
cp -r ${e.src}/* ${e.path}/
|
||||||
|
'') modules)}
|
||||||
|
|
||||||
|
rm -rf web/api/lib/Cake/Test
|
||||||
|
|
||||||
|
${lib.concatStringsSep "\n" (map (e: ''
|
||||||
|
cp ${e.src} ${e.path}
|
||||||
|
'') addons)}
|
||||||
|
|
||||||
|
for d in scripts/ZoneMinder onvif/{modules,proxy} ; do
|
||||||
|
substituteInPlace $d/CMakeLists.txt \
|
||||||
|
--replace 'DESTDIR="''${CMAKE_CURRENT_BINARY_DIR}/output"' "PREFIX=$out INSTALLDIRS=site"
|
||||||
|
sed -i '/^install/d' $d/CMakeLists.txt
|
||||||
|
done
|
||||||
|
|
||||||
|
substituteInPlace misc/CMakeLists.txt \
|
||||||
|
--replace '"''${PC_POLKIT_PREFIX}/''${CMAKE_INSTALL_DATAROOTDIR}' "\"$out/share"
|
||||||
|
|
||||||
|
for f in misc/*.policy.in \
|
||||||
|
scripts/*.pl* \
|
||||||
|
scripts/ZoneMinder/lib/ZoneMinder/Memory.pm.in ; do
|
||||||
|
substituteInPlace $f \
|
||||||
|
--replace '/usr/bin/perl' '${perlBin}' \
|
||||||
|
--replace '/bin:/usr/bin' "$out/bin:${lib.makeBinPath [ coreutils procps psmisc ]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
substituteInPlace scripts/zmdbbackup.in \
|
||||||
|
--replace /usr/bin/mysqldump ${mysql}/bin/mysqldump
|
||||||
|
|
||||||
|
for f in scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in \
|
||||||
|
scripts/zmupdate.pl.in \
|
||||||
|
src/zm_config.h.in \
|
||||||
|
web/api/app/Config/bootstrap.php.in \
|
||||||
|
web/includes/config.php.in ; do
|
||||||
|
substituteInPlace $f --replace @ZM_CONFIG_SUBDIR@ /etc/zoneminder
|
||||||
|
done
|
||||||
|
|
||||||
|
for f in includes/Event.php views/image.php skins/classic/views/image-ffmpeg.php ; do
|
||||||
|
substituteInPlace web/$f \
|
||||||
|
--replace "'ffmpeg " "'${ffmpeg}/bin/ffmpeg "
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
curl ffmpeg glib libjpeg libselinux libsepol mp4v2 mysql pcre perl polkit x264 zlib
|
||||||
|
utillinuxMinimal # for libmount
|
||||||
|
] ++ (with perlPackages; [
|
||||||
|
DateManip DBI DBDmysql LWP SysMmap
|
||||||
|
# runtime dependencies not checked at build-time
|
||||||
|
JSONMaybeXS LWPProtocolHttps NumberBytesHuman SysCPU SysMemInfo TimeDate
|
||||||
|
]);
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DWITH_SYSTEMD=ON"
|
||||||
|
"-DZM_LOGDIR=/var/log/${dirName}"
|
||||||
|
"-DZM_RUNDIR=/run/${dirName}"
|
||||||
|
"-DZM_SOCKDIR=/run/${dirName}"
|
||||||
|
"-DZM_TMPDIR=/tmp/${dirName}"
|
||||||
|
"-DZM_CONFIG_DIR=${placeholder "out"}/etc/zoneminder"
|
||||||
|
"-DZM_WEB_USER=${user}"
|
||||||
|
"-DZM_WEB_GROUP=${user}"
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru = { inherit dirName; };
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$out/${perl.libPrefix}"
|
||||||
|
|
||||||
|
perlFlags="-wT"
|
||||||
|
for i in $(IFS=$'\n'; echo $PERL5LIB | tr ':' "\n" | sort -u); do
|
||||||
|
perlFlags="$perlFlags -I$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
for f in $out/bin/*.pl ; do
|
||||||
|
mv $f $out/libexec/
|
||||||
|
makeWrapper ${perlBin} $f \
|
||||||
|
--prefix PATH : $out/bin \
|
||||||
|
--add-flags "$perlFlags $out/libexec/$(basename $f)"
|
||||||
|
done
|
||||||
|
|
||||||
|
ln -s $out/share/zoneminder/www $out/share/zoneminder/www/zm
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Video surveillance software system";
|
||||||
|
homepage = https://zoneminder.com;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -1,18 +1,20 @@
|
|||||||
{ stdenv, fetchurl }:
|
{ lib, stdenv, fetchurl, autoPatchelfHook }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "0.16.7";
|
version = "0.16.11";
|
||||||
|
|
||||||
# switch the dropdown to “manual” on https://pulumi.io/quickstart/install.html # TODO: update script
|
# switch the dropdown to “manual” on https://pulumi.io/quickstart/install.html # TODO: update script
|
||||||
pulumiArchPackage = {
|
pulumiArchPackage = {
|
||||||
"x86_64-linux" = {
|
"x86_64-linux" = {
|
||||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-linux-x64.tar.gz";
|
url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-linux-x64.tar.gz";
|
||||||
sha256 = "1l1cn8pk05vl7vpmhny9rlz1hj0iqclqjj1r2q12qip7f4qkgsfw";
|
sha256 = "176nwqp1dd8vdpl4qajaq2w458f8pgavwvwd93lgnccqw3cznv75";
|
||||||
};
|
};
|
||||||
"x86_64-darwin" = {
|
"x86_64-darwin" = {
|
||||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-darwin-x64.tar.gz";
|
url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-darwin-x64.tar.gz";
|
||||||
sha256 = "0p07jvgy0xl524fgb5d9wijxa91isv4h4mcn9qghycqj90yqnjhx";
|
sha256 = "1mkz9bkkvpvbpzfnvwpx4892zd05bvjz5rbfwhwzm3wzfcjjs16i";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -27,7 +29,9 @@ in stdenv.mkDerivation rec {
|
|||||||
cp * $out/bin/
|
cp * $out/bin/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
buildInputs = optionals stdenv.isLinux [ autoPatchelfHook ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
homepage = https://pulumi.io/;
|
homepage = https://pulumi.io/;
|
||||||
description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
|
description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
|
||||||
license = with licenses; [ asl20 ];
|
license = with licenses; [ asl20 ];
|
||||||
|
@ -9,11 +9,11 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "blueman-${version}";
|
name = "blueman-${version}";
|
||||||
version = "2.0.7";
|
version = "2.0.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/blueman-project/blueman/releases/download/${version}/${name}.tar.xz";
|
url = "https://github.com/blueman-project/blueman/releases/download/${version}/${name}.tar.xz";
|
||||||
sha256 = "15q253081ahmb8k3yaqy99pc7ppbq3pxrx35bg4q9jmn6xv2kj63";
|
sha256 = "0kkh6jppqcn3yf70vnny1l015kxrz3dxw4g774gl02lh9ixx1bq4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -19,11 +19,11 @@ buildPythonPackage rec {
|
|||||||
# The websites youtube-dl deals with are a very moving target. That means that
|
# The websites youtube-dl deals with are a very moving target. That means that
|
||||||
# downloads break constantly. Because of that, updates should always be backported
|
# downloads break constantly. Because of that, updates should always be backported
|
||||||
# to the latest stable release.
|
# to the latest stable release.
|
||||||
version = "2019.01.16";
|
version = "2019.01.17";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1dhbr5n0l6dgjp1620jp30kaizrzagacrj64gd9pwy1916kjm7si";
|
sha256 = "0fxajwv81b0bjw9qlwmxd4r93yp5nnqll79vhic0vy72ii0093r7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
{ pythonPackages, fetchurl, lib,
|
{ python3Packages, fetchurl, lib,
|
||||||
yubikey-personalization, libu2f-host, libusb1 }:
|
yubikey-personalization, libu2f-host, libusb1 }:
|
||||||
|
|
||||||
pythonPackages.buildPythonPackage rec {
|
python3Packages.buildPythonPackage rec {
|
||||||
name = "yubikey-manager-1.0.1";
|
name = "yubikey-manager-2.0.0";
|
||||||
|
|
||||||
srcs = fetchurl {
|
srcs = fetchurl {
|
||||||
url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz";
|
url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz";
|
||||||
sha256 = "0i7w1f89hqlw7g800fjhbb6yvq9wjmj5d7w7p6v8bkyvk645v48z";
|
sha256 = "1x36pyg9g3by2pa11j6d73d79sdlb7qy98lwwn05f43fjm74qnz9";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs =
|
||||||
with pythonPackages;
|
with python3Packages; [
|
||||||
lib.optional (!pythonPackages.pythonAtLeast "3.4") enum34 ++ [
|
|
||||||
click
|
click
|
||||||
cryptography
|
cryptography
|
||||||
pyscard
|
pyscard
|
||||||
@ -44,6 +43,6 @@ pythonPackages.buildPythonPackage rec {
|
|||||||
|
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ benley ];
|
maintainers = with maintainers; [ benley mic92 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "clamav-${version}";
|
name = "clamav-${version}";
|
||||||
version = "0.101.0";
|
version = "0.101.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
|
url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
|
||||||
sha256 = "1ljs799xkd9ljj833rkwp961iaysqx4hrlyjrbkbvq64dgc5lapi";
|
sha256 = "01mq3z04fjbq5iq8wfwfim72iv3dn04d3ishc5lkhxpmnalqydps";
|
||||||
};
|
};
|
||||||
|
|
||||||
# don't install sample config files into the absolute sysconfdir folder
|
# don't install sample config files into the absolute sysconfdir folder
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user