Merge master into staging

This commit is contained in:
Frederik Rietdijk 2018-04-05 19:25:05 +02:00
commit a9f37d1c25
87 changed files with 1145 additions and 589 deletions

View File

@ -25,13 +25,6 @@ out/html/index.html: manual-full.xml style.css highlightjs
./manual-full.xml ./manual-full.xml
mkdir -p out/html/highlightjs/ mkdir -p out/html/highlightjs/
echo "document.onreadystatechange = function () { \
var listings = document.querySelectorAll('.programlisting, .screen'); \
for (i = 0; i < listings.length; ++i) { \
hljs.highlightBlock(listings[i]); \
} \
} " > out/html/highlightjs/loader.js
cp -r highlightjs out/html/ cp -r highlightjs out/html/
cp ./overrides.css out/html/ cp ./overrides.css out/html/
@ -63,6 +56,7 @@ highlightjs:
cp -r "$$HIGHLIGHTJS/highlight.pack.js" highlightjs/ cp -r "$$HIGHLIGHTJS/highlight.pack.js" highlightjs/
cp -r "$$HIGHLIGHTJS/LICENSE" highlightjs/ cp -r "$$HIGHLIGHTJS/LICENSE" highlightjs/
cp -r "$$HIGHLIGHTJS/mono-blue.css" highlightjs/ cp -r "$$HIGHLIGHTJS/mono-blue.css" highlightjs/
cp -r "$$HIGHLIGHTJS/loader.js" highlightjs/
manual-full.xml: ${MD_TARGETS} .version *.xml manual-full.xml: ${MD_TARGETS} .version *.xml

View File

@ -248,6 +248,23 @@ table
box-shadow: 0.4em 0.4em 0.5em #e0e0e0; box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
} }
table.simplelist
{
text-align: left;
color: #005aa0;
border: 0;
padding: 5px;
background: #fffff5;
font-weight: normal;
font-style: italic;
box-shadow: none;
margin-bottom: 1em;
}
div.navheader table, div.navfooter table {
box-shadow: none;
}
div.affiliation div.affiliation
{ {
font-style: italic; font-style: italic;

View File

@ -695,6 +695,11 @@
github = "carlsverre"; github = "carlsverre";
name = "Carl Sverre"; name = "Carl Sverre";
}; };
cartr = {
email = "carter.sande@duodecima.technology";
github = "cartr";
name = "Carter Sande";
};
casey = { casey = {
email = "casey@rodarmor.net"; email = "casey@rodarmor.net";
github = "casey"; github = "casey";

View File

@ -124,11 +124,12 @@ let
manualXsltprocOptions = toString [ manualXsltprocOptions = toString [
"--param section.autolabel 1" "--param section.autolabel 1"
"--param section.label.includes.component.label 1" "--param section.label.includes.component.label 1"
"--stringparam html.stylesheet style.css" "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
"--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
"--param xref.with.number.and.title 1" "--param xref.with.number.and.title 1"
"--param toc.section.depth 3" "--param toc.section.depth 3"
"--stringparam admon.style ''" "--stringparam admon.style ''"
"--stringparam callout.graphics.extension .gif" "--stringparam callout.graphics.extension .svg"
"--stringparam current.docid manual" "--stringparam current.docid manual"
"--param chunk.section.depth 0" "--param chunk.section.depth 0"
"--param chunk.first.sections 1" "--param chunk.first.sections 1"
@ -260,9 +261,11 @@ in rec {
${manual-combined}/manual-combined.xml ${manual-combined}/manual-combined.xml
mkdir -p $dst/images/callouts mkdir -p $dst/images/callouts
cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/ cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.svg $dst/images/callouts/
cp ${./style.css} $dst/style.css cp ${../../../doc/style.css} $dst/style.css
cp ${../../../doc/overrides.css} $dst/overrides.css
cp -r ${pkgs.documentation-highlighter} $dst/highlightjs
mkdir -p $out/nix-support mkdir -p $out/nix-support
echo "nix-build out $out" >> $out/nix-support/hydra-build-products echo "nix-build out $out" >> $out/nix-support/hydra-build-products
@ -286,7 +289,7 @@ in rec {
${manual-combined}/manual-combined.xml ${manual-combined}/manual-combined.xml
mkdir -p $dst/epub/OEBPS/images/callouts mkdir -p $dst/epub/OEBPS/images/callouts
cp -r ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/epub/OEBPS/images/callouts # */ cp -r ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.svg $dst/epub/OEBPS/images/callouts # */
echo "application/epub+zip" > mimetype echo "application/epub+zip" > mimetype
manual="$dst/nixos-manual.epub" manual="$dst/nixos-manual.epub"
zip -0Xq "$manual" mimetype zip -0Xq "$manual" mimetype

View File

@ -239,7 +239,7 @@ following incompatible changes:</para>
the <literal>openssh_with_kerberos</literal> package the <literal>openssh_with_kerberos</literal> package
is now a deprecated alias. is now a deprecated alias.
If you do not want Kerberos support, If you do not want Kerberos support,
you can do <literal>openssh.override { withKerboros = false; }</literal>. you can do <literal>openssh.override { withKerberos = false; }</literal>.
Note, this also applies to the <literal>openssh_hpn</literal> package. Note, this also applies to the <literal>openssh_hpn</literal> package.
</para> </para>
</listitem> </listitem>

View File

@ -1,267 +0,0 @@
/* Copied from http://bakefile.sourceforge.net/, which appears
licensed under the GNU GPL. */
/***************************************************************************
Basic headers and text:
***************************************************************************/
body
{
font-family: "Nimbus Sans L", sans-serif;
background: white;
margin: 2em 1em 2em 1em;
}
h1, h2, h3, h4
{
color: #005aa0;
}
h1 /* title */
{
font-size: 200%;
}
h2 /* chapters, appendices, subtitle */
{
font-size: 180%;
}
/* Extra space between chapters, appendices. */
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
{
margin-top: 1.5em;
}
div.section > div.titlepage h2 /* sections */
{
font-size: 150%;
margin-top: 1.5em;
}
h3 /* subsections */
{
font-size: 125%;
}
div.simplesect h2
{
font-size: 110%;
}
div.appendix h3
{
font-size: 150%;
margin-top: 1.5em;
}
div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */
{
margin-top: 1.4em;
font-size: 125%;
}
div.refsection h3
{
font-size: 110%;
}
/***************************************************************************
Examples:
***************************************************************************/
div.example
{
border: 1px solid #b0b0b0;
padding: 6px 6px;
margin-left: 1.5em;
margin-right: 1.5em;
background: #f4f4f8;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.example p.title
{
margin-top: 0em;
}
div.example pre
{
box-shadow: none;
}
/***************************************************************************
Screen dumps:
***************************************************************************/
pre.screen, pre.programlisting
{
border: 1px solid #b0b0b0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
color: #600000;
background: #f4f4f8;
font-family: monospace;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.example pre.programlisting
{
border: 0px;
padding: 0 0;
margin: 0 0 0 0;
}
/***************************************************************************
Notes, warnings etc:
***************************************************************************/
.note, .warning
{
border: 1px solid #b0b0b0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
margin-bottom: 1em;
padding: 0.3em 0.3em 0.3em 0.3em;
background: #fffff5;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
div.note, div.warning
{
font-style: italic;
}
div.note h3, div.warning h3
{
color: red;
font-size: 100%;
padding-right: 0.5em;
display: inline;
}
div.note p, div.warning p
{
margin-bottom: 0em;
}
div.note h3 + p, div.warning h3 + p
{
display: inline;
}
div.note h3
{
color: blue;
font-size: 100%;
}
div.navfooter *
{
font-size: 90%;
}
/***************************************************************************
Links colors and highlighting:
***************************************************************************/
a { text-decoration: none; }
a:hover { text-decoration: underline; }
a:link { color: #0048b3; }
a:visited { color: #002a6a; }
/***************************************************************************
Table of contents:
***************************************************************************/
div.toc
{
font-size: 90%;
}
div.toc dl
{
margin-top: 0em;
margin-bottom: 0em;
}
/***************************************************************************
Special elements:
***************************************************************************/
tt, code
{
color: #400000;
}
.term
{
font-weight: bold;
}
div.variablelist dd p, div.glosslist dd p
{
margin-top: 0em;
}
div.variablelist dd, div.glosslist dd
{
margin-left: 1.5em;
}
div.glosslist dt
{
font-style: italic;
}
.varname
{
color: #400000;
}
span.command strong
{
font-weight: normal;
color: #400000;
}
div.calloutlist table
{
box-shadow: none;
}
table
{
border-collapse: collapse;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
}
table.simplelist
{
text-align: left;
color: #005aa0;
border: 0;
padding: 5px;
background: #fffff5;
font-weight: normal;
font-style: italic;
box-shadow: none;
margin-bottom: 1em;
}
div.navheader table, div.navfooter table {
box-shadow: none;
}

View File

@ -17,23 +17,23 @@ let
resolved = canLoadExternalModules && config.services.resolved.enable; resolved = canLoadExternalModules && config.services.resolved.enable;
hostArray = [ "files" ] hostArray = [ "files" ]
++ optionals mymachines [ "mymachines" ] ++ optional mymachines "mymachines"
++ optionals nssmdns [ "mdns_minimal [NOTFOUND=return]" ] ++ optional nssmdns "mdns_minimal [NOTFOUND=return]"
++ optionals nsswins [ "wins" ] ++ optional nsswins "wins"
++ optionals resolved ["resolve [!UNAVAIL=return]"] ++ optional resolved "resolve [!UNAVAIL=return]"
++ [ "dns" ] ++ [ "dns" ]
++ optionals nssmdns [ "mdns" ] ++ optional nssmdns "mdns"
++ optionals myhostname ["myhostname" ]; ++ optional myhostname "myhostname";
passwdArray = [ "files" ] passwdArray = [ "files" ]
++ optional sssd "sss" ++ optional sssd "sss"
++ optionals ldap [ "ldap" ] ++ optional ldap "ldap"
++ optionals mymachines [ "mymachines" ] ++ optional mymachines "mymachines"
++ [ "systemd" ]; ++ [ "systemd" ];
shadowArray = [ "files" ] shadowArray = [ "files" ]
++ optional sssd "sss" ++ optional sssd "sss"
++ optionals ldap [ "ldap" ]; ++ optional ldap "ldap";
servicesArray = [ "files" ] servicesArray = [ "files" ]
++ optional sssd "sss"; ++ optional sssd "sss";

View File

@ -109,7 +109,6 @@ in
"/sbin" "/sbin"
"/share/applications" "/share/applications"
"/share/desktop-directories" "/share/desktop-directories"
"/share/doc"
"/share/emacs" "/share/emacs"
"/share/icons" "/share/icons"
"/share/menus" "/share/menus"

View File

@ -504,9 +504,6 @@ in {
}; };
}; };
# Install all the user shells
environment.systemPackages = systemShells;
users.groups = { users.groups = {
root.gid = ids.gids.root; root.gid = ids.gids.root;
wheel.gid = ids.gids.wheel; wheel.gid = ids.gids.wheel;
@ -543,14 +540,29 @@ in {
# for backwards compatibility # for backwards compatibility
system.activationScripts.groups = stringAfter [ "users" ] ""; system.activationScripts.groups = stringAfter [ "users" ] "";
environment.etc."subuid" = { # Install all the user shells
environment.systemPackages = systemShells;
environment.etc = {
"subuid" = {
text = subuidFile; text = subuidFile;
mode = "0644"; mode = "0644";
}; };
environment.etc."subgid" = { "subgid" = {
text = subgidFile; text = subgidFile;
mode = "0644"; mode = "0644";
}; };
} // (mapAttrs' (name: { packages, ... }: {
name = "profiles/per-user/${name}";
value.source = pkgs.buildEnv {
name = "user-environment";
paths = packages;
inherit (config.environment) pathsToLink extraOutputsToInstall;
inherit (config.system.path) ignoreCollisions postBuild;
};
}) (filterAttrs (_: u: u.packages != []) cfg.users));
environment.profiles = [ "/etc/profiles/per-user/$USER" ];
assertions = [ assertions = [
{ assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique);
@ -581,22 +593,4 @@ in {
}; };
imports =
[ (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
(mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
{
environment = {
etc = mapAttrs' (name: { packages, ... }: {
name = "profiles/per-user/${name}";
value.source = pkgs.buildEnv {
name = "user-environment";
paths = packages;
inherit (config.environment) pathsToLink extraOutputsToInstall;
inherit (config.system.path) ignoreCollisions postBuild;
};
}) (filterAttrs (_: { packages, ... }: packages != []) cfg.users);
profiles = ["/etc/profiles/per-user/$USER"];
};
}
];
} }

View File

@ -0,0 +1,77 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.documentation; in
{
options = {
documentation = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install documentation of packages from
<option>environment.systemPackages</option> into the generated system path.
'';
};
man.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install manual pages and the <command>man</command> command.
This also includes "man" outputs.
'';
};
doc.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
Usually plain text and/or HTML.
This also includes "doc" outputs.
'';
};
info.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install info pages and the <command>info</command> command.
This also includes "info" outputs.
'';
};
};
};
config = mkIf cfg.enable (mkMerge [
(mkIf cfg.man.enable {
environment.systemPackages = [ pkgs.man-db ];
environment.pathsToLink = [ "/share/man" ];
environment.extraOutputsToInstall = [ "man" ];
})
(mkIf cfg.doc.enable {
# TODO(@oxij): put it here and remove from profiles?
# environment.systemPackages = [ pkgs.w3m ]; # w3m-nox?
environment.pathsToLink = [ "/share/doc" ];
environment.extraOutputsToInstall = [ "doc" ];
})
(mkIf cfg.info.enable {
environment.systemPackages = [ pkgs.texinfoInteractive ];
environment.pathsToLink = [ "/share/info" ];
environment.extraOutputsToInstall = [ "info" ];
})
]);
}

View File

@ -58,6 +58,7 @@
./installer/tools/tools.nix ./installer/tools/tools.nix
./misc/assertions.nix ./misc/assertions.nix
./misc/crashdump.nix ./misc/crashdump.nix
./misc/documentation.nix
./misc/extra-arguments.nix ./misc/extra-arguments.nix
./misc/ids.nix ./misc/ids.nix
./misc/lib.nix ./misc/lib.nix
@ -85,12 +86,10 @@
./programs/freetds.nix ./programs/freetds.nix
./programs/gnupg.nix ./programs/gnupg.nix
./programs/gphoto2.nix ./programs/gphoto2.nix
./programs/info.nix
./programs/java.nix ./programs/java.nix
./programs/kbdlight.nix ./programs/kbdlight.nix
./programs/less.nix ./programs/less.nix
./programs/light.nix ./programs/light.nix
./programs/man.nix
./programs/mosh.nix ./programs/mosh.nix
./programs/mtr.nix ./programs/mtr.nix
./programs/nano.nix ./programs/nano.nix

View File

@ -10,10 +10,9 @@ with lib;
# This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale # This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale
i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ]; i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
services.nixosManual.enable = mkDefault false;
programs.man.enable = mkDefault false; documentation.enable = mkDefault false;
programs.info.enable = mkDefault false; services.nixosManual.enable = mkDefault false;
sound.enable = mkDefault false; sound.enable = mkDefault false;
} }

View File

@ -1,30 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
{
options = {
programs.info.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable info pages and the <command>info</command> command.
'';
};
};
config = mkIf config.programs.info.enable {
environment.systemPackages = [ pkgs.texinfoInteractive ];
environment.pathsToLink = [ "/info" "/share/info" ];
environment.extraOutputsToInstall = [ "info" ];
};
}

View File

@ -1,31 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
{
options = {
programs.man.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable manual pages and the <command>man</command> command.
This also includes "man" outputs of all <literal>systemPackages</literal>.
'';
};
};
config = mkIf config.programs.man.enable {
environment.systemPackages = [ pkgs.man-db ];
environment.pathsToLink = [ "/share/man" ];
environment.extraOutputsToInstall = [ "man" ];
};
}

View File

@ -4,6 +4,7 @@ with lib;
{ {
imports = [ imports = [
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ]) (mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ]) (mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
(mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ]) (mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ])
@ -203,6 +204,10 @@ with lib;
(mkRenamedOptionModule [ "config" "system" "nixosCodeName" ] [ "config" "system" "nixos" "codeName" ]) (mkRenamedOptionModule [ "config" "system" "nixosCodeName" ] [ "config" "system" "nixos" "codeName" ])
(mkRenamedOptionModule [ "config" "system" "nixosLabel" ] [ "config" "system" "nixos" "label" ]) (mkRenamedOptionModule [ "config" "system" "nixosLabel" ] [ "config" "system" "nixos" "label" ])
# Users
(mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
(mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
# Options that are obsolete and have no replacement. # Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "") (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "") (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
@ -240,6 +245,10 @@ with lib;
# Xen # Xen
(mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ]) (mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
(mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
(mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ])
] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter" ] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
"jsonExporter" "minioExporter" "nginxExporter" "nodeExporter" "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
"snmpExporter" "unifiExporter" "varnishExporter" ] "snmpExporter" "unifiExporter" "varnishExporter" ]

View File

@ -766,7 +766,7 @@ in {
rm /opt/cni/bin/* || true rm /opt/cni/bin/* || true
${concatMapStrings (package: '' ${concatMapStrings (package: ''
echo "Linking cni package: ${package}" echo "Linking cni package: ${package}"
ln -fs ${package.plugins}/* /opt/cni/bin ln -fs ${package}/bin/* /opt/cni/bin
'') cfg.kubelet.cni.packages} '') cfg.kubelet.cni.packages}
''; '';
serviceConfig = { serviceConfig = {
@ -828,7 +828,7 @@ in {
}; };
# Allways include cni plugins # Allways include cni plugins
services.kubernetes.kubelet.cni.packages = [pkgs.cni]; services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins];
boot.kernelModules = ["br_netfilter"]; boot.kernelModules = ["br_netfilter"];

View File

@ -57,7 +57,7 @@ in
###### implementation ###### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
dysnomia.enable = true; services.dysnomia.enable = true;
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService; environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;

View File

@ -3,7 +3,7 @@
with lib; with lib;
let let
cfg = config.dysnomia; cfg = config.services.dysnomia;
printProperties = properties: printProperties = properties:
concatMapStrings (propertyName: concatMapStrings (propertyName:
@ -72,7 +72,7 @@ let
in in
{ {
options = { options = {
dysnomia = { services.dysnomia = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
@ -145,7 +145,7 @@ in
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];
dysnomia.package = pkgs.dysnomia.override (origArgs: { services.dysnomia.package = pkgs.dysnomia.override (origArgs: {
enableApacheWebApplication = config.services.httpd.enable; enableApacheWebApplication = config.services.httpd.enable;
enableAxis2WebService = config.services.tomcat.axis2.enable; enableAxis2WebService = config.services.tomcat.axis2.enable;
enableEjabberdDump = config.services.ejabberd.enable; enableEjabberdDump = config.services.ejabberd.enable;
@ -156,7 +156,7 @@ in
enableMongoDatabase = config.services.mongodb.enable; enableMongoDatabase = config.services.mongodb.enable;
}); });
dysnomia.properties = { services.dysnomia.properties = {
hostname = config.networking.hostName; hostname = config.networking.hostName;
system = if config.nixpkgs.system == "" then builtins.currentSystem else config.nixpkgs.system; system = if config.nixpkgs.system == "" then builtins.currentSystem else config.nixpkgs.system;
@ -174,7 +174,7 @@ in
}}"); }}");
}; };
dysnomia.containers = lib.recursiveUpdate ({ services.dysnomia.containers = lib.recursiveUpdate ({
process = {}; process = {};
wrapper = {}; wrapper = {};
} }

View File

@ -112,10 +112,10 @@ in
system.build.manual = manual; system.build.manual = manual;
environment.systemPackages = environment.systemPackages = []
[ manual.manual helpScript ] ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]
++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons] ++ optional config.documentation.man.enable manual.manpages
++ optional config.programs.man.enable manual.manpages; ++ optionals config.documentation.doc.enable [ manual.manual helpScript ];
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"]; boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];

View File

@ -44,9 +44,9 @@ in
path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ]; path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ];
preStart = '' preStart = ''
mkdir -p /var/run/tcpcryptd mkdir -p /run/tcpcryptd
chown tcpcryptd /var/run/tcpcryptd chown tcpcryptd /run/tcpcryptd
sysctl -n net.ipv4.tcp_ecn >/run/pre-tcpcrypt-ecn-state sysctl -n net.ipv4.tcp_ecn > /run/tcpcryptd/pre-tcpcrypt-ecn-state
sysctl -w net.ipv4.tcp_ecn=0 sysctl -w net.ipv4.tcp_ecn=0
iptables -t raw -N nixos-tcpcrypt iptables -t raw -N nixos-tcpcrypt
@ -61,8 +61,8 @@ in
script = "tcpcryptd -x 0x10"; script = "tcpcryptd -x 0x10";
postStop = '' postStop = ''
if [ -f /run/pre-tcpcrypt-ecn-state ]; then if [ -f /run/tcpcryptd/pre-tcpcrypt-ecn-state ]; then
sysctl -w net.ipv4.tcp_ecn=$(cat /run/pre-tcpcrypt-ecn-state) sysctl -w net.ipv4.tcp_ecn=$(cat /run/tcpcryptd/pre-tcpcrypt-ecn-state)
fi fi
iptables -t mangle -D POSTROUTING -j nixos-tcpcrypt || true iptables -t mangle -D POSTROUTING -j nixos-tcpcrypt || true

View File

@ -68,8 +68,7 @@ let
(hasAttr dev cfg.macvlans) || (hasAttr dev cfg.macvlans) ||
(hasAttr dev cfg.sits) || (hasAttr dev cfg.sits) ||
(hasAttr dev cfg.vlans) || (hasAttr dev cfg.vlans) ||
(hasAttr dev cfg.vswitches) || (hasAttr dev cfg.vswitches)
(hasAttr dev cfg.wlanInterfaces)
then [ "${dev}-netdev.service" ] then [ "${dev}-netdev.service" ]
else optional (dev != null && dev != "lo" && !config.boot.isContainer) (subsystemDevice dev); else optional (dev != null && dev != "lo" && !config.boot.isContainer) (subsystemDevice dev);

View File

@ -240,5 +240,22 @@ let self = {
"17.09".sa-east-1.hvm-ebs = "ami-4762202b"; "17.09".sa-east-1.hvm-ebs = "ami-4762202b";
"17.09".ap-south-1.hvm-ebs = "ami-4e376021"; "17.09".ap-south-1.hvm-ebs = "ami-4e376021";
latest = self."17.09"; # 18.03.131792.becbe4dbe16
"18.03".eu-west-1.hvm-ebs = "ami-cda4fab4";
"18.03".eu-west-2.hvm-ebs = "ami-d96786be";
"18.03".eu-west-3.hvm-ebs = "ami-6b0cba16";
"18.03".eu-central-1.hvm-ebs = "ami-5e2b75b5";
"18.03".us-east-1.hvm-ebs = "ami-d464cba9";
"18.03".us-east-2.hvm-ebs = "ami-fd221298";
"18.03".us-west-1.hvm-ebs = "ami-ff0d1d9f";
"18.03".us-west-2.hvm-ebs = "ami-c05c3bb8";
"18.03".ca-central-1.hvm-ebs = "ami-cc72f4a8";
"18.03".ap-southeast-1.hvm-ebs = "ami-b61633ca";
"18.03".ap-southeast-2.hvm-ebs = "ami-530fc131";
"18.03".ap-northeast-1.hvm-ebs = "ami-90d6c0ec";
"18.03".ap-northeast-2.hvm-ebs = "ami-a1248bcf";
"18.03".sa-east-1.hvm-ebs = "ami-b090c6dc";
"18.03".ap-south-1.hvm-ebs = "ami-32c9ec5d";
latest = self."18.03";
}; in self }; in self

View File

@ -2,7 +2,7 @@
with lib; with lib;
let let
diskSize = 1024; # MB diskSize = 1536; # MB
gce = pkgs.google-compute-engine; gce = pkgs.google-compute-engine;
in in
{ {

View File

@ -311,7 +311,10 @@ in rec {
tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {}; tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
tests.kernel-latest = callTest tests/kernel-latest.nix {}; tests.kernel-latest = callTest tests/kernel-latest.nix {};
tests.kernel-lts = callTest tests/kernel-lts.nix {}; tests.kernel-lts = callTest tests/kernel-lts.nix {};
tests.kubernetes = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/default.nix {}; tests.kubernetes.dns = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/dns.nix {};
## kubernetes.e2e should eventually replace kubernetes.rbac when it works
#tests.kubernetes.e2e = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/e2e.nix {};
tests.kubernetes.rbac = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/kubernetes/rbac.nix {};
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
tests.ldap = callTest tests/ldap.nix {}; tests.ldap = callTest tests/ldap.nix {};
#tests.lightdm = callTest tests/lightdm.nix {}; #tests.lightdm = callTest tests/lightdm.nix {};

View File

@ -7,28 +7,61 @@
}: }:
let let
runWithCFSSL = name: cmd: runWithCFSSL = name: cmd:
builtins.fromJSON (builtins.readFile ( let secrets = pkgs.runCommand "${name}-cfss.json" {
pkgs.runCommand "${name}-cfss.json" { buildInputs = [ pkgs.cfssl pkgs.jq ];
buildInputs = [ pkgs.cfssl ]; outputs = [ "out" "cert" "key" "csr" ];
} "cfssl ${cmd} > $out" }
)); ''
(
echo "${cmd}"
cfssl ${cmd} > tmp
cat tmp | jq -r .key > $key
cat tmp | jq -r .cert > $cert
cat tmp | jq -r .csr > $csr
touch $out
) 2>&1 | fold -w 80 -s
'';
in {
key = secrets.key;
cert = secrets.cert;
csr = secrets.csr;
};
writeCFSSL = content: writeCFSSL = content:
pkgs.runCommand content.name { pkgs.runCommand content.name {
buildInputs = [ pkgs.cfssl ]; buildInputs = [ pkgs.cfssl pkgs.jq ];
} '' } ''
mkdir -p $out mkdir -p $out
cd $out cd $out
cat ${writeFile content} | cfssljson -bare ${content.name}
json=${pkgs.lib.escapeShellArg (builtins.toJSON content)}
# for a given $field in the $json, treat the associated value as a
# file path and substitute the contents thereof into the $json
# object.
expandFileField() {
local field=$1
if jq -e --arg field "$field" 'has($field)'; then
local path="$(echo "$json" | jq -r ".$field")"
json="$(echo "$json" | jq --arg val "$(cat "$path")" ".$field = \$val")"
fi
}
expandFileField key
expandFileField ca
expandFileField cert
echo "$json" | cfssljson -bare ${content.name}
''; '';
noCSR = content: pkgs.lib.filterAttrs (n: v: n != "csr") content; noCSR = content: pkgs.lib.filterAttrs (n: v: n != "csr") content;
noKey = content: pkgs.lib.filterAttrs (n: v: n != "key") content; noKey = content: pkgs.lib.filterAttrs (n: v: n != "key") content;
writeFile = content: pkgs.writeText "content" ( writeFile = content:
if pkgs.lib.isAttrs content then builtins.toJSON content if pkgs.lib.isDerivation content
else toString content then content
); else pkgs.writeText "content" (builtins.toJSON content);
createServingCertKey = { ca, cn, hosts? [], size ? 2048, name ? cn }: createServingCertKey = { ca, cn, hosts? [], size ? 2048, name ? cn }:
noCSR ( noCSR (

View File

@ -2,7 +2,7 @@
with import ./base.nix { inherit system; }; with import ./base.nix { inherit system; };
let let
domain = "my.zyx"; domain = "my.zyx";
certs = import ./certs.nix { externalDomain = domain; }; certs = import ./certs.nix { externalDomain = domain; kubelets = ["machine1" "machine2"]; };
kubeconfig = pkgs.writeText "kubeconfig.json" (builtins.toJSON { kubeconfig = pkgs.writeText "kubeconfig.json" (builtins.toJSON {
apiVersion = "v1"; apiVersion = "v1";
kind = "Config"; kind = "Config";

View File

@ -12,7 +12,7 @@ let
}); });
roRoleBinding = pkgs.writeText "ro-role-binding.json" (builtins.toJSON { roRoleBinding = pkgs.writeText "ro-role-binding.json" (builtins.toJSON {
apiVersion = "rbac.authorization.k8s.io/v1beta1"; apiVersion = "rbac.authorization.k8s.io/v1";
kind = "RoleBinding"; kind = "RoleBinding";
metadata = { metadata = {
name = "read-pods"; name = "read-pods";
@ -31,7 +31,7 @@ let
}); });
roRole = pkgs.writeText "ro-role.json" (builtins.toJSON { roRole = pkgs.writeText "ro-role.json" (builtins.toJSON {
apiVersion = "rbac.authorization.k8s.io/v1beta1"; apiVersion = "rbac.authorization.k8s.io/v1";
kind = "Role"; kind = "Role";
metadata = { metadata = {
name = "pod-reader"; name = "pod-reader";

View File

@ -12,13 +12,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "monero-gui-${version}"; name = "monero-gui-${version}";
version = "2018-03-31"; version = "0.12.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "monero-project"; owner = "monero-project";
repo = "monero-gui"; repo = "monero-gui";
rev = "fbe5ba831795008361f4de4347e7ecb6d868b4eb"; rev = "v${version}";
sha256 = "06cncwk4mxfw1rqwlwisasvangl73xyqwj4g6r9j85j5x4xy0k5s"; sha256 = "1mg5ival8a2wdp14yib4wzqax4xyvd40zjy9anhszljds1439jhl";
}; };
nativeBuildInputs = [ qmake pkgconfig ]; nativeBuildInputs = [ qmake pkgconfig ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, git { stdenv, fetchFromGitHub, cmake, pkgconfig, git
, boost, miniupnpc, openssl, unbound, cppzmq , boost, miniupnpc, openssl, unbound, cppzmq
, zeromq, pcsclite, readline , zeromq, pcsclite, readline
, IOKit ? null , CoreData, IOKit, PCSC
}: }:
assert stdenv.isDarwin -> IOKit != null; assert stdenv.isDarwin -> IOKit != null;
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
boost miniupnpc openssl unbound boost miniupnpc openssl unbound
cppzmq zeromq pcsclite readline cppzmq zeromq pcsclite readline
] ++ optional stdenv.isDarwin IOKit; ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_BUILD_TYPE=Release"

View File

@ -4,11 +4,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mpg123-1.25.8"; name = "mpg123-1.25.10";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/mpg123/${name}.tar.bz2"; url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
sha256 = "16s9z1xc5kv1p90g42vsr9m4gq3dwjsmrj873x4i8601mvpm3nkr"; sha256 = "08vhp8lz7d9ybhxcmkq3adwfryhivfvp0745k4r9kgz4wap3f4vc";
}; };
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;

View File

@ -1,5 +1,5 @@
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender { stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
, zlib, jdk, glib, gtk2, libXtst, gsettings-desktop-schemas, webkitgtk24x-gtk2 , zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk
, makeWrapper, ... }: , makeWrapper, ... }:
{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }: { name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
fontconfig freetype glib gsettings-desktop-schemas gtk2 jdk libX11 fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11
libXrender libXtst makeWrapper zlib libXrender libXtst makeWrapper zlib
] ++ stdenv.lib.optional (webkitgtk24x-gtk2 != null) webkitgtk24x-gtk2; ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
buildCommand = '' buildCommand = ''
# Unpack tarball. # Unpack tarball.
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \ makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
--prefix PATH : ${jdk}/bin \ --prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk24x-gtk2 != null) webkitgtk24x-gtk2)} \ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration" --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
, freetype, fontconfig, libX11, libXext, libXrender, zlib , freetype, fontconfig, libX11, libXext, libXrender, zlib
, glib, gtk2, libXtst, jdk, gsettings-desktop-schemas , glib, gtk3, libXtst, jdk, gsettings-desktop-schemas
, webkitgtk24x-gtk2 ? null # for internal web browser , webkitgtk ? null # for internal web browser
, buildEnv, writeText, runCommand , buildEnv, writeText, runCommand
, callPackage , callPackage
}: }:
@ -15,7 +15,7 @@ rec {
buildEclipse = import ./build-eclipse.nix { buildEclipse = import ./build-eclipse.nix {
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
jdk glib gtk2 libXtst gsettings-desktop-schemas webkitgtk24x-gtk2 jdk glib gtk3 libXtst gsettings-desktop-schemas webkitgtk
makeWrapper; makeWrapper;
}; };

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "focuswriter-${version}"; name = "focuswriter-${version}";
version = "1.6.10"; version = "1.6.11";
src = fetchurl { src = fetchurl {
url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2"; url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
sha256 = "0hrbycy5lapdkaa2xm90j45sgsiqdnlk9wry41kxxpdln9msabxs"; sha256 = "0izbsm2vx24pnd92gf7ky8x47g324a8d16hy1s8kk3x1inxd80z1";
}; };
nativeBuildInputs = [ pkgconfig qmake qttools ]; nativeBuildInputs = [ pkgconfig qmake qttools ];

View File

@ -1,32 +1,43 @@
{ stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool, { stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool,
exiv2, libjpeg, libtiff, gstreamer, libraw, libsoup, libsecret, exiv2, libjpeg, libtiff, gst_all_1, libraw, libsoup, libsecret,
libchamplain, librsvg, libwebp, json-glib, webkit, lcms2, bison, libchamplain, librsvg, libwebp, json-glib, webkitgtk, lcms2, bison,
flex, hicolor-icon-theme, wrapGAppsHook, shared-mime-info }: flex, wrapGAppsHook, shared-mime-info }:
stdenv.mkDerivation rec { let
name = "${pname}-${version}";
pname = "gthumb"; pname = "gthumb";
version = "${major}.0"; version = "3.6.1";
major = "3.6"; in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1zc7myvnzgq7dawjg03rqvwfad7p938m20f25sfhv65jsfq8n928"; sha256 = "1vj26gw9b5y4bmb2m49wplqg0md568g3gxin500v3slggzhzkaww";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ itstool libxml2 intltool pkgconfig bison flex wrapGAppsHook ];
buildInputs = with gnome3; buildInputs = with gnome3; [
[ itstool libxml2 intltool glib gtk gsettings-desktop-schemas dconf glib gtk gsettings-desktop-schemas gst_all_1.gstreamer gst_all_1.gst-plugins-base
exiv2 libjpeg libtiff gstreamer libraw libsoup libsecret libchamplain exiv2 libjpeg libtiff libraw libsoup libsecret libchamplain
librsvg libwebp json-glib webkit lcms2 bison flex hicolor-icon-theme defaultIconTheme ]; librsvg libwebp json-glib webkitgtk lcms2 defaultIconTheme
];
enableParallelBuilding = true; enableParallelBuilding = true;
configureFlags = [
"--enable-libchamplain"
];
preFixup = '' preFixup = ''
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
''; '';
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/gthumb; homepage = https://wiki.gnome.org/Apps/gthumb;
description = "Image browser and viewer for GNOME"; description = "Image browser and viewer for GNOME";

View File

@ -0,0 +1,28 @@
{
mkDerivation, fetchurl, lib,
extra-cmake-modules, kdoctools,
knotifyconfig, kidletime, kwindowsystem, ktextwidgets, kcrash
}:
let
pname = "rsibreak";
version = "0.12";
revision = ".8";
in mkDerivation rec {
name = "rsibreak-${version}${revision}";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${name}.tar.xz";
sha256 = "1qn9xdjx9zzw47jsj7f4nkqmrangfhdgafm2jxm7cm6z6kcvzr28";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ knotifyconfig kidletime kwindowsystem ktextwidgets kcrash ];
meta = with lib; {
description = "RSIBreak takes care of your health and regularly breaks your work to avoid repetitive strain injury (RSI)";
license = licenses.gpl2;
homepage = https://www.kde.org/applications/utilities/rsibreak/;
maintainers = with maintainers; [ vandenoever ];
};
}

View File

@ -30,7 +30,7 @@ let
}: }:
let let
cfg = stdenv.lib.attrByPath [ browserName ] {} config; cfg = config.${browserName} or {};
enableAdobeFlash = cfg.enableAdobeFlash or false; enableAdobeFlash = cfg.enableAdobeFlash or false;
ffmpegSupport = browser.ffmpegSupport or false; ffmpegSupport = browser.ffmpegSupport or false;
gssSupport = browser.gssSupport or false; gssSupport = browser.gssSupport or false;

View File

@ -13,17 +13,14 @@ stdenv.mkDerivation rec {
buildInputs = [ go ]; buildInputs = [ go ];
outputs = ["out" "plugins"];
buildPhase = '' buildPhase = ''
patchShebangs build.sh patchShebangs build.sh
./build.sh ./build.sh
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/bin $plugins mkdir -p $out/bin
mv bin/cnitool $out/bin mv bin/cnitool $out/bin
mv bin/* $plugins/
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,33 @@
{ stdenv, lib, fetchFromGitHub, go }:
stdenv.mkDerivation rec {
name = "cni-plugins-${version}";
version = "0.7.0";
src = fetchFromGitHub {
owner = "containernetworking";
repo = "plugins";
rev = "v${version}";
sha256 = "0m885v76azs7lrk6m6n53rwh0xadwvdcr90h0l3bxpdv87sj2mnf";
};
buildInputs = [ go ];
buildPhase = ''
patchShebangs build.sh
./build.sh
'';
installPhase = ''
mkdir -p $out/bin
mv bin/* $out/bin
'';
meta = with lib; {
description = "Some standard networking plugins, maintained by the CNI team";
homepage = https://github.com/containernetworking/plugins;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ cstrahan ];
};
}

View File

@ -3,14 +3,14 @@
let let
common = { stname, target, patches ? [], postInstall ? "" }: common = { stname, target, patches ? [], postInstall ? "" }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.14.45"; version = "0.14.46";
name = "${stname}-${version}"; name = "${stname}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "0hhldmvsbvkaj0x6af7c41zq5mbzcymv5xxmwvb4h5zbz49z9vzl"; sha256 = "0lv8n5id40iy2gfccy8g45fjzlnbnvi7nlvj25pri22dq2bd5svm";
}; };
inherit patches; inherit patches;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "igv-${version}"; name = "igv-${version}";
version = "2.4.9"; version = "2.4.10";
src = fetchurl { src = fetchurl {
url = "http://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip"; url = "http://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
sha256 = "0acyq7602g2pz6mc9ip1297c68kgl9pq9yzk3k2lli9l5qvxi3g1"; sha256 = "1wyv3ny06m6ipb83hi3pzcc50v49zms69c5714iixh0nqpd826f2";
}; };
buildInputs = [ unzip jre ]; buildInputs = [ unzip jre ];

View File

@ -90,6 +90,6 @@ in stdenv.mkDerivation rec {
homepage = http://llvm.org/; homepage = http://llvm.org/;
license = stdenv.lib.licenses.ncsa; license = stdenv.lib.licenses.ncsa;
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ]; maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "armv7l-linux"];
}; };
} }

View File

@ -98,7 +98,7 @@ in stdenv.mkDerivation rec {
homepage = http://llvm.org/; homepage = http://llvm.org/;
license = stdenv.lib.licenses.ncsa; license = stdenv.lib.licenses.ncsa;
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ]; maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "armv7l-linux"];
}; };
} }

View File

@ -4,7 +4,7 @@
, libjpeg, giflib , libjpeg, giflib
, setJavaClassPath , setJavaClassPath
, minimal ? false , minimal ? false
, enableGnome2 ? true, gtk2, gnome_vfs, glib, GConf , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
}: }:
let let
@ -38,7 +38,7 @@ let
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
libXi libXinerama libXcursor lndir fontconfig libXi libXinerama libXcursor lndir fontconfig
] ++ lib.optionals (!minimal && enableGnome2) [ ] ++ lib.optionals (!minimal && enableGnome2) [
gtk2 gnome_vfs GConf glib gtk3 gnome_vfs GConf glib
]; ];
patches = [ patches = [
@ -80,7 +80,7 @@ let
NIX_LDFLAGS= lib.optionals (!minimal) [ NIX_LDFLAGS= lib.optionals (!minimal) [
"-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
] ++ lib.optionals (!minimal && enableGnome2) [ ] ++ lib.optionals (!minimal && enableGnome2) [
"-lgtk-x11-2.0" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2" "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
]; ];
buildFlags = [ "all" ]; buildFlags = [ "all" ];

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "folly-${version}"; name = "folly-${version}";
version = "2018.02.26.00"; version = "2018.03.26.00";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "facebook"; owner = "facebook";
repo = "folly"; repo = "folly";
rev = "v${version}"; rev = "v${version}";
sha256 = "1pdb3nnly0x4x8yy1r13xgh9zhn34c9dq0b3nhxr8gwbzf643j1c"; sha256 = "137d9b9k2m02r8f2w31qj3gc18hpm5g51bcl60g6vzdqzwzizzyr";
}; };
nativeBuildInputs = [ autoreconfHook python pkgconfig ]; nativeBuildInputs = [ autoreconfHook python pkgconfig ];

View File

@ -2,17 +2,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lmdb-${version}"; name = "lmdb-${version}";
version = "0.9.21"; version = "0.9.22";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "LMDB"; owner = "LMDB";
repo = "lmdb"; repo = "lmdb";
rev = "LMDB_${version}"; rev = "LMDB_${version}";
sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3"; sha256 = "0lng4ra2qrbqcf8klvqp68qarha0z4bkqhhv8lhh45agsxyrhfkj";
}; };
postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
patches = [ ./hardcoded-compiler.patch ];
patchFlags = "-p3";
outputs = [ "bin" "out" "dev" ]; outputs = [ "bin" "out" "dev" ];
makeFlags = [ "prefix=$(out)" "CC=cc" ] makeFlags = [ "prefix=$(out)" "CC=cc" ]

View File

@ -0,0 +1,26 @@
commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD)
Author: Vladimír Čunát <vcunat@gmail.com>
Date: Sun Apr 1 11:05:31 2018 +0200
make: gcc -> $(CC)
diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index f254511..612484e 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -102,13 +102,13 @@ COV_OBJS=xmdb.o xmidl.o
coverage: xmtest
for i in mtest*.c [0-9]*.c; do j=`basename \$$i .c`; $(MAKE) $$j.o; \
- gcc -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
+ $(CC) -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \
rm -rf testdb; mkdir testdb; ./x$$j; done
gcov xmdb.c
gcov xmidl.c
xmtest: mtest.o xmdb.o xmidl.o
- gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
+ $(CC) -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS)
xmdb.o: mdb.c lmdb.h midl.h
$(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 $(COV_FLAGS) -c mdb.c -o $@

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "opendht-${version}"; name = "opendht-${version}";
version = "1.6.0"; version = "1.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "savoirfairelinux"; owner = "savoirfairelinux";
repo = "opendht"; repo = "opendht";
rev = "${version}"; rev = "${version}";
sha256 = "0ybv41nbh86ricxfv478z4izbxvnvk86csr29c6qf4dinmrysf96"; sha256 = "13sxcg2sdhnzdkrjqmhg16p4001w3rd048p71k74pbmi8qpd0bw2";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, libjpeg, zlib, perl }: { stdenv, fetchurl, libjpeg, zlib, perl }:
let version = "8.0.0"; let version = "8.0.2";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qpdf-${version}"; name = "qpdf-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz"; url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
sha256 = "01a1d5wyrj1m35d68yj0cyqfjyrwhxq2yqwaw5an1d1p4aaid8gz"; sha256 = "1hf8jfjar8p7v288d7ccmr8w171mv9kb86b6hq1nk58mnlq1g7mh";
}; };
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];

View File

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub, libusb1 }:
let
version = "2018-03-27";
name = "rpiboot-unstable-${version}";
in stdenv.mkDerivation {
inherit name;
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "usbboot";
rev = "fb86716935f2e820333b037a2ff93a338ad9b695";
sha256 = "163g7iw7kf6ra71adx6lf1xzf3kv20bppva15ljwn54jlah5mv98";
};
nativeBuildInputs = [ libusb1 ];
patchPhase = ''
sed -i "s@/usr/@$out/@g" main.c
'';
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/rpiboot
cp rpiboot $out/bin
cp -r msd $out/share/rpiboot
'';
meta = {
homepage = https://github.com/raspberrypi/usbboot;
description = "Utility to boot a Raspberry Pi CM/CM3/Zero over USB";
maintainers = [ stdenv.lib.maintainers.cartr ];
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,15 +1,30 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4 }: { stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4
, num
}:
let version = "0.7.1"; in let param =
if stdenv.lib.versionAtLeast ocaml.version "4.03"
then {
version = "0.8.1";
sha256 = "03vzrybdpjydbpil97zmir71kpsn2yxkjnzysma7fvybk8ll4zh9";
buildInputs = [ num ];
} else {
version = "0.7.1";
sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
};
in
let inherit (param) version; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocsigen-deriving-${version}"; name = "ocsigen-deriving-${version}";
src = fetchzip { src = fetchzip {
url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz"; url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms"; inherit (param) sha256;
}; };
buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ]; buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ]
++ (param.buildInputs or []);
createFindlibDestdir = true; createFindlibDestdir = true;

View File

@ -0,0 +1,12 @@
# OASIS_START
# DO NOT EDIT (digest: ec844fa3189acb2a866b89a69d111ba4)
version = "1.6"
description = "Optional compilation with cpp-like directives"
requires = "camlp4"
archive(syntax, preprocessor) = "optcomp.cma"
archive(syntax, toploop) = "optcomp.cma"
archive(syntax, preprocessor, native) = "optcomp.cmxa"
archive(syntax, preprocessor, native, plugin) = "optcomp.cmxs"
exists_if = "optcomp.cma"
# OASIS_STOP

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4 }: { stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, camlp4 }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml-optcomp-1.6"; name = "ocaml-optcomp-1.6";
@ -7,10 +7,32 @@ stdenv.mkDerivation {
sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh"; sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh";
}; };
patches =
let inherit (stdenv.lib) optional versionAtLeast; in
optional (versionAtLeast ocaml.version "4.02") (fetchpatch {
url = "https://github.com/diml/optcomp/commit/b7f809360c9794b383a4bc0492f6df381276b429.patch";
sha256 = "1n095lk94jq1rwi0l24g2wbgms7249wdd31n0ji895dr6755s93y";
})
;
createFindlibDestdir = true; createFindlibDestdir = true;
buildInputs = [ ocaml findlib ocamlbuild camlp4 ]; buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
configurePhase = ''
cp ${./META} META
'';
buildPhase = ''
ocamlbuild src/optcomp.cmxs src/optcomp.cma src/optcomp_o.native src/optcomp_r.native
'';
installPhase = ''
mkdir -p $out/bin
cp _build/src/optcomp_o.native $out/bin/optcomp-o
cp _build/src/optcomp_r.native $out/bin/optcomp-r
ocamlfind install optcomp META _build/src/optcomp.{a,cma,cmxa,cmxs} _build/src/pa_optcomp.{cmi,cmx,mli}
'';
meta = { meta = {
homepage = https://github.com/diml/optcomp; homepage = https://github.com/diml/optcomp;

View File

@ -1,23 +1,22 @@
{ stdenv, fetchPypi { stdenv, fetchPypi
, buildPythonApplication, python, pythonAtLeast , buildPythonApplication, isPy27, python, pythonOlder
, mock, nose, pyhamcrest , mock, nose, pathpy, pyhamcrest, pytest
, glibcLocales, parse, parse-type, six , glibcLocales, parse, parse-type, six
, traceback2
}: }:
buildPythonApplication rec { buildPythonApplication rec {
pname = "behave"; pname = "behave";
version = "1.2.6"; version = "1.2.6";
name = "${pname}-${version}"; name = "${pname}-${version}";
disabled = pythonAtLeast "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"; sha256 = "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr";
}; };
checkInputs = [ mock nose pyhamcrest ]; checkInputs = [ mock nose pathpy pyhamcrest pytest ];
buildInputs = [ glibcLocales ]; buildInputs = [ glibcLocales ];
propagatedBuildInputs = [ parse parse-type six ]; propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
postPatch = '' postPatch = ''
patchShebangs bin patchShebangs bin
@ -29,7 +28,7 @@ buildPythonApplication rec {
export LANG="en_US.UTF-8" export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
nosetests -x pytest test tests
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/ ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/ ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/

View File

@ -1,10 +1,7 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage, fetchFromGitHub
, fetchFromGitHub , future, pyparsing
, pyparsing , glibcLocales, nose
, future
, nose
, glibcLocales
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -19,7 +16,7 @@ buildPythonPackage rec {
sha256 = "0lmlarkfbq2hp1wa04a62245jr2mqizqsdlgilj5aq6vy92gr6ai"; sha256 = "0lmlarkfbq2hp1wa04a62245jr2mqizqsdlgilj5aq6vy92gr6ai";
}; };
propagatedBuildInputs = [ pyparsing future ]; propagatedBuildInputs = [ future pyparsing ];
checkInputs = [ nose glibcLocales ]; checkInputs = [ nose glibcLocales ];

View File

@ -0,0 +1,23 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, attrs, click }:
buildPythonPackage rec {
pname = "black";
version = "18.4a0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "04dffr4wmzs4vf2xj0cxp03hv04x0kk06qyzx6jjrp1mq0z3n2rr";
};
propagatedBuildInputs = [ attrs click ];
meta = with stdenv.lib; {
description = "The uncompromising Python code formatter";
homepage = https://github.com/ambv/black;
license = licenses.mit;
maintainers = with maintainers; [ sveitser ];
};
}

View File

@ -0,0 +1,33 @@
{ lib, buildPythonPackage, fetchFromGitHub, glibcLocales, python, isPy3k }:
buildPythonPackage rec {
pname = "jieba";
version = "0.39";
# no tests in PyPI tarball
src = fetchFromGitHub {
owner = "fxsjy";
repo = pname;
rev = "v${version}";
sha256 = "0hbq0l1jbgcvm58qg4p37im4jl5a9igvq3wlhlk22pmbkbvqqgzs";
};
checkInputs = [ glibcLocales ];
# UnicodeEncodeError
doCheck = isPy3k;
# Citing https://github.com/fxsjy/jieba/issues/384: "testcases is in a mess"
# So just picking random ones that currently work
checkPhase = ''
export LC_ALL=en_US.UTF-8
${python.interpreter} test/test.py
${python.interpreter} test/test_tokenize.py
'';
meta = with lib; {
description = "Chinese Words Segementation Utilities";
homepage = https://github.com/fxsjy/jieba;
license = licenses.mit;
};
}

View File

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, marisa-trie
, pythonOlder
, fetchPypi
, nose
}:
buildPythonPackage rec {
pname = "langcodes";
version = "1.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "1axdiva2qglsjmnx2ak7i6hm0yhp6kbc4lcsgn8ckwy0nq1z3kr2";
};
propagatedBuildInputs = [ marisa-trie ];
disabled = pythonOlder "3.3";
checkInputs = [ nose ];
checkPhase = ''
nosetests
'';
meta = with lib; {
description = "A toolkit for working with and comparing the standardized codes for languages, such as en for English or es for Spanish";
homepage = http://github.com/LuminosoInsight/langcodes;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestrunner
, pytest
, hypothesis
}:
buildPythonPackage rec {
pname = "marisa-trie";
version = "0.7.4";
src = fetchPypi {
inherit pname version;
sha256 = "1n4pxnaranbh3x2fcqxwh8j1z2918vy7i4q1z4jn75m9rkm5h8ia";
};
postPatch = ''
substituteInPlace setup.py \
--replace "hypothesis==" "hypothesis>="
'';
nativeBuildInputs = [ pytestrunner ];
checkInputs = [ pytest hypothesis ];
meta = with lib; {
description = "Static memory-efficient Trie-like structures for Python (2.x and 3.x) based on marisa-trie C++ library";
longDescription = "There are official SWIG-based Python bindings included in C++ library distribution; this package provides alternative Cython-based pip-installable Python bindings.";
homepage = https://github.com/kmike/marisa-trie;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -0,0 +1,24 @@
{ lib
, buildPythonPackage
, mecab
, fetchPypi
}:
buildPythonPackage rec {
pname = "mecab-python3";
version = "0.7";
src = fetchPypi {
inherit pname version;
sha256 = "007dg4f5fby2yl7cc44x6xwvcrf2w2ifmn0rmk56ss33mhs8l6qy";
};
propagatedBuildInputs = [ mecab ];
meta = with lib; {
description = "A python wrapper for mecab: Morphological Analysis engine";
homepage = https://github.com/LuminosoInsight/wordfreq/;
license = licenses.bsd0;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -6,21 +6,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "parse_type"; pname = "parse_type";
version = "0.3.4"; version = "0.4.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3dd0b323bafcb8c25e000ce5589042a1c99cba9c3bec77b9f591e46bc9606147"; sha256 = "0g3b6gsdwnm8dpkh2vn34q6dzxm9gl908ggyzcv31n9xbp3vv5pm";
}; };
patches = [
(fetchpatch {
name = "python-3.5-tests-compat.patch";
url = "https://github.com/jenisys/parse_type/pull/4.patch";
sha256 = "1mmn2fxss6q3qhaydd4s4v8vjgvgkg41v1vcivrzdsvgsc3npg7m";
})
];
checkInputs = [ pytest pytestrunner ]; checkInputs = [ pytest pytestrunner ];
propagatedBuildInputs = [ parse six ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34; propagatedBuildInputs = [ parse six ] ++ stdenv.lib.optional (pythonOlder "3.4") enum34;

View File

@ -3,22 +3,14 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "parse"; pname = "parse";
version = "1.6.6"; version = "1.8.2";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "71435aaac494e08cec76de646de2aab8392c114e56fe3f81c565ecc7eb886178"; sha256 = "1lj9v1q4imszyhvipb6drsm3xdl35nan011mqxxas1yaypixsj40";
}; };
patches = [
(fetchpatch {
name = "python-3.5-tests-compat.patch";
url = "https://github.com/r1chardj0n3s/parse/pull/34.patch";
sha256 = "16iicgkf3lwivmdnp3xkq4n87wjmr3nb77z8mwz67b7by9nnp3jg";
})
];
checkPhase = '' checkPhase = ''
${python.interpreter} test_parse.py ${python.interpreter} test_parse.py
''; '';

View File

@ -0,0 +1,23 @@
{ stdenv, fetchPypi, buildPythonPackage, setuptools_scm, pygccxml }:
buildPythonPackage rec {
pname = "PyBindGen";
version = "0.18.0";
src = fetchPypi {
inherit pname version;
sha256 = "1sl4jn8rildv6f62cab66w791cixhaaxl7gwg9labs099rl74yl6";
};
buildInputs = [ setuptools_scm ];
checkInputs = [ pygccxml ];
meta = with stdenv.lib; {
homepage = https://github.com/gjcarneiro/pybindgen;
description = "Python Bindings Generator";
license = licenses.lgpl2;
maintainers = with maintainers; [ teto ];
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, castxml, fetchFromGitHub, buildPythonPackage,
llvmPackages, clang }:
buildPythonPackage rec {
pname = "pygccxml";
version = "1.9.1";
src = fetchFromGitHub {
owner = "gccxml";
repo = "pygccxml";
rev = "v${version}";
sha256 = "02ip03s0vmp7czzflbvf7qnybibfrd0rzqbc5zfmq3zmpnck3hvm";
};
buildInputs = [ castxml llvmPackages.libcxxStdenv];
# running the suite is hard, needs to generate xml_generator.cfg
# but the format doesn't accept -isystem directives
doCheck = false;
meta = with stdenv.lib; {
homepage = https://github.com/gccxml/pygccxml;
description = "Python package for easy C++ declarations navigation";
license = licenses.boost;
maintainers = with maintainers; [ teto ];
};
}

View File

@ -1,4 +1,4 @@
{ lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables }: { lib, fetchPypi, isPy3k, buildPythonPackage, numpy, matplotlib, root, root_numpy, tables, pytest }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "rootpy"; pname = "rootpy";
@ -14,6 +14,14 @@ buildPythonPackage rec {
propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ]; propagatedBuildInputs = [ matplotlib numpy root root_numpy tables ];
checkInputs = [ pytest ];
checkPhase = ''
# tests fail with /homeless-shelter
export HOME=$PWD
# skip problematic tests
py.test rootpy -k "not test_stl and not test_cpp and not test_xrootd_glob_single and not test_xrootd_glob_multiple"
'';
meta = with lib; { meta = with lib; {
homepage = http://www.rootpy.org; homepage = http://www.rootpy.org;
license = licenses.bsd3; license = licenses.bsd3;

View File

@ -0,0 +1,51 @@
{ stdenv
, lib
, fetchurl
, buildPythonPackage
, isPy3k, isPy36, pythonOlder
, numpy
, six
, protobuf
, absl-py
, mock
, backports_weakref
, enum34
, tensorflow-tensorboard
, cudaSupport ? false
}:
# tensorflow is built from a downloaded wheel because the source
# build doesn't yet work on Darwin.
buildPythonPackage rec {
pname = "tensorflow";
version = "1.5.0";
format = "wheel";
src = fetchurl {
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-${version}-py3-none-any.whl";
sha256 = "1mapv45n9wmgcq3i3im0pv0gmhwkxw5z69nsnxb1gfxbj1mz5h9m";
};
propagatedBuildInputs = [ numpy six protobuf absl-py ]
++ lib.optional (!isPy3k) mock
++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ]
++ lib.optional (pythonOlder "3.6") tensorflow-tensorboard;
# tensorflow depends on tensorflow_tensorboard, which cannot be
# built at the moment (some of its dependencies do not build
# [htlm5lib9999999 (seven nines) -> tensorboard], and it depends on an old version of
# bleach) Hence we disable dependency checking for now.
installFlags = lib.optional isPy36 "--no-dependencies";
meta = with stdenv.lib; {
description = "Computation using data flow graphs for scalable machine learning";
homepage = http://tensorflow.org;
license = licenses.asl20;
maintainers = with maintainers; [ jyp abbradar ];
platforms = platforms.darwin;
# Python 2.7 build uses different string encoding.
# See https://github.com/NixOS/nixpkgs/pull/37044#issuecomment-373452253
broken = cudaSupport || !isPy3k;
};
}

View File

@ -149,7 +149,7 @@ in buildPythonPackage rec {
homepage = http://tensorflow.org; homepage = http://tensorflow.org;
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ jyp abbradar ]; maintainers = with maintainers; [ jyp abbradar ];
platforms = with platforms; if cudaSupport then linux else linux ++ darwin; platforms = platforms.linux;
broken = !(xlaSupport -> cudaSupport); broken = !(xlaSupport -> cudaSupport);
}; };
} }

View File

@ -0,0 +1,48 @@
{ lib
, buildPythonPackage
, regex
, langcodes
, ftfy
, msgpack
, mecab-python3
, jieba
, nose
, pythonOlder
, fetchFromGitHub
}:
buildPythonPackage rec {
pname = "wordfreq";
version = "2.0";
src = fetchFromGitHub {
owner = "LuminosoInsight";
repo = "wordfreq";
rev = "e3a1b470d9f8e0d82e9f179ffc41abba434b823b";
sha256 = "1wjkhhj7nxfnrghwvmvwc672s30lp4b7yr98gxdxgqcq6wdshxwv";
};
checkInputs = [ nose ];
checkPhase = ''
# These languages require additional dictionaries
nosetests -e test_japanese -e test_korean -e test_languages
'';
propagatedBuildInputs = [ regex langcodes ftfy msgpack mecab-python3 jieba ];
# patch to relax version requirements for regex
# dependency to prevent break in upgrade
postPatch = ''
substituteInPlace setup.py --replace "regex ==" "regex >="
'';
disabled = pythonOlder "3";
meta = with lib; {
description = "A library for looking up the frequencies of words in many languages, based on many sources of data";
homepage = https://github.com/LuminosoInsight/wordfreq/;
license = licenses.mit;
maintainers = with maintainers; [ ixxie ];
};
}

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
homepage = http://bashdb.sourceforge.net/remake/; homepage = http://bashdb.sourceforge.net/remake/;
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
description = "GNU Make with comprehensible tracing and a debugger"; description = "GNU Make with comprehensible tracing and a debugger";
platforms = stdenv.lib.platforms.linux; platforms = with stdenv.lib.platforms; linux ++ darwin;
maintainers = with stdenv.lib.maintainers; [ bjornfor ]; maintainers = with stdenv.lib.maintainers; [ bjornfor ];
}; };
} }

View File

@ -0,0 +1,49 @@
{ stdenv, fetchFromGitHub
, pythonPackages
, pkgconfig
, cmake
, llvmPackages
, withMan ? true
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "CastXML";
version = "20180403";
src = fetchFromGitHub {
owner = "CastXML";
repo = "CastXML";
rev = "c2a44d06d9379718292b696f4e13a2725ff9d95e";
sha256 = "1hjh8ihjyp1m2jb5yypp5c45bpbz8k004f4p1cjw4gc7pxhjacdj";
};
buildInputs = [
cmake
llvmPackages.clang-unwrapped
llvmPackages.llvm
] ++ stdenv.lib.optionals withMan [ pythonPackages.sphinx ];
propagatedbuildInputs = [ llvmPackages.libclang ];
preConfigure = ''
cmakeFlagsArray+=(
${if withMan then "-DSPHINX_MAN=ON" else ""}
)'';
# 97% tests passed, 96 tests failed out of 2866
# mostly because it checks command line and nix append -isystem and all
doCheck=false;
checkPhase = ''
# -E exclude 4 tests based on names
# see https://github.com/CastXML/CastXML/issues/90
ctest -E 'cmd.cc-(gnu|msvc)-((c-src-c)|(src-cxx))-cmd'
'';
meta = with stdenv.lib; {
homepage = http://www.kitware.com;
license = licenses.asl20;
description = "Abstract syntax tree XML output tool";
platforms = platforms.unix;
};
}

View File

@ -2,14 +2,14 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "mypy"; pname = "mypy";
version = "0.570"; version = "0.580";
# Tests not included in pip package. # Tests not included in pip package.
doCheck = false; doCheck = false;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "09cz0h4d6xcdqlchw080nkjlwki3mgjrlvfnj5hxxwi3cgv9imw3"; sha256 = "1ng3j3nmsklrg8middvc9ycvv87hx5dxh4b96s9pc3w1d49mmn9v";
}; };
propagatedBuildInputs = [ lxml typed-ast psutil ]; propagatedBuildInputs = [ lxml typed-ast psutil ];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gzdoom-${version}"; name = "gzdoom-${version}";
version = "3.2.5"; version = "3.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "coelckers"; owner = "coelckers";
repo = "gzdoom"; repo = "gzdoom";
rev = "g${version}"; rev = "g${version}";
sha256 = "1x4v3cv448wqx4cdhs28nxrv0lm2c2pd9i2hm92q9lg5yw8vv19q"; sha256 = "1q1hjfxhksny236a058ys36mpdl434vbmgapqr51n82pia838h2l";
}; };
nativeBuildInputs = [ cmake makeWrapper ]; nativeBuildInputs = [ cmake makeWrapper ];

View File

@ -32,7 +32,8 @@ in stdenv.mkDerivation rec {
libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image
]; ];
enableParallelBuilding = true; # disable parallel building as it caused sporadic build failures
enableParallelBuilding = false;
NIX_CFLAGS_COMPILE = [ NIX_CFLAGS_COMPILE = [
"-I${SDL2_image}/include/SDL2" "-I${SDL2_image}/include/SDL2"
@ -81,6 +82,6 @@ in stdenv.mkDerivation rec {
homepage = https://te4.org/; homepage = https://te4.org/;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ chattered peterhoeg ]; maintainers = with maintainers; [ chattered peterhoeg ];
platforms = platforms.linux; platforms = subtractLists ["aarch64-linux"] platforms.linux;
}; };
} }

View File

@ -0,0 +1,7 @@
/* This file is NOT part of highlight.js */
document.onreadystatechange = function () {
var listings = document.querySelectorAll('.programlisting, .screen');
for (i = 0; i < listings.length; ++i) {
hljs.highlightBlock(listings[i]);
}
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "raspberrypi-firmware-${version}"; name = "raspberrypi-firmware-${version}";
version = "1.20171029"; version = "1.20180328";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "raspberrypi"; owner = "raspberrypi";
repo = "firmware"; repo = "firmware";
rev = version; rev = version;
sha256 = "12aisha8rlr28310hakps04z9p45kd2wvks0w1vxw1kwfh1ncy9s"; sha256 = "19h4lv11idy268pyrq21c5gsff77d5xr9xjkpmzfpcq34gjh3x21";
}; };
installPhase = '' installPhase = ''

View File

@ -71,7 +71,7 @@
"device_tracker.bluetooth_le_tracker" = ps: with ps; [ ]; "device_tracker.bluetooth_le_tracker" = ps: with ps; [ ];
"device_tracker.bluetooth_tracker" = ps: with ps; [ ]; "device_tracker.bluetooth_tracker" = ps: with ps; [ ];
"device_tracker.cisco_ios" = ps: with ps; [ pexpect ]; "device_tracker.cisco_ios" = ps: with ps; [ pexpect ];
"device_tracker.fritz" = ps: with ps; [ ]; "device_tracker.fritz" = ps: with ps; [ fritzconnection ];
"device_tracker.icloud" = ps: with ps; [ ]; "device_tracker.icloud" = ps: with ps; [ ];
"device_tracker.linksys_ap" = ps: with ps; [ beautifulsoup4 ]; "device_tracker.linksys_ap" = ps: with ps; [ beautifulsoup4 ];
"device_tracker.mikrotik" = ps: with ps; [ ]; "device_tracker.mikrotik" = ps: with ps; [ ];
@ -100,7 +100,7 @@
"fan.xiaomi_miio" = ps: with ps; [ ]; "fan.xiaomi_miio" = ps: with ps; [ ];
"feedreader" = ps: with ps; [ feedparser ]; "feedreader" = ps: with ps; [ feedparser ];
"ffmpeg" = ps: with ps; [ ha-ffmpeg ]; "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
"frontend" = ps: with ps; [ user-agents ]; "frontend" = ps: with ps; [ ];
"gc100" = ps: with ps; [ ]; "gc100" = ps: with ps; [ ];
"goalfeed" = ps: with ps; [ ]; "goalfeed" = ps: with ps; [ ];
"google" = ps: with ps; [ google_api_python_client oauth2client ]; "google" = ps: with ps; [ google_api_python_client oauth2client ];
@ -123,7 +123,7 @@
"joaoapps_join" = ps: with ps; [ ]; "joaoapps_join" = ps: with ps; [ ];
"juicenet" = ps: with ps; [ ]; "juicenet" = ps: with ps; [ ];
"keyboard" = ps: with ps; [ ]; "keyboard" = ps: with ps; [ ];
"keyboard_remote" = ps: with ps; [ ]; "keyboard_remote" = ps: with ps; [ evdev ];
"kira" = ps: with ps; [ ]; "kira" = ps: with ps; [ ];
"knx" = ps: with ps; [ ]; "knx" = ps: with ps; [ ];
"lametric" = ps: with ps; [ ]; "lametric" = ps: with ps; [ ];
@ -196,7 +196,7 @@
"media_player.songpal" = ps: with ps; [ ]; "media_player.songpal" = ps: with ps; [ ];
"media_player.sonos" = ps: with ps; [ ]; "media_player.sonos" = ps: with ps; [ ];
"media_player.soundtouch" = ps: with ps; [ libsoundtouch ]; "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
"media_player.spotify" = ps: with ps; [ ]; "media_player.spotify" = ps: with ps; [ spotipy ];
"media_player.vizio" = ps: with ps; [ ]; "media_player.vizio" = ps: with ps; [ ];
"media_player.vlc" = ps: with ps; [ ]; "media_player.vlc" = ps: with ps; [ ];
"media_player.webostv" = ps: with ps; [ websockets ]; "media_player.webostv" = ps: with ps; [ websockets ];
@ -278,7 +278,7 @@
"sensor.coinmarketcap" = ps: with ps; [ ]; "sensor.coinmarketcap" = ps: with ps; [ ];
"sensor.cpuspeed" = ps: with ps; [ ]; "sensor.cpuspeed" = ps: with ps; [ ];
"sensor.crimereports" = ps: with ps; [ ]; "sensor.crimereports" = ps: with ps; [ ];
"sensor.cups" = ps: with ps; [ ]; "sensor.cups" = ps: with ps; [ pycups ];
"sensor.darksky" = ps: with ps; [ ]; "sensor.darksky" = ps: with ps; [ ];
"sensor.deluge" = ps: with ps; [ deluge-client ]; "sensor.deluge" = ps: with ps; [ deluge-client ];
"sensor.deutsche_bahn" = ps: with ps; [ ]; "sensor.deutsche_bahn" = ps: with ps; [ ];
@ -298,8 +298,8 @@
"sensor.fido" = ps: with ps; [ ]; "sensor.fido" = ps: with ps; [ ];
"sensor.fitbit" = ps: with ps; [ ]; "sensor.fitbit" = ps: with ps; [ ];
"sensor.fixer" = ps: with ps; [ ]; "sensor.fixer" = ps: with ps; [ ];
"sensor.fritzbox_callmonitor" = ps: with ps; [ ]; "sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
"sensor.fritzbox_netmonitor" = ps: with ps; [ ]; "sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
"sensor.gearbest" = ps: with ps; [ ]; "sensor.gearbest" = ps: with ps; [ ];
"sensor.geizhals" = ps: with ps; [ beautifulsoup4 ]; "sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
"sensor.geo_rss_events" = ps: with ps; [ feedparser ]; "sensor.geo_rss_events" = ps: with ps; [ feedparser ];

View File

@ -22,7 +22,8 @@ import json
import re import re
from pkg_resources import Requirement, RequirementParseError from pkg_resources import Requirement, RequirementParseError
PREFIX = '# homeassistant.components.' GENERAL_PREFIX = '# homeassistant.'
COMPONENT_PREFIX = GENERAL_PREFIX + 'components.'
PKG_SET = 'python3Packages' PKG_SET = 'python3Packages'
def get_version(): def get_version():
@ -37,12 +38,19 @@ def fetch_reqs(version='master'):
for line in response.read().decode().splitlines(): for line in response.read().decode().splitlines():
if line == '': if line == '':
components = [] components = []
elif line[:len(PREFIX)] == PREFIX: elif line[:len(COMPONENT_PREFIX)] == COMPONENT_PREFIX:
component = line[len(PREFIX):] component = line[len(COMPONENT_PREFIX):]
components.append(component) components.append(component)
if component not in requirements: if component not in requirements:
requirements[component] = [] requirements[component] = []
elif line[0] != '#': elif line[:len(GENERAL_PREFIX)] != GENERAL_PREFIX: # skip lines like "# homeassistant.scripts.xyz"
# Some dependencies are commented out because they don't build on all platforms
# Since they are still required for running the component, don't skip them
if line[:2] == '# ':
line = line[2:]
# Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
# Therefore, if there's a "#" in the line, only take the part after it
line = line[line.find('#') + 1:]
for component in components: for component in components:
requirements[component].append(line) requirements[component].append(line)
return requirements return requirements

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "osrm-backend-${version}"; name = "osrm-backend-${version}";
version = "5.16.3"; version = "5.16.4";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "Project-OSRM"; owner = "Project-OSRM";
repo = "osrm-backend"; repo = "osrm-backend";
sha256 = "0dmcp5s5kjnvdd7sn53sbjawfhiwjs30fr7iwi9h6ssz6188x0jp"; sha256 = "01wghly0rqv4f9lfabmbfddjp2pclcfip45rmn0fvnj5c6x23v6v";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gmic-${version}"; name = "gmic-${version}";
version = "2.2.0"; version = "2.2.1";
src = fetchurl { src = fetchurl {
url = "http://gmic.eu/files/source/gmic_${version}.tar.gz"; url = "http://gmic.eu/files/source/gmic_${version}.tar.gz";
sha256 = "0yvb9iwwmjxvck2in3ymqszaddz502v2ryk50qs0wskhbhdh96c7"; sha256 = "0iac1zaix2zv1dfp45ca0wk9pj6k02gf8l1vmg820z8jd12pa19w";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub, buildPythonApplication, dateutil }:
buildPythonApplication rec {
pname = "pdd";
version = "1.1";
src = fetchFromGitHub {
owner = "jarun";
repo = "pdd";
rev = "v${version}";
sha256 = "1nb64vdlym4najjyfxq1nprqcwgrwnqj1mml0fcg20hrgbjm4bf2";
};
format = "other";
propagatedBuildInputs = [ dateutil ];
installFlags = [ "PREFIX=$(out)" ];
meta = with stdenv.lib; {
homepage = "https://github.com/jarun/pdd";
description = "Tiny date, time diff calculator";
longDescription = ''
There are times you want to check how old you are (in years, months, days)
or how long you need to wait for the next flash sale or the number of days
left of your notice period in your current job. pdd (Python3 Date Diff) is
a small cmdline utility to calculate date and time difference. If no
program arguments are specified it shows the current date, time and
timezone.
'';
maintainers = [ maintainers.infinisil ];
license = licenses.gpl3;
};
}

View File

@ -1,31 +1,38 @@
{ stdenv, fetchurl, unzip }: { stdenv, fetchurl, unzip }:
with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ngrok-${version}"; name = "ngrok-${version}";
version = "2.2.8"; version = "2.2.8";
src = if stdenv.system == "i686-linux" then fetchurl { src = if stdenv.isLinux && stdenv.isi686 then fetchurl {
url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-i386.tgz"; url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-i386.tgz";
sha256 = "0s5ymlaxrvm13q3mlvfirh74sx60qh56c5sgdma2r7q5qlsq41xg"; sha256 = "0s5ymlaxrvm13q3mlvfirh74sx60qh56c5sgdma2r7q5qlsq41xg";
} else if stdenv.system == "x86_64-linux" then fetchurl { } else if stdenv.isLinux && stdenv.isx86_64 then fetchurl {
url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz"; url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz";
sha256 = "1mn9iwgy6xzrjihikwc2k2j59igqmph0cwx17qp0ziap9lp5xxad"; sha256 = "1mn9iwgy6xzrjihikwc2k2j59igqmph0cwx17qp0ziap9lp5xxad";
} else if stdenv.isDarwin then fetchurl {
url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-386.zip";
sha256 = "0yfd250b55wcpgqd00rqfaa7a82f35fmybb31q5xwdbgc2i47pbh";
} else throw "platform ${stdenv.system} not supported!"; } else throw "platform ${stdenv.system} not supported!";
sourceRoot = "."; sourceRoot = ".";
nativeBuildInputs = optional stdenv.isDarwin unzip;
installPhase = '' installPhase = ''
install -D ngrok $out/bin/ngrok install -D ngrok $out/bin/ngrok
''; '';
meta = with stdenv.lib; { meta = {
description = "ngrok"; description = "ngrok";
longDescription = '' longDescription = ''
Allows you to expose a web server running on your local machine to the internet. Allows you to expose a web server running on your local machine to the internet.
''; '';
homepage = https://ngrok.com/; homepage = https://ngrok.com/;
license = stdenv.lib.licenses.unfree; license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
maintainers = [ maintainers.bobvanderlinden ]; maintainers = [ maintainers.bobvanderlinden ];
}; };
} }

View File

@ -0,0 +1,31 @@
{ stdenv
, python3
, fetchFromGitHub
, nix
, makeWrapper
}:
python3.pkgs.buildPythonApplication rec {
pname = "nix-review";
version = "0.1.0";
src = fetchFromGitHub {
owner = "Mic92";
repo = "nix-review";
rev = version;
sha256 = "1kafp3x95dklydy5224w0a292rd8pv30lz6z5ddk6y7zg3fsxrcr";
};
buildInputs = [ makeWrapper ];
preFixup = ''
wrapProgram $out/bin/nix-review --prefix PATH : ${nix}/bin
'';
meta = with stdenv.lib; {
description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
homepage = https://github.com/Mic92/nix-review;
license = licenses.mit;
maintainers = [ maintainers.mic92 ];
};
}

View File

@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
''; '';
makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"]; makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"];
patches = [ ./apg.patch ]; patches = [
./apg.patch
./phony-install-target.patch
];
postPatch = stdenv.lib.optionalString stdenv.isDarwin '' postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile
@ -64,6 +67,6 @@ stdenv.mkDerivation rec {
homepage = http://www.adel.nursat.kz/apg/; homepage = http://www.adel.nursat.kz/apg/;
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ astsmtl ]; maintainers = with stdenv.lib.maintainers; [ astsmtl ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.unix;
}; };
} }

View File

@ -0,0 +1,11 @@
diff -ur a/Makefile b/Makefile
--- a/Makefile 2003-08-08 00:40:39.000000000 +0900
+++ b/Makefile 2018-04-05 22:29:39.284191020 +0900
@@ -142,6 +142,7 @@
strip ${CS_PROGNAME}
strip ${BFM_PROGNAME}
+.PHONY: install
install:
if test -x ./apg; then \
./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl}: {stdenv, fetchurl}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.2.3"; version = "2.2.3a";
name = "discount-${version}"; name = "discount-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2"; url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2";
sha256 = "17797xiaq0kk152pj4rvd9grg4i518x3glnwg1lgl8rry3dbrzx8"; sha256 = "0m09x9dd75d3pqvmrwr0kqw3dm2x3ss9clj5fxf7lq79lbyxbxbm";
}; };
patches = ./fix-configure-path.patch; patches = ./fix-configure-path.patch;

View File

@ -0,0 +1,84 @@
{ stdenv, fetchurl, pkgconfig, zlib, pcre, xorg, libjpeg, libtiff, libpng, gtk2, libpaper, makeWrapper, ghostscript }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "ted";
version = "2.23";
src = fetchurl {
url = "http://ftp.nluug.nl/pub/editors/${pname}/${name}.src.tar.gz";
sha256 = "0v1ipynyjklb3chd1vq26a21sjjg66sir57gi2kkrbwnpk195a9z";
};
preConfigure = ''
mkdir pkgconfig-append
pushd pkgconfig-append
# ted looks for libtiff, not libtiff-4 in its pkg-config invokations
cp ${libtiff.dev}/lib/pkgconfig/libtiff-4.pc libtiff.pc
# ted needs a libpaper pkg-config file
cat > libpaper.pc << EOF
prefix=${libpaper}
libdir=${libpaper}/lib
includedir=${libpaper}/include
exec_prefix=\''${prefix}
Name: libpaper
Version: ${libpaper.version}
Description: ${libpaper.meta.description}
Libs: -L\''${libdir} -lpaper
Cflags: -I\''${includedir}
EOF
export PKG_CONFIG_PATH="$PWD:$PKG_CONFIG_PATH"
popd
'';
makeFlags = [ "CONFIGURE_OPTIONS=--with-GTK" "CONFIGURE_OPTIONS+=--prefix=$(out)" "compile.shared" ];
installPhase = ''
runHook preInstall
make tedPackage/makefile
pushd tedPackage
substituteInPlace makefile --replace /usr ""
make PKGDESTDIR=$out datadir
popd
pushd $out/share/Ted/examples
for f in rtf2*.sh
do
makeWrapper "$PWD/$f" "$out/bin/$f" --prefix PATH : $out/bin:${stdenv.lib.makeBinPath [ ghostscript ]}
done
popd
cp -v Ted/Ted $out/bin
runHook postInstall
'';
buildInputs = [ pkgconfig zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper makeWrapper ];
meta = with stdenv.lib; {
description = "Ted, an easy rich text processor";
longDescription = ''
Ted is a text processor running under X Windows on Unix/Linux systems.
Ted was developed as a standard easy light weight word processor, having
the role of Wordpad on MS-Windows. Since then, Ted has evolved to a real
word processor. It still has the same easy appearance and the same speed
as the original. The possibility to type a letter, a note or a report
with a simple light weight program on a Unix/Linux machine is clearly
missing. Ted was made to make it possible to edit rich text documents on
Unix/Linux in a wysiwyg way. RTF files from Ted are fully compatible with
MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to
Acrobat PDF converter.
'';
homepage = https://nllgg.nl/Ted/;
license = licenses.gpl2;
platforms = platforms.all;
broken = stdenv.isDarwin;
maintainers = with maintainers; [ obadz ];
};
}

View File

@ -111,6 +111,8 @@ with pkgs;
buildMaven = callPackage ../build-support/build-maven.nix {}; buildMaven = callPackage ../build-support/build-maven.nix {};
castxml = callPackage ../development/tools/castxml { };
cmark = callPackage ../development/libraries/cmark { }; cmark = callPackage ../development/libraries/cmark { };
dhallToNix = callPackage ../build-support/dhall-to-nix.nix { dhallToNix = callPackage ../build-support/dhall-to-nix.nix {
@ -4234,6 +4236,8 @@ with pkgs;
pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { }; pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { };
pdd = python3Packages.callPackage ../tools/misc/pdd { };
pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { }; pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { };
pdf2htmlEX = callPackage ../tools/typesetting/pdf2htmlEX { }; pdf2htmlEX = callPackage ../tools/typesetting/pdf2htmlEX { };
@ -4647,6 +4651,8 @@ with pkgs;
rpPPPoE = callPackage ../tools/networking/rp-pppoe { }; rpPPPoE = callPackage ../tools/networking/rp-pppoe { };
rpiboot-unstable = callPackage ../development/misc/rpiboot/unstable.nix { };
rpm = callPackage ../tools/package-management/rpm { }; rpm = callPackage ../tools/package-management/rpm { };
rpm-ostree = callPackage ../tools/misc/rpm-ostree { rpm-ostree = callPackage ../tools/misc/rpm-ostree {
@ -4657,6 +4663,8 @@ with pkgs;
rrdtool = callPackage ../tools/misc/rrdtool { }; rrdtool = callPackage ../tools/misc/rrdtool { };
rsibreak = libsForQt5.callPackage ../applications/misc/rsibreak { };
rss2email = callPackage ../applications/networking/feedreaders/rss2email { rss2email = callPackage ../applications/networking/feedreaders/rss2email {
pythonPackages = python3Packages; pythonPackages = python3Packages;
}; };
@ -5047,6 +5055,8 @@ with pkgs;
tcpreplay = callPackage ../tools/networking/tcpreplay { }; tcpreplay = callPackage ../tools/networking/tcpreplay { };
ted = callPackage ../tools/typesetting/ted { };
teamviewer = callPackage ../applications/networking/remote/teamviewer { teamviewer = callPackage ../applications/networking/remote/teamviewer {
stdenv = stdenv_32bit; stdenv = stdenv_32bit;
}; };
@ -14975,6 +14985,7 @@ with pkgs;
}; };
cni = callPackage ../applications/networking/cluster/cni {}; cni = callPackage ../applications/networking/cluster/cni {};
cni-plugins = callPackage ../applications/networking/cluster/cni/plugins.nix {};
communi = libsForQt5.callPackage ../applications/networking/irc/communi { }; communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
@ -15172,7 +15183,9 @@ with pkgs;
eaglemode = callPackage ../applications/misc/eaglemode { }; eaglemode = callPackage ../applications/misc/eaglemode { };
eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { webkitgtk24x-gtk2 = null; }); eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse {
jdk = jdk10;
});
ecs-agent = callPackage ../applications/virtualization/ecs-agent { }; ecs-agent = callPackage ../applications/virtualization/ecs-agent { };
@ -16639,7 +16652,7 @@ with pkgs;
mod-distortion = callPackage ../applications/audio/mod-distortion { }; mod-distortion = callPackage ../applications/audio/mod-distortion { };
monero = callPackage ../applications/altcoins/monero { monero = callPackage ../applications/altcoins/monero {
inherit (darwin.apple_sdk.frameworks) IOKit; inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
boost = boost15x; boost = boost15x;
}; };
@ -19443,7 +19456,7 @@ with pkgs;
gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 { }); gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 { });
gnomeExtensions = { gnomeExtensions = recurseIntoAttrs {
appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { }; appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
battery-status = callPackage ../desktops/gnome-3/extensions/battery-status { }; battery-status = callPackage ../desktops/gnome-3/extensions/battery-status { };
caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { }; caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
@ -20485,6 +20498,8 @@ with pkgs;
nix-repl = callPackage ../tools/package-management/nix-repl { nix = nix1; }; nix-repl = callPackage ../tools/package-management/nix-repl { nix = nix1; };
nix-review = callPackage ../tools/package-management/nix-review { };
nix-serve = callPackage ../tools/package-management/nix-serve { }; nix-serve = callPackage ../tools/package-management/nix-serve { };
nixos-artwork = callPackage ../data/misc/nixos-artwork { }; nixos-artwork = callPackage ../data/misc/nixos-artwork { };

View File

@ -3254,6 +3254,8 @@ in {
jdcal = callPackage ../development/python-modules/jdcal { }; jdcal = callPackage ../development/python-modules/jdcal { };
jieba = callPackage ../development/python-modules/jieba { };
internetarchive = callPackage ../development/python-modules/internetarchive {}; internetarchive = callPackage ../development/python-modules/internetarchive {};
JPype1 = callPackage ../development/python-modules/JPype1 {}; JPype1 = callPackage ../development/python-modules/JPype1 {};
@ -7443,6 +7445,8 @@ in {
marisa = pkgs.marisa; marisa = pkgs.marisa;
}; };
marisa-trie = callPackage ../development/python-modules/marisa-trie { };
markupsafe = buildPythonPackage rec { markupsafe = buildPythonPackage rec {
name = "markupsafe-${version}"; name = "markupsafe-${version}";
version = "1.0"; version = "1.0";
@ -8999,6 +9003,8 @@ in {
}; };
}; };
langcodes = callPackage ../development/python-modules/langcodes { };
livestreamer = buildPythonPackage rec { livestreamer = buildPythonPackage rec {
version = "1.12.2"; version = "1.12.2";
name = "livestreamer-${version}"; name = "livestreamer-${version}";
@ -9571,6 +9577,8 @@ in {
requests-mock = callPackage ../development/python-modules/requests-mock { }; requests-mock = callPackage ../development/python-modules/requests-mock { };
mecab-python3 = callPackage ../development/python-modules/mecab-python3 { };
mox3 = buildPythonPackage rec { mox3 = buildPythonPackage rec {
name = "mox3-${version}"; name = "mox3-${version}";
version = "0.23.0"; version = "0.23.0";
@ -15349,6 +15357,8 @@ EOF
widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { }; widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
wordfreq = callPackage ../development/python-modules/wordfreq { };
magic-wormhole = callPackage ../development/python-modules/magic-wormhole { }; magic-wormhole = callPackage ../development/python-modules/magic-wormhole { };
magic-wormhole-transit-relay = callPackage ../development/python-modules/magic-wormhole-transit-relay { }; magic-wormhole-transit-relay = callPackage ../development/python-modules/magic-wormhole-transit-relay { };
@ -16960,6 +16970,10 @@ EOF
propagatedBuildInputs = with self; []; propagatedBuildInputs = with self; [];
}; };
pybindgen = callPackage ../development/python-modules/pybindgen {};
pygccxml = callPackage ../development/python-modules/pygccxml {};
pymacaroons-pynacl = callPackage ../development/python-modules/pymacaroons-pynacl { }; pymacaroons-pynacl = callPackage ../development/python-modules/pymacaroons-pynacl { };
pynacl = callPackage ../development/python-modules/pynacl { }; pynacl = callPackage ../development/python-modules/pynacl { };
@ -18020,7 +18034,10 @@ EOF
tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { }; tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { };
tensorflow = callPackage ../development/python-modules/tensorflow rec { tensorflow =
if stdenv.isDarwin
then callPackage ../development/python-modules/tensorflow/bin.nix { }
else callPackage ../development/python-modules/tensorflow rec {
cudaSupport = pkgs.config.cudaSupport or false; cudaSupport = pkgs.config.cudaSupport or false;
inherit (pkgs.linuxPackages) nvidia_x11; inherit (pkgs.linuxPackages) nvidia_x11;
cudatoolkit = pkgs.cudatoolkit9; cudatoolkit = pkgs.cudatoolkit9;
@ -18429,6 +18446,8 @@ EOF
yapf = callPackage ../development/python-modules/yapf { }; yapf = callPackage ../development/python-modules/yapf { };
black = callPackage ../development/python-modules/black { };
autobahn = callPackage ../development/python-modules/autobahn { }; autobahn = callPackage ../development/python-modules/autobahn { };
jsonref = callPackage ../development/python-modules/jsonref { }; jsonref = callPackage ../development/python-modules/jsonref { };