Merge branch 'master.upstream' into staging.upstream

This commit is contained in:
William A. Kennington III 2015-06-30 23:58:07 -07:00
commit 612f0bdd67
71 changed files with 1388 additions and 1461 deletions

View File

@ -2,7 +2,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-contributing">
<title>Contributing</title>
<title>Contributing to this documentation</title>
<para>The DocBook sources of the Nixpkgs manual are in the <filename
xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename>

View File

@ -36,6 +36,9 @@ stdenv.mkDerivation {
cp ${./style.css} $dst/style.css
mkdir -p $dst/images/callouts
cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/
mkdir -p $out/nix-support
echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
'';

View File

@ -54,4 +54,67 @@ in ...</programlisting>
</section>
<section xml:id="sec-pkg-override">
<title>&lt;pkg&gt;.override</title>
<para>
The function <varname>override</varname> is usually available for all the
derivations in the nixpkgs expression (<varname>pkgs</varname>).
</para>
<para>
It is used to override the arguments passed to a function.
</para>
<para>
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<programlisting>pkgs.overridePackages (self: super: {
foo = super.foo.override { barSupport = true ; };
})</programlisting>
<programlisting>mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
})</programlisting>
</para>
<para>
In the first example, <varname>pkgs.foo</varname> is the result of a function call
with some default arguments, usually a derivation.
Using <varname>pkgs.foo.override</varname> will call the same function with
the given new arguments.
</para>
</section>
<section xml:id="sec-lib-makeOverridable">
<title>lib.makeOverridable</title>
<para>
The function <varname>lib.makeOverridable</varname> is used make the result
of a function easily customizable. This utility only makes sense for functions
that accept an argument set and return an attribute set.
</para>
<para>
Example usage:
<programlisting>f = { a, b }: { result = a+b; }
c = lib.makeOverridable f { a = 1; b = 2; }</programlisting>
</para>
<para>
The variable <varname>c</varname> is the value of the <varname>f</varname> function
applied with some default arguments. Hence the value of <varname>c.result</varname>
is <literal>3</literal>, in this example.
</para>
<para>
The variable <varname>c</varname> however also has some additional functions, like
<link linkend="sec-pkg-override">c.override</link> which can be used to
override the default arguments. In this example the value of
<varname>(c.override { a = 4; }).result</varname> is 6.
</para>
</section>
</chapter>

View File

@ -18,7 +18,7 @@
<xi:include href="language-support.xml" />
<xi:include href="package-notes.xml" />
<xi:include href="coding-conventions.xml" />
<xi:include href="contributing.xml" />
<xi:include href="haskell-users-guide.xml" />
<xi:include href="contributing.xml" />
</book>

View File

@ -138,12 +138,39 @@ meta-attributes</title>
<varlistentry>
<term><varname>license</varname></term>
<listitem><para>The license for the package. One from the
attribute set defined in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
<filename>nixpkgs/lib/licenses.nix</filename></link>. Example:
<literal>stdenv.lib.licenses.gpl3</literal>. For details, see
<xref linkend='sec-meta-license'/>.</para></listitem>
<listitem>
<para>
The license, or licenses, for the package. One from the attribute set
defined in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
<filename>nixpkgs/lib/licenses.nix</filename></link>. At this moment
using both a list of licenses and a single license is valid. If the
license field is in the form of a list representation, then it means
that parts of the package are licensed differently. Each license
should preferably be referenced by their attribute. The non-list
attribute value can also be a space delimited string representation of
the contained attribute shortNames or spdxIds. The following are all valid
examples:
<itemizedlist>
<listitem><para>Single license referenced by attribute (preferred)
<literal>stdenv.lib.licenses.gpl3</literal>.
</para></listitem>
<listitem><para>Single license referenced by its attribute shortName (frowned upon)
<literal>"gpl3"</literal>.
</para></listitem>
<listitem><para>Single license referenced by its attribute spdxId (frowned upon)
<literal>"GPL-3.0"</literal>.
</para></listitem>
<listitem><para>Multiple licenses referenced by attribute (preferred)
<literal>with stdenv.lib.licenses; [ asl20 free ofl ]</literal>.
</para></listitem>
<listitem><para>Multiple licenses referenced as a space delimited string of attribute shortNames (frowned upon)
<literal>"asl20 free ofl"</literal>.
</para></listitem>
</itemizedlist>
For details, see <xref linkend='sec-meta-license'/>.
</para>
</listitem>
</varlistentry>
<varlistentry>

View File

@ -56,6 +56,7 @@
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
chattered = "Phil Scott <me@philscotted.com>";
christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
codyopel = "Cody Opel <codyopel@gmail.com>";

View File

@ -40,7 +40,7 @@ let
DEFAULT boot
LABEL boot
MENU LABEL NixOS ${config.system.nixosVersion} Installer
MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel}
LINUX /boot/bzImage
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
INITRD /boot/initrd
@ -192,6 +192,18 @@ in
'';
};
isoImage.appendToMenuLabel = mkOption {
default = " Installer";
example = " Live System";
description = ''
The string to append after the menu label for the NixOS system.
This will be directly appended (without whitespace) to the NixOS version
string, like for example if it is set to <literal>XXX</literal>:
<para><literal>NixOS 99.99-pre666XXX</literal></para>
'';
};
};
config = {

View File

@ -223,6 +223,7 @@
nix-serve = 199;
tvheadend = 200;
uwsgi = 201;
gitit = 202;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -424,6 +425,7 @@
#nix-serve = 199; #unused
#tvheadend = 200; #unused
uwsgi = 201;
gitit = 202;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View File

@ -194,6 +194,7 @@
./services/misc/etcd.nix
./services/misc/felix.nix
./services/misc/folding-at-home.nix
./services/misc/gitit.nix
./services/misc/gitlab.nix
./services/misc/gitolite.nix
./services/misc/gpsd.nix

View File

@ -148,5 +148,6 @@ in zipModules ([]
++ obsolete' [ "services" "samba" "defaultShare" ]
++ obsolete' [ "services" "syslog-ng" "serviceName" ]
++ obsolete' [ "services" "syslog-ng" "listenToJournal" ]
++ obsolete' [ "ec2" "metadata" ]
)

View File

@ -21,7 +21,7 @@ in
description = ''
Whether to enable GNOME Keyring daemon, a service designed to
take care of the user's security credentials,
such as user names and passwordsa search engine.
such as user names and passwords.
'';
};

View File

@ -0,0 +1,659 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.gitit;
homeDir = "/var/lib/gitit";
gititShared = with cfg.haskellPackages; gitit + "/share/" + pkgs.stdenv.system + "-" + ghc.name + "/" + gitit.pname + "-" + gitit.version;
gititWithPkgs = hsPkgs: extras: hsPkgs.ghcWithPackages (self: with self; [ gitit ] ++ (extras self));
gititSh = hsPkgs: extras: with pkgs; let
env = gititWithPkgs hsPkgs extras;
in writeScript "gitit" ''
#!${stdenv.shell}
cd $HOME
export PATH="${makeSearchPath "bin" (
[ git curl ] ++ (if cfg.pdfExport == "yes" then [texLiveFull] else [])
)}:$PATH";
export NIX_GHC="${env}/bin/ghc"
export NIX_GHCPKG="${env}/bin/ghc-pkg"
export NIX_GHC_DOCDIR="${env}/share/doc/ghc/html"
export NIX_GHC_LIBDIR=$( $NIX_GHC --print-libdir )
${env}/bin/gitit -f ${configFile}
'';
gititOptions = let
yesNo = types.enum [ "yes" "no" ];
in {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the gitit service.";
};
haskellPackages = mkOption {
default = pkgs.haskellPackages;
defaultText = "pkgs.haskellPackages";
example = literalExample "pkgs.haskell.packages.ghc784";
description = "haskellPackages used to build gitit and plugins.";
};
extraPackages = mkOption {
default = self: [];
example = literalExample ''
haskellPackages: [
haskellPackages.wreq
]
'';
description = ''
Extra packages available to ghc when running gitit. The
value must be a function which receives the attrset defined
in <varname>haskellPackages</varname> as the sole argument.
'';
};
address = mkOption {
type = types.str;
default = "0.0.0.0";
description = "IP address on which the web server will listen.";
};
port = mkOption {
type = types.int;
default = 5001;
description = "Port on which the web server will run.";
};
wikiTitle = mkOption {
type = types.str;
default = "Gitit!";
description = "The wiki title.";
};
repositoryType = mkOption {
type = types.enum ["git" "darcs" "mercurial"];
default = "git";
description = "Specifies the type of repository used for wiki content.";
};
repositoryPath = mkOption {
type = types.path;
default = homeDir + "/wiki";
description = ''
Specifies the path of the repository directory. If it does not
exist, gitit will create it on startup.
'';
};
requireAuthentication = mkOption {
type = types.enum [ "none" "modify" "read" ];
default = "modify";
description = ''
If 'none', login is never required, and pages can be edited
anonymously. If 'modify', login is required to modify the wiki
(edit, add, delete pages, upload files). If 'read', login is
required to see any wiki pages.
'';
};
authenticationMethod = mkOption {
type = types.enum [ "form" "http" "generic"];
default = "form";
description = ''
'form' means that users will be logged in and registered using forms
in the gitit web interface. 'http' means that gitit will assume that
HTTP authentication is in place and take the logged in username from
the "Authorization" field of the HTTP request header (in addition,
the login/logout and registration links will be suppressed).
'generic' means that gitit will assume that some form of
authentication is in place that directly sets REMOTE_USER to the name
of the authenticated user (e.g. mod_auth_cas on apache). 'rpx' means
that gitit will attempt to log in through https://rpxnow.com. This
requires that 'rpx-domain', 'rpx-key', and 'base-url' be set below,
and that 'curl' be in the system path.
'';
};
userFile = mkOption {
type = types.path;
default = homeDir + "/gitit-users";
description = ''
Specifies the path of the file containing user login information. If
it does not exist, gitit will create it (with an empty user list).
This file is not used if 'http' is selected for
authentication-method.
'';
};
sessionTimeout = mkOption {
type = types.int;
default = 60;
description = ''
Number of minutes of inactivity before a session expires.
'';
};
staticDir = mkOption {
type = types.path;
default = gititShared + "/data/static";
description = ''
Specifies the path of the static directory (containing javascript,
css, and images). If it does not exist, gitit will create it and
populate it with required scripts, stylesheets, and images.
'';
};
defaultPageType = mkOption {
type = types.enum [ "markdown" "rst" "latex" "html" "markdown+lhs" "rst+lhs" "latex+lhs" ];
default = "markdown";
description = ''
Specifies the type of markup used to interpret pages in the wiki.
Possible values are markdown, rst, latex, html, markdown+lhs,
rst+lhs, and latex+lhs. (the +lhs variants treat the input as
literate Haskell. See pandoc's documentation for more details.) If
Markdown is selected, pandoc's syntax extensions (for footnotes,
delimited code blocks, etc.) will be enabled. Note that pandoc's
restructuredtext parser is not complete, so some pages may not be
rendered correctly if rst is selected. The same goes for latex and
html.
'';
};
math = mkOption {
type = types.enum [ "mathml" "raw" "mathjax" "jsmath" "google" ];
default = "mathml";
description = ''
Specifies how LaTeX math is to be displayed. Possible values are
mathml, raw, mathjax, jsmath, and google. If mathml is selected,
gitit will convert LaTeX math to MathML and link in a script,
MathMLinHTML.js, that allows the MathML to be seen in Gecko browsers,
IE + mathplayer, and Opera. In other browsers you may get a jumble of
characters. If raw is selected, the LaTeX math will be displayed as
raw LaTeX math. If mathjax is selected, gitit will link to the
remote mathjax script. If jsMath is selected, gitit will link to the
script /js/jsMath/easy/load.js, and will assume that jsMath has been
installed into the js/jsMath directory. This is the most portable
solution. If google is selected, the google chart API is called to
render the formula as an image. This requires a connection to google,
and might raise a technical or a privacy problem.
'';
};
mathJaxScript = mkOption {
type = types.str;
default = "https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
description = ''
Specifies the path to MathJax rendering script. You might want to
use your own MathJax script to render formulas without Internet
connection or if you want to use some special LaTeX packages. Note:
path specified there cannot be an absolute path to a script on your
hdd, instead you should run your (local if you wish) HTTP server
which will serve the MathJax.js script. You can easily (in four lines
of code) serve MathJax.js using
http://happstack.com/docs/crashcourse/FileServing.html Do not forget
the "http://" prefix (e.g. http://localhost:1234/MathJax.js).
'';
};
showLhsBirdTracks = mkOption {
type = yesNo;
default = "no";
description = ''
Specifies whether to show Haskell code blocks in "bird style", with
"> " at the beginning of each line.
'';
};
templatesDir = mkOption {
type = types.path;
default = gititShared + "/data/templates";
description = ''
Specifies the path of the directory containing page templates. If it
does not exist, gitit will create it with default templates. Users
may wish to edit the templates to customize the appearance of their
wiki. The template files are HStringTemplate templates. Variables to
be interpolated appear between $\'s. Literal $\'s must be
backslash-escaped.
'';
};
logFile = mkOption {
type = types.path;
default = homeDir + "/gitit.log";
description = ''
Specifies the path of gitit's log file. If it does not exist, gitit
will create it. The log is in Apache combined log format.
'';
};
logLevel = mkOption {
type = types.enum [ "DEBUG" "INFO" "NOTICE" "WARNING" "ERROR" "CRITICAL" "ALERT" "EMERGENCY" ];
default = "ERROR";
description = ''
Determines how much information is logged. Possible values (from
most to least verbose) are DEBUG, INFO, NOTICE, WARNING, ERROR,
CRITICAL, ALERT, EMERGENCY.
'';
};
frontPage = mkOption {
type = types.str;
default = "Front Page";
description = ''
Specifies which wiki page is to be used as the wiki's front page.
Gitit creates a default front page on startup, if one does not exist
already.
'';
};
noDelete = mkOption {
type = types.str;
default = "Front Page, Help";
description = ''
Specifies pages that cannot be deleted through the web interface.
(They can still be deleted directly using git or darcs.) A
comma-separated list of page names. Leave blank to allow every page
to be deleted.
'';
};
noEdit = mkOption {
type = types.str;
default = "Help";
description = ''
Specifies pages that cannot be edited through the web interface.
Leave blank to allow every page to be edited.
'';
};
defaultSummary = mkOption {
type = types.str;
default = "";
description = ''
Specifies text to be used in the change description if the author
leaves the "description" field blank. If default-summary is blank
(the default), the author will be required to fill in the description
field.
'';
};
tableOfContents = mkOption {
type = yesNo;
default = "yes";
description = ''
Specifies whether to print a tables of contents (with links to
sections) on each wiki page.
'';
};
plugins = mkOption {
type = types.path;
default = gititShared + "/plugins/Dot.hs";
description = ''
Specifies a list of plugins to load. Plugins may be specified either
by their path or by their module name. If the plugin name starts
with Gitit.Plugin., gitit will assume that the plugin is an installed
module and will not try to find a source file.
Examples:
plugins: plugins/DotPlugin.hs, CapitalizeEmphasisPlugin.hs
plugins: plugins/DotPlugin
plugins: Gitit.Plugin.InterwikiLinks
'';
};
useCache = mkOption {
type = yesNo;
default = "no";
description = ''
Specifies whether to cache rendered pages. Note that if use-feed is
selected, feeds will be cached regardless of the value of use-cache.
'';
};
cacheDir = mkOption {
type = types.path;
default = homeDir + "/cache";
description = "Path where rendered pages will be cached.";
};
maxUploadSize = mkOption {
type = types.str;
default = "1000K";
description = ''
Specifies an upper limit on the size (in bytes) of files uploaded
through the wiki's web interface. To disable uploads, set this to
0K. This will result in the uploads link disappearing and the
_upload url becoming inactive.
'';
};
maxPageSize = mkOption {
type = types.str;
default = "1000K";
description = "Specifies an upper limit on the size (in bytes) of pages.";
};
debugMode = mkOption {
type = yesNo;
default = "no";
description = "Causes debug information to be logged while gitit is running.";
};
compressResponses = mkOption {
type = yesNo;
default = "yes";
description = "Specifies whether HTTP responses should be compressed.";
};
mimeTypesFile = mkOption {
type = types.path;
default = "/etc/mime/types.info";
description = ''
Specifies the path of a file containing mime type mappings. Each
line of the file should contain two fields, separated by whitespace.
The first field is the mime type, the second is a file extension.
For example:
video/x-ms-wmx wmx
If the file is not found, some simple defaults will be used.
'';
};
useReCaptcha = mkOption {
type = yesNo;
default = "no";
description = ''
If "yes", causes gitit to use the reCAPTCHA service
(http://recaptcha.net) to prevent bots from creating accounts.
'';
};
reCaptchaPrivateKey = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Specifies the private key for the reCAPTCHA service. To get
these, you need to create an account at http://recaptcha.net.
'';
};
reCaptchaPublicKey = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Specifies the public key for the reCAPTCHA service. To get
these, you need to create an account at http://recaptcha.net.
'';
};
accessQuestion = mkOption {
type = types.str;
default = "What is the code given to you by Ms. X?";
description = ''
Specifies a question that users must answer when they attempt to
create an account
'';
};
accessQuestionAnswers = mkOption {
type = types.str;
default = "RED DOG, red dog";
description = ''
Specifies a question that users must answer when they attempt to
create an account, along with a comma-separated list of acceptable
answers. This can be used to institute a rudimentary password for
signing up as a user on the wiki, or as an alternative to reCAPTCHA.
Example:
access-question: What is the code given to you by Ms. X?
access-question-answers: RED DOG, red dog
'';
};
rpxDomain = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Specifies the domain and key of your RPX account. The domain is just
the prefix of the complete RPX domain, so if your full domain is
'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain.
'';
};
rpxKey = mkOption {
type = with types; nullOr str;
default = null;
description = "RPX account access key.";
};
mailCommand = mkOption {
type = types.str;
default = "sendmail %s";
description = ''
Specifies the command to use to send notification emails. '%s' will
be replaced by the destination email address. The body of the
message will be read from stdin. If this field is left blank,
password reset will not be offered.
'';
};
resetPasswordMessage = mkOption {
type = types.lines;
default = ''
> From: gitit@$hostname$
> To: $useremail$
> Subject: Wiki password reset
>
> Hello $username$,
>
> To reset your password, please follow the link below:
> http://$hostname$:$port$$resetlink$
>
> Regards
'';
description = ''
Gives the text of the message that will be sent to the user should
she want to reset her password, or change other registration info.
The lines must be indented, and must begin with '>'. The initial
spaces and '> ' will be stripped off. $username$ will be replaced by
the user's username, $useremail$ by her email address, $hostname$ by
the hostname on which the wiki is running (as returned by the
hostname system call), $port$ by the port on which the wiki is
running, and $resetlink$ by the relative path of a reset link derived
from the user's existing hashed password. If your gitit wiki is being
proxied to a location other than the root path of $port$, you should
change the link to reflect this: for example, to
http://$hostname$/path/to/wiki$resetlink$ or
http://gitit.$hostname$$resetlink$
'';
};
useFeed = mkOption {
type = yesNo;
default = "no";
description = ''
Specifies whether an ATOM feed should be enabled (for the site and
for individual pages).
'';
};
baseUrl = mkOption {
type = with types; nullOr str;
default = null;
description = ''
The base URL of the wiki, to be used in constructing feed IDs and RPX
token_urls. Set this if use-feed is 'yes' or authentication-method
is 'rpx'.
'';
};
absoluteUrls = mkOption {
type = yesNo;
default = "no";
description = ''
Make wikilinks absolute with respect to the base-url. So, for
example, in a wiki served at the base URL '/wiki', on a page
Sub/Page, the wikilink '[Cactus]()' will produce a link to
'/wiki/Cactus' if absolute-urls is 'yes', and a relative link to
'Cactus' (referring to '/wiki/Sub/Cactus') if absolute-urls is 'no'.
'';
};
feedDays = mkOption {
type = types.int;
default = 14;
description = "Number of days to be included in feeds.";
};
feedRefreshTime = mkOption {
type = types.int;
default = 60;
description = "Number of minutes to cache feeds before refreshing.";
};
pdfExport = mkOption {
type = yesNo;
default = "no";
description = ''
If yes, PDF will appear in export options. PDF will be created using
pdflatex, which must be installed and in the path. Note that PDF
exports create significant additional server load.
'';
};
pandocUserData = mkOption {
type = with types; nullOr path;
default = null;
description = ''
If a directory is specified, this will be searched for pandoc
customizations. These can include a templates/ directory for custom
templates for various export formats, an S5 directory for custom S5
styles, and a reference.odt for ODT exports. If no directory is
specified, $HOME/.pandoc will be searched. See pandoc's README for
more information.
'';
};
xssSanitize = mkOption {
type = yesNo;
default = "yes";
description = ''
If yes, all HTML (including that produced by pandoc) is filtered
through xss-sanitize. Set to no only if you trust all of your users.
'';
};
};
configFile = pkgs.writeText "gitit.conf" ''
address: ${cfg.address}
port: ${toString cfg.port}
wiki-title: ${cfg.wikiTitle}
repository-type: ${cfg.repositoryType}
repository-path: ${cfg.repositoryPath}
require-authentication: ${cfg.requireAuthentication}
authentication-method: ${cfg.authenticationMethod}
user-file: ${cfg.userFile}
session-timeout: ${toString cfg.sessionTimeout}
static-dir: ${cfg.staticDir}
default-page-type: ${cfg.defaultPageType}
math: ${cfg.math}
mathjax-script: ${cfg.mathJaxScript}
show-lhs-bird-tracks: ${cfg.showLhsBirdTracks}
templates-dir: ${cfg.templatesDir}
log-file: ${cfg.logFile}
log-level: ${cfg.logLevel}
front-page: ${cfg.frontPage}
no-delete: ${cfg.noDelete}
no-edit: ${cfg.noEdit}
default-summary: ${cfg.defaultSummary}
table-of-contents: ${cfg.tableOfContents}
plugins: ${cfg.plugins}
use-cache: ${cfg.useCache}
cache-dir: ${cfg.cacheDir}
max-upload-size: ${cfg.maxUploadSize}
max-page-size: ${cfg.maxPageSize}
debug-mode: ${cfg.debugMode}
compress-responses: ${cfg.compressResponses}
mime-types-file: ${cfg.mimeTypesFile}
use-recaptcha: ${cfg.useReCaptcha}
recaptcha-private-key: ${toString cfg.reCaptchaPrivateKey}
recaptcha-public-key: ${toString cfg.reCaptchaPublicKey}
access-question: ${cfg.accessQuestion}
access-question-answers: ${cfg.accessQuestionAnswers}
rpx-domain: ${toString cfg.rpxDomain}
rpx-key: ${toString cfg.rpxKey}
mail-command: ${cfg.mailCommand}
reset-password-message: ${cfg.resetPasswordMessage}
use-feed: ${cfg.useFeed}
base-url: ${toString cfg.baseUrl}
absolute-urls: ${cfg.absoluteUrls}
feed-days: ${toString cfg.feedDays}
feed-refresh-time: ${toString cfg.feedRefreshTime}
pdf-export: ${cfg.pdfExport}
pandoc-user-data: ${toString cfg.pandocUserData}
xss-sanitize: ${cfg.xssSanitize}
'';
in
{
options.services.gitit = gititOptions;
config = mkIf cfg.enable {
users.extraUsers.gitit = {
group = config.users.extraGroups.gitit.name;
description = "Gitit user";
home = homeDir;
createHome = true;
uid = config.ids.uids.gitit;
};
users.extraGroups.gitit.gid = config.ids.gids.gitit;
systemd.services.gitit = let
uid = toString config.ids.uids.gitit;
gid = toString config.ids.gids.gitit;
in {
description = "Git and Pandoc Powered Wiki";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = with cfg; ''
chown ${uid}:${gid} -R ${homeDir}
for dir in ${repositoryPath} ${staticDir} ${templatesDir} ${cacheDir}
do
if [ ! -d $dir ]
then
mkdir -p $dir
find $dir -type d -exec chmod 0750 {} +
find $dir -type f -exec chmod 0640 {} +
fi
done
cd ${repositoryPath}
if [ ! -d .git ]
then
${pkgs.git}/bin/git init
${pkgs.git}/bin/git config user.email "gitit@${config.networking.hostName}"
${pkgs.git}/bin/git config user.name "gitit"
chown ${uid}:${gid} -R {repositoryPath}
fi
cd -
'';
serviceConfig = {
User = config.users.extraUsers.gitit.name;
Group = config.users.extraGroups.gitit.name;
ExecStart = with cfg; gititSh haskellPackages extraPackages;
};
};
};
}

View File

@ -329,13 +329,13 @@ in
text =
concatMapStrings (machine:
"${if machine ? sshUser then "${machine.sshUser}@" else ""}${machine.hostName} "
+ (if machine ? system then machine.system else concatStringsSep "," machine.systems)
+ " ${machine.sshKey} ${toString machine.maxJobs} "
+ (if machine ? speedFactor then toString machine.speedFactor else "1" )
+ machine.system or (concatStringsSep "," machine.systems)
+ " ${machine.sshKey or "-"} ${toString machine.maxJobs or 1} "
+ toString (machine.speedFactor or 1)
+ " "
+ (if machine ? supportedFeatures then concatStringsSep "," machine.supportedFeatures else "" )
+ concatStringsSep "," (machine.mandatoryFeatures or [] ++ machine.supportedFeatures or [])
+ " "
+ (if machine ? mandatoryFeatures then concatStringsSep "," machine.mandatoryFeatures else "" )
+ concatStringsSep "," machine.mandatoryFeatures or []
+ "\n"
) cfg.buildMachines;
};

View File

@ -45,7 +45,6 @@ let
'';
in {
imports = [ "${modulesPath}/virtualisation/amazon-image.nix" ];
ec2.metadata = true;
boot.postBootCommands = ''
${bootScript} &
'';

View File

@ -7,16 +7,6 @@
with lib;
{
options = {
ec2.metadata = mkOption {
type = types.bool;
default = false;
description = ''
Whether to allow access to EC2 metadata.
'';
};
};
config = {
systemd.services."fetch-ec2-data" =
@ -31,8 +21,6 @@ with lib;
script =
''
ip route del blackhole 169.254.169.254/32 || true
wget="wget -q --retry-connrefused -O -"
${optionalString (config.networking.hostName == "") ''
@ -67,14 +55,6 @@ with lib;
(umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key)
echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub
fi
${optionalString (! config.ec2.metadata) ''
# Since the user data is sensitive, prevent it from
# being accessed from now on. FIXME: remove at some
# point, since current NixOps no longer relies on
# metadata secrecy.
ip route add blackhole 169.254.169.254/32
''}
'';
serviceConfig.Type = "oneshot";

View File

@ -1,18 +1,18 @@
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, eyeD3
, lame, flac, eject, mkcue
, perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
, makeWrapper }:
let version = "2.6";
let version = "2.7";
in
stdenv.mkDerivation {
name = "abcde-${version}";
src = fetchurl {
url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz";
sha256 = "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8";
url = "http://abcde.einval.com/download/abcde-${version}.tar.gz";
sha256 = "0ikpffzvacadh6vj9qlary8126j1zrd2knp9gvivmp7y1656jj01";
};
# FIXME: This package does not support MP3 encoding (only Ogg),
# nor `distmp3', `eject', etc.
# FIXME: This package does not support `distmp3', `eject', etc.
patches = [ ./abcde.patch ];
@ -50,7 +50,7 @@ in
--replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
wrapProgram "$out/bin/abcde" --prefix PATH ":" \
"$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${lame}/bin"
"$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${eyeD3}/bin:${lame}/bin"
wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \
"${wget}/bin"
@ -60,7 +60,7 @@ in
'';
meta = {
homepage = "http://lly.org/~rcw/abcde/page/";
homepage = http://abcde.einval.com/wiki/;
license = stdenv.lib.licenses.gpl2Plus;
description = "Command-line audio CD ripper";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, xulrunner }:
{ stdenv, fetchurl, makeWrapper, xulrunner }:
stdenv.mkDerivation rec {
version = "2.0.11";
@ -12,15 +12,19 @@ stdenv.mkDerivation rec {
buildPhase = "";
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p "$out"
cp -r usr/* "$out"
sed -e "s|/usr/bin/xulrunner|${xulrunner}/bin/xulrunner|" \
-e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \
sed -e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \
-i "$out/bin/pencil"
sed -e "s|/usr/bin/pencil|$out/bin/pencil|" \
-e "s|Icon=.*|Icon=$out/share/evolus-pencil/skin/classic/icon.svg|" \
-i "$out/share/applications/pencil.desktop"
wrapProgram $out/bin/pencil \
--prefix PATH ":" ${xulrunner}/bin
'';
meta = with stdenv.lib; {

View File

@ -4,12 +4,12 @@
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
in stdenv.mkDerivation rec {
name = "llpp-${version}";
version = "21-git-2015-06-06";
version = "21-git-2015-06-27";
src = fetchgit {
url = "git://repo.or.cz/llpp.git";
rev = "492d761c0c7c8c4ccdd4f0d3fa7c51434ce8acf2";
sha256 = "14dp5sw7cd6bja9d3zpxmswbk0k0b7x2fzb1fflhnnnhjc39irk9";
rev = "843c42ef41bb78a3b1ee995fc2bab91f8796e8ad";
sha256 = "0h8wa7f5bj5sm3sr8namcyy81s4s80hyasimyfw935lqyw2q2k60";
};
buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl

View File

@ -1,21 +1,22 @@
{ stdenv, fetchFromGitHub, ncurses }:
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation {
name = "mdp-0.93";
stdenv.mkDerivation rec {
version = "1.0.0";
name = "mdp-${version}";
src = fetchFromGitHub {
owner = "visit1985";
repo = "mdp";
rev = "09d6bd1a8a33fac75a999f0822ec10cb77fbc072";
sha256 = "0ksa0zqzv1yb8nspxp2vww7bp9y99pcma1vx3cixd3qb5y5ljn1n";
src = fetchurl {
url = "https://github.com/visit1985/mdp/archive/${version}.tar.gz";
sha256 = "1xkmzcwa5ml1xfv92brwirnm00a44jkj7wpfimxbny98zgmad8vn";
};
makeFlags = "PREFIX=$(out)";
buildInputs = [ ncurses ];
meta = {
meta = with stdenv.lib; {
homepage = https://github.com/visit1985/mdp;
description = "A command-line based markdown presentation tool";
maintainers = with maintainers; [ matthiasbeyer ];
license = licenses.gpl3;
};
}

View File

@ -1,25 +1,28 @@
{ stdenv, fetchurl, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2}:
{ stdenv, fetchgit, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2 }:
let version = "0.2.1"; in
let version = "0.3"; in
buildPythonPackage {
name = "qutebrowser-${version}";
namePrefix = "";
src = fetchurl {
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz";
sha256 = "b741a1a0336b8d36133603a3318d1c4c63c9abf50212919200cd2ae665b07111";
};
# Needs tox
doCheck = false;
propagatedBuildInputs = [
python pyyaml pyqt5 jinja2 pygments pypeg2
];
meta = {
homepage = https://github.com/The-Compiler/qutebrowser;
description = "Keyboard-focused browser with a minimal GUI";
license = stdenv.lib.licenses.gpl3Plus;
src = fetchgit {
url = "https://github.com/The-Compiler/qutebrowser.git";
rev = "b3cd31a808789932a0a4cb7aa8d9280b6d3a12e7";
sha256 = "fea7fd9de8a930da7af0111739ae88851cb965b30751858d1aba5bbd15277652";
};
# Needs tox
doCheck = false;
propagatedBuildInputs = [
python pyyaml pyqt5 jinja2 pygments pypeg2
];
meta = {
homepage = https://github.com/The-Compiler/qutebrowser;
description = "Keyboard-focused browser with a minimal GUI";
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.jagajaga ];
};
}

View File

@ -1,14 +1,16 @@
{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl, geoip, gperftools }:
{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl
, geoip, gperftools }:
stdenv.mkDerivation rec {
name = "bro-2.3.2";
name = "bro-2.4";
src = fetchurl {
url = "http://www.bro.org/downloads/release/${name}.tar.gz";
sha256 = "16y6924brh7sw6l0nry6y4q8sif2lkcpymkd26aabdc61bdgpr9g";
sha256 = "1ch8w8iakr2ajbigaad70b6mfv01s2sbdqgmrqm9q9zc1c5hs33l";
};
buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools ];
buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip
gperftools ];
enableParallelBuilding = true;

View File

@ -0,0 +1,43 @@
{ stdenv, fetchurl, runCommand, makeWrapper, node_webkit_0_9
}:
let
version = "0.3.7.2";
srcs = {
x86_64-linux = fetchurl {
url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux64.tar.xz";
sha256 = "0lm9k4fr73a9p00i3xj2ywa4wvjf9csadm0pcz8d6imwwq44sa8b";
};
i686-linux = fetchurl {
url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux32.tar.xz";
sha256 = "1dz1cp31qbwamm9pf8ydmzzhnb6d9z73bigdv3y74dgicz3dpr91";
};
};
popcorntimePackage = stdenv.mkDerivation rec {
name = "popcorntime-package-${version}";
src = srcs."${stdenv.system}";
sourceRoot = ".";
installPhase = ''
mkdir -p $out
cp -r *.so *.pak $out/
cat ${node_webkit_0_9}/bin/nw package.nw > $out/Popcorn-Time
chmod 555 $out/Popcorn-Time
'';
};
in
runCommand "popcorntime-${version}" {
buildInputs = [ makeWrapper ];
meta = with stdenv.lib; {
homepage = http://popcorntime.io/;
description = "An application that streams movies and TV shows from torrents";
license = stdenv.lib.licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ bobvanderlinden ];
};
}
''
mkdir -p $out/bin
makeWrapper ${popcorntimePackage}/Popcorn-Time $out/bin/popcorntime
''

View File

@ -0,0 +1,15 @@
{ stdenv, ghcWithPackages, xmessage, makeWrapper, packages ? (x: []) }:
let
taffybarEnv = ghcWithPackages (self: [ self.taffybar ] ++ packages self);
in stdenv.mkDerivation {
name = "taffybar-with-packages";
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
makeWrapper ${taffybarEnv}/bin/taffybar $out/bin/taffybar \
--set NIX_GHC "${taffybarEnv}/bin/ghc"
'';
}

View File

@ -13,7 +13,7 @@
infoFile: let
info = builtins.fromJSON (builtins.readFile infoFile);
repo = runCommand "maven-repository" {} ''
script = writeText "build-maven-repository.sh" ''
${lib.concatStrings (map (dep: let
inherit (dep) url sha1 groupId artifactId version;
@ -25,6 +25,10 @@ infoFile: let
'') info.dependencies)}
'';
repo = runCommand "maven-repository" {} ''
bash ${script}
'';
settings = writeText "settings.xml" ''
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

View File

@ -1,13 +1,13 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation {
name = "powerline-fonts-2014-12-27";
name = "powerline-fonts-2015-06-29";
src = fetchFromGitHub {
owner = "powerline";
repo = "fonts";
rev = "39c99c02652f25290b64e24a7e9a7cfb8ce89a3e";
sha256 = "9c83a30f36dc980582c0a079bd2896f95d19e1cb0ba5afbd8cae936c944256dd";
rev = "97dc451724fb24e1dd9892c988642b239b5dc67c";
sha256 = "1m0a8k916s74iv2k0kk36dz7d2hfb2zgf8m0b9hg71w4yd3bmj4w";
};
buildPhase = "true";

View File

@ -0,0 +1,24 @@
{ stdenv, fetchgit, flex, bison }:
stdenv.mkDerivation rec {
name = "dtc-${version}";
version = "1.4.1";
src = fetchgit {
url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git";
rev = "refs/tags/v${version}";
sha256 = "0z7yrv0sdhsh5wwy7yd1fvs4pqaq0n9m5i8w65lyibg77ahkasdg";
};
nativeBuildInputs = [ flex bison ];
installFlags = [ "INSTALL=install" "PREFIX=$(out)" ];
meta = with stdenv.lib; {
description = "Device Tree Compiler";
homepage = https://git.kernel.org/cgit/utils/dtc/dtc.git;
license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
};
}

View File

@ -868,9 +868,6 @@ self: super: {
# https://github.com/DanielG/cabal-helper/issues/2
cabal-helper = overrideCabal super.cabal-helper (drv: { preCheck = "export HOME=$TMPDIR"; });
# https://github.com/jgm/gitit/issues/494
gitit = markBroken super.gitit;
# https://github.com/ekmett/comonad/issues/25
comonad = dontCheck super.comonad;

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }:
let
version = "1.0.4";
version = "1.0.5";
in
stdenv.mkDerivation {
name = "elixir-${version}";
src = fetchurl {
url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
sha256 = "1babp3ff6hajdm247zl9rc311k973cdnv6dqaai7l8817gg1yd3r";
sha256 = "1f419pzlcgqx68rygwwyp2hzh4vgp0avjydd84dpa7finckc5raw";
};
buildInputs = [ erlang rebar makeWrapper ];

View File

@ -23,9 +23,9 @@ stdenv.mkDerivation rec {
'';
meta = {
description = "Fork of FLTK 1.3.0 with additional functionality.";
description = "Fork of FLTK 1.3.0 with additional functionality";
version = "${version}";
homepage = "http://non.tuxfamily.org/";
homepage = http://non.tuxfamily.org/;
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;

View File

@ -57,7 +57,7 @@ let requireSource = version: part: hash: (requireFile rec {
dontPatchELF = true;
meta = with stdenv.lib; {
description = "Oracle instant client libraries and sqlplus CLI.";
description = "Oracle instant client libraries and sqlplus CLI";
longDescription = ''
Oracle instant client provides access to Oracle databases (OCI,
OCCI, Pro*C, ODBC or JDBC). This package includes the sqlplus

View File

@ -1,24 +1,29 @@
{ stdenv, fetchurl, mcpp, bzip2, expat, openssl, db5 }:
{ stdenv, fetchFromGitHub, mcpp, bzip2, expat, openssl, db5 }:
stdenv.mkDerivation rec {
name = "zeroc-ice-3.5.1";
name = "zeroc-ice-${version}";
version = "3.6.0";
src = fetchurl {
url = "http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz";
sha256 = "14pk794p0fq3hcp50xmqnf9pp15dggiqhcnsav8xpnka9hcm37lq";
src = fetchFromGitHub {
owner = "zeroc-ice";
repo = "ice";
rev = "v${version}";
sha256 = "192lhynf369bbrvbb9nldc49n09kyxp8vg8j9d7w5h2c1yxpjgjq";
};
buildInputs = [ mcpp bzip2 expat openssl db5 ];
buildPhase = ''
cd cpp
make OPTIMIZE=yes
make -j $NIX_BUILD_CORES OPTIMIZE=yes
'';
installPhase = ''
make prefix=$out install
make -j $NIX_BUILD_CORES prefix=$out install
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = "http://www.zeroc.com/ice.html";
description = "The internet communications engine";

View File

@ -17,10 +17,10 @@ buildOcaml rec {
createFindlibDestdir = true;
hasSharedObjects = true;
preConfigure = "./bootstrap; echo breakhash";
preConfigure = "./bootstrap";
meta = with stdenv.lib; {
description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml.";
description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml";
homepage = http://code.google.com/p/bitstring/;
license = licenses.lgpl21Plus;
maintainers = [ maintainers.maurer ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }:
let
version = "5.3";
version = "5.4.2";
in stdenv.mkDerivation {
name = "PyQt-${version}";
@ -15,10 +15,13 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz";
sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2";
sha256 = "1402n5kwzd973b65avxk1j9js96wzfm0yw4rshjfy8l7an00bnac";
};
buildInputs = [ python pkgconfig makeWrapper lndir qt5 ];
buildInputs = [
python pkgconfig makeWrapper lndir
qt5.base qt5.svg qt5.webkit
];
propagatedBuildInputs = [ sip ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, python, isPyPy }:
if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
name = "sip-4.16.4";
name = "sip-4.16.6";
src = fetchurl {
url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
sha256 = "1xapklcz5ndilax0gr2h1fqzhdzh7yvxfb3y0rxfcag1qlzl9nnf";
sha256 = "0lj5f581dkwswlwpg7lbicqf940dvrp8vjbkhmyywd99ynxb4zcc";
};
configurePhase = ''

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "6.7";
version = "6.8";
name = "checkstyle-${version}";
src = fetchurl {
url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz";
sha256 = "0na3gfkxzgnnbjvr4sys4x3mb1s1hn9xy9krmvnxqq0wmm4lysjd";
sha256 = "1g1hlsyriciipllw4ki21sbdh5br225w0n86w9i3m2a9slac1rdq";
};
installPhase = ''

View File

@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = "http://te4.org/";
description = "Tales of Maj'eyal (rogue-like game)";
maintainers = [ stdenv.lib.maintainers.chattered ];
license = stdenv.lib.licenses.gpl3;
};
}

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "voxelands-${version}";
version = "1504.01";
version = "1506.00";
src = fetchurl {
url = "http://voxelands.com/downloads/${name}-src.tar.bz2";
sha256 = "17jv2pz0mbkkf7jw3jcpix8hb46b382hc7vki42n9rrdynydq5zp";
sha256 = "0j82zidxv2rzx7fmw5z27nfldqkixbrs1f6l3fs433xr3d05406y";
};
cmakeFlags = [

View File

@ -1,5 +1,6 @@
x@{builderDefsPackage
, rpm, cpio, xproto, libX11, libXmu, libXaw, libXt, tcl, tk, libXext
, fontconfig
, makeWrapper
, ...}:
builderDefsPackage
@ -33,7 +34,7 @@ rec {
phaseNames = ["addInputs" "doUnpack" "fixMakefiles" "fixCfiles" "fixTCLfiles"
"doConfigure" "doMakeInstall" "doWrap"];
doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH : "${tk}/lib"'';
doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH ' ' "${tk}/lib"'';
fixMakefiles = a.fullDepEntry ''
find . -name 'Makefile.in' -exec sed -re 's@^ ( *)(cd|[&][&])@ \1\2@' -i '{}' ';'

View File

@ -1,71 +1,62 @@
{stdenv, fetchurl, unzip}:
{ stdenv, fetchurl, bc, dtc
, toolsOnly ? false
, defconfig ? "allnoconfig"
, targetPlatforms
, filesToInstall
}:
let
platform = stdenv.platform;
configureFun = ubootConfig :
crossPlatform = stdenv.cross.platform;
makeTarget = if toolsOnly then "tools NO_SDL=1" else "all";
installDir = if toolsOnly then "$out/bin" else "$out";
buildFun = kernelArch:
''
make mrproper
make ${ubootConfig} NBOOT=1 LE=1
'';
buildFun = kernelArch :
''
unset src
if test -z "$crossConfig"; then
make clean all
make ${makeTarget}
else
make clean all ARCH=${kernelArch} CROSS_COMPILE=$crossConfig-
make ${makeTarget} ARCH=${kernelArch} CROSS_COMPILE=$crossConfig-
fi
'';
in
stdenv.mkDerivation {
name = "uboot-2012.07";
stdenv.mkDerivation rec {
name = "uboot-${defconfig}-${version}";
version = "2015.04";
src = fetchurl {
url = "ftp://ftp.denx.de/pub/u-boot/u-boot-2012.07.tar.bz2";
sha256 = "15nli6h9a127ldizsck3g4ysy5j4m910wawspgpadz4vjyk213p0";
url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
sha256 = "0q2x1wh1f6rjh9rmcnkf28dxcvp9hkhi4vzspqkzamb6b3gp06ha";
};
nativeBuildInputs = [ unzip ];
patches = [ ./vexpress-Use-config_distro_bootcmd.patch ];
dontStrip = true;
nativeBuildInputs = [ bc dtc ];
installPhase = ''
mkdir -p $out
cp u-boot.bin $out
cp u-boot u-boot.map $out
mkdir -p $out/bin
cp tools/{envcrc,mkimage} $out/bin
configurePhase = ''
make ${defconfig}
'';
# They have 'errno.h' included by a "-idirafter". As the gcc
# wrappers add the glibc include as "-idirafter", the only way
# we can make the glibc take priority is to -include errno.h.
postPatch = if stdenv ? glibc && stdenv.glibc != null then ''
sed -i 's,$(HOSTCPPFLAGS),-include ${stdenv.glibc}/include/errno.h $(HOSTCPPFLAGS),' config.mk
'' else "";
patches = [ ./sheevaplug-sdio.patch ./sheevaplug-config.patch ];
configurePhase =
assert platform ? uboot && platform.uboot != null;
assert (platform ? ubootConfig);
configureFun platform.ubootConfig;
buildPhase = assert (platform ? kernelArch);
buildFun platform.kernelArch;
crossAttrs = let
cp = stdenv.cross.platform;
in
assert cp ? uboot && cp.uboot != null;
{
configurePhase = assert (cp ? ubootConfig);
configureFun cp.ubootConfig;
installPhase = ''
mkdir -p ${installDir}
cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir}
'';
buildPhase = assert (cp ? kernelArch);
buildFun cp.kernelArch;
};
dontStrip = !toolsOnly;
crossAttrs = {
buildPhase = assert (crossPlatform ? kernelArch);
buildFun crossPlatform.kernelArch;
};
meta = with stdenv.lib; {
homepage = "http://www.denx.de/wiki/U-Boot/";
description = "Boot loader for embedded systems";
license = licenses.gpl2;
maintainers = [ maintainers.dezgeg ];
platforms = targetPlatforms;
};
}

View File

@ -1,57 +0,0 @@
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h
index 7c8497c..b0da1e5 100644
--- a/include/configs/sheevaplug.h
+++ b/include/configs/sheevaplug.h
@@ -50,7 +50,6 @@
#define CONFIG_CMD_MII
#define CONFIG_CMD_MMC
#define CONFIG_CMD_NAND
-#define CONFIG_JFFS2_NAND
#define CONFIG_CMD_PING
#define CONFIG_CMD_USB
/*
@@ -73,25 +72,36 @@
* it has to be rounded to sector size
*/
#define CONFIG_ENV_SIZE 0x20000 /* 128k */
-#define CONFIG_ENV_ADDR 0xa0000
-#define CONFIG_ENV_OFFSET 0xa0000 /* env starts here */
+#define CONFIG_ENV_ADDR 0x60000
+#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */
/*
* Default environment variables
*/
-#define CONFIG_BOOTCOMMAND "${x_bootcmd_kernel}; " \
+#define CONFIG_BOOTCOMMAND "${x_bootcmd_ubi0}; " \
+ "${x_bootcmd_ubi1}; " \
+ "${x_bootcmd_ubi2}; " \
+ "${x_bootcmd_ubi3}; " \
"setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \
- "${x_bootcmd_usb}; bootm 0x6400000;"
+ "${x_bootcmd_usb}; bootm 0x200000 0x1100000;"
#define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \
- "0x1ff00000@512k(rootfs) rw\0"
+ "0x1ff00000@512k(rootfs)\0"
+#define CONFIG_MTDPARTSK "orion_nand:512k(uboot)," \
+ "0x1ff00000@512k(rootfs)rw\0"
#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \
- "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \
+ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTSK \
+ "mtdparts=mtdparts="CONFIG_MTDPARTS \
"mtdids=nand0=orion_nand\0" \
- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \
+ "ipaddr=192.168.1.4\0" \
+ "x_bootcmd_ubi0=ubi part nand0,1\0" \
+ "x_bootcmd_ubi1=ubifsmount rootfs\0" \
+ "x_bootcmd_ubi2=ubifsload 0x200000 /nixos-kernel\0" \
+ "x_bootcmd_ubi3=ubifsload 0x1100000 /nixos-initrd\0" \
"x_bootcmd_usb=usb start\0" \
- "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0"
+ "x_bootargs_root=ubi.mtd=rootfs root=ubi0:rootfs rw rootfstype=ubifs " \
+ "init=/boot/nixos-init systemConfig=/boot/default/system\0"
/*
* Ethernet Driver configuration

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,141 @@
From 53a8612ff19f360363edaaf70137968f7fd6a1cd Mon Sep 17 00:00:00 2001
From: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Date: Mon, 8 Jun 2015 22:29:23 +0300
Subject: [PATCH] vexpress: Use config_distro_bootcmd
Also had to hack cli_readline.c, as one codepath in
cli_readline_into_buffer doesn't respect the timeout.
---
common/cli_readline.c | 12 +++++++++++-
include/configs/vexpress_ca9x4.h | 1 -
include/configs/vexpress_common.h | 35 +++++++++++++++++++++++------------
3 files changed, 34 insertions(+), 14 deletions(-)
diff --git a/common/cli_readline.c b/common/cli_readline.c
index 9a9fb35..ca997a9 100644
--- a/common/cli_readline.c
+++ b/common/cli_readline.c
@@ -517,6 +517,7 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
int plen = 0; /* prompt length */
int col; /* output column cnt */
char c;
+ int first = 1;
/* print prompt */
if (prompt) {
@@ -528,7 +529,16 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
for (;;) {
if (bootretry_tstc_timeout())
return -2; /* timed out */
- WATCHDOG_RESET(); /* Trigger watchdog, if needed */
+ if (first && timeout) {
+ uint64_t etime = endtick(timeout);
+
+ while (!tstc()) { /* while no incoming data */
+ if (get_ticks() >= etime)
+ return -2; /* timed out */
+ WATCHDOG_RESET();
+ }
+ first = 0;
+ }
#ifdef CONFIG_SHOW_ACTIVITY
while (!tstc()) {
diff --git a/include/configs/vexpress_ca9x4.h b/include/configs/vexpress_ca9x4.h
index 38ac4ed..993398c 100644
--- a/include/configs/vexpress_ca9x4.h
+++ b/include/configs/vexpress_ca9x4.h
@@ -13,6 +13,5 @@
#define CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP
#include "vexpress_common.h"
-#define CONFIG_BOOTP_VCI_STRING "U-boot.armv7.vexpress_ca9x4"
#endif /* VEXPRESS_CA9X4_H */
diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h
index db78c85..1dd069b 100644
--- a/include/configs/vexpress_common.h
+++ b/include/configs/vexpress_common.h
@@ -123,7 +123,6 @@
#define CONFIG_SYS_L2CACHE_OFF 1
#define CONFIG_INITRD_TAG 1
#define CONFIG_SYS_GENERIC_BOARD
-#define CONFIG_OF_LIBFDT 1
/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024)
@@ -152,6 +151,8 @@
#define CONFIG_SYS_SERIAL0 V2M_UART0
#define CONFIG_SYS_SERIAL1 V2M_UART1
+#include <config_distro_defaults.h>
+#include <config_cmd_default.h>
/* Command line configuration */
#define CONFIG_CMD_BDI
#define CONFIG_CMD_DHCP
@@ -169,7 +170,6 @@
#define CONFIG_SUPPORT_RAW_INITRD
#define CONFIG_CMD_FAT
-#define CONFIG_DOS_PARTITION 1
#define CONFIG_MMC 1
#define CONFIG_CMD_MMC
#define CONFIG_GENERIC_MMC
@@ -207,17 +207,28 @@
GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0)
+#include <config_distro_bootcmd.h>
+
/* Basic environment settings */
-#define CONFIG_BOOTCOMMAND "run bootflash;"
#ifdef CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP
+/*
+ * RAM starts at 0x6000_0000
+ * - U-Boot loaded @ 8M
+ * - Kernel loaded @ 32M
+ * - Initrd loaded @ 128M
+ * - DTB loaded @ 240M
+ */
#define CONFIG_PLATFORM_ENV_SETTINGS \
- "loadaddr=0x80008000\0" \
- "ramdisk_addr_r=0x61000000\0" \
- "kernel_addr=0x44100000\0" \
- "ramdisk_addr=0x44800000\0" \
- "maxramdisk=0x1800000\0" \
- "pxefile_addr_r=0x88000000\0" \
- "kernel_addr_r=0x80008000\0"
+ "fdtfile=vexpress-v2p-ca9.dtb\0" \
+ "kernel_addr_r=0x62000000\0" \
+ "ramdisk_addr_r=0x68000000\0" \
+ "maxramdisk=0x06000000\0" \
+ "fdt_addr_r=0x6f000000\0" \
+ "loadaddr=0x70000000\0" \
+ "pxefile_addr_r=0x71000000\0" \
+ "scriptaddr=0x72000000\0"
#elif defined(CONFIG_VEXPRESS_EXTENDED_MEMORY_MAP)
#define CONFIG_PLATFORM_ENV_SETTINGS \
"loadaddr=0xa0008000\0" \
@@ -240,7 +251,8 @@
"devtmpfs.mount=0 vmalloc=256M\0" \
"bootflash=run flashargs; " \
"cp ${ramdisk_addr} ${ramdisk_addr_r} ${maxramdisk}; " \
- "bootm ${kernel_addr} ${ramdisk_addr_r}\0"
+ "bootm ${kernel_addr} ${ramdisk_addr_r}\0" \
+ BOOTENV
/* FLASH and environment organization */
#define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
@@ -294,7 +306,6 @@
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot args buffer */
#define CONFIG_CMD_SOURCE
#define CONFIG_SYS_LONGHELP
-#define CONFIG_CMDLINE_EDITING 1
#define CONFIG_SYS_MAXARGS 16 /* max command args */
#endif /* VEXPRESS_COMMON_H */
--
2.4.4

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
homepage = http://github.com/grondo/edac-utils;
description = "handles the reporting of hardware-related memory errors.";
description = "Handles the reporting of hardware-related memory errors";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "3.10.81";
version = "3.10.82";
extraMeta.branch = "3.10";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "0hza9wsy9x2113crlwygl06lspwlahq09nifnmdacfkqcxp4r3ng";
sha256 = "177rzyd9mxvbacy242abk7annhlm48rbdspr78y5qqsqsgihh88y";
};
features.iwlwifi = true;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "3.14.45";
version = "3.14.46";
# Remember to update grsecurity!
extraMeta.branch = "3.14";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "0jfbwl0daba41cwkn67rk7an9g6cbljxq8wlwnr321mfnd3mnx4c";
sha256 = "1ran8fi1ldc89x3gpxwkkfl64mln4sl0rq5bbl8imlca5nljmzkb";
};
features.iwlwifi = true;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "3.18.16";
version = "3.18.17";
extraMeta.branch = "3.18";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "0c2530amgsk29ina9mfvlncki64w0zs16d2k8bghq3fv9k2qv3nr";
sha256 = "08512kqvy91jh26jld2h3d9xq3wsfbyylzawjgn75x4r5li6y5ha";
};
features.iwlwifi = true;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "4.0.6";
version = "4.0.7";
# Remember to update grsecurity!
extraMeta.branch = "4.0";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0n0w2k52m3cn286f413jmzwffyk3g28y4n7d41wc93zvgm720lr9";
sha256 = "01c68w6lygzjzllv7xgnd1hm3339rs0fvd8q26n6bdfa95aj554m";
};
features.iwlwifi = true;

View File

@ -1,13 +1,12 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "4.1";
modDirVersion = "4.1.0";
version = "4.1.1";
extraMeta.branch = "4.1";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "17rdly75zh49m6r32yy03xappl7ajcqbznq09pm1q7mcb841zxfa";
sha256 = "12bfih081cbqlgmgq1fqdvvpxga5saj4kkvhawsl4fpg4mybrml8";
};
features.iwlwifi = true;

View File

@ -65,17 +65,17 @@ rec {
};
grsecurity_stable = grsecPatch
{ kversion = "3.14.45";
revision = "201506232103";
{ kversion = "3.14.46";
revision = "201506300711";
branch = "stable";
sha256 = "1f4fm7r6pbspdw9l1d1mrjj1jpyh0l2vlq1lnqs54v3xzwr933py";
sha256 = "0xjqh7yc4vzgbnql16aylla9b0cjh442sywp8bvkh0ny5m3rj64l";
};
grsecurity_unstable = grsecPatch
{ kversion = "4.0.6";
revision = "201506232104";
{ kversion = "4.0.7";
revision = "201506300712";
branch = "test";
sha256 = "0him41fm0hw857ibvfmvpsrk2a8x492d4cy4hlbqyfk35rcmpfdf";
sha256 = "0rw0wx5nc244m2q7f9y832mmkv8gb8yv1rn1w2pyq8brckiswni7";
};
grsec_fix_path =

View File

@ -19,7 +19,7 @@ goPackages.buildGoPackage rec {
];
meta = with lib; {
description = "A tool to scrape a Prometheus client and dump the result as JSON.";
description = "A tool to scrape a Prometheus client and dump the result as JSON";
homepage = https://github.com/prometheus/prom2json;
license = licenses.asl20;
maintainers = with maintainers; [ benley ];

View File

@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = https://geteventstore.com/;
description = "Event sourcing database with processing logic in JavaScript.";
description = "Event sourcing database with processing logic in JavaScript";
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
platforms = with stdenv.lib.platforms; linux;

View File

@ -61,11 +61,13 @@ stdenv.mkDerivation rec {
"--enable-fhs"
"--sysconfdir=/etc"
"--localstatedir=/var"
"--bundled-libraries=${if enableKerberos && kerberos.implementation == "heimdal" then "NONE" else "com_err"}"
"--bundled-libraries=${if enableKerberos && kerberos != null &&
kerberos.implementation == "heimdal" then "NONE" else "com_err"}"
"--private-libraries=NONE"
"--builtin-libraries=replace"
]
++ optional (enableKerberos && kerberos.implementation == "krb5") "--with-system-mitkrb5"
++ optional (enableKerberos && kerberos != null &&
kerberos.implementation == "krb5") "--with-system-mitkrb5"
++ optional (!enableDomainController) "--without-ad-dc"
++ optionals (!enableLDAP) [ "--without-ldap" "--without-ads" ];

View File

@ -1,29 +1,38 @@
{ stdenv, fetchurl, pam, openssl, openssh, shadow }:
{ stdenv, fetchurl, pam, openssl, openssh, shadow, makeWrapper }:
stdenv.mkDerivation {
name = "shellinabox-2.14";
stdenv.mkDerivation rec {
version = "2.14";
name = "shellinabox-${version}";
src = fetchurl {
url = "https://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz";
url = "https://shellinabox.googlecode.com/files/shellinabox-${version}.tar.gz";
sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781";
};
buildInputs = [pam openssl openssh];
buildInputs = [ pam openssl openssh makeWrapper ];
patches = [ ./shellinabox-minus.patch ];
# Disable GSSAPIAuthentication errors as well as correct hardcoded path. Take /usr/games's place.
# Disable GSSAPIAuthentication errors. Also, paths in certain source files are
# hardcoded. Replace the hardcoded paths with correct paths.
preConfigure = ''
substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" ""
substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin"
substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login"
substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login"
'';
meta = {
substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl}/bin"
'';
postInstall = ''
wrapProgram $out/bin/shellinaboxd \
--prefix LD_LIBRARY_PATH : ${openssl}/lib
'';
meta = with stdenv.lib; {
homepage = https://code.google.com/p/shellinabox;
description = "Web based AJAX terminal emulator";
license = stdenv.lib.licenses.gpl2;
maintainers = [stdenv.lib.maintainers.tomberek];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
maintainers = with maintainers; [ tomberek lihop ];
platforms = platforms.linux;
};
}

View File

@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "world" ];
configureFlags = [ "--with-openssl" ]
++ optional (stdenv.isDarwin) "--with-uuid=e2fs"
++ optional (!stdenv.isDarwin) "--with-ossp-uuid";
patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];

View File

@ -1,4 +1,5 @@
{avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python, stdenv, which, zlib}:
{avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python
, stdenv, which, zlib}:
let version = "4.0.4";
pkgName = "tvheadend"; in
@ -13,7 +14,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python which zlib];
configureFlags = [ "--disable-dvbscan" ];
buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python
which zlib ];
preConfigure = "patchShebangs ./configure";

View File

@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
for item in $out/bin/*; do
substituteInPlace $item --replace "cut " "${coreutils}/bin/cut "
substituteInPlace $item --replace "sed " "${gnused}/bin/sed "
substituteInPlace $item --replace "grep " "${gnugrep}/bin/grep "
substituteInPlace $item --replace "egrep " "${gnugrep}/bin/egrep "
sed -i $item -e "s#[^e]grep #${gnugrep}/bin/grep #g" # Don't replace 'egrep'
substituteInPlace $item --replace "which " "${which}/bin/which "
substituteInPlace $item --replace "/usr/bin/file" "${file}/bin/file"
done

View File

@ -1,11 +1,11 @@
{ stdenv, fetchFromGitHub, valgrind }:
let version = "130"; in
let version = "131"; in
stdenv.mkDerivation rec {
name = "lz4-${version}";
src = fetchFromGitHub {
sha256 = "1050hwnbqyz2m26vayv942dh92689qp73chrbnqlg8awhlb5kyi5";
sha256 = "1bhvcq8fxxsqnpg5qa6k3nsyhq0nl0iarh08sqzclww27hlpyay2";
rev = "r${version}";
repo = "lz4";
owner = "Cyan4973";

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }:
let version = "4.0.1"; in
let version = "4.1"; in
stdenv.mkDerivation (rec {
name = "btrfs-progs-${version}";
src = fetchurl {
url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
sha256 = "1jwk0bnb4nvhw6b7i9mw5wkvqc6igx99qqg8zwpaj5nxkvki0bic";
sha256 = "1s5pzvi30mivxgbkx7nbqn38pfiw20rdnd6xiqsyfj7rpffzzimb";
};
buildInputs = [

View File

@ -17,11 +17,15 @@ let
autoconf automake libtool pkgconfig zlib libaio libxml2
acl sqlite liburcu attr
];
# Some of the headers reference acl
propagatedBuildInputs = [
acl
];
in
stdenv.mkDerivation
rec {
inherit (s) name version;
inherit buildInputs;
inherit buildInputs propagatedBuildInputs;
preConfigure = ''
./autogen.sh

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
buildInputs = [ libuuid ];
NIX_CFLAGS_COMPILE = "-std=gnu90";
meta = {
inherit version;
homepage = http://www.namesys.com/;

View File

@ -3,18 +3,15 @@
stdenv.mkDerivation rec {
name = "bmon-${version}";
version = "3.6";
version = "3.7";
src = fetchFromGitHub {
owner = "tgraf";
repo = "bmon";
rev = "v${version}";
sha256 = "16qwazays2j448kmfckv6wvh4rhmhc9q4vp1s75hm9z02cmhvk8q";
sha256 = "0rh0r8gabcsqq3d659yqk8nz6y4smsi7p1vwa2v584m2l2d0rqd6";
};
# https://github.com/tgraf/bmon/pull/24#issuecomment-98068887
postPatch = "sed '1i#include <net/if.h>' -i src/in_netlink.c";
buildInputs = [ autoconf automake pkgconfig ncurses confuse libnl ];
preConfigure = "sh ./autogen.sh";

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
fi
'';
NIX_CFLAGS_COMPILE = "-I.";
NIX_CFLAGS_COMPILE = "-I. -std=gnu90";
buildFlags = "memtest.bin";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, ncurses, pam ? null }:
stdenv.mkDerivation rec {
name = "screen-4.3.0";
name = "screen-4.3.1";
src = fetchurl {
url = "mirror://gnu/screen/${name}.tar.gz";
sha256 = "0ilccnwszaxr9wbrx0swh4fisha2rj2jiq76fwqikmv0rjdyhr2i";
sha256 = "0qwxd4axkgvxjigz9xs0kcv6qpfkrzr2gm43w9idx0z2mvw4jh7s";
};
preConfigure = ''

View File

@ -0,0 +1,39 @@
{ stdenv, fetchurl, openssl, net_snmp, libnl }:
stdenv.mkDerivation rec {
name = "keepalived-1.2.18";
src = fetchurl {
url = "http://keepalived.org/software/${name}.tar.gz";
sha256 = "07l1ywg44zj2s3wn9mh6y7qbcc0cgp6q1q39hnm0c5iv5izakkg5";
};
buildInputs = [ openssl net_snmp libnl ];
postPatch = ''
sed -i 's,$(DESTDIR)/usr/share,$out/share,g' Makefile.in
'';
# It doesn't know about the include/libnl<n> directory
NIX_CFLAGS_COMPILE="-I${libnl}/include/libnl3";
NIX_LDFLAGS="-lnl-3 -lnl-genl-3";
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
"--enable-snmp"
"--enable-sha1"
];
installFlags = [
"sysconfdir=\${out}/etc"
];
meta = with stdenv.lib; {
homepage = http://keepalived.org;
description = "routing software written in C";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@ -2,7 +2,7 @@
, libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl
, pkgconfig, zlib }:
let version = "0.5.9-18-g9977ec6"; in
let version = "0.5.9-21-g8c75168"; in
stdenv.mkDerivation {
name = "netsniff-ng-${version}";
@ -10,8 +10,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub rec {
repo = "netsniff-ng";
owner = repo;
rev = "9977ec6012452bfc5053dbc90aed53f55064c86b";
sha256 = "1ww0pm3v9wphjzfanswx2przps33v26q38alxljigj5cigh8ffms";
rev = "8c75168ed5005f70955dd4ade93dec6abf481852";
sha256 = "10awwwmpm555wl1z07pz20cq1lsy37r36m0aamck9ri5vyq6fdzw";
};
buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl

View File

@ -1,12 +1,12 @@
{ stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
stdenv.mkDerivation rec {
name = "tinc-1.1pre-2015-05-15";
name = "tinc-1.1pre-2015-06-20";
src = fetchgit {
url = "git://tinc-vpn.org/tinc";
rev = "613c121cdceec0199dc4d056857be021ed1d21de";
sha256 = "1l99bvqmb35hwb63fcy9gbjxasxnrgqw3i9f14f26dq3sz2j035l";
rev = "ebffa40aa7832459f63801e3a91cc741e6b339a8";
sha256 = "0yp40n5cgfadd7lmi28qv7cf5s14qqw5ga76y5xd0fjpacv6akcp";
};
buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ];

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
doCheck = false; # no check rule
meta = {
description = "PGP Tools is a collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc.";
description = "A collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc";
homepage = http://pgp-tools.alioth.debian.org;
platforms = gnupg.meta.platforms;
license = stdenv.lib.licenses.gpl2;

View File

@ -1316,6 +1316,8 @@ let
dtach = callPackage ../tools/misc/dtach { };
dtc = callPackage ../development/compilers/dtc { };
dub = callPackage ../development/tools/build-managers/dub { };
duff = callPackage ../tools/filesystems/duff { };
@ -1927,6 +1929,8 @@ let
kdbplus = callPackage_i686 ../applications/misc/kdbplus { };
keepalived = callPackage ../tools/networking/keepalived { };
kexectools = callPackage ../os-specific/linux/kexectools { };
keybase = callPackage ../applications/misc/keybase { };
@ -2631,6 +2635,8 @@ let
polkit_gnome = callPackage ../tools/security/polkit-gnome { };
popcorntime = callPackage ../applications/video/popcorntime { };
ponysay = callPackage ../tools/misc/ponysay { };
povray = callPackage ../tools/graphics/povray {
@ -10038,14 +10044,42 @@ let
tunctl = callPackage ../os-specific/linux/tunctl { };
ubootChooser = name : if name == "upstream" then ubootUpstream
else if name == "sheevaplug" then ubootSheevaplug
else if name == "guruplug" then ubootGuruplug
else if name == "nanonote" then ubootNanonote
else throw "Unknown uboot";
# TODO(dezgeg): either refactor & use ubootTools directly, or remove completely
ubootChooser = name: ubootTools;
ubootUpstream = callPackage ../misc/uboot { };
# Upstream U-Boots:
ubootTools = callPackage ../misc/uboot {
toolsOnly = true;
targetPlatforms = lib.platforms.linux;
filesToInstall = ["tools/dumpimage" "tools/mkenvimage" "tools/mkimage"];
};
ubootJetsonTK1 = callPackage ../misc/uboot {
defconfig = "jetson-tk1_defconfig";
targetPlatforms = ["armv7l-linux"];
filesToInstall = ["u-boot-dtb-tegra.bin"];
};
ubootPcduino3Nano = callPackage ../misc/uboot {
defconfig = "Linksprite_pcDuino3_Nano_defconfig";
targetPlatforms = ["armv7l-linux"];
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
};
ubootRaspberryPi = callPackage ../misc/uboot {
defconfig = "rpi_defconfig";
targetPlatforms = ["armv6l-linux"];
filesToInstall = ["u-boot.bin"];
};
# Intended only for QEMU's vexpress-a9 emulation target!
ubootVersatileExpressCA9 = callPackage ../misc/uboot {
defconfig = "vexpress_ca9x4_defconfig";
targetPlatforms = ["armv7l-linux"];
filesToInstall = ["u-boot"];
};
# Non-upstream U-Boots:
ubootSheevaplug = callPackage ../misc/uboot/sheevaplug.nix { };
ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
@ -10466,6 +10500,7 @@ let
abcde = callPackage ../applications/audio/abcde {
inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID;
inherit (pythonPackages) eyeD3;
libcdio = libcdio082;
};
@ -12572,6 +12607,10 @@ let
enableXft = true;
};
taffybar = callPackage ../applications/window-managers/taffybar {
inherit (haskellPackages) ghcWithPackages;
};
tagainijisho = callPackage ../applications/office/tagainijisho {};
tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {

View File

@ -280,8 +280,13 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
outputFiles = [ "FSharp.AutoComplete/bin/Release/*" ];
meta = {
description = "This project provides a command-line interface to the FSharp.Compiler.Service project. It is intended to be used as a backend service for rich editing or 'intellisense' features for editors.";
homepage = "https://github.com/fsharp/FSharp.AutoComplete";
description = "An interface to the FSharp.Compiler.Service project";
longDescription = ''
This project provides a command-line interface to the
FSharp.Compiler.Service project. It is intended to be used as a backend
service for rich editing or 'intellisense' features for editors.
'';
homepage = https://github.com/fsharp/FSharp.AutoComplete;
license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [ obadz ];
platforms = with stdenv.lib.platforms; linux;
@ -498,8 +503,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
dontStrip = true;
meta = {
description = "NDesk.Options is a callback-based program option parser for C#.";
homepage = "http://www.ndesk.org/Options";
description = "A callback-based program option parser for C#";
homepage = http://www.ndesk.org/Options;
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ obadz ];
platforms = with stdenv.lib.platforms; linux;
@ -677,8 +682,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
outputFiles = [ "bin/net40/*" ];
meta = {
description = "A declarative CLI argument/XML configuration parser for F# applications.";
homepage = "http://nessos.github.io/UnionArgParser/";
description = "A declarative CLI argument/XML configuration parser for F# applications";
homepage = http://nessos.github.io/UnionArgParser/;
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ obadz ];
platforms = with stdenv.lib.platforms; linux;

View File

@ -303,80 +303,6 @@ rec {
#kernelHeadersBaseConfig = "guruplug_defconfig";
};
versatileARM = {
name = "versatileARM";
kernelMajor = "2.6";
kernelHeadersBaseConfig = "versatile_defconfig";
kernelBaseConfig = "versatile_defconfig";
kernelArch = "arm";
kernelAutoModules = false;
kernelTarget = "zImage";
kernelExtraConfig =
''
MMC_ARMMMCI y
#MMC_SDHCI y
SERIO_AMBAKMI y
AEABI y
RTC_CLASS y
RTC_DRV_PL031 y
PCI y
SCSI y
SCSI_DMA y
SCSI_ATA y
BLK_DEV_SD y
BLK_DEV_SR y
SCSI_SYM53C8XX_2 y
TMPFS y
IPV6 m
REISERFS_FS m
EXT4_FS m
IP_PNP y
IP_PNP_DHCP y
IP_PNP_BOOTP y
ROOT_NFS y
'';
uboot = null;
};
integratorCP = {
name = "integratorCP";
kernelMajor = "2.6";
kernelHeadersBaseConfig = "integrator_defconfig";
kernelBaseConfig = "integrator_defconfig";
kernelArch = "arm";
kernelAutoModules = false;
kernelTarget = "zImage";
kernelExtraConfig =
''
# needed for qemu integrator/cp
SERIAL_AMBA_PL011 y
SERIAL_AMBA_PL011_CONSOLE y
SERIAL_AMBA_PL010 n
SERIAL_AMBA_PL010_CONSOLE n
MMC_ARMMMCI y
MMC_SDHCI y
SERIO_AMBAKMI y
CPU_ARM926T y
ARCH_INTEGRATOR_CP y
VGA_CONSOLE n
AEABI y
'';
uboot = null;
ubootConfig = "integratorcp_config";
};
integratorCPuboot = integratorCP // {
name = "integratorCPuboot";
kernelTarget = "uImage";
uboot = "upstream";
ubootConfig = "integratorcp_config";
};
fuloong2f_n32 = {
name = "fuloong2f_n32";
kernelMajor = "2.6";

View File

@ -171,7 +171,7 @@ let
pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix {
sip = self.sip_4_16;
pythonDBus = self.dbus;
qt5 = pkgs.qt53;
qt5 = pkgs.qt5;
};
sip = callPackage ../development/python-modules/sip { };
@ -3057,20 +3057,21 @@ let
eyeD3 = buildPythonPackage rec {
version = "0.7.4";
version = "0.7.8";
name = "eyeD3-${version}";
disabled = isPyPy;
src = pkgs.fetchurl {
url = "http://eyed3.nicfit.net/releases/${name}.tgz";
sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51";
url = "http://eyed3.nicfit.net/releases/${name}.tar.gz";
sha256 = "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86";
};
buildInputs = with self; [ paver ];
postInstall = ''
for prog in "$out/bin/"*; do
wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \
--prefix PATH : ${python}/bin
done
'';
@ -3386,6 +3387,29 @@ let
};
};
humanize = buildPythonPackage rec {
version = "0.5.1";
name = "humanize-${version}";
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/h/humanize/${name}.tar.gz";
md5 = "e8473d9dc1b220911cac2edd53b1d973";
};
buildInputs = with self; [ mock ];
doCheck = false;
meta = {
description = "python humanize utilities";
homepage = https://github.com/jmoiron/humanize;
license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer ];
platforms = platforms.linux; # can only test on linux
};
};
hovercraft = buildPythonPackage rec {
disabled = ! isPy3k;
name = "hovercraft-${version}";
@ -3410,6 +3434,25 @@ let
};
};
httpauth = buildPythonPackage rec {
version = "0.2";
name = "httpauth-${version}";
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/h/httpauth/${name}.tar.gz";
md5 = "78d1835a80955e68e98a3ca5ab7f7dbd";
};
doCheck = false;
meta = {
description = "WSGI HTTP Digest Authentication middleware";
homepage = https://github.com/jonashaag/httpauth;
license = licenses.bsd2;
maintainers = with maintainers; [ matthiasbeyer ];
};
};
itsdangerous = buildPythonPackage rec {
name = "itsdangerous-0.24";
@ -5195,8 +5238,8 @@ let
};
meta = {
description = "simple wrapper around fribidi.";
homepage = "https://github.com/pediapress/pyfribidi";
description = "A simple wrapper around fribidi";
homepage = https://github.com/pediapress/pyfribidi;
license = stdenv.lib.licenses.gpl2;
};
};
@ -6616,6 +6659,27 @@ let
};
};
klaus = buildPythonPackage rec {
version = "0.4.9";
name = "klaus-${version}";
src = pkgs.fetchurl {
url = "https://github.com/jonashaag/klaus/archive/${version}.tar.gz";
sha256 = "0qcbv3shz530mn53pdc68fx38ylz72033xsrz77ffi0cks32az2w";
};
propagatedBuildInputs = with self;
[ humanize httpauth dulwich pygments flask ];
meta = {
description = "The first Git web viewer that Just Works";
homepage = "https://github.com/jonashaag/klaus";
#license = licenses.mit; # I'm not sure about the license
maintainers = with maintainers; [ matthiasbeyer ];
platforms = platforms.linux; # Can only test linux
};
};
kombu = buildPythonPackage rec {
name = "kombu-${version}";
version = "3.0.24";
@ -9301,7 +9365,8 @@ let
};
meta = {
description = ''PicoSAT is a popular SAT solver written by Armin
description = "Python bindings for PicoSAT";
longDescription = ''PicoSAT is a popular SAT solver written by Armin
Biere in pure C. This package provides efficient Python bindings
to picosat on the C level, i.e. when importing pycosat, the
picosat solver becomes part of the Python process itself. For
@ -11013,12 +11078,12 @@ let
};
repocheck = buildPythonPackage rec {
name = "repocheck-2015-05-04";
name = "repocheck-2015-06-27";
disabled = isPy26 || isPy27;
src = pkgs.fetchFromGitHub {
sha256 = "0zk8n4sm7i488wgqljkfjd2j0hm0qimxr9dhdz6d7xal7apwh71x";
rev = "db8c336f071ead3375805b7a78ca3d7c862536db";
sha256 = "0psihwph10sx07xc2gfch739laz7x1kwl5c991cci8cfn5jzy8bp";
rev = "231e05b4fa55955ef8492581a15f508ffa0037d4";
repo = "repocheck";
owner = "kynikos";
};