diff --git a/.travis.yml b/.travis.yml
index d34a7831d65..6fa426d36de 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,5 @@
language: python
python: "3.4"
-script: ./maintainers/scripts/travis-nox-review-pr.sh
+before_install: ./maintainers/scripts/travis-nox-review-pr.sh nix
+install: ./maintainers/scripts/travis-nox-review-pr.sh nox
+script: ./maintainers/scripts/travis-nox-review-pr.sh build
diff --git a/.version b/.version
index d3a61dbd830..eab81229314 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-14.10
\ No newline at end of file
+14.11
\ No newline at end of file
diff --git a/doc/contributing.xml b/doc/contributing.xml
index bcea404baee..f622845bf1a 100644
--- a/doc/contributing.xml
+++ b/doc/contributing.xml
@@ -10,9 +10,7 @@
$ git clone git://github.com/NixOS/nixpkgs.git
- $ cd nixpkgs/pkgs/top-level
-
- $ nix-build -A tarball release.nix
+ $ nix-build -A manual nixpkgs/pkgs/top-level/release.nix
Inside the built derivation you shall see manual/index.html file.
diff --git a/doc/language-support.xml b/doc/language-support.xml
index 5e49121e695..e1049534c6b 100644
--- a/doc/language-support.xml
+++ b/doc/language-support.xml
@@ -108,7 +108,7 @@ a preConfigure hook to generate a configuration
file used by Makefile.PL:
-{buildPerlPackage, fetchurl, db}:
+{ buildPerlPackage, fetchurl, db }:
buildPerlPackage rec {
name = "BerkeleyDB-0.36";
@@ -191,45 +191,424 @@ you need it.
-Python
+Python
+
+
+ Currently supported interpreters are python26, python27,
+ python32, python33, python34
+ and pypy.
+
+
+
+ python is an alias of python27 and python3 is an alias of python34.
+
+
+
+ python26 and python27 do not include modules that require
+ external dependencies (to reduce dependency bloat). Following modules need to be added as
+ buildInput explicitly:
+
+
+
+ python.modules.bsddb
+ python.modules.curses
+ python.modules.curses_panel
+ python.modules.crypt
+ python.modules.gdbm
+ python.modules.sqlite3
+ python.modules.tkinter
+ python.modules.readline
+
+
+For convenience python27Full and python26Full
+are provided with all modules included.
Python packages that
- use setuptools,
- which many Python packages do nowadays, can be built very simply using
- the buildPythonPackage function. This function is
- implemented
- in pkgs/development/python-modules/generic/default.nix
- and works similarly to buildPerlPackage. (See
- for details.)
+ use setuptools or distutils,
+ can be built using the buildPythonPackage function as documented below.
- Python packages that use buildPythonPackage are
- defined
- in pkgs/top-level/python-packages.nix.
- Most of them are simple. For example:
-
-
-twisted = buildPythonPackage {
- name = "twisted-8.1.0";
-
- src = fetchurl {
- url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/Twisted-8.1.0.tar.bz2;
- sha256 = "0q25zbr4xzknaghha72mq57kh53qw1bf8csgp63pm9sfi72qhirl";
- };
-
- propagatedBuildInputs = [ pkgs.ZopeInterface ];
-
- meta = {
- homepage = http://twistedmatrix.com/;
- description = "Twisted, an event-driven networking engine written in Python";
- license = "MIT";
- };
-};
-
+ All packages depending on any Python interpreter get appended $out/${python.libPrefix}/site-packages
+ to $PYTHONPATH if such directory exists.
+
+
+ Useful attributes on interpreters packages:
+
+
+
+ libPrefix
+
+ Name of the folder in ${python}/lib/ for corresponding interpreter.
+
+
+
+
+ interpreter
+
+ Alias for ${python}/bin/${executable}.
+
+
+
+
+ buildEnv
+
+ Function to build python interpreter environments with extra packages bundled together.
+ See for usage and documentation.
+
+
+
+
+ sitePackages
+
+ Alias for lib/${libPrefix}/site-packages.
+
+
+
+
+ executable
+
+ Name of the interpreter executable, ie python3.4.
+
+
+
+
+buildPythonPackage function
+
+
+ The function is implemented in
+ pkgs/development/python-modules/generic/default.nix.
+ Example usage:
+
+
+ twisted = buildPythonPackage {
+ name = "twisted-8.1.0";
+
+ src = pkgs.fetchurl {
+ url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/Twisted-8.1.0.tar.bz2;
+ sha256 = "0q25zbr4xzknaghha72mq57kh53qw1bf8csgp63pm9sfi72qhirl";
+ };
+
+ propagatedBuildInputs = [ self.ZopeInterface ];
+
+ meta = {
+ homepage = http://twistedmatrix.com/;
+ description = "Twisted, an event-driven networking engine written in Python";
+ license = stdenv.lib.licenses.mit;
+ };
+ };
+
+
+ Most of Python packages that use buildPythonPackage are defined
+ in pkgs/top-level/python-packages.nix
+ and generated for each python interpreter separately into attribute sets python26Packages,
+ python27Packages, python32Packages, python33Packages,
+ python34Packages and pypyPackages.
+
+
+
+ buildPythonPackage mainly does four things:
+
+
+
+ In the configurePhase, it patches
+ setup.py to always include setuptools before
+ distutils for monkeypatching machinery to take place.
+
+
+
+ In the buildPhase, it calls
+ ${python.interpreter} setup.py build ...
+
+
+
+ In the installPhase, it calls
+ ${python.interpreter} setup.py install ...
+
+
+
+ In the postFixup phase, wrapPythonPrograms
+ bash function is called to wrap all programs in $out/bin/*
+ directory to include $PYTHONPATH and $PATH
+ environment variables.
+
+
+
+
+ By default doCheck = true is set and tests are run with
+ ${python.interpreter} setup.py test command in checkPhase.
+
+ propagatedBuildInputs packages are propagated to user environment.
+
+
+ By default meta.platforms is set to the same value
+ as the interpreter unless overriden otherwise.
+
+
+
+
+ buildPythonPackage parameters
+ (all parameters from mkDerivation function are still supported)
+
+
+
+ namePrefix
+
+ Prepended text to ${name} parameter.
+ Defaults to "python3.3-" for Python 3.3, etc. Set it to
+ ""
+ if you're packaging an application or a command line tool.
+
+
+
+
+ disabled
+
+ If true, package is not build for
+ particular python interpreter version. Grep around
+ pkgs/top-level/python-packages.nix
+ for examples.
+
+
+
+
+ setupPyInstallFlags
+
+ List of flags passed to setup.py install command.
+
+
+
+
+ setupPyBuildFlags
+
+ List of flags passed to setup.py build command.
+
+
+
+
+ pythonPath
+
+ List of packages to be added into $PYTHONPATH.
+ Packages in pythonPath are not propagated into user environment
+ (contrary to propagatedBuildInputs).
+
+
+
+
+ preShellHook
+
+ Hook to execute commands before shellHook.
+
+
+
+
+ postShellHook
+
+ Hook to execute commands after shellHook.
+
+
+
+
+ distutilsExtraCfg
+
+ Extra lines passed to [easy_install] section of
+ distutils.cfg (acts as global setup.cfg
+ configuration).
+
+
+
+
+
+
+
+python.buildEnv function
+
+ Create Python environments using low-level pkgs.buildEnv function. Example default.nix:
+
+
+ {};
+
+ python.buildEnv.override {
+ extraLibs = [ pkgs.pythonPackages.pyramid ];
+ ignoreCollisions = true;
+ }
+ ]]>
+
+
+ Running nix-build will create
+ /nix/store/cf1xhjwzmdki7fasgr4kz6di72ykicl5-python-2.7.8-env
+ with wrapped binaries in bin/.
+
+
+
+
+ python.buildEnv arguments
+
+
+
+ extraLibs
+
+ List of packages installed inside the environment.
+
+
+
+
+ postBuild
+
+ Shell command executed after the build of environment.
+
+
+
+
+ ignoreCollisions
+
+ Ignore file collisions inside the environment (default is false).
+
+
+
+
+
+Tools
+
+Packages inside nixpkgs are written by hand. However many tools
+exist in community to help save time. No tool is preferred at the moment.
+
+
+
+
+
+ python2nix
+ by Vladimir Kirillov
+
+
+
+ pypi2nix
+ by Rok Garbas
+
+
+
+ pypi2nix
+ by Jaka Hudoklin
+
+
+
+
+
+
+Development
+
+
+ To develop Python packages bulidPythonPackage has
+ additional logic inside shellPhase to run
+ ${python.interpreter} setup.py develop for the package.
+
+
+
+ Given a default.nix:
+
+
+ {};
+
+ buildPythonPackage {
+ name = "myproject";
+
+ buildInputs = with pkgs.pythonPackages; [ pyramid ];
+
+ src = ./.;
+ }
+ ]]>
+
+
+ Running nix-shell with no arguments should give you
+ the environment in which the package would be build with
+ nix-build.
+
+
+
+ Shortcut to setup environments with C headers/libraries and python packages:
+
+ $ nix-shell -p pythonPackages.pyramid zlib libjpeg git
+
+
+
+ There is a boolean value lib.inNixShell set to
+ true if nix-shell is invoked.
+
+
+
+
+FAQ
+
+
+
+
+ How to solve circular dependencies?
+
+ If you have packages A and B that
+ depend on each other, when packaging B override package
+ A not to depend on B as input
+ (and also the other way around).
+
+
+
+
+ install_data / data_files problems resulting into error: could not create '/nix/store/6l1bvljpy8gazlsw2aw9skwwp4pmvyxw-python-2.7.8/etc': Permission denied
+
+
+ Known bug in setuptools install_data does not respect --prefix. Example of
+ such package using the feature is pkgs/tools/X11/xpra/default.nix. As workaround
+ install it as an extra preInstall step:
+
+ ${python.interpreter} setup.py install_data --install-dir=$out --root=$out
+sed -i '/ = data_files/d' setup.py
+
+
+
+
+ Rationale of non-existent global site-packages
+
+ There is no need to have global site-packages in Nix. Each package has isolated
+ dependency tree and installing any python package will only populate $PATH
+ inside user environment. See to create self-contained
+ interpreter with a set of packages.
+
+
+
+
+
+
+
+
+Contributing guidelines
+
+ Following rules are desired to be respected:
+
+
+
+
+
+ Make sure package builds for all python interpreters. Use disabled argument to
+ buildPythonPackage to set unsupported interpreters.
+
+
+
+ If tests need to be disabled for a package, make sure you leave a comment about reasoning.
+
+
+
+ Packages in pkgs/top-level/python-packages.nix
+ are sorted quasi-alphabetically to avoid merge conflicts.
+
+
+
+
+
+
diff --git a/doc/meta.xml b/doc/meta.xml
index fc0ff977792..a0ed3069b68 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -116,6 +116,13 @@ hello-2.3 A program that produces a familiar, friendly greeting
Package version.
+
+ branch
+ Release branch. Used to specify that a package is not
+ going to receive updates that are not in this branch; for example, Linux
+ kernel 3.0 is supposed to be updated to 3.0.X, not 3.1.
+
+
homepage
The package’s homepage. Example:
diff --git a/doc/quote-literals.xsl b/doc/quote-literals.xsl
deleted file mode 100644
index 03971bff90d..00000000000
--- a/doc/quote-literals.xsl
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
- `'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 28e7b7d89f4..00fa7567c07 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -150,8 +150,8 @@ genericBuild
GNU tar.
- gzip and
- bzip2.
+ gzip, bzip2
+ and xz.
GNU Make. It has been patched to provide
nested
output that can be fed into the
@@ -341,9 +341,11 @@ It supports the following files by default:
Tar files
These can optionally be compressed using
gzip (.tar.gz,
- .tgz or .tar.Z) or
+ .tgz or .tar.Z),
bzip2 (.tar.bz2 or
- .tbz2).
+ .tbz2) or xz
+ (.tar.xz or
+ .tar.lzma).
@@ -445,9 +447,10 @@ Additional file types can be supported by setting the
The list of patches. They must be in the format
accepted by the patch command, and may
optionally be compressed using gzip
- (.gz) or bzip2
- (.bz2).
-
+ (.gz), bzip2
+ (.bz2) or xz
+ (.xz).
+
patchFlags
@@ -1117,12 +1120,9 @@ echo @foo@
Python
Adds the
- lib/python2.5/site-packages subdirectory of
+ lib/${python.libPrefix}/site-packages subdirectory of
each build input to the PYTHONPATH environment
- variable.
-
- This should be generalised: the Python version
- shouldn’t be hard-coded.
+ variable.
diff --git a/lib/customisation.nix b/lib/customisation.nix
index 90a0c65058d..04a5cb42033 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -62,6 +62,8 @@ rec {
makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
deepOverride = newArgs:
makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs);
+ overrideDerivation = fdrv:
+ makeOverridable (args: overrideDerivation (f args) fdrv) origArgs;
})
else ff;
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 35fcbd072af..93fe1118c94 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -1,303 +1,405 @@
let
+
+ lib = import ./default.nix;
+
spdx = lic: lic // {
- url = "http://spdx.org/licenses/${lic.shortName}";
- };
+ url = "http://spdx.org/licenses/${lic.spdxId}";
+ };
+
in
-rec {
+lib.mapAttrs (n: v: v // { shortName = n; }) rec {
/* License identifiers from spdx.org where possible.
* If you cannot find your license here, then look for a similar license or
* add it to this list. The URL mentioned above is a good source for inspiration.
*/
+ afl21 = spdx {
+ spdxId = "AFL-2.1";
+ fullName = "Academic Free License";
+ };
+
agpl3 = spdx {
- shortName = "AGPL-3.0";
+ spdxId = "AGPL-3.0";
fullName = "GNU Affero General Public License v3.0";
};
agpl3Plus = {
- shortName = "AGPL-3.0+";
fullName = "GNU Affero General Public License v3.0 or later";
inherit (agpl3) url;
};
+ amazonsl = {
+ fullName = "Amazon Software License";
+ url = http://aws.amazon.com/asl/;
+ free = false;
+ };
+
amd = {
- shortName = "amd";
fullName = "AMD License Agreement";
url = http://developer.amd.com/amd-license-agreement/;
};
apsl20 = spdx {
- shortName = "APSL-2.0";
+ spdxId = "APSL-2.0";
fullName = "Apple Public Source License 2.0";
};
+ artistic1 = spdx {
+ spdxId = "Artistic-1.0";
+ fullName = "Artistic License 1.0";
+ };
+
artistic2 = spdx {
- shortName = "Artistic-2.0";
+ spdxId = "Artistic-2.0";
fullName = "Artistic License 2.0";
};
asl20 = spdx {
- shortName = "Apache-2.0";
+ spdxId = "Apache-2.0";
fullName = "Apache License 2.0";
};
boost = spdx {
- shortName = "BSL-1.0";
+ spdxId = "BSL-1.0";
fullName = "Boost Software License 1.0";
};
bsd2 = spdx {
- shortName = "BSD-2-Clause";
+ spdxId = "BSD-2-Clause";
fullName = ''BSD 2-clause "Simplified" License'';
};
bsd3 = spdx {
- shortName = "BSD-3-Clause";
+ spdxId = "BSD-3-Clause";
fullName = ''BSD 3-clause "New" or "Revised" License'';
};
bsdOriginal = spdx {
- shortName = "BSD-4-Clause";
+ spdxId = "BSD-4-Clause";
fullName = ''BSD 4-clause "Original" or "Old" License'';
};
cc0 = spdx {
- shortName = "CC0-1.0";
- fullName = ''Creative Commons Zero v1.0 Universal'';
+ spdxId = "CC0-1.0";
+ fullName = "Creative Commons Zero v1.0 Universal";
};
cc-by-30 = spdx {
- shortName = "CC-BY-3.0";
+ spdxId = "CC-BY-3.0";
fullName = "Creative Commons Attribution 3.0";
};
+ cc-by-sa-30 = spdx {
+ spdxId = "CC-BY-SA-3.0";
+ fullName = "Creative Commons Attribution Share Alike 3.0";
+ };
+
cc-by-40 = spdx {
- shortName = "CC-BY-4.0";
+ spdxId = "CC-BY-4.0";
fullName = "Creative Commons Attribution 4.0";
};
cddl = spdx {
- shortName = "CDDL-1.0";
+ spdxId = "CDDL-1.0";
fullName = "Common Development and Distribution License 1.0";
};
+ cecill20 = spdx {
+ spdxId = "CECILL-2.0";
+ fullName = "CeCILL Free Software License Agreement v2.0";
+ };
+
cecill-b = spdx {
- shortName = "CECILL-B";
+ spdxId = "CECILL-B";
fullName = "CeCILL-B Free Software License Agreement";
};
cecill-c = spdx {
- shortName = "CECILL-C";
+ spdxId = "CECILL-C";
fullName = "CeCILL-C Free Software License Agreement";
};
cpl10 = spdx {
- shortName = "CPL-1.0";
+ spdxId = "CPL-1.0";
fullName = "Common Public License 1.0";
};
epl10 = spdx {
- shortName = "EPL-1.0";
+ spdxId = "EPL-1.0";
fullName = "Eclipse Public License 1.0";
};
- free = "free";
+ free = {
+ fullName = "Unspecified free software license";
+ };
+
+ gpl1 = spdx {
+ shortName = "GPL-1.0";
+ fullName = "GNU General Public License v1.0 only";
+ };
+
+ gpl1Plus = spdx {
+ spdxId = "GPL-1.0+";
+ fullName = "GNU General Public License v1.0 or later";
+ };
gpl2 = spdx {
- shortName = "GPL-2.0";
+ spdxId = "GPL-2.0";
fullName = "GNU General Public License v2.0 only";
};
+ gpl2ClasspathPlus = {
+ fullName = "GNU General Public License v2.0 or later (with Classpath exception)";
+ url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
+ };
+
gpl2Oss = {
- shortName = "GPL-2.0-with-OSS";
fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
url = http://www.mysql.com/about/legal/licensing/foss-exception;
};
gpl2Plus = spdx {
- shortName = "GPL-2.0+";
+ spdxId = "GPL-2.0+";
fullName = "GNU General Public License v2.0 or later";
};
gpl3 = spdx {
- shortName = "GPL-3.0";
+ spdxId = "GPL-3.0";
fullName = "GNU General Public License v3.0 only";
};
gpl3Plus = spdx {
- shortName = "GPL-3.0+";
+ spdxId = "GPL-3.0+";
fullName = "GNU General Public License v3.0 or later";
};
gpl3ClasspathPlus = {
- shortName = "GPL-3.0+-with-classpath-exception";
fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
};
+ # Intel's license, seems free
+ iasl = {
+ fullName = "iASL";
+ url = http://www.calculate-linux.org/packages/licenses/iASL;
+ };
+
inria = {
- shortName = "INRIA-NCLA";
fullName = "INRIA Non-Commercial License Agreement";
url = "http://compcert.inria.fr/doc/LICENSE";
};
ipa = spdx {
- shortName = "IPA";
+ spdxId = "IPA";
fullName = "IPA Font License";
};
ipl10 = spdx {
- shortName = "IPL-1.0";
+ spdxId = "IPL-1.0";
fullName = "IBM Public License v1.0";
};
isc = spdx {
- shortName = "ISC";
+ spdxId = "ISC";
fullName = "ISC License";
};
lgpl2 = spdx {
- shortName = "LGPL-2.0";
+ spdxId = "LGPL-2.0";
fullName = "GNU Library General Public License v2 only";
};
lgpl2Plus = spdx {
- shortName = "LGPL-2.0+";
+ spdxId = "LGPL-2.0+";
fullName = "GNU Library General Public License v2 or later";
};
lgpl21 = spdx {
- shortName = "LGPL-2.1";
+ spdxId = "LGPL-2.1";
fullName = "GNU Library General Public License v2.1 only";
};
lgpl21Plus = spdx {
- shortName = "LGPL-2.1+";
+ spdxId = "LGPL-2.1+";
fullName = "GNU Library General Public License v2.1 or later";
};
lgpl3 = spdx {
- shortName = "LGPL-3.0";
+ spdxId = "LGPL-3.0";
fullName = "GNU Lesser General Public License v3.0 only";
};
lgpl3Plus = spdx {
- shortName = "LGPL-3.0+";
+ spdxId = "LGPL-3.0+";
fullName = "GNU Lesser General Public License v3.0 or later";
};
libpng = spdx {
- shortName = "Libpng";
+ spdxId = "Libpng";
fullName = "libpng License";
};
- libtiff = {
- shortName = "libtiff";
- fullName = "libtiff license";
- url = https://fedoraproject.org/wiki/Licensing/libtiff;
+ libtiff = spdx {
+ spdxId = "libtiff";
+ fullName = "libtiff License";
};
llgpl21 = {
- shortName = "LLGPL-2.1";
fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp";
url = http://opensource.franz.com/preamble.html;
};
+ lppl12 = spdx {
+ spdxId = "LPPL-1.2";
+ fullName = "LaTeX Project Public License v1.2";
+ };
+
lpl-102 = spdx {
- shortName = "LPL-1.02";
+ spdxId = "LPL-1.02";
fullName = "Lucent Public License v1.02";
};
# spdx.org does not (yet) differentiate between the X11 and Expat versions
# for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions
mit = spdx {
- shortName = "MIT";
+ spdxId = "MIT";
fullName = "MIT License";
};
mpl11 = spdx {
- shortName = "MPL-1.1";
+ spdxId = "MPL-1.1";
fullName = "Mozilla Public License 1.1";
};
mpl20 = spdx {
- shortName = "MPL-2.0";
+ spdxId = "MPL-2.0";
fullName = "Mozilla Public License 2.0";
};
msrla = {
- shortName = "MSR-LA";
fullName = "Microsoft Research License Agreement";
url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
};
ncsa = spdx {
- shortName = "NCSA";
+ spdxId = "NCSA";
fullName = "University of Illinois/NCSA Open Source License";
};
ofl = spdx {
- shortName = "OFL-1.1";
+ spdxId = "OFL-1.1";
fullName = "SIL Open Font License 1.1";
};
openssl = spdx {
- shortName = "OpenSSL";
+ spdxId = "OpenSSL";
fullName = "OpenSSL License";
};
+ php301 = spdx {
+ spdxId = "PHP-3.01";
+ fullName = "PHP License v3.01";
+ };
+
postgresql = spdx {
- shortName = "PostgreSQL";
+ spdxId = "PostgreSQL";
fullName = "PostgreSQL License";
};
psfl = spdx {
- shortName = "Python-2.0";
+ spdxId = "Python-2.0";
fullName = "Python Software Foundation License version 2";
#url = http://docs.python.org/license.html;
};
publicDomain = {
- shortName = "Public Domain";
- fullname = "Public Domain";
+ fullName = "Public Domain";
+ };
+
+ qpl = spdx {
+ spdxId = "QPL-1.0";
+ fullName = "Q Public License 1.0";
+ };
+
+ qwt = {
+ fullName = "Qwt License, Version 1.0";
+ url = http://qwt.sourceforge.net/qwtlicense.html;
+ };
+
+ ruby = spdx {
+ spdxId = "Ruby";
+ fullName = "Ruby License";
+ };
+
+ sgi-b-20 = spdx {
+ spdxId = "SGI-B-2.0";
+ fullName = "SGI Free Software License B v2.0";
};
sleepycat = spdx {
- shortName = "Sleepycat";
- fullName = "Sleepycat License";
+ spdxId = "Sleepycat";
+ fullName = "Sleepycat License";
};
- tcltk = {
- shortName = "Tcl/Tk";
- fullName = "Tcl/Tk license";
- url = http://www.tcl.tk/software/tcltk/license.html;
+ tcltk = spdx {
+ spdxId = "TCL";
+ fullName = "TCL/TK License";
};
- unfree = "unfree";
+ unfree = {
+ fullName = "Unfree";
+ free = false;
+ };
- unfreeRedistributable = "unfree-redistributable";
+ unfreeRedistributable = {
+ fullName = "Unfree redistributable";
+ free = false;
+ };
- unfreeRedistributableFirmware = "unfree-redistributable-firmware";
+ unfreeRedistributableFirmware = {
+ fullName = "Unfree redistributable firmware";
+ # Note: we currently consider these "free" for inclusion in the
+ # channel and NixOS images.
+ };
+
+ unlicense = spdx {
+ spdxId = "Unlicense";
+ fullName = "The Unlicense";
+ };
+
+ vsl10 = spdx {
+ spdxId = "VSL-1.0";
+ fullName = "Vovida Software License v1.0";
+ };
+
+ w3c = spdx {
+ spdxId = "W3C";
+ fullName = "W3C Software Notice and License";
+ };
wadalab = {
- shortName = "wadalab";
fullName = "Wadalab Font License";
url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab;
};
+ wtfpl = spdx {
+ spdxId = "WTFPL";
+ fullName = "Do What The F*ck You Want To Public License";
+ };
+
zlib = spdx {
- shortName = "Zlib";
+ spdxId = "Zlib";
fullName = "zlib License";
};
zpt20 = spdx { # FIXME: why zpt* instead of zpl*
- shortName = "ZPL-2.0";
+ spdxId = "ZPL-2.0";
fullName = "Zope Public License 2.0";
};
zpt21 = spdx {
- shortName = "ZPL-2.1";
+ spdxId = "ZPL-2.1";
fullName = "Zope Public License 2.1";
};
diff --git a/lib/lists.nix b/lib/lists.nix
index 566ee89c95b..d57c4893daa 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -223,4 +223,14 @@ rec {
crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f];
+ # Remove duplicate elements from the list
+ unique = list:
+ if list == [] then
+ []
+ else
+ let
+ x = head list;
+ xs = unique (drop 1 list);
+ in [x] ++ remove x xs;
+
}
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 7c75bfdc0c6..bb9f2c89ad2 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -5,12 +5,13 @@
alphabetically sorted. */
_1126 = "Christian Lask ";
+ abbradar = "Nikolay Amiantov ";
aforemny = "Alexander Foremny ";
+ aherrmann = "Andreas Herrmann ";
ak = "Alexander Kjeldaas ";
akc = "Anders Claesson ";
algorith = "Dries Van Daele ";
all = "Nix Committers ";
- abbradar = "Nikolay Amiantov ";
amiddelk = "Arie Middelkoop ";
amorsillo = "Andrew Morsillo ";
AndersonTorres = "Anderson Torres ";
@@ -18,10 +19,12 @@
antono = "Antono Vasiljev ";
aristid = "Aristid Breitkreuz ";
arobyn = "Alexei Robyn ";
+ asppsa = "Alastair Pharo ";
astsmtl = "Alexander Tsamutali ";
aszlig = "aszlig ";
auntie = "Jonathan Glines ";
aycanirican = "Aycan iRiCAN ";
+ balajisivaraman = "Balaji Sivaraman";
bbenoist = "Baptist BENOIST ";
bennofs = "Benno Fünfstück ";
berdario = "Dario Bertini ";
@@ -37,42 +40,57 @@
cdepillabout = "Dennis Gosnell ";
cfouche = "Chaddaï Fouché ";
chaoflow = "Florian Friesdorf ";
+ christopherpoole = "Christopher Mark Poole ";
coconnor = "Corey O'Connor ";
+ codyopel = "Cody Opel ";
copumpkin = "Dan Peebles ";
coroa = "Jonas Hörsch ";
cstrahan = "Charles Strahan ";
DamienCassou = "Damien Cassou ";
- DerGuteMoritz = "Moritz Heidkamp ";
+ davidrusu = "David Rusu ";
dbohdan = "Danyil Bohdan ";
+ DerGuteMoritz = "Moritz Heidkamp ";
dmalikov = "Dmitry Malikov ";
doublec = "Chris Double ";
ederoyd46 = "Matthew Brown ";
edwtjo = "Edward Tjörnhammar ";
eelco = "Eelco Dolstra ";
+ eikek = "Eike Kettner ";
ellis = "Ellis Whitehead ";
emery = "Emery Hemingway ";
ertes = "Ertugrul Söylemez ";
+ exlevan = "Alexey Levan ";
falsifian = "James Cook ";
flosse = "Markus Kohlhase ";
+ fluffynukeit = "Daniel Austin ";
+ fpletz = "Franz Pletz ";
ftrvxmtrx = "Siarhei Zirukin ";
funfunctor = "Edward O'Callaghan ";
fuuzetsu = "Mateusz Kowalczyk ";
gal_bolle = "Florent Becker ";
garbas = "Rok Garbas ";
+ gavin = "Gavin Rogers ";
goibhniu = "Cillian de Róiste ";
guibert = "David Guibert ";
+ henrytill = "Henry Till ";
hinton = "Tom Hinton ";
hrdinka = "Christoph Hrdinka ";
ianwookim = "Ian-Woo Kim ";
iElectric = "Domen Kozar ";
iyzsong = "Song Wenwu ";
+ jagajaga = "Arseniy Seroka ";
jcumming = "Jack Cummings ";
jgeerds = "Jascha Geerds ";
+ jirkamarsik = "Jirka Marsik ";
+ joachifm = "Joachim Fasting ";
joamaki = "Jussi Maki ";
joelteon = "Joel Taylor ";
+ jpbernardy = "Jean-Philippe Bernardy ";
jwiegley = "John Wiegley ";
+ jzellner = "Jeff Zellner ";
kkallio = "Karn Kallio ";
koral = "Koral ";
+ kragniz = "Louis Taylor ";
ktosiek = "Tomasz Kontusz ";
lethalman = "Luca Bruno ";
lhvwb = "Nathaniel Baxter ";
@@ -80,6 +98,7 @@
lovek323 = "Jason O'Conal ";
ludo = "Ludovic Courtès ";
madjar = "Georges Dubus ";
+ magnetophon = "Bart Brouns ";
manveru = "Michael Fellinger ";
marcweber = "Marc Weber ";
matejc = "Matej Cotman ";
@@ -89,19 +108,24 @@
mornfall = "Petr Ročkai ";
MP2E = "Cray Elliott ";
msackman = "Matthew Sackman ";
+ muflax = "Stefan Dorn ";
nathan-gs = "Nathan Bijnens ";
+ nckx = "Tobias Geerinckx-Rice ";
notthemessiah = "Brian Cohen ";
nslqqq = "Nikita Mikhailov ";
ocharles = "Oliver Charles ";
offline = "Jaka Hudoklin ";
+ olcai = "Erik Timan ";
orbitz = "Malcolm Matalka ";
page = "Carles Pagès ";
+ pashev = "Igor Pashev ";
phreedom = "Evgeny Egorochkin ";
pierron = "Nicolas B. Pierron ";
piotr = "Piotr Pietraszkiewicz ";
pkmx = "Chih-Mao Chen ";
plcplc = "Philip Lykke Carlsen ";
pSub = "Pascal Wittmann ";
+ puffnfresh = "Brian McKenna ";
qknight = "Joachim Schiele ";
raskin = "Michael Raskin <7c6f434c@mail.ru>";
redbaron = "Maxim Ivanov ";
@@ -116,20 +140,27 @@
rszibele = "Richard Szibele ";
rycee = "Robert Helgesson ";
sander = "Sander van der Burg ";
+ schristo = "Scott Christopher ";
sepi = "Raffael Mancini ";
+ shell = "Shell Turner ";
shlevy = "Shea Levy ";
simons = "Peter Simons ";
+ sjmackenzie = "Stewart Mackenzie ";
skeidel = "Sven Keidel ";
smironov = "Sergey Mironov ";
sprock = "Roger Mason ";
+ spwhitt = "Spencer Whitt ";
+ sztupi = "Attila Sztupak ";
tailhook = "Paul Colomiets ";
thammers = "Tobias Hammerschmidt ";
the-kenny = "Moritz Ulrich ";
thoughtpolice = "Austin Seipp ";
+ titanous = "Jonathan Rudenberg ";
tomberek = "Thomas Bereknyei ";
tstrobel = "Thomas Strobel ";
ttuegel = "Thomas Tuegel ";
tv = "Tomislav Viljetić ";
+ twey = "James ‘Twey’ Kay ";
urkud = "Yury G. Kudryashov ";
vandenoever = "Jos van den Oever ";
vbgl = "Vincent Laporte ";
@@ -138,6 +169,7 @@
viric = "Lluís Batlle i Rossell ";
vizanto = "Danny Wilson ";
vlstill = "Vladimír Štill ";
+ vozz = "Oliver Hunt ";
winden = "Antonio Vargas Gonzalez ";
wizeman = "Ricardo M. Correia ";
wjlroe = "William Roe ";
@@ -149,4 +181,5 @@
zef = "Zef Hemel ";
zimbatm = "zimbatm ";
zoomulator = "Kim Simmons ";
+ Gonzih = "Max Gonzih ";
}
diff --git a/lib/modules.nix b/lib/modules.nix
index 8af08522051..fdee8824493 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -58,7 +58,7 @@ rec {
if m ? config || m ? options then
let badAttrs = removeAttrs m ["imports" "options" "config" "key" "_file"]; in
if badAttrs != {} then
- throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'."
+ throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by assignments to the top-level attributes `config' or `options'."
else
{ file = m._file or file;
key = toString m.key or key;
diff --git a/maintainers/docker/.dockerignore b/maintainers/docker/.dockerignore
new file mode 100644
index 00000000000..eb4668233e6
--- /dev/null
+++ b/maintainers/docker/.dockerignore
@@ -0,0 +1,14 @@
+*~
+,*
+.*.swp
+.*.swo
+result
+result-*
+/doc/NEWS.html
+/doc/NEWS.txt
+/doc/manual.html
+/doc/manual.pdf
+.version-suffix
+
+.DS_Store
+.git
diff --git a/maintainers/docker/Dockerfile b/maintainers/docker/Dockerfile
new file mode 100644
index 00000000000..5a98c47de2c
--- /dev/null
+++ b/maintainers/docker/Dockerfile
@@ -0,0 +1,12 @@
+FROM busybox
+
+RUN dir=`mktemp -d` && trap 'rm -rf "$dir"' EXIT && \
+ wget -O- http://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2 | bzcat | tar x -C $dir && \
+ mkdir -m 0755 /nix && USER=root sh $dir/*/install && \
+ echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile
+
+ADD . /root/nix/nixpkgs
+ONBUILD ENV NIX_PATH nixpkgs=/root/nix/nixpkgs:nixos=/root/nix/nixpkgs/nixos
+ONBUILD ENV PATH /root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ONBUILD ENV ENV /etc/profile
+ENV ENV /etc/profile
diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh
index 5b0ef380f9a..1c117c6add9 100755
--- a/maintainers/scripts/travis-nox-review-pr.sh
+++ b/maintainers/scripts/travis-nox-review-pr.sh
@@ -1,29 +1,40 @@
#! /usr/bin/env bash
set -e
-# Install Nix
-bash <(curl https://nixos.org/nix/install)
-source $HOME/.nix-profile/etc/profile.d/nix.sh
+export NIX_CURL_FLAGS=-sS
-# Make sure we can use hydra's binary cache
-sudo mkdir /etc/nix
-sudo tee /etc/nix/nix.conf </dev/null
binary-caches = http://cache.nixos.org http://hydra.nixos.org
trusted-binary-caches = http://hydra.nixos.org
build-max-jobs = 4
EOF
-if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
- echo "Not a pull request, checking evaluation"
- nix-build pkgs/top-level/release.nix -A tarball
- exit 0
+ # Verify evaluation
+ echo "=== Verifying that nixpkgs evaluates..."
+ nix-env -f. -qa --json >/dev/null
+elif [[ $1 == nox ]]; then
+ echo "=== Installing nox..."
+ git clone -q https://github.com/madjar/nox
+ pip --quiet install -e nox
+elif [[ $1 == build ]]; then
+ source $HOME/.nix-profile/etc/profile.d/nix.sh
+
+ if [[ $TRAVIS_PULL_REQUEST == false ]]; then
+ echo "===> Not a pull request, checking evaluation"
+ nix-build pkgs/top-level/release.nix -A tarball
+ else
+ echo "=== Checking PR"
+ nox-review pr ${TRAVIS_PULL_REQUEST}
+ fi
+else
+ echo "$0: Unknown option $1" >&2
+ false
fi
-
-echo "Installing nox"
-git clone https://github.com/madjar/nox
-pip --quiet install -e nox
-
-echo "Reviewing PR"
-# The current HEAD is the PR merged into origin/master, so we compare
-# against origin/master
-nox-review wip --against origin/master
diff --git a/maintainers/scripts/vanity-manual-equalities.txt b/maintainers/scripts/vanity-manual-equalities.txt
index 392ff266e1a..9b31e9dc07c 100644
--- a/maintainers/scripts/vanity-manual-equalities.txt
+++ b/maintainers/scripts/vanity-manual-equalities.txt
@@ -1,3 +1,6 @@
viric viriketo@gmail.com
Pjotr Prins pjotr.public01@thebird.nl
Pjotr Prins pjotr.public05@thebird.nl
+Wouter den Breejen wbreejen
+MarcWeber marcweber
+Ricardo Correia Ricardo M. Correia
diff --git a/maintainers/scripts/vanity.sh b/maintainers/scripts/vanity.sh
index 48c7d6dbef6..6759df444ef 100755
--- a/maintainers/scripts/vanity.sh
+++ b/maintainers/scripts/vanity.sh
@@ -3,25 +3,55 @@
export LANG=C LC_ALL=C LC_COLLATE=C
# Load git log
-git_data="$(git log | grep 'Author:' |
- sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
+raw_git_log="$(git log)"
+git_data="$(echo "$raw_git_log" | grep 'Author:' |
+ sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
s/ @ .*//; s/ *[<]/\t/; s/[>]//')"
# Name - nick - email correspondence from log and from maintainer list
# Also there are a few manual entries
-maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" |
+maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" |
grep '=' | sed -re 's/\\"/''/g;
s/ *([^ =]*) *= *" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')"
-git_lines="$( ( echo "$git_data";
- cat vanity-manual-equalities.txt) | sort |uniq)"
+git_lines="$( ( echo "$git_data";
+ cat "$(dirname "$0")/vanity-manual-equalities.txt") | sort |uniq)"
+
+emails="$(
+ ( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) |
+ sort | uniq | grep -E ".+@.+[.].+"
+ )"
+
+fetchGithubName () {
+ commitid="$(
+ echo "$raw_git_log" | grep -B3 "Author: .*[<]$1[>]" | head -n 3 |
+ grep '^commit ' | tail -n 1 | sed -e 's/^commit //'
+ )"
+ userid="$(
+ curl https://github.com/NixOS/nixpkgs/commit/"$commitid" 2>/dev/null |
+ grep authored -B10 | grep 'href="/' |
+ sed -re 's@.* href="/@@; s@".*@@' |
+ grep -v "/commit/"
+ )";
+ echo "$userid"
+}
+
+[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && {
+ echo "$emails" | while read email; do
+ line="$(grep "$email " "$NIXPKGS_GITHUB_NAME_CACHE")"
+ [ -z "$line" ] && {
+ echo "$email $(fetchGithubName "$email")" >> \
+ "$NIXPKGS_GITHUB_NAME_CACHE"
+ }
+ done
+}
# For RDF
normalize_name () {
- sed -e 's/ /_/g; s/'\''/*/g; s/"/**/g;'
+ sed -e 's/%/%25/g; s/ /%20/g; s/'\''/%27/g; s/"/%22/g; s/`/%60/g'
}
denormalize_name () {
- sed -e 's/_/ /g; s/[*][*]/"/g; s/[*]/'\''/g;'
+ sed -e 's/%20/ /g; s/%27/'\''/g; s/%22/"/g; s/%60/`/g; s/%25/%/g;';
}
n3="$(mktemp --suffix .n3)"
@@ -37,6 +67,9 @@ echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@ <
echo "$git_lines" | grep ' ' | cut -f 1 | sed -e 's@.*@ .@'
echo "$git_lines" | grep -v ' ' | cut -f 1 | sed -e 's@.*@ .@'
echo "$maintainers" | cut -f 2 | sed -e 's@.*@ .@'
+[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && cat "$NIXPKGS_GITHUB_NAME_CACHE" |
+ grep -v " $" |
+ sed -re 's@(.*)\t(.*)@ .@'
) | normalize_name | grep -E '' | sort | uniq > "$n3"
# Get transitive closure
@@ -47,19 +80,43 @@ name_list="$(
?x + ?y.
?x ?g.
}
- " | tail -n +2 |
- sed -re 's@@@g;' |
+ " | tail -n +2 |
+ sed -re 's@@@g;' |
sort -k 2,3 -t ' '
)"
+github_name_list="$(
+ "$sparql" --results=TSV --data="$n3" "
+ select ?x ?y where {
+ ?x (+ / ) ?y.
+ }
+ " | tail -n +2 |
+ sed -re 's@@@g;'
+)"
# Take first spelling option for every person
name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)"
-cleaner_script="$(echo "$name_list_canonical" | denormalize_name |
+cleaner_script="$(echo "$name_list_canonical" | denormalize_name |
sed -re 's/(.*)\t(.*)/s#^\2$#\1#g/g')"
+# Add github usernames
+if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then
+ github_adder_script="$(echo "$github_name_list" |
+ grep -E "$(echo "$name_list_canonical" | cut -f 2 |
+ tr '\n' '|' )" |
+ sort | uniq |
+ sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' |
+ denormalize_name
+ )"
+else
+ github_adder_script=''
+fi
+
echo "$name_list" | denormalize_name
echo
-echo "$git_data" | cut -f 1 | sed -re "$cleaner_script" | sort | uniq -c | sort -k1n
+echo "$git_data" | cut -f 1 |
+ sed -e "$cleaner_script" |
+ sort | uniq -c | sort -k1n | sed -re "$github_adder_script" |
+ sed -re 's/^ *([0-9]+) /\1\t/'
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml
index 8fe2f5255df..ffd7b354efe 100644
--- a/nixos/doc/manual/configuration/linux-kernel.xml
+++ b/nixos/doc/manual/configuration/linux-kernel.xml
@@ -56,7 +56,7 @@ root file system), you can use
boot.initrd.extraKernelModules = [ "cifs" ];
This causes the specified modules and their dependencies to be added
-to the initial ramdark.
+to the initial ramdisk.
Kernel runtime parameters can be set through
, e.g.
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml
index e65060021b4..ceac40b7a1f 100644
--- a/nixos/doc/manual/configuration/network-manager.xml
+++ b/nixos/doc/manual/configuration/network-manager.xml
@@ -13,7 +13,7 @@ use NetworkManager. You can enable NetworkManager by setting:
services.networkmanager.enable = true;
-Some desktop managers (e.g., GNOME) enable NetworkManager
+some desktop managers (e.g., GNOME) enable NetworkManager
automatically for you.
All users that should have permission to change network settings
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 68248081af6..b0a755c6a6f 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -30,34 +30,13 @@ let
else
fn;
- # Convert the list of options into an XML file and a JSON file. The builtin
- # unsafeDiscardStringContext is used to prevent the realisation of the store
- # paths which are used in options definitions.
+ # Convert the list of options into an XML file. The builtin
+ # unsafeDiscardStringContext is used to prevent the realisation of
+ # the store paths which are used in options definitions.
optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML optionsList'));
- optionsJSON = builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON optionsList'));
-
- # Tools-friendly version of the list of NixOS options.
- options' = stdenv.mkDerivation {
- name = "options";
-
- buildCommand = ''
- # Export list of options in different format.
- dst=$out/share/doc/nixos
- mkdir -p $dst
-
- cp ${optionsJSON} $dst/options.json
- cp ${optionsXML} $dst/options.xml
-
- mkdir -p $out/nix-support
- echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products
- echo "file xml $dst/options.xml" >> $out/nix-support/hydra-build-products
- ''; # */
-
- meta.description = "List of NixOS options in various formats.";
- };
optionsDocBook = runCommand "options-db.xml" {} ''
- optionsXML=${options'}/share/doc/nixos/options.xml
+ optionsXML=${optionsXML}
if grep /nixpkgs/nixos/modules $optionsXML; then
echo "The manual appears to depend on the location of Nixpkgs, which is bad"
echo "since this prevents sharing via the NixOS channel. This is typically"
@@ -83,8 +62,25 @@ let
in rec {
- # Tools-friendly version of the list of NixOS options.
- options = options';
+ # The NixOS options in JSON format.
+ optionsJSON = stdenv.mkDerivation {
+ name = "options-json";
+
+ buildCommand = ''
+ # Export list of options in different format.
+ dst=$out/share/doc/nixos
+ mkdir -p $dst
+
+ cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON
+ (listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList'))))
+ } $dst/options.json
+
+ mkdir -p $out/nix-support
+ echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products
+ ''; # */
+
+ meta.description = "List of NixOS options in JSON format";
+ };
# Generate the NixOS manual.
manual = stdenv.mkDerivation {
diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml
index d9be761eb01..156dcd205a5 100644
--- a/nixos/doc/manual/development/running-nixos-tests.xml
+++ b/nixos/doc/manual/development/running-nixos-tests.xml
@@ -39,24 +39,13 @@ $ firefox result/log.html
-It is also possible to run the test environment interactively,
-allowing you to experiment with the VMs. For example:
+Running Tests interactively
-
-$ nix-build login.nix -A driver
-$ ./result/bin/nixos-run-vms
-
-
-The script nixos-run-vms starts the virtual
-machines defined by test. The root file system of the VMs is created
-on the fly and kept across VM restarts in
-./hostname.qcow2.
-
-Finally, the test itself can be run interactively. This is
+The test itself can be run interactively. This is
particularly useful when developing or debugging a test:
-$ nix-build tests/ -A nfs.driver
+$ nix-build nixos/tests/login.nix -A driver
$ ./result/bin/nixos-test-driver
starting VDE switch for network 1
>
@@ -66,6 +55,7 @@ You can then take any Perl statement, e.g.
> startAll
+> testScript
> $machine->succeed("touch /tmp/foo")
@@ -74,4 +64,16 @@ script and drops you back into the test driver command line upon its
completion. This allows you to inspect the state of the VMs after the
test (e.g. to debug the test script).
-
\ No newline at end of file
+To just start and experiment with the VMs, run:
+
+
+$ nix-build nixos/tests/login.nix -A driver
+$ ./result/bin/nixos-run-vms
+
+
+The script nixos-run-vms starts the virtual
+machines defined by test. The root file system of the VMs is created
+on the fly and kept across VM restarts in
+./hostname.qcow2.
+
+
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index b140c56fbee..c21759bc926 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -11,14 +11,9 @@
Boot from the CD.
The CD contains a basic NixOS installation. (It
- also contains Memtest86+, useful if you want to test new hardware.)
+ also contains Memtest86+, useful if you want to test new hardware).
When it’s finished booting, it should have detected most of your
- hardware and brought up networking (check
- ifconfig). Networking is necessary for the
- installer, since it will download lots of stuff (such as source
- tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP
- server on your network. Otherwise configure networking manually
- using ifconfig.
+ hardware.
The NixOS manual is available on virtual console 8
(press Alt+F8 to access).
@@ -29,6 +24,16 @@
If you downloaded the graphical ISO image, you can
run start display-manager to start KDE.
+ The boot process should have brought up networking (check
+ ip a). Networking is necessary for the
+ installer, since it will download lots of stuff (such as source
+ tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP
+ server on your network. Otherwise configure networking manually
+ using ifconfig.
+ To manually configure the network on the graphical installer,
+ first disable network-manager with
+ systemctl stop network-manager.
+
The NixOS installer doesn’t do any partitioning or
formatting yet, so you need to that yourself. Use the following
commands:
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml
index ed71a7e23a3..e4e21603329 100644
--- a/nixos/doc/manual/installation/upgrading.xml
+++ b/nixos/doc/manual/installation/upgrading.xml
@@ -63,7 +63,7 @@ end.) For instance, to use the NixOS 14.04 stable channel:
$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos
-But it you want to live on the bleeding edge:
+But if you want to live on the bleeding edge:
$ nix-channel --add http://nixos.org/channels/nixos-unstable nixos
diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml
index fb82d5adcef..9034dba1fb5 100644
--- a/nixos/doc/manual/release-notes/release-notes.xml
+++ b/nixos/doc/manual/release-notes/release-notes.xml
@@ -10,7 +10,7 @@
This section lists the release notes for each stable version of NixOS.
-
+
diff --git a/nixos/doc/manual/release-notes/rl-1410.xml b/nixos/doc/manual/release-notes/rl-1410.xml
deleted file mode 100644
index 09da15ce236..00000000000
--- a/nixos/doc/manual/release-notes/rl-1410.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-Release 14.10 (“Caterpillar”, 2014/10/??)
-
-When upgrading from a previous release, please be aware of the
-following incompatible changes:
-
-
-
- The host side of a container virtual Ethernet pair
- is now called ve-container-name
- rather than c-container-name.
-
-
-
-
-
-
\ No newline at end of file
diff --git a/nixos/doc/manual/release-notes/rl-1411.xml b/nixos/doc/manual/release-notes/rl-1411.xml
new file mode 100644
index 00000000000..f26cfee7a2c
--- /dev/null
+++ b/nixos/doc/manual/release-notes/rl-1411.xml
@@ -0,0 +1,37 @@
+
+
+Release 14.11 (“Caterpillar”, 2014/11/??)
+
+When upgrading from a previous release, please be aware of the
+following incompatible changes:
+
+
+
+ The default version of Apache httpd is now 2.4. If
+ you use the option to pass literal
+ Apache configuration text, you may need to update it — see Apache’s
+ documentation for details. If you wish to continue to use
+ httpd 2.2, add the following line to your NixOS configuration:
+
+
+services.httpd.package = pkgs.apacheHttpd_2_2;
+
+
+
+
+ The host side of a container virtual Ethernet pair
+ is now called ve-container-name
+ rather than c-container-name.
+
+ GNOME 3.10 support has been dropped. The default GNOME version is now 3.12.
+
+
+
+
+
+
diff --git a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
index d9feba164a7..530769cec5b 100644
--- a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
+++ b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
@@ -19,7 +19,8 @@ in
{
imports = [ ./amazon-base-config.nix ];
ec2.hvm = true;
- boot.loader.grub.device = lib.mkOverride 0 "nodev";
+ boot.loader.grub.device = lib.mkOverride 0 "/dev/xvdg";
+ boot.kernelParams = [ "console=ttyS0" ];
boot.initrd.extraUtilsCommands = ''
cp -v ${pkgs.gawk}/bin/gawk $out/bin/gawk
diff --git a/nixos/maintainers/scripts/ec2/create-ebs-amis.py b/nixos/maintainers/scripts/ec2/create-ebs-amis.py
index 14607b9a367..62525651ae0 100755
--- a/nixos/maintainers/scripts/ec2/create-ebs-amis.py
+++ b/nixos/maintainers/scripts/ec2/create-ebs-amis.py
@@ -19,8 +19,17 @@ parser.add_argument('--key', dest='key_name', action='store_true', help='Keypair
args = parser.parse_args()
instance_type = "m3.medium" if args.hvm else "m1.small"
-ebs_size = 8 if args.hvm else 20
+if args.hvm:
+ virtualization_type = "hvm"
+ root_block = "/dev/sda1"
+ image_type = 'hvm'
+else:
+ virtualization_type = "paravirtual"
+ root_block = "/dev/sda"
+ image_type = 'ebs'
+
+ebs_size = 20
# Start a NixOS machine in the given region.
f = open("ebs-creator-config.nix", "w")
@@ -76,10 +85,6 @@ if args.hvm:
m.upload_file("./amazon-hvm-config.nix", "/mnt/etc/nixos/configuration.nix")
m.upload_file("./amazon-hvm-install-config.nix", "/mnt/etc/nixos/amazon-hvm-install-config.nix")
m.run_command("NIXOS_CONFIG=/etc/nixos/amazon-hvm-install-config.nix nixos-install")
- m.run_command('nix-env -iA nixos.pkgs.grub')
- m.run_command('cp /nix/store/*-grub-0.97*/lib/grub/i386-pc/* /mnt/boot/grub')
- m.run_command('echo "(hd1) /dev/xvdg" > device.map')
- m.run_command('echo -e "root (hd1,0)\nsetup (hd1)" | grub --device-map=device.map --batch')
else:
m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix")
m.run_command("nixos-install")
@@ -87,7 +92,7 @@ else:
m.run_command("umount /mnt")
if args.hvm:
- ami_name = "nixos-{0}-x86_64-ebs-hvm".format(version)
+ ami_name = "nixos-{0}-x86_64-hvm".format(version)
description = "NixOS {0} (x86_64; EBS root; hvm)".format(version)
else:
ami_name = "nixos-{0}-x86_64-ebs".format(version)
@@ -102,58 +107,40 @@ def check():
m.connect()
volume = m._conn.get_all_volumes([], filters={'attachment.instance-id': m.resource_id, 'attachment.device': "/dev/sdg"})[0]
-if args.hvm:
- instance = m._conn.run_instances( image_id="ami-5f491f36"
- , instance_type=instance_type
- , key_name=args.key_name
- , placement=m.zone
- , security_groups=["eelco-test"]).instances[0]
- nixops.util.check_wait(lambda: instance.update() == 'running', max_tries=120)
- instance.stop()
- nixops.util.check_wait(lambda: instance.update() == 'stopped', max_tries=120)
- old_root_volume = m._conn.get_all_volumes([], filters={'attachment.instance-id': instance.id, 'attachment.device': "/dev/sda1"})[0]
- old_root_volume.detach()
- volume.detach()
- nixops.util.check_wait(lambda: volume.update() == 'available', max_tries=120)
- nixops.util.check_wait(lambda: old_root_volume.update() == 'available', max_tries=120)
- volume.attach(instance.id, '/dev/sda1')
- nixops.util.check_wait(lambda: volume.update() == 'in-use', max_tries=120)
- ami_id = m._conn.create_image(instance.id, ami_name, description)
- time.sleep(5)
- image = m._conn.get_all_images([ami_id])[0]
- nixops.util.check_wait(lambda: image.update() == 'available', max_tries=120)
- instance.terminate()
+# Create a snapshot.
+snapshot = volume.create_snapshot(description=description)
+print >> sys.stderr, "created snapshot {0}".format(snapshot.id)
-else:
- # Create a snapshot.
- snapshot = volume.create_snapshot(description=description)
- print >> sys.stderr, "created snapshot {0}".format(snapshot.id)
+nixops.util.check_wait(check, max_tries=120)
- nixops.util.check_wait(check, max_tries=120)
+m._conn.create_tags([snapshot.id], {'Name': ami_name})
- m._conn.create_tags([snapshot.id], {'Name': ami_name})
+if not args.keep: depl.destroy_resources()
- if not args.keep: depl.destroy_resources()
+# Register the image.
+aki = m._conn.get_all_images(filters={'manifest-location': 'ec2*pv-grub-hd0_1.03-x86_64*'})[0]
+print >> sys.stderr, "using kernel image {0} - {1}".format(aki.id, aki.location)
- # Register the image.
- aki = m._conn.get_all_images(filters={'manifest-location': '*pv-grub-hd0_1.03-x86_64*'})[0]
- print >> sys.stderr, "using kernel image {0} - {1}".format(aki.id, aki.location)
+block_map = BlockDeviceMapping()
+block_map[root_block] = BlockDeviceType(snapshot_id=snapshot.id, delete_on_termination=True, size=ebs_size, volume_type="gp2")
+block_map['/dev/sdb'] = BlockDeviceType(ephemeral_name="ephemeral0")
+block_map['/dev/sdc'] = BlockDeviceType(ephemeral_name="ephemeral1")
+block_map['/dev/sdd'] = BlockDeviceType(ephemeral_name="ephemeral2")
+block_map['/dev/sde'] = BlockDeviceType(ephemeral_name="ephemeral3")
- block_map = BlockDeviceMapping()
- block_map['/dev/sda'] = BlockDeviceType(snapshot_id=snapshot.id, delete_on_termination=True)
- block_map['/dev/sdb'] = BlockDeviceType(ephemeral_name="ephemeral0")
- block_map['/dev/sdc'] = BlockDeviceType(ephemeral_name="ephemeral1")
- block_map['/dev/sdd'] = BlockDeviceType(ephemeral_name="ephemeral2")
- block_map['/dev/sde'] = BlockDeviceType(ephemeral_name="ephemeral3")
-
- ami_id = m._conn.register_image(
+common_args = dict(
name=ami_name,
description=description,
architecture="x86_64",
- root_device_name="/dev/sda",
- kernel_id=aki.id,
- block_device_map=block_map)
+ root_device_name=root_block,
+ block_device_map=block_map,
+ virtualization_type=virtualization_type,
+ delete_root_volume_on_termination=True
+ )
+if not args.hvm:
+ common_args['kernel_id']=aki.id
+ami_id = m._conn.register_image(**common_args)
print >> sys.stderr, "registered AMI {0}".format(ami_id)
@@ -197,17 +184,12 @@ test_depl.nix_exprs = [os.path.abspath("./ebs-test.nix")]
test_depl.deploy(create_only=True)
test_depl.machines['machine'].run_command("nixos-version")
-if args.hvm:
- image_type = 'hvm'
-else:
- image_type = 'ebs'
-
# Log the AMI ID.
f = open("{0}.{1}.ami-id".format(args.region, image_type), "w")
f.write("{0}".format(ami_id))
f.close()
-for dest in [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1']:
+for dest in [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', 'eu-central-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1']:
if args.region != dest:
print >> sys.stderr, "copying image from region {0} to {1}".format(args.region, dest)
conn = boto.ec2.connect_to_region(dest)
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 7516d7ddf1a..4b6f9325fda 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -27,9 +27,11 @@ with lib;
config = mkIf config.fonts.enableFontConfig {
- # Bring in the default (upstream) fontconfig configuration.
+ # Fontconfig 2.10 backward compatibility
+
+ # Bring in the default (upstream) fontconfig configuration, only for fontconfig 2.10
environment.etc."fonts/fonts.conf".source =
- pkgs.makeFontsConf { fontDirectories = config.fonts.fonts; };
+ pkgs.makeFontsConf { fontconfig = pkgs.fontconfig_210; fontDirectories = config.fonts.fonts; };
environment.etc."fonts/conf.d/00-nixos.conf".text =
''
@@ -47,6 +49,29 @@ with lib;
'';
+ # Versioned fontconfig > 2.10. Take shared fonts.conf from fontconfig.
+ # Otherwise specify only font directories.
+ environment.etc."fonts/${pkgs.fontconfig.configVersion}/fonts.conf".source =
+ "${pkgs.fontconfig}/etc/fonts/fonts.conf";
+ environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/00-nixos.conf".text =
+ ''
+
+
+
+
+
+
+
+ hintslight
+
+
+
+
+ ${concatStringsSep "\n" (map (font: "${font}") config.fonts.fonts)}
+
+
+ '';
+
environment.systemPackages = [ pkgs.fontconfig ];
};
diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix
index f6060a910a1..baf5b7713f5 100644
--- a/nixos/modules/config/fonts/fonts.nix
+++ b/nixos/modules/config/fonts/fonts.nix
@@ -13,14 +13,6 @@ with lib;
type = types.listOf types.path;
example = literalExample "[ pkgs.dejavu_fonts ]";
description = "List of primary font paths.";
- apply = list: list ++
- [ # - the user's current profile
- "~/.nix-profile/lib/X11/fonts"
- "~/.nix-profile/share/fonts"
- # - the default profile
- "/nix/var/nix/profiles/default/lib/X11/fonts"
- "/nix/var/nix/profiles/default/share/fonts"
- ];
};
};
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index 136a5bda745..77e55fddf69 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -39,6 +39,73 @@ in
'';
};
+ networking.proxy = {
+
+ default = lib.mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ This option specifies the default value for httpProxy, httpsProxy, ftpProxy and rsyncProxy.
+ '';
+ example = "http://127.0.0.1:3128";
+ };
+
+ httpProxy = lib.mkOption {
+ type = types.nullOr types.str;
+ default = cfg.proxy.default;
+ description = ''
+ This option specifies the http_proxy environment variable.
+ '';
+ example = "http://127.0.0.1:3128";
+ };
+
+ httpsProxy = lib.mkOption {
+ type = types.nullOr types.str;
+ default = cfg.proxy.default;
+ description = ''
+ This option specifies the https_proxy environment variable.
+ '';
+ example = "http://127.0.0.1:3128";
+ };
+
+ ftpProxy = lib.mkOption {
+ type = types.nullOr types.str;
+ default = cfg.proxy.default;
+ description = ''
+ This option specifies the ftp_proxy environment variable.
+ '';
+ example = "http://127.0.0.1:3128";
+ };
+
+ rsyncProxy = lib.mkOption {
+ type = types.nullOr types.str;
+ default = cfg.proxy.default;
+ description = ''
+ This option specifies the rsync_proxy environment variable.
+ '';
+ example = "http://127.0.0.1:3128";
+ };
+
+ noProxy = lib.mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ This option specifies the no_proxy environment variable.
+ If a default proxy is used and noProxy is null,
+ then noProxy will be set to 127.0.0.1,localhost.
+ '';
+ example = "127.0.0.1,localhost,.localdomain";
+ };
+
+ envVars = lib.mkOption {
+ type = types.attrs;
+ internal = true;
+ default = {};
+ description = ''
+ Environment variables used for the network proxy.
+ '';
+ };
+ };
};
config = {
@@ -84,13 +151,59 @@ in
dnsmasq_conf=/etc/dnsmasq-conf.conf
dnsmasq_resolv=/etc/dnsmasq-resolv.conf
'';
- };
+
+ } // (optionalAttrs config.services.resolved.enable (
+ if dnsmasqResolve then {
+ "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
+ } else {
+ "resolv.conf".source = "/run/systemd/resolve/resolv.conf";
+ }
+ ));
+
+ networking.proxy.envVars =
+ optionalAttrs (cfg.proxy.default != null) {
+ # other options already fallback to proxy.default
+ no_proxy = "127.0.0.1,localhost";
+ } // optionalAttrs (cfg.proxy.httpProxy != null) {
+ http_proxy = cfg.proxy.httpProxy;
+ } // optionalAttrs (cfg.proxy.httpsProxy != null) {
+ https_proxy = cfg.proxy.httpsProxy;
+ } // optionalAttrs (cfg.proxy.rsyncProxy != null) {
+ rsync_proxy = cfg.proxy.rsyncProxy;
+ } // optionalAttrs (cfg.proxy.ftpProxy != null) {
+ ftp_proxy = cfg.proxy.ftpProxy;
+ } // optionalAttrs (cfg.proxy.noProxy != null) {
+ no_proxy = cfg.proxy.noProxy;
+ };
+
+ # Install the proxy environment variables
+ environment.sessionVariables = cfg.proxy.envVars;
# The ‘ip-up’ target is started when we have IP connectivity. So
# services that depend on IP connectivity (like ntpd) should be
# pulled in by this target.
systemd.targets.ip-up.description = "Services Requiring IP Connectivity";
+ # This is needed when /etc/resolv.conf is being overriden by networkd
+ # and other configurations. If the file is destroyed by an environment
+ # activation then it must be rebuilt so that applications which interface
+ # with /etc/resolv.conf directly don't break.
+ system.activationScripts.resolvconf = stringAfter [ "etc" "tmpfs" "var" ]
+ ''
+ # Systemd resolved controls its own resolv.conf
+ rm -f /run/resolvconf/interfaces/systemd
+ ${optionalString config.services.resolved.enable ''
+ rm -rf /run/resolvconf/interfaces
+ mkdir -p /run/resolvconf/interfaces
+ ln -s /run/systemd/resolve/resolv.conf /run/resolvconf/interfaces/systemd
+ ''}
+
+ # Make sure resolv.conf is up to date if not managed by systemd
+ ${optionalString (!config.services.resolved.enable) ''
+ ${pkgs.openresolv}/bin/resolvconf -u
+ ''}
+ '';
+
};
-}
+ }
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index 45695d9cb89..549e731f3b0 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -35,29 +35,27 @@ in
config = {
- environment.etc =
- [ # Name Service Switch configuration file. Required by the C library.
- # !!! Factor out the mdns stuff. The avahi module should define
- # an option used by this module.
- { source = pkgs.writeText "nsswitch.conf"
- ''
- passwd: files ldap
- group: files ldap
- shadow: files ldap
- hosts: files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname
- networks: files dns
- ethers: files
- services: files
- protocols: files
- '';
- target = "nsswitch.conf";
- }
- ];
+ # Name Service Switch configuration file. Required by the C
+ # library. !!! Factor out the mdns stuff. The avahi module
+ # should define an option used by this module.
+ environment.etc."nsswitch.conf".text =
+ ''
+ passwd: files ldap
+ group: files ldap
+ shadow: files ldap
+ hosts: files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname mymachines
+ networks: files dns
+ ethers: files
+ services: files
+ protocols: files
+ '';
- # Use nss-myhostname to ensure that our hostname always resolves to
- # a valid IP address. It returns all locally configured IP
- # addresses, or ::1 and 127.0.0.2 as fallbacks.
- system.nssModules = [ pkgs.systemd ];
+ # Systemd provides nss-myhostname to ensure that our hostname
+ # always resolves to a valid IP address. It returns all locally
+ # configured IP addresses, or ::1 and 127.0.0.2 as
+ # fallbacks. Systemd also provides nss-mymachines to return IP
+ # addresses of local containers.
+ system.nssModules = [ config.systemd.package ];
};
}
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 737f0abc52f..8b38489a8c1 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -12,7 +12,7 @@ let
# Forces 32bit pulseaudio and alsaPlugins to be built/supported for apps
# using 32bit alsa on 64bit linux.
- enable32BitAlsaPlugins = stdenv.isx86_64 && (pkgs_i686.alsaLib != null);
+ enable32BitAlsaPlugins = stdenv.isx86_64 && (pkgs_i686.alsaLib != null && pkgs_i686.pulseaudio != null);
ids = config.ids;
@@ -126,8 +126,7 @@ in {
(mkIf cfg.enable {
environment.systemPackages = [
cfg.package
- (lib.optional enable32BitAlsaPlugins pkgs_i686.pulseaudio)
- ];
+ ] ++ lib.optionals enable32BitAlsaPlugins [ pkgs_i686.pulseaudio ];
environment.etc = singleton {
target = "asound.conf";
diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl
index 197b65e27c4..d35ecb754bd 100644
--- a/nixos/modules/config/update-users-groups.pl
+++ b/nixos/modules/config/update-users-groups.pl
@@ -6,6 +6,15 @@ use JSON;
make_path("/var/lib/nixos", { mode => 0755 });
+sub hashPassword {
+ my ($password) = @_;
+ my $salt = "";
+ my @chars = ('.', '/', 0..9, 'A'..'Z', 'a'..'z');
+ $salt .= $chars[rand 64] for (1..8);
+ return crypt($password, '$6$' . $salt . '$');
+}
+
+
# Functions for allocating free GIDs/UIDs. FIXME: respect ID ranges in
# /etc/login.defs.
sub allocId {
@@ -114,7 +123,7 @@ foreach my $g (@{$spec->{groups}}) {
}
# Update the persistent list of declarative groups.
-write_file($declGroupsFile, join(" ", sort(keys %groupsOut)));
+write_file($declGroupsFile, { binmode => ':utf8' }, join(" ", sort(keys %groupsOut)));
# Merge in the existing /etc/group.
foreach my $name (keys %groupsCur) {
@@ -131,7 +140,7 @@ foreach my $name (keys %groupsCur) {
# Rewrite /etc/group. FIXME: acquire lock.
my @lines = map { join(":", $_->{name}, $_->{password}, $_->{gid}, $_->{members}) . "\n" }
(sort { $a->{gid} <=> $b->{gid} } values(%groupsOut));
-write_file("/etc/group.tmp", @lines);
+write_file("/etc/group.tmp", { binmode => ':utf8' }, @lines);
rename("/etc/group.tmp", "/etc/group") or die;
system("nscd --invalidate group");
@@ -160,6 +169,12 @@ foreach my $u (@{$spec->{users}}) {
} else {
$u->{uid} = allocUid($u->{isSystemUser}) if !defined $u->{uid};
+ if (defined $u->{initialPassword}) {
+ $u->{hashedPassword} = hashPassword($u->{initialPassword});
+ } elsif (defined $u->{initialHashedPassword}) {
+ $u->{hashedPassword} = $u->{initialHashedPassword};
+ }
+
# Create a home directory.
if ($u->{createHome}) {
make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
@@ -174,6 +189,8 @@ foreach my $u (@{$spec->{users}}) {
} else {
warn "warning: password file ‘$u->{passwordFile}’ does not exist\n";
}
+ } elsif (defined $u->{password}) {
+ $u->{hashedPassword} = hashPassword($u->{password});
}
$u->{fakePassword} = $existing->{fakePassword} // "x";
@@ -181,7 +198,7 @@ foreach my $u (@{$spec->{users}}) {
}
# Update the persistent list of declarative users.
-write_file($declUsersFile, join(" ", sort(keys %usersOut)));
+write_file($declUsersFile, { binmode => ':utf8' }, join(" ", sort(keys %usersOut)));
# Merge in the existing /etc/passwd.
foreach my $name (keys %usersCur) {
@@ -197,7 +214,7 @@ foreach my $name (keys %usersCur) {
# Rewrite /etc/passwd. FIXME: acquire lock.
@lines = map { join(":", $_->{name}, $_->{fakePassword}, $_->{uid}, $_->{gid}, $_->{description}, $_->{home}, $_->{shell}) . "\n" }
(sort { $a->{uid} <=> $b->{uid} } (values %usersOut));
-write_file("/etc/passwd.tmp", @lines);
+write_file("/etc/passwd.tmp", { binmode => ':utf8' }, @lines);
rename("/etc/passwd.tmp", "/etc/passwd") or die;
system("nscd --invalidate passwd");
@@ -208,32 +225,22 @@ my %shadowSeen;
foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) {
chomp $line;
- my ($name, $password, @rest) = split(':', $line, -9);
+ my ($name, $hashedPassword, @rest) = split(':', $line, -9);
my $u = $usersOut{$name};;
next if !defined $u;
- $password = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
- push @shadowNew, join(":", $name, $password, @rest) . "\n";
+ $hashedPassword = "!" if !$spec->{mutableUsers};
+ $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
+ push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n";
$shadowSeen{$name} = 1;
}
foreach my $u (values %usersOut) {
next if defined $shadowSeen{$u->{name}};
- my $password = "!";
- $password = $u->{hashedPassword} if defined $u->{hashedPassword};
+ my $hashedPassword = "!";
+ $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword};
# FIXME: set correct value for sp_lstchg.
- push @shadowNew, join(":", $u->{name}, $password, "1::::::") . "\n";
+ push @shadowNew, join(":", $u->{name}, $hashedPassword, "1::::::") . "\n";
}
-write_file("/etc/shadow.tmp", { perms => 0600 }, @shadowNew);
+write_file("/etc/shadow.tmp", { binmode => ':utf8', perms => 0600 }, @shadowNew);
rename("/etc/shadow.tmp", "/etc/shadow") or die;
-
-
-# Call chpasswd to apply password. FIXME: generate the hashes directly
-# and merge into the /etc/shadow updating above.
-foreach my $u (@{$spec->{users}}) {
- if (defined $u->{password}) {
- my $pid = open(PW, "| chpasswd") or die;
- print PW "$u->{name}:$u->{password}\n";
- close PW or die "unable to change password of user ‘$u->{name}’: $?\n";
- }
-}
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 0d3273fe053..256c5888cb9 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -8,19 +8,19 @@ let
cfg = config.users;
passwordDescription = ''
- The options hashedPassword,
- password and passwordFile
+ The options ,
+ and
controls what password is set for the user.
- hashedPassword overrides both
- password and passwordFile.
- password overrides passwordFile.
+ overrides both
+ and .
+ overrides .
If none of these three options are set, no password is assigned to
the user, and the user will not be able to do password logins.
- If the option users.mutableUsers is true, the
+ If the option is true, the
password defined in one of the three options will only be set when
the user is created for the first time. After that, you are free to
change the password with the ordinary user management commands. If
- users.mutableUsers is false, you cannot change
+ is false, you cannot change
user passwords, they will always be set according to the password
options.
'';
@@ -155,7 +155,7 @@ let
default = false;
description = ''
If true, the user's shell will be set to
- cfg.defaultUserShell.
+ .
'';
};
@@ -163,7 +163,7 @@ let
type = with types; uniq (nullOr str);
default = null;
description = ''
- Specifies the (hashed) password for the user.
+ Specifies the hashed password for the user.
${passwordDescription}
'';
};
@@ -184,13 +184,44 @@ let
type = with types; uniq (nullOr string);
default = null;
description = ''
- The path to a file that contains the user's password. The password
+ The full path to a file that contains the user's password. The password
file is read on each system activation. The file should contain
exactly one line, which should be the password in an encrypted form
that is suitable for the chpasswd -e command.
${passwordDescription}
'';
};
+
+ initialHashedPassword = mkOption {
+ type = with types; uniq (nullOr str);
+ default = null;
+ description = ''
+ Specifies the initial hashed password for the user, i.e. the
+ hashed password assigned if the user does not already
+ exist. If is true, the
+ password can be changed subsequently using the
+ passwd command. Otherwise, it's
+ equivalent to setting the option.
+ '';
+ };
+
+ initialPassword = mkOption {
+ type = with types; uniq (nullOr str);
+ default = null;
+ description = ''
+ Specifies the initial password for the user, i.e. the
+ password assigned if the user does not already exist. If
+ is true, the password
+ can be changed subsequently using the
+ passwd command. Otherwise, it's
+ equivalent to setting the
+ option. The same caveat applies: the password specified here
+ is world-readable in the Nix store, so it should only be
+ used for guest accounts or passwords that will be changed
+ promptly.
+ '';
+ };
+
};
config = mkMerge
@@ -204,6 +235,14 @@ let
useDefaultShell = mkDefault true;
isSystemUser = mkDefault false;
})
+ # If !mutableUsers, setting ‘initialPassword’ is equivalent to
+ # setting ‘password’ (and similarly for hashed passwords).
+ (mkIf (!cfg.mutableUsers && config.initialPassword != null) {
+ password = mkDefault config.initialPassword;
+ })
+ (mkIf (!cfg.mutableUsers && config.initialHashedPassword != null) {
+ hashedPassword = mkDefault config.initialHashedPassword;
+ })
];
};
@@ -306,7 +345,8 @@ let
users = mapAttrsToList (n: u:
{ inherit (u)
name uid group description home shell createHome isSystemUser
- password passwordFile hashedPassword;
+ password passwordFile hashedPassword
+ initialPassword initialHashedPassword;
}) cfg.extraUsers;
groups = mapAttrsToList (n: g:
{ inherit (g) name gid;
@@ -386,24 +426,12 @@ in {
options = [ groupOpts ];
};
+ # FIXME: obsolete - will remove.
security.initialRootPassword = mkOption {
type = types.str;
default = "!";
example = "";
- description = ''
- The (hashed) password for the root account set on initial
- installation. The empty string denotes that root can login
- locally without a password (but not via remote services such
- as SSH, or indirectly via su or
- sudo). The string !
- prevents root from logging in using a password.
- Note that setting this option sets
- users.extraUsers.root.hashedPassword.
- Also, if users.mutableUsers is false
- you cannot change the root password manually, so in that case
- the name of this option is a bit misleading, since it will define
- the root password beyond the user initialisation phase.
- '';
+ visible = false;
};
};
@@ -421,7 +449,7 @@ in {
shell = mkDefault cfg.defaultUserShell;
group = "root";
extraGroups = [ "grsecurity" ];
- hashedPassword = mkDefault config.security.initialRootPassword;
+ initialHashedPassword = mkDefault config.security.initialRootPassword;
};
nobody = {
uid = ids.uids.nobody;
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index 3820a95b12e..37a9f4d0d31 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -12,7 +12,8 @@ with lib;
default = false;
type = types.bool;
description = ''
- Turn on this option if you want to enable all the firmware shipped with Debian/Ubuntu.
+ Turn on this option if you want to enable all the firmware shipped with Debian/Ubuntu
+ and iwlwifi.
'';
};
@@ -22,7 +23,11 @@ with lib;
###### implementation
config = mkIf config.hardware.enableAllFirmware {
- hardware.firmware = [ "${pkgs.firmwareLinuxNonfree}/lib/firmware" ];
+ hardware.firmware = [
+ "${pkgs.firmwareLinuxNonfree}/lib/firmware"
+ "${pkgs.iwlegacy}/lib/firmware"
+ "${pkgs.iwlwifi}/lib/firmware"
+ ];
};
}
diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix
index 52dea798f87..7b48d9d1fcf 100644
--- a/nixos/modules/hardware/video/bumblebee.nix
+++ b/nixos/modules/hardware/video/bumblebee.nix
@@ -30,7 +30,7 @@ with lib;
boot.kernelModules = [ "bbswitch" ];
boot.extraModulePackages = [ kernel.bbswitch kernel.nvidia_x11 ];
- environment.systemPackages = [ pkgs.bumblebee ];
+ environment.systemPackages = [ pkgs.bumblebee pkgs.primus ];
systemd.services.bumblebeed = {
description = "Bumblebee Hybrid Graphics Switcher";
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 2b9221ec5d7..325aa5f093f 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -11,7 +11,8 @@ let
# FIXME: should introduce an option like
# ‘hardware.video.nvidia.package’ for overriding the default NVIDIA
# driver.
- enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers || elem "nvidiaLegacy304" drivers;
+ enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers
+ || elem "nvidiaLegacy304" drivers || elem "nvidiaLegacy340" drivers;
nvidia_x11 =
if elem "nvidia" drivers then
@@ -20,6 +21,8 @@ let
config.boot.kernelPackages.nvidia_x11_legacy173
else if elem "nvidiaLegacy304" drivers then
config.boot.kernelPackages.nvidia_x11_legacy304
+ else if elem "nvidiaLegacy340" drivers then
+ config.boot.kernelPackages.nvidia_x11_legacy340
else throw "impossible";
in
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 4d87c20559d..b723a91e4f3 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -42,6 +42,12 @@ with lib;
# Get a console as soon as the initrd loads fbcon on EFI boot.
boot.initrd.kernelModules = [ "fbcon" ];
+ # Add support for cow filesystems and their utilities
+ boot.supportedFilesystems = [ "zfs" "btrfs" ];
+
+ # Configure host id for ZFS to work
+ networking.hostId = "8425e349";
+
# Allow the user to log in as root without a password.
- security.initialRootPassword = "";
+ users.extraUsers.root.initialHashedPassword = "";
}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix
index 65aa1167089..189cca9e23b 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix
@@ -11,6 +11,13 @@ with lib;
# Provide wicd for easy wireless configuration.
#networking.wicd.enable = true;
+ # Include gparted for partitioning disks
+ environment.systemPackages = [ pkgs.gparted ];
+
+ # Provide networkmanager for easy wireless configuration.
+ networking.networkmanager.enable = true;
+ networking.wireless.enable = mkForce false;
+
# KDE complains if power management is disabled (to be precise, if
# there is no power management backend such as upower).
powerManagement.enable = true;
@@ -27,4 +34,70 @@ with lib;
AutoLoginUser=root
AutoLoginPass=""
'';
+
+ # Custom kde-workspace adding some icons on the desktop
+
+ system.activationScripts.installerDesktop = let
+ openManual = pkgs.writeScript "nixos-manual.sh" ''
+ #!${pkgs.stdenv.shell}
+ cd ${config.system.build.manual.manual}/share/doc/nixos/
+ konqueror ./index.html
+ '';
+
+ desktopFile = pkgs.writeText "nixos-manual.desktop" ''
+ [Desktop Entry]
+ Version=1.0
+ Type=Application
+ Name=NixOS Manual
+ Exec=${openManual}
+ Icon=konqueror
+ '';
+
+ in ''
+ mkdir -p /root/Desktop
+ ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop
+ ln -sfT ${pkgs.kde4.konsole}/share/applications/kde4/konsole.desktop /root/Desktop/konsole.desktop
+ ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop
+ '';
+
+ services.xserver.desktopManager.kde4.kdeWorkspacePackage = let
+ pkg = pkgs.kde4.kde_workspace;
+
+ plasmaInit = pkgs.writeText "00-defaultLayout.js" ''
+ loadTemplate("org.kde.plasma-desktop.defaultPanel")
+
+ for (var i = 0; i < screenCount; ++i) {
+ var desktop = new Activity
+ desktop.name = i18n("Desktop")
+ desktop.screen = i
+ desktop.wallpaperPlugin = 'image'
+ desktop.wallpaperMode = 'SingleImage'
+
+ var folderview = desktop.addWidget("folderview");
+ folderview.writeConfig("url", "desktop:/");
+
+ //Create more panels for other screens
+ if (i > 0){
+ var panel = new Panel
+ panel.screen = i
+ panel.location = 'bottom'
+ panel.height = screenGeometry(i).height > 1024 ? 35 : 27
+ var tasks = panel.addWidget("tasks")
+ tasks.writeConfig("showOnlyCurrentScreen", true);
+ }
+ }
+ '';
+
+ in
+ pkgs.stdenv.mkDerivation {
+ inherit (pkg) name meta;
+
+ buildCommand = ''
+ mkdir -p $out
+ cp -prf ${pkg}/* $out/
+ chmod a+w $out/share/apps/plasma-desktop/init
+ cp -f ${plasmaInit} $out/share/apps/plasma-desktop/init/00-defaultLayout.js
+ '';
+ };
+
}
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 22f31c46080..84de7800c2a 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -176,7 +176,10 @@ in
# UUID of the USB stick. It would be nicer to write
# `root=/dev/disk/by-label/...' here, but UNetbootin doesn't
# recognise that.
- boot.kernelParams = [ "root=LABEL=${config.isoImage.volumeID}" ];
+ boot.kernelParams =
+ [ "root=LABEL=${config.isoImage.volumeID}"
+ "boot.shell_on_fail"
+ ];
fileSystems."/" =
{ fsType = "tmpfs";
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
index 7d3346e4ea1..bbf0311c04d 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
@@ -76,7 +76,6 @@ in
pkgs.ntfsprogs # for resizing NTFS partitions
pkgs.btrfsProgs
pkgs.jfsutils
- pkgs.jfsrec
# Some compression/archiver tools.
pkgs.unzip
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index e8f100d6498..a3b763a8a94 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -235,7 +235,7 @@ chomp $virt;
# Check if we're a VirtualBox guest. If so, enable the guest
# additions.
if ($virt eq "oracle") {
- push @attrs, "services.virtualbox.enable = true;"
+ push @attrs, "services.virtualboxGuest.enable = true;"
}
@@ -430,7 +430,7 @@ my $hwConfig = < !cfg.testing) || (cfg.testing -> !cfg.stable);
diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix
index cbd1628caae..4c6a1c26426 100644
--- a/nixos/modules/security/sudo.nix
+++ b/nixos/modules/security/sudo.nix
@@ -46,6 +46,14 @@ in
sudoers file.
'';
};
+
+ security.sudo.extraConfig = mkOption {
+ type = types.lines;
+ default = "";
+ description = ''
+ Extra configuration text appended to sudoers.
+ '';
+ };
};
@@ -55,7 +63,8 @@ in
security.sudo.configFile =
''
- # Don't edit this file. Set the NixOS option ‘security.sudo.configFile’ instead.
+ # Don't edit this file. Set the NixOS options ‘security.sudo.configFile’
+ # and security.sudo.extraConfig instead.
# Environment variables to keep for root and %wheel.
Defaults:root,%wheel env_keep+=TERMINFO_DIRS
@@ -69,6 +78,7 @@ in
# Users in the "wheel" group can do anything.
%wheel ALL=(ALL) ${if cfg.wheelNeedsPassword then "" else "NOPASSWD: ALL, "}SETENV: ALL
+ ${cfg.extraConfig}
'';
security.setuidPrograms = [ "sudo" "sudoedit" ];
diff --git a/nixos/modules/services/audio/liquidsoap.nix b/nixos/modules/services/audio/liquidsoap.nix
new file mode 100644
index 00000000000..bf67d2399eb
--- /dev/null
+++ b/nixos/modules/services/audio/liquidsoap.nix
@@ -0,0 +1,74 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ streams = builtins.attrNames config.services.liquidsoap.streams;
+
+ streamService =
+ name:
+ let stream = builtins.getAttr name config.services.liquidsoap.streams; in
+ { inherit name;
+ value = {
+ after = [ "network-online.target" "sound.target" ];
+ description = "${name} liquidsoap stream";
+ wantedBy = [ "multi-user.target" ];
+ path = [ pkgs.wget ];
+ preStart =
+ ''
+ mkdir -p /var/log/liquidsoap
+ chown liquidsoap -R /var/log/liquidsoap
+ '';
+ serviceConfig = {
+ PermissionsStartOnly="true";
+ ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}";
+ User = "liquidsoap";
+ };
+ };
+ };
+in
+{
+
+ ##### interface
+
+ options = {
+
+ services.liquidsoap.streams = mkOption {
+
+ description =
+ ''
+ Set of Liquidsoap streams to start,
+ one systemd service per stream.
+ '';
+
+ default = {};
+
+ example = {
+ myStream1 = literalExample "\"/etc/liquidsoap/myStream1.liq\"";
+ myStream2 = literalExample "./myStream2.liq";
+ myStream3 = literalExample "\"out(playlist(\"/srv/music/\"))\"";
+ };
+
+ type = types.attrsOf (types.either types.path types.str);
+ };
+
+ };
+ ##### implementation
+
+ config = mkIf (builtins.length streams != 0) {
+
+ users.extraUsers.liquidsoap = {
+ uid = config.ids.uids.liquidsoap;
+ group = "liquidsoap";
+ extraGroups = [ "audio" ];
+ description = "Liquidsoap streaming user";
+ home = "/var/lib/liquidsoap";
+ createHome = true;
+ };
+
+ users.extraGroups.liquidsoap.gid = config.ids.gids.liquidsoap;
+
+ systemd.services = builtins.listToAttrs ( map streamService streams );
+ };
+
+}
diff --git a/nixos/modules/services/backup/almir.nix b/nixos/modules/services/backup/almir.nix
index 5ce215c5c4b..ec39a997028 100644
--- a/nixos/modules/services/backup/almir.nix
+++ b/nixos/modules/services/backup/almir.nix
@@ -109,6 +109,7 @@ in {
};
sqlalchemy_engine_url = mkOption {
+ default = "postgresql:///bacula";
example = ''
postgresql://bacula:bacula@localhost:5432/bacula
mysql+mysqlconnector://:@/'
diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix
new file mode 100644
index 00000000000..74643d1d463
--- /dev/null
+++ b/nixos/modules/services/backup/crashplan.nix
@@ -0,0 +1,63 @@
+{ config, pkgs, lib, ... }:
+
+let
+ cfg = config.services.crashplan;
+ crashplan = pkgs.crashplan;
+ varDir = "/var/lib/crashplan";
+in
+
+with lib;
+
+{
+ options = {
+ services.crashplan = {
+ enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Starts crashplan background service.
+ '';
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.systemPackages = [ crashplan ];
+
+ systemd.services.crashplan = {
+ description = "CrashPlan Backup Engine";
+
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+
+ preStart = ''
+ ensureDir() {
+ dir=$1
+ mode=$2
+
+ if ! test -e $dir; then
+ ${pkgs.coreutils}/bin/mkdir -m $mode -p $dir
+ elif [ "$(${pkgs.coreutils}/bin/stat -c %a $dir)" != "$mode" ]; then
+ ${pkgs.coreutils}/bin/chmod $mode $dir
+ fi
+ }
+
+ ensureDir ${crashplan.vardir} 755
+ ensureDir ${crashplan.vardir}/conf 700
+ ensureDir ${crashplan.manifestdir} 700
+ ensureDir ${crashplan.vardir}/cache 700
+ ensureDir ${crashplan.vardir}/backupArchives 700
+ ensureDir ${crashplan.vardir}/log 777
+ '';
+
+ serviceConfig = {
+ Type = "forking";
+ EnvironmentFile = "${crashplan}/bin/run.conf";
+ ExecStart = "${crashplan}/bin/CrashPlanEngine start";
+ ExecStop = "${crashplan}/bin/CrashPlanEngine stop";
+ PIDFile = "${crashplan.vardir}/CrashPlanEngine.pid";
+ WorkingDirectory = crashplan;
+ };
+ };
+ };
+}
diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix
index 091b5cfd4d5..fb25bd9dd1e 100644
--- a/nixos/modules/services/backup/rsnapshot.nix
+++ b/nixos/modules/services/backup/rsnapshot.nix
@@ -39,11 +39,20 @@ in
as retain options.
'';
};
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.rsnapshot;
+ example = literalExample "pkgs.rsnapshotGit";
+ description = ''
+ RSnapshot package to use.
+ '';
+ };
};
};
config = mkIf cfg.enable (let
- myRsnapshot = pkgs.rsnapshot.override { configFile = rsnapshotCfg; };
+ myRsnapshot = cfg.package.override { configFile = rsnapshotCfg; };
rsnapshotCfg = with pkgs; writeText "gen-rsnapshot.conf" (''
config_version 1.2
cmd_cp ${coreutils}/bin/cp
diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix
index f2d64b6891d..a0379043371 100644
--- a/nixos/modules/services/databases/4store-endpoint.nix
+++ b/nixos/modules/services/databases/4store-endpoint.nix
@@ -56,14 +56,13 @@ with lib;
{ name = endpointUser;
uid = config.ids.uids.fourstorehttp;
description = "4Store SPARQL endpoint user";
-# home = stateDir;
};
services.avahi.enable = true;
jobs.fourStoreEndpoint = {
name = "4store-endpoint";
- startOn = "filesystem";
+ startOn = "ip-up";
exec = ''
${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}'
diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix
index 469fef69c95..807317d2745 100644
--- a/nixos/modules/services/databases/4store.nix
+++ b/nixos/modules/services/databases/4store.nix
@@ -54,7 +54,7 @@ with lib;
jobs.fourStore = {
name = "4store";
- startOn = "filesystem";
+ startOn = "ip-up";
preStart = ''
mkdir -p ${stateDir}/
diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase.nix
new file mode 100644
index 00000000000..ccfabc9de0b
--- /dev/null
+++ b/nixos/modules/services/databases/hbase.nix
@@ -0,0 +1,133 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.hbase;
+
+ configFile = pkgs.writeText "hbase-site.xml" ''
+
+
+ hbase.rootdir
+ file://${cfg.dataDir}/hbase
+
+
+ hbase.zookeeper.property.dataDir
+ ${cfg.dataDir}/zookeeper
+
+
+ '';
+
+ configDir = pkgs.runCommand "hbase-config-dir" {} ''
+ mkdir -p $out
+ cp ${cfg.package}/conf/* $out/
+ rm $out/hbase-site.xml
+ ln -s ${configFile} $out/hbase-site.xml
+ '' ;
+
+in {
+
+ ###### interface
+
+ options = {
+
+ services.hbase = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run HBase.
+ '';
+ };
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.hbase;
+ example = literalExample "pkgs.hbase";
+ description = ''
+ HBase package to use.
+ '';
+ };
+
+
+ user = mkOption {
+ type = types.string;
+ default = "hbase";
+ description = ''
+ User account under which HBase runs.
+ '';
+ };
+
+ group = mkOption {
+ type = types.string;
+ default = "hbase";
+ description = ''
+ Group account under which HBase runs.
+ '';
+ };
+
+ dataDir = mkOption {
+ type = types.path;
+ default = "/var/lib/hbase";
+ description = ''
+ Specifies location of HBase database files. This location should be
+ writable and readable for the user the HBase service runs as
+ (hbase by default).
+ '';
+ };
+
+ logDir = mkOption {
+ type = types.path;
+ default = "/var/log/hbase";
+ description = ''
+ Specifies the location of HBase log files.
+ '';
+ };
+
+ };
+
+ };
+
+ ###### implementation
+
+ config = mkIf config.services.hbase.enable {
+
+ systemd.services.hbase = {
+ description = "HBase Server";
+ wantedBy = [ "multi-user.target" ];
+
+ environment = {
+ JAVA_HOME = "${pkgs.jre}";
+ HBASE_LOG_DIR = cfg.logDir;
+ };
+
+ preStart =
+ ''
+ mkdir -p ${cfg.dataDir};
+ mkdir -p ${cfg.logDir};
+
+ if [ "$(id -u)" = 0 ]; then
+ chown ${cfg.user}:${cfg.group} ${cfg.dataDir}
+ chown ${cfg.user}:${cfg.group} ${cfg.logDir}
+ fi
+ '';
+
+ serviceConfig = {
+ PermissionsStartOnly = true;
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = "${cfg.package}/bin/hbase --config ${configDir} master start";
+ };
+ };
+
+ users.extraUsers.hbase = {
+ description = "HBase Server user";
+ group = "hbase";
+ uid = config.ids.uids.hbase;
+ };
+
+ users.extraGroups.hbase.gid = config.ids.gids.hbase;
+
+ };
+}
diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix
index 2ef49a95166..575034c93ab 100644
--- a/nixos/modules/services/databases/neo4j.nix
+++ b/nixos/modules/services/databases/neo4j.nix
@@ -19,7 +19,7 @@ let
org.neo4j.server.webadmin.rrdb.location=${cfg.dataDir}/data/rrd
org.neo4j.server.webadmin.data.uri=/db/data/
org.neo4j.server.webadmin.management.uri=/db/manage/
- org.neo4j.server.db.tuning.properties=${pkgs.neo4j}/share/neo4j/conf/neo4j.properties
+ org.neo4j.server.db.tuning.properties=${cfg.package}/share/neo4j/conf/neo4j.properties
org.neo4j.server.manage.console_engines=shell
${cfg.extraServerConfig}
'';
@@ -46,6 +46,12 @@ in {
type = types.uniq types.bool;
};
+ package = mkOption {
+ description = "Neo4j package to use.";
+ default = pkgs.neo4j;
+ type = types.package;
+ };
+
host = mkOption {
description = "Neo4j listen address.";
default = "127.0.0.1";
@@ -119,7 +125,7 @@ in {
after = [ "network-interfaces.target" ];
environment = { NEO4J_INSTANCE = cfg.dataDir; };
serviceConfig = {
- ExecStart = "${pkgs.neo4j}/bin/neo4j console";
+ ExecStart = "${cfg.package}/bin/neo4j console";
User = "neo4j";
PermissionsStartOnly = true;
};
diff --git a/nixos/modules/services/databases/opentsdb.nix b/nixos/modules/services/databases/opentsdb.nix
new file mode 100644
index 00000000000..9c9738570e3
--- /dev/null
+++ b/nixos/modules/services/databases/opentsdb.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.opentsdb;
+
+ configFile = pkgs.writeText "opentsdb.conf" ''
+ tsd.core.auto_create_metrics = true
+ tsd.http.request.enable_chunked = true
+ '';
+
+in {
+
+ ###### interface
+
+ options = {
+
+ services.opentsdb = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run OpenTSDB.
+ '';
+ };
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.opentsdb;
+ example = literalExample "pkgs.opentsdb";
+ description = ''
+ OpenTSDB package to use.
+ '';
+ };
+
+ user = mkOption {
+ type = types.string;
+ default = "opentsdb";
+ description = ''
+ User account under which OpenTSDB runs.
+ '';
+ };
+
+ group = mkOption {
+ type = types.string;
+ default = "opentsdb";
+ description = ''
+ Group account under which OpenTSDB runs.
+ '';
+ };
+
+ port = mkOption {
+ type = types.int;
+ default = 4242;
+ description = ''
+ Which port OpenTSDB listens on.
+ '';
+ };
+
+ };
+
+ };
+
+ ###### implementation
+
+ config = mkIf config.services.opentsdb.enable {
+
+ systemd.services.opentsdb = {
+ description = "OpenTSDB Server";
+ wantedBy = [ "multi-user.target" ];
+ requires = [ "hbase.service" ];
+
+ environment.JAVA_HOME = "${pkgs.jre}";
+ path = [ pkgs.gnuplot ];
+
+ preStart =
+ ''
+ COMPRESSION=NONE HBASE_HOME=${config.services.hbase.package} ${cfg.package}/share/opentsdb/tools/create_table.sh
+ '';
+
+ serviceConfig = {
+ PermissionsStartOnly = true;
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = "${cfg.package}/bin/tsdb tsd --staticroot=${cfg.package}/share/opentsdb/static --cachedir=/tmp/opentsdb --port=${toString cfg.port} --config=${configFile}";
+ };
+ };
+
+ users.extraUsers.opentsdb = {
+ description = "OpenTSDB Server user";
+ group = "opentsdb";
+ uid = config.ids.uids.opentsdb;
+ };
+
+ users.extraGroups.opentsdb.gid = config.ids.gids.opentsdb;
+
+ };
+}
diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix
index f955cb74b6b..8a49e13395c 100644
--- a/nixos/modules/services/databases/virtuoso.nix
+++ b/nixos/modules/services/databases/virtuoso.nix
@@ -63,7 +63,7 @@ with lib;
jobs.virtuoso = {
name = "virtuoso";
- startOn = "filesystem";
+ startOn = "ip-up";
preStart = ''
mkdir -p ${stateDir}
diff --git a/nixos/modules/services/hardware/thermald.nix b/nixos/modules/services/hardware/thermald.nix
index 5233794a20c..88c3f99aed4 100644
--- a/nixos/modules/services/hardware/thermald.nix
+++ b/nixos/modules/services/hardware/thermald.nix
@@ -19,6 +19,8 @@ in {
###### implementation
config = mkIf cfg.enable {
+ services.dbus.packages = [ pkgs.thermald ];
+
systemd.services.thermald = {
description = "Thermal Daemon Service";
wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 068d14217a2..2a6f4cfb4e3 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -31,6 +31,7 @@ let
buildCommand = ''
mkdir -p $out
shopt -s nullglob
+ set +o pipefail
# Set a reasonable $PATH for programs called by udev rules.
echo 'ENV{PATH}="${udevPath}/bin:${udevPath}/sbin"' > $out/00-path.rules
@@ -168,7 +169,6 @@ in
hardware.firmware = mkOption {
type = types.listOf types.path;
default = [];
- example = [ "/root/my-firmware" ];
description = ''
List of directories containing firmware files. Such files
will be loaded automatically if the kernel asks for them
@@ -177,10 +177,10 @@ in
firmware file with the same name, the first path in the list
takes precedence. Note that you must rebuild your system if
you add files to any of these directories. For quick testing,
- put firmware files in /root/test-firmware and add that
- directory to the list.
- Note that you can also add firmware packages to this
- list as these are directories in the nix store.
+ put firmware files in /root/test-firmware
+ and add that directory to the list. Note that you can also
+ add firmware packages to this list as these are directories in
+ the nix store.
'';
apply = list: pkgs.buildEnv {
name = "firmware";
@@ -244,6 +244,11 @@ in
echo "regenerating udev hardware database..."
${config.systemd.package}/bin/udevadm hwdb --update && ln -sfn ${config.systemd.package} /var/lib/udev/prev-systemd
fi
+
+ # Allow the kernel to find our firmware.
+ if [ -e /sys/module/firmware_class/parameters/path ]; then
+ echo -n "${config.hardware.firmware}" > /sys/module/firmware_class/parameters/path
+ fi
'';
systemd.services.systemd-udevd =
diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix
index 6887ab1e805..0186452de95 100644
--- a/nixos/modules/services/logging/logrotate.nix
+++ b/nixos/modules/services/logging/logrotate.nix
@@ -21,6 +21,7 @@ in
config = mkOption {
default = "";
+ type = types.lines;
description = ''
The contents of the logrotate config file
'';
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index df81ac142dc..117ee1c900f 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -4,6 +4,16 @@ with lib;
let
cfg = config.services.logstash;
+ pluginPath = lib.concatStringsSep ":" cfg.plugins;
+ havePluginPath = lib.length cfg.plugins > 0;
+ ops = lib.optionalString;
+ verbosityFlag = {
+ debug = "--debug";
+ info = "--verbose";
+ warn = ""; # intentionally empty
+ error = "--quiet";
+ fatal = "--silent";
+ }."${cfg.logLevel}";
in
@@ -20,12 +30,56 @@ in
description = "Enable logstash.";
};
+ package = mkOption {
+ type = types.package;
+ default = pkgs.logstash;
+ example = literalExample "pkgs.logstash";
+ description = "Logstash package to use.";
+ };
+
+ plugins = mkOption {
+ type = types.listOf types.path;
+ default = [ ];
+ example = literalExample "[ pkgs.logstash-contrib ]";
+ description = "The paths to find other logstash plugins in.";
+ };
+
+ logLevel = mkOption {
+ type = types.enum [ "debug" "info" "warn" "error" "fatal" ];
+ default = "warn";
+ description = "Logging verbosity level.";
+ };
+
+ watchdogTimeout = mkOption {
+ type = types.int;
+ default = 10;
+ description = "Set watchdog timeout value in seconds.";
+ };
+
+ filterWorkers = mkOption {
+ type = types.int;
+ default = 1;
+ description = "The quantity of filter workers to run.";
+ };
+
enableWeb = mkOption {
type = types.bool;
default = false;
description = "Enable the logstash web interface.";
};
+ address = mkOption {
+ type = types.str;
+ default = "0.0.0.0";
+ description = "Address on which to start webserver.";
+ };
+
+ port = mkOption {
+ type = types.str;
+ default = "9292";
+ description = "Port on which to start webserver.";
+ };
+
inputConfig = mkOption {
type = types.lines;
default = ''stdin { type => "example" }'';
@@ -79,19 +133,26 @@ in
wantedBy = [ "multi-user.target" ];
environment = { JAVA_HOME = jre; };
serviceConfig = {
- ExecStart = "${logstash}/bin/logstash agent -f ${writeText "logstash.conf" ''
- input {
- ${cfg.inputConfig}
- }
+ ExecStart =
+ "${cfg.package}/bin/logstash agent " +
+ "-w ${toString cfg.filterWorkers} " +
+ ops havePluginPath "--pluginpath ${pluginPath} " +
+ "${verbosityFlag} " +
+ "--watchdog-timeout ${toString cfg.watchdogTimeout} " +
+ "-f ${writeText "logstash.conf" ''
+ input {
+ ${cfg.inputConfig}
+ }
- filter {
- ${cfg.filterConfig}
- }
+ filter {
+ ${cfg.filterConfig}
+ }
- output {
- ${cfg.outputConfig}
- }
- ''} ${optionalString cfg.enableWeb "-- web"}";
+ output {
+ ${cfg.outputConfig}
+ }
+ ''} " +
+ ops cfg.enableWeb "-- web -a ${cfg.address} -p ${cfg.port}";
};
};
};
diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix
index 4a16b19134a..2bf6d1ff790 100644
--- a/nixos/modules/services/logging/syslog-ng.nix
+++ b/nixos/modules/services/logging/syslog-ng.nix
@@ -7,8 +7,7 @@ let
cfg = config.services.syslog-ng;
syslogngConfig = pkgs.writeText "syslog-ng.conf" ''
- @version: 3.5
- @include "scl.conf"
+ ${cfg.configHeader}
${cfg.extraConfig}
'';
@@ -44,15 +43,6 @@ in {
The package providing syslog-ng binaries.
'';
};
- serviceName = mkOption {
- type = types.str;
- default = "syslog-ng";
- description = ''
- The name of the systemd service that runs syslog-ng. Set this to
- syslog if you want journald to automatically
- forward all logs to syslog-ng.
- '';
- };
extraModulePaths = mkOption {
type = types.listOf types.str;
default = [];
@@ -72,16 +62,28 @@ in {
Configuration added to the end of syslog-ng.conf.
'';
};
+ configHeader = mkOption {
+ type = types.lines;
+ default = ''
+ @version: 3.6
+ @include "scl.conf"
+ '';
+ description = ''
+ The very first lines of the configuration file. Should usually contain
+ the syslog-ng version header.
+ '';
+ };
};
};
config = mkIf cfg.enable {
- systemd.services."${cfg.serviceName}" = {
- wantedBy = [ "multi-user.target" ];
+ systemd.services.syslog-ng = {
+ description = "syslog-ng daemon";
preStart = "mkdir -p /{var,run}/syslog-ng";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "multi-user.target" ]; # makes sure hostname etc is set
serviceConfig = {
Type = "notify";
- Sockets = "syslog.socket";
StandardOutput = "null";
Restart = "on-failure";
ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
new file mode 100644
index 00000000000..67580a1c627
--- /dev/null
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -0,0 +1,82 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.dockerRegistry;
+
+in {
+ ###### interface
+
+ options.services.dockerRegistry = {
+ enable = mkOption {
+ description = "Whether to enable docker registry server.";
+ default = false;
+ type = types.bool;
+ };
+
+ host = mkOption {
+ description = "Docker registry host or ip to bind to.";
+ default = "127.0.0.1";
+ type = types.str;
+ };
+
+ port = mkOption {
+ description = "Docker registry port to bind to.";
+ default = 5000;
+ type = types.int;
+ };
+
+ storagePath = mkOption {
+ type = types.path;
+ default = "/var/lib/docker/registry";
+ description = "Docker registry strorage path.";
+ };
+
+ extraConfig = mkOption {
+ description = ''
+ Docker extra registry configuration. See
+
+ '';
+ default = {};
+ type = types.attrsOf types.str;
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.docker-registry = {
+ description = "Docker Container Registry";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+
+ environment = {
+ REGISTRY_HOST = cfg.host;
+ REGISTRY_PORT = toString cfg.port;
+ GUNICORN_OPTS = "[--preload]"; # see https://github.com/docker/docker-registry#sqlalchemy
+ STORAGE_PATH = cfg.storagePath;
+ } // cfg.extraConfig;
+
+ serviceConfig = {
+ ExecStart = "${pkgs.pythonPackages.docker_registry}/bin/docker-registry";
+ User = "docker-registry";
+ Group = "docker";
+ PermissionsStartOnly = true;
+ };
+
+ preStart = ''
+ mkdir -p ${cfg.storagePath}
+ if [ "$(id -u)" = 0 ]; then
+ chown -R docker-registry:docker ${cfg.storagePath}
+ fi
+ '';
+ postStart = ''
+ until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/'; do
+ sleep 1;
+ done
+ '';
+ };
+
+ users.extraGroups.docker.gid = mkDefault config.ids.gids.docker;
+ users.extraUsers.docker-registry.uid = config.ids.uids.docker-registry;
+ };
+}
diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix
new file mode 100644
index 00000000000..284361a04d9
--- /dev/null
+++ b/nixos/modules/services/misc/etcd.nix
@@ -0,0 +1,144 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.etcd;
+
+in {
+
+ options.services.etcd = {
+ enable = mkOption {
+ description = "Whether to enable etcd.";
+ default = false;
+ type = types.uniq types.bool;
+ };
+
+ name = mkOption {
+ description = "Etcd unique node name.";
+ default = config.networking.hostName;
+ type = types.str;
+ };
+
+ advertiseClientUrls = mkOption {
+ description = "Etcd list of this member's client URLs to advertise to the rest of the cluster.";
+ default = cfg.listenClientUrls;
+ type = types.listOf types.str;
+ };
+
+ listenClientUrls = mkOption {
+ description = "Etcd list of URLs to listen on for client traffic.";
+ default = ["http://localhost:4001"];
+ type = types.listOf types.str;
+ };
+
+ listenPeerUrls = mkOption {
+ description = "Etcd list of URLs to listen on for peer traffic.";
+ default = ["http://localhost:7001"];
+ type = types.listOf types.str;
+ };
+
+ initialAdvertisePeerUrls = mkOption {
+ description = "Etcd list of this member's peer URLs to advertise to rest of the cluster.";
+ default = cfg.listenPeerUrls;
+ type = types.listOf types.str;
+ };
+
+ initialCluster = mkOption {
+ description = "Etcd initial cluster configuration for bootstrapping.";
+ default = ["${cfg.name}=http://localhost:7001"];
+ type = types.listOf types.str;
+ };
+
+ initialClusterState = mkOption {
+ description = "Etcd initial cluster configuration for bootstrapping.";
+ default = "new";
+ type = types.enum ["new" "existing"];
+ };
+
+ initialClusterToken = mkOption {
+ description = "Etcd initial cluster token for etcd cluster during bootstrap.";
+ default = "etcd-cluster";
+ type = types.str;
+ };
+
+ discovery = mkOption {
+ description = "Etcd discovery url";
+ default = "";
+ type = types.str;
+ };
+
+ extraConf = mkOption {
+ description = ''
+ Etcd extra configuration. See
+
+ '';
+ type = types.attrsOf types.str;
+ default = {};
+ example = literalExample ''
+ {
+ "CORS": "*",
+ "NAME": "default-name",
+ "MAX_RESULT_BUFFER": "1024",
+ "MAX_CLUSTER_SIZE": "9",
+ "MAX_RETRY_ATTEMPTS": "3"
+ }
+ '';
+ };
+
+ dataDir = mkOption {
+ type = types.path;
+ default = "/var/lib/etcd";
+ description = "Etcd data directory.";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.etcd = {
+ description = "Etcd Daemon";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+
+ environment = {
+ ETCD_NAME = cfg.name;
+ ETCD_DISCOVERY = cfg.discovery;
+ ETCD_DATA_DIR = cfg.dataDir;
+ ETCD_ADVERTISE_CLIENT_URLS = concatStringsSep "," cfg.advertiseClientUrls;
+ ETCD_LISTEN_CLIENT_URLS = concatStringsSep "," cfg.listenClientUrls;
+ ETCD_LISTEN_PEER_URLS = concatStringsSep "," cfg.listenPeerUrls;
+ ETCD_INITIAL_ADVERTISE_PEER_URLS = concatStringsSep "," cfg.initialAdvertisePeerUrls;
+ } // (optionalAttrs (cfg.discovery == ""){
+ ETCD_INITIAL_CLUSTER = concatStringsSep "," cfg.initialCluster;
+ ETCD_INITIAL_CLUSTER_STATE = cfg.initialClusterState;
+ ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken;
+ }) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf);
+
+ serviceConfig = {
+ ExecStart = "${pkgs.etcd}/bin/etcd";
+ User = "etcd";
+ PermissionsStartOnly = true;
+ };
+ preStart = ''
+ mkdir -m 0700 -p ${cfg.dataDir}
+ if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi
+ '';
+ postStart = ''
+ until ${pkgs.etcdctl}/bin/etcdctl set /nixos/state 'up'; do
+ sleep 1;
+ done
+ until ${pkgs.etcdctl}/bin/etcdctl get /nixos/state | grep up; do
+ sleep 1;
+ done
+ '';
+ };
+
+ environment.systemPackages = [ pkgs.etcdctl ];
+
+ users.extraUsers = singleton {
+ name = "etcd";
+ uid = config.ids.uids.etcd;
+ description = "Etcd daemon user";
+ home = cfg.dataDir;
+ };
+ };
+}
diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix
index 961af48e0f8..66e19d13d72 100644
--- a/nixos/modules/services/misc/gitolite.nix
+++ b/nixos/modules/services/misc/gitolite.nix
@@ -15,14 +15,21 @@ in
default = false;
description = ''
Enable gitolite management under the
- gitolite user. The Gitolite home
- directory is /var/lib/gitolite. After
+ gitolite user. After
switching to a configuration with Gitolite enabled, you can
then run git clone
gitolite@host:gitolite-admin.git to manage it further.
'';
};
+ dataDir = mkOption {
+ type = types.str;
+ default = "/var/lib/gitolite";
+ description = ''
+ Gitolite home directory (used to store all the repositories).
+ '';
+ };
+
adminPubkey = mkOption {
type = types.str;
description = ''
@@ -39,13 +46,21 @@ in
A list of custom git hooks that get copied to ~/.gitolite/hooks/common.
'';
};
+
+ user = mkOption {
+ type = types.str;
+ default = "gitolite";
+ description = ''
+ Gitolite user account. This is the username of the gitolite endpoint.
+ '';
+ };
};
};
config = mkIf cfg.enable {
- users.extraUsers.gitolite = {
+ users.extraUsers.${cfg.user} = {
description = "Gitolite user";
- home = "/var/lib/gitolite";
+ home = cfg.dataDir;
createHome = true;
uid = config.ids.uids.gitolite;
useDefaultShell = true;
@@ -55,13 +70,13 @@ in
description = "Gitolite initialization";
wantedBy = [ "multi-user.target" ];
- serviceConfig.User = "gitolite";
+ serviceConfig.User = "${cfg.user}";
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ];
script = ''
- cd /var/lib/gitolite
+ cd ${cfg.dataDir}
mkdir -p .gitolite/logs
if [ ! -d repositories ]; then
gitolite setup -pk ${pubkeyFile}
diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix
index bdf88d427c5..5609cf75bb5 100644
--- a/nixos/modules/services/misc/mesos-master.nix
+++ b/nixos/modules/services/misc/mesos-master.nix
@@ -4,11 +4,11 @@ with lib;
let
cfg = config.services.mesos.master;
-
+
in {
options.services.mesos = {
-
+
master = {
enable = mkOption {
description = "Whether to enable the Mesos Master.";
@@ -31,36 +31,36 @@ in {
'';
type = types.str;
};
-
+
workDir = mkOption {
description = "The Mesos work directory.";
default = "/var/lib/mesos/master";
type = types.str;
};
-
+
extraCmdLineOptions = mkOption {
description = ''
Extra command line options for Mesos Master.
-
+
See https://mesos.apache.org/documentation/latest/configuration/
'';
default = [ "" ];
type = types.listOf types.string;
example = [ "--credentials=VALUE" ];
};
-
+
quorum = mkOption {
description = ''
The size of the quorum of replicas when using 'replicated_log' based
registry. It is imperative to set this value to be a majority of
masters i.e., quorum > (number of masters)/2.
-
+
If 0 will fall back to --registry=in_memory.
'';
default = 0;
type = types.int;
};
-
+
logLevel = mkOption {
description = ''
The logging level used. Possible values:
@@ -86,11 +86,12 @@ in {
${pkgs.mesos}/bin/mesos-master \
--port=${toString cfg.port} \
--zk=${cfg.zk} \
- ${if cfg.quorum == 0 then "--registry=in_memory" else "--registry=replicated_log --quorum=${cfg.quorum}"} \
+ ${if cfg.quorum == 0 then "--registry=in_memory" else "--registry=replicated_log --quorum=${toString cfg.quorum}"} \
--work_dir=${cfg.workDir} \
--logging_level=${cfg.logLevel} \
${toString cfg.extraCmdLineOptions}
'';
+ Restart = "on-failure";
PermissionsStartOnly = true;
};
preStart = ''
@@ -98,6 +99,6 @@ in {
'';
};
};
-
+
}
diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix
index e9a89816716..d89531f7e90 100644
--- a/nixos/modules/services/misc/mesos-slave.nix
+++ b/nixos/modules/services/misc/mesos-slave.nix
@@ -4,7 +4,7 @@ with lib;
let
cfg = config.services.mesos.slave;
-
+
in {
options.services.mesos = {
@@ -29,30 +29,30 @@ in {
'';
type = types.str;
};
-
+
withHadoop = mkOption {
description = "Add the HADOOP_HOME to the slave.";
default = false;
type = types.bool;
};
-
+
workDir = mkOption {
description = "The Mesos work directory.";
default = "/var/lib/mesos/slave";
type = types.str;
};
-
+
extraCmdLineOptions = mkOption {
description = ''
Extra command line options for Mesos Slave.
-
+
See https://mesos.apache.org/documentation/latest/configuration/
'';
default = [ "" ];
type = types.listOf types.string;
example = [ "--gc_delay=3days" ];
};
-
+
logLevel = mkOption {
description = ''
The logging level used. Possible values:
@@ -72,6 +72,7 @@ in {
description = "Mesos Slave";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" ];
+ environment.MESOS_CONTAINERIZERS = "docker,mesos";
serviceConfig = {
ExecStart = ''
${pkgs.mesos}/bin/mesos-slave \
@@ -80,6 +81,7 @@ in {
${optionalString cfg.withHadoop "--hadoop-home=${pkgs.hadoop}"} \
--work_dir=${cfg.workDir} \
--logging_level=${cfg.logLevel} \
+ --docker=${pkgs.docker}/libexec/docker/docker \
${toString cfg.extraCmdLineOptions}
'';
PermissionsStartOnly = true;
@@ -89,5 +91,5 @@ in {
'';
};
};
-
-}
\ No newline at end of file
+
+}
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index c98c0511b56..d041c5664ef 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -36,6 +36,7 @@ let
# /etc/nixos/configuration.nix. Do not edit it!
build-users-group = nixbld
build-max-jobs = ${toString (cfg.maxJobs)}
+ build-cores = ${toString (cfg.buildCores)}
build-use-chroot = ${if cfg.useChroot then "true" else "false"}
build-chroot-dirs = ${toString cfg.chrootDirs} /bin/sh=${sh} $(echo $extraPaths)
binary-caches = ${toString cfg.binaryCaches}
@@ -74,6 +75,19 @@ in
";
};
+ buildCores = mkOption {
+ type = types.int;
+ default = 1;
+ example = 64;
+ description = ''
+ This option defines the maximum number of concurrent tasks during
+ one build. It affects, e.g., -j option for make. The default is 1.
+ Some builds may become non-deterministic with this option; use with
+ care! Packages will only be affected if enableParallelBuilding is
+ set for them.
+ '';
+ };
+
useChroot = mkOption {
type = types.bool;
default = false;
@@ -179,17 +193,6 @@ in
'';
};
- proxy = mkOption {
- type = types.str;
- default = "";
- description = ''
- This option specifies the proxy to use for fetchurl. The real effect
- is just exporting http_proxy, https_proxy and ftp_proxy with that
- value.
- '';
- example = "http://127.0.0.1:3128";
- };
-
# Environment variables for running Nix.
envVars = mkOption {
type = types.attrs;
@@ -278,7 +281,9 @@ in
{ path = [ nix pkgs.openssl pkgs.utillinux pkgs.openssh ]
++ optionals cfg.distributedBuilds [ pkgs.gzip ];
- environment = cfg.envVars // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; };
+ environment = cfg.envVars
+ // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; }
+ // config.networking.proxy.envVars;
serviceConfig =
{ Nice = cfg.daemonNiceLevel;
@@ -303,13 +308,6 @@ in
NIX_BUILD_HOOK = "${nix}/libexec/nix/build-remote.pl";
NIX_REMOTE_SYSTEMS = "/etc/nix/machines";
NIX_CURRENT_LOAD = "/run/nix/current-load";
- }
-
- # !!! These should not be defined here, but in some general proxy configuration module!
- // optionalAttrs (cfg.proxy != "") {
- http_proxy = cfg.proxy;
- https_proxy = cfg.proxy;
- ftp_proxy = cfg.proxy;
};
# Set up the environment variables for running Nix.
diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix
new file mode 100644
index 00000000000..d7e64590f50
--- /dev/null
+++ b/nixos/modules/services/misc/redmine.nix
@@ -0,0 +1,222 @@
+{ config, lib, pkgs, ... }:
+
+# TODO: support non-postgresql
+
+with lib;
+
+let
+ cfg = config.services.redmine;
+
+ ruby = pkgs.ruby;
+ rubyLibs = pkgs.rubyLibs;
+
+ databaseYml = ''
+ production:
+ adapter: postgresql
+ database: ${cfg.databaseName}
+ host: ${cfg.databaseHost}
+ password: ${cfg.databasePassword}
+ username: ${cfg.databaseUsername}
+ encoding: utf8
+ '';
+
+ configurationYml = ''
+ default:
+ # Absolute path to the directory where attachments are stored.
+ # The default is the 'files' directory in your Redmine instance.
+ # Your Redmine instance needs to have write permission on this
+ # directory.
+ # Examples:
+ # attachments_storage_path: /var/redmine/files
+ # attachments_storage_path: D:/redmine/files
+ attachments_storage_path: ${cfg.stateDir}/files
+
+ # Absolute path to the SCM commands errors (stderr) log file.
+ # The default is to log in the 'log' directory of your Redmine instance.
+ # Example:
+ # scm_stderr_log_file: /var/log/redmine_scm_stderr.log
+ scm_stderr_log_file: ${cfg.stateDir}/redmine_scm_stderr.log
+
+ ${cfg.extraConfig}
+ '';
+
+ unpackTheme = unpack "theme";
+ unpackPlugin = unpack "plugin";
+ unpack = id: (name: source:
+ pkgs.stdenv.mkDerivation {
+ name = "redmine-${id}-${name}";
+ buildInputs = [ pkgs.unzip ];
+ buildCommand = ''
+ mkdir -p $out
+ cd $out
+ unpackFile ${source}
+ '';
+ });
+
+in {
+
+ options = {
+ services.redmine = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable the redmine service.
+ '';
+ };
+
+ stateDir = mkOption {
+ type = types.str;
+ default = "/var/redmine";
+ description = "The state directory, logs and plugins are stored here";
+ };
+
+ extraConfig = mkOption {
+ type = types.str;
+ default = "";
+ description = "Extra configuration in configuration.yml";
+ };
+
+ themes = mkOption {
+ type = types.attrsOf types.path;
+ default = {};
+ description = "Set of themes";
+ };
+
+ plugins = mkOption {
+ type = types.attrsOf types.path;
+ default = {};
+ description = "Set of plugins";
+ };
+
+ #databaseType = mkOption {
+ # type = types.str;
+ # default = "postgresql";
+ # description = "Type of database";
+ #};
+
+ databaseHost = mkOption {
+ type = types.str;
+ default = "127.0.0.1";
+ description = "Database hostname";
+ };
+
+ databasePassword = mkOption {
+ type = types.str;
+ default = "";
+ description = "Database user password";
+ };
+
+ databaseName = mkOption {
+ type = types.str;
+ default = "redmine";
+ description = "Database name";
+ };
+
+ databaseUsername = mkOption {
+ type = types.str;
+ default = "redmine";
+ description = "Database user";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+
+ assertions = [
+ { assertion = cfg.databasePassword != "";
+ message = "databasePassword must be set";
+ }
+ ];
+
+ users.extraUsers = [
+ { name = "redmine";
+ group = "redmine";
+ uid = config.ids.uids.redmine;
+ } ];
+
+ users.extraGroups = [
+ { name = "redmine";
+ gid = config.ids.gids.redmine;
+ } ];
+
+ systemd.services.redmine = {
+ after = [ "network.target" "postgresql.service" ];
+ wantedBy = [ "multi-user.target" ];
+ environment.RAILS_ENV = "production";
+ environment.RAILS_ETC = "${cfg.stateDir}/config";
+ environment.RAILS_LOG = "${cfg.stateDir}/log";
+ environment.RAILS_VAR = "${cfg.stateDir}/var";
+ environment.RAILS_CACHE = "${cfg.stateDir}/cache";
+ environment.RAILS_PLUGINS = "${cfg.stateDir}/plugins";
+ environment.RAILS_PUBLIC = "${cfg.stateDir}/public";
+ environment.RAILS_TMP = "${cfg.stateDir}/tmp";
+ environment.SCHEMA = "${cfg.stateDir}/cache/schema.db";
+ environment.HOME = "${pkgs.redmine}/share/redmine";
+ environment.REDMINE_LANG = "en";
+ environment.GEM_HOME = "${pkgs.redmine}/share/redmine/vendor/bundle/ruby/1.9.1";
+ environment.GEM_PATH = "${rubyLibs.bundler}/lib/ruby/gems/1.9";
+ path = with pkgs; [
+ imagemagickBig
+ subversion
+ mercurial
+ cvs
+ config.services.postgresql.package
+ bazaar
+ gitAndTools.git
+ # once we build binaries for darc enable it
+ #darcs
+ ];
+ preStart = ''
+ # TODO: use env vars
+ for i in plugins public/plugin_assets db files log config cache var/files tmp; do
+ mkdir -p ${cfg.stateDir}/$i
+ done
+
+ chown -R redmine:redmine ${cfg.stateDir}
+ chmod -R 755 ${cfg.stateDir}
+
+ rm -rf ${cfg.stateDir}/public/*
+ cp -R ${pkgs.redmine}/share/redmine/public/* ${cfg.stateDir}/public/
+ for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do
+ ln -fs $theme/* ${cfg.stateDir}/public/themes/
+ done
+
+ rm -rf ${cfg.stateDir}/plugins/*
+ for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do
+ ln -fs $plugin/* ${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}
+ done
+
+ ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml
+ ln -fs ${pkgs.writeText "configuration.yml" configurationYml} ${cfg.stateDir}/config/configuration.yml
+
+ if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
+ if ! test -e "${cfg.stateDir}/db-created"; then
+ psql postgres -c "CREATE ROLE redmine WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
+ ${config.services.postgresql.package}/bin/createdb --owner redmine redmine || true
+ touch "${cfg.stateDir}/db-created"
+ fi
+ fi
+
+ cd ${pkgs.redmine}/share/redmine/
+ ${ruby}/bin/rake db:migrate
+ ${ruby}/bin/rake redmine:plugins:migrate
+ ${ruby}/bin/rake redmine:load_default_data
+ ${ruby}/bin/rake generate_secret_token
+ '';
+
+ serviceConfig = {
+ PermissionsStartOnly = true; # preStart must be run as root
+ Type = "simple";
+ User = "redmine";
+ Group = "redmine";
+ TimeoutSec = "300";
+ WorkingDirectory = "${pkgs.redmine}/share/redmine";
+ ExecStart="${ruby}/bin/ruby ${pkgs.redmine}/share/redmine/script/rails server webrick -e production -P ${cfg.stateDir}/redmine.pid";
+ };
+
+ };
+
+ };
+
+}
diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix
old mode 100755
new mode 100644
diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix
new file mode 100644
index 00000000000..7a53ce17454
--- /dev/null
+++ b/nixos/modules/services/monitoring/bosun.nix
@@ -0,0 +1,136 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.bosun;
+
+ configFile = pkgs.writeText "bosun.conf" ''
+ tsdbHost = ${cfg.opentsdbHost}
+ httpListen = ${cfg.listenAddress}
+ stateFile = ${cfg.stateFile}
+ checkFrequency = 5m
+
+ ${cfg.extraConfig}
+ '';
+
+in {
+
+ options = {
+
+ services.bosun = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run bosun.
+ '';
+ };
+
+ package = mkOption {
+ type = types.package;
+ example = literalExample "pkgs.bosun";
+ description = ''
+ bosun binary to use.
+ '';
+ };
+
+ user = mkOption {
+ type = types.string;
+ default = "bosun";
+ description = ''
+ User account under which bosun runs.
+ '';
+ };
+
+ group = mkOption {
+ type = types.string;
+ default = "bosun";
+ description = ''
+ Group account under which bosun runs.
+ '';
+ };
+
+ opentsdbHost = mkOption {
+ type = types.string;
+ default = "localhost:4242";
+ description = ''
+ Host and port of the OpenTSDB database that stores bosun data.
+ '';
+ };
+
+ listenAddress = mkOption {
+ type = types.string;
+ default = ":8070";
+ description = ''
+ The host address and port that bosun's web interface will listen on.
+ '';
+ };
+
+ stateFile = mkOption {
+ type = types.string;
+ default = "/var/lib/bosun/bosun.state";
+ description = ''
+ Path to bosun's state file.
+ '';
+ };
+
+ extraConfig = mkOption {
+ type = types.string;
+ default = "";
+ description = ''
+ Extra configuration options for Bosun. You should describe your
+ desired templates, alerts, macros, etc through this configuration
+ option.
+
+ A detailed description of the supported syntax can be found at-spi2-atk
+ http://bosun.org/configuration.html
+ '';
+ };
+
+ };
+
+ };
+
+ config = mkIf cfg.enable {
+
+ services.bosun.package = mkDefault pkgs.bosun;
+
+ systemd.services.bosun = {
+ description = "bosun metrics collector (part of Bosun)";
+ wantedBy = [ "multi-user.target" ];
+
+ preStart =
+ ''
+ mkdir -p `dirname ${cfg.stateFile}`;
+ touch ${cfg.stateFile}
+ touch ${cfg.stateFile}.tmp
+
+ if [ "$(id -u)" = 0 ]; then
+ chown ${cfg.user}:${cfg.group} ${cfg.stateFile}
+ chown ${cfg.user}:${cfg.group} ${cfg.stateFile}.tmp
+ fi
+ '';
+
+ serviceConfig = {
+ PermissionsStartOnly = true;
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = ''
+ ${cfg.package}/bin/bosun -c ${configFile}
+ '';
+ };
+ };
+
+ users.extraUsers.bosun = {
+ description = "bosun user";
+ group = "bosun";
+ uid = config.ids.uids.bosun;
+ };
+
+ users.extraGroups.bosun.gid = config.ids.gids.bosun;
+
+ };
+
+}
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index 3d97c31b7a1..bbbbcbccb9b 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -24,6 +24,8 @@ let
GRAPHITE_URL = cfg.seyren.graphiteUrl;
} // cfg.seyren.extraConfig;
+ pagerConfig = pkgs.writeText "alarms.yaml" cfg.pager.alerts;
+
configDir = pkgs.buildEnv {
name = "graphite-config";
paths = lists.filter (el: el != null) [
@@ -83,13 +85,21 @@ in {
api = {
enable = mkOption {
- description = "Whether to enable graphite api.";
+ description = ''
+ Whether to enable graphite api. Graphite api is lightweight alternative
+ to graphite web, with api and without dashboard. It's advised to use
+ grafana as alternative dashboard and influxdb as alternative to
+ graphite carbon.
+
+ For more information visit
+
+ '';
default = false;
type = types.uniq types.bool;
};
finders = mkOption {
- description = "List of finder plugins load.";
+ description = "List of finder plugins to load.";
default = [];
example = [ pkgs.python27Packages.graphite_influxdb ];
type = types.listOf types.package;
@@ -296,175 +306,247 @@ in {
example = literalExample ''
{
GRAPHITE_USERNAME = "user";
- GRAPHITE_PASSWORD = "pass";
+ GRAPHITE_PASSWORD = "pass";
}
'';
};
};
+
+ pager = {
+ enable = mkOption {
+ description = ''
+ Whether to enable graphite-pager service. For more information visit
+
+ '';
+ default = false;
+ type = types.uniq types.bool;
+ };
+
+ redisUrl = mkOption {
+ description = "Redis connection string.";
+ default = "redis://localhost:${toString config.services.redis.port}/";
+ type = types.str;
+ };
+
+ graphiteUrl = mkOption {
+ description = "URL to your graphite service.";
+ default = "http://${cfg.web.host}:${toString cfg.web.port}";
+ type = types.str;
+ };
+
+ alerts = mkOption {
+ description = "Alerts configuration for graphite-pager.";
+ default = ''
+ alerts:
+ - target: constantLine(100)
+ warning: 90
+ critical: 200
+ name: Test
+ '';
+ example = literalExample ''
+ pushbullet_key: pushbullet_api_key
+ alerts:
+ - target: stats.seatgeek.app.deal_quality.venue_info_cache.hit
+ warning: .5
+ critical: 1
+ name: Deal quality venue cache hits
+ '';
+ type = types.lines;
+ };
+ };
};
###### implementation
- config = mkIf (
- cfg.carbon.enableAggregator ||
- cfg.carbon.enableCache ||
- cfg.carbon.enableRelay ||
- cfg.web.enable ||
- cfg.api.enable ||
- cfg.seyren.enable
- ) {
- systemd.services.carbonCache = {
- enable = cfg.carbon.enableCache;
- description = "Graphite Data Storage Backend";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" ];
- environment = carbonEnv;
- serviceConfig = {
- ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
- User = "graphite";
- Group = "graphite";
- PermissionsStartOnly = true;
- };
- preStart = ''
- mkdir -p ${cfg.dataDir}/whisper
- chmod 0700 ${cfg.dataDir}/whisper
- chown -R graphite:graphite ${cfg.dataDir}
- '';
- };
-
- systemd.services.carbonAggregator = {
- enable = cfg.carbon.enableAggregator;
- description = "Carbon Data Aggregator";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" ];
- environment = carbonEnv;
- serviceConfig = {
- ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
- User = "graphite";
- Group = "graphite";
- };
- };
-
- systemd.services.carbonRelay = {
- enable = cfg.carbon.enableRelay;
- description = "Carbon Data Relay";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" ];
- environment = carbonEnv;
- serviceConfig = {
- ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
- User = "graphite";
- Group = "graphite";
- };
- };
-
- systemd.services.graphiteWeb = {
- enable = cfg.web.enable;
- description = "Graphite Web Interface";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" ];
- path = [ pkgs.perl ];
- environment = {
- PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
- DJANGO_SETTINGS_MODULE = "graphite.settings";
- GRAPHITE_CONF_DIR = configDir;
- GRAPHITE_STORAGE_DIR = dataDir;
- };
- serviceConfig = {
- ExecStart = ''
- ${pkgs.python27Packages.waitress}/bin/waitress-serve \
- --host=${cfg.web.host} --port=${toString cfg.web.port} \
- --call django.core.handlers.wsgi:WSGIHandler'';
- User = "graphite";
- Group = "graphite";
- PermissionsStartOnly = true;
- };
- preStart = ''
- if ! test -e ${dataDir}/db-created; then
- mkdir -p ${dataDir}/{whisper/,log/webapp/}
- chmod 0700 ${dataDir}/{whisper/,log/webapp/}
-
- # populate database
- ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
-
- # create index
- ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
-
- touch ${dataDir}/db-created
-
+ config = mkMerge [
+ (mkIf cfg.carbon.enableCache {
+ systemd.services.carbonCache = {
+ description = "Graphite Data Storage Backend";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+ environment = carbonEnv;
+ serviceConfig = {
+ ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
+ User = "graphite";
+ Group = "graphite";
+ PermissionsStartOnly = true;
+ };
+ preStart = ''
+ mkdir -p ${cfg.dataDir}/whisper
+ chmod 0700 ${cfg.dataDir}/whisper
chown -R graphite:graphite ${cfg.dataDir}
- fi
- '';
- };
-
- systemd.services.graphiteApi = {
- enable = cfg.api.enable;
- description = "Graphite Api Interface";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" ];
- environment = {
- PYTHONPATH =
- "${cfg.api.package}/lib/python2.7/site-packages:" +
- concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders;
- GRAPHITE_API_CONFIG = graphiteApiConfig;
- LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
- };
- serviceConfig = {
- ExecStart = ''
- ${pkgs.python27Packages.waitress}/bin/waitress-serve \
- --host=${cfg.api.host} --port=${toString cfg.api.port} \
- graphite_api.app:app
'';
- User = "graphite";
- Group = "graphite";
- PermissionsStartOnly = true;
};
- preStart = ''
- if ! test -e ${dataDir}/db-created; then
- mkdir -p ${dataDir}/cache/
- chmod 0700 ${dataDir}/cache/
+ })
- touch ${dataDir}/db-created
-
- chown -R graphite:graphite ${cfg.dataDir}
- fi
- '';
- };
-
- systemd.services.seyren = {
- enable = cfg.seyren.enable;
- description = "Graphite Alerting Dashboard";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" "mongodb.service" ];
- environment = seyrenConfig;
- serviceConfig = {
- ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}";
- WorkingDirectory = dataDir;
- User = "graphite";
- Group = "graphite";
+ (mkIf cfg.carbon.enableAggregator {
+ systemd.services.carbonAggregator = {
+ enable = cfg.carbon.enableAggregator;
+ description = "Carbon Data Aggregator";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+ environment = carbonEnv;
+ serviceConfig = {
+ ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
+ User = "graphite";
+ Group = "graphite";
+ };
};
- preStart = ''
- if ! test -e ${dataDir}/db-created; then
- mkdir -p ${dataDir}
- chown -R graphite:graphite ${dataDir}
- fi
- '';
- };
+ })
- services.mongodb.enable = mkDefault cfg.seyren.enable;
+ (mkIf cfg.carbon.enableRelay {
+ systemd.services.carbonRelay = {
+ description = "Carbon Data Relay";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+ environment = carbonEnv;
+ serviceConfig = {
+ ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
+ User = "graphite";
+ Group = "graphite";
+ };
+ };
+ })
- environment.systemPackages = [
- pkgs.pythonPackages.carbon
- pkgs.python27Packages.graphite_web
- pkgs.python27Packages.waitress
- ];
+ (mkIf (cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay) {
+ environment.systemPackages = [
+ pkgs.pythonPackages.carbon
+ ];
+ })
- users.extraUsers = singleton {
- name = "graphite";
- uid = config.ids.uids.graphite;
- description = "Graphite daemon user";
- home = dataDir;
- };
- users.extraGroups.graphite.gid = config.ids.gids.graphite;
- };
+ (mkIf cfg.web.enable {
+ systemd.services.graphiteWeb = {
+ description = "Graphite Web Interface";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+ path = [ pkgs.perl ];
+ environment = {
+ PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
+ DJANGO_SETTINGS_MODULE = "graphite.settings";
+ GRAPHITE_CONF_DIR = configDir;
+ GRAPHITE_STORAGE_DIR = dataDir;
+ };
+ serviceConfig = {
+ ExecStart = ''
+ ${pkgs.python27Packages.waitress}/bin/waitress-serve \
+ --host=${cfg.web.host} --port=${toString cfg.web.port} \
+ --call django.core.handlers.wsgi:WSGIHandler'';
+ User = "graphite";
+ Group = "graphite";
+ PermissionsStartOnly = true;
+ };
+ preStart = ''
+ if ! test -e ${dataDir}/db-created; then
+ mkdir -p ${dataDir}/{whisper/,log/webapp/}
+ chmod 0700 ${dataDir}/{whisper/,log/webapp/}
+
+ # populate database
+ ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
+
+ # create index
+ ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
+
+ touch ${dataDir}/db-created
+
+ chown -R graphite:graphite ${cfg.dataDir}
+ fi
+ '';
+ };
+
+ environment.systemPackages = [ pkgs.python27Packages.graphite_web ];
+ })
+
+ (mkIf cfg.api.enable {
+ systemd.services.graphiteApi = {
+ description = "Graphite Api Interface";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+ environment = {
+ PYTHONPATH =
+ "${cfg.api.package}/lib/python2.7/site-packages:" +
+ concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders;
+ GRAPHITE_API_CONFIG = graphiteApiConfig;
+ LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
+ };
+ serviceConfig = {
+ ExecStart = ''
+ ${pkgs.python27Packages.waitress}/bin/waitress-serve \
+ --host=${cfg.api.host} --port=${toString cfg.api.port} \
+ graphite_api.app:app
+ '';
+ User = "graphite";
+ Group = "graphite";
+ PermissionsStartOnly = true;
+ };
+ preStart = ''
+ if ! test -e ${dataDir}/db-created; then
+ mkdir -p ${dataDir}/cache/
+ chmod 0700 ${dataDir}/cache/
+
+ touch ${dataDir}/db-created
+
+ chown -R graphite:graphite ${cfg.dataDir}
+ fi
+ '';
+ };
+ })
+
+ (mkIf cfg.seyren.enable {
+ systemd.services.seyren = {
+ description = "Graphite Alerting Dashboard";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "mongodb.service" ];
+ environment = seyrenConfig;
+ serviceConfig = {
+ ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}";
+ WorkingDirectory = dataDir;
+ User = "graphite";
+ Group = "graphite";
+ };
+ preStart = ''
+ if ! test -e ${dataDir}/db-created; then
+ mkdir -p ${dataDir}
+ chown -R graphite:graphite ${dataDir}
+ fi
+ '';
+ };
+
+ services.mongodb.enable = mkDefault true;
+ })
+
+ (mkIf cfg.pager.enable {
+ systemd.services.graphitePager = {
+ description = "Graphite Pager Alerting Daemon";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "redis.service" ];
+ environment = {
+ REDIS_URL = cfg.pager.redisUrl;
+ GRAPHITE_URL = cfg.pager.graphiteUrl;
+ };
+ serviceConfig = {
+ ExecStart = "${pkgs.pythonPackages.graphite_pager}/bin/graphite-pager --config ${pagerConfig}";
+ User = "graphite";
+ Group = "graphite";
+ };
+ };
+
+ services.redis.enable = mkDefault true;
+
+ environment.systemPackages = [ pkgs.pythonPackages.graphite_pager ];
+ })
+
+ (mkIf (
+ cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay ||
+ cfg.web.enable || cfg.api.enable ||
+ cfg.seyren.enable || cfg.pager.enable
+ ) {
+ users.extraUsers = singleton {
+ name = "graphite";
+ uid = config.ids.uids.graphite;
+ description = "Graphite daemon user";
+ home = dataDir;
+ };
+ users.extraGroups.graphite.gid = config.ids.gids.graphite;
+ })
+ ];
}
diff --git a/nixos/modules/services/monitoring/riemann.nix b/nixos/modules/services/monitoring/riemann.nix
index a1935c29a04..ab37d717b86 100644
--- a/nixos/modules/services/monitoring/riemann.nix
+++ b/nixos/modules/services/monitoring/riemann.nix
@@ -11,11 +11,15 @@ let
cfg.extraClasspathEntries ++ [ "${riemann}/share/java/riemann.jar" ]
);
+ riemannConfig = concatStringsSep "\n" (
+ [cfg.config] ++ (map (f: ''(load-file "${f}")'') cfg.configFiles)
+ );
+
launcher = writeScriptBin "riemann" ''
#!/bin/sh
exec ${openjdk}/bin/java ${concatStringsSep "\n" cfg.extraJavaOpts} \
-cp ${classpath} \
- riemann.bin ${writeText "riemann.config" cfg.config}
+ riemann.bin ${writeText "riemann-config.clj" riemannConfig}
'';
in {
@@ -36,6 +40,16 @@ in {
Contents of the Riemann configuration file.
'';
};
+ configFiles = mkOption {
+ type = with types; listOf path;
+ default = [];
+ description = ''
+ Extra files containing Riemann configuration. These files will be
+ loaded at runtime by Riemann (with Clojure's
+ load-file function) at the end of the
+ configuration.
+ '';
+ };
extraClasspathEntries = mkOption {
type = with types; listOf str;
default = [];
diff --git a/nixos/modules/services/monitoring/scollector.nix b/nixos/modules/services/monitoring/scollector.nix
new file mode 100644
index 00000000000..ce70739abbc
--- /dev/null
+++ b/nixos/modules/services/monitoring/scollector.nix
@@ -0,0 +1,114 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.scollector;
+
+ collectors = pkgs.runCommand "collectors" {}
+ ''
+ mkdir -p $out
+ ${lib.concatStringsSep
+ "\n"
+ (lib.mapAttrsToList
+ (frequency: binaries:
+ "mkdir -p $out/${frequency}\n" +
+ (lib.concatStringsSep
+ "\n"
+ (map (path: "ln -s ${path} $out/${frequency}/$(basename ${path})")
+ binaries)))
+ cfg.collectors)}
+ '';
+
+in {
+
+ options = {
+
+ services.scollector = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to run scollector.
+ '';
+ };
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.scollector;
+ example = literalExample "pkgs.scollector";
+ description = ''
+ scollector binary to use.
+ '';
+ };
+
+ user = mkOption {
+ type = types.string;
+ default = "scollector";
+ description = ''
+ User account under which scollector runs.
+ '';
+ };
+
+ group = mkOption {
+ type = types.string;
+ default = "scollector";
+ description = ''
+ Group account under which scollector runs.
+ '';
+ };
+
+ bosunHost = mkOption {
+ type = types.string;
+ default = "localhost:8070";
+ description = ''
+ Host and port of the bosun server that will store the collected
+ data.
+ '';
+ };
+
+ collectors = mkOption {
+ type = types.attrs;
+ default = {};
+ example = literalExample "{ 0 = [ \"\${postgresStats}/bin/collect-stats\" ]; }";
+ description = ''
+ An attribute set mapping the frequency of collection to a list of
+ binaries that should be executed at that frequency. You can use "0"
+ to run a binary forever.
+ '';
+ };
+
+ };
+
+ };
+
+ config = mkIf config.services.scollector.enable {
+
+ systemd.services.scollector = {
+ description = "scollector metrics collector (part of Bosun)";
+ wantedBy = [ "multi-user.target" ];
+
+ path = [ pkgs.coreutils pkgs.iproute ];
+
+ serviceConfig = {
+ PermissionsStartOnly = true;
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = ''
+ ${cfg.package}/bin/scollector -h=${cfg.bosunHost} -c=${collectors}
+ '';
+ };
+ };
+
+ users.extraUsers.scollector = {
+ description = "scollector user";
+ group = "scollector";
+ uid = config.ids.uids.scollector;
+ };
+
+ users.extraGroups.scollector.gid = config.ids.gids.scollector;
+
+ };
+
+}
diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix
index ca283ea2a99..acd1279ddf4 100644
--- a/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixos/modules/services/monitoring/zabbix-server.nix
@@ -32,6 +32,8 @@ let
${optionalString (cfg.dbPassword != "") ''
DBPassword = ${cfg.dbPassword}
''}
+
+ ${config.services.zabbixServer.extraConfig}
'';
useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == "";
@@ -46,6 +48,7 @@ in
services.zabbixServer.enable = mkOption {
default = false;
+ type = types.bool;
description = ''
Whether to run the Zabbix server on this machine.
'';
@@ -53,6 +56,7 @@ in
services.zabbixServer.dbServer = mkOption {
default = "localhost";
+ type = types.str;
description = ''
Hostname or IP address of the database server.
Use an empty string ("") to use peer authentication.
@@ -61,9 +65,18 @@ in
services.zabbixServer.dbPassword = mkOption {
default = "";
+ type = types.str;
description = "Password used to connect to the database server.";
};
+ services.zabbixServer.extraConfig = mkOption {
+ default = "";
+ type = types.lines;
+ description = ''
+ Configuration that is injected verbatim into the configuration file.
+ '';
+ };
+
};
###### implementation
diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix
index 57d56cd7287..893df51fc1f 100644
--- a/nixos/modules/services/network-filesystems/nfsd.nix
+++ b/nixos/modules/services/network-filesystems/nfsd.nix
@@ -64,6 +64,13 @@ in
Use fixed port for rpc.mountd, usefull if server is behind firewall.
'';
};
+
+ lockdPort = mkOption {
+ default = 0;
+ description = ''
+ Fix the lockd port number. This can help setting firewall rules for NFS.
+ '';
+ };
};
};
@@ -104,6 +111,9 @@ in
# Create a state directory required by NFSv4.
mkdir -p /var/lib/nfs/v4recovery
+ ${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_tcpport=${builtins.toString cfg.lockdPort}
+ ${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_udpport=${builtins.toString cfg.lockdPort}
+
rpc.nfsd \
${if cfg.hostName != null then "-H ${cfg.hostName}" else ""} \
${builtins.toString cfg.nproc}
diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix
index d1684dd9f05..fe062b30e4b 100644
--- a/nixos/modules/services/networking/chrony.nix
+++ b/nixos/modules/services/networking/chrony.nix
@@ -48,9 +48,10 @@ in
servers = mkOption {
default = [
- "0.pool.ntp.org"
- "1.pool.ntp.org"
- "2.pool.ntp.org"
+ "0.nixos.pool.ntp.org"
+ "1.nixos.pool.ntp.org"
+ "2.nixos.pool.ntp.org"
+ "3.nixos.pool.ntp.org"
];
description = ''
The set of NTP servers from which to synchronise.
@@ -99,8 +100,8 @@ in
jobs.chronyd =
{ description = "chrony daemon";
- wantedBy = [ "ip-up.target" ];
- partOf = [ "ip-up.target" ];
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
path = [ chrony ];
diff --git a/nixos/modules/services/networking/cjdns-hosts.sh b/nixos/modules/services/networking/cjdns-hosts.sh
new file mode 100644
index 00000000000..8a2b47e5214
--- /dev/null
+++ b/nixos/modules/services/networking/cjdns-hosts.sh
@@ -0,0 +1,11 @@
+pubs=($pubs)
+hosts=($hosts)
+
+lines="''\n"
+for ((i = 0; i < ${#pubs[*]}; i++)); do
+ addr=$($cjdns/bin/publictoip6 ${pubs[i]})
+ lines="${lines}$addr ${hosts[i]}\n"
+done
+lines="${lines}''"
+
+echo -ne $lines > $out
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index 7192b8b7a0e..be0acb27324 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -4,8 +4,46 @@ with lib;
let
+ pkg = pkgs.cjdns;
+
cfg = config.services.cjdns;
+ connectToSubmodule =
+ { options, ... }:
+ { options =
+ { password = mkOption {
+ type = types.str;
+ description = "Authorized password to the opposite end of the tunnel.";
+ };
+ publicKey = mkOption {
+ type = types.str;
+ description = "Public key at the opposite end of the tunnel.";
+ };
+ hostname = mkOption {
+ default = "";
+ example = "foobar.hype";
+ type = types.str;
+ description = "Optional hostname to add to /etc/hosts; prevents reverse lookup failures.";
+ };
+ };
+ };
+
+ peers = mapAttrsToList (n: v: v) (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo);
+
+ pubs = toString (map (p: if p.hostname == "" then "" else p.publicKey) peers);
+ hosts = toString (map (p: if p.hostname == "" then "" else p.hostname) peers);
+
+ cjdnsHosts =
+ if hosts != "" then
+ import (pkgs.stdenv.mkDerivation {
+ name = "cjdns-hosts";
+ builder = ./cjdns-hosts.sh;
+
+ inherit (pkgs) cjdns;
+ inherit pubs hosts;
+ })
+ else "";
+
# would be nice to merge 'cfg' with a //,
# but the json nesting is wacky.
cjdrouteConf = builtins.toJSON ( {
@@ -44,7 +82,7 @@ in
enable = mkOption {
type = types.bool;
- default = false;
+ default = false;
description = ''
Whether to enable the cjdns network encryption
and routing engine. A file at /etc/cjdns.keys will
@@ -53,84 +91,80 @@ in
'';
};
+ confFile = mkOption {
+ type = types.str;
+ default = "";
+ example = "/etc/cjdroute.conf";
+ description = ''
+ Ignore all other cjdns options and load configuration from this file.
+ '';
+ };
+
authorizedPasswords = mkOption {
type = types.listOf types.str;
- default = [ ];
- example = [
+ default = [ ];
+ example = [
"snyrfgkqsc98qh1y4s5hbu0j57xw5s0"
- "z9md3t4p45mfrjzdjurxn4wuj0d8swv"
- "49275fut6tmzu354pq70sr5b95qq0vj"
+ "z9md3t4p45mfrjzdjurxn4wuj0d8swv"
+ "49275fut6tmzu354pq70sr5b95qq0vj"
];
- description = ''
- Any remote cjdns nodes that offer these passwords on
- connection will be allowed to route through this node.
+ description = ''
+ Any remote cjdns nodes that offer these passwords on
+ connection will be allowed to route through this node.
'';
};
admin = {
bind = mkOption {
type = types.string;
- default = "127.0.0.1:11234";
- description = ''
+ default = "127.0.0.1:11234";
+ description = ''
Bind the administration port to this address and port.
- '';
+ '';
};
};
UDPInterface = {
bind = mkOption {
type = types.string;
- default = "";
+ default = "";
example = "192.168.1.32:43211";
description = ''
- Address and port to bind UDP tunnels to.
- '';
- };
+ Address and port to bind UDP tunnels to.
+ '';
+ };
connectTo = mkOption {
- type = types.attrsOf ( types.submodule (
- { options, ... }:
- { options = {
- # TODO make host an option, and add it to networking.extraHosts
- password = mkOption {
- type = types.str;
- description = "Authorized password to the opposite end of the tunnel.";
- };
- publicKey = mkOption {
- type = types.str;
- description = "Public key at the opposite end of the tunnel.";
- };
- };
- }
- ));
- default = { };
+ type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
+ default = { };
example = {
"192.168.1.1:27313" = {
- password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
+ hostname = "homer.hype";
+ password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
};
};
description = ''
- Credentials for making UDP tunnels.
- '';
- };
+ Credentials for making UDP tunnels.
+ '';
+ };
};
ETHInterface = {
bind = mkOption {
- default = "";
- example = "eth0";
- description = ''
- Bind to this device for native ethernet operation.
- '';
- };
+ default = "";
+ example = "eth0";
+ description = ''
+ Bind to this device for native ethernet operation.
+ '';
+ };
beacon = mkOption {
- type = types.int;
+ type = types.int;
default = 2;
description = ''
Auto-connect to other cjdns nodes on the same network.
Options:
- 0: Disabled.
+ 0: Disabled.
1: Accept beacons, this will cause cjdns to accept incoming
beacon messages and try connecting to the sender.
2: Accept and send beacons, this will cause cjdns to broadcast
@@ -142,32 +176,20 @@ in
};
connectTo = mkOption {
- type = types.attrsOf ( types.submodule (
- { options, ... }:
- { options = {
- password = mkOption {
- type = types.str;
- description = "Authorized password to the opposite end of the tunnel.";
- };
- publicKey = mkOption {
- type = types.str;
- description = "Public key at the opposite end of the tunnel.";
- };
- };
- }
- ));
- default = { };
+ type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
+ default = { };
example = {
"01:02:03:04:05:06" = {
- password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
+ hostname = "homer.hype";
+ password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
};
};
- description = ''
- Credentials for connecting look similar to UDP credientials
+ description = ''
+ Credentials for connecting look similar to UDP credientials
except they begin with the mac address.
- '';
- };
+ '';
+ };
};
};
@@ -182,37 +204,51 @@ in
systemd.services.cjdns = {
description = "encrypted networking for everybody";
- wantedBy = [ "multi-user.target" ];
- after = [ "network-interfaces.target" ];
+ wantedBy = [ "network.target" ];
+ after = [ "networkSetup.service" "network-interfaces.target" ];
- script = ''
- source /etc/cjdns.keys
- echo '${cjdrouteConf}' | sed \
- -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
- -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
- | ${pkgs.cjdns}/bin/cjdroute
+ preStart = if cfg.confFile != "" then "" else ''
+ [ -e /etc/cjdns.keys ] && source /etc/cjdns.keys
+
+ if [ -z "$CJDNS_PRIVATE_KEY" ]; then
+ shopt -s lastpipe
+ ${pkg}/bin/makekeys | { read private ipv6 public; }
+
+ umask 0077
+ echo "CJDNS_PRIVATE_KEY=$private" >> /etc/cjdns.keys
+ echo -e "CJDNS_IPV6=$ipv6\nCJDNS_PUBLIC_KEY=$public" > /etc/cjdns.public
+
+ chmod 600 /etc/cjdns.keys
+ chmod 444 /etc/cjdns.public
+ fi
+
+ if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then
+ echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
+ >> /etc/cjdns.keys
+ fi
'';
+ script = (
+ if cfg.confFile != "" then "${pkg}/bin/cjdroute < ${cfg.confFile}" else
+ ''
+ source /etc/cjdns.keys
+ echo '${cjdrouteConf}' | sed \
+ -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
+ -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
+ | ${pkg}/bin/cjdroute
+ ''
+ );
+
serviceConfig = {
Type = "forking";
- Restart = "on-failure";
+ Restart = "on-failure";
};
};
- system.activationScripts.cjdns = ''
- grep -q "CJDNS_PRIVATE_KEY=" /etc/cjdns.keys || \
- echo "CJDNS_PRIVATE_KEY=$(${pkgs.cjdns}/bin/makekey)" \
- >> /etc/cjdns.keys
-
- grep -q "CJDNS_ADMIN_PASSWORD=" /etc/cjdns.keys || \
- echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
- >> /etc/cjdns.keys
-
- chmod 600 /etc/cjdns.keys
- '';
+ networking.extraHosts = "${cjdnsHosts}";
assertions = [
- { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" );
+ { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile == "" );
message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined.";
}
{ assertion = config.networking.enableIPv6;
@@ -222,4 +258,4 @@ in
};
-}
\ No newline at end of file
+}
diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix
index 15dbf80a987..1ad8cbae15c 100644
--- a/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixos/modules/services/networking/dhcpcd.nix
@@ -8,15 +8,29 @@ let
cfg = config.networking.dhcpcd;
+ interfaces = attrValues config.networking.interfaces;
+
+ enableDHCP = config.networking.useDHCP || any (i: i.useDHCP == true) interfaces;
+
# Don't start dhcpcd on explicitly configured interfaces or on
# interfaces that are part of a bridge, bond or sit device.
ignoredInterfaces =
- map (i: i.name) (filter (i: i.ip4 != [ ] || i.ipAddress != null) (attrValues config.networking.interfaces))
+ map (i: i.name) (filter (i: if i.useDHCP != null then !i.useDHCP else i.ip4 != [ ] || i.ipAddress != null) interfaces)
++ mapAttrsToList (i: _: i) config.networking.sits
++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges))
++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds))
++ config.networking.dhcpcd.denyInterfaces;
+ arrayAppendOrNull = a1: a2: if a1 == null && a2 == null then null
+ else if a1 == null then a2 else if a2 == null then a1
+ else a1 ++ a2;
+
+ # If dhcp is disabled but explicit interfaces are enabled,
+ # we need to provide dhcp just for those interfaces.
+ allowInterfaces = arrayAppendOrNull cfg.allowInterfaces
+ (if !config.networking.useDHCP && enableDHCP then
+ map (i: i.name) (filter (i: i.useDHCP == true) interfaces) else null);
+
# Config file adapted from the one that ships with dhcpcd.
dhcpcdConf = pkgs.writeText "dhcpcd.conf"
''
@@ -41,7 +55,7 @@ let
denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* sit*
# Use the list of allowed interfaces if specified
- ${optionalString (cfg.allowInterfaces != null) "allowinterfaces ${toString cfg.allowInterfaces}"}
+ ${optionalString (allowInterfaces != null) "allowinterfaces ${toString allowInterfaces}"}
${cfg.extraConfig}
'';
@@ -132,7 +146,7 @@ in
###### implementation
- config = mkIf config.networking.useDHCP {
+ config = mkIf enableDHCP {
systemd.services.dhcpcd =
{ description = "DHCP Client";
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix
new file mode 100644
index 00000000000..26549bfe6f1
--- /dev/null
+++ b/nixos/modules/services/networking/dnscrypt-proxy.nix
@@ -0,0 +1,134 @@
+{ config, lib, pkgs, ... }:
+with lib;
+
+let
+ apparmorEnabled = config.security.apparmor.enable;
+ dnscrypt-proxy = pkgs.dnscrypt-proxy;
+ cfg = config.services.dnscrypt-proxy;
+ uid = config.ids.uids.dnscrypt-proxy;
+ daemonArgs =
+ [ "--daemonize"
+ "--user=dnscrypt-proxy"
+ "--local-address=${cfg.localAddress}:${toString cfg.port}"
+ (optionalString cfg.tcpOnly "--tcp-only")
+ "--resolvers-list=${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv"
+ "--resolver-name=${cfg.resolverName}"
+ ];
+in
+
+{
+ ##### interface
+
+ options = {
+
+ services.dnscrypt-proxy = {
+
+ enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Enable dnscrypt-proxy.
+ The proxy relays regular DNS queries to a DNSCrypt enabled
+ upstream resolver.
+ The traffic between the client and the upstream resolver is
+ encrypted and authenticated, which may mitigate the risk of MITM
+ attacks and third-party snooping (assuming the upstream is
+ trustworthy).
+ '';
+ };
+
+ localAddress = mkOption {
+ default = "127.0.0.1";
+ type = types.string;
+ description = ''
+ Listen for DNS queries on this address.
+ '';
+ };
+
+ port = mkOption {
+ default = 53;
+ type = types.int;
+ description = ''
+ Listen on this port.
+ '';
+ };
+
+ resolverName = mkOption {
+ default = "opendns";
+ type = types.string;
+ description = ''
+ The name of the upstream DNSCrypt resolver to use.
+ See ${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv
+ for alternative resolvers (e.g., if you are concerned about logging
+ and/or server location).
+ '';
+ };
+
+ tcpOnly = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Force sending encrypted DNS queries to the upstream resolver
+ over TCP instead of UDP (on port 443).
+ Enabling this option may help circumvent filtering, but should
+ not be used otherwise.
+ '';
+ };
+
+ };
+
+ };
+
+ ##### implementation
+
+ config = mkIf cfg.enable {
+
+ ### AppArmor profile
+
+ security.apparmor.profiles = mkIf apparmorEnabled [
+ (pkgs.writeText "apparmor-dnscrypt-proxy" ''
+
+ ${dnscrypt-proxy}/sbin/dnscrypt-proxy {
+ capability ipc_lock,
+ capability net_bind_service,
+ capability net_admin,
+ capability sys_chroot,
+ capability setgid,
+ capability setuid,
+
+ /dev/null rw,
+ /dev/urandom r,
+
+ ${pkgs.glibc}/lib/*.so mr,
+ ${pkgs.tzdata}/share/zoneinfo/** r,
+
+ ${dnscrypt-proxy}/share/dnscrypt-proxy/** r,
+ ${pkgs.gcc.gcc}/lib/libssp.so.* mr,
+ ${pkgs.libsodium}/lib/libsodium.so.* mr,
+ }
+ '')
+ ];
+
+ ### User
+
+ users.extraUsers = singleton {
+ inherit uid;
+ name = "dnscrypt-proxy";
+ description = "dnscrypt-proxy daemon user";
+ };
+
+ ### Service definition
+
+ systemd.services.dnscrypt-proxy = {
+ description = "dnscrypt-proxy daemon";
+ after = [ "network.target" ] ++ optional apparmorEnabled "apparmor.service";
+ requires = mkIf apparmorEnabled [ "apparmor.service" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ Type = "forking";
+ ExecStart = "${dnscrypt-proxy}/sbin/dnscrypt-proxy ${toString daemonArgs}";
+ };
+ };
+
+ };
+}
diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix
index 5c68dd89fb1..fbb211911f1 100644
--- a/nixos/modules/services/networking/dnsmasq.nix
+++ b/nixos/modules/services/networking/dnsmasq.nix
@@ -82,7 +82,7 @@ in
systemd.services.dnsmasq = {
description = "dnsmasq daemon";
- after = [ "network.target" ];
+ after = [ "network.target" "systemd-resolved.conf" ];
wantedBy = [ "multi-user.target" ];
path = [ dnsmasq ];
preStart = ''
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 68aac3d30de..b129727087a 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -187,6 +187,12 @@ let
# Clean up after added ruleset
ip46tables -D INPUT -j nixos-fw 2>/dev/null || true
+ ${optionalString (kernelHasRPFilter && cfg.checkReversePath) ''
+ if ! ip46tables -D PREROUTING -t raw -m rpfilter --invert -j DROP; then
+ echo "<2>failed to stop rpfilter support" >&2
+ fi
+ ''}
+
${cfg.extraStopCommands}
'';
@@ -452,8 +458,9 @@ in
systemd.services.firewall = {
description = "Firewall";
- wantedBy = [ "network.target" ];
- after = [ "network-interfaces.target" "systemd-modules-load.service" ];
+ wantedBy = [ "network-pre.target" ];
+ before = [ "network-pre.target" ];
+ after = [ "systemd-modules-load.service" ];
path = [ pkgs.iptables ];
diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix
index 5864efaca51..566936a7d0f 100644
--- a/nixos/modules/services/networking/git-daemon.nix
+++ b/nixos/modules/services/networking/git-daemon.nix
@@ -3,7 +3,6 @@ with lib;
let
cfg = config.services.gitDaemon;
- gitUser = "git";
in
{
@@ -14,6 +13,7 @@ in
services.gitDaemon = {
enable = mkOption {
+ type = types.bool;
default = false;
description = ''
Enable Git daemon, which allows public hosting of git repositories
@@ -28,6 +28,7 @@ in
};
basePath = mkOption {
+ type = types.str;
default = "";
example = "/srv/git/";
description = ''
@@ -38,6 +39,7 @@ in
};
exportAll = mkOption {
+ type = types.bool;
default = false;
description = ''
Publish all directories that look like Git repositories (have the objects
@@ -52,6 +54,7 @@ in
};
repositories = mkOption {
+ type = types.listOf types.str;
default = [];
example = [ "/srv/git" "/home/user/git/repo2" ];
description = ''
@@ -64,21 +67,36 @@ in
};
listenAddress = mkOption {
+ type = types.str;
default = "";
example = "example.com";
description = "Listen on a specific IP address or hostname.";
};
port = mkOption {
+ type = types.int;
default = 9418;
description = "Port to listen on.";
};
options = mkOption {
+ type = types.str;
default = "";
description = "Extra configuration options to be passed to Git daemon.";
};
+ user = mkOption {
+ type = types.str;
+ default = "git";
+ description = "User under which Git daemon would be running.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "git";
+ description = "Group under which Git daemon would be running.";
+ };
+
};
};
@@ -86,14 +104,14 @@ in
config = mkIf cfg.enable {
- users.extraUsers = singleton
- { name = gitUser;
+ users.extraUsers = if cfg.user != "git" then {} else singleton
+ { name = "git";
uid = config.ids.uids.git;
description = "Git daemon user";
};
- users.extraGroups = singleton
- { name = gitUser;
+ users.extraGroups = if cfg.group != "git" then {} else singleton
+ { name = "git";
gid = config.ids.gids.git;
};
@@ -103,8 +121,8 @@ in
exec = "${pkgs.git}/bin/git daemon --reuseaddr "
+ (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ")
+ (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ")
- + "--port=${toString cfg.port} --user=${gitUser} --group=${gitUser} ${cfg.options} "
- + "--verbose " + (optionalString cfg.exportAll "--export-all") + concatStringsSep " " cfg.repositories;
+ + "--port=${toString cfg.port} --user=${cfg.user} --group=${cfg.group} ${cfg.options} "
+ + "--verbose " + (optionalString cfg.exportAll "--export-all ") + concatStringsSep " " cfg.repositories;
};
};
diff --git a/nixos/modules/services/networking/gogoclient.nix b/nixos/modules/services/networking/gogoclient.nix
index 41600794197..9d16f0efb43 100644
--- a/nixos/modules/services/networking/gogoclient.nix
+++ b/nixos/modules/services/networking/gogoclient.nix
@@ -76,8 +76,7 @@ in
exec ${pkgs.gogoclient}/bin/gogoc -y -f /var/lib/gogoc/gogoc.conf
'';
} // optionalAttrs cfg.autorun {
- wantedBy = [ "ip-up.target" ];
- partOf = [ "ip-up.target" ];
+ wantedBy = [ "multi-user.target" ];
};
};
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
new file mode 100644
index 00000000000..d0127fd3f75
--- /dev/null
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -0,0 +1,198 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.i2pd;
+
+ homeDir = "/var/lib/i2pd";
+
+ extip = "EXTIP=$(${pkgs.curl}/bin/curl -sf "http://jsonip.com" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')";
+
+ i2pSh = pkgs.writeScriptBin "i2pd" ''
+ #!/bin/sh
+ ${if isNull cfg.extIp then extip else ""}
+ ${pkgs.i2pd}/bin/i2p --log=1 --daemon=0 --service=0 \
+ --v6=${if cfg.enableIPv6 then "1" else "0"} \
+ --unreachable=${if cfg.unreachable then "1" else "0"} \
+ --host=${if isNull cfg.extIp then "$EXTIP" else cfg.extIp} \
+ ${if isNull cfg.port then "" else "--port=${toString cfg.port}"} \
+ --httpproxyport=${toString cfg.proxy.httpPort} \
+ --socksproxyport=${toString cfg.proxy.socksPort} \
+ --ircport=${toString cfg.irc.port} \
+ --ircdest=${cfg.irc.dest} \
+ --irckeys=${cfg.irc.keyFile} \
+ --eepport=${toString cfg.eep.port} \
+ ${if isNull cfg.sam.port then "" else "--samport=${toString cfg.sam.port}"} \
+ --eephost=${cfg.eep.host} \
+ --eepkeys=${cfg.eep.keyFile}
+ '';
+
+in
+
+{
+
+ ###### interface
+
+ options = {
+
+ services.i2pd = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enables I2Pd as a running service upon activation.
+ '';
+ };
+
+ extIp = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = ''
+ Your external IP.
+ '';
+ };
+
+ unreachable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ If the router is declared to be unreachable and needs introduction nodes.
+ '';
+ };
+
+ port = mkOption {
+ type = with types; nullOr int;
+ default = null;
+ description = ''
+ I2P listen port. If no one is given the router will pick between 9111 and 30777.
+ '';
+ };
+
+ enableIPv6 = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enables IPv6 connectivity. Disabled by default.
+ '';
+ };
+
+ http = {
+ port = mkOption {
+ type = types.int;
+ default = 7070;
+ description = ''
+ HTTP listen port.
+ '';
+ };
+ };
+
+ proxy = {
+ httpPort = mkOption {
+ type = types.int;
+ default = 4446;
+ description = ''
+ HTTP proxy listen port.
+ '';
+ };
+ socksPort = mkOption {
+ type = types.int;
+ default = 4447;
+ description = ''
+ SOCKS proxy listen port.
+ '';
+ };
+ };
+
+ irc = {
+ dest = mkOption {
+ type = types.str;
+ default = "irc.postman.i2p";
+ description = ''
+ Destination I2P tunnel endpoint address of IRC server. irc.postman.i2p by default.
+ '';
+ };
+ port = mkOption {
+ type = types.int;
+ default = 6668;
+ description = ''
+ Local IRC tunnel endoint port to listen on. 6668 by default.
+ '';
+ };
+ keyFile = mkOption {
+ type = types.str;
+ default = "privKeys.dat";
+ description = ''
+ File name containing destination keys. privKeys.dat by default.
+ '';
+ };
+ };
+
+ eep = {
+ host = mkOption {
+ type = types.str;
+ default = "127.0.0.1";
+ description = ''
+ Address to forward incoming traffic to. 127.0.0.1 by default.
+ '';
+ };
+ port = mkOption {
+ type = types.int;
+ default = 80;
+ description = ''
+ Port to forward incoming trafic to. 80 by default.
+ '';
+ };
+ keyFile = mkOption {
+ type = types.str;
+ default = "privKeys.dat";
+ description = ''
+ File name containing destination keys. privKeys.dat by default.
+ '';
+ };
+ };
+
+ sam = {
+ port = mkOption {
+ type = with types; nullOr int;
+ default = null;
+ description = ''
+ Local SAM tunnel endpoint. Usually 7656. SAM is disabled if not specified.
+ '';
+ };
+ };
+ };
+ };
+
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+
+ users.extraUsers.i2pd = {
+ group = "i2pd";
+ description = "I2Pd User";
+ home = homeDir;
+ createHome = true;
+ uid = config.ids.uids.i2pd;
+ };
+
+ users.extraGroups.i2pd.gid = config.ids.gids.i2pd;
+
+ systemd.services.i2pd = {
+ description = "Minimal I2P router";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig =
+ {
+ User = "i2pd";
+ WorkingDirectory = homeDir;
+ Restart = "on-abort";
+ ExecStart = "${i2pSh}/bin/i2pd";
+ };
+ };
+ };
+}
+#
\ No newline at end of file
diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix
index a519857d6a0..989ee4d91af 100644
--- a/nixos/modules/services/networking/minidlna.nix
+++ b/nixos/modules/services/networking/minidlna.nix
@@ -79,7 +79,7 @@ in
{ description = "MiniDLNA Server";
wantedBy = [ "multi-user.target" ];
- after = [ "network.target" ];
+ after = [ "network.target" "local-fs.target" ];
preStart =
''
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index bdb79ce2a90..9d163e60d5e 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -157,9 +157,9 @@ in
boot = {
kernelModules = [ "nf_nat_ftp" ];
- kernel.sysctl = mkOverride 99 {
- "net.ipv4.conf.all.forwarding" = true;
- "net.ipv4.conf.default.forwarding" = true;
+ kernel.sysctl = {
+ "net.ipv4.conf.all.forwarding" = mkOverride 99 true;
+ "net.ipv4.conf.default.forwarding" = mkOverride 99 true;
};
};
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index bc1c95d3fd3..37bc1df2361 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -52,6 +52,7 @@ let
#!/bin/sh
if test "$2" = "up"; then
${config.systemd.package}/bin/systemctl start ip-up.target
+ ${config.systemd.package}/bin/systemctl start network-online.target
fi
'';
@@ -177,8 +178,8 @@ in {
systemd.services."networkmanager-init" = {
description = "NetworkManager initialisation";
wantedBy = [ "network.target" ];
- wants = [ "NetworkManager.service" ];
- before = [ "NetworkManager.service" ];
+ wants = [ "network-manager.service" ];
+ before = [ "network-manager.service" ];
script = ''
mkdir -m 700 -p /etc/NetworkManager/system-connections
mkdir -m 755 -p ${stateDirs}
@@ -193,7 +194,7 @@ in {
};
powerManagement.resumeCommands = ''
- systemctl restart NetworkManager
+ Systemctl restart network-manager
'';
security.polkit.extraConfig = polkitConf;
diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix
index 2f638904406..8f4bf26d411 100644
--- a/nixos/modules/services/networking/ntpd.nix
+++ b/nixos/modules/services/networking/ntpd.nix
@@ -45,9 +45,10 @@ in
servers = mkOption {
default = [
- "0.pool.ntp.org"
- "1.pool.ntp.org"
- "2.pool.ntp.org"
+ "0.nixos.pool.ntp.org"
+ "1.nixos.pool.ntp.org"
+ "2.nixos.pool.ntp.org"
+ "3.nixos.pool.ntp.org"
];
description = ''
The set of NTP servers from which to synchronise.
@@ -76,8 +77,7 @@ in
jobs.ntpd =
{ description = "NTP Daemon";
- wantedBy = [ "ip-up.target" ];
- partOf = [ "ip-up.target" ];
+ wantedBy = [ "multi-user.target" ];
path = [ ntp ];
diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix
index bd8a7a04a2a..2f9031481d1 100644
--- a/nixos/modules/services/networking/openntpd.nix
+++ b/nixos/modules/services/networking/openntpd.nix
@@ -41,8 +41,7 @@ in
systemd.services.openntpd = {
description = "OpenNTP Server";
- wantedBy = [ "ip-up.target" ];
- partOf = [ "ip-up.target" ];
+ wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${package}/sbin/ntpd -d -f ${cfgFile}";
};
};
diff --git a/nixos/modules/services/networking/polipo.nix b/nixos/modules/services/networking/polipo.nix
index 05ded84625d..51179d9120f 100644
--- a/nixos/modules/services/networking/polipo.nix
+++ b/nixos/modules/services/networking/polipo.nix
@@ -103,12 +103,8 @@ in
description = "caching web proxy";
after = [ "network.target" "nss-lookup.target" ];
wantedBy = [ "multi-user.target"];
- preStart = ''
- ${pkgs.coreutils}/bin/chown polipo:polipo /var/cache/polipo -R
- '';
serviceConfig = {
ExecStart = "${pkgs.polipo}/bin/polipo -c ${polipoConfig}";
- ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID";
User = "polipo";
};
};
diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix
new file mode 100644
index 00000000000..f82f8bfddbb
--- /dev/null
+++ b/nixos/modules/services/networking/prosody.nix
@@ -0,0 +1,280 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.prosody;
+
+ sslOpts = { ... }: {
+
+ options = {
+
+ # TODO: require attribute
+ key = mkOption {
+ type = types.str;
+ description = "Path to the key file";
+ };
+
+ # TODO: require attribute
+ cert = mkOption {
+ type = types.str;
+ description = "Path to the certificate file";
+ };
+ };
+ };
+
+ moduleOpts = {
+
+ roster = mkOption {
+ default = true;
+ description = "Allow users to have a roster";
+ };
+
+ saslauth = mkOption {
+ default = true;
+ description = "Authentication for clients and servers. Recommended if you want to log in.";
+ };
+
+ tls = mkOption {
+ default = true;
+ description = "Add support for secure TLS on c2s/s2s connections";
+ };
+
+ dialback = mkOption {
+ default = true;
+ description = "s2s dialback support";
+ };
+
+ disco = mkOption {
+ default = true;
+ description = "Service discovery";
+ };
+
+ legacyauth = mkOption {
+ default = true;
+ description = "Legacy authentication. Only used by some old clients and bots";
+ };
+
+ version = mkOption {
+ default = true;
+ description = "Replies to server version requests";
+ };
+
+ uptime = mkOption {
+ default = true;
+ description = "Report how long server has been running";
+ };
+
+ time = mkOption {
+ default = true;
+ description = "Let others know the time here on this server";
+ };
+
+ ping = mkOption {
+ default = true;
+ description = "Replies to XMPP pings with pongs";
+ };
+
+ console = mkOption {
+ default = false;
+ description = "telnet to port 5582";
+ };
+
+ bosh = mkOption {
+ default = false;
+ description = "Enable BOSH clients, aka 'Jabber over HTTP'";
+ };
+
+ httpserver = mkOption {
+ default = false;
+ description = "Serve static files from a directory over HTTP";
+ };
+
+ websocket = mkOption {
+ default = false;
+ description = "Enable WebSocket support";
+ };
+
+ };
+
+ createSSLOptsStr = o:
+ if o ? key && o ? cert then
+ ''ssl = { key = "${o.key}"; certificate = "${o.cert}"; };''
+ else "";
+
+ vHostOpts = { ... }: {
+
+ options = {
+
+ # TODO: require attribute
+ domain = mkOption {
+ type = types.str;
+ description = "Domain name";
+ };
+
+ enabled = mkOption {
+ default = false;
+ description = "Whether to enable the virtual host";
+ };
+
+ ssl = mkOption {
+ description = "Paths to SSL files";
+ default = null;
+ options = [ sslOpts ];
+ };
+
+ extraConfig = mkOption {
+ default = '''';
+ description = "Additional virtual host specific configuration";
+ };
+
+ };
+
+ };
+
+in
+
+{
+
+ ###### interface
+
+ options = {
+
+ services.prosody = {
+
+ enable = mkOption {
+ default = false;
+ description = "Whether to enable the prosody server";
+ };
+
+ allowRegistration = mkOption {
+ default = false;
+ description = "Allow account creation";
+ };
+
+ modules = moduleOpts;
+
+ extraModules = mkOption {
+ description = "Enable custom modules";
+ default = [];
+ };
+
+ virtualHosts = mkOption {
+
+ description = "Define the virtual hosts";
+
+ type = types.loaOf types.optionSet;
+
+ example = {
+ myhost = {
+ domain = "my-xmpp-example-host.org";
+ enabled = true;
+ };
+ };
+
+ default = {
+ localhost = {
+ domain = "localhost";
+ enabled = true;
+ };
+ };
+
+ options = [ vHostOpts ];
+ };
+
+ ssl = mkOption {
+ description = "Paths to SSL files";
+ default = null;
+ options = [ sslOpts ];
+ };
+
+ admins = mkOption {
+ description = "List of administrators of the current host";
+ example = [ "admin1@example.com" "admin2@example.com" ];
+ default = [];
+ };
+
+ extraConfig = mkOption {
+ default = '''';
+ description = "Additional prosody configuration";
+ };
+
+ };
+ };
+
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+
+ environment.systemPackages = [ pkgs.prosody ];
+
+ environment.etc."prosody/prosody.cfg.lua".text = ''
+
+ pidfile = "/var/lib/prosody/prosody.pid"
+
+
+ log = "*syslog"
+
+ data_path = "/var/lib/prosody"
+
+ allow_registration = ${ if cfg.allowRegistration then "true" else "false" };
+
+ ${ optionalString cfg.modules.console "console_enabled = true;" }
+
+ ${ optionalString (cfg.ssl != null) (createSSLOptsStr cfg.ssl) }
+
+ admins = { ${lib.concatStringsSep ", " (map (n: "\"${n}\"") cfg.admins) } };
+
+ modules_enabled = {
+
+ ${ lib.concatStringsSep "\n\ \ " (lib.mapAttrsToList
+ (name: val: optionalString val ''"${name}";'')
+ cfg.modules) }
+
+ ${ optionalString cfg.allowRegistration "\"register\"\;" }
+
+ ${ lib.concatStringsSep "\n" (map (x: "\"${x}\";") cfg.extraModules)}
+
+ "posix";
+ };
+
+ ${ cfg.extraConfig }
+
+ ${ lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: ''
+ VirtualHost "${v.domain}"
+ enabled = ${if v.enabled then "true" else "false"};
+ ${ optionalString (v.ssl != null) (createSSLOptsStr v.ssl) }
+ ${ v.extraConfig }
+ '') cfg.virtualHosts) }
+ '';
+
+ users.extraUsers.prosody = {
+ uid = config.ids.uids.prosody;
+ description = "Prosody user";
+ createHome = true;
+ group = "prosody";
+ home = "/var/lib/prosody";
+ };
+
+ users.extraGroups.prosody = {
+ gid = config.ids.gids.prosody;
+ };
+
+ systemd.services.prosody = {
+
+ description = "Prosody XMPP server";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ User = "prosody";
+ PIDFile = "/var/lib/prosody/prosody.pid";
+ ExecStart = "${pkgs.prosody}/bin/prosodyctl start";
+ };
+
+ };
+
+ };
+
+}
diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix
index 749e5dcebb6..579d62884c7 100644
--- a/nixos/modules/services/networking/quassel.nix
+++ b/nixos/modules/services/networking/quassel.nix
@@ -74,21 +74,23 @@ in
gid = config.ids.gids.quassel;
}];
- jobs.quassel =
+ systemd.services.quassel =
{ description = "Quassel IRC client daemon";
- startOn = "ip-up";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
preStart = ''
- mkdir -p ${cfg.dataDir}
- chown ${user} ${cfg.dataDir}
+ mkdir -p ${cfg.dataDir}
+ chown ${user} ${cfg.dataDir}
'';
- exec = ''
- ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${user} \
- -c '${quassel}/bin/quasselcore --listen=${cfg.interface}\
- --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}'
- '';
+ serviceConfig =
+ {
+ ExecStart = "${quassel}/bin/quasselcore --listen=${cfg.interface} --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}";
+ User = user;
+ PermissionsStartOnly = true;
+ };
};
};
diff --git a/nixos/modules/services/networking/seeks.nix b/nixos/modules/services/networking/seeks.nix
new file mode 100644
index 00000000000..155ecbb98ef
--- /dev/null
+++ b/nixos/modules/services/networking/seeks.nix
@@ -0,0 +1,75 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.seeks;
+
+ confDir = cfg.confDir;
+
+ seeks = pkgs.seeks.override { seeks_confDir = confDir; };
+
+in
+
+{
+
+ ###### interface
+
+ options = {
+
+ services.seeks = {
+
+ enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = "
+ Whether to enable the Seeks server.
+ ";
+ };
+
+ confDir = mkOption {
+ default = "";
+ type = types.str;
+ description = "
+ The Seeks server configuration. If it is not specified,
+ a default configuration is used (${seeks}/etc/seeks).
+ ";
+ };
+
+ };
+
+ };
+
+
+ ###### implementation
+
+ config = mkIf config.services.seeks.enable {
+
+ users.extraUsers.seeks =
+ { uid = config.ids.uids.seeks;
+ description = "Seeks user";
+ createHome = true;
+ home = "/var/lib/seeks";
+ };
+
+ users.extraGroups.seeks =
+ { gid = config.ids.gids.seeks;
+ };
+
+ systemd.services.seeks =
+ {
+ description = "Seeks server, the p2p search engine.";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ User = "seeks";
+ ExecStart = "${seeks}/bin/seeks";
+ };
+ };
+
+ environment.systemPackages = [ seeks ];
+
+ };
+
+}
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index fee1bace046..4db8d1e2545 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -17,11 +17,13 @@ let
knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
- knownHostsFile = pkgs.writeText "ssh_known_hosts" (
- flip concatMapStrings knownHosts (h: ''
- ${concatStringsSep "," h.hostNames} ${if h.publicKey != null then h.publicKey else readFile h.publicKeyFile}
- '')
- );
+ knownHostsFile = pkgs.runCommand "ssh_known_hosts" {} ''
+ touch "$out"
+ ${flip concatMapStrings knownHosts (h: ''
+ pubkeyfile=${builtins.toFile "host.pub" (if h.publicKey == null then readFile h.publicKeyFile else h.publicKey)}
+ ${pkgs.gnused}/bin/sed 's/^/${concatStringsSep "," h.hostNames} /' $pubkeyfile >> "$out"
+ '')}
+ '';
userOptions = {
@@ -254,7 +256,10 @@ in
description = ''
The public key data for the host. You can fetch a public key
from a running SSH server with the ssh-keyscan
- command.
+ command. The public key should not include any host names, only
+ the key type and the key itself. It is allowed to add several
+ lines here, each line will be treated as type/key pair and the
+ host names will be prepended to each line.
'';
};
publicKeyFile = mkOption {
@@ -264,7 +269,9 @@ in
The path to the public key file for the host. The public
key file is read at build time and saved in the Nix store.
You can fetch a public key file from a running SSH server
- with the ssh-keyscan command.
+ with the ssh-keyscan command. The content
+ of the file should follow the same format as described for
+ the publicKey option.
'';
};
};
diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix
new file mode 100644
index 00000000000..19ad635d07e
--- /dev/null
+++ b/nixos/modules/services/networking/strongswan.nix
@@ -0,0 +1,133 @@
+{ config, lib, pkgs, ... }:
+
+let
+
+ inherit (builtins) toFile;
+ inherit (lib) concatMapStringsSep concatStringsSep mapAttrsToList
+ mkIf mkEnableOption mkOption types;
+
+ cfg = config.services.strongswan;
+
+ ipsecSecrets = secrets: toFile "ipsec.secrets" (
+ concatMapStringsSep "\n" (f: "include ${f}") secrets
+ );
+
+ ipsecConf = {setup, connections, ca}:
+ let
+ # https://wiki.strongswan.org/projects/strongswan/wiki/IpsecConf
+ makeSections = type: sections: concatStringsSep "\n\n" (
+ mapAttrsToList (sec: attrs:
+ "${type} ${sec}\n" +
+ (concatStringsSep "\n" ( mapAttrsToList (k: v: " ${k}=${v}") attrs ))
+ ) sections
+ );
+ setupConf = makeSections "config" { inherit setup; };
+ connectionsConf = makeSections "conn" connections;
+ caConf = makeSections "ca" ca;
+
+ in
+ builtins.toFile "ipsec.conf" ''
+ ${setupConf}
+ ${connectionsConf}
+ ${caConf}
+ '';
+
+ strongswanConf = {setup, connections, ca, secrets}: toFile "strongswan.conf" ''
+ charon {
+ plugins {
+ stroke {
+ secrets_file = ${ipsecSecrets secrets}
+ }
+ }
+ }
+
+ starter {
+ config_file = ${ipsecConf { inherit setup connections ca; }}
+ }
+ '';
+
+in
+{
+ options.services.strongswan = {
+ enable = mkEnableOption "strongSwan";
+
+ secrets = mkOption {
+ type = types.listOf types.path;
+ default = [];
+ example = [ "/run/keys/ipsec-foo.secret" ];
+ description = ''
+ A list of paths to IPSec secret files. These
+ files will be included into the main ipsec.secrets file with
+ the include directive. It is safer if these
+ paths are absolute.
+ '';
+ };
+
+ setup = mkOption {
+ type = types.attrsOf types.str;
+ default = {};
+ example = { cachecrls = "yes"; strictcrlpolicy = "yes"; };
+ description = ''
+ A set of options for the ‘config setup’ section of the
+ ipsec.conf file. Defines general
+ configuration parameters.
+ '';
+ };
+
+ connections = mkOption {
+ type = types.attrsOf (types.attrsOf types.str);
+ default = {};
+ example = {
+ "%default" = {
+ keyexchange = "ikev2";
+ keyingtries = "1";
+ };
+ roadwarrior = {
+ auto = "add";
+ leftcert = "/run/keys/moonCert.pem";
+ leftid = "@moon.strongswan.org";
+ leftsubnet = "10.1.0.0/16";
+ right = "%any";
+ };
+ };
+ description = ''
+ A set of connections and their options for the ‘conn xxx’
+ sections of the ipsec.conf file.
+ '';
+ };
+
+ ca = mkOption {
+ type = types.attrsOf (types.attrsOf types.str);
+ default = {};
+ example = {
+ strongswan = {
+ auto = "add";
+ cacert = "/run/keys/strongswanCert.pem";
+ crluri = "http://crl2.strongswan.org/strongswan.crl";
+ };
+ };
+ description = ''
+ A set of CAs (certification authorities) and their options for
+ the ‘ca xxx’ sections of the ipsec.conf
+ file.
+ '';
+ };
+ };
+
+ config = with cfg; mkIf enable {
+ systemd.services.strongswan = {
+ description = "strongSwan IPSec Service";
+ wantedBy = [ "multi-user.target" ];
+ path = with pkgs; [ kmod ]; # XXX Linux
+ wants = [ "keys.target" ];
+ after = [ "network.target" "keys.target" ];
+ environment = {
+ STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secrets; };
+ };
+ serviceConfig = {
+ ExecStart = "${pkgs.strongswan}/sbin/ipsec start --nofork";
+ };
+ };
+ };
+}
+
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix
index 634f760328f..71dd38a3f47 100644
--- a/nixos/modules/services/networking/unifi.nix
+++ b/nixos/modules/services/networking/unifi.nix
@@ -1,9 +1,24 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
with lib;
let
cfg = config.services.unifi;
stateDir = "/var/lib/unifi";
cmd = "@${pkgs.icedtea7_jre}/bin/java java -jar ${stateDir}/lib/ace.jar";
+ mountPoints = [
+ {
+ what = "${pkgs.unifi}/dl";
+ where = "${stateDir}/dl";
+ }
+ {
+ what = "${pkgs.unifi}/lib";
+ where = "${stateDir}/lib";
+ }
+ {
+ what = "${pkgs.mongodb}/bin";
+ where = "${stateDir}/bin";
+ }
+ ];
+ systemdMountPoints = map (m: "${utils.escapeSystemdPath m.where}.mount") mountPoints;
in
{
@@ -32,30 +47,18 @@ in
# to be used as the working directory.
systemd.mounts = map ({ what, where }: {
bindsTo = [ "unifi.service" ];
- requiredBy = [ "unifi.service" ];
- before = [ "unifi.service" ];
+ partOf = [ "unifi.service" ];
options = "bind";
what = what;
where = where;
- }) [
- {
- what = "${pkgs.unifi}/dl";
- where = "${stateDir}/dl";
- }
- {
- what = "${pkgs.unifi}/lib";
- where = "${stateDir}/lib";
- }
- {
- what = "${pkgs.mongodb}/bin";
- where = "${stateDir}/bin";
- }
- ];
+ }) mountPoints;
systemd.services.unifi = {
description = "UniFi controller daemon";
wantedBy = [ "multi-user.target" ];
- after = [ "network.target" ];
+ after = [ "network.target" ] ++ systemdMountPoints;
+ partOf = systemdMountPoints;
+ bindsTo = systemdMountPoints;
preStart = ''
# Ensure privacy of state
@@ -63,13 +66,14 @@ in
chmod 0700 "${stateDir}"
# Create the volatile webapps
+ rm -rf "${stateDir}/webapps"
mkdir -p "${stateDir}/webapps"
chown unifi "${stateDir}/webapps"
ln -s "${pkgs.unifi}/webapps/ROOT.war" "${stateDir}/webapps/ROOT.war"
'';
postStop = ''
- rm "${stateDir}/webapps/ROOT.war"
+ rm -rf "${stateDir}/webapps"
'';
serviceConfig = {
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 8a8085cad28..22667739494 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -37,6 +37,7 @@ let
paths = cfg.drivers;
pathsToLink = [ "/lib/cups" "/share/cups" "/bin" "/etc/cups" ];
postBuild = cfg.bindirCmds;
+ ignoreCollisions = true;
};
in
@@ -89,6 +90,20 @@ in
'';
};
+ extraConf = mkOption {
+ type = types.lines;
+ default = "";
+ example =
+ ''
+ BrowsePoll cups.example.com
+ LogLevel debug
+ '';
+ description = ''
+ Extra contents of the configuration file of the CUPS daemon
+ (cupsd.conf).
+ '';
+ };
+
clientConf = mkOption {
type = types.lines;
default = "";
@@ -107,7 +122,7 @@ in
type = types.listOf types.path;
example = literalExample "[ pkgs.splix ]";
description = ''
- CUPS drivers to use. Drivers provided by CUPS, Ghostscript
+ CUPS drivers to use. Drivers provided by CUPS, cups-filters, Ghostscript
and Samba are added unconditionally.
'';
};
@@ -175,7 +190,7 @@ in
};
services.printing.drivers =
- [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends
+ [ pkgs.cups pkgs.ghostscript pkgs.cups_filters additionalBackends
pkgs.perl pkgs.coreutils pkgs.gnused pkgs.bc pkgs.gawk pkgs.gnugrep
];
@@ -257,6 +272,7 @@ in
Order deny,allow
+ ${cfg.extraConf}
'';
security.pam.services.cups = {};
diff --git a/nixos/modules/services/scheduling/chronos.nix b/nixos/modules/services/scheduling/chronos.nix
new file mode 100644
index 00000000000..277cdd63280
--- /dev/null
+++ b/nixos/modules/services/scheduling/chronos.nix
@@ -0,0 +1,54 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.chronos;
+
+in {
+
+ ###### interface
+
+ options.services.chronos = {
+ enable = mkOption {
+ description = "Whether to enable graphite web frontend.";
+ default = false;
+ type = types.uniq types.bool;
+ };
+
+ httpPort = mkOption {
+ description = "Chronos listening port";
+ default = 8080;
+ type = types.int;
+ };
+
+ master = mkOption {
+ description = "Chronos mesos master zookeeper address";
+ default = "zk://${head cfg.zookeeperHosts}/mesos";
+ type = types.str;
+ };
+
+ zookeeperHosts = mkOption {
+ description = "Chronos mesos zookepper addresses";
+ default = [ "localhost:2181" ];
+ type = types.listOf types.str;
+ };
+ };
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+ systemd.services.chronos = {
+ description = "Chronos Service";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "zookeeper.service" ];
+
+ serviceConfig = {
+ ExecStart = "${pkgs.chronos}/bin/chronos --master ${cfg.master} --zk_hosts ${concatStringsSep "," cfg.zookeeperHosts} --http_port ${toString cfg.httpPort}";
+ User = "chronos";
+ };
+ };
+
+ users.extraUsers.chronos.uid = config.ids.uids.chronos;
+ };
+}
diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix
index 9ce0bcbec7e..ded3010ec5a 100644
--- a/nixos/modules/services/scheduling/cron.nix
+++ b/nixos/modules/services/scheduling/cron.nix
@@ -25,6 +25,10 @@ let
sendmailPath = "/var/setuid-wrappers/sendmail";
};
+ allFiles = map (f: "\"${f}\"") (
+ [ "${systemCronJobsFile}" ] ++ config.services.cron.cronFiles
+ );
+
in
{
@@ -71,6 +75,15 @@ in
'';
};
+ cronFiles = mkOption {
+ type = types.listOf types.path;
+ default = [];
+ description = ''
+ A list of extra crontab files that will be read and appended to the main
+ crontab file when the cron service starts.
+ '';
+ };
+
};
};
@@ -78,14 +91,7 @@ in
###### implementation
- config = mkIf config.services.cron.enable {
-
- environment.etc = singleton
- # The system-wide crontab.
- { source = systemCronJobsFile;
- target = "crontab";
- mode = "0600"; # Cron requires this.
- };
+ config = mkIf (config.services.cron.enable && allFiles != []) {
security.setuidPrograms = [ "crontab" ];
@@ -100,6 +106,10 @@ in
preStart =
''
+ rm -f /etc/crontab
+ cat ${toString allFiles} > /etc/crontab
+ chmod 0600 /etc/crontab
+
mkdir -m 710 -p /var/cron
# By default, allow all users to create a crontab. This
diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix
index 1d52ed55dbd..2aa523bf70a 100644
--- a/nixos/modules/services/security/haveged.nix
+++ b/nixos/modules/services/security/haveged.nix
@@ -46,7 +46,7 @@ in
systemd.services.haveged =
{ description = "Entropy Harvesting Daemon";
- unitConfig.documentation = "man:haveged(8)";
+ unitConfig.Documentation = "man:haveged(8)";
wantedBy = [ "multi-user.target" ];
path = [ pkgs.haveged ];
@@ -60,4 +60,4 @@ in
};
-}
\ No newline at end of file
+}
diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix
index 5460e962ea2..0879d9b85bd 100644
--- a/nixos/modules/services/system/nscd.nix
+++ b/nixos/modules/services/system/nscd.nix
@@ -62,7 +62,7 @@ in
mkdir -m 0755 -p /var/db/nscd
'';
- restartTriggers = [ config.environment.etc.hosts.source ];
+ restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source ];
serviceConfig =
{ ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${cfgFile}";
diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix
new file mode 100644
index 00000000000..0360deac08b
--- /dev/null
+++ b/nixos/modules/services/torrent/peerflix.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.peerflix;
+
+ configFile = pkgs.writeText "peerflix-config.json" ''
+ {
+ "connections": 50,
+ "tmp": "${cfg.downloadDir}"
+ }
+ '';
+
+in {
+
+ ###### interface
+
+ options.services.peerflix = {
+ enable = mkOption {
+ description = "Whether to enable peerflix service.";
+ default = false;
+ type = types.uniq types.bool;
+ };
+
+ stateDir = mkOption {
+ description = "Peerflix state directory.";
+ default = "/var/lib/peerflix";
+ type = types.path;
+ };
+
+ downloadDir = mkOption {
+ description = "Peerflix temporary download directory.";
+ default = "${cfg.stateDir}/torrents";
+ type = types.path;
+ };
+ };
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+ systemd.services.peerflix = {
+ description = "Peerflix Daemon";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" ];
+ environment.HOME = cfg.stateDir;
+
+ preStart = ''
+ mkdir -p "${cfg.stateDir}"/{torrents,.config/peerflix-server}
+ if [ "$(id -u)" = 0 ]; then chown -R peerflix "${cfg.stateDir}"; fi
+ ln -fs "${configFile}" "${cfg.stateDir}/.config/peerflix-server/config.json"
+ '';
+
+ serviceConfig = {
+ ExecStart = "${pkgs.nodePackages.peerflix-server}/bin/peerflix-server";
+ PermissionsStartOnly = true;
+ User = "peerflix";
+ };
+ };
+
+ users.extraUsers.peerflix.uid = config.ids.uids.peerflix;
+ };
+}
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 02db4a7a5b2..1b38ea3b679 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -88,7 +88,7 @@ in
config = mkIf cfg.enable {
systemd.services.transmission = {
description = "Transmission BitTorrent Service";
- after = [ "network.target" ] ++ optional apparmor "apparmor.service";
+ after = [ "local-fs.target" "network.target" ] ++ optional apparmor "apparmor.service";
requires = mkIf apparmor [ "apparmor.service" ];
wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 85458a2ab56..5adfb8f0f96 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -98,6 +98,9 @@ let
# Authorization: is the user allowed access?
"authz_user" "authz_groupfile" "authz_host"
+ # For compatibility with old configurations, the new module mod_access_compat is provided.
+ (if version24 then "access_compat" else "")
+
# Other modules.
"ext_filter" "include" "log_config" "env" "mime_magic"
"cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif"
@@ -109,6 +112,9 @@ let
"mpm_${mainCfg.multiProcessingModule}"
"authz_core"
"unixd"
+ "cache" "cache_disk"
+ "slotmem_shm"
+ "socache_shmcb"
]
++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
++ optional enableSSL "ssl"
@@ -160,9 +166,9 @@ let
sslConf = ''
- SSLSessionCache shm:${mainCfg.stateDir}/ssl_scache(512000)
+ SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000)
- SSLMutex posixsem
+ ${if version24 then "Mutex" else "SSLMutex"} posixsem
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
@@ -420,8 +426,7 @@ in
package = mkOption {
type = types.package;
- default = pkgs.apacheHttpd.override { mpm = mainCfg.multiProcessingModule; };
- example = literalExample "pkgs.apacheHttpd_2_4";
+ default = pkgs.apacheHttpd;
description = ''
Overridable attribute of the Apache HTTP Server package to use.
'';
@@ -593,11 +598,11 @@ in
###### implementation
config = mkIf config.services.httpd.enable {
-
+
assertions = [ { assertion = mainCfg.enableSSL == true
-> mainCfg.sslServerCert != null
&& mainCfg.sslServerKey != null;
- message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; }
+ message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; }
];
users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") (singleton
diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
index d7bdd81b7eb..c0ed2041639 100644
--- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
@@ -4,6 +4,17 @@ with lib;
let
+ httpd = serverInfo.serverConfig.package;
+
+ version24 = !versionOlder httpd.version "2.4";
+
+ allGranted = if version24 then ''
+ Require all granted
+ '' else ''
+ Order allow,deny
+ Allow from all
+ '';
+
mediawikiConfig = pkgs.writeText "LocalSettings.php"
''
- Order allow,deny
- Allow from all
+ ${allGranted}
Options -Indexes
''}
@@ -142,8 +152,7 @@ in
''}
- Order allow,deny
- Allow from all
+ ${allGranted}
DirectoryIndex index.php
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 43e04a3076c..bffbb56e681 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,8 +18,8 @@ in
# determines the default: later modules (if enabled) are preferred.
# E.g., if KDE is enabled, it supersedes xterm.
imports = [
- ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde4_next.nix
- ./e17.nix ./e18.nix ./e19.nix ./gnome3.nix ./xbmc.nix
+ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix
+ ./e19.nix ./gnome3.nix ./xbmc.nix
];
options = {
diff --git a/nixos/modules/services/x11/desktop-managers/e17.nix b/nixos/modules/services/x11/desktop-managers/e17.nix
deleted file mode 100644
index 4cac53c9c75..00000000000
--- a/nixos/modules/services/x11/desktop-managers/e17.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
- xcfg = config.services.xserver;
- cfg = xcfg.desktopManager.e17;
-
-in
-
-{
- options = {
-
- services.xserver.desktopManager.e17.enable = mkOption {
- default = false;
- example = true;
- description = "Enable support for the E17 desktop environment.";
- };
-
- };
-
-
- config = mkIf (xcfg.enable && cfg.enable) {
-
- services.dbus.packages = [ pkgs.e17.ethumb ];
-
- };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/e18.nix b/nixos/modules/services/x11/desktop-managers/e18.nix
deleted file mode 100644
index faafd21b07d..00000000000
--- a/nixos/modules/services/x11/desktop-managers/e18.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-
- xcfg = config.services.xserver;
- cfg = xcfg.desktopManager.e18;
- e18_enlightenment = pkgs.e18.enlightenment.override { set_freqset_setuid = true; };
-
-in
-
-{
- options = {
-
- services.xserver.desktopManager.e18.enable = mkOption {
- default = false;
- example = true;
- description = "Enable the E18 desktop environment.";
- };
-
- };
-
- config = mkIf (xcfg.enable && cfg.enable) {
-
- environment.systemPackages = [
- pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary e18_enlightenment
- pkgs.e18.terminology pkgs.e18.econnman
- ];
-
- services.xserver.desktopManager.session = [
- { name = "E18";
- start = ''
- ${e18_enlightenment}/bin/enlightenment_start
- waitPID=$!
- '';
- }];
-
- security.setuidPrograms = [ "e18_freqset" ];
-
- };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 5f46e2f1ef8..65bbc025bcf 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -44,9 +44,10 @@ in {
};
environment.gnome3.packageSet = mkOption {
- default = pkgs.gnome3;
+ default = null;
example = literalExample "pkgs.gnome3_12";
- description = "Which Gnome 3 package set to use.";
+ description = "Which GNOME 3 package set to use.";
+ apply = p: if p == null then pkgs.gnome3 else p;
};
environment.gnome3.excludePackages = mkOption {
@@ -81,7 +82,7 @@ in {
services.upower.enable = config.powerManagement.enable;
services.upower.package = gnome3.upower;
- fonts.fonts = [ pkgs.dejavu_fonts ];
+ fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ];
services.xserver.desktopManager.session = singleton
{ name = "gnome3";
diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix
index 669ddbd904f..f7579fce7b5 100644
--- a/nixos/modules/services/x11/desktop-managers/kde4.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde4.nix
@@ -7,6 +7,7 @@ let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.kde4;
xorg = pkgs.xorg;
+ kde_workspace = config.services.xserver.desktopManager.kde4.kdeWorkspacePackage;
# Disable Nepomuk and Strigi by default. As of KDE 4.7, they don't
# really work very well (e.g. searching files often fails to find
@@ -61,6 +62,13 @@ in
example = ["gstreamer" "vlc"];
description = "Which phonon multimedia backend kde should use";
};
+
+ kdeWorkspacePackage = mkOption {
+ internal = true;
+ default = pkgs.kde4.kde_workspace;
+ type = types.package;
+ description = "Custom kde-workspace, used for NixOS rebranding.";
+ };
};
environment.kdePackages = mkOption {
@@ -108,13 +116,13 @@ in
fi
# Start KDE.
- exec ${pkgs.kde4.kdebase_workspace}/bin/startkde
+ exec ${kde_workspace}/bin/startkde
'';
};
security.setuidOwners = singleton
{ program = "kcheckpass";
- source = "${pkgs.kde4.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
+ source = "${kde_workspace}/lib/kde4/libexec/kcheckpass";
owner = "root";
group = "root";
setuid = true;
@@ -124,7 +132,7 @@ in
[ pkgs.kde4.kdelibs
pkgs.kde4.kde_baseapps # Splitted kdebase
- pkgs.kde4.kde_workspace
+ kde_workspace
pkgs.kde4.kde_runtime
pkgs.kde4.konsole
pkgs.kde4.kate
@@ -146,11 +154,17 @@ in
pkgs.strigi # used by nepomuk
pkgs.mysql # used by akonadi
]
- ++ [ nepomukConfig ] ++ phononBackendPackages
- ++ config.environment.kdePackages;
+ ++ lib.optional config.hardware.pulseaudio.enable pkgs.kde4.kmix # Perhaps this should always be enabled
+ ++ lib.optional config.hardware.bluetooth.enable pkgs.kde4.bluedevil
+ ++ lib.optional config.networking.networkmanager.enable pkgs.kde4.plasma-nm
+ ++ [ nepomukConfig ] ++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];
+ environment.profileRelativeEnvVars = mkIf (lib.elem "gstreamer" cfg.phononBackends) {
+ GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
+ };
+
environment.etc = singleton
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb";
diff --git a/nixos/modules/services/x11/desktop-managers/kde4_next.nix b/nixos/modules/services/x11/desktop-managers/kde4_next.nix
deleted file mode 100644
index 568094358ba..00000000000
--- a/nixos/modules/services/x11/desktop-managers/kde4_next.nix
+++ /dev/null
@@ -1,163 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
- xcfg = config.services.xserver;
- cfg = xcfg.desktopManager.kde4_next;
- xorg = pkgs.xorg;
- kde = pkgs.kde4_next;
-
- # Disable Nepomuk and Strigi by default. As of KDE 4.7, they don't
- # really work very well (e.g. searching files often fails to find
- # files), segfault sometimes and consume significant resources.
- # They can be re-enabled in the KDE System Settings under "Desktop
- # Search".
- nepomukConfig = pkgs.writeTextFile
- { name = "nepomuk-config";
- destination = "/share/config/nepomukserverrc";
- text =
- ''
- [Basic Settings]
- Start Nepomuk=false
-
- [Service-nepomukstrigiservice]
- autostart=false
- '';
- };
-
- phononBackends = {
- gstreamer = [
- pkgs.phonon_backend_gstreamer
- pkgs.gst_all.gstPluginsBase
- pkgs.gst_all.gstPluginsGood
- pkgs.gst_all.gstPluginsUgly
- pkgs.gst_all.gstPluginsBad
- pkgs.gst_all.gstFfmpeg # for mp3 playback
- pkgs.gst_all.gstreamer # needed?
- ];
-
- vlc = [pkgs.phonon_backend_vlc];
- };
-
- phononBackendPackages = flip concatMap cfg.phononBackends
- (name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
-
-in
-
-{
- options = {
-
- services.xserver.desktopManager.kde4_next = {
- enable = mkOption {
- type = types.bool;
- default = false;
- description = "Enable the KDE 4 desktop environment.";
- };
-
- phononBackends = mkOption {
- type = types.listOf types.str;
- default = ["gstreamer"];
- example = ["gstreamer" "vlc"];
- description = "Which phonon multimedia backend kde should use";
- };
- };
-
- };
-
-
- config = mkIf (xcfg.enable && cfg.enable) {
-
- # If KDE 4 is enabled, make it the default desktop manager (unless
- # overridden by the user's configuration).
- # !!! doesn't work yet ("Multiple definitions. Only one is allowed
- # for this option.")
- # services.xserver.desktopManager.default = mkOverride 900 "kde4";
-
- services.xserver.desktopManager.session = singleton
- { name = "kde4_next";
- bgSupport = true;
- start =
- ''
- # The KDE icon cache is supposed to update itself
- # automatically, but it uses the timestamp on the icon
- # theme directory as a trigger. Since in Nix the
- # timestamp is always the same, this doesn't work. So as
- # a workaround, nuke the icon cache on login. This isn't
- # perfect, since it may require logging out after
- # installing new applications to update the cache.
- # See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
- rm -fv $HOME/.kde/cache-*/icon-cache.kcache
-
- # Qt writes a weird ‘libraryPath’ line to
- # ~/.config/Trolltech.conf that causes the KDE plugin
- # paths of previous KDE invocations to be searched.
- # Obviously using mismatching KDE libraries is potentially
- # disastrous, so here we nuke references to the Nix store
- # in Trolltech.conf. A better solution would be to stop
- # Qt from doing this wackiness in the first place.
- if [ -e $HOME/.config/Trolltech.conf ]; then
- sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
- fi
-
- # Start KDE.
- exec ${kde.kdebase_workspace}/bin/startkde
- '';
- };
-
- security.setuidOwners = singleton
- { program = "kcheckpass";
- source = "${kde.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
- owner = "root";
- group = "root";
- setuid = true;
- };
-
- environment.systemPackages =
- [ kde.kdelibs
-
- kde.kde_baseapps # Splitted kdebase
- kde.kde_workspace
- kde.kde_runtime
- kde.konsole
- kde.kate
-
- kde.kde_wallpapers # contains kdm's default background
- kde.oxygen_icons
- pkgs.virtuoso # to enable Nepomuk to find Virtuoso
-
- # Starts KDE's Polkit authentication agent.
- kde.polkit_kde_agent
-
- # Miscellaneous runtime dependencies.
- kde.qt4 # needed for qdbus
- pkgs.shared_mime_info
- xorg.xmessage # so that startkde can show error messages
- xorg.xset # used by startkde, non-essential
- xorg.xauth # used by kdesu
- pkgs.shared_desktop_ontologies # used by nepomuk
- pkgs.strigi # used by nepomuk
- pkgs.mysql # used by akonadi
- ]
- ++ lib.optional config.hardware.pulseaudio.enable kde.kmix # Perhaps this should always be enabled
- ++ lib.optional config.hardware.bluetooth.enable kde.bluedevil
- ++ lib.optional config.networking.networkmanager.enable kde.networkmanagement
- ++ [ nepomukConfig ] ++ phononBackendPackages;
-
- environment.pathsToLink = [ "/share" ];
-
- environment.etc = singleton
- { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
- target = "X11/xkb";
- };
-
- # Enable helpful DBus services.
- services.udisks2.enable = true;
- services.upower.enable = config.powerManagement.enable;
-
- security.pam.services.kde = { allowNullPassword = true; };
-
- };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index a31f66176cc..6a14a163c19 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -56,6 +56,7 @@ in
pkgs.xfce.xfce4session
pkgs.xfce.xfce4settings
pkgs.xfce.xfce4mixer
+ pkgs.xfce.xfce4volumed
pkgs.xfce.xfce4screenshooter
pkgs.xfce.xfconf
pkgs.xfce.xfdesktop
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 004ea6ef49a..6b01cde9e2b 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -68,18 +68,20 @@ let
# Start PulseAudio if enabled.
${optionalString (config.hardware.pulseaudio.enable) ''
${optionalString (!config.hardware.pulseaudio.systemWide)
- "${pkgs.pulseaudio}/bin/pulseaudio --start"
+ "${config.hardware.pulseaudio.package}/bin/pulseaudio --start"
}
# Publish access credentials in the root window.
- ${pkgs.pulseaudio}/bin/pactl load-module module-x11-publish "display=$DISPLAY"
+ ${config.hardware.pulseaudio.package}/bin/pactl load-module module-x11-publish "display=$DISPLAY"
# Keep track of devices. Mostly useful for Phonon/KDE.
- ${pkgs.pulseaudio}/bin/pactl load-module module-device-manager "do_routing=1"
+ ${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''}
# Load X defaults.
- if test -e ~/.Xdefaults; then
+ if test -e ~/.Xresources; then
+ ${xorg.xrdb}/bin/xrdb -merge ~/.Xresources
+ elif test -e ~/.Xdefaults; then
${xorg.xrdb}/bin/xrdb -merge ~/.Xdefaults
fi
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 9d14fc2e137..080588df247 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -5,8 +5,8 @@ with lib;
let
cfg = config.services.xserver.displayManager;
- gdm = pkgs.gnome3_12.gdm; # gdm 3.10 not supported
gnome3 = config.environment.gnome3.packageSet;
+ gdm = gnome3.gdm;
in
diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix
index f5b394b6d98..9e44ce811c3 100644
--- a/nixos/modules/services/x11/hardware/synaptics.nix
+++ b/nixos/modules/services/x11/hardware/synaptics.nix
@@ -7,9 +7,9 @@ let cfg = config.services.xserver.synaptics;
enabledTapConfig = ''
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
- Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}"
- Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}"
- Option "TapButton3" "${builtins.elemAt cfg.buttonsMap 2}"
+ Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}"
+ Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}"
+ Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}"
'';
disabledTapConfig = ''
Option "MaxTapTime" "0"
@@ -25,12 +25,14 @@ in {
services.xserver.synaptics = {
enable = mkOption {
+ type = types.bool;
default = false;
example = true;
description = "Whether to enable touchpad support.";
};
dev = mkOption {
+ type = types.nullOr types.str;
default = null;
example = "/dev/input/event0";
description =
@@ -59,41 +61,56 @@ in {
};
twoFingerScroll = mkOption {
+ type = types.bool;
default = false;
description = "Whether to enable two-finger drag-scrolling.";
};
vertEdgeScroll = mkOption {
+ type = types.bool;
default = ! cfg.twoFingerScroll;
description = "Whether to enable vertical edge drag-scrolling.";
};
tapButtons = mkOption {
+ type = types.bool;
default = true;
example = false;
description = "Whether to enable tap buttons.";
};
buttonsMap = mkOption {
+ type = types.listOf types.int;
default = [1 2 3];
example = [1 3 2];
description = "Remap touchpad buttons.";
apply = map toString;
};
+ fingersMap = mkOption {
+ type = types.listOf types.int;
+ default = [1 2 3];
+ example = [1 3 2];
+ description = "Remap several-fingers taps.";
+ apply = map toString;
+ };
+
palmDetect = mkOption {
+ type = types.bool;
default = false;
example = true;
description = "Whether to enable palm detection (hardware support required)";
};
horizontalScroll = mkOption {
+ type = types.bool;
default = true;
example = false;
description = "Whether to enable horizontal scrolling (on touchpad)";
};
additionalOptions = mkOption {
+ type = types.str;
default = "";
example = ''
Option "RTCornerButton" "2"
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 45a4e947e0a..4f2a2309b60 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -18,6 +18,7 @@ in
./i3.nix
./herbstluftwm.nix
./bspwm.nix
+ ./stumpwm.nix
];
options = {
@@ -60,4 +61,4 @@ in
config = {
services.xserver.displayManager.session = cfg.session;
};
-}
+}
\ No newline at end of file
diff --git a/nixos/modules/services/x11/window-managers/stumpwm.nix b/nixos/modules/services/x11/window-managers/stumpwm.nix
new file mode 100644
index 00000000000..a876f13fd21
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/stumpwm.nix
@@ -0,0 +1,30 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.xserver.windowManager.stumpwm;
+in
+
+{
+ options = {
+ services.xserver.windowManager.stumpwm = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ example = true;
+ description = "Enable the stumpwm tiling window manager.";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ services.xserver.windowManager.session = singleton {
+ name = "stumpwm";
+ start = "
+ ${pkgs.stumpwm}/bin/stumpwm
+ ";
+ };
+ environment.systemPackages = [ pkgs.stumpwm ];
+ };
+}
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 12012698efe..c0e0ae23d38 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -321,6 +321,10 @@ system("@systemd@/bin/systemctl", "reset-failed");
# Make systemd reload its units.
system("@systemd@/bin/systemctl", "daemon-reload") == 0 or $res = 3;
+# Signal dbus to reload its configuration before starting other units.
+# Other units may rely on newly installed policy files under /etc/dbus-1
+system("@systemd@/bin/systemctl", "reload", "dbus.service");
+
# Restart changed services (those that have to be restarted rather
# than stopped and started).
my @restart = unique(split('\n', read_file($restartListFile, err_mode => 'quiet') // ""));
@@ -350,8 +354,6 @@ if (scalar @reload > 0) {
unlink($reloadListFile);
}
-# Signal dbus to reload its configuration.
-system("@systemd@/bin/systemctl", "reload", "dbus.service");
# Print failed and new units.
my (@failed, @new, @restarting);
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 62999dceee3..b8ea7fd7b9a 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -147,7 +147,7 @@ in
default = [];
description = ''
Additional configurations to build based on the current
- configuration which is has a lower priority.
+ configuration which then has a lower priority.
'';
};
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index 981b60c004c..ffee0271e93 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -341,8 +341,9 @@ addEntry("NixOS - Default", $defaultConfig);
$conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS;
+my $grubBootPath = $grubBoot->path;
# extraEntries could refer to @bootRoot@, which we have to substitute
-$conf =~ s/\@bootRoot\@/$grubBoot->path/g;
+$conf =~ s/\@bootRoot\@/$grubBootPath/g;
# Emit submenus for all system profiles.
sub addProfile {
diff --git a/nixos/modules/system/boot/loader/grub/ipxe.nix b/nixos/modules/system/boot/loader/grub/ipxe.nix
new file mode 100644
index 00000000000..9b5097a4cfd
--- /dev/null
+++ b/nixos/modules/system/boot/loader/grub/ipxe.nix
@@ -0,0 +1,64 @@
+# This module adds a scripted iPXE entry to the GRUB boot menu.
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ scripts = builtins.attrNames config.boot.loader.grub.ipxe;
+
+ grubEntry = name:
+ ''
+ menuentry "iPXE - ${name}" {
+ linux16 @bootRoot@/ipxe.lkrn
+ initrd16 @bootRoot@/${name}.ipxe
+ }
+
+ '';
+
+ scriptFile = name:
+ let
+ value = builtins.getAttr name config.boot.loader.grub.ipxe;
+ in
+ if builtins.typeOf value == "path" then value
+ else builtins.toFile "${name}.ipxe" value;
+in
+{
+ options =
+ { boot.loader.grub.ipxe = mkOption {
+ type = types.attrsOf (types.either types.path types.str);
+ description =
+ ''
+ Set of iPXE scripts available for
+ booting from the GRUB boot menu.
+ '';
+ default = { };
+ example = literalExample ''
+ { demo = '''
+ #!ipxe
+ dhcp
+ chain http://boot.ipxe.org/demo/boot.php
+ ''';
+ };
+ '';
+ };
+ };
+
+ config = mkIf (builtins.length scripts != 0) {
+
+ boot.loader.grub.extraEntries =
+ if config.boot.loader.grub.version == 2 then
+ toString (map grubEntry scripts)
+ else
+ throw "iPXE is not supported with GRUB 1.";
+
+ boot.loader.grub.extraFiles =
+ { "ipxe.lkrn" = "${pkgs.ipxe}/ipxe.lkrn"; }
+ //
+ builtins.listToAttrs ( map
+ (name: { name = name+".ipxe"; value = scriptFile name; })
+ scripts
+ );
+ };
+
+}
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index f14f105ef23..b62aed4ead9 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -122,6 +122,9 @@ for o in $(cat /proc/cmdline); do
esac
done
+# Set hostid before modules are loaded.
+# This is needed by the spl/zfs modules.
+@setHostId@
# Load the required kernel modules.
mkdir -p /lib
@@ -184,7 +187,7 @@ if test -e /sys/power/resume -a -e /sys/power/disk; then
done
fi
if test -n "$resumeDev"; then
- echo "$resumeDev" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
+ readlink -f "$resumeDev" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
fi
fi
@@ -368,6 +371,18 @@ exec 3>&-
@postMountCommands@
+# Emit a udev rule for /dev/root to prevent systemd from complaining.
+if [ -e /mnt-root/iso ]; then
+ eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/mnt-root/iso || true)
+else
+ eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=$targetRoot || true)
+fi
+if [ "$ROOT_MAJOR" -a "$ROOT_MINOR" -a "$ROOT_MAJOR" != 0 ]; then
+ mkdir -p /run/udev/rules.d
+ echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'", ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' > /run/udev/rules.d/61-dev-root-link.rules
+fi
+
+
# Stop udevd.
udevadm control --exit || true
@@ -386,7 +401,7 @@ echo /sbin/modprobe > /proc/sys/kernel/modprobe
# Start stage 2. `switch_root' deletes all files in the ramfs on the
# current root. Note that $stage2Init might be an absolute symlink,
# in which case "-e" won't work because we're not in the chroot yet.
-if ! test -e "$targetRoot/$stage2Init" -o -L "$targetRoot/$stage2Init"; then
+if ! test -e "$targetRoot/$stage2Init" -o ! -L "$targetRoot/$stage2Init"; then
echo "stage 2 init script ($targetRoot/$stage2Init) not found"
fail
fi
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 1ec11e70e84..cf211404649 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -34,6 +34,8 @@ let
doublePatchelf = pkgs.stdenv.isArm;
}
''
+ set +o pipefail
+
mkdir -p $out/bin $out/lib
ln -s $out/bin $out/sbin
@@ -127,7 +129,7 @@ let
cp -v ${udev}/lib/udev/rules.d/60-persistent-storage.rules $out/
cp -v ${udev}/lib/udev/rules.d/80-drivers.rules $out/
cp -v ${pkgs.lvm2}/lib/udev/rules.d/*.rules $out/
- cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/
+ ${config.boot.initrd.extraUdevRulesCommands}
for i in $out/*.rules; do
substituteInPlace $i \
@@ -137,7 +139,8 @@ let
--replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \
--replace /sbin/blkid ${extraUtils}/bin/blkid \
--replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
- --replace /sbin/mdadm ${extraUtils}/bin/mdadm
+ --replace /sbin/mdadm ${extraUtils}/bin/mdadm \
+ --replace /bin/sh ${extraUtils}/bin/sh
done
# Work around a bug in QEMU, which doesn't implement the "READ
@@ -187,6 +190,15 @@ let
fsInfo =
let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType fs.options ];
in pkgs.writeText "initrd-fsinfo" (concatStringsSep "\n" (concatMap f fileSystems));
+
+ setHostId = optionalString (config.networking.hostId != null) ''
+ hi="${config.networking.hostId}"
+ ${if pkgs.stdenv.isBigEndian then ''
+ echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > /etc/hostid
+ '' else ''
+ echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > /etc/hostid
+ ''}
+ '';
};
@@ -300,6 +312,17 @@ in
'';
};
+ boot.initrd.extraUdevRulesCommands = mkOption {
+ internal = true;
+ default = "";
+ type = types.lines;
+ description = ''
+ Shell commands to be executed in the builder of the
+ udev-rules derivation. This can be used to add
+ additional udev rules in the initial ramdisk.
+ '';
+ };
+
boot.initrd.compressor = mkOption {
internal = true;
default = "gzip -9";
@@ -346,9 +369,6 @@ in
(isYes "BLK_DEV_INITRD")
];
- # Prevent systemd from waiting for the /dev/root symlink.
- systemd.units."dev-root.device".text = "";
-
boot.initrd.supportedFilesystems = map (fs: fs.fsType) fileSystems;
};
diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh
index 6fff776f858..3762bda94a5 100644
--- a/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixos/modules/system/boot/stage-2-init.sh
@@ -141,8 +141,6 @@ fi
# Use /etc/resolv.conf supplied by systemd-nspawn, if applicable.
if [ -n "@useHostResolvConf@" -a -e /etc/resolv.conf ]; then
cat /etc/resolv.conf | resolvconf -m 1000 -a host
-else
- touch /etc/resolv.conf
fi
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 07f3cb9e952..20851c626d7 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -4,15 +4,184 @@ with lib;
let
- checkService = v:
- let assertValueOneOf = name: values: attr:
- let val = attr.${name};
- in optional (attr ? ${name} && !elem val values) "Systemd service field `${name}' cannot have value `${val}'.";
- checkType = assertValueOneOf "Type" ["simple" "forking" "oneshot" "dbus" "notify" "idle"];
- checkRestart = assertValueOneOf "Restart" ["no" "on-success" "on-failure" "on-abort" "always"];
- errors = concatMap (c: c v) [checkType checkRestart];
- in if errors == [] then true
- else builtins.trace (concatStringsSep "\n" errors) false;
+ boolValues = [true false "yes" "no"];
+
+ assertValueOneOf = name: values: group: attr:
+ optional (attr ? ${name} && !elem attr.${name} values)
+ "Systemd ${group} field `${name}' cannot have value `${attr.${name}}'.";
+
+ assertHasField = name: group: attr:
+ optional (!(attr ? ${name}))
+ "Systemd ${group} field `${name}' must exist.";
+
+ assertOnlyFields = fields: group: attr:
+ let badFields = filter (name: ! elem name fields) (attrNames attr); in
+ optional (badFields != [ ])
+ "Systemd ${group} has extra fields [${concatStringsSep " " badFields}].";
+
+ assertRange = name: min: max: group: attr:
+ optional (attr ? ${name} && !(min <= attr.${name} && max >= attr.${name}))
+ "Systemd ${group} field `${name}' is outside the range [${toString min},${toString max}]";
+
+ digits = map toString (range 0 9);
+
+ isByteFormat = s:
+ let
+ l = reverseList (stringToCharacters s);
+ suffix = head l;
+ nums = tail l;
+ in elem suffix (["K" "M" "G" "T"] ++ digits)
+ && all (num: elem num digits) nums;
+
+ assertByteFormat = name: group: attr:
+ optional (attr ? ${name} && ! isByteFormat attr.${name})
+ "Systemd ${group} field `${name}' must be in byte format [0-9]+[KMGT].";
+
+ hexChars = stringToCharacters "0123456789abcdefABCDEF";
+
+ isMacAddress = s: stringLength s == 17
+ && flip all (splitString ":" s) (bytes:
+ all (byte: elem byte hexChars) (stringToCharacters bytes)
+ );
+
+ assertMacAddress = name: group: attr:
+ optional (attr ? ${name} && ! isMacAddress attr.${name})
+ "Systemd ${group} field `${name}' must be a valid mac address.";
+
+ checkUnitConfig = group: checks: v:
+ let errors = concatMap (c: c group v) checks; in
+ if errors == [] then true
+ else builtins.trace (concatStringsSep "\n" errors) false;
+
+ checkService = checkUnitConfig "Service" [
+ (assertValueOneOf "Type" [
+ "simple" "forking" "oneshot" "dbus" "notify" "idle"
+ ])
+ (assertValueOneOf "Restart" [
+ "no" "on-success" "on-failure" "on-abort" "always"
+ ])
+ ];
+
+ checkLink = checkUnitConfig "Link" [
+ (assertOnlyFields [
+ "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name"
+ "MTUBytes" "BitsPerSecond" "Duplex" "WakeOnLan"
+ ])
+ (assertValueOneOf "MACAddressPolicy" ["persistent" "random"])
+ (assertMacAddress "MACAddress")
+ (assertValueOneOf "NamePolicy" [
+ "kernel" "database" "onboard" "slot" "path" "mac"
+ ])
+ (assertByteFormat "MTUBytes")
+ (assertByteFormat "BitsPerSecond")
+ (assertValueOneOf "Duplex" ["half" "full"])
+ (assertValueOneOf "WakeOnLan" ["phy" "magic" "off"])
+ ];
+
+ checkNetdev = checkUnitConfig "Netdev" [
+ (assertOnlyFields [
+ "Description" "Name" "Kind" "MTUBytes" "MACAddress"
+ ])
+ (assertHasField "Name")
+ (assertHasField "Kind")
+ (assertValueOneOf "Kind" [
+ "bridge" "bond" "vlan" "macvlan" "vxlan" "ipip"
+ "gre" "sit" "vti" "veth" "tun" "tap" "dummy"
+ ])
+ (assertByteFormat "MTUBytes")
+ (assertMacAddress "MACAddress")
+ ];
+
+ checkVlan = checkUnitConfig "VLAN" [
+ (assertOnlyFields ["Id"])
+ (assertRange "Id" 0 4094)
+ ];
+
+ checkMacvlan = checkUnitConfig "MACVLAN" [
+ (assertOnlyFields ["Mode"])
+ (assertValueOneOf "Mode" ["private" "vepa" "bridge" "passthru"])
+ ];
+
+ checkVxlan = checkUnitConfig "VXLAN" [
+ (assertOnlyFields ["Id" "Group" "TOS" "TTL" "MacLearning"])
+ (assertRange "TTL" 0 255)
+ (assertValueOneOf "MacLearning" boolValues)
+ ];
+
+ checkTunnel = checkUnitConfig "Tunnel" [
+ (assertOnlyFields ["Local" "Remote" "TOS" "TTL" "DiscoverPathMTU"])
+ (assertRange "TTL" 0 255)
+ (assertValueOneOf "DiscoverPathMTU" boolValues)
+ ];
+
+ checkPeer = checkUnitConfig "Peer" [
+ (assertOnlyFields ["Name" "MACAddress"])
+ (assertMacAddress "MACAddress")
+ ];
+
+ tunTapChecks = [
+ (assertOnlyFields ["OneQueue" "MultiQueue" "PacketInfo" "User" "Group"])
+ (assertValueOneOf "OneQueue" boolValues)
+ (assertValueOneOf "MultiQueue" boolValues)
+ (assertValueOneOf "PacketInfo" boolValues)
+ ];
+
+ checkTun = checkUnitConfig "Tun" tunTapChecks;
+
+ checkTap = checkUnitConfig "Tap" tunTapChecks;
+
+ checkBond = checkUnitConfig "Bond" [
+ (assertOnlyFields [
+ "Mode" "TransmitHashPolicy" "LACPTransmitRate" "MIIMonitorSec"
+ "UpDelaySec" "DownDelaySec"
+ ])
+ (assertValueOneOf "Mode" [
+ "balance-rr" "active-backup" "balance-xor"
+ "broadcast" "802.3ad" "balance-tlb" "balance-alb"
+ ])
+ (assertValueOneOf "TransmitHashPolicy" [
+ "layer2" "layer3+4" "layer2+3" "encap2+3" "802.3ad" "encap3+4"
+ ])
+ (assertValueOneOf "LACPTransmitRate" ["slow" "fast"])
+ ];
+
+ checkNetwork = checkUnitConfig "Network" [
+ (assertOnlyFields [
+ "Description" "DHCP" "DHCPServer" "IPv4LL" "IPv4LLRoute"
+ "LLMNR" "Domains" "Bridge" "Bond"
+ ])
+ (assertValueOneOf "DHCP" ["both" "none" "v4" "v6"])
+ (assertValueOneOf "DHCPServer" boolValues)
+ (assertValueOneOf "IPv4LL" boolValues)
+ (assertValueOneOf "IPv4LLRoute" boolValues)
+ (assertValueOneOf "LLMNR" boolValues)
+ ];
+
+ checkAddress = checkUnitConfig "Address" [
+ (assertOnlyFields ["Address" "Peer" "Broadcast" "Label"])
+ (assertHasField "Address")
+ ];
+
+ checkRoute = checkUnitConfig "Route" [
+ (assertOnlyFields ["Gateway" "Destination" "Metric"])
+ (assertHasField "Gateway")
+ ];
+
+ checkDhcp = checkUnitConfig "DHCP" [
+ (assertOnlyFields [
+ "UseDNS" "UseMTU" "SendHostname" "UseHostname" "UseDomains" "UseRoutes"
+ "CriticalConnections" "VendorClassIdentifier" "RequestBroadcast"
+ "RouteMetric"
+ ])
+ (assertValueOneOf "UseDNS" boolValues)
+ (assertValueOneOf "UseMTU" boolValues)
+ (assertValueOneOf "SendHostname" boolValues)
+ (assertValueOneOf "UseHostname" boolValues)
+ (assertValueOneOf "UseDomains" boolValues)
+ (assertValueOneOf "UseRoutes" boolValues)
+ (assertValueOneOf "CriticalConnections" boolValues)
+ (assertValueOneOf "RequestBroadcast" boolValues)
+ ];
unitOption = mkOptionType {
name = "systemd option";
@@ -140,6 +309,15 @@ in rec {
'';
};
+ requisite = mkOption {
+ default = [];
+ type = types.listOf types.str;
+ description = ''
+ Similar to requires. However if the units listed are not started,
+ they will not be started and the transaction will fail.
+ '';
+ };
+
unitConfig = mkOption {
default = {};
example = { RequiresMountsFor = "/data"; };
@@ -441,4 +619,345 @@ in rec {
targetOptions = commonUnitOptions;
+ commonNetworkOptions = {
+
+ enable = mkOption {
+ default = true;
+ type = types.bool;
+ description = ''
+ If set to false, this unit will be a symlink to
+ /dev/null.
+ '';
+ };
+
+ matchConfig = mkOption {
+ default = {};
+ example = { Name = "eth0"; };
+ type = types.attrsOf unitOption;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Match] section of the unit. See
+ systemd.link5
+ systemd.netdev5
+ systemd.network5
+ for details.
+ '';
+ };
+
+ };
+
+ linkOptions = commonNetworkOptions // {
+
+ linkConfig = mkOption {
+ default = {};
+ example = { MACAddress = "00:ff:ee:aa:cc:dd"; };
+ type = types.addCheck (types.attrsOf unitOption) checkLink;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Link] section of the unit. See
+ systemd.link
+ 5 for details.
+ '';
+ };
+
+ };
+
+ netdevOptions = commonNetworkOptions // {
+
+ netdevConfig = mkOption {
+ default = {};
+ example = { Name = "mybridge"; Kind = "bridge"; };
+ type = types.addCheck (types.attrsOf unitOption) checkNetdev;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Netdev] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ vlanConfig = mkOption {
+ default = {};
+ example = { Id = "4"; };
+ type = types.addCheck (types.attrsOf unitOption) checkVlan;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [VLAN] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ macvlanConfig = mkOption {
+ default = {};
+ example = { Mode = "private"; };
+ type = types.addCheck (types.attrsOf unitOption) checkMacvlan;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [MACVLAN] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ vxlanConfig = mkOption {
+ default = {};
+ example = { Id = "4"; };
+ type = types.addCheck (types.attrsOf unitOption) checkVxlan;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [VXLAN] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ tunnelConfig = mkOption {
+ default = {};
+ example = { Remote = "192.168.1.1"; };
+ type = types.addCheck (types.attrsOf unitOption) checkTunnel;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Tunnel] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ peerConfig = mkOption {
+ default = {};
+ example = { Name = "veth2"; };
+ type = types.addCheck (types.attrsOf unitOption) checkPeer;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Peer] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ tunConfig = mkOption {
+ default = {};
+ example = { User = "openvpn"; };
+ type = types.addCheck (types.attrsOf unitOption) checkTun;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Tun] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ tapConfig = mkOption {
+ default = {};
+ example = { User = "openvpn"; };
+ type = types.addCheck (types.attrsOf unitOption) checkTap;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Tap] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ bondConfig = mkOption {
+ default = {};
+ example = { Mode = "802.3ad"; };
+ type = types.addCheck (types.attrsOf unitOption) checkBond;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Bond] section of the unit. See
+ systemd.netdev
+ 5 for details.
+ '';
+ };
+
+ };
+
+ addressOptions = {
+
+ addressConfig = mkOption {
+ default = {};
+ example = { Address = "192.168.0.100/24"; };
+ type = types.addCheck (types.attrsOf unitOption) checkAddress;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Address] section of the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
+ };
+
+ routeOptions = {
+
+ routeConfig = mkOption {
+ default = {};
+ example = { Gateway = "192.168.0.1"; };
+ type = types.addCheck (types.attrsOf unitOption) checkRoute;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Route] section of the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
+ };
+
+ networkOptions = commonNetworkOptions // {
+
+ networkConfig = mkOption {
+ default = {};
+ example = { Description = "My Network"; };
+ type = types.addCheck (types.attrsOf unitOption) checkNetwork;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [Network] section of the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
+ dhcpConfig = mkOption {
+ default = {};
+ example = { UseDNS = true; UseRoutes = true; };
+ type = types.addCheck (types.attrsOf unitOption) checkDhcp;
+ description = ''
+ Each attribute in this set specifies an option in the
+ [DHCP] section of the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
+ name = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ The name of the network interface to match against.
+ '';
+ };
+
+ DHCP = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ Whether to enable DHCP on the interfaces matched.
+ '';
+ };
+
+ domains = mkOption {
+ type = types.nullOr (types.listOf types.str);
+ default = null;
+ description = ''
+ A list of domains to pass to the network config.
+ '';
+ };
+
+ address = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of addresses to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ gateway = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of gateways to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ dns = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of dns servers to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ ntp = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of ntp servers to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ vlan = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of vlan interfaces to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ macvlan = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of macvlan interfaces to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ vxlan = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of vxlan interfaces to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ tunnel = mkOption {
+ default = [ ];
+ type = types.listOf types.str;
+ description = ''
+ A list of tunnel interfaces to be added to the network section of the
+ unit. See systemd.network
+ 5 for details.
+ '';
+ };
+
+ addresses = mkOption {
+ default = [ ];
+ type = types.listOf types.optionSet;
+ options = [ addressOptions ];
+ description = ''
+ A list of address sections to be added to the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
+ routes = mkOption {
+ default = [ ];
+ type = types.listOf types.optionSet;
+ options = [ routeOptions ];
+ description = ''
+ A list of route sections to be added to the unit. See
+ systemd.network
+ 5 for details.
+ '';
+ };
+
+ };
+
}
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index d0fe69c15dd..78fe8c49fb0 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -10,15 +10,19 @@ let
systemd = cfg.package;
+
makeUnit = name: unit:
+ let
+ pathSafeName = lib.replaceChars ["@" "\\"] ["-" "-"] name;
+ in
if unit.enable then
- pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; }
+ pkgs.runCommand "unit-${pathSafeName}" { preferLocalBuild = true; inherit (unit) text; }
''
mkdir -p $out
echo -n "$text" > $out/${shellEscape name}
''
else
- pkgs.runCommand "unit" { preferLocalBuild = true; }
+ pkgs.runCommand "unit-${pathSafeName}-disabled" { preferLocalBuild = true; }
''
mkdir -p $out
ln -s /dev/null $out/${shellEscape name}
@@ -32,6 +36,7 @@ let
"graphical.target"
"multi-user.target"
"network.target"
+ "network-pre.target"
"network-online.target"
"nss-lookup.target"
"nss-user-lookup.target"
@@ -81,6 +86,7 @@ let
"systemd-journal-flush.service"
"systemd-journal-gatewayd.socket"
"systemd-journal-gatewayd.service"
+ "systemd-journald-dev-log.socket"
"syslog.socket"
# SysV init compatibility.
@@ -91,6 +97,12 @@ let
"systemd-modules-load.service"
"kmod-static-nodes.service"
+ # Networking
+ "systemd-networkd.service"
+ "systemd-networkd-wait-online.service"
+ "systemd-resolved.service"
+ "systemd-timesyncd.service"
+
# Filesystems.
"systemd-fsck@.service"
"systemd-fsck-root.service"
@@ -207,6 +219,8 @@ let
{ PartOf = toString config.partOf; }
// optionalAttrs (config.conflicts != [])
{ Conflicts = toString config.conflicts; }
+ // optionalAttrs (config.requisite != [])
+ { Requisite = toString config.requisite; }
// optionalAttrs (config.restartTriggers != [])
{ X-Restart-Triggers = toString config.restartTriggers; }
// optionalAttrs (config.description != "") {
@@ -287,6 +301,19 @@ let
};
};
+ networkConfig = { name, config, ... }: {
+ config = {
+ matchConfig = optionalAttrs (config.name != null) {
+ Name = config.name;
+ };
+ networkConfig = optionalAttrs (config.DHCP != null) {
+ DHCP = config.DHCP;
+ } // optionalAttrs (config.domains != null) {
+ Domains = concatStringsSep " " config.domains;
+ };
+ };
+ };
+
toOption = x:
if x == true then "true"
else if x == false then "false"
@@ -379,6 +406,103 @@ let
'';
};
+ commonMatchText = def: ''
+ [Match]
+ ${attrsToSection def.matchConfig}
+ '';
+
+ linkToUnit = name: def:
+ { inherit (def) enable;
+ text = commonMatchText def +
+ ''
+ [Link]
+ ${attrsToSection def.linkConfig}
+ '';
+ };
+
+ netdevToUnit = name: def:
+ { inherit (def) enable;
+ text = commonMatchText def +
+ ''
+ [NetDev]
+ ${attrsToSection def.netdevConfig}
+
+ ${optionalString (def.vlanConfig != { }) ''
+ [VLAN]
+ ${attrsToSection def.vlanConfig}
+
+ ''}
+ ${optionalString (def.macvlanConfig != { }) ''
+ [MACVLAN]
+ ${attrsToSection def.macvlanConfig}
+
+ ''}
+ ${optionalString (def.vxlanConfig != { }) ''
+ [VXLAN]
+ ${attrsToSection def.vxlanConfig}
+
+ ''}
+ ${optionalString (def.tunnelConfig != { }) ''
+ [Tunnel]
+ ${attrsToSection def.tunnelConfig}
+
+ ''}
+ ${optionalString (def.peerConfig != { }) ''
+ [Peer]
+ ${attrsToSection def.peerConfig}
+
+ ''}
+ ${optionalString (def.tunConfig != { }) ''
+ [Tun]
+ ${attrsToSection def.tunConfig}
+
+ ''}
+ ${optionalString (def.tapConfig != { }) ''
+ [Tap]
+ ${attrsToSection def.tapConfig}
+
+ ''}
+ ${optionalString (def.bondConfig != { }) ''
+ [Bond]
+ ${attrsToSection def.bondConfig}
+
+ ''}
+ '';
+ };
+
+ networkToUnit = name: def:
+ { inherit (def) enable;
+ text = commonMatchText def +
+ ''
+ [Network]
+ ${attrsToSection def.networkConfig}
+ ${concatStringsSep "\n" (map (s: "Address=${s}") def.address)}
+ ${concatStringsSep "\n" (map (s: "Gateway=${s}") def.gateway)}
+ ${concatStringsSep "\n" (map (s: "DNS=${s}") def.dns)}
+ ${concatStringsSep "\n" (map (s: "NTP=${s}") def.ntp)}
+ ${concatStringsSep "\n" (map (s: "VLAN=${s}") def.vlan)}
+ ${concatStringsSep "\n" (map (s: "MACVLAN=${s}") def.macvlan)}
+ ${concatStringsSep "\n" (map (s: "VXLAN=${s}") def.vxlan)}
+ ${concatStringsSep "\n" (map (s: "Tunnel=${s}") def.tunnel)}
+
+ ${optionalString (def.dhcpConfig != { }) ''
+ [DHCP]
+ ${attrsToSection def.dhcpConfig}
+
+ ''}
+ ${flip concatMapStrings def.addresses (x: ''
+ [Address]
+ ${attrsToSection x.addressConfig}
+
+ '')}
+ ${flip concatMapStrings def.routes (x: ''
+ [Route]
+ ${attrsToSection x.routeConfig}
+
+ '')}
+ '';
+ };
+
generateUnits = type: units: upstreamUnits: upstreamWants:
pkgs.runCommand "${type}-units" { preferLocalBuild = true; } ''
mkdir -p $out
@@ -463,8 +587,9 @@ let
mkdir -p $out/getty.target.wants/
ln -s ../autovt@tty1.service $out/getty.target.wants/
- ln -s ../local-fs.target ../remote-fs.target ../network.target ../nss-lookup.target \
- ../nss-user-lookup.target ../swap.target $out/multi-user.target.wants/
+ ln -s ../local-fs.target ../remote-fs.target ../network.target \
+ ../nss-lookup.target ../nss-user-lookup.target ../swap.target \
+ $out/multi-user.target.wants/
''}
''; # */
@@ -557,6 +682,47 @@ in
'';
};
+ systemd.network.enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Whether to enable networkd or not.
+ '';
+ };
+
+ systemd.network.links = mkOption {
+ default = {};
+ type = types.attrsOf types.optionSet;
+ options = [ linkOptions ];
+ description = "Definiton of systemd network links.";
+ };
+
+ systemd.network.netdevs = mkOption {
+ default = {};
+ type = types.attrsOf types.optionSet;
+ options = [ netdevOptions ];
+ description = "Definiton of systemd network devices.";
+ };
+
+ systemd.network.networks = mkOption {
+ default = {};
+ type = types.attrsOf types.optionSet;
+ options = [ networkOptions networkConfig ];
+ description = "Definiton of systemd networks.";
+ };
+
+ systemd.network.units = mkOption {
+ description = "Definition of networkd units.";
+ default = {};
+ type = types.attrsOf types.optionSet;
+ options = { name, config, ... }:
+ { options = concreteUnitOptions;
+ config = {
+ unit = mkDefault (makeUnit name config);
+ };
+ };
+ };
+
systemd.defaultUnit = mkOption {
default = "multi-user.target";
type = types.str;
@@ -640,6 +806,22 @@ in
'';
};
+ services.resolved.enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Enables the systemd dns resolver daemon.
+ '';
+ };
+
+ services.timesyncd.enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Enables the systemd ntp client daemon.
+ '';
+ };
+
systemd.tmpfiles.rules = mkOption {
type = types.listOf types.str;
default = [];
@@ -696,7 +878,7 @@ in
###### implementation
- config = {
+ config = mkMerge [ {
warnings = concatLists (mapAttrsToList (name: service:
optional (service.serviceConfig.Type or "" == "oneshot" && service.serviceConfig.Restart or "no" != "no")
@@ -709,6 +891,9 @@ in
environment.etc."systemd/system".source =
generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants;
+ environment.etc."systemd/network".source =
+ generateUnits "network" cfg.network.units [] [];
+
environment.etc."systemd/user".source =
generateUnits "user" cfg.user.units upstreamUserUnits [];
@@ -761,6 +946,18 @@ in
unitConfig.X-StopOnReconfiguration = true;
};
+ systemd.targets.network-online.after = [ "ip-up.target" ];
+
+ systemd.targets.network-pre = {
+ wantedBy = [ "network.target" ];
+ before = [ "network.target" ];
+ };
+
+ systemd.targets.remote-fs-pre = {
+ wantedBy = [ "remote-fs.target" ];
+ before = [ "remote-fs.target" ];
+ };
+
systemd.units =
mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
@@ -774,6 +971,11 @@ in
(v: let n = escapeSystemdPath v.where;
in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
+ systemd.network.units =
+ mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.network.links
+ // mapAttrs' (n: v: nameValuePair "${n}.netdev" (netdevToUnit n v)) cfg.network.netdevs
+ // mapAttrs' (n: v: nameValuePair "${n}.network" (networkToUnit n v)) cfg.network.networks;
+
systemd.user.units =
mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.user.sockets;
@@ -795,6 +997,15 @@ in
users.extraUsers.systemd-journal-gateway.uid = config.ids.uids.systemd-journal-gateway;
users.extraGroups.systemd-journal-gateway.gid = config.ids.gids.systemd-journal-gateway;
+ users.extraUsers.systemd-network.uid = config.ids.uids.systemd-network;
+ users.extraGroups.systemd-network.gid = config.ids.gids.systemd-network;
+
+ users.extraUsers.systemd-resolve.uid = config.ids.uids.systemd-resolve;
+ users.extraGroups.systemd-resolve.gid = config.ids.gids.systemd-resolve;
+
+ users.extraUsers.systemd-timesync.uid = config.ids.uids.systemd-timesync;
+ users.extraGroups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
+
# Generate timer units for all services that have a ‘startAt’ value.
systemd.timers =
mapAttrs (name: service:
@@ -828,5 +1039,57 @@ in
systemd.services.systemd-remount-fs.restartIfChanged = false;
systemd.services.systemd-journal-flush.restartIfChanged = false;
- };
+ }
+ (mkIf config.systemd.network.enable {
+ systemd.services.systemd-networkd = {
+ wantedBy = [ "multi-user.target" ];
+ before = [ "network-interfaces.target" ];
+ restartTriggers = [ config.environment.etc."systemd/network".source ];
+ };
+
+ systemd.services.systemd-networkd-wait-online = {
+ before = [ "network-online.target" "ip-up.target" ];
+ wantedBy = [ "network-online.target" "ip-up.target" ];
+ };
+
+ systemd.services."systemd-network-wait-online@" = {
+ description = "Wait for Network Interface %I to be Configured";
+ conflicts = [ "shutdown.target" ];
+ requisite = [ "systemd-networkd.service" ];
+ after = [ "systemd-networkd.service" ];
+ serviceConfig = {
+ Type = "oneshot";
+ RemainAfterExit = true;
+ ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I";
+ };
+ };
+
+ services.resolved.enable = mkDefault true;
+ services.timesyncd.enable = mkDefault config.services.ntp.enable;
+ })
+ (mkIf config.services.resolved.enable {
+ systemd.services.systemd-resolved = {
+ wantedBy = [ "multi-user.target" ];
+ restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
+ };
+
+ environment.etc."systemd/resolved.conf".text = ''
+ [Resolve]
+ DNS=${concatStringsSep " " config.networking.nameservers}
+ '';
+ })
+ (mkIf config.services.timesyncd.enable {
+ systemd.services.systemd-timesyncd = {
+ wantedBy = [ "sysinit.target" ];
+ restartTriggers = [ config.environment.etc."systemd/timesyncd.conf".source ];
+ };
+
+ environment.etc."systemd/timesyncd.conf".text = ''
+ [Time]
+ NTP=${concatStringsSep " " config.services.ntp.servers}
+ '';
+
+ systemd.services.ntpd.enable = false;
+ })
+ ];
}
diff --git a/nixos/modules/tasks/bcache.nix b/nixos/modules/tasks/bcache.nix
new file mode 100644
index 00000000000..f988ec02af7
--- /dev/null
+++ b/nixos/modules/tasks/bcache.nix
@@ -0,0 +1,11 @@
+{ config, pkgs, ... }:
+
+{
+
+ environment.systemPackages = [ pkgs.bcache-tools ];
+
+ boot.initrd.extraUdevRulesCommands = ''
+ cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
+ '';
+
+}
diff --git a/nixos/modules/tasks/filesystems/jfs.nix b/nixos/modules/tasks/filesystems/jfs.nix
new file mode 100644
index 00000000000..b7091ce9b18
--- /dev/null
+++ b/nixos/modules/tasks/filesystems/jfs.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ inInitrd = any (fs: fs == "jfs") config.boot.initrd.supportedFilesystems;
+in
+{
+ config = mkIf (any (fs: fs == "jfs") config.boot.supportedFilesystems) {
+
+ system.fsPackages = [ pkgs.jfsutils ];
+
+ boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ];
+
+ boot.initrd.extraUtilsCommands = mkIf inInitrd ''
+ cp -v ${pkgs.jfsutils}/sbin/fsck.jfs "$out/bin/"
+ '';
+ };
+}
diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix
index 16752ce7e1b..546145e54ac 100644
--- a/nixos/modules/tasks/filesystems/nfs.nix
+++ b/nixos/modules/tasks/filesystems/nfs.nix
@@ -13,7 +13,7 @@ let
idmapdConfFile = pkgs.writeText "idmapd.conf" ''
[General]
Pipefs-Directory = ${rpcMountpoint}
- ${optionalString (config.networking.domain != "")
+ ${optionalString (config.networking.domain != null)
"Domain = ${config.networking.domain}"}
[Mapping]
@@ -73,10 +73,10 @@ in
path = [ pkgs.nfsUtils pkgs.sysvtools pkgs.utillinux ];
- wantedBy = [ "network-online.target" "multi-user.target" ];
- before = [ "network-online.target" ];
+ wantedBy = [ "remote-fs-pre.target" ];
+ before = [ "remote-fs-pre.target" ];
requires = [ "basic.target" "rpcbind.service" ];
- after = [ "basic.target" "rpcbind.service" "network.target" ];
+ after = [ "basic.target" "rpcbind.service" ];
unitConfig.DefaultDependencies = false; # don't stop during shutdown
@@ -100,8 +100,8 @@ in
path = [ pkgs.sysvtools pkgs.utillinux ];
- wantedBy = [ "network-online.target" "multi-user.target" ];
- before = [ "network-online.target" ];
+ wantedBy = [ "remote-fs-pre.target" ];
+ before = [ "remote-fs-pre.target" ];
requires = [ "rpcbind.service" ];
after = [ "rpcbind.service" ];
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 1c4bbc16b49..ab5942b7945 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -1,11 +1,10 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
#
# todo:
# - crontab for scrubs, etc
# - zfs tunables
-# - /etc/zfs/zpool.cache handling
-
+with utils;
with lib;
let
@@ -31,6 +30,20 @@ let
zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot";
+ datasetToPool = x: elemAt (splitString "/" x) 0;
+
+ fsToPool = fs: datasetToPool fs.device;
+
+ zfsFilesystems = filter (x: x.fsType == "zfs") (attrValues config.fileSystems);
+
+ isRoot = fs: fs.neededForBoot || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ];
+
+ allPools = unique ((map fsToPool zfsFilesystems) ++ cfgZfs.extraPools);
+
+ rootPools = unique (map fsToPool (filter isRoot zfsFilesystems));
+
+ dataPools = unique (filter (pool: !(elem pool rootPools)) allPools);
+
in
{
@@ -38,28 +51,73 @@ in
###### interface
options = {
- boot.spl.hostid = mkOption {
- default = "";
- example = "0xdeadbeef";
- description = ''
- ZFS uses a system's hostid to determine if a storage pool (zpool) is
- native to this system, and should thus be imported automatically.
- Unfortunately, this hostid can change under linux from boot to boot (by
- changing network adapters, for instance). Specify a unique 32 bit hostid in
- hex here for zfs to prevent getting a random hostid between boots and having to
- manually import pools.
- '';
- };
+ boot.zfs = {
+ useGit = mkOption {
+ type = types.bool;
+ default = false;
+ example = true;
+ description = ''
+ Use the git version of the SPL and ZFS packages.
+ Note that these are unreleased versions, with less testing, and therefore
+ may be more unstable.
+ '';
+ };
- boot.zfs.useGit = mkOption {
- type = types.bool;
- default = false;
- example = true;
- description = ''
- Use the git version of the SPL and ZFS packages.
- Note that these are unreleased versions, with less testing, and therefore
- may be more unstable.
- '';
+ extraPools = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ example = [ "tank" "data" ];
+ description = ''
+ Name or GUID of extra ZFS pools that you wish to import during boot.
+
+ Usually this is not necessary. Instead, you should set the mountpoint property
+ of ZFS filesystems to legacy and add the ZFS filesystems to
+ NixOS's option, which makes NixOS automatically
+ import the associated pool.
+
+ However, in some cases (e.g. if you have many filesystems) it may be preferable
+ to exclusively use ZFS commands to manage filesystems. If so, since NixOS/systemd
+ will not be managing those filesystems, you will need to specify the ZFS pool here
+ so that NixOS automatically imports it on every boot.
+ '';
+ };
+
+ forceImportRoot = mkOption {
+ type = types.bool;
+ default = true;
+ example = false;
+ description = ''
+ Forcibly import the ZFS root pool(s) during early boot.
+
+ This is enabled by default for backwards compatibility purposes, but it is highly
+ recommended to disable this option, as it bypasses some of the safeguards ZFS uses
+ to protect your ZFS pools.
+
+ If you set this option to false and NixOS subsequently fails to
+ boot because it cannot import the root pool, you should boot with the
+ zfs_force=1 option as a kernel parameter (e.g. by manually
+ editing the kernel params in grub during boot). You should only need to do this
+ once.
+ '';
+ };
+
+ forceImportAll = mkOption {
+ type = types.bool;
+ default = true;
+ example = false;
+ description = ''
+ Forcibly import all ZFS pool(s).
+
+ This is enabled by default for backwards compatibility purposes, but it is highly
+ recommended to disable this option, as it bypasses some of the safeguards ZFS uses
+ to protect your ZFS pools.
+
+ If you set this option to false and NixOS subsequently fails to
+ import your non-root ZFS pool(s), you should manually import each pool with
+ "zpool import -f <pool-name>", and then reboot. You should only need to do
+ this once.
+ '';
+ };
};
services.zfs.autoSnapshot = {
@@ -124,12 +182,20 @@ in
config = mkMerge [
(mkIf enableZfs {
+ assertions = [
+ {
+ assertion = config.networking.hostId != null;
+ message = "ZFS requires config.networking.hostId to be set";
+ }
+ {
+ assertion = !cfgZfs.forceImportAll || cfgZfs.forceImportRoot;
+ message = "If you enable boot.zfs.forceImportAll, you must also enable boot.zfs.forceImportRoot";
+ }
+ ];
+
boot = {
kernelModules = [ "spl" "zfs" ] ;
extraModulePackages = [ splPkg zfsPkg ];
- extraModprobeConfig = mkIf (cfgSpl.hostid != "") ''
- options spl spl_hostid=${cfgSpl.hostid}
- '';
};
boot.initrd = mkIf inInitrd {
@@ -142,49 +208,84 @@ in
cp -pdv ${zfsPkg}/lib/lib*.so* $out/lib
cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib
'';
- postDeviceCommands =
- ''
- zpool import -f -a
- '';
+ postDeviceCommands = concatStringsSep "\n" ([''
+ ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
+
+ for o in $(cat /proc/cmdline); do
+ case $o in
+ zfs_force|zfs_force=1)
+ ZFS_FORCE="-f"
+ ;;
+ esac
+ done
+ ''] ++ (map (pool: ''
+ echo "importing root ZFS pool \"${pool}\"..."
+ zpool import -N $ZFS_FORCE "${pool}"
+ '') rootPools));
};
boot.loader.grub = mkIf inInitrd {
zfsSupport = true;
};
- systemd.services."zpool-import" = {
- description = "Import zpools";
- after = [ "systemd-udev-settle.service" ];
- serviceConfig = {
- Type = "oneshot";
- RemainAfterExit = true;
- ExecStart = "${zfsPkg}/sbin/zpool import -f -a";
- };
- restartIfChanged = false;
- };
-
- systemd.services."zfs-mount" = {
- description = "Mount ZFS Volumes";
- after = [ "zpool-import.service" ];
- wantedBy = [ "local-fs.target" ];
- serviceConfig = {
- Type = "oneshot";
- RemainAfterExit = true;
- ExecStart = "${zfsPkg}/sbin/zfs mount -a";
- ExecStop = "${zfsPkg}/sbin/zfs umount -a";
- };
- restartIfChanged = false;
- };
+ environment.etc."zfs/zed.d".source = "${zfsPkg}/etc/zfs/zed.d/*";
system.fsPackages = [ zfsPkg ]; # XXX: needed? zfs doesn't have (need) a fsck
environment.systemPackages = [ zfsPkg ];
services.udev.packages = [ zfsPkg ]; # to hook zvol naming, etc.
+ systemd.packages = [ zfsPkg ];
+
+ systemd.services = let
+ getPoolFilesystems = pool:
+ filter (x: x.fsType == "zfs" && (fsToPool x) == pool) (attrValues config.fileSystems);
+
+ getPoolMounts = pool:
+ let
+ mountPoint = fs: escapeSystemdPath fs.mountPoint;
+ in
+ map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
+
+ createImportService = pool:
+ nameValuePair "zfs-import-${pool}" {
+ description = "Import ZFS pool \"${pool}\"";
+ requires = [ "systemd-udev-settle.service" ];
+ after = [ "systemd-udev-settle.service" "systemd-modules-load.service" ];
+ wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ];
+ before = (getPoolMounts pool) ++ [ "local-fs.target" ];
+ unitConfig = {
+ DefaultDependencies = "no";
+ };
+ serviceConfig = {
+ Type = "oneshot";
+ RemainAfterExit = true;
+ };
+ script = ''
+ zpool_cmd="${zfsPkg}/sbin/zpool"
+ ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}"
+ '';
+ };
+ in listToAttrs (map createImportService dataPools) // {
+ "zfs-mount" = { after = [ "systemd-modules-load.service" ]; };
+ "zfs-share" = { after = [ "systemd-modules-load.service" ]; };
+ "zed" = { after = [ "systemd-modules-load.service" ]; };
+ };
+
+ systemd.targets."zfs-import" =
+ let
+ services = map (pool: "zfs-import-${pool}.service") dataPools;
+ in
+ {
+ requires = services;
+ after = services;
+ };
+
+ systemd.targets."zfs".wantedBy = [ "multi-user.target" ];
})
(mkIf enableAutoSnapshots {
systemd.services."zfs-snapshot-frequent" = {
description = "ZFS auto-snapshotting every 15 mins";
- after = [ "zpool-import.service" ];
+ after = [ "zfs-import.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${zfsAutoSnap} frequent ${toString cfgSnapshots.frequent}";
@@ -195,7 +296,7 @@ in
systemd.services."zfs-snapshot-hourly" = {
description = "ZFS auto-snapshotting every hour";
- after = [ "zpool-import.service" ];
+ after = [ "zfs-import.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${zfsAutoSnap} hourly ${toString cfgSnapshots.hourly}";
@@ -206,7 +307,7 @@ in
systemd.services."zfs-snapshot-daily" = {
description = "ZFS auto-snapshotting every day";
- after = [ "zpool-import.service" ];
+ after = [ "zfs-import.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${zfsAutoSnap} daily ${toString cfgSnapshots.daily}";
@@ -217,7 +318,7 @@ in
systemd.services."zfs-snapshot-weekly" = {
description = "ZFS auto-snapshotting every week";
- after = [ "zpool-import.service" ];
+ after = [ "zfs-import.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${zfsAutoSnap} weekly ${toString cfgSnapshots.weekly}";
@@ -228,7 +329,7 @@ in
systemd.services."zfs-snapshot-monthly" = {
description = "ZFS auto-snapshotting every month";
- after = [ "zpool-import.service" ];
+ after = [ "zfs-import.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${zfsAutoSnap} monthly ${toString cfgSnapshots.monthly}";
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
new file mode 100644
index 00000000000..316e2e33eec
--- /dev/null
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -0,0 +1,342 @@
+{ config, lib, pkgs, utils, ... }:
+
+with lib;
+with utils;
+
+let
+
+ cfg = config.networking;
+ interfaces = attrValues cfg.interfaces;
+ hasVirtuals = any (i: i.virtual) interfaces;
+
+ # We must escape interfaces due to the systemd interpretation
+ subsystemDevice = interface:
+ "sys-subsystem-net-devices-${escapeSystemdPath interface}.device";
+
+ interfaceIps = i:
+ i.ip4 ++ optionals cfg.enableIPv6 i.ip6
+ ++ optional (i.ipAddress != null) {
+ address = i.ipAddress;
+ prefixLength = i.prefixLength;
+ } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) {
+ address = i.ipv6Address;
+ prefixLength = i.ipv6PrefixLength;
+ };
+
+ destroyBond = i: ''
+ while true; do
+ UPDATED=1
+ SLAVES=$(ip link | grep 'master ${i}' | awk -F: '{print $2}')
+ for I in $SLAVES; do
+ UPDATED=0
+ ip link set "$I" nomaster
+ done
+ [ "$UPDATED" -eq "1" ] && break
+ done
+ ip link set "${i}" down 2>/dev/null || true
+ ip link del "${i}" 2>/dev/null || true
+ '';
+
+in
+
+{
+
+ config = mkIf (!cfg.useNetworkd) {
+
+ systemd.services =
+ let
+
+ networkLocalCommands = {
+ after = [ "network-setup.service" ];
+ bindsTo = [ "network-setup.service" ];
+ };
+
+ networkSetup =
+ { description = "Networking Setup";
+
+ after = [ "network-interfaces.target" "network-pre.target" ];
+ before = [ "network.target" ];
+ wantedBy = [ "network.target" ];
+
+ unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+
+ path = [ pkgs.iproute ];
+
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+
+ script =
+ ''
+ # Set the static DNS configuration, if given.
+ ${pkgs.openresolv}/sbin/resolvconf -m 1 -a static <, create a job ‘network-addresses-.service"
+ # that performs static address configuration. It has a "wants"
+ # dependency on ‘.service’, which is supposed to create
+ # the interface and need not exist (i.e. for hardware
+ # interfaces). It has a binds-to dependency on the actual
+ # network device, so it only gets started after the interface
+ # has appeared, and it's stopped when the interface
+ # disappears.
+ configureAddrs = i:
+ let
+ ips = interfaceIps i;
+ in
+ nameValuePair "network-addresses-${i.name}"
+ { description = "Addresss configuration of ${i.name}";
+ wantedBy = [ "network-interfaces.target" ];
+ before = [ "network-interfaces.target" ];
+ bindsTo = [ (subsystemDevice i.name) ];
+ after = [ (subsystemDevice i.name) "network-pre.target" ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ path = [ pkgs.iproute ];
+ script =
+ ''
+ echo "bringing up interface..."
+ ip link set "${i.name}" up
+
+ restart_network_interfaces=false
+ '' + flip concatMapStrings (ips) (ip:
+ let
+ address = "${ip.address}/${toString ip.prefixLength}";
+ in
+ ''
+ echo "checking ip ${address}..."
+ if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then
+ echo "added ip ${address}..."
+ restart_network_setup=true
+ elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
+ echo "failed to add ${address}"
+ exit 1
+ fi
+ '')
+ + optionalString (ips != [ ])
+ ''
+ if [ "$restart_network_setup" = "true" ]; then
+ # Ensure that the default gateway remains set.
+ # (Flushing this interface may have removed it.)
+ ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service
+ fi
+ ${config.systemd.package}/bin/systemctl start ip-up.target
+ '';
+ preStop =
+ ''
+ echo "releasing configured ip's..."
+ '' + flip concatMapStrings (ips) (ip:
+ let
+ address = "${ip.address}/${toString ip.prefixLength}";
+ in
+ ''
+ echo -n "Deleting ${address}..."
+ ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed"
+ echo ""
+ '');
+ };
+
+ createTunDevice = i: nameValuePair "${i.name}-netdev"
+ { description = "Virtual Network Interface ${i.name}";
+ requires = [ "dev-net-tun.device" ];
+ after = [ "dev-net-tun.device" "network-pre.target" ];
+ wantedBy = [ "network.target" (subsystemDevice i.name) ];
+ before = [ "network-interfaces.target" (subsystemDevice i.name) ];
+ path = [ pkgs.iproute ];
+ serviceConfig = {
+ Type = "oneshot";
+ RemainAfterExit = true;
+ };
+ script = ''
+ ip tuntap add dev "${i.name}" \
+ ${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
+ user "${i.virtualOwner}"
+ '';
+ postStop = ''
+ ip link del ${i.name}
+ '';
+ };
+
+ createBridgeDevice = n: v: nameValuePair "${n}-netdev"
+ (let
+ deps = map subsystemDevice v.interfaces;
+ in
+ { description = "Bridge Interface ${n}";
+ wantedBy = [ "network.target" (subsystemDevice n) ];
+ bindsTo = deps;
+ after = [ "network-pre.target" ] ++ deps
+ ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces;
+ before = [ "network-interfaces.target" (subsystemDevice n) ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ path = [ pkgs.iproute ];
+ script = ''
+ # Remove Dead Interfaces
+ echo "Removing old bridge ${n}..."
+ ip link show "${n}" >/dev/null 2>&1 && ip link del "${n}"
+
+ echo "Adding bridge ${n}..."
+ ip link add name "${n}" type bridge
+
+ # Enslave child interfaces
+ ${flip concatMapStrings v.interfaces (i: ''
+ ip link set "${i}" master "${n}"
+ ip link set "${i}" up
+ '')}
+
+ ip link set "${n}" up
+ '';
+ postStop = ''
+ ip link set "${n}" down || true
+ ip link del "${n}" || true
+ '';
+ });
+
+ createBondDevice = n: v: nameValuePair "${n}-netdev"
+ (let
+ deps = map subsystemDevice v.interfaces;
+ in
+ { description = "Bond Interface ${n}";
+ wantedBy = [ "network.target" (subsystemDevice n) ];
+ bindsTo = deps;
+ after = [ "network-pre.target" ] ++ deps
+ ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces;
+ before = [ "network-interfaces.target" (subsystemDevice n) ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ path = [ pkgs.iproute pkgs.gawk ];
+ script = ''
+ echo "Destroying old bond ${n}..."
+ ${destroyBond n}
+
+ echo "Creating new bond ${n}..."
+ ip link add name "${n}" type bond \
+ ${optionalString (v.mode != null) "mode ${toString v.mode}"} \
+ ${optionalString (v.miimon != null) "miimon ${toString v.miimon}"} \
+ ${optionalString (v.xmit_hash_policy != null) "xmit_hash_policy ${toString v.xmit_hash_policy}"} \
+ ${optionalString (v.lacp_rate != null) "lacp_rate ${toString v.lacp_rate}"}
+
+ # !!! There must be a better way to wait for the interface
+ while [ ! -d "/sys/class/net/${n}" ]; do sleep 0.1; done;
+
+ # Bring up the bond and enslave the specified interfaces
+ ip link set "${n}" up
+ ${flip concatMapStrings v.interfaces (i: ''
+ ip link set "${i}" down
+ ip link set "${i}" master "${n}"
+ '')}
+ '';
+ postStop = destroyBond n;
+ });
+
+ createMacvlanDevice = n: v: nameValuePair "${n}-netdev"
+ (let
+ deps = [ (subsystemDevice v.interface) ];
+ in
+ { description = "Vlan Interface ${n}";
+ wantedBy = [ "network.target" (subsystemDevice n) ];
+ bindsTo = deps;
+ after = [ "network-pre.target" ] ++ deps;
+ before = [ "network-interfaces.target" (subsystemDevice n) ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ path = [ pkgs.iproute ];
+ script = ''
+ # Remove Dead Interfaces
+ ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+ ip link add link "${v.interface}" name "${n}" type macvlan \
+ ${optionalString (v.mode != null) "mode ${v.mode}"}
+ ip link set "${n}" up
+ '';
+ postStop = ''
+ ip link delete "${n}"
+ '';
+ });
+
+ createSitDevice = n: v: nameValuePair "${n}-netdev"
+ (let
+ deps = optional (v.dev != null) (subsystemDevice v.dev);
+ in
+ { description = "6-to-4 Tunnel Interface ${n}";
+ wantedBy = [ "network.target" (subsystemDevice n) ];
+ bindsTo = deps;
+ after = [ "network-pre.target" ] ++ deps;
+ before = [ "network-interfaces.target" (subsystemDevice n) ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ path = [ pkgs.iproute ];
+ script = ''
+ # Remove Dead Interfaces
+ ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+ ip link add name "${n}" type sit \
+ ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
+ ${optionalString (v.local != null) "local \"${v.local}\""} \
+ ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
+ ${optionalString (v.dev != null) "dev \"${v.dev}\""}
+ ip link set "${n}" up
+ '';
+ postStop = ''
+ ip link delete "${n}"
+ '';
+ });
+
+ createVlanDevice = n: v: nameValuePair "${n}-netdev"
+ (let
+ deps = [ (subsystemDevice v.interface) ];
+ in
+ { description = "Vlan Interface ${n}";
+ wantedBy = [ "network.target" (subsystemDevice n) ];
+ bindsTo = deps;
+ after = [ "network-pre.target" ] ++ deps;
+ before = [ "network-interfaces.target" (subsystemDevice n) ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ path = [ pkgs.iproute ];
+ script = ''
+ # Remove Dead Interfaces
+ ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+ ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
+ ip link set "${n}" up
+ '';
+ postStop = ''
+ ip link delete "${n}"
+ '';
+ });
+
+ in listToAttrs (
+ map configureAddrs interfaces ++
+ map createTunDevice (filter (i: i.virtual) interfaces))
+ // mapAttrs' createBridgeDevice cfg.bridges
+ // mapAttrs' createBondDevice cfg.bonds
+ // mapAttrs' createMacvlanDevice cfg.macvlans
+ // mapAttrs' createSitDevice cfg.sits
+ // mapAttrs' createVlanDevice cfg.vlans
+ // {
+ "network-setup" = networkSetup;
+ "network-local-commands" = networkLocalCommands;
+ };
+
+ services.udev.extraRules =
+ ''
+ KERNEL=="tun", TAG+="systemd"
+ '';
+
+ };
+
+}
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
new file mode 100644
index 00000000000..ee3efbbc9ff
--- /dev/null
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -0,0 +1,174 @@
+{ config, lib, pkgs, utils, ... }:
+
+with lib;
+with utils;
+
+let
+
+ cfg = config.networking;
+ interfaces = attrValues cfg.interfaces;
+
+ interfaceIps = i:
+ i.ip4 ++ optionals cfg.enableIPv6 i.ip6
+ ++ optional (i.ipAddress != null) {
+ address = i.ipAddress;
+ prefixLength = i.prefixLength;
+ } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) {
+ address = i.ipv6Address;
+ prefixLength = i.ipv6PrefixLength;
+ };
+
+ dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "both" else "none";
+
+ slaves =
+ concatLists (map (bond: bond.interfaces) (attrValues cfg.bonds))
+ ++ concatLists (map (bridge: bridge.interfaces) (attrValues cfg.bridges))
+ ++ map (sit: sit.dev) (attrValues cfg.sits)
+ ++ map (vlan: vlan.interface) (attrValues cfg.vlans);
+
+in
+
+{
+
+ config = mkIf cfg.useNetworkd {
+
+ assertions = [ {
+ assertion = cfg.defaultGatewayWindowSize == null;
+ message = "networking.defaultGatewayWindowSize is not supported by networkd.";
+ } ];
+
+ systemd.services.dhcpcd.enable = mkDefault false;
+
+ systemd.services.network-local-commands = {
+ after = [ "systemd-networkd.service" ];
+ bindsTo = [ "systemd-networkd.service" ];
+ };
+
+ systemd.network =
+ let
+ domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
+ genericNetwork = override: {
+ DHCP = override (dhcpStr cfg.useDHCP);
+ } // optionalAttrs (cfg.defaultGateway != null) {
+ gateway = override [ cfg.defaultGateway ];
+ } // optionalAttrs (domains != [ ]) {
+ domains = override domains;
+ };
+ in mkMerge [ {
+ enable = true;
+ networks."99-main" = genericNetwork mkDefault;
+ }
+ (mkMerge (flip map interfaces (i: {
+ netdevs = mkIf i.virtual (
+ let
+ devType = if i.virtualType != null then i.virtualType
+ else (if hasPrefix "tun" i.name then "tun" else "tap");
+ in {
+ "40-${i.name}" = {
+ netdevConfig = {
+ Name = i.name;
+ Kind = devType;
+ };
+ "${devType}Config" = optionalAttrs (i.virtualOwner != null) {
+ User = i.virtualOwner;
+ };
+ };
+ });
+ networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
+ name = mkDefault i.name;
+ DHCP = mkForce (dhcpStr
+ (if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
+ address = flip map (interfaceIps i)
+ (ip: "${ip.address}/${toString ip.prefixLength}");
+ } ];
+ })))
+ (mkMerge (flip mapAttrsToList cfg.bridges (name: bridge: {
+ netdevs."40-${name}" = {
+ netdevConfig = {
+ Name = name;
+ Kind = "bridge";
+ };
+ };
+ networks = listToAttrs (flip map bridge.interfaces (bi:
+ nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
+ DHCP = mkOverride 0 (dhcpStr false);
+ networkConfig.Bridge = name;
+ } ])));
+ })))
+ (mkMerge (flip mapAttrsToList cfg.bonds (name: bond: {
+ netdevs."40-${name}" = {
+ netdevConfig = {
+ Name = name;
+ Kind = "bond";
+ };
+ bondConfig =
+ (optionalAttrs (bond.lacp_rate != null) {
+ LACPTransmitRate = bond.lacp_rate;
+ }) // (optionalAttrs (bond.miimon != null) {
+ MIIMonitorSec = bond.miimon;
+ }) // (optionalAttrs (bond.mode != null) {
+ Mode = bond.mode;
+ }) // (optionalAttrs (bond.xmit_hash_policy != null) {
+ TransmitHashPolicy = bond.xmit_hash_policy;
+ });
+ };
+ networks = listToAttrs (flip map bond.interfaces (bi:
+ nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
+ DHCP = mkOverride 0 (dhcpStr false);
+ networkConfig.Bond = name;
+ } ])));
+ })))
+ (mkMerge (flip mapAttrsToList cfg.macvlans (name: macvlan: {
+ netdevs."40-${name}" = {
+ netdevConfig = {
+ Name = name;
+ Kind = "macvlan";
+ };
+ macvlanConfig = optionalAttrs (macvlan.mode != null) { Mode = macvlan.mode; };
+ };
+ networks."40-${macvlan.interface}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+ macvlan = [ name ];
+ } ]);
+ })))
+ (mkMerge (flip mapAttrsToList cfg.sits (name: sit: {
+ netdevs."40-${name}" = {
+ netdevConfig = {
+ Name = name;
+ Kind = "sit";
+ };
+ tunnelConfig =
+ (optionalAttrs (sit.remote != null) {
+ Remote = sit.remote;
+ }) // (optionalAttrs (sit.local != null) {
+ Local = sit.local;
+ }) // (optionalAttrs (sit.ttl != null) {
+ TTL = sit.ttl;
+ });
+ };
+ networks = mkIf (sit.dev != null) {
+ "40-${sit.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+ tunnel = [ name ];
+ } ]);
+ };
+ })))
+ (mkMerge (flip mapAttrsToList cfg.vlans (name: vlan: {
+ netdevs."40-${name}" = {
+ netdevConfig = {
+ Name = name;
+ Kind = "vlan";
+ };
+ vlanConfig.Id = vlan.id;
+ };
+ networks."40-${vlan.interface}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+ vlan = [ name ];
+ } ]);
+ })))
+ ];
+
+ # We need to prefill the slaved devices with networking options
+ # This forces the network interface creator to initialize slaves.
+ networking.interfaces = listToAttrs (map (i: nameValuePair i { }) slaves);
+
+ };
+
+}
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 6f6000cf339..9c6c71a1dbb 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -11,6 +11,11 @@ let
hasSits = cfg.sits != { };
hasBonds = cfg.bonds != { };
+ slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds)
+ ++ concatMap (i: i.interfaces) (attrValues cfg.bridges);
+
+ slaveIfs = map (i: cfg.interfaces.${i}) (filter (i: cfg.interfaces ? ${i}) slaves);
+
# We must escape interfaces due to the systemd interpretation
subsystemDevice = interface:
"sys-subsystem-net-devices-${escapeSystemdPath interface}.device";
@@ -45,6 +50,16 @@ let
description = "Name of the interface.";
};
+ useDHCP = mkOption {
+ type = types.nullOr types.bool;
+ default = null;
+ description = ''
+ Whether this interface should be configured with dhcp.
+ Null implies the old behavior which depends on whether ip addresses
+ are specified or not.
+ '';
+ };
+
ip4 = mkOption {
default = [ ];
example = [
@@ -189,6 +204,10 @@ let
};
+ hexChars = stringToCharacters "0123456789abcdef";
+
+ isHexString = s: all (c: elem c hexChars) (stringToCharacters (toLower s));
+
in
{
@@ -199,22 +218,39 @@ in
networking.hostName = mkOption {
default = "nixos";
+ type = types.str;
description = ''
The name of the machine. Leave it empty if you want to obtain
it from a DHCP server (if using DHCP).
'';
};
+ networking.hostId = mkOption {
+ default = null;
+ example = "4e98920d";
+ type = types.nullOr types.str;
+ description = ''
+ The 32-bit host ID of the machine, formatted as 8 hexadecimal characters.
+
+ You should try to make this ID unique among your machines. You can
+ generate a random 32-bit ID using the following command:
+
+ head -c4 /dev/urandom | od -A none -t x4
+ '';
+ };
+
networking.enableIPv6 = mkOption {
default = true;
+ type = types.bool;
description = ''
Whether to enable support for IPv6.
'';
};
networking.defaultGateway = mkOption {
- default = "";
+ default = null;
example = "131.211.84.1";
+ type = types.nullOr types.str;
description = ''
The default gateway. It can be left empty if it is auto-detected through DHCP.
'';
@@ -248,8 +284,9 @@ in
};
networking.domain = mkOption {
- default = "";
+ default = null;
example = "home";
+ type = types.nullOr types.str;
description = ''
The domain. It can be left empty if it is auto-detected through DHCP.
'';
@@ -396,6 +433,37 @@ in
};
};
+ networking.macvlans = mkOption {
+ type = types.attrsOf types.optionSet;
+ default = { };
+ example = {
+ wan = {
+ interface = "enp2s0";
+ mode = "vepa";
+ };
+ };
+ description = ''
+ This option allows you to define macvlan interfaces which should
+ be automatically created.
+ '';
+ options = {
+
+ interface = mkOption {
+ example = "enp4s0";
+ type = types.string;
+ description = "The interface the macvlan will transmit packets through.";
+ };
+
+ mode = mkOption {
+ default = null;
+ type = types.nullOr types.str;
+ example = "vepa";
+ description = "The mode of the macvlan device.";
+ };
+
+ };
+ };
+
networking.sits = mkOption {
type = types.attrsOf types.optionSet;
default = { };
@@ -505,6 +573,16 @@ in
'';
};
+ networking.useNetworkd = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ Whether we should use networkd as the network configuration backend or
+ the legacy script based system. Note that this option is experimental,
+ enable at your own risk.
+ '';
+ };
+
};
@@ -513,10 +591,18 @@ in
config = {
assertions =
- flip map interfaces (i: {
+ (flip map interfaces (i: {
assertion = i.subnetMask == null;
message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead.";
- });
+ })) ++ (flip map slaveIfs (i: {
+ assertion = i.ip4 == [ ] && i.ipAddress == null && i.ip6 == [ ] && i.ipv6Address == null;
+ message = "The networking.interfaces.${i.name} must not have any defined ips when it is a slave.";
+ })) ++ [
+ {
+ assertion = cfg.hostId == null || (stringLength cfg.hostId == 8 && isHexString cfg.hostId);
+ message = "Invalid value given to the networking.hostId option.";
+ }
+ ];
boot.kernelModules = [ ]
++ optional cfg.enableIPv6 "ipv6"
@@ -529,6 +615,45 @@ in
# from being created.
optionalString hasBonds "options bonding max_bonds=0";
+ boot.kernel.sysctl = {
+ "net.net.ipv4.conf.all.promote_secondaries" = true;
+ "net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6);
+ "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
+ "net.ipv4.conf.all_forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
+ "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
+ } // listToAttrs (concatLists (flip map (filter (i: i.proxyARP) interfaces)
+ (i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))
+ ));
+
+ security.setuidPrograms = [ "ping" "ping6" ];
+
+ # Set the host and domain names in the activation script. Don't
+ # clear it if it's not configured in the NixOS configuration,
+ # since it may have been set by dhcpcd in the meantime.
+ system.activationScripts.hostname =
+ optionalString (cfg.hostName != "") ''
+ hostname "${cfg.hostName}"
+ '';
+ system.activationScripts.domain =
+ optionalString (cfg.domain != null) ''
+ domainname "${cfg.domain}"
+ '';
+
+ environment.etc = mkIf (cfg.hostId != null)
+ [
+ {
+ target = "hostid";
+ source = pkgs.runCommand "gen-hostid" {} ''
+ hi="${cfg.hostId}"
+ ${if pkgs.stdenv.isBigEndian then ''
+ echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
+ '' else ''
+ echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out
+ ''}
+ '';
+ }
+ ];
+
environment.systemPackages =
[ pkgs.host
pkgs.iproute
@@ -538,352 +663,54 @@ in
pkgs.iw
pkgs.rfkill
pkgs.openresolv
- ]
- ++ optional (cfg.bridges != {}) pkgs.bridge_utils
- ++ optional hasVirtuals pkgs.tunctl
- ++ optional cfg.enableIPv6 pkgs.ndisc6;
-
- security.setuidPrograms = [ "ping" "ping6" ];
+ ];
systemd.targets."network-interfaces" =
{ description = "All Network Interfaces";
wantedBy = [ "network.target" ];
+ before = [ "network.target" ];
+ after = [ "network-pre.target" ];
unitConfig.X-StopOnReconfiguration = true;
};
- systemd.services =
- let
-
- networkSetup =
- { description = "Networking Setup";
-
- after = [ "network-interfaces.target" ];
- before = [ "network.target" ];
- wantedBy = [ "network.target" ];
-
- unitConfig.ConditionCapability = "CAP_NET_ADMIN";
-
- path = [ pkgs.iproute ];
-
- serviceConfig.Type = "oneshot";
- serviceConfig.RemainAfterExit = true;
-
- script =
- ''
- # Set the static DNS configuration, if given.
- ${pkgs.openresolv}/sbin/resolvconf -m 1 -a static < /proc/sys/net/ipv6/conf/all/disable_ipv6
- fi
- ''}
-
- # Set the default gateway.
- ${optionalString (cfg.defaultGateway != "") ''
- # FIXME: get rid of "|| true" (necessary to make it idempotent).
- ip route add default via "${cfg.defaultGateway}" ${
- optionalString (cfg.defaultGatewayWindowSize != null)
- "window ${cfg.defaultGatewayWindowSize}"} || true
- ''}
-
- # Turn on forwarding if any interface has enabled proxy_arp.
- ${optionalString (any (i: i.proxyARP) interfaces) ''
- echo 1 > /proc/sys/net/ipv4/ip_forward
- ''}
-
- # Run any user-specified commands.
- ${cfg.localCommands}
- '';
- };
-
- # For each interface , create a job ‘-cfg.service"
- # that performs static configuration. It has a "wants"
- # dependency on ‘.service’, which is supposed to create
- # the interface and need not exist (i.e. for hardware
- # interfaces). It has a binds-to dependency on the actual
- # network device, so it only gets started after the interface
- # has appeared, and it's stopped when the interface
- # disappears.
- configureInterface = i:
- let
- ips = i.ip4 ++ optionals cfg.enableIPv6 i.ip6
- ++ optional (i.ipAddress != null) {
- address = i.ipAddress;
- prefixLength = i.prefixLength;
- } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) {
- address = i.ipv6Address;
- prefixLength = i.ipv6PrefixLength;
- };
- in
- nameValuePair "${i.name}-cfg"
- { description = "Configuration of ${i.name}";
- wantedBy = [ "network-interfaces.target" ];
- bindsTo = [ (subsystemDevice i.name) ];
- after = [ (subsystemDevice i.name) ];
- serviceConfig.Type = "oneshot";
- serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute pkgs.gawk ];
- script =
- ''
- echo "bringing up interface..."
- ip link set "${i.name}" up
- ''
- + optionalString (i.macAddress != null)
- ''
- echo "setting MAC address to ${i.macAddress}..."
- ip link set "${i.name}" address "${i.macAddress}"
- ''
- + optionalString (i.mtu != null)
- ''
- echo "setting MTU to ${toString i.mtu}..."
- ip link set "${i.name}" mtu "${toString i.mtu}"
- ''
-
- # Ip Setup
- +
- ''
- curIps=$(ip -o a show dev "${i.name}" | awk '{print $4}')
- # Only do an add if it's necessary. This is
- # useful when the Nix store is accessed via this
- # interface (e.g. in a QEMU VM test).
- ''
- + flip concatMapStrings (ips) (ip:
- let
- address = "${ip.address}/${toString ip.prefixLength}";
- in
- ''
- echo "checking ip ${address}..."
- if ! echo "$curIps" | grep "${address}" >/dev/null 2>&1; then
- if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then
- echo "added ip ${address}..."
- restart_network_setup=true
- elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
- echo "failed to add ${address}"
- exit 1
- fi
- fi
- '')
- + optionalString (ips != [ ])
- ''
- if [ restart_network_setup = true ]; then
- # Ensure that the default gateway remains set.
- # (Flushing this interface may have removed it.)
- ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service
- fi
- ${config.systemd.package}/bin/systemctl start ip-up.target
- ''
- + optionalString i.proxyARP
- ''
- echo 1 > /proc/sys/net/ipv4/conf/${i.name}/proxy_arp
- ''
- + optionalString (i.proxyARP && cfg.enableIPv6)
- ''
- echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp
- '';
- preStop =
- ''
- echo "releasing configured ip's..."
- ''
- + flip concatMapStrings (ips) (ip:
- let
- address = "${ip.address}/${toString ip.prefixLength}";
- in
- ''
- echo -n "Deleting ${address}..."
- ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed"
- echo ""
- '');
- };
-
- createTunDevice = i: nameValuePair "${i.name}-netdev"
- { description = "Virtual Network Interface ${i.name}";
- requires = [ "dev-net-tun.device" ];
- after = [ "dev-net-tun.device" ];
- wantedBy = [ "network.target" (subsystemDevice i.name) ];
- path = [ pkgs.iproute ];
- serviceConfig = {
- Type = "oneshot";
- RemainAfterExit = true;
- };
- script = ''
- ip tuntap add dev "${i.name}" \
- ${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
- user "${i.virtualOwner}"
- '';
- postStop = ''
- ip link del ${i.name}
- '';
- };
-
- createBridgeDevice = n: v: nameValuePair "${n}-netdev"
- (let
- deps = map subsystemDevice v.interfaces;
- in
- { description = "Bridge Interface ${n}";
- wantedBy = [ "network.target" (subsystemDevice n) ];
- bindsTo = deps;
- after = deps;
- serviceConfig.Type = "oneshot";
- serviceConfig.RemainAfterExit = true;
- path = [ pkgs.bridge_utils pkgs.iproute ];
- script =
- ''
- # Remove Dead Interfaces
- ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-
- brctl addbr "${n}"
-
- # Set bridge's hello time to 0 to avoid startup delays.
- brctl setfd "${n}" 0
-
- ${flip concatMapStrings v.interfaces (i: ''
- brctl addif "${n}" "${i}"
- ip link set "${i}" up
- ip addr flush dev "${i}"
-
- echo "bringing up network device ${n}..."
- ip link set "${n}" up
- '')}
-
- # !!! Should delete (brctl delif) any interfaces that
- # no longer belong to the bridge.
- '';
- postStop =
- ''
- ip link set "${n}" down
- brctl delbr "${n}"
- '';
- });
-
- createBondDevice = n: v: nameValuePair "${n}-netdev"
- (let
- deps = map subsystemDevice v.interfaces;
- in
- { description = "Bond Interface ${n}";
- wantedBy = [ "network.target" (subsystemDevice n) ];
- bindsTo = deps;
- after = deps;
- serviceConfig.Type = "oneshot";
- serviceConfig.RemainAfterExit = true;
- path = [ pkgs.ifenslave pkgs.iproute ];
- script = ''
- # Remove Dead Interfaces
- ip link set "${n}" down >/dev/null 2>&1 || true
- ifenslave -d "${n}" >/dev/null 2>&1 || true
- ip link del "${n}" >/dev/null 2>&1 || true
-
- ip link add name "${n}" type bond
-
- # !!! There must be a better way to wait for the interface
- while [ ! -d /sys/class/net/${n} ]; do sleep 0.1; done;
-
- # Set the miimon and mode options
- ${optionalString (v.miimon != null)
- "echo ${toString v.miimon} > /sys/class/net/${n}/bonding/miimon"}
- ${optionalString (v.mode != null)
- "echo \"${v.mode}\" > /sys/class/net/${n}/bonding/mode"}
- ${optionalString (v.lacp_rate != null)
- "echo \"${v.lacp_rate}\" > /sys/class/net/${n}/bonding/lacp_rate"}
- ${optionalString (v.xmit_hash_policy != null)
- "echo \"${v.xmit_hash_policy}\" > /sys/class/net/${n}/bonding/xmit_hash_policy"}
-
- # Bring up the bond and enslave the specified interfaces
- ip link set "${n}" up
- ${flip concatMapStrings v.interfaces (i: ''
- ifenslave "${n}" "${i}"
- '')}
- '';
- postStop = ''
- ip link set "${n}" down >dev/null 2>&1 || true
- ifenslave -d "${n}" >/dev/null 2>&1 || true
- ip link del "${n}" >/dev/null 2>&1 || true
- '';
- });
-
- createSitDevice = n: v: nameValuePair "${n}-netdev"
- (let
- deps = optional (v.dev != null) (subsystemDevice v.dev);
- in
- { description = "6-to-4 Tunnel Interface ${n}";
- wantedBy = [ "network.target" (subsystemDevice n) ];
- bindsTo = deps;
- after = deps;
- serviceConfig.Type = "oneshot";
- serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute ];
- script = ''
- # Remove Dead Interfaces
- ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
- ip link add name "${n}" type sit \
- ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
- ${optionalString (v.local != null) "local \"${v.local}\""} \
- ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
- ${optionalString (v.dev != null) "dev \"${v.dev}\""}
- ip link set "${n}" up
- '';
- postStop = ''
- ip link delete "${n}"
- '';
- });
-
- createVlanDevice = n: v: nameValuePair "${n}-netdev"
- (let
- deps = [ (subsystemDevice v.interface) ];
- in
- { description = "Vlan Interface ${n}";
- wantedBy = [ "network.target" (subsystemDevice n) ];
- bindsTo = deps;
- after = deps;
- serviceConfig.Type = "oneshot";
- serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute ];
- script = ''
- # Remove Dead Interfaces
- ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
- ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
- ip link set "${n}" up
- '';
- postStop = ''
- ip link delete "${n}"
- '';
- });
-
- in listToAttrs (
- map configureInterface interfaces ++
- map createTunDevice (filter (i: i.virtual) interfaces))
- // mapAttrs' createBridgeDevice cfg.bridges
- // mapAttrs' createBondDevice cfg.bonds
- // mapAttrs' createSitDevice cfg.sits
- // mapAttrs' createVlanDevice cfg.vlans
- // { "network-setup" = networkSetup; };
-
- # Set the host and domain names in the activation script. Don't
- # clear it if it's not configured in the NixOS configuration,
- # since it may have been set by dhcpcd in the meantime.
- system.activationScripts.hostname =
- optionalString (config.networking.hostName != "") ''
- hostname "${config.networking.hostName}"
- '';
- system.activationScripts.domain =
- optionalString (config.networking.domain != "") ''
- domainname "${config.networking.domain}"
- '';
-
- services.udev.extraRules =
- ''
- KERNEL=="tun", TAG+="systemd"
- '';
-
+ systemd.services = {
+ network-local-commands = {
+ description = "Extra networking commands.";
+ before = [ "network.target" ];
+ wantedBy = [ "network.target" ];
+ after = [ "network-pre.target" ];
+ unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+ path = [ pkgs.iproute ];
+ serviceConfig.Type = "oneshot";
+ serviceConfig.RemainAfterExit = true;
+ script = ''
+ # Run any user-specified commands.
+ ${cfg.localCommands}
+ '';
+ };
+ } // (listToAttrs (flip map interfaces (i:
+ nameValuePair "network-link-${i.name}"
+ { description = "Link configuration of ${i.name}";
+ wantedBy = [ "network-interfaces.target" ];
+ before = [ "network-interfaces.target" ];
+ bindsTo = [ (subsystemDevice i.name) ];
+ after = [ (subsystemDevice i.name) "network-pre.target" ];
+ path = [ pkgs.iproute ];
+ serviceConfig = {
+ Type = "oneshot";
+ RemainAfterExit = true;
+ };
+ script =
+ ''
+ echo "Configuring link..."
+ '' + optionalString (i.macAddress != null) ''
+ echo "setting MAC address to ${i.macAddress}..."
+ ip link set "${i.name}" address "${i.macAddress}"
+ '' + optionalString (i.mtu != null) ''
+ echo "setting MTU to ${toString i.mtu}..."
+ ip link set "${i.name}" mtu "${toString i.mtu}"
+ '';
+ })));
};
}
diff --git a/nixos/modules/tasks/swraid.nix b/nixos/modules/tasks/swraid.nix
index 3b4aa9875f2..8e972891971 100644
--- a/nixos/modules/tasks/swraid.nix
+++ b/nixos/modules/tasks/swraid.nix
@@ -8,4 +8,8 @@
boot.initrd.availableKernelModules = [ "md_mod" "raid0" "raid1" "raid456" ];
+ boot.initrd.extraUdevRulesCommands = ''
+ cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/
+ '';
+
}
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 54a376c9560..4b4284d8531 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -98,7 +98,7 @@ let kernel = config.boot.kernelPackages.kernel; in
networking.usePredictableInterfaceNames = false;
# Make it easy to log in as root when running the test interactively.
- security.initialRootPassword = mkDefault "";
+ users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
};
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index e129e496fe3..d175bac3074 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -70,10 +70,10 @@ in
# Register the paths in the Nix database.
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
- chroot /mnt ${config.nix.package}/bin/nix-store --load-db
+ chroot /mnt ${config.nix.package}/bin/nix-store --load-db --option build-users-group ""
# Create the system profile to allow nixos-rebuild to work.
- chroot /mnt ${config.nix.package}/bin/nix-env \
+ chroot /mnt ${config.nix.package}/bin/nix-env --option build-users-group "" \
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
# `nixos-rebuild' requires an /etc/NIXOS.
@@ -191,10 +191,5 @@ in
environment.systemPackages = [ pkgs.cryptsetup ];
boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
-
- # Prevent logging in as root without a password. This doesn't really matter,
- # since the only PAM services that allow logging in with a null
- # password are local ones that are inaccessible on EC2 machines.
- security.initialRootPassword = mkDefault "!";
};
}
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 35e37257838..994a00fb028 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -271,9 +271,12 @@ in
NotifyAccess = "all";
- # Note that on reboot, systemd-nspawn returns 10, so this
+ # Note that on reboot, systemd-nspawn returns 133, so this
# unit will be restarted. On poweroff, it returns 0, so the
# unit won't be restarted.
+ RestartForceExitStatus = "133";
+ SuccessExitStatus = "133";
+
Restart = "on-failure";
# Hack: we don't want to kill systemd-nspawn, since we call
@@ -305,8 +308,6 @@ in
'';
}) config.containers;
- # FIXME: auto-start containers.
-
# Generate /etc/hosts entries for the containers.
networking.extraHosts = concatStrings (mapAttrsToList (name: cfg: optionalString (cfg.localAddress != null)
''
diff --git a/nixos/modules/virtualisation/docker-image.nix b/nixos/modules/virtualisation/docker-image.nix
index 13b861dc988..cabb1712b6c 100644
--- a/nixos/modules/virtualisation/docker-image.nix
+++ b/nixos/modules/virtualisation/docker-image.nix
@@ -38,8 +38,8 @@ in {
'';
- # docker image config
- require = [
+ # Docker image config.
+ imports = [
../installer/cd-dvd/channel.nix
../profiles/minimal.nix
../profiles/clone-config.nix
@@ -47,16 +47,16 @@ in {
boot.isContainer = true;
- # Iptables do not work in docker
+ # Iptables do not work in Docker.
networking.firewall.enable = false;
services.openssh.enable = true;
- # Socket activated ssh presents problem in docker
+ # Socket activated ssh presents problem in Docker.
services.openssh.startWhenNeeded = false;
- # Allow the user to login as root without password
- security.initialRootPassword = "";
+ # Allow the user to login as root without password.
+ users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
# Some more help text.
services.mingetty.helpLine =
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index 1ce066cdc73..5be76b2682f 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -7,6 +7,8 @@ with lib;
let
cfg = config.virtualisation.docker;
+ pro = config.networking.proxy.default;
+ proxy_env = optionalAttrs (pro != null) { Environment = "\"http_proxy=${pro}\""; };
in
@@ -73,7 +75,7 @@ in
# goes in config bundled with docker itself
LimitNOFILE = 1048576;
LimitNPROC = 1048576;
- };
+ } // proxy_env;
};
systemd.sockets.docker = {
@@ -99,7 +101,13 @@ in
# goes in config bundled with docker itself
LimitNOFILE = 1048576;
LimitNPROC = 1048576;
- };
+ } // proxy_env;
+
+ postStart = ''
+ while ! [ -e /var/run/docker.sock ]; do
+ sleep 0.1
+ done
+ '';
# Presumably some containers are running we don't want to interrupt
restartIfChanged = false;
diff --git a/nixos/modules/virtualisation/kubernetes.nix b/nixos/modules/virtualisation/kubernetes.nix
new file mode 100644
index 00000000000..e01499822ad
--- /dev/null
+++ b/nixos/modules/virtualisation/kubernetes.nix
@@ -0,0 +1,462 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.virtualisation.kubernetes;
+
+in {
+
+ ###### interface
+
+ options.virtualisation.kubernetes = {
+ package = mkOption {
+ description = "Kubernetes package to use.";
+ type = types.package;
+ };
+
+ verbose = mkOption {
+ description = "Kubernetes enable verbose mode for debugging";
+ default = false;
+ type = types.bool;
+ };
+
+ etcdServers = mkOption {
+ description = "Kubernetes list of etcd servers to watch.";
+ default = [ "127.0.0.1:4001" ];
+ type = types.listOf types.str;
+ };
+
+ roles = mkOption {
+ description = ''
+ Kubernetes role that this machine should take.
+
+ Master role will enable etcd, apiserver, scheduler and controller manager
+ services. Node role will enable etcd, docker, kubelet and proxy services.
+ '';
+ default = [];
+ type = types.listOf (types.enum ["master" "node"]);
+ };
+
+ dataDir = mkOption {
+ description = "Kubernetes root directory for managing kubelet files.";
+ default = "/var/lib/kubernetes";
+ type = types.path;
+ };
+
+ apiserver = {
+ enable = mkOption {
+ description = "Whether to enable kubernetes apiserver.";
+ default = false;
+ type = types.bool;
+ };
+
+ address = mkOption {
+ description = "Kubernetes apiserver listening address.";
+ default = "127.0.0.1";
+ type = types.str;
+ };
+
+ publicAddress = mkOption {
+ description = ''
+ Kubernetes apiserver public listening address used for read only and
+ secure port.
+ '';
+ default = cfg.apiserver.address;
+ type = types.str;
+ };
+
+ port = mkOption {
+ description = "Kubernets apiserver listening port.";
+ default = 8080;
+ type = types.int;
+ };
+
+ readOnlyPort = mkOption {
+ description = "Kubernets apiserver read-only port.";
+ default = 7080;
+ type = types.int;
+ };
+
+ securePort = mkOption {
+ description = "Kubernetes apiserver secure port.";
+ default = 6443;
+ type = types.int;
+ };
+
+ tlsCertFile = mkOption {
+ description = "Kubernetes apiserver certificate file.";
+ default = "";
+ type = types.str;
+ };
+
+ tlsPrivateKeyFile = mkOption {
+ description = "Kubernetes apiserver private key file.";
+ default = "";
+ type = types.str;
+ };
+
+ tokenAuth = mkOption {
+ description = ''
+ Kubernetes apiserver token authentication file. See
+
+ '';
+ default = {};
+ example = literalExample ''
+ {
+ alice = "abc123";
+ bob = "xyz987";
+ }
+ '';
+ type = types.attrsOf types.str;
+ };
+
+ authorizationMode = mkOption {
+ description = ''
+ Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC). See
+
+ '';
+ default = "AlwaysAllow";
+ type = types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC"];
+ };
+
+ authorizationPolicy = mkOption {
+ description = ''
+ Kubernetes apiserver authorization policy file. See
+
+ '';
+ default = [];
+ example = literalExample ''
+ [
+ {user = "admin";}
+ {user = "scheduler"; readonly = true; kind= "pods";}
+ {user = "scheduler"; kind = "bindings";}
+ {user = "kubelet"; readonly = true; kind = "bindings";}
+ {user = "kubelet"; kind = "events";}
+ {user= "alice"; ns = "projectCaribou";}
+ {user = "bob"; readonly = true; ns = "projectCaribou";}
+ ]
+ '';
+ type = types.listOf types.attrs;
+ };
+
+ allowPrivileged = mkOption {
+ description = "Whether to allow privileged containers on kubernetes.";
+ default = false;
+ type = types.bool;
+ };
+
+ portalNet = mkOption {
+ description = "Kubernetes CIDR notation IP range from which to assign portal IPs";
+ default = "10.10.10.10/16";
+ type = types.str;
+ };
+
+ extraOpts = mkOption {
+ description = "Kubernetes apiserver extra command line options.";
+ default = "";
+ type = types.str;
+ };
+ };
+
+ scheduler = {
+ enable = mkOption {
+ description = "Whether to enable kubernetes scheduler.";
+ default = false;
+ type = types.bool;
+ };
+
+ address = mkOption {
+ description = "Kubernetes scheduler listening address.";
+ default = "127.0.0.1";
+ type = types.str;
+ };
+
+ port = mkOption {
+ description = "Kubernets scheduler listening port.";
+ default = 10251;
+ type = types.int;
+ };
+
+ master = mkOption {
+ description = "Kubernetes apiserver address";
+ default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}";
+ type = types.str;
+ };
+
+ extraOpts = mkOption {
+ description = "Kubernetes scheduler extra command line options.";
+ default = "";
+ type = types.str;
+ };
+ };
+
+ controllerManager = {
+ enable = mkOption {
+ description = "Whether to enable kubernetes controller manager.";
+ default = false;
+ type = types.bool;
+ };
+
+ address = mkOption {
+ description = "Kubernetes controller manager listening address.";
+ default = "127.0.0.1";
+ type = types.str;
+ };
+
+ port = mkOption {
+ description = "Kubernets controller manager listening port.";
+ default = 10252;
+ type = types.int;
+ };
+
+ master = mkOption {
+ description = "Kubernetes apiserver address";
+ default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}";
+ type = types.str;
+ };
+
+ machines = mkOption {
+ description = "Kubernetes apiserver list of machines to schedule to schedule onto";
+ default = [];
+ type = types.listOf types.str;
+ };
+
+ extraOpts = mkOption {
+ description = "Kubernetes scheduler extra command line options.";
+ default = "";
+ type = types.str;
+ };
+ };
+
+ kubelet = {
+ enable = mkOption {
+ description = "Whether to enable kubernetes kubelet.";
+ default = false;
+ type = types.bool;
+ };
+
+ address = mkOption {
+ description = "Kubernetes kubelet info server listening address.";
+ default = "0.0.0.0";
+ type = types.str;
+ };
+
+ port = mkOption {
+ description = "Kubernets kubelet info server listening port.";
+ default = 10250;
+ type = types.int;
+ };
+
+ hostname = mkOption {
+ description = "Kubernetes kubelet hostname override";
+ default = config.networking.hostName;
+ type = types.str;
+ };
+
+ allowPrivileged = mkOption {
+ description = "Whether to allow kubernetes containers to request privileged mode.";
+ default = false;
+ type = types.bool;
+ };
+
+ extraOpts = mkOption {
+ description = "Kubernetes kubelet extra command line options.";
+ default = "";
+ type = types.str;
+ };
+ };
+
+ proxy = {
+ enable = mkOption {
+ description = "Whether to enable kubernetes proxy.";
+ default = false;
+ type = types.bool;
+ };
+
+ address = mkOption {
+ description = "Kubernetes proxy listening address.";
+ default = "0.0.0.0";
+ type = types.str;
+ };
+
+ extraOpts = mkOption {
+ description = "Kubernetes proxy extra command line options.";
+ default = "";
+ type = types.str;
+ };
+ };
+ };
+
+ ###### implementation
+
+ config = mkMerge [
+ (mkIf cfg.apiserver.enable {
+ systemd.services.kubernetes-apiserver = {
+ description = "Kubernetes Api Server";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "etcd.service" ];
+ serviceConfig = {
+ ExecStart = let
+ authorizationPolicyFile =
+ pkgs.writeText "kubernetes-policy"
+ (builtins.toJSON cfg.apiserver.authorizationPolicy);
+ tokenAuthFile =
+ pkgs.writeText "kubernetes-auth"
+ (concatImapStringsSep "\n" (i: v: v + "," + (toString i))
+ (mapAttrsToList (name: token: token + "," + name) cfg.apiserver.tokenAuth));
+ in ''${cfg.package}/bin/kube-apiserver \
+ -etcd_servers=${concatMapStringsSep "," (f: "http://${f}") cfg.etcdServers} \
+ -address=${cfg.apiserver.address} \
+ -port=${toString cfg.apiserver.port} \
+ -read_only_port=${toString cfg.apiserver.readOnlyPort} \
+ -public_address_override=${cfg.apiserver.publicAddress} \
+ -allow_privileged=${if cfg.apiserver.allowPrivileged then "true" else "false"} \
+ ${optionalString (cfg.apiserver.tlsCertFile!="")
+ "-tls_cert_file=${cfg.apiserver.tlsCertFile}"} \
+ ${optionalString (cfg.apiserver.tlsPrivateKeyFile!="")
+ "-tls_private_key_file=${cfg.apiserver.tlsPrivateKeyFile}"} \
+ ${optionalString (cfg.apiserver.tokenAuth!=[])
+ "-token_auth_file=${tokenAuthFile}"} \
+ -authorization_mode=${cfg.apiserver.authorizationMode} \
+ ${optionalString (cfg.apiserver.authorizationMode == "ABAC")
+ "-authorization_policy_file=${authorizationPolicyFile}"} \
+ ${optionalString (cfg.apiserver.tlsCertFile!="" && cfg.apiserver.tlsCertFile!="")
+ "-secure_port=${toString cfg.apiserver.securePort}"} \
+ -portal_net=${cfg.apiserver.portalNet} \
+ -logtostderr=true \
+ ${optionalString cfg.verbose "-v=6 -log_flush_frequency=1s"} \
+ ${cfg.apiserver.extraOpts}
+ '';
+ User = "kubernetes";
+ };
+ postStart = ''
+ until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.apiserver.address}:${toString cfg.apiserver.port}/'; do
+ sleep 1;
+ done
+ '';
+ };
+ })
+
+ (mkIf cfg.scheduler.enable {
+ systemd.services.kubernetes-scheduler = {
+ description = "Kubernetes Scheduler Service";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "kubernetes-apiserver.service" ];
+ serviceConfig = {
+ ExecStart = ''${cfg.package}/bin/kube-scheduler \
+ -address=${cfg.scheduler.address} \
+ -port=${toString cfg.scheduler.port} \
+ -master=${cfg.scheduler.master} \
+ -logtostderr=true \
+ ${optionalString cfg.verbose "-v=6 -log_flush_frequency=1s"} \
+ ${cfg.scheduler.extraOpts}
+ '';
+ User = "kubernetes";
+ };
+ };
+ })
+
+ (mkIf cfg.controllerManager.enable {
+ systemd.services.kubernetes-controller-manager = {
+ description = "Kubernetes Controller Manager Service";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "kubernetes-apiserver.service" ];
+ serviceConfig = {
+ ExecStart = ''${cfg.package}/bin/kube-controller-manager \
+ -address=${cfg.controllerManager.address} \
+ -port=${toString cfg.controllerManager.port} \
+ -master=${cfg.controllerManager.master} \
+ ${optionalString (cfg.controllerManager.machines != [])
+ "-machines=${concatStringsSep "," cfg.controllerManager.machines}"} \
+ -logtostderr=true \
+ ${optionalString cfg.verbose "-v=6 -log_flush_frequency=1s"} \
+ ${cfg.controllerManager.extraOpts}
+ '';
+ User = "kubernetes";
+ };
+ };
+ })
+
+ (mkIf cfg.kubelet.enable {
+ systemd.services.kubernetes-kubelet = {
+ description = "Kubernetes Kubelet Service";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "etcd.service" "docker.service" ];
+ serviceConfig = {
+ ExecStart = ''${cfg.package}/bin/kubelet \
+ -etcd_servers=${concatMapStringsSep "," (f: "http://${f}") cfg.etcdServers} \
+ -address=${cfg.kubelet.address} \
+ -port=${toString cfg.kubelet.port} \
+ -hostname_override=${cfg.kubelet.hostname} \
+ -allow_privileged=${if cfg.kubelet.allowPrivileged then "true" else "false"} \
+ -root_dir=${cfg.dataDir} \
+ -logtostderr=true \
+ ${optionalString cfg.verbose "-v=6 -log_flush_frequency=1s"} \
+ ${cfg.kubelet.extraOpts}
+ '';
+ User = "kubernetes";
+ PermissionsStartOnly = true;
+ WorkingDirectory = cfg.dataDir;
+ };
+ };
+ })
+
+ (mkIf cfg.proxy.enable {
+ systemd.services.kubernetes-proxy = {
+ description = "Kubernetes Proxy Service";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-interfaces.target" "etcd.service" ];
+ serviceConfig = {
+ ExecStart = ''${cfg.package}/bin/kube-proxy \
+ -etcd_servers=${concatMapStringsSep "," (s: "http://${s}") cfg.etcdServers} \
+ -bind_address=${cfg.proxy.address} \
+ -logtostderr=true \
+ ${optionalString cfg.verbose "-v=6 -log_flush_frequency=1s"} \
+ ${cfg.proxy.extraOpts}
+ '';
+ };
+ };
+ })
+
+ (mkIf (any (el: el == "master") cfg.roles) {
+ virtualisation.kubernetes.apiserver.enable = mkDefault true;
+ virtualisation.kubernetes.scheduler.enable = mkDefault true;
+ virtualisation.kubernetes.controllerManager.enable = mkDefault true;
+ })
+
+ (mkIf (any (el: el == "node") cfg.roles) {
+ virtualisation.docker.enable = mkDefault true;
+ virtualisation.kubernetes.kubelet.enable = mkDefault true;
+ virtualisation.kubernetes.proxy.enable = mkDefault true;
+ })
+
+ (mkIf (any (el: el == "node" || el == "master") cfg.roles) {
+ services.etcd.enable = mkDefault true;
+ })
+
+ (mkIf (
+ cfg.apiserver.enable ||
+ cfg.scheduler.enable ||
+ cfg.controllerManager.enable ||
+ cfg.kubelet.enable ||
+ cfg.proxy.enable
+ ) {
+ virtualisation.kubernetes.package = mkDefault pkgs.kubernetes;
+
+ environment.systemPackages = [ cfg.package ];
+
+ users.extraUsers = singleton {
+ name = "kubernetes";
+ uid = config.ids.uids.kubernetes;
+ description = "Kubernetes user";
+ extraGroups = [ "docker" ];
+ group = "kubernetes";
+ home = cfg.dataDir;
+ createHome = true;
+ };
+ users.extraGroups.kubernetes.gid = config.ids.gids.kubernetes;
+ })
+
+ ];
+}
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
new file mode 100644
index 00000000000..10d3a6575fb
--- /dev/null
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -0,0 +1,75 @@
+# LXC Configuration
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.virtualisation.lxc;
+
+in
+
+{
+ ###### interface
+
+ options.virtualisation.lxc = {
+ enable =
+ mkOption {
+ type = types.bool;
+ default = false;
+ description =
+ ''
+ This enables Linux Containers (LXC), which provides tools
+ for creating and managing system or application containers
+ on Linux.
+ '';
+ };
+
+ systemConfig =
+ mkOption {
+ type = types.lines;
+ default = "";
+ description =
+ ''
+ This is the system-wide LXC config. See lxc.system.conf(5).
+ '';
+ };
+
+ defaultConfig =
+ mkOption {
+ type = types.lines;
+ default = "";
+ description =
+ ''
+ Default config (default.conf) for new containers, i.e. for
+ network config. See lxc.container.conf(5).
+ '';
+ };
+
+ usernetConfig =
+ mkOption {
+ type = types.lines;
+ default = "";
+ description =
+ ''
+ This is the config file for managing unprivileged user network
+ administration access in LXC. See lxc-user-net(5).
+ '';
+ };
+
+ };
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+
+ environment.systemPackages = [ pkgs.lxc ];
+
+ environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
+ environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
+ environment.etc."lxc/default.conf".text = cfg.defaultConfig;
+
+ };
+
+}
diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix
new file mode 100644
index 00000000000..141e7097405
--- /dev/null
+++ b/nixos/modules/virtualisation/parallels-guest.nix
@@ -0,0 +1,93 @@
+{ config, lib, pkgs, pkgs_i686, ... }:
+
+with lib;
+
+let
+
+ prl-tools = config.boot.kernelPackages.prl-tools;
+
+in
+
+{
+
+ options = {
+ hardware.parallels = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ This enables Parallel Tools for Linux guests, along with provided
+ video, mouse and other hardware drivers.
+ '';
+ };
+
+ };
+
+ };
+
+ config = mkIf config.hardware.parallels.enable {
+
+ services.xserver = {
+ drivers = singleton
+ { name = "prlvideo"; modules = [ prl-tools ]; libPath = [ prl-tools ]; };
+
+ screenSection = ''
+ Option "NoMTRR"
+ '';
+
+ config = ''
+ Section "InputClass"
+ Identifier "prlmouse"
+ MatchIsPointer "on"
+ MatchTag "prlmouse"
+ Driver "prlmouse"
+ EndSection
+ '';
+ };
+
+ hardware.opengl.package = prl-tools;
+ hardware.opengl.package32 = pkgs_i686.linuxPackages.prl-tools.override { libsOnly = true; kernel = null; };
+
+ services.udev.packages = [ prl-tools ];
+
+ environment.systemPackages = [ prl-tools ];
+
+ boot.extraModulePackages = [ prl-tools ];
+
+ boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ];
+
+ services.ntp.enable = false;
+
+ systemd.services.prltoolsd = {
+ description = "Parallels Tools' service";
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${prl-tools}/bin/prltoolsd -f";
+ PIDFile = "/var/run/prltoolsd.pid";
+ };
+ };
+
+ systemd.services.prlfsmountd = {
+ description = "Parallels Shared Folders Daemon";
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = rec {
+ ExecStart = "${prl-tools}/sbin/prlfsmountd ${PIDFile}";
+ ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /media";
+ ExecStopPost = "${prl-tools}/sbin/prlfsmountd -u";
+ PIDFile = "/run/prlfsmountd.pid";
+ };
+ };
+
+ systemd.services.prlshprint = {
+ description = "Parallels Shared Printer Tool";
+ wantedBy = [ "multi-user.target" ];
+ bindsTo = [ "cupsd.service" ];
+ serviceConfig = {
+ Type = "forking";
+ ExecStart = "${prl-tools}/bin/prlshprint";
+ };
+ };
+
+ };
+}
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 33f48d65d43..a7610b3e11a 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -383,7 +383,7 @@ in
# When building a regular system configuration, override whatever
# video driver the host uses.
- services.xserver.videoDrivers = mkVMOverride [ "vesa" ];
+ services.xserver.videoDrivers = mkVMOverride [ "modesetting" ];
services.xserver.defaultDepth = mkVMOverride 0;
services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
services.xserver.monitorSection =
diff --git a/nixos/modules/virtualisation/virtualbox-guest.nix b/nixos/modules/virtualisation/virtualbox-guest.nix
index a5a4db79787..a0e4bd558e0 100644
--- a/nixos/modules/virtualisation/virtualbox-guest.nix
+++ b/nixos/modules/virtualisation/virtualbox-guest.nix
@@ -6,7 +6,7 @@ with lib;
let
- cfg = config.services.virtualbox;
+ cfg = config.services.virtualboxGuest;
kernel = config.boot.kernelPackages;
in
@@ -17,7 +17,7 @@ in
options = {
- services.virtualbox = {
+ services.virtualboxGuest = {
enable = mkOption {
default = false;
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index 106b269d9e1..8232f6e50df 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -128,6 +128,6 @@ in {
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/sda";
- services.virtualbox.enable = true;
+ services.virtualboxGuest.enable = true;
};
}
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index ca7ca2afb65..e850c1f6cdd 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -47,12 +47,10 @@ in rec {
(all nixos.iso_graphical)
(all nixos.ova)
- #(all nixos.tests.efi-installer.simple)
#(all nixos.tests.containers)
(all nixos.tests.firefox)
(all nixos.tests.firewall)
(all nixos.tests.gnome3)
- #(all nixos.tests.installer.efi)
(all nixos.tests.installer.grub1)
(all nixos.tests.installer.lvm)
(all nixos.tests.installer.separateBoot)
@@ -68,6 +66,14 @@ in rec {
(all nixos.tests.misc)
(all nixos.tests.nat.firewall)
(all nixos.tests.nat.standalone)
+ (all nixos.tests.networking.scripted.static)
+ (all nixos.tests.networking.scripted.dhcpSimple)
+ (all nixos.tests.networking.scripted.dhcpOneIf)
+ (all nixos.tests.networking.scripted.bond)
+ (all nixos.tests.networking.scripted.bridge)
+ (all nixos.tests.networking.scripted.macvlan)
+ (all nixos.tests.networking.scripted.sit)
+ (all nixos.tests.networking.scripted.vlan)
(all nixos.tests.nfs3)
(all nixos.tests.openssh)
(all nixos.tests.printing)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
new file mode 100644
index 00000000000..07cd672843e
--- /dev/null
+++ b/nixos/release-small.nix
@@ -0,0 +1,93 @@
+# This jobset is used to generate a NixOS channel that contains a
+# small subset of Nixpkgs, mostly useful for servers that need fast
+# security updates.
+
+{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
+, stableBranch ? false
+, supportedSystems ? [ "x86_64-linux" ] # no i686-linux
+}:
+
+let
+
+ nixpkgsSrc = nixpkgs; # urgh
+
+ pkgs = import ./.. {};
+
+ lib = pkgs.lib;
+
+ nixos' = import ./release.nix {
+ inherit stableBranch supportedSystems;
+ nixpkgs = nixpkgsSrc;
+ };
+
+ nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
+ inherit supportedSystems;
+ nixpkgs = nixpkgsSrc;
+ }) [ "unstable" ];
+
+in rec {
+
+ nixos = {
+ inherit (nixos') channel manual iso_minimal dummy;
+ tests = {
+ inherit (nixos'.tests)
+ containers
+ firewall
+ ipv6
+ login
+ misc
+ nat
+ nfs3
+ openssh
+ proxy
+ simple;
+ installer = {
+ inherit (nixos'.tests.installer)
+ grub1
+ lvm
+ separateBoot
+ simple;
+ };
+ };
+ };
+
+ nixpkgs = {
+ inherit (nixpkgs')
+ apacheHttpd_2_2
+ apacheHttpd_2_4
+ cmake
+ cryptsetup
+ emacs
+ gettext
+ git
+ imagemagick
+ linux
+ mysql51
+ mysql55
+ nginx
+ nodejs
+ openjdk
+ openssh
+ php
+ postgresql92
+ postgresql93
+ python
+ rsyslog
+ stdenv
+ subversion
+ tarball
+ vim;
+ };
+
+ tested = pkgs.releaseTools.aggregate {
+ name = "nixos-${nixos.channel.version}";
+ meta = {
+ description = "Release-critical builds for the NixOS channel";
+ maintainers = [ lib.maintainers.eelco ];
+ };
+ constituents =
+ let all = x: map (system: x.${system}) supportedSystems; in
+ [ nixpkgs.tarball ] ++ lib.collect lib.isDerivation nixos;
+ };
+
+}
diff --git a/nixos/release.nix b/nixos/release.nix
index 7337ad7e3f4..e0530276b64 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -130,6 +130,11 @@ in rec {
manual = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manual);
manualPDF = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manualPDF)).x86_64-linux;
manpages = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manpages);
+ options = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
+
+
+ # Build the initial ramdisk so Hydra can keep track of its size over time.
+ initialRamdisk = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.initialRamdisk);
iso_minimal = forAllSystems (system: makeIso {
@@ -188,12 +193,15 @@ in rec {
# Ensure that all packages used by the minimal NixOS config end up in the channel.
dummy = forAllSystems (system: pkgs.runCommand "dummy"
- { propagatedBuildInputs = (import lib/eval-config.nix {
+ { toplevel = (import lib/eval-config.nix {
inherit system;
- modules = lib.singleton ({ config, pkgs, ... }: { });
- }).config.environment.systemPackages;
+ modules = lib.singleton ({ config, pkgs, ... }:
+ { fileSystems."/".device = lib.mkDefault "/dev/sda1";
+ boot.loader.grub.device = lib.mkDefault "/dev/sda";
+ });
+ }).config.system.build.toplevel;
}
- "mkdir $out; fixupPhase");
+ "mkdir $out; ln -s $toplevel $out/dummy");
# Provide a tarball that can be unpacked into an SD card, and easily
@@ -227,11 +235,16 @@ in rec {
# ‘nix-build tests/login.nix -A result’.
tests.avahi = callTest tests/avahi.nix {};
tests.bittorrent = callTest tests/bittorrent.nix {};
+ tests.blivet = callTest tests/blivet.nix {};
+ tests.chromium = callTest tests/chromium.nix {};
+ tests.cjdns = callTest tests/cjdns.nix {};
tests.containers = callTest tests/containers.nix {};
+ tests.docker = scrubDrv (import tests/docker.nix { system = "x86_64-linux"; });
+ tests.dockerRegistry = scrubDrv (import tests/docker-registry.nix { system = "x86_64-linux"; });
+ tests.etcd = scrubDrv (import tests/etcd.nix { system = "x86_64-linux"; });
tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.nix {};
tests.gnome3 = callTest tests/gnome3.nix {};
- tests.installer.efi = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).efi.test);
tests.installer.grub1 = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).grub1.test);
tests.installer.lvm = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).lvm.test);
tests.installer.rebuildCD = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).rebuildCD.test);
@@ -246,6 +259,7 @@ in rec {
tests.ipv6 = callTest tests/ipv6.nix {};
tests.jenkins = callTest tests/jenkins.nix {};
tests.kde4 = callTest tests/kde4.nix {};
+ tests.kubernetes = scrubDrv (import tests/kubernetes.nix { system = "x86_64-linux"; });
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
tests.login = callTest tests/login.nix {};
#tests.logstash = callTest tests/logstash.nix {};
@@ -256,9 +270,28 @@ in rec {
tests.mysqlReplication = callTest tests/mysql-replication.nix {};
tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
+ tests.networking.networkd.static = callTest tests/networking.nix { networkd = true; test = "static"; };
+ tests.networking.networkd.dhcpSimple = callTest tests/networking.nix { networkd = true; test = "dhcpSimple"; };
+ tests.networking.networkd.dhcpOneIf = callTest tests/networking.nix { networkd = true; test = "dhcpOneIf"; };
+ tests.networking.networkd.bond = callTest tests/networking.nix { networkd = true; test = "bond"; };
+ tests.networking.networkd.bridge = callTest tests/networking.nix { networkd = true; test = "bridge"; };
+ tests.networking.networkd.macvlan = callTest tests/networking.nix { networkd = true; test = "macvlan"; };
+ tests.networking.networkd.sit = callTest tests/networking.nix { networkd = true; test = "sit"; };
+ tests.networking.networkd.vlan = callTest tests/networking.nix { networkd = true; test = "vlan"; };
+ tests.networking.scripted.static = callTest tests/networking.nix { networkd = false; test = "static"; };
+ tests.networking.scripted.dhcpSimple = callTest tests/networking.nix { networkd = false; test = "dhcpSimple"; };
+ tests.networking.scripted.dhcpOneIf = callTest tests/networking.nix { networkd = false; test = "dhcpOneIf"; };
+ tests.networking.scripted.bond = callTest tests/networking.nix { networkd = false; test = "bond"; };
+ tests.networking.scripted.bridge = callTest tests/networking.nix { networkd = false; test = "bridge"; };
+ tests.networking.scripted.macvlan = callTest tests/networking.nix { networkd = false; test = "macvlan"; };
+ tests.networking.scripted.sit = callTest tests/networking.nix { networkd = false; test = "sit"; };
+ tests.networking.scripted.vlan = callTest tests/networking.nix { networkd = false; test = "vlan"; };
+ # TODO: put in networking.nix after the test becomes more complete
+ tests.networkingProxy = callTest tests/networking-proxy.nix {};
tests.nfs3 = callTest tests/nfs.nix { version = 3; };
tests.nsd = callTest tests/nsd.nix {};
tests.openssh = callTest tests/openssh.nix {};
+ tests.peerflix = callTest tests/peerflix.nix {};
tests.printing = callTest tests/printing.nix {};
tests.proxy = callTest tests/proxy.nix {};
tests.quake3 = callTest tests/quake3.nix {};
diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix
index c4a00ee507b..3500ad8ccc3 100644
--- a/nixos/tests/bittorrent.nix
+++ b/nixos/tests/bittorrent.nix
@@ -28,7 +28,7 @@ in
nodes =
{ tracker =
{ config, pkgs, ... }:
- { environment.systemPackages = [ pkgs.transmission ];
+ { environment.systemPackages = [ pkgs.transmission pkgs.opentracker ];
# We need Apache on the tracker to serve the torrents.
services.httpd.enable = true;
@@ -86,7 +86,7 @@ in
# Start the tracker. !!! use a less crappy tracker
$tracker->waitForUnit("network.target");
- $tracker->succeed("bittorrent-tracker --port 6969 --dfile /tmp/dstate >&2 &");
+ $tracker->succeed("opentracker -p 6969 >&2 &");
$tracker->waitForOpenPort(6969);
# Start the initial seeder.
diff --git a/nixos/tests/blivet.nix b/nixos/tests/blivet.nix
new file mode 100644
index 00000000000..acaf4fec614
--- /dev/null
+++ b/nixos/tests/blivet.nix
@@ -0,0 +1,85 @@
+import ./make-test.nix ({ pkgs, ... }: with pkgs.pythonPackages; rec {
+ name = "blivet";
+
+ machine = {
+ environment.systemPackages = [ pkgs.python blivet mock ];
+ boot.supportedFilesystems = [ "btrfs" "jfs" "reiserfs" "xfs" ];
+ virtualisation.memorySize = 768;
+ };
+
+ debugBlivet = false;
+ debugProgramCalls = false;
+
+ pythonTestRunner = pkgs.writeText "run-blivet-tests.py" ''
+ import sys
+ import logging
+
+ from unittest import TestLoader
+ from unittest.runner import TextTestRunner
+
+ ${pkgs.lib.optionalString debugProgramCalls ''
+ blivet_program_log = logging.getLogger("program")
+ blivet_program_log.setLevel(logging.DEBUG)
+ blivet_program_log.addHandler(logging.StreamHandler(sys.stderr))
+ ''}
+
+ ${pkgs.lib.optionalString debugBlivet ''
+ blivet_log = logging.getLogger("blivet")
+ blivet_log.setLevel(logging.DEBUG)
+ blivet_log.addHandler(logging.StreamHandler(sys.stderr))
+ ''}
+
+ runner = TextTestRunner(verbosity=2, failfast=False, buffer=False)
+ result = runner.run(TestLoader().discover('tests/', pattern='*_test.py'))
+ sys.exit(not result.wasSuccessful())
+ '';
+
+ blivetTest = pkgs.writeScript "blivet-test.sh" ''
+ #!${pkgs.stdenv.shell} -e
+
+ # Use the hosts temporary directory, because we have a tmpfs within the VM
+ # and we don't want to increase the memory size of the VM for no reason.
+ mkdir -p /tmp/xchg/bigtmp
+ TMPDIR=/tmp/xchg/bigtmp
+ export TMPDIR
+
+ mkPythonPath() {
+ nix-store -qR "$@" \
+ | sed -e 's|$|/lib/${pkgs.python.libPrefix}/site-packages|'
+ }
+
+ cp -Rd "${blivet.src}/tests" .
+
+ # Skip SELinux tests
+ rm -f tests/formats_test/selinux_test.py
+
+ # Race conditions in growing/shrinking during resync
+ rm -f tests/devicelibs_test/mdraid_*
+
+ # Deactivate small BTRFS device test, because it fails with newer btrfsprogs
+ sed -i -e '/^class *BTRFSAsRootTestCase3(/,/^[^ ]/ {
+ /^class *BTRFSAsRootTestCase3(/d
+ /^$/d
+ /^ /d
+ }' tests/devicelibs_test/btrfs_test.py
+
+ # How on earth can these tests ever work even upstream? O_o
+ sed -i -e '/def testDiskChunk[12]/,/^ *[^ ]/{n; s/^ */&return # /}' \
+ tests/partitioning_test.py
+
+ # fix hardcoded temporary directory
+ sed -i \
+ -e '1i import tempfile' \
+ -e 's|_STORE_FILE_PATH = .*|_STORE_FILE_PATH = tempfile.gettempdir()|' \
+ tests/loopbackedtestcase.py
+
+ PYTHONPATH=".:$(mkPythonPath "${blivet}" "${mock}" | paste -sd :)" \
+ python "${pythonTestRunner}"
+ '';
+
+ testScript = ''
+ $machine->waitForUnit("multi-user.target");
+ $machine->succeed("${blivetTest}");
+ $machine->execute("rm -rf /tmp/xchg/bigtmp");
+ '';
+})
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
new file mode 100644
index 00000000000..d571a435816
--- /dev/null
+++ b/nixos/tests/chromium.nix
@@ -0,0 +1,164 @@
+import ./make-test.nix (
+{ pkgs
+, channelMap ? {
+ stable = pkgs.chromium;
+ beta = pkgs.chromiumBeta;
+ dev = pkgs.chromiumDev;
+ }
+, ...
+}: rec {
+ name = "chromium";
+
+ machine.imports = [ ./common/x11.nix ];
+
+ startupHTML = pkgs.writeText "chromium-startup.html" ''
+
+
+
+
+ Chromium startup notifier
+
+
+
+
+
+ '';
+
+ testScript = let
+ xdo = name: text: let
+ xdoScript = pkgs.writeText "${name}.xdo" text;
+ in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'";
+ in ''
+ sub createNewWin {
+ $machine->nest("creating a new Chromium window", sub {
+ $machine->execute("${xdo "new-window" ''
+ search --onlyvisible --name "startup done"
+ windowfocus --sync
+ windowactivate --sync
+ key Ctrl+n
+ ''}");
+ });
+ }
+
+ sub closeWin {
+ Machine::retry sub {
+ $machine->execute("${xdo "close-window" ''
+ search --onlyvisible --name "new tab"
+ windowfocus --sync
+ windowactivate --sync
+ key Ctrl+w
+ ''}");
+ for (1..20) {
+ my ($status, $out) = $machine->execute("${xdo "wait-for-close" ''
+ search --onlyvisible --name "new tab"
+ ''}");
+ return 1 if $status != 0;
+ $machine->sleep(1);
+ }
+ }
+ }
+
+ sub waitForNewWin {
+ my $ret = 0;
+ $machine->nest("waiting for new Chromium window to appear", sub {
+ for (1..20) {
+ my ($status, $out) = $machine->execute("${xdo "wait-for-window" ''
+ search --onlyvisible --name "new tab"
+ windowfocus --sync
+ windowactivate --sync
+ ''}");
+ if ($status == 0) {
+ $ret = 1;
+ last;
+ }
+ $machine->sleep(1);
+ }
+ });
+ return $ret;
+ }
+
+ sub createAndWaitForNewWin {
+ for (1..3) {
+ createNewWin;
+ return 1 if waitForNewWin;
+ }
+ die "new window didn't appear within 60 seconds";
+ }
+
+ sub testNewWin {
+ my ($desc, $code) = @_;
+ createAndWaitForNewWin;
+ subtest($desc, $code);
+ closeWin;
+ }
+
+ sub chromiumTest {
+ my ($channel, $pkg, $code) = @_;
+ $machine->waitForX;
+
+ my $url = "file://${startupHTML}";
+ my $args = "--user-data-dir=/tmp/chromium-$channel";
+ $machine->execute(
+ "ulimit -c unlimited; ".
+ "$pkg/bin/chromium $args \"$url\" & disown"
+ );
+ $machine->waitUntilSucceeds("${xdo "check-startup" ''
+ search --sync --onlyvisible --name "startup done"
+ # close first start help popup
+ key Escape
+ windowfocus --sync
+ windowactivate --sync
+ ''}");
+
+ createAndWaitForNewWin;
+ $machine->screenshot($channel."_emptywin");
+ closeWin;
+
+ $machine->screenshot($channel."_startup_done");
+
+ subtest("Chromium $channel", $code);
+
+ $machine->shutdown;
+ }
+
+ for (${let
+ mkArray = name: pkg: "[\"${name}\", \"${pkg}\"]";
+ chanArrays = pkgs.lib.mapAttrsToList mkArray channelMap;
+ in pkgs.lib.concatStringsSep ", " chanArrays}) {
+ my ($channel, $pkg) = @$_;
+ chromiumTest $channel, $pkg, sub {
+ testNewWin "check sandbox", sub {
+ $machine->succeed("${xdo "type-url" ''
+ search --sync --onlyvisible --name "new tab"
+ windowfocus --sync
+ type --delay 1000 "chrome://sandbox"
+ ''}");
+
+ $machine->succeed("${xdo "submit-url" ''
+ search --sync --onlyvisible --name "new tab"
+ windowfocus --sync
+ key --delay 1000 Return
+ ''}");
+
+ $machine->screenshot($channel."_sandbox");
+
+ $machine->succeed("${xdo "submit-url" ''
+ search --sync --onlyvisible --name "sandbox status"
+ windowfocus --sync
+ key --delay 1000 Ctrl+a Ctrl+c
+ ''}");
+
+ my $clipboard = $machine->succeed("${pkgs.xclip}/bin/xclip -o");
+ die "sandbox not working properly: $clipboard"
+ unless $clipboard =~ /suid sandbox.*yes/mi
+ && $clipboard =~ /pid namespaces.*yes/mi
+ && $clipboard =~ /network namespaces.*yes/mi
+ && $clipboard =~ /seccomp.*sandbox.*yes/mi;
+ };
+ };
+ }
+ '';
+})
diff --git a/nixos/tests/cjdns.nix b/nixos/tests/cjdns.nix
new file mode 100644
index 00000000000..7bb3863c683
--- /dev/null
+++ b/nixos/tests/cjdns.nix
@@ -0,0 +1,123 @@
+let
+ carolKey = "2d2a338b46f8e4a8c462f0c385b481292a05f678e19a2b82755258cf0f0af7e2";
+ carolPubKey = "n932l3pjvmhtxxcdrqq2qpw5zc58f01vvjx01h4dtd1bb0nnu2h0.k";
+ carolPassword = "678287829ce4c67bc8b227e56d94422ee1b85fa11618157b2f591de6c6322b52";
+ carolIp4 = "192.168.0.9";
+
+ basicConfig =
+ { config, pkgs, ... }:
+ { services.cjdns.enable = true;
+
+ # Turning off DHCP isn't very realistic but makes
+ # the sequence of address assignment less stochastic.
+ networking.useDHCP = false;
+
+ networking.interfaces.eth1.prefixLength = 24;
+ # CJDNS output is incompatible with the XML log.
+ systemd.services.cjdns.serviceConfig.StandardOutput = "null";
+ #networking.firewall.enable = true;
+ networking.firewall.allowPing = true;
+ #networking.firewall.rejectPackets = true;
+ };
+
+in
+
+import ./make-test.nix {
+ name = "cjdns";
+
+ nodes = rec
+ { # Alice finds peers over over ETHInterface.
+ alice =
+ { config, ... }:
+ { imports = [ basicConfig ];
+
+ services.cjdns.ETHInterface.bind = "eth1";
+
+ services.httpd.enable = true;
+ services.httpd.adminAddr = "foo@example.org";
+ networking.firewall.allowedTCPPorts = [ 80 ];
+ };
+
+ # Bob explicitly connects to Carol over UDPInterface.
+ bob =
+ { config, lib, nodes, ... }:
+
+ let carolIp4 = lib.mkForce nodes.carol.config.networking.interfaces.eth1; in
+
+ { imports = [ basicConfig ];
+
+ networking.interfaces.eth1.ipAddress = "192.168.0.2";
+
+ services.cjdns =
+ { UDPInterface =
+ { bind = "0.0.0.0:1024";
+ connectTo."192.168.0.1:1024}" =
+ { hostname = "carol.hype";
+ password = carolPassword;
+ publicKey = carolPubKey;
+ };
+ };
+ };
+ };
+
+ # Carol listens on ETHInterface and UDPInterface,
+ # but knows neither Alice or Bob.
+ carol =
+ { config, lib, nodes, ... }:
+ let
+ carolIp4 = (lib.mkForce nodes.carol.config.networking.interfaces.eth1);
+ in
+ { imports = [ basicConfig ];
+
+ environment.etc."cjdns.keys".text = ''
+ CJDNS_PRIVATE_KEY=${carolKey}
+ CJDNS_ADMIN_PASSWORD=FOOBAR
+ '';
+
+ networking.interfaces.eth1.ipAddress = "192.168.0.1";
+
+ services.cjdns =
+ { authorizedPasswords = [ carolPassword ];
+ ETHInterface.bind = "eth1";
+ UDPInterface.bind = "192.168.0.1:1024";
+ };
+ networking.firewall.allowedUDPPorts = [ 1024 ];
+ };
+
+ };
+
+ testScript =
+ ''
+ startAll;
+
+ $alice->waitForUnit("cjdns.service");
+ $bob->waitForUnit("cjdns.service");
+ $carol->waitForUnit("cjdns.service");
+
+ sub cjdnsIp {
+ my ($machine) = @_;
+ my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev tun0"))[3];
+ $machine->log("has ip $ip");
+ return $ip;
+ }
+
+ my $aliceIp6 = cjdnsIp $alice;
+ my $bobIp6 = cjdnsIp $bob;
+ my $carolIp6 = cjdnsIp $carol;
+
+ # ping a few times each to let the routing table establish itself
+
+ $alice->succeed("ping6 -c 4 $carolIp6");
+ $bob->succeed("ping6 -c 4 carol.hype");
+
+ $carol->succeed("ping6 -c 4 $aliceIp6");
+ $carol->succeed("ping6 -c 4 $bobIp6");
+
+ $alice->succeed("ping6 -c 4 $bobIp6");
+ $bob->succeed("ping6 -c 4 $aliceIp6");
+
+ $alice->waitForUnit("httpd.service");
+
+ $bob->succeed("curl --fail -g http://[$aliceIp6]");
+ '';
+}
diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix
index 331324139a1..e0add8a936f 100644
--- a/nixos/tests/containers.nix
+++ b/nixos/tests/containers.nix
@@ -91,6 +91,13 @@ import ./make-test.nix {
# Execute commands via the root shell.
$machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
+ # Stop and start (regression test for #4989)
+ $machine->succeed("nixos-container stop $id1");
+ $machine->succeed("nixos-container start $id1");
+
+ # Execute commands via the root shell.
+ $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
+
# Destroy the containers.
$machine->succeed("nixos-container destroy $id1");
$machine->succeed("nixos-container destroy $id2");
diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix
new file mode 100644
index 00000000000..cc3c4774680
--- /dev/null
+++ b/nixos/tests/docker-registry.nix
@@ -0,0 +1,40 @@
+# This test runs docker-registry and check if it works
+
+import ./make-test.nix {
+ name = "docker-registry";
+
+ nodes = {
+ registry = { config, pkgs, ... }: {
+ services.dockerRegistry.enable = true;
+ services.dockerRegistry.port = 8080;
+ services.dockerRegistry.host = "0.0.0.0";
+ networking.firewall.allowedTCPPorts = [ 8080 ];
+ };
+
+ client1 = { config, pkgs, ...}: {
+ virtualisation.docker.enable = true;
+ virtualisation.docker.extraOptions = "--insecure-registry registry:8080";
+ };
+
+ client2 = { config, pkgs, ...}: {
+ virtualisation.docker.enable = true;
+ virtualisation.docker.extraOptions = "--insecure-registry registry:8080";
+ };
+ };
+
+ testScript = ''
+ $client1->start();
+ $client1->waitForUnit("docker.service");
+ $client1->succeed("tar cv --files-from /dev/null | docker import - scratch");
+ $client1->succeed("docker tag scratch registry:8080/scratch");
+
+ $registry->start();
+ $registry->waitForUnit("docker-registry.service");
+ $client1->succeed("docker push registry:8080/scratch");
+
+ $client2->start();
+ $client2->waitForUnit("docker.service");
+ $client2->succeed("docker pull registry:8080/scratch");
+ $client2->succeed("docker images | grep scratch");
+ '';
+}
diff --git a/nixos/tests/docker.nix b/nixos/tests/docker.nix
new file mode 100644
index 00000000000..63c909ff294
--- /dev/null
+++ b/nixos/tests/docker.nix
@@ -0,0 +1,24 @@
+# This test runs docker and checks if simple container starts
+
+import ./make-test.nix {
+ name = "docker";
+
+ nodes = {
+ docker =
+ { config, pkgs, ... }:
+ {
+ virtualisation.docker.enable = true;
+ };
+ };
+
+ testScript = ''
+ startAll;
+
+ $docker->waitForUnit("docker.service");
+ $docker->succeed("tar cv --files-from /dev/null | docker import - scratch");
+ $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratch /bin/sleep 10");
+ $docker->succeed("docker ps | grep sleeping");
+ $docker->succeed("docker stop sleeping");
+ '';
+
+}
diff --git a/nixos/tests/etcd.nix b/nixos/tests/etcd.nix
new file mode 100644
index 00000000000..ace5e05b170
--- /dev/null
+++ b/nixos/tests/etcd.nix
@@ -0,0 +1,108 @@
+# This test runs etcd as single node, multy node and using discovery
+
+import ./make-test.nix {
+ name = "etcd";
+
+ nodes = {
+ simple =
+ { config, pkgs, nodes, ... }:
+ {
+ services.etcd.enable = true;
+ services.etcd.listenClientUrls = ["http://0.0.0.0:4001"];
+ environment.systemPackages = [ pkgs.curl ];
+ networking.firewall.allowedTCPPorts = [ 4001 ];
+ };
+
+
+ node1 =
+ { config, pkgs, nodes, ... }:
+ {
+ services = {
+ etcd = {
+ enable = true;
+ listenPeerUrls = ["http://0.0.0.0:7001"];
+ initialAdvertisePeerUrls = ["http://node1:7001"];
+ initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"];
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 7001 ];
+ };
+
+ node2 =
+ { config, pkgs, ... }:
+ {
+ services = {
+ etcd = {
+ enable = true;
+ listenPeerUrls = ["http://0.0.0.0:7001"];
+ initialAdvertisePeerUrls = ["http://node2:7001"];
+ initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"];
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 7001 ];
+ };
+
+ discovery1 =
+ { config, pkgs, nodes, ... }:
+ {
+ services = {
+ etcd = {
+ enable = true;
+ listenPeerUrls = ["http://0.0.0.0:7001"];
+ initialAdvertisePeerUrls = ["http://discovery1:7001"];
+ discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/";
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 7001 ];
+ };
+
+ discovery2 =
+ { config, pkgs, ... }:
+ {
+ services = {
+ etcd = {
+ enable = true;
+ listenPeerUrls = ["http://0.0.0.0:7001"];
+ initialAdvertisePeerUrls = ["http://discovery2:7001"];
+ discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/";
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 7001 ];
+ };
+ };
+
+ testScript = ''
+ subtest "single node", sub {
+ $simple->start();
+ $simple->waitForUnit("etcd.service");
+ $simple->succeed("etcdctl set /foo/bar 'Hello world'");
+ $simple->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
+ };
+
+ subtest "multy node", sub {
+ $node1->start();
+ $node2->start();
+ $node1->waitForUnit("etcd.service");
+ $node2->waitForUnit("etcd.service");
+ $node1->succeed("etcdctl set /foo/bar 'Hello world'");
+ $node2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
+ $node1->shutdown();
+ $node2->shutdown();
+ };
+
+ subtest "discovery", sub {
+ $simple->succeed("curl -X PUT http://localhost:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/_config/size -d value=2");
+
+ $discovery1->start();
+ $discovery2->start();
+ $discovery1->waitForUnit("etcd.service");
+ $discovery2->waitForUnit("etcd.service");
+ $discovery1->succeed("etcdctl set /foo/bar 'Hello world'");
+ $discovery2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
+ };
+ '';
+}
diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix
index df30283e315..6f2925e52fa 100644
--- a/nixos/tests/gnome3.nix
+++ b/nixos/tests/gnome3.nix
@@ -11,6 +11,8 @@ import ./make-test.nix {
services.xserver.displayManager.auto.enable = true;
services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.gnome3.enable = true;
+
+ virtualisation.memorySize = 512;
};
testScript =
diff --git a/nixos/tests/gnome3_12.nix b/nixos/tests/gnome3_12.nix
deleted file mode 100644
index 723d1bc4522..00000000000
--- a/nixos/tests/gnome3_12.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-import ./make-test.nix {
- name = "gnome3_12";
-
- machine =
- { config, pkgs, ... }:
-
- { imports = [ ./common/user-account.nix ];
-
- services.xserver.enable = true;
-
- services.xserver.displayManager.auto.enable = true;
- services.xserver.displayManager.auto.user = "alice";
- services.xserver.desktopManager.gnome3.enable = true;
- environment.gnome3.packageSet = pkgs.gnome3_12;
- };
-
- testScript =
- ''
- $machine->waitForX;
- $machine->sleep(15);
-
- # Check that logging in has given the user ownership of devices.
- $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
-
- $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
- $machine->waitForWindow(qr/Terminal/);
- $machine->sleep(20);
- $machine->screenshot("screen");
- '';
-
-}
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 138a81ad807..f27854f7645 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -35,7 +35,7 @@ let
# The configuration to install.
- makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier
+ makeConfig = { testChannel, grubVersion, grubDevice, grubIdentifier
, readOnly ? true, forceGrubReinstallCount ? 0 }:
pkgs.writeText "configuration.nix" ''
{ config, pkgs, modulesPath, ... }:
@@ -46,23 +46,20 @@ let
];
- ${if useEFI then ''
- boot.loader.efi.canTouchEfiVariables = true;
- boot.loader.gummiboot.enable = true;
- '' else ''
- boot.loader.grub.version = ${toString grubVersion};
- ${optionalString (grubVersion == 1) ''
- boot.loader.grub.splashImage = null;
- ''}
- boot.loader.grub.device = "${grubDevice}";
- boot.loader.grub.extraConfig = "serial; terminal_output.serial";
- boot.loader.grub.fsIdentifier = "${grubIdentifier}";
+ boot.loader.grub.version = ${toString grubVersion};
+ ${optionalString (grubVersion == 1) ''
+ boot.loader.grub.splashImage = null;
''}
+ boot.loader.grub.device = "${grubDevice}";
+ boot.loader.grub.extraConfig = "serial; terminal_output.serial";
+ boot.loader.grub.fsIdentifier = "${grubIdentifier}";
boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
${optionalString (!readOnly) "nix.readOnlyStore = false;"}
+ swapDevices = mkOverride 0 [ ];
+
environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ];
}
'';
@@ -100,16 +97,14 @@ let
# disk, and then reboot from the hard disk. It's parameterized with
# a test script fragment `createPartitions', which must create
# partitions and filesystems.
- testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }:
+ testScriptFun = { createPartitions, testChannel, grubVersion, grubDevice, grubIdentifier }:
let
# FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html
- iface = if useEFI || grubVersion == 1 then "scsi" else "virtio";
+ iface = if grubVersion == 1 then "scsi" else "virtio";
qemuFlags =
(if iso.system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
- (optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ") +
- (optionalString useEFI ''-L ${efiBios} -hda ''${\(Cwd::abs_path('harddisk'))} '');
- hdFlags = optionalString (!useEFI)
- ''hda => "harddisk", hdaInterface => "${iface}", '';
+ (optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ");
+ hdFlags =''hda => "harddisk", hdaInterface => "${iface}", '';
in
''
createDisk("harddisk", 4 * 1024);
@@ -168,7 +163,7 @@ let
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
$machine->copyFileFromHost(
- "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; } }",
+ "${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; } }",
"/mnt/etc/nixos/configuration.nix");
# Perform the installation.
@@ -189,11 +184,7 @@ let
# Did /boot get mounted?
$machine->waitForUnit("local-fs.target");
- ${if useEFI then ''
- $machine->succeed("test -e /boot/efi");
- '' else ''
- $machine->succeed("test -e /boot/grub");
- ''}
+ $machine->succeed("test -e /boot/grub");
# Did the swap device get activated?
$machine->waitForUnit("swap.target");
@@ -206,7 +197,7 @@ let
# We need to a writable nix-store on next boot
$machine->copyFileFromHost(
- "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }",
+ "${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }",
"/etc/nixos/configuration.nix");
# Check whether nixos-rebuild works.
@@ -223,7 +214,7 @@ let
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine->waitForUnit("multi-user.target");
$machine->copyFileFromHost(
- "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }",
+ "${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }",
"/etc/nixos/configuration.nix");
$machine->succeed("nixos-rebuild boot >&2");
$machine->shutdown;
@@ -237,13 +228,13 @@ let
makeInstallerTest = name:
- { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
+ { createPartitions, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
makeTest {
inherit iso;
name = "installer-" + name;
nodes = if testChannel then { inherit webserver; } else { };
testScript = testScriptFun {
- inherit createPartitions testChannel useEFI grubVersion grubDevice grubIdentifier;
+ inherit createPartitions testChannel grubVersion grubDevice grubIdentifier;
};
};
@@ -369,25 +360,6 @@ in {
grubDevice = "/dev/sda";
};
- # Test an EFI install.
- efi = makeInstallerTest "efi"
- { createPartitions =
- ''
- $machine->succeed(
- "sgdisk -Z /dev/sda",
- "sgdisk -n 1:0:+256M -n 2:0:+1024M -N 3 -t 1:ef00 -t 2:8200 -t 3:8300 -c 1:boot -c 2:swap -c 3:root /dev/sda",
- "mkfs.vfat -n BOOT /dev/sda1",
- "mkswap /dev/sda2 -L swap",
- "swapon -L swap",
- "mkfs.ext3 -L nixos /dev/sda3",
- "mount LABEL=nixos /mnt",
- "mkdir /mnt/boot",
- "mount LABEL=BOOT /mnt/boot",
- );
- '';
- useEFI = true;
- };
-
# Rebuild the CD configuration with a little modification.
rebuildCD = makeTest
{ inherit iso;
diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix
index fcc5101feb3..dd2574fd02a 100644
--- a/nixos/tests/kde4.nix
+++ b/nixos/tests/kde4.nix
@@ -41,8 +41,7 @@ import ./make-test.nix ({ pkgs, ... }: {
];
};
- testScript =
- ''
+ testScript = ''
$machine->waitUntilSucceeds("pgrep plasma-desktop");
$machine->waitForWindow(qr/plasma-desktop/);
@@ -60,7 +59,7 @@ import ./make-test.nix ({ pkgs, ... }: {
$machine->sleep(10);
- $machine->screenshot("screen");
+ $machine->screenshot("screen");
'';
})
diff --git a/nixos/tests/kubernetes.nix b/nixos/tests/kubernetes.nix
new file mode 100644
index 00000000000..e5fe8d2b879
--- /dev/null
+++ b/nixos/tests/kubernetes.nix
@@ -0,0 +1,176 @@
+# This test runs two node kubernetes cluster and checks if simple redis pod works
+
+import ./make-test.nix rec {
+ name = "kubernetes";
+
+ redisMaster = builtins.toFile "redis-master-pod.yaml" ''
+ id: redis-master-pod
+ kind: Pod
+ apiVersion: v1beta1
+ desiredState:
+ manifest:
+ version: v1beta1
+ id: redis-master-pod
+ containers:
+ - name: master
+ image: master:5000/scratch
+ cpu: 100
+ ports:
+ - name: redis-server
+ containerPort: 6379
+ hostPort: 6379
+ volumeMounts:
+ - name: nix-store
+ mountPath: /nix/store
+ readOnly: true
+ volumeMounts:
+ - name: system-profile
+ mountPath: /bin
+ readOnly: true
+ command:
+ - /bin/redis-server
+ volumes:
+ - name: nix-store
+ source:
+ hostDir:
+ path: /nix/store
+ - name: system-profile
+ source:
+ hostDir:
+ path: /run/current-system/sw/bin
+ labels:
+ name: redis
+ role: master
+ '';
+
+ nodes = {
+ master =
+ { config, pkgs, nodes, ... }:
+ {
+ virtualisation.memorySize = 512;
+ virtualisation.kubernetes = {
+ roles = ["master" "node"];
+ controllerManager.machines = ["master" "node"];
+ kubelet.extraOpts = "-network_container_image=master:5000/pause";
+ apiserver.address = "0.0.0.0";
+ verbose = true;
+ };
+ virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0 --insecure-registry master:5000";
+
+ services.etcd = {
+ listenPeerUrls = ["http://0.0.0.0:7001"];
+ initialAdvertisePeerUrls = ["http://master:7001"];
+ initialCluster = ["master=http://master:7001" "node=http://node:7001"];
+ };
+ services.dockerRegistry.enable = true;
+ services.dockerRegistry.host = "0.0.0.0";
+ services.dockerRegistry.port = 5000;
+
+ virtualisation.vlans = [ 1 2 ];
+ networking.bridges = {
+ cbr0.interfaces = [ "eth2" ];
+ };
+ networking.interfaces = {
+ cbr0 = {
+ ipAddress = "10.10.0.1";
+ prefixLength = 24;
+ };
+ };
+ networking.localCommands = ''
+ ip route add 10.10.0.0/16 dev cbr0
+ ip route flush cache
+ '';
+ networking.extraHosts = "127.0.0.1 master";
+
+ networking.firewall.enable = false;
+ #networking.firewall.allowedTCPPorts = [ 4001 7001 ];
+
+ environment.systemPackages = [ pkgs.redis ];
+ };
+
+ node =
+ { config, pkgs, nodes, ... }:
+ {
+ virtualisation.kubernetes = {
+ roles = ["node"];
+ kubelet.extraOpts = "-network_container_image=master:5000/pause";
+ verbose = true;
+ };
+ virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0 --insecure-registry master:5000";
+ services.etcd = {
+ listenPeerUrls = ["http://0.0.0.0:7001"];
+ initialAdvertisePeerUrls = ["http://node:7001"];
+ initialCluster = ["master=http://master:7001" "node=http://node:7001"];
+ };
+
+ virtualisation.vlans = [ 1 2 ];
+ networking.bridges = {
+ cbr0.interfaces = [ "eth2" ];
+ };
+ networking.interfaces = {
+ cbr0 = {
+ ipAddress = "10.10.1.1";
+ prefixLength = 24;
+ };
+ };
+ networking.localCommands = ''
+ ip route add 10.10.0.0/16 dev cbr0
+ ip route flush cache
+ '';
+ networking.extraHosts = "127.0.0.1 node";
+
+ networking.firewall.enable = false;
+ #networking.firewall.allowedTCPPorts = [ 4001 7001 ];
+
+ environment.systemPackages = [ pkgs.redis ];
+ };
+
+ client =
+ { config, pkgs, nodes, ... }:
+ {
+ virtualisation.docker.enable = true;
+ virtualisation.docker.extraOptions = "--insecure-registry master:5000";
+ environment.systemPackages = [ pkgs.kubernetes ];
+ environment.etc."test/redis-master-pod.yaml".source = redisMaster;
+ environment.etc."test/pause".source = "${pkgs.kubernetes}/bin/kube-pause";
+ environment.etc."test/Dockerfile".source = pkgs.writeText "Dockerfile" ''
+ FROM scratch
+ ADD pause /
+ ENTRYPOINT ["/pause"]
+ '';
+ };
+ };
+
+ testScript = ''
+ startAll;
+
+ $master->waitForUnit("kubernetes-apiserver.service");
+ $master->waitForUnit("kubernetes-scheduler.service");
+ $master->waitForUnit("kubernetes-controller-manager.service");
+ $master->waitForUnit("kubernetes-kubelet.service");
+ $master->waitForUnit("kubernetes-proxy.service");
+
+ $node->waitForUnit("kubernetes-kubelet.service");
+ $node->waitForUnit("kubernetes-proxy.service");
+
+ $master->waitUntilSucceeds("kubecfg list minions | grep master");
+ $master->waitUntilSucceeds("kubecfg list minions | grep node");
+
+ $client->waitForUnit("docker.service");
+ $client->succeed("tar cv --files-from /dev/null | docker import - scratch");
+ $client->succeed("docker tag scratch master:5000/scratch");
+ $master->waitForUnit("docker-registry.service");
+ $client->succeed("docker push master:5000/scratch");
+ $client->succeed("mkdir -p /root/pause");
+ $client->succeed("cp /etc/test/pause /root/pause/");
+ $client->succeed("cp /etc/test/Dockerfile /root/pause/");
+ $client->succeed("cd /root/pause && docker build -t master:5000/pause .");
+ $client->succeed("docker push master:5000/pause");
+
+ subtest "simple pod", sub {
+ $client->succeed("kubectl create -f ${redisMaster} -s http://master:8080");
+ $client->waitUntilSucceeds("kubectl get pods -s http://master:8080 | grep redis-master | grep -i running");
+ }
+
+ '';
+}
diff --git a/nixos/tests/networking-proxy.nix b/nixos/tests/networking-proxy.nix
new file mode 100644
index 00000000000..30844805ebf
--- /dev/null
+++ b/nixos/tests/networking-proxy.nix
@@ -0,0 +1,109 @@
+# Test whether `networking.proxy' work as expected.
+
+# TODO: use a real proxy node and put this test into networking.nix
+# TODO: test whether nix tools work as expected behind a proxy
+
+let default-config = {
+ imports = [ ./common/user-account.nix ];
+
+ services.xserver.enable = false;
+
+ virtualisation.memorySize = 128;
+ };
+in import ./make-test.nix {
+ name = "networking-proxy";
+
+ nodes = {
+ # no proxy
+ machine =
+ { config, pkgs, ... }:
+
+ default-config;
+
+ # proxy default
+ machine2 =
+ { config, pkgs, ... }:
+
+ default-config // {
+ networking.proxy.default = "http://user:pass@host:port";
+ };
+
+ # specific proxy options
+ machine3 =
+ { config, pkgs, ... }:
+
+ default-config //
+ {
+ networking.proxy = {
+ # useless because overriden by the next options
+ default = "http://user:pass@host:port";
+ # advanced proxy setup
+ httpProxy = "123-http://user:pass@http-host:port";
+ httpsProxy = "456-http://user:pass@https-host:port";
+ rsyncProxy = "789-http://user:pass@rsync-host:port";
+ ftpProxy = "101112-http://user:pass@ftp-host:port";
+ noProxy = "131415-127.0.0.1,localhost,.localdomain";
+ };
+ };
+
+ # mix default + proxy options
+ machine4 =
+ { config, pkgs, ... }:
+
+ default-config // {
+ networking.proxy = {
+ # open for all *_proxy env var
+ default = "000-http://user:pass@default-host:port";
+ # except for those 2
+ rsyncProxy = "123-http://user:pass@http-host:port";
+ noProxy = "131415-127.0.0.1,localhost,.localdomain";
+ };
+ };
+ };
+
+ testScript =
+ ''
+ startAll;
+
+ # no proxy at all
+ print $machine->execute("env | grep -i proxy");
+ print $machine->execute("su - alice -c 'env | grep -i proxy'");
+ $machine->mustFail("env | grep -i proxy");
+ $machine->mustFail("su - alice -c 'env | grep -i proxy'");
+
+ # Use a default proxy option
+ print $machine2->execute("env | grep -i proxy");
+ print $machine2->execute("su - alice -c 'env | grep -i proxy'");
+ $machine2->mustSucceed("env | grep -i proxy");
+ $machine2->mustSucceed("su - alice -c 'env | grep -i proxy'");
+
+ # explicitly set each proxy option
+ print $machine3->execute("env | grep -i proxy");
+ print $machine3->execute("su - alice -c 'env | grep -i proxy'");
+ $machine3->mustSucceed("env | grep -i http_proxy | grep 123");
+ $machine3->mustSucceed("env | grep -i https_proxy | grep 456");
+ $machine3->mustSucceed("env | grep -i rsync_proxy | grep 789");
+ $machine3->mustSucceed("env | grep -i ftp_proxy | grep 101112");
+ $machine3->mustSucceed("env | grep -i no_proxy | grep 131415");
+ $machine3->mustSucceed("su - alice -c 'env | grep -i http_proxy | grep 123'");
+ $machine3->mustSucceed("su - alice -c 'env | grep -i https_proxy | grep 456'");
+ $machine3->mustSucceed("su - alice -c 'env | grep -i rsync_proxy | grep 789'");
+ $machine3->mustSucceed("su - alice -c 'env | grep -i ftp_proxy | grep 101112'");
+ $machine3->mustSucceed("su - alice -c 'env | grep -i no_proxy | grep 131415'");
+
+ # set default proxy option + some other specifics
+ print $machine4->execute("env | grep -i proxy");
+ print $machine4->execute("su - alice -c 'env | grep -i proxy'");
+ $machine4->mustSucceed("env | grep -i http_proxy | grep 000");
+ $machine4->mustSucceed("env | grep -i https_proxy | grep 000");
+ $machine4->mustSucceed("env | grep -i rsync_proxy | grep 123");
+ $machine4->mustSucceed("env | grep -i ftp_proxy | grep 000");
+ $machine4->mustSucceed("env | grep -i no_proxy | grep 131415");
+ $machine4->mustSucceed("su - alice -c 'env | grep -i http_proxy | grep 000'");
+ $machine4->mustSucceed("su - alice -c 'env | grep -i https_proxy | grep 000'");
+ $machine4->mustSucceed("su - alice -c 'env | grep -i rsync_proxy | grep 123'");
+ $machine4->mustSucceed("su - alice -c 'env | grep -i ftp_proxy | grep 000'");
+ $machine4->mustSucceed("su - alice -c 'env | grep -i no_proxy | grep 131415'");
+ '';
+
+}
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
new file mode 100644
index 00000000000..46d0422f9c6
--- /dev/null
+++ b/nixos/tests/networking.nix
@@ -0,0 +1,381 @@
+import ./make-test.nix ({ networkd, test, ... }:
+ let
+ router = { config, pkgs, ... }:
+ with pkgs.lib;
+ let
+ vlanIfs = range 1 (length config.virtualisation.vlans);
+ in {
+ virtualisation.vlans = [ 1 2 3 ];
+ networking = {
+ useDHCP = false;
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n:
+ nameValuePair "eth${toString n}" {
+ ipAddress = "192.168.${toString n}.1";
+ prefixLength = 24;
+ })));
+ };
+ services.dhcpd = {
+ enable = true;
+ interfaces = map (n: "eth${toString n}") vlanIfs;
+ extraConfig = ''
+ option subnet-mask 255.255.255.0;
+ '' + flip concatMapStrings vlanIfs (n: ''
+ subnet 192.168.${toString n}.0 netmask 255.255.255.0 {
+ option broadcast-address 192.168.${toString n}.255;
+ option routers 192.168.${toString n}.1;
+ range 192.168.${toString n}.2 192.168.${toString n}.254;
+ }
+ '');
+ };
+ };
+ testCases = {
+ static = {
+ name = "Static";
+ nodes.router = router;
+ nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 2 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = false;
+ defaultGateway = "192.168.1.1";
+ interfaces.eth1.ip4 = mkOverride 0 [
+ { address = "192.168.1.2"; prefixLength = 24; }
+ { address = "192.168.1.3"; prefixLength = 32; }
+ { address = "192.168.1.10"; prefixLength = 32; }
+ ];
+ interfaces.eth2.ip4 = mkOverride 0 [
+ { address = "192.168.2.2"; prefixLength = 24; }
+ ];
+ };
+ };
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client->waitForUnit("network-interfaces.target");
+ $client->waitForUnit("network.target");
+ $router->waitForUnit("network-interfaces.target");
+ $router->waitForUnit("network.target");
+
+ # Make sure dhcpcd is not started
+ $client->fail("systemctl status dhcpcd.service");
+
+ # Test vlan 1
+ $client->succeed("ping -c 1 192.168.1.1");
+ $client->succeed("ping -c 1 192.168.1.2");
+ $client->succeed("ping -c 1 192.168.1.3");
+ $client->succeed("ping -c 1 192.168.1.10");
+
+ $router->succeed("ping -c 1 192.168.1.1");
+ $router->succeed("ping -c 1 192.168.1.2");
+ $router->succeed("ping -c 1 192.168.1.3");
+ $router->succeed("ping -c 1 192.168.1.10");
+
+ # Test vlan 2
+ $client->succeed("ping -c 1 192.168.2.1");
+ $client->succeed("ping -c 1 192.168.2.2");
+
+ $router->succeed("ping -c 1 192.168.2.1");
+ $router->succeed("ping -c 1 192.168.2.2");
+
+ # Test default gateway
+ $router->succeed("ping -c 1 192.168.3.1");
+ $client->succeed("ping -c 1 192.168.3.1");
+ '';
+ };
+ dhcpSimple = {
+ name = "SimpleDHCP";
+ nodes.router = router;
+ nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 2 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = true;
+ interfaces.eth1.ip4 = mkOverride 0 [ ];
+ interfaces.eth2.ip4 = mkOverride 0 [ ];
+ };
+ };
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client->waitForUnit("network-interfaces.target");
+ $client->waitForUnit("network.target");
+ $router->waitForUnit("network-interfaces.target");
+ $router->waitForUnit("network.target");
+
+ # Wait until we have an ip address on each interface
+ $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+ $client->succeed("while ! ip addr show dev eth2 | grep '192.168.2'; do true; done");
+
+ # Test vlan 1
+ $client->succeed("ping -c 1 192.168.1.1");
+ $client->succeed("ping -c 1 192.168.1.2");
+
+ $router->succeed("ping -c 1 192.168.1.1");
+ $router->succeed("ping -c 1 192.168.1.2");
+
+ # Test vlan 2
+ $client->succeed("ping -c 1 192.168.2.1");
+ $client->succeed("ping -c 1 192.168.2.2");
+
+ $router->succeed("ping -c 1 192.168.2.1");
+ $router->succeed("ping -c 1 192.168.2.2");
+ '';
+ };
+ dhcpOneIf = {
+ name = "OneInterfaceDHCP";
+ nodes.router = router;
+ nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 2 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = false;
+ interfaces.eth1 = {
+ ip4 = mkOverride 0 [ ];
+ useDHCP = true;
+ };
+ interfaces.eth2.ip4 = mkOverride 0 [ ];
+ };
+ };
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client->waitForUnit("network-interfaces.target");
+ $client->waitForUnit("network.target");
+ $router->waitForUnit("network-interfaces.target");
+ $router->waitForUnit("network.target");
+
+ # Wait until we have an ip address on each interface
+ $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+
+ # Test vlan 1
+ $client->succeed("ping -c 1 192.168.1.1");
+ $client->succeed("ping -c 1 192.168.1.2");
+
+ $router->succeed("ping -c 1 192.168.1.1");
+ $router->succeed("ping -c 1 192.168.1.2");
+
+ # Test vlan 2
+ $client->succeed("ping -c 1 192.168.2.1");
+ $client->fail("ping -c 1 192.168.2.2");
+
+ $router->succeed("ping -c 1 192.168.2.1");
+ $router->fail("ping -c 1 192.168.2.2");
+ '';
+ };
+ bond = let
+ node = address: { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 2 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = false;
+ bonds.bond = {
+ mode = "balance-rr";
+ interfaces = [ "eth1" "eth2" ];
+ };
+ interfaces.eth1.ip4 = mkOverride 0 [ ];
+ interfaces.eth2.ip4 = mkOverride 0 [ ];
+ interfaces.bond.ip4 = mkOverride 0
+ [ { inherit address; prefixLength = 30; } ];
+ };
+ };
+ in {
+ name = "Bond";
+ nodes.client1 = node "192.168.1.1";
+ nodes.client2 = node "192.168.1.2";
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client1->waitForUnit("network-interfaces.target");
+ $client1->waitForUnit("network.target");
+ $client2->waitForUnit("network-interfaces.target");
+ $client2->waitForUnit("network.target");
+
+ # Test bonding
+ $client1->succeed("ping -c 2 192.168.1.1");
+ $client1->succeed("ping -c 2 192.168.1.2");
+
+ $client2->succeed("ping -c 2 192.168.1.1");
+ $client2->succeed("ping -c 2 192.168.1.2");
+ '';
+ };
+ bridge = let
+ node = { address, vlan }: { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ vlan ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = false;
+ interfaces.eth1.ip4 = mkOverride 0
+ [ { inherit address; prefixLength = 24; } ];
+ };
+ };
+ in {
+ name = "Bridge";
+ nodes.client1 = node { address = "192.168.1.2"; vlan = 1; };
+ nodes.client2 = node { address = "192.168.1.3"; vlan = 2; };
+ nodes.router = { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 2 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = false;
+ bridges.bridge.interfaces = [ "eth1" "eth2" ];
+ interfaces.eth1.ip4 = mkOverride 0 [ ];
+ interfaces.eth2.ip4 = mkOverride 0 [ ];
+ interfaces.bridge.ip4 = mkOverride 0
+ [ { address = "192.168.1.1"; prefixLength = 24; } ];
+ };
+ };
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client1->waitForUnit("network-interfaces.target");
+ $client1->waitForUnit("network.target");
+ $client2->waitForUnit("network-interfaces.target");
+ $client2->waitForUnit("network.target");
+ $router->waitForUnit("network-interfaces.target");
+ $router->waitForUnit("network.target");
+
+ # Test bridging
+ $client1->succeed("ping -c 1 192.168.1.1");
+ $client1->succeed("ping -c 1 192.168.1.2");
+ $client1->succeed("ping -c 1 192.168.1.3");
+
+ $client2->succeed("ping -c 1 192.168.1.1");
+ $client2->succeed("ping -c 1 192.168.1.2");
+ $client2->succeed("ping -c 1 192.168.1.3");
+
+ $router->succeed("ping -c 1 192.168.1.1");
+ $router->succeed("ping -c 1 192.168.1.2");
+ $router->succeed("ping -c 1 192.168.1.3");
+ '';
+ };
+ macvlan = {
+ name = "MACVLAN";
+ nodes.router = router;
+ nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = true;
+ macvlans.macvlan.interface = "eth1";
+ interfaces.eth1.ip4 = mkOverride 0 [ ];
+ };
+ };
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client->waitForUnit("network-interfaces.target");
+ $client->waitForUnit("network.target");
+ $router->waitForUnit("network-interfaces.target");
+ $router->waitForUnit("network.target");
+
+ # Wait until we have an ip address on each interface
+ $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+ $client->succeed("while ! ip addr show dev macvlan | grep '192.168.1'; do true; done");
+
+ # Test macvlan
+ $client->succeed("ping -c 1 192.168.1.1");
+ $client->succeed("ping -c 1 192.168.1.2");
+ $client->succeed("ping -c 1 192.168.1.3");
+
+ $router->succeed("ping -c 1 192.168.1.1");
+ $router->succeed("ping -c 1 192.168.1.2");
+ $router->succeed("ping -c 1 192.168.1.3");
+ '';
+ };
+ sit = let
+ node = { address4, remote, address6 }: { config, pkgs, ... }: with pkgs.lib; {
+ virtualisation.vlans = [ 1 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.enable = false;
+ useDHCP = false;
+ sits.sit = {
+ inherit remote;
+ local = address4;
+ dev = "eth1";
+ };
+ interfaces.eth1.ip4 = mkOverride 0
+ [ { address = address4; prefixLength = 24; } ];
+ interfaces.sit.ip6 = mkOverride 0
+ [ { address = address6; prefixLength = 64; } ];
+ };
+ };
+ in {
+ name = "Sit";
+ nodes.client1 = node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; };
+ nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; };
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client1->waitForUnit("network-interfaces.target");
+ $client1->waitForUnit("network.target");
+ $client2->waitForUnit("network-interfaces.target");
+ $client2->waitForUnit("network.target");
+
+ $client1->succeed("ip addr >&2");
+ $client2->succeed("ip addr >&2");
+
+ # Test ipv6
+ $client1->succeed("ping6 -c 1 fc00::1");
+ $client1->succeed("ping6 -c 1 fc00::2");
+
+ $client2->succeed("ping6 -c 1 fc00::1");
+ $client2->succeed("ping6 -c 1 fc00::2");
+ '';
+ };
+ vlan = let
+ node = address: { config, pkgs, ... }: with pkgs.lib; {
+ #virtualisation.vlans = [ 1 ];
+ networking = {
+ useNetworkd = networkd;
+ firewall.allowPing = true;
+ useDHCP = false;
+ vlans.vlan = {
+ id = 1;
+ interface = "eth0";
+ };
+ interfaces.eth0.ip4 = mkOverride 0 [ ];
+ interfaces.eth1.ip4 = mkOverride 0 [ ];
+ interfaces.vlan.ip4 = mkOverride 0
+ [ { inherit address; prefixLength = 24; } ];
+ };
+ };
+ in {
+ name = "vlan";
+ nodes.client1 = node "192.168.1.1";
+ nodes.client2 = node "192.168.1.2";
+ testScript = { nodes, ... }:
+ ''
+ startAll;
+
+ $client1->waitForUnit("network-interfaces.target");
+ $client1->waitForUnit("network.target");
+ $client2->waitForUnit("network-interfaces.target");
+ $client2->waitForUnit("network.target");
+
+ # Test vlan is setup
+ $client1->succeed("ip addr show dev vlan >&2");
+ $client2->succeed("ip addr show dev vlan >&2");
+ '';
+ };
+ };
+ case = testCases.${test};
+ in case // {
+ name = "${case.name}-Networking-${if networkd then "Networkd" else "Scripted"}";
+ })
diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix
index 61b2431c04c..5ed805a1695 100644
--- a/nixos/tests/nfs.nix
+++ b/nixos/tests/nfs.nix
@@ -38,7 +38,8 @@ in
testScript =
''
$server->waitForUnit("nfsd");
- $server->waitForUnit("network.target");
+ $server->succeed("systemctl start network-online.target");
+ $server->waitForUnit("network-online.target");
startAll;
diff --git a/nixos/tests/partition.nix b/nixos/tests/partition.nix
index 72fd37e041e..5e94b263d5b 100644
--- a/nixos/tests/partition.nix
+++ b/nixos/tests/partition.nix
@@ -67,7 +67,7 @@ in {
machine = { config, pkgs, ... }: {
environment.systemPackages = [
- pkgs.pythonPackages.nixpart
+ pkgs.pythonPackages.nixpart0
pkgs.file pkgs.btrfsProgs pkgs.xfsprogs pkgs.lvm2
];
virtualisation.emptyDiskImages = [ 4096 4096 ];
@@ -209,7 +209,7 @@ in {
ensurePartition("swap", "swap");
ensurePartition("boot", "f2fs");
ensurePartition("root", "f2fs");
- remoteAndCheck;
+ remountAndCheck;
ensureMountPoint("/mnt/boot", "f2fs");
};
diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix
new file mode 100644
index 00000000000..739936a10b2
--- /dev/null
+++ b/nixos/tests/peerflix.nix
@@ -0,0 +1,21 @@
+# This test runs peerflix and checks if peerflix starts
+
+import ./make-test.nix {
+ name = "peerflix";
+
+ nodes = {
+ peerflix =
+ { config, pkgs, ... }:
+ {
+ services.peerflix.enable = true;
+ };
+ };
+
+ testScript = ''
+ startAll;
+
+ $peerflix->waitForUnit("peerflix.service");
+ $peerflix->waitUntilSucceeds("curl localhost:9000");
+ '';
+
+}
diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix
index a55e077c269..79f4db3257a 100644
--- a/nixos/tests/printing.nix
+++ b/nixos/tests/printing.nix
@@ -9,7 +9,7 @@ import ./make-test.nix ({pkgs, ... }: {
{ config, pkgs, ... }:
{ services.printing.enable = true;
services.printing.listenAddresses = [ "*:631" ];
- services.printing.cupsdConf =
+ services.printing.extraConf =
''
Order allow,deny
@@ -40,10 +40,10 @@ import ./make-test.nix ({pkgs, ... }: {
$server->fail("curl --fail --connect-timeout 2 http://client:631/");
# Add a HP Deskjet printer connected via USB to the server.
- $server->succeed("lpadmin -p DeskjetLocal -v usb://HP/Deskjet%205400%20series?serial=TH93I152S123XY -m 'drv:///sample.drv/deskjet.ppd' -E");
+ $server->succeed("lpadmin -p DeskjetLocal -E -v usb://foobar/printers/foobar");
# Add it to the client as well via IPP.
- $client->succeed("lpadmin -p DeskjetRemote -v ipp://server/printers/DeskjetLocal -m 'drv:///sample.drv/deskjet.ppd' -E");
+ $client->succeed("lpadmin -p DeskjetRemote -E -v ipp://server/printers/DeskjetLocal");
$client->succeed("lpadmin -d DeskjetRemote");
# Do some status checks.
@@ -55,7 +55,7 @@ import ./make-test.nix ({pkgs, ... }: {
$client->succeed("lpq") =~ /DeskjetRemote is ready.*no entries/s or die;
# Test printing various file types.
- foreach my $file ("${pkgs.groff}/share/doc/*/examples/mom/typesetting.pdf",
+ foreach my $file ("${pkgs.groff}/share/doc/*/examples/mom/penguin.pdf",
"${pkgs.groff}/share/doc/*/meref.ps",
"${pkgs.cups}/share/doc/cups/images/cups.png",
"${pkgs.xz}/share/doc/xz/faq.txt")
@@ -72,9 +72,8 @@ import ./make-test.nix ({pkgs, ... }: {
# (showing that the right filters have been applied). Of
# course, since there is no actual USB printer attached, the
# file will stay in the queue forever.
- $server->waitForFile("/var/spool/cups/d*-*");
- $server->succeed("lpq -a") =~ /remroot.*$fn/ or die;
- $server->succeed("hexdump -C -n2 /var/spool/cups/d*-*") =~ /1b 45/ or die; # 1b 45 = printer reset
+ $server->waitForFile("/var/spool/cups/d00001-001");
+ $server->succeed("lpq -a") =~ /$fn/ or die;
# Delete the job on the client. It should disappear on the
# server as well.
diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix
index 01f0f3fe17a..8350bc5c6a4 100644
--- a/nixos/tests/proxy.nix
+++ b/nixos/tests/proxy.nix
@@ -22,20 +22,19 @@ in
{ services.httpd.enable = true;
services.httpd.adminAddr = "bar@example.org";
- services.httpd.extraModules = ["proxy_balancer"];
+ services.httpd.extraModules = [ "proxy_balancer" "lbmethod_byrequests" ];
services.httpd.extraConfig =
''
ExtendedStatus on
- Order deny,allow
- Allow from all
+ Require all granted
SetHandler server-status
- Allow from all
+ Require all granted
BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0
BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0
diff --git a/nixos/tests/run-in-machine.nix b/nixos/tests/run-in-machine.nix
index 7f6e6a6dc57..d1102f8d407 100644
--- a/nixos/tests/run-in-machine.nix
+++ b/nixos/tests/run-in-machine.nix
@@ -2,9 +2,7 @@
with import ../lib/testing.nix { inherit system; };
-{
- test = runInMachine {
- drv = pkgs.hello;
- machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ };
- };
+runInMachine {
+ drv = pkgs.hello;
+ machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ };
}
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index 62b88cbe077..5180be3c940 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -6,7 +6,7 @@
, perl, pkgconfig, python, serd, sord, sratom, suil }:
let
- tag = "3.5.380";
+ tag = "3.5.403";
in
stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = git://git.ardour.org/ardour/ardour.git;
rev = "refs/tags/${tag}";
- sha256 = "dbcbb2d9143e196d079c27b15266e47d24b81cb7591fe64b717f3485965ded7b";
+ sha256 = "7d7c8e2c7ccccca6c8324fd874509e1b0d89f3f42cb92982c50d212797463f4c";
};
buildInputs =
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index 88931520c42..10baf254dc7 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -39,7 +39,7 @@ assert withOnlineServices -> withTaglib;
assert withReplaygain -> withTaglib;
let
- version = "1.4.1";
+ version = "1.5.0";
pname = "cantata";
fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
fstats = x: map (fstat x);
@@ -50,8 +50,8 @@ stdenv.mkDerivation rec {
src = fetchurl {
inherit name;
- url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60eXhuZ1Z3bGM2bjQ";
- sha256 = "b0d5a1798efd275d72dffb87bc0f016fc865dbd1384b7c9af039cebdffe0cca3";
+ url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60c0pFbEtldEk1UnM";
+ sha256 = "0gnqfp3ps79d500hrivxj2xkkia042knhg86md6w8ycl3945611p";
};
buildInputs =
@@ -92,8 +92,8 @@ stdenv.mkDerivation rec {
];
meta = with stdenv.lib; {
- homepage = "http://code.google.com/p/cantata/";
- description = "A graphical client for MPD.";
+ homepage = http://code.google.com/p/cantata/;
+ description = "A graphical client for MPD";
license = licenses.gpl3;
# Technically Cantata can run on Windows so if someone wants to
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
new file mode 100644
index 00000000000..24613d4dd96
--- /dev/null
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, makeWrapper, bash, bc, findutils, flac, lame, opusTools, procps, sox }:
+
+let
+ version = "1.7.5";
+in
+
+stdenv.mkDerivation rec {
+ name = "caudec-${version}";
+
+ src = fetchurl {
+ url = "http://caudec.net/downloads/caudec-${version}.tar.gz";
+ sha256 = "5d1f5ab3286bb748bd29cbf45df2ad2faf5ed86070f90deccf71c60be832f3d5";
+ };
+
+ preBuild = ''
+ patchShebangs ./install.sh
+ '';
+
+ buildInputs = [ bash makeWrapper ];
+
+ installPhase = ''
+ ./install.sh --prefix=$out/bin
+ '';
+
+ postFixup = ''
+ for executable in $(cd $out/bin && ls); do
+ wrapProgram $out/bin/$executable \
+ --prefix PATH : "${bc}/bin:${findutils}/bin:${sox}/bin:${procps}/bin:${opusTools}/bin:${lame}/bin:${flac}/bin"
+ done
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://caudec.net/;
+ description = "A multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)";
+ license = licenses.gpl3;
+ platforms = platforms.linux ++ platforms.darwin;
+ maintainers = with maintainers; [ _1126 ];
+ };
+}
diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/applications/audio/chuck/darwin-limits.patch
new file mode 100644
index 00000000000..3387f725544
--- /dev/null
+++ b/pkgs/applications/audio/chuck/darwin-limits.patch
@@ -0,0 +1,13 @@
+--- a/src/util_string.cpp 2014-10-27 22:52:11.875981552 +0100
++++ b/src/util_string.cpp 2014-10-27 22:54:18.613001994 +0100
+@@ -40,6 +40,10 @@
+ #include
+ #endif // __PLATFORM_LINUX__
+
++#ifdef __PLATFORM_MACOSX__
++#include
++#endif // __PLATFORM_MACOSX__
++
+ #include
+ using namespace std;
+
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
new file mode 100644
index 00000000000..7725ba1e4c8
--- /dev/null
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which }:
+
+stdenv.mkDerivation rec {
+ version = "1.3.4.0";
+ name = "chuck-${version}";
+
+ src = fetchurl {
+ url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
+ sha256 = "0cwbk8b1i18nkh2nxwzk2prranw83lgglxw7ccnp6b0r2b2yfpmn";
+ };
+
+ buildInputs = [ bison flex libsndfile which ]
+ ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+
+ patches = [ ./darwin-limits.patch ];
+
+ postPatch = ''
+ substituteInPlace src/makefile --replace "/usr/bin" "$out/bin"
+ substituteInPlace src/makefile.osx --replace "xcodebuild" "/usr/bin/xcodebuild"
+ substituteInPlace src/makefile.osx --replace "weak_framework" "framework"
+ '';
+
+ buildPhase =
+ stdenv.lib.optionals stdenv.isLinux ["make -C src linux-alsa"] ++
+ stdenv.lib.optionals stdenv.isDarwin ["make -C src osx"];
+
+ installPhase = ''
+ install -Dm755 ./src/chuck $out/bin/chuck
+ '';
+
+ meta = {
+ description = "Programming language for real-time sound synthesis and music creation";
+ homepage = http://chuck.cs.princeton.edu;
+ license = stdenv.lib.licenses.gpl2;
+ platforms = with stdenv.lib.platforms; linux ++ darwin;
+ maintainers = with stdenv.lib.maintainers; [ ftrvxmtrx ];
+ };
+}
diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix
index 4f9c491a3a5..7cabc98ebaa 100644
--- a/pkgs/applications/audio/cmus/default.nix
+++ b/pkgs/applications/audio/cmus/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, ffmpeg, libvorbis, mpc, mp4v2 }:
+{ stdenv, fetchgit, ncurses, pkgconfig, alsaLib, flac, libmad, ffmpeg, libvorbis, mpc, mp4v2, libcue, pulseaudio}:
stdenv.mkDerivation rec {
name = "cmus-${version}";
- version = "2.5.0";
+ version = "2.6.0";
- src = fetchurl {
- url = "mirror://sourceforge/cmus/cmus-v${version}.tar.bz2";
- sha256 = "1pwd3jifv12yr0yr77hsv5c9y8ay6kn2b5a3s5i8v2c882vgl890";
+ src = fetchgit {
+ url = https://github.com/cmus/cmus.git;
+ rev = "46b71032da827d22d4fae5bf2afcc4c9afef568c";
+ sha256 = "1hkqifll5ryf3ljp3w1dxz1p8m6rk34fpazc6vwavis6ga310hka";
};
configurePhase = "./configure prefix=$out";
- buildInputs = [ ncurses pkgconfig alsaLib flac libmad ffmpeg libvorbis mpc mp4v2 ];
+ buildInputs = [ ncurses pkgconfig alsaLib flac libmad ffmpeg libvorbis mpc mp4v2 libcue pulseaudio ];
meta = {
description = "Small, fast and powerful console music player for Linux and *BSD";
- homepage = http://cmus.sourceforge.net;
+ homepage = https://cmus.github.io/;
license = stdenv.lib.licenses.gpl2;
};
}
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 19c590330f6..64f3f3586a3 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -12,13 +12,13 @@
}:
stdenv.mkDerivation {
- name = "csound-5.19.01";
+ name = "csound-6.03.2";
enableParallelBuilding = true;
src = fetchurl {
- url = mirror://sourceforge/csound/Csound5.19.01.tar.gz;
- sha256 = "078i69jwgadmxwa5ffn8h1py7cmd9asa8swnh38fyp56lzgzn669";
+ url = mirror://sourceforge/csound/Csound6.03.2.tar.gz;
+ sha256 = "0w6ij57dbfjljpf05bb9r91jphwaq1v63rh0713vl2n11d73dy7m";
};
buildInputs = [ cmake libsndfile flex bison alsaLib pulseaudio tcltk ];
diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix
new file mode 100644
index 00000000000..2daafda554e
--- /dev/null
+++ b/pkgs/applications/audio/drumgizmo/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, alsaLib, expat, glib, jack2, libX11, libpng
+, libpthreadstubs, libsmf, libsndfile, lv2, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+ version = "0.9.6";
+ name = "drumgizmo-${version}";
+
+ src = fetchurl {
+ url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
+ sha256 = "1qs8aa1v8cw5zgfzcnr2dc4w0y5yzsgrywlnx2hfvx2si3as0mw4";
+ };
+
+ configureFlags = [ "--enable-lv2" ];
+
+ buildInputs = [
+ alsaLib expat glib jack2 libX11 libpng libpthreadstubs libsmf
+ libsndfile lv2 pkgconfig
+ ];
+
+ meta = with stdenv.lib; {
+ description = "An LV2 sample based drum plugin";
+ homepage = http://www.drumgizmo.org;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.goibhniu ];
+ };
+}
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index 3ba7b5903f9..d4927cc1a71 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -1,28 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, glib, libid3tag, id3lib, taglib
-, libvorbis, libogg, flac, itstool, libxml2
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libid3tag, id3lib, taglib
+, libvorbis, libogg, flac, itstool, libxml2, gsettings_desktop_schemas
+, makeWrapper, gnome_icon_theme
}:
stdenv.mkDerivation rec {
name = "easytag-${version}";
- version = "2.2.4";
+ version = "2.3.2";
src = fetchurl {
- url = "mirror://gnome/sources/easytag/2.2/${name}.tar.xz";
- sha256 = "14f0s0l28fwxnc37aw1imal2xcg9ykq35mx2j9gaqzz02ymjk0s5";
+ url = "mirror://gnome/sources/easytag/2.3/${name}.tar.xz";
+ sha256 = "0bj3sj4yzlnhan38j84acs7qv27fl3xy4rdrfq6dnpz4q6qccm84";
};
- preConfigure = ''
- # pkg-config v0.23 should be enough.
- sed -i -e '/_pkg_min_version=0.24/s/24/23/' \
- -e 's/have_mp3=no/have_mp3=yes/' \
- -e 's/ID3TAG_DEPS="id3tag"/ID3TAG_DEPS=""/' configure
+ preFixup = ''
+ wrapProgram $out/bin/easytag \
+ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
'';
NIX_LDFLAGS = "-lid3tag -lz";
+ nativeBuildInputs = [ makeWrapper ];
buildInputs = [
- pkgconfig intltool gtk glib libid3tag id3lib taglib libvorbis libogg flac
- itstool libxml2
+ pkgconfig intltool gtk3 glib libid3tag id3lib taglib libvorbis libogg flac
+ itstool libxml2 gsettings_desktop_schemas gnome_icon_theme
];
meta = {
diff --git a/pkgs/applications/audio/faust-compiler/default.nix b/pkgs/applications/audio/faust-compiler/default.nix
new file mode 100644
index 00000000000..5e980691df6
--- /dev/null
+++ b/pkgs/applications/audio/faust-compiler/default.nix
@@ -0,0 +1,101 @@
+{ fetchurl, stdenv, unzip, pkgconfig, makeWrapper, libsndfile, libmicrohttpd, vim }:
+
+stdenv.mkDerivation rec {
+
+ version = "0.9.67";
+ name = "faust-compiler-${version}";
+ src = fetchurl {
+ url = "http://downloads.sourceforge.net/project/faudiostream/faust-${version}.zip";
+ sha256 = "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1";
+ };
+
+ buildInputs = [ unzip pkgconfig makeWrapper libsndfile libmicrohttpd vim];
+
+
+ makeFlags="PREFIX = $(out)";
+ FPATH="$out"; # <- where to search
+
+ patchPhase = ''
+ sed -i 's@?= $(shell uname -s)@:= Linux@g' architecture/osclib/oscpack/Makefile
+ sed -i 's@faust/misc.h@../../architecture/faust/misc.h@g' tools/sound2faust/sound2faust.cpp
+ sed -i 's@faust/gui/@../../architecture/faust/gui/@g' architecture/faust/misc.h
+ '';
+
+ buildPhase = ''
+ make -C compiler -f Makefile.unix
+ make -C architecture/osclib
+ g++ -O3 tools/sound2faust/sound2faust.cpp `pkg-config --cflags --static --libs sndfile` -o tools/sound2faust/sound2faust
+ make httpd
+
+ '';
+
+ installPhase = ''
+
+ echo install faust itself
+ mkdir -p $out/bin/
+ mkdir -p $out/include/
+ mkdir -p $out/include/faust/
+ mkdir -p $out/include/faust/osc/
+ install compiler/faust $out/bin/
+
+ echo install architecture and faust library files
+ mkdir -p $out/lib/faust
+ cp architecture/*.lib $out/lib/faust/
+ cp architecture/*.cpp $out/lib/faust/
+
+ echo install math documentation files
+ cp architecture/mathdoctexts-*.txt $out/lib/faust/
+ cp architecture/latexheader.tex $out/lib/faust/
+
+ echo install additional binary libraries: osc, http
+ ([ -e architecture/httpdlib/libHTTPDFaust.a ] && cp architecture/httpdlib/libHTTPDFaust.a $out/lib/faust/) || echo libHTTPDFaust not available
+ cp architecture/osclib/*.a $out/lib/faust/
+ cp -r architecture/httpdlib/html/js $out/lib/faust/js
+ ([ -e architecture/httpdlib/src/hexa/stylesheet ] && cp architecture/httpdlib/src/hexa/stylesheet $out/lib/faust/js/stylesheet.js) || echo stylesheet not available
+ ([ -e architecture/httpdlib/src/hexa/jsscripts ] && cp architecture/httpdlib/src/hexa/jsscripts $out/lib/faust/js/jsscripts.js) || echo jsscripts not available
+
+ echo install includes files for architectures
+ cp -r architecture/faust $out/include/
+
+ echo install additional includes files for binary libraries: osc, http
+ cp architecture/osclib/faust/faust/OSCControler.h $out/include/faust/gui/
+ cp architecture/osclib/faust/faust/osc/*.h $out/include/faust/osc/
+ cp architecture/httpdlib/src/include/*.h $out/include/faust/gui/
+
+
+ echo patch header and cpp files
+ find $out/include/ -name "*.h" -type f | xargs sed "s@#include \"faust/@#include \"$out/include/faust/@g" -i
+ find $out/lib/faust/ -name "*.cpp" -type f | xargs sed "s@#include \"faust/@#include \"$out/include/faust/@g" -i
+ sed -i "s@../../architecture/faust/gui/@$out/include/faust/gui/@g" $out/include/faust/misc.h
+
+ wrapProgram $out/bin/faust \
+ --set FAUSTLIB $out/lib/faust \
+ --set FAUST_LIB_PATH $out/lib/faust \
+ --set FAUSTINC $out/include/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A functional programming language for realtime audio signal processing";
+ longDescription = ''
+ FAUST (Functional Audio Stream) is a functional programming
+ language specifically designed for real-time signal processing
+ and synthesis. FAUST targets high-performance signal processing
+ applications and audio plug-ins for a variety of platforms and
+ standards.
+ The Faust compiler translates DSP specifications into very
+ efficient C++ code. Thanks to the notion of architecture,
+ FAUST programs can be easily deployed on a large variety of
+ audio platforms and plugin formats (jack, alsa, ladspa, maxmsp,
+ puredata, csound, supercollider, pure, vst, coreaudio) without
+ any change to the FAUST code.
+ This package has just the compiler. Install faust for the full
+ set of faust2somethingElse tools.
+ '';
+ homepage = http://faust.grame.fr/;
+ downloadPage = http://sourceforge.net/projects/faudiostream/files/;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.magnetophon ];
+ };
+}
+
diff --git a/pkgs/applications/audio/faust/default.nix b/pkgs/applications/audio/faust/default.nix
new file mode 100644
index 00000000000..9d25573ccc8
--- /dev/null
+++ b/pkgs/applications/audio/faust/default.nix
@@ -0,0 +1,79 @@
+{ fetchurl, stdenv, bash, alsaLib, atk, cairo, faust-compiler, fontconfig, freetype
+, gcc, gdk_pixbuf, glib, gtk, makeWrapper, pango, pkgconfig, unzip
+, gtkSupport ? true
+}:
+
+stdenv.mkDerivation rec {
+
+ version = "0.9.67";
+ name = "faust-${version}";
+ src = fetchurl {
+ url = "http://downloads.sourceforge.net/project/faudiostream/faust-${version}.zip";
+ sha256 = "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1";
+ };
+
+ buildInputs = [ bash unzip faust-compiler gcc makeWrapper pkgconfig ]
+ ++ stdenv.lib.optionals gtkSupport [
+ alsaLib atk cairo fontconfig freetype gdk_pixbuf glib gtk pango
+ ]
+ ;
+
+ makeFlags="PREFIX=$(out)";
+ FPATH="$out"; # <- where to search
+
+ phases = [ "unpackPhase installPhase postInstall" ];
+
+ installPhase = ''
+ mkdir $out/bin
+ install tools/faust2appls/faust2alsaconsole $out/bin
+ install tools/faust2appls/faustpath $out/bin
+ install tools/faust2appls/faustoptflags $out/bin
+ install tools/faust2appls/faust2alsa $out/bin
+
+ wrapProgram $out/bin/faust2alsaconsole \
+ --prefix PKG_CONFIG_PATH : ${alsaLib}/lib/pkgconfig \
+ --set FAUSTLIB ${faust-compiler}/lib/faust \
+ --set FAUSTINC ${faust-compiler}/include/
+
+ GTK_PKGCONFIG_PATHS=${gtk}/lib/pkgconfig:${pango}/lib/pkgconfig:${glib}/lib/pkgconfig:${cairo}/lib/pkgconfig:${gdk_pixbuf}/lib/pkgconfig:${atk}/lib/pkgconfig:${freetype}/lib/pkgconfig:${fontconfig}/lib/pkgconfig
+
+ wrapProgram $out/bin/faust2alsa \
+ --prefix PKG_CONFIG_PATH : ${alsaLib}/lib/pkgconfig:$GTK_PKGCONFIG_PATHS \
+ --set FAUSTLIB ${faust-compiler}/lib/faust \
+ --set FAUSTINC ${faust-compiler}/include/ \
+ '' + stdenv.lib.optionalString (!gtkSupport) "rm $out/bin/faust2alsa"
+ ;
+
+ postInstall = ''
+ find $out/bin/ -name "faust2*" -type f | xargs sed "s@/bin/bash@${bash}/bin/bash@g" -i
+ sed -i "s@/bin/bash@${bash}/bin/bash@g" $out/bin/faustpath
+ sed -e "s@\$FAUST_INSTALL /usr/local /usr /opt /opt/local@${faust-compiler}@g" -i $out/bin/faustpath
+ sed -i "s@/bin/bash@${bash}/bin/bash@g" $out/bin/faustoptflags
+ find $out/bin/ -name "faust2*" -type f | xargs sed "s@pkg-config@${pkgconfig}/bin/pkg-config@g" -i
+ find $out/bin/ -name "faust2*" -type f | xargs sed "s@CXX=g++@CXX=${gcc}/bin/g++@g" -i
+ find $out/bin/ -name "faust2*" -type f | xargs sed "s@faust -i -a @${faust-compiler}/bin/faust -i -a ${faust-compiler}/lib/faust/@g" -i
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A functional programming language for realtime audio signal processing";
+ longDescription = ''
+ FAUST (Functional Audio Stream) is a functional programming
+ language specifically designed for real-time signal processing
+ and synthesis. FAUST targets high-performance signal processing
+ applications and audio plug-ins for a variety of platforms and
+ standards.
+ The Faust compiler translates DSP specifications into very
+ efficient C++ code. Thanks to the notion of architecture,
+ FAUST programs can be easily deployed on a large variety of
+ audio platforms and plugin formats (jack, alsa, ladspa, maxmsp,
+ puredata, csound, supercollider, pure, vst, coreaudio) without
+ any change to the FAUST code.
+ '';
+ homepage = http://faust.grame.fr/;
+ downloadPage = http://sourceforge.net/projects/faudiostream/files/;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.magnetophon ];
+ };
+}
+
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index 728155c02bd..c151deddd70 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -1,5 +1,6 @@
{ stdenv, fetchurl, libtool, intltool, pkgconfig, glib
, gtk, curl, mpd_clientlib, libsoup, gob2, vala, libunique
+, libSM, libICE, sqlite
}:
stdenv.mkDerivation rec {
@@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libtool intltool pkgconfig glib gtk curl mpd_clientlib libsoup
- libunique libmpd gob2 vala
+ libunique libmpd gob2 vala libSM libICE sqlite
];
meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/google-musicmanager/default.nix b/pkgs/applications/audio/google-musicmanager/default.nix
index 107dcdce05c..63a87b31554 100644
--- a/pkgs/applications/audio/google-musicmanager/default.nix
+++ b/pkgs/applications/audio/google-musicmanager/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
src = if stdenv.system == "x86_64-linux"
then fetchurl {
url = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/google-musicmanager-${version}_amd64.deb";
- sha256 = "0efdce3970e2cf83eb7d8f6021f987a1517a41823784ada8e51f1649f8a49342";
+ sha256 = "10nr7qlrn5af4g0l6n4xzximmhc216vhzgpy7cpxs662zpli3v1a";
}
else fetchurl {
url = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/google-musicmanager-${version}_i386.deb";
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index de5ef055125..e8c14a9c763 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,6 +1,5 @@
{ pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
- ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "",
- gnome3, hicolor_icon_theme }:
+ ipodSupport ? true, libgpod, gnome3, hicolor_icon_theme }:
with pkgs.lib;
@@ -8,20 +7,23 @@ let
inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
in buildPythonPackage rec {
- name = "gpodder-3.8.0";
+ name = "gpodder-3.8.3";
src = fetchurl {
url = "http://gpodder.org/src/${name}.tar.gz";
- sha256 = "0731f08f4270c81872b841b55200ae80feb4502706397d0085079471fb9a8fe4";
+ sha256 = "8ac120a6084bded6bc88ecadbbc9df54a85f44ef4507f73a76de1d7a5574303c";
};
buildInputs = [
coverage feedparser minimock sqlite3 mygpoclient intltool
- gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
- hicolor_icon_theme
+ gnome3.gnome_themes_standard gnome3.gnome_icon_theme
+ gnome3.gnome_icon_theme_symbolic hicolor_icon_theme
+ gnome3.gsettings_desktop_schemas
];
- propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
+ propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+ pythonPath = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
++ stdenv.lib.optional ipodSupport libgpod;
postPatch = "sed -ie 's/PYTHONPATH=src/PYTHONPATH=\$(PYTHONPATH):src/' makefile";
@@ -30,8 +32,6 @@ in buildPythonPackage rec {
preFixup = ''
wrapProgram $out/bin/gpodder \
- ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \
- ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"} \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
@@ -66,7 +66,7 @@ in buildPythonPackage rec {
for you. Listen directly on your computer or on your mobile devices.
'';
homepage = "http://gpodder.org/";
- license = "GPLv3";
+ license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
maintainers = [ stdenv.lib.maintainers.skeidel ];
};
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 80a7cf52cd8..9c08b2ab6d7 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,11 +1,8 @@
{ stdenv, fetchurl, pkgconfig, makeWrapper, intltool, libgpod, curl, flac,
- gnome3_12, gtk3, glib, gettext, perl, perlXMLParser , libglade, flex, libid3tag,
+ gnome, gtk3, glib, gettext, perl, perlXMLParser, flex, libglade, libid3tag,
libvorbis, hicolor_icon_theme, gdk_pixbuf }:
-let
- gnome = gnome3_12;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
version = "2.1.4";
name = "gtkpod-${version}";
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index 3a125ef665d..c4ba88c87ed 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -4,15 +4,15 @@
stdenv.mkDerivation rec {
name = "guitarix-${version}";
- version = "0.30.0";
+ version = "0.32.0";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
- sha256 = "0fbapd1pcixzlqxgzb2s2q1c64g9z9lf4hz3vy73z55cnpk72vdx";
+ sha256 = "06qxydcba1ga1l19kyqy0mk141mv6pa4wbkyh75xbwhyr65bwkc4";
};
buildInputs = [
- avahi boost boost.lib eigen fftw gettext glib glibmm gtk gtkmm intltool
+ avahi boost eigen fftw gettext glib glibmm gtk gtkmm intltool
jack2 ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom
];
diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix
index 72e546246d5..434f683bd5c 100644
--- a/pkgs/applications/audio/hydrogen/default.nix
+++ b/pkgs/applications/audio/hydrogen/default.nix
@@ -2,12 +2,12 @@
, liblrdf, libsndfile, pkgconfig, qt4 }:
stdenv.mkDerivation rec {
- version = "0.9.6";
+ version = "0.9.6.1";
name = "hydrogen-${version}";
src = fetchurl {
url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz";
- sha256 = "1z7j8aq158mp41iv78j0w6fyx98y1y51z592b4x5hkvicabgck5w";
+ sha256 = "0vxnaqfmcv7hhk0cj67imdcqngspnck7f0wfmvhfgfqa7x1xznll";
};
buildInputs = [
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index f6c0d9e9945..450b57a6819 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- boost boost.lib ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
+ boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
raul serd sord sratom suil
];
diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix
index eadbaabcf56..d5d7ea7be76 100644
--- a/pkgs/applications/audio/milkytracker/default.nix
+++ b/pkgs/applications/audio/milkytracker/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
buildInputs = [ SDL alsaLib autoconf automake jack2 perl zlib zziplib ];
meta = {
- description = "Music tracker application, similar to Fasttracker II.";
+ description = "Music tracker application, similar to Fasttracker II";
homepage = http://milkytracker.org;
license = stdenv.lib.licenses.gpl3Plus;
platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index 9fbf05a2feb..ec9b1dd47ae 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
description = "An ncurses console audio player designed to be powerful and easy to use";
homepage = http://moc.daper.net/;
license = licenses.gpl2;
- maintainers = with maintainers; [ pSub ];
+ maintainers = with maintainers; [ pSub jagajaga ];
platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/audio/mopidy-mopify/default.nix b/pkgs/applications/audio/mopidy-mopify/default.nix
new file mode 100644
index 00000000000..715fd111536
--- /dev/null
+++ b/pkgs/applications/audio/mopidy-mopify/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonPackage rec {
+ name = "mopidy-mopify-${version}";
+
+ version = "0.1.6";
+
+ src = fetchurl {
+ url = "https://github.com/dirkgroenen/mopidy-mopify/archive/${version}.tar.gz";
+ sha256 = "3581de6b0b42d2ece63bc153dcdba0594fbbeaacf695f2cd1e5d199670d83775";
+ };
+
+ propagatedBuildInputs = [ mopidy ];
+
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/dirkgroenen/mopidy-mopify;
+ description = "A mopidy webclient based on the Spotify webbased interface.";
+ license = licenses.gpl3;
+ maintainers = [ maintainers.Gonzih ];
+ };
+}
diff --git a/pkgs/applications/audio/mopidy-spotify/default.nix b/pkgs/applications/audio/mopidy-spotify/default.nix
index 6223ffb0d81..b16e63dc421 100644
--- a/pkgs/applications/audio/mopidy-spotify/default.nix
+++ b/pkgs/applications/audio/mopidy-spotify/default.nix
@@ -16,7 +16,7 @@ pythonPackages.buildPythonPackage rec {
meta = with stdenv.lib; {
homepage = http://www.mopidy.com/;
- description = "Mopidy extension for playing music from Spotify.";
+ description = "Mopidy extension for playing music from Spotify";
license = licenses.asl20;
maintainers = [ maintainers.rickynils ];
hydraPlatforms = [];
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index a0a3af0e958..b261508438f 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -28,7 +28,7 @@ pythonPackages.buildPythonPackage rec {
homepage = http://www.mopidy.com/;
description = ''
An extensible music server that plays music from local disk, Spotify,
- SoundCloud, Google Play Music, and more.
+ SoundCloud, Google Play Music, and more
'';
license = licenses.asl20;
maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/applications/audio/morituri/default.nix b/pkgs/applications/audio/morituri/default.nix
new file mode 100644
index 00000000000..6af08cf0221
--- /dev/null
+++ b/pkgs/applications/audio/morituri/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, python, pythonPackages, cdparanoia, cdrdao
+, pygobject, gst_python, gst_plugins_base, gst_plugins_good
+, setuptools, utillinux, makeWrapper }:
+
+stdenv.mkDerivation rec {
+ name = "morituri-${version}";
+ version = "0.2.3";
+
+ src = fetchurl {
+ url = "http://thomas.apestaart.org/download/morituri/${name}.tar.bz2";
+ sha256 = "1b30bs1y8azl04izsrl01gw9ys0lhzkn5afxi4p8qbiri2h4v210";
+ };
+
+ pythonPath = [
+ pygobject gst_python pythonPackages.musicbrainzngs
+ pythonPackages.pycdio pythonPackages.pyxdg setuptools
+ ];
+
+ buildInputs = [
+ python cdparanoia cdrdao utillinux makeWrapper
+ gst_plugins_base gst_plugins_good
+ ] ++ pythonPath;
+
+ patches = [ ./paths.patch ];
+
+ postPatch = ''
+ substituteInPlace morituri/extern/python-command/scripts/help2man \
+ --replace /usr/bin/python ${python}/bin/python
+
+ substituteInPlace morituri/common/program.py \
+ --replace umount ${utillinux}/bin/umount \
+ --replace \'eject \'${utillinux}/bin/eject
+
+ substituteInPlace morituri/program/cdparanoia.py \
+ --replace '"cdparanoia"' '"${cdparanoia}/bin/cdparanoia"'
+
+ substituteInPlace morituri/program/cdrdao.py \
+ --replace "['cdrdao', ]" "['${cdrdao}/bin/cdrdao', ]" \
+ --replace '"cdrdao"' '"${cdrdao}/bin/cdrdao"'
+ '';
+
+ # This package contains no binaries to patch or strip.
+ dontPatchELF = true;
+ dontStrip = true;
+
+ postInstall = ''
+ wrapProgram "$out/bin/rip" \
+ --prefix PYTHONPATH : "$PYTHONPATH" \
+ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://thomas.apestaart.org/morituri/trac/;
+ description = "A CD ripper aiming for accuracy over speed";
+ maintainers = [ maintainers.rycee ];
+ license = licenses.gpl3Plus;
+ };
+}
diff --git a/pkgs/applications/audio/morituri/paths.patch b/pkgs/applications/audio/morituri/paths.patch
new file mode 100644
index 00000000000..12f1d5b761c
--- /dev/null
+++ b/pkgs/applications/audio/morituri/paths.patch
@@ -0,0 +1,12 @@
+diff -Nurp morituri-0.2.3-orig/doc/Makefile.in morituri-0.2.3/doc/Makefile.in
+--- morituri-0.2.3-orig/doc/Makefile.in 2014-11-01 00:13:01.231364181 +0100
++++ morituri-0.2.3/doc/Makefile.in 2014-11-01 00:13:56.691812229 +0100
+@@ -486,7 +486,7 @@ morituri.ics: $(top_srcdir)/morituri.doa
+ -moap doap -f $(top_srcdir)/morituri.doap ical > morituri.ics
+
+ rip.1: $(top_srcdir)/morituri/extern/python-command/scripts/help2man $(top_srcdir)/morituri
+- PYTHONPATH=$(top_srcdir) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1
++ PYTHONPATH=$(top_srcdir):$(PYTHONPATH) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1
+
+ clean-local:
+ @rm -rf reference
diff --git a/pkgs/applications/audio/mp3splt/default.nix b/pkgs/applications/audio/mp3splt/default.nix
index b1970a998d5..08d91498cc0 100644
--- a/pkgs/applications/audio/mp3splt/default.nix
+++ b/pkgs/applications/audio/mp3splt/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = {
description = "utility to split mp3, ogg vorbis and FLAC files without decoding";
homepage = http://sourceforge.net/projects/mp3splt/;
- license = "GPLv2";
+ license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.bosu ];
platforms = stdenv.lib.platforms.unix;
};
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index 186c5265433..6e4ddcb1e9c 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -1,16 +1,18 @@
{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
-, libiconvOrEmpty }:
+, libiconvOrEmpty, boost, readline }:
stdenv.mkDerivation rec {
- version = "0.5.10";
+ version = "0.6.1";
name = "ncmpcpp-${version}";
src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
- sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
+ sha256 = "033a18hj0q0smm5n0ykld9az7w95myr7jm2b1bjm0h2q5927x8qm";
};
- buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ]
+ configureFlags = "BOOST_LIB_SUFFIX=";
+
+ buildInputs = [ ncurses curl taglib fftw mpd_clientlib boost pkgconfig readline ]
++ libiconvOrEmpty;
meta = with stdenv.lib; {
@@ -21,4 +23,3 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
};
}
-
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
index 769af20c0ed..d273c238177 100644
--- a/pkgs/applications/audio/pamixer/default.nix
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034";
};
- buildInputs = [ pulseaudio boost boost.lib ];
+ buildInputs = [ pulseaudio boost ];
installPhase = ''
mkdir -p $out/bin
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 235a81a6a32..d0c3f010e6e 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -1,26 +1,17 @@
-{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
-, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint
+{ stdenv, buildPythonPackage, fetchurl, gettext
+, pkgconfig, libofa, ffmpeg, chromaprint
+, pyqt4, mutagen, python-libdiscid
}:
-pythonPackages.buildPythonPackage rec {
+let version = "1.3"; in
+buildPythonPackage {
name = "picard-${version}";
- namePrefix = "";
- version = "1.2";
src = fetchurl {
- url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
- sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6";
+ url = "ftp://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz";
+ sha256 = "06s90w1j29qhd931dgj752k5v4pjbvxiz6g0613xzj3ms8zsrlys";
};
- postPatch = let
- discid = "${libdiscid}/lib/libdiscid.so.0";
- fpr = "${chromaprint}/bin/fpcalc";
- in ''
- substituteInPlace picard/disc.py --replace libdiscid.so.0 ${discid}
- substituteInPlace picard/const.py \
- --replace "FPCALC_NAMES = [" "FPCALC_NAMES = ['${fpr}',"
- '';
-
buildInputs = [
pkgconfig
ffmpeg
@@ -29,19 +20,11 @@ pythonPackages.buildPythonPackage rec {
];
propagatedBuildInputs = [
- pythonPackages.mutagen
pyqt4
- libdiscid
+ mutagen
+ python-libdiscid
];
- configurePhase = ''
- python setup.py config
- '';
-
- buildPhase = ''
- python setup.py build
- '';
-
installPhase = ''
python setup.py install --prefix="$out"
'';
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index 86c68d087b7..354a3e43616 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -1,11 +1,12 @@
{ stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
+let version = "5401"; in
stdenv.mkDerivation {
- name = "praat-5365";
+ name = "praat-${version}";
src = fetchurl {
- url = http://www.fon.hum.uva.nl/praat/praat5365_sources.tar.gz;
- sha256 = "1w3mcq0mipx88i7ckhvzhmdj0p67nhppnn7kbkp21d01yyyz5rgq";
+ url = "http://www.fon.hum.uva.nl/praat/praat${version}_sources.tar.gz";
+ sha256 = "1hx0simc0hp5w5scyaiw8h8lrpafra4h1zy1jn1kzb0299yd06n3";
};
configurePhase = ''
diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix
index ba875255d4a..9b87dd53bf6 100644
--- a/pkgs/applications/audio/qjackctl/default.nix
+++ b/pkgs/applications/audio/qjackctl/default.nix
@@ -1,14 +1,14 @@
{ stdenv, fetchurl, qt4, alsaLib, jack2, dbus }:
stdenv.mkDerivation rec {
- version = "0.3.11";
+ version = "0.3.12";
name = "qjackctl-${version}";
# some dependencies such as killall have to be installed additionally
src = fetchurl {
url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
- sha256 = "1wjzrgx3n2asyxk6cnfcm34msaw84qvsqy08bd4qnghrgpl96hwl";
+ sha256 = "14yvnc4k3hwsjflg8b2d04bc63pdl0gyqjc7vl6rdn29nbr23zwc";
};
buildInputs = [ qt4 alsaLib jack2 dbus ];
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index a18ef97dd60..0622194d2c2 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -28,11 +28,11 @@
# handle that.
stdenv.mkDerivation rec {
- name = "qmmp-0.7.6";
+ name = "qmmp-0.8.2";
src = fetchurl {
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
- sha256 = "1hq08ii06lyfg516jrvxdfcjj509gvglvdlsr96aqi1fh8v4k5p9";
+ sha256 = "1vwjy3bv1gj6k5kqkhw2q7aspashw6x4lxccl28iydjfzk7d7cd4";
};
buildInputs =
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index 561a72bb38b..079703d40ae 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -3,12 +3,12 @@
, libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
stdenv.mkDerivation rec {
- version = "0.6.3";
+ version = "0.6.4";
name = "qtractor-${version}";
src = fetchurl {
url = "mirror://sourceforge/qtractor/${name}.tar.gz";
- sha256 = "1lsmd83vhgfzb3bf02hi6xp5ryh08lz4h21agy7wm3acjqc6gsc2";
+ sha256 = "1wgm9cx9mrxgd69kdabh78vb3nlyhhfbpd5k4g9s15ifny9cgwz4";
};
buildInputs =
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 1b878deb316..17596e24a3b 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
- name = "snd-15.0";
+ name = "snd-15.1";
src = fetchurl {
url = "mirror://sourceforge/snd/${name}.tar.gz";
- sha256 = "1s1mswgxhvi0wjw0qscwh2jajihvgz86xffgbwl7qjkymqbh8gyj";
+ sha256 = "01xrgxmkibadm3zva2n7qv00dz8yy9wlkpwv7vancqfb8x44x1ji";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix
index 42c39062042..7bda4fb2767 100644
--- a/pkgs/applications/audio/sonic-visualiser/default.nix
+++ b/pkgs/applications/audio/sonic-visualiser/default.nix
@@ -8,12 +8,11 @@
stdenv.mkDerivation rec {
name = "sonic-visualiser-${version}";
- version = "2.3";
+ version = "2.4.1";
src = fetchurl {
-
- url = "http://code.soundsoftware.ac.uk/attachments/download/918/${name}.tar.gz";
- sha256 = "1f06w2rin4r2mbi00bg3nmqdi2xdy9vq4jcmfanxzj3ld66ik40c";
+ url = "http://code.soundsoftware.ac.uk/attachments/download/1185/${name}.tar.gz";
+ sha256 = "06nlha70kgrby16nyhngrv5q846xagnxdinv608v7ga7vpywwmyb";
};
buildInputs =
diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix
new file mode 100644
index 00000000000..fec93f0183d
--- /dev/null
+++ b/pkgs/applications/audio/tomahawk/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest
+, liblastfm, lucenepp, phonon, phonon_backend_vlc, qca2, qjson, qt4, qtkeychain
+, quazip, sparsehash, taglib, websocketpp
+
+, enableXMPP ? true, libjreen ? null
+, enableKDE ? false, kdelibs ? null
+, enableTelepathy ? false, telepathy_qt ? null
+}:
+
+assert enableXMPP -> libjreen != null;
+assert enableKDE -> kdelibs != null;
+assert enableTelepathy -> telepathy_qt != null;
+
+let
+ quazipQt4 = quazip.override { qt = qt4; };
+in stdenv.mkDerivation rec {
+ name = "tomahawk-${version}";
+ version = "0.8.1";
+
+ src = fetchurl {
+ url = "http://download.tomahawk-player.org/tomahawk-0.8.1.tar.bz2";
+ sha256 = "0ca6fah30a2s8nnlryav95wyzhwys1ikjfwakrqf2hb0y5aczdpw";
+ };
+
+ cmakeFlags = [
+ "-DLUCENEPP_INCLUDE_DIR=${lucenepp}/include"
+ "-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib"
+ ];
+
+ buildInputs = [
+ cmake pkgconfig attica boost gnutls libechonest liblastfm lucenepp phonon
+ qca2 qjson qt4 qtkeychain quazipQt4 sparsehash taglib websocketpp
+ ] ++ stdenv.lib.optional enableXMPP libjreen
+ ++ stdenv.lib.optional enableKDE kdelibs
+ ++ stdenv.lib.optional enableTelepathy telepathy_qt;
+
+ propagatedBuildInputs = [ phonon_backend_vlc ];
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ description = "A multi-source music player";
+ homepage = "http://tomahawk-player.org/";
+ license = licenses.gpl3Plus;
+ platforms = platforms.all;
+ maintainers = [ maintainers.aszlig ];
+ };
+}
diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix
index 3e365cae8e9..71a07f18e08 100755
--- a/pkgs/applications/audio/vimpc/default.nix
+++ b/pkgs/applications/audio/vimpc/default.nix
@@ -26,9 +26,9 @@ stdenv.mkDerivation rec {
'';
meta = {
- description = "A vi/vim inspired client for the Music Player Daemon (mpd).";
+ description = "A vi/vim inspired client for the Music Player Daemon (mpd)";
homepage = https://github.com/boysetsfrog/vimpc;
- license = "GPL3";
+ license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/audio/vimus/default.nix b/pkgs/applications/audio/vimus/default.nix
new file mode 100644
index 00000000000..6bd51760e88
--- /dev/null
+++ b/pkgs/applications/audio/vimus/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, c2hs, dataDefault, deepseq, filepath, hspec
+, hspecExpectations, libmpd, mtl, ncurses, QuickCheck, time
+, transformers, utf8String, wcwidth
+}:
+
+cabal.mkDerivation (self: {
+ pname = "vimus";
+ version = "0.2.0";
+ sha256 = "0s7hfyil9rnr9rmjb08g1l1sxybx3qdkw2f59p433fkdjp2m140h";
+ isLibrary = true;
+ isExecutable = true;
+ buildDepends = [
+ dataDefault deepseq filepath libmpd mtl time utf8String wcwidth
+ ];
+ testDepends = [
+ dataDefault hspec hspecExpectations mtl QuickCheck transformers
+ wcwidth
+ ];
+ buildTools = [ c2hs ];
+ extraLibraries = [ ncurses ];
+ meta = {
+ description = "An MPD client with vim-like key bindings";
+ license = self.stdenv.lib.licenses.mit;
+ platforms = self.ghc.meta.platforms;
+ maintainers = with self.stdenv.lib.maintainers; [ jzellner ];
+ };
+})
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index bc28108b7cb..7826be89c7e 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,20 +1,20 @@
{ stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk
-, jack2, libsndfile, mesa, minixml, pkgconfig, zlib, xorg
+, jack2, libsndfile, lv2, mesa, minixml, pkgconfig, zlib, xorg
}:
assert stdenv ? glibc;
stdenv.mkDerivation rec {
name = "yoshimi-${version}";
- version = "1.2.3";
+ version = "1.3.0";
src = fetchurl {
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
- sha256 = "00bp699k8gnilin2rvgj35334s9jrizp82qwlmzzvvfliwcgqlqw";
+ sha256 = "1zxblcl6ffwwzxh3d17hw1mp398b73wk5bsagdmx5gph038gdh7y";
};
buildInputs = [
- alsaLib boost boost.lib cairo fftwSinglePrec fltk jack2 libsndfile mesa
+ alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile lv2 mesa
minixml zlib xorg.libpthreadstubs
];
diff --git a/pkgs/applications/backup/crashplan/CrashPlanEngine.patch b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch
new file mode 100644
index 00000000000..de2afe2da68
--- /dev/null
+++ b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch
@@ -0,0 +1,37 @@
+--- ./scripts/CrashPlanEngine 2014-02-19 23:17:19.000000000 +0000
++++ ./scripts/CrashPlanEngine.1 2014-07-24 17:36:37.330333581 +0100
+@@ -11,7 +11,7 @@
+
+ cd $TARGETDIR
+
+- nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log &
++ nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log &
+
+ if [[ $! -gt 0 ]]; then
+ echo $! > $PIDFILE
+@@ -26,7 +26,7 @@
+
+ echo "Using Ubuntu 9.04 startup"
+
+- start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log
++ start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log
+
+ # This test isn't as useful as one might like; start-stop-daemon can't accurately report the state of child processes when --background is used.
+ # We use this mainly to report the specific error value returned by start-stop-daemon if something goes wrong, but be aware that a return value
+@@ -91,7 +91,6 @@
+ DESC="CrashPlan Engine"
+ NAME=CrashPlanEngine
+ DAEMON=$TARGETDIR/lib/com.backup42.desktop.jar
+-PIDFILE="$TARGETDIR/${NAME}.pid"
+
+ if [[ -f $TARGETDIR/install.vars ]]; then
+ . $TARGETDIR/install.vars
+@@ -100,6 +99,8 @@
+ exit 1
+ fi
+
++PIDFILE="$VARDIR/${NAME}.pid"
++
+ if [[ ! -f $DAEMON ]]; then
+ echo "Could not find JAR file $DAEMON"
+ exit 0
diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix
new file mode 100644
index 00000000000..1a78dea2157
--- /dev/null
+++ b/pkgs/applications/backup/crashplan/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
+
+let version = "3.6.4";
+
+in stdenv.mkDerivation rec {
+ name = "crashplan-${version}";
+
+ crashPlanArchive = fetchurl {
+ url = "http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
+ sha256 = "0xmzpxfm8vghk552jy167wg1nky1pp93dqds1p922hn73g0x5cv3";
+ };
+
+ srcs = [ crashPlanArchive ];
+
+ meta = with stdenv.lib; {
+ description = "An online/offline backup solution";
+ homepage = "http://www.crashplan.org";
+ license = licenses.unfree;
+ maintainers = with maintainers; [ sztupi ];
+ };
+
+ buildInputs = [ makeWrapper cpio ];
+
+ vardir = "/var/lib/crashplan";
+
+ manifestdir = "${vardir}/manifest";
+
+ patches = [ ./CrashPlanEngine.patch ];
+
+ installPhase = ''
+ mkdir $out
+ zcat -v CrashPlan_${version}.cpi | (cd $out; cpio -i -d -v --no-preserve-owner)
+
+ # sed -i "s|manifest|${manifestdir}|g" $out/conf/default.service.xml
+
+ # Fix for encoding troubles (CrashPlan ticket 178827)
+ # Make sure the daemon is running using the same localization as
+ # the (installing) user
+ echo "" >> run.conf
+ echo "export LC_ALL=en_US.UTF-8" >> run.conf
+
+ install -d -m 755 unpacked $out
+
+ install -D -m 644 EULA.txt $out/EULA.txt
+ install -D -m 644 run.conf $out/bin/run.conf
+ install -D -m 755 scripts/CrashPlanDesktop $out/bin/CrashPlanDesktop
+ install -D -m 755 scripts/CrashPlanEngine $out/bin/CrashPlanEngine
+
+ rm -r $out/log
+ ln -s $vardir/log $out/log
+ ln -s $vardir/cache $out/cache
+ ln -s $vardir/backupArchives $out/backupArchives
+ ln -s $vardir/conf/service.model $out/conf/service.model
+ ln -s $vardir/conf/my.service.xml $out/conf/my.service.xml
+
+ echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars
+ echo "APP_BASENAME=CrashPlan" >> $out/install.vars
+ echo "TARGETDIR=$out" >> $out/install.vars
+ echo "BINSDIR=$out/bin" >> $out/install.vars
+ echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars
+ echo "VARDIR=${vardir}" >> $out/install.vars
+ echo "INITDIR=" >> $out/install.vars
+ echo "RUNLVLDIR=" >> $out/install.vars
+ echo "INSTALLDATE=" >> $out/install.vars
+ '';
+
+ postFixup = ''
+ for f in $out/bin/CrashPlanDesktop $out/bin/CrashPlanEngine; do
+ echo "substitutions in $f"
+ substituteInPlace $f --replace /bin/ps ${procps}/bin/ps
+ substituteInPlace $f --replace awk ${gawk}/bin/awk
+ substituteInPlace $f --replace sed ${gnused}/bin/sed
+ substituteInPlace $f --replace grep ${gnugrep}/bin/grep
+ done
+
+ wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${gtk2}/lib:${glib}/lib:${libXtst}/lib"
+ '';
+}
diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix
index 6bcacf8baf4..0c69f101885 100644
--- a/pkgs/applications/display-managers/slim/themes.nix
+++ b/pkgs/applications/display-managers/slim/themes.nix
@@ -177,7 +177,7 @@ in {
fullName = "nixos-slim";
src = fetchurl {
url = "https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz";
- sha256 = "0cawq38l8rcgd35vpdx3i1wbs3wrkcrng1c9qch0l4qncw505hv6";
+ sha256 = "66c3020a6716130a20c3898567339b990fbd7888a3b7bbcb688f6544d1c05c31";
};
};
}
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 7197e4b95d9..d16233332e5 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -16,11 +16,11 @@ let
};
in stdenv.mkDerivation rec {
name = "atom-${version}";
- version = "0.129.0";
+ version = "0.150.0";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
- sha256 = "0a78cb7e74b75b5c1cdbdfdea3f56ecab9479e407575b1e3cfb10c0d3265e7a4";
+ sha256 = "1vvsxj1pwpcz0hn58k1hsrv994vm61lxkih58ix1rkj32wpvdjxn";
name = "${name}.deb";
};
@@ -39,6 +39,8 @@ in stdenv.mkDerivation rec {
$out/share/atom/resources/app/apm/node_modules/atom-package-manager/bin/node
wrapProgram $out/bin/atom \
--prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
+ wrapProgram $out/bin/apm \
+ --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
'';
meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix
new file mode 100644
index 00000000000..4e569fc68a5
--- /dev/null
+++ b/pkgs/applications/editors/bluefish/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, intltool, pkgconfig , gtk, libxml2
+, enchant, gucharmap, python
+}:
+
+stdenv.mkDerivation rec {
+ name = "bluefish-2.2.6";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
+ sha256 = "05j2mv6s2llf2pxknddhk8fzbghr7yff58xhkxy2icky64n8khjl";
+ };
+
+ buildInputs = [intltool pkgconfig gtk libxml2
+ enchant gucharmap python];
+
+ meta = with stdenv.lib; {
+ description = "A powerful editor targeted towards programmers and webdevelopers";
+ homepage = http://bluefish.openoffice.nl/;
+ license = licenses.gpl3Plus;
+ maintainer = [maintainers.vbgl];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix
index e598fa19c5e..f3f44f769a9 100644
--- a/pkgs/applications/editors/bvi/default.nix
+++ b/pkgs/applications/editors/bvi/default.nix
@@ -1,18 +1,21 @@
{ stdenv, fetchurl, ncurses }:
-stdenv.mkDerivation {
- name = "bvi-1.3.2";
+stdenv.mkDerivation rec {
+ name = "bvi-${version}";
+ version = "1.4.0";
src = fetchurl {
- url = mirror://sourceforge/bvi/bvi-1.3.2.src.tar.gz;
- sha256 = "110wxqnyianqamxq4y53drqqxb9vp4k2fcvic45qggvlqkqhlfgz";
+ url = "mirror://sourceforge/bvi/${name}.src.tar.gz";
+ sha256 = "00pq9rv7s8inqxq2m3xshxi58691i3pxw9smibcrgh6768l3qnh1";
};
buildInputs = [ ncurses ];
- meta = {
+ meta = with stdenv.lib; {
description = "Hex editor with vim style keybindings";
homepage = http://bvi.sourceforge.net/download.html;
- license = stdenv.lib.licenses.gpl2;
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ pSub ];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/editors/elvis/default.nix b/pkgs/applications/editors/elvis/default.nix
index e1d2ad69b1d..0850dd0e7be 100644
--- a/pkgs/applications/editors/elvis/default.nix
+++ b/pkgs/applications/editors/elvis/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://elvis.vi-editor.org/;
description = "A vi clone for Unix and other operating systems";
- license = "free";
+ license = stdenv.lib.licenses.free;
};
}
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 3bfee481c9c..8f954515b8f 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null; # probably a bug
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
stdenv.mkDerivation rec {
- name = "emacs-24.3";
+ name = "emacs-24.4";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.xz";
- sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
+ sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
};
patches = [ ./darwin-new-sections.patch ];
@@ -35,10 +35,7 @@ stdenv.mkDerivation rec {
[ "--with-x-toolkit=lucid" "--with-xft" ]
else
[ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
- "--with-gif=no" "--with-tiff=no" ] ) )
- # On NixOS, help Emacs find `crt*.o'.
- ++ stdenv.lib.optional (stdenv ? glibc)
- [ "--with-crt-dir=${stdenv.glibc}/lib" ];
+ "--with-gif=no" "--with-tiff=no" ] ) );
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
"-I${cairo}/include/cairo";
diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport-24.3.nix
similarity index 100%
rename from pkgs/applications/editors/emacs-24/macport.nix
rename to pkgs/applications/editors/emacs-24/macport-24.3.nix
diff --git a/pkgs/applications/editors/emacs-24/macport-24.4.nix b/pkgs/applications/editors/emacs-24/macport-24.4.nix
new file mode 100644
index 00000000000..0af0e479a07
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/macport-24.4.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
+}:
+
+stdenv.mkDerivation rec {
+ emacsName = "emacs-24.4";
+ name = "${emacsName}-mac-5.1";
+
+ #builder = ./builder.sh;
+
+ src = fetchurl {
+ url = "mirror://gnu/emacs/${emacsName}.tar.xz";
+ sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
+ };
+
+ macportSrc = fetchurl {
+ url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
+ sha256 = "0qn200vv91qxf93x6y8fdi7l3bsni3clqzf8rcjdpbva1qzgcx27";
+ };
+
+ patches = [ ./darwin-new-sections.patch ];
+
+ buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
+
+ postUnpack = ''
+ mv $emacsName $name
+ tar xzf $macportSrc
+ mv $name $emacsName
+ '';
+
+ preConfigure = ''
+ patch -p0 < patch-mac
+
+ # The search for 'tputs' will fail because it's in ncursesw within the
+ # ncurses package, yet Emacs' configure script only looks in ncurses.
+ # Further, we need to make sure that the -L option occurs before mention
+ # of the library, so that it finds it within the Nix store.
+ sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
+ ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
+ sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
+ sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
+
+ configureFlagsArray=(
+ LDFLAGS=-L${ncurses}/lib
+ --with-xml2=yes
+ --with-gnutls=yes
+ --with-mac
+ --enable-mac-app=$out/Applications
+ )
+ makeFlagsArray=(
+ CFLAGS=-O3
+ LDFLAGS="-O3 -L${ncurses}/lib"
+ );
+ '';
+
+ postInstall = ''
+ cat >$out/share/emacs/site-lisp/site-start.el <
++#include
+
+
+ typedef struct __completion_Session_struct
diff --git a/pkgs/applications/editors/emacs-modes/ess/default.nix b/pkgs/applications/editors/emacs-modes/ess/default.nix
index 46e20a58ee6..a2c73907115 100644
--- a/pkgs/applications/editors/emacs-modes/ess/default.nix
+++ b/pkgs/applications/editors/emacs-modes/ess/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, emacs, texinfo }:
stdenv.mkDerivation rec {
- name = "ess-13.09";
+ name = "ess-14.09";
src = fetchurl {
url = "http://ess.r-project.org/downloads/ess/${name}.tgz";
- sha256 = "1lki3vb6p7cw98zqq0gaia68flpqrjkd6dcl85fs0cc8qf55yqnh";
+ sha256 = "0wa507jfmq3k7x0vigd2yzb4j2190ix4wnnpv7ql4bjy0vfvmwdn";
};
buildInputs = [ emacs texinfo ];
diff --git a/pkgs/applications/editors/emacs-modes/git-modes/default.nix b/pkgs/applications/editors/emacs-modes/git-modes/default.nix
new file mode 100644
index 00000000000..8a2ca6eb909
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/git-modes/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, emacs }:
+
+let
+ version = "0.15.0-8-g4e10851";
+in
+stdenv.mkDerivation {
+ name = "git-modes-${version}";
+
+ src = fetchFromGitHub {
+ owner = "magit";
+ repo = "git-modes";
+ rev = "4e10851843145e0c05fc665683d3b487a57ad114";
+ sha256 = "13j794a2p4ql9dnw2z0c1m0ybclxsicbk8cmmfqcchs4ygiyc6ag";
+ };
+
+ buildInputs = [ emacs ];
+
+ installPhase = ''
+ mkdir -p $out/share/emacs/site-lisp
+ mv *.el *.elc $out/share/emacs/site-lisp/
+ '';
+
+ meta = {
+ homepage = "https://github.com/magit/git-modes";
+ description = "Emacs modes for various Git-related files";
+ license = stdenv.lib.licenses.gpl3Plus;
+ maintainers = with stdenv.lib.maintainers; [ simons ];
+ };
+}
diff --git a/pkgs/applications/editors/emacs-modes/hsc3/default.nix b/pkgs/applications/editors/emacs-modes/hsc3/default.nix
new file mode 100644
index 00000000000..150bd3593fd
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/hsc3/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, emacs }:
+
+# this package installs the emacs-mode which
+# resides in the hsc3 sources.
+
+let version = "0.15";
+
+in stdenv.mkDerivation {
+ name = "hsc3-mode-${version}";
+ src = fetchurl {
+ url = http://hackage.haskell.org/package/hsc3-0.15/hsc3-0.15.tar.gz;
+ sha256 = "2f3b15655419cf8ebe25ab1c6ec22993b2589b4ffca7c3a75ce478ca78a0bde6";
+ };
+
+ buildInputs = [ emacs ];
+
+ installPhase = ''
+ mkdir -p "$out/share/emacs/site-lisp"
+ cp "emacs/hsc3.el" "$out/share/emacs/site-lisp"
+ '';
+
+ meta = {
+ homepage = http://rd.slavepianos.org/?t=hsc3;
+ description = "hsc3 mode package for Emacs";
+ platforms = stdenv.lib.platforms.unix;
+ };
+}
diff --git a/pkgs/applications/editors/emacs-modes/icicles/default.nix b/pkgs/applications/editors/emacs-modes/icicles/default.nix
new file mode 100644
index 00000000000..820e959a357
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/icicles/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, emacs }:
+
+let
+ modules = [
+ { name = "icicles.el"; sha256 = "175g8w620vy73pp3zyasfjspgljk6g0lki71kdnvw5z88w3s9d1n"; }
+ { name = "icicles-chg.el"; sha256 = "1bx5xdhirvnrjqk4pk0sjp9bpj1syymsjnckklsw04gv6y0x8zik"; }
+ { name = "icicles-cmd1.el"; sha256 = "1ff0mndin9zxrswwwq3a7b1s879rr6gy8rzxanr7kxg1ppciafad"; }
+ { name = "icicles-cmd2.el"; sha256 = "1a44l86jacp9nsy4z260azz6y672drjw3w5a0jsc8w26fgsrnx1k"; }
+ { name = "icicles-doc1.el"; sha256 = "0s3r4z3y06hd1nxp18wd0b8b88z2a7ryy0j8sx5fzibbmp58ars1"; }
+ { name = "icicles-doc2.el"; sha256 = "0c10jg91qxyrg1zwiyi4m57dbw3yf43jdrpi4nnby3pkzh6i37ic"; }
+ { name = "icicles-face.el"; sha256 = "0n0vcbhwgd2lyj7anq1zpwja28xry018qxbm8sprxkh6y3vlw8d2"; }
+ { name = "icicles-fn.el"; sha256 = "1i10593a7hp465bxd86h7h7gwrdyqxx0d13in53z4jnab8icp3d4"; }
+ { name = "icicles-mac.el"; sha256 = "1piq0jk8nz0hz9wwci7dkxnfxscdpygjzpj5zg3310vs22l7rrsz"; }
+ { name = "icicles-mcmd.el"; sha256 = "0c4325yp84i46605nlxmjm6n0f4fh69shsihvd0wb9ryg0a8qa65"; }
+ { name = "icicles-mode.el"; sha256 = "069wx5clqpsq2c9aavgd9xihvlad3g00iwwrc3cpl47v64dvlipq"; }
+ { name = "icicles-opt.el"; sha256 = "16487l3361ca8l6il2c0z892843sc5l9v4gr7lx5fxbmrlsswvvn"; }
+ { name = "icicles-var.el"; sha256 = "1a9cwxpi10x44fngxa7qnrg8hqfvdjb8s8k47gnn1rbh63blkkry"; }
+ ];
+
+ forAll = f: map f modules;
+in
+stdenv.mkDerivation {
+ name = "icicles-2014-11-06";
+
+ srcs = forAll ({name, sha256}: fetchurl { url = "http://www.emacswiki.org/emacs-en/download/${name}"; inherit sha256; });
+
+ buildInputs = [ emacs ];
+
+ unpackPhase = "for m in $srcs; do cp $m $(echo $m | cut -d- -f2-); done";
+
+ buildPhase = "emacs --batch -L . -f batch-byte-compile *.el";
+
+ installPhase = "mkdir -p $out/share/emacs/site-lisp; cp *.el *.elc $out/share/emacs/site-lisp/";
+
+ meta = {
+ homepage = "http://www.emacswiki.org/emacs/Icicles";
+ description = "Enhance Emacs minibuffer input with cycling and powerful completion.";
+ license = stdenv.lib.licenses.gpl2Plus;
+
+ maintainers = with stdenv.lib.maintainers; [ simons ];
+ };
+}
diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix
index 4e9d1cfd77c..a631939b55c 100644
--- a/pkgs/applications/editors/emacs-modes/idris/default.nix
+++ b/pkgs/applications/editors/emacs-modes/idris/default.nix
@@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "idris-mode";
- version = "0.9.14";
+ version = "0.9.15";
src = fetchurl {
url = "https://github.com/idris-hackers/${pname}/archive/${version}.tar.gz";
- sha256 = "1qlkbf14mcibp6h5r84fp5xdjspyaw1xdmnkmaxbypwjhhjg4s83";
+ sha256 = "0ag7qqsv64rifk9ncdxv4gyylfbw6c8y2wq610l4pabqv2qrlh9r";
};
buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/js2/default.nix b/pkgs/applications/editors/emacs-modes/js2/default.nix
index 00123bfc8c7..ba9fb4f8d6f 100644
--- a/pkgs/applications/editors/emacs-modes/js2/default.nix
+++ b/pkgs/applications/editors/emacs-modes/js2/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchgit, emacs }:
stdenv.mkDerivation {
- name = "js2-mode-0-20140114";
+ name = "js2-mode-0-20141118";
src = fetchgit {
url = "git://github.com/mooz/js2-mode.git";
- rev = "b250efaad886dd07b8c69d4573425d095c6652e2";
- sha256 = "30e61e7d364e9175d408bdaf57fda886a4eea22cf5cbd97abb5c307c52b05918";
+ rev = "3abcd90ddc2f446ddf0fb874dd79ba870c26ad2d";
+ sha256 = "c0aaab4eeb8d60cfd5c382c3e30d4725e5ec492720d573e663ea69ee43aa73a8";
};
buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix
index 076caf5235b..676a86985f8 100644
--- a/pkgs/applications/editors/emacs-modes/magit/default.nix
+++ b/pkgs/applications/editors/emacs-modes/magit/default.nix
@@ -1,25 +1,32 @@
-{ stdenv, fetchurl, emacs, texinfo }:
+{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }:
-let
- version = "1.2.0";
-in
stdenv.mkDerivation rec {
- name = "magit-${version}";
+ name = "magit-90141025";
- src = fetchurl {
- url = "https://github.com/downloads/magit/magit/${name}.tar.gz";
- sha256 = "1a8vvilhd5y5vmlpsh194qpl4qlg0a1brylfscxcacpfp0cmhlzg";
+ src = fetchFromGitHub {
+ owner = "magit";
+ repo = "magit";
+ rev = "50c08522c8a3c67e0f3b821fe4df61e8bd456ff9";
+ sha256 = "0mzyx72pidzvla1x2qszn3c60n2j0n8i5k875c4difvd1n4p0vsk";
};
- buildInputs = [ emacs texinfo ];
+ buildInputs = [ emacs texinfo git ];
+ propagatedUserEnvPkgs = [ gitModes ];
- configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )";
+ configurePhase = ''
+ makeFlagsArray=(
+ PREFIX="$out"
+ EFLAGS="-L ${gitModes}/share/emacs/site-lisp"
+ lispdir="$out/share/emacs/site-lisp"
+ )
+ '';
+
+ doCheck = true;
+ checkTarget = "test";
- # Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode.
postInstall = ''
- mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el
- sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el
- rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc
+ mkdir -p $out/bin
+ mv "bin/"* $out/bin/
'';
meta = {
@@ -39,7 +46,6 @@ stdenv.mkDerivation rec {
save you from learning Git itself.
'';
- platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ simons ];
};
}
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index 293554a62b2..c7ad1c7049b 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -2,11 +2,11 @@
, texLiveAggregationFun }:
stdenv.mkDerivation rec {
- name = "org-8.2.8";
+ name = "org-8.2.10";
src = fetchurl {
url = "http://orgmode.org/${name}.tar.gz";
- sha256 = "0f63w6d1yjiv46ac7d9rqn2wks6sxmldrqmijd9j25qvsc8dcsd8";
+ sha256 = "1xm8n8zwr3676rl4pd32k61rd7rimlihhrw5a7r4z7r154c4a2fz";
};
buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
index 32a036805ed..96d7619d387 100644
--- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation (rec {
interactive theorem provers), based on the customizable text editor Emacs.
'';
homepage = http://proofgeneral.inf.ed.ac.uk;
- license = "GPLv2+";
+ license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix; # arbitrary choice
};
})
diff --git a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
index 62b3a0af1fb..2b4223cdc1f 100644
--- a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
+++ b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
@@ -1,13 +1,13 @@
{stdenv, fetchurl, emacs}:
-let version = "1.3.12";
+let version = "1.3.13";
in stdenv.mkDerivation {
name = "emacs-rainbow-delimiters-${version}";
src = fetchurl {
url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz";
- sha256 = "0l65rqmnrc02q1b406kxc29w5cfpmrmq0glv493pjzhzc5m3r63z";
+ sha256 = "075j3nsk4jm0rs5671n28c1wksrfbvpl9a4f89kzcd7sk1h6ncvl";
};
buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
new file mode 100644
index 00000000000..bc9163e63cb
--- /dev/null
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, qt4, pkgconfig, hunspell}:
+
+stdenv.mkDerivation rec {
+ name = "focuswriter-${version}";
+ version = "1.5.3";
+
+ src = fetchurl {
+ url = http://gottcode.org/focuswriter/focuswriter-1.5.3-src.tar.bz2;
+ sha256 = "1i58jxbiy95ijf81g8c3gwxhcg3irzssna3wv7vhrd57g4lcfj0w";
+ };
+
+ buildInputs = [ qt4 pkgconfig hunspell ];
+
+ configurePhase = "qmake PREFIX=/";
+
+ installPhase = "make install INSTALL_ROOT=$out";
+
+ meta = {
+ description = "Simple, distraction-free writing environment";
+ license = stdenv.lib.licenses.gpl2;
+ maintainers = [ stdenv.lib.maintainers.madjar ];
+ platforms = stdenv.lib.platforms.all;
+ homepage = "http://gottcode.org/focuswriter/";
+ };
+}
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index f67f23e9e09..f1e3a078b70 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -7,7 +7,7 @@ assert stdenv.isLinux;
let
mkIdeaProduct =
- { name, product, version, build, src, meta }:
+ { name, product, version, build, src, meta, patchSnappy ? true }:
let loName = stdenv.lib.toLower product;
hiName = stdenv.lib.toUpper product; in
@@ -17,7 +17,7 @@ let
desktopItem = makeDesktopItem {
name = loName;
exec = loName;
- comment = meta.longDescription;
+ comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
desktopName = product;
genericName = meta.description;
categories = "Application;Development;";
@@ -26,38 +26,44 @@ let
buildInputs = [ makeWrapper patchelf p7zip unzip ];
- patchPhase = ''
-
- get_file_size() {
+ patchPhase = lib.concatStringsSep "\n" [
+ ''
+ get_file_size() {
local fname="$1"
echo $(ls -l $fname | cut -d ' ' -f5)
- }
+ }
- munge_size_hack() {
+ munge_size_hack() {
local fname="$1"
local size="$2"
strip $fname
truncate --size=$size $fname
- }
+ }
- interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
- snappyPath="lib/snappy-java-1.0.5"
+ interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+ if [ "${stdenv.system}" == "x86_64-linux" ]; then
+ target_size=$(get_file_size bin/fsnotifier64)
+ patchelf --set-interpreter "$interpreter" bin/fsnotifier64
+ munge_size_hack bin/fsnotifier64 $target_size
+ else
+ target_size=$(get_file_size bin/fsnotifier)
+ patchelf --set-interpreter "$interpreter" bin/fsnotifier
+ munge_size_hack bin/fsnotifier $target_size
+ fi
+ ''
- 7z x -o"$snappyPath" "$snappyPath.jar"
- if [ "${stdenv.system}" == "x86_64-linux" ]; then
- target_size=$(get_file_size bin/fsnotifier64)
- patchelf --set-interpreter "$interpreter" bin/fsnotifier64
- patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ "$snappyPath/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so"
- munge_size_hack bin/fsnotifier64 $target_size
- else
- target_size=$(get_file_size bin/fsnotifier)
- patchelf --set-interpreter "$interpreter" bin/fsnotifier
- patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ "$snappyPath/org/xerial/snappy/native/Linux/i386/libsnappyjava.so"
- munge_size_hack bin/fsnotifier $target_size
- fi
- 7z a -tzip "$snappyPath.jar" ./"$snappyPath"/*
- rm -vr "$snappyPath"
- '';
+ (lib.optionalString patchSnappy ''
+ snappyPath="lib/snappy-java-1.0.5"
+ 7z x -o"$snappyPath" "$snappyPath.jar"
+ if [ "${stdenv.system}" == "x86_64-linux" ]; then
+ patchelf --set-rpath ${stdenv.gcc.gcc}/lib64 "$snappyPath/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so"
+ else
+ patchelf --set-rpath ${stdenv.gcc.gcc}/lib "$snappyPath/org/xerial/snappy/native/Linux/i386/libsnappyjava.so"
+ fi
+ 7z a -tzip "$snappyPath.jar" ./"$snappyPath"/*
+ rm -vr "$snappyPath"
+ '')
+ ];
installPhase = ''
mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
@@ -68,6 +74,12 @@ let
&& jdk=${jdk}/lib/openjdk \
|| jdk=${jdk}
+ if [ "${stdenv.system}" == "x86_64-linux" ]; then
+ makeWrapper "$out/$name/bin/fsnotifier64" "$out/bin/fsnotifier64"
+ else
+ makeWrapper "$out/$name/bin/fsnotifier" "$out/bin/fsnotifier"
+ fi
+
makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${loName}" \
--prefix PATH : "${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
--prefix LD_RUN_PATH : "${stdenv.gcc.gcc}/lib/" \
@@ -97,9 +109,77 @@ let
};
});
+ buildClion = { name, version, build, src, license, description }:
+ (mkIdeaProduct rec {
+ inherit name version build src;
+ patchSnappy = false;
+ product = "CLion";
+ meta = with stdenv.lib; {
+ homepage = "https://www.jetbrains.com/clion/";
+ inherit description license;
+ longDescription = ''
+ Enhancing productivity for every C and C++
+ developer on Linux, OS X and Windows.
+ '';
+ maintainers = with maintainers; [ edwtjo ];
+ platforms = platforms.linux;
+ };
+ });
+
+ buildIdea = { name, version, build, src, license, description }:
+ (mkIdeaProduct rec {
+ inherit name version build src;
+ patchSnappy = false;
+ product = "IDEA";
+ meta = with stdenv.lib; {
+ homepage = "https://www.jetbrains.com/idea/";
+ inherit description license;
+ longDescription = ''
+ IDE for Java SE, Groovy & Scala development Powerful
+ environment for building Google Android apps Integration
+ with JUnit, TestNG, popular SCMs, Ant & Maven.
+ '';
+ maintainers = with maintainers; [ edwtjo ];
+ platforms = platforms.linux;
+ };
+ });
+
+ buildRubyMine = { name, version, build, src, license, description }:
+ (mkIdeaProduct rec {
+ inherit name version build src;
+ patchSnappy = false;
+ product = "RubyMine";
+ meta = with stdenv.lib; {
+ homepage = "https://www.jetbrains.com/ruby/";
+ inherit description license;
+ longDescription = description;
+ maintainers = with maintainers; [ edwtjo ];
+ platforms = platforms.linux;
+ };
+ });
+
+ buildPhpStorm = { name, version, build, src, license, description }:
+ (mkIdeaProduct {
+ inherit name version build src;
+ product = "PhpStorm";
+ patchSnappy = false;
+ meta = with stdenv.lib; {
+ homepage = "https://www.jetbrains.com/phpstorm/";
+ inherit description license;
+ longDescription = ''
+ PhpStorm provides an editor for PHP, HTML and JavaScript
+ with on-the-fly code analysis, error prevention and
+ automated refactorings for PHP and JavaScript code.
+ '';
+ maintainers = with maintainers; [ schristo ];
+ platforms = platforms.linux;
+ };
+ });
+
buildPycharm = { name, version, build, src, license, description }:
(mkIdeaProduct rec {
inherit name version build src;
+ patchSnappy = false;
product = "PyCharm";
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/pycharm/";
@@ -124,110 +204,105 @@ let
propagatedUserEnvPkgs = [ python ];
};
- buildIdea = { name, version, build, src, license, description }:
- (mkIdeaProduct rec {
- inherit name version build src;
- product = "IDEA";
- meta = with stdenv.lib; {
- homepage = "https://www.jetbrains.com/idea/";
- inherit description license;
- longDescription = ''
- IDE for Java SE, Groovy & Scala development Powerful
- environment for building Google Android apps Integration
- with JUnit, TestNG, popular SCMs, Ant & Maven.
- '';
- maintainers = with maintainers; [ edwtjo ];
- platforms = platforms.linux;
- };
- });
-
in
{
android-studio = buildAndroidStudio rec {
name = "android-studio-${version}";
- version = "0.8.10";
- build = "135.1428667";
+ version = "1.0.0-rc1";
+ build = "135.1598475";
description = "Android development environment based on IntelliJ IDEA";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
"/android-studio-ide-${build}-linux.zip";
- sha256 = "5736a92ffda24233026ff45a47f1b4f9567ba40347cfa0c9f351112e729b5401";
+ sha256 = "1d0gj9c2hkrcij79xv8i5fy1z8zss1fp8szjp6h7z7zak989rsrf";
+ };
+ };
+
+ clion = buildClion rec {
+ name = "clion";
+ version = "eap";
+ build = "140.569.17";
+ description = "C/C++ IDE. New. Intelligent. Cross-platform.";
+ license = stdenv.lib.licenses.unfree;
+ src = fetchurl {
+ url = "http://download.jetbrains.com/cpp/${name}-${build}.tar.gz";
+ sha256 = "1y4137dxbydf3g5s6c58bf015k2q7dsl8h4n0q2llqj5bprwcr23";
};
};
idea-community = buildIdea rec {
name = "idea-community-${version}";
- version = "13.1.4b";
- build = "IC-135.1230";
+ version = "14.0.1";
+ build = "IC-139.225";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
- sha256 = "8b4ee25fd2934e06b87230b50e1474183ed4b331c1626a7fee69b96294d9616d";
+ sha256 = "166m55q33q4jwfvzwxm8mak6ic32h63bvpxdnjd41si6bs19ynvg";
};
};
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
- version = "13.1.4b";
- build = "IU-135.1230";
+ version = "14.0.1";
+ build = "IU-139.225";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
- sha256 = "84660d97c9c3e4e7cfd6c2708f4685dc7322157f1e1c2888feac64df119f0606";
+ sha256 = "0hh84f3297ak63n2kv76xv1rnf1fhjws9d3b2r5pwzgfd78zja4q";
};
};
- pycharm-community-313 = buildPycharm rec {
+ ruby-mine = buildRubyMine rec {
+ name = "ruby-mine-${version}";
+ version = "7.0";
+ build = "135.1104";
+ description = "The Most Intelligent Ruby and Rails IDE";
+ license = stdenv.lib.licenses.unfree;
+ src = fetchurl {
+ url = "http://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
+ sha256 = "0xsx44gaddarkw5k4yjidzwkayf2xvsxklfzdnzcck4rg4vyk4v4";
+ };
+ };
+
+ pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
- version = "3.1.3";
- build = "133.1347";
- description = "PyCharm 3.1 Community Edition";
+ version = "4.0.1";
+ build = "139.574";
+ description = "PyCharm 4.0 Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "http://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "f671ee4c99207c179f168b5b98fa23afe90a94c3a3914367b95a46b0c2881b23";
+ sha256 = "0jh0sxi5dpgpw7ga018fby7zvb4i9k49vwl8422lfcrgckdz9nv2";
};
};
- pycharm-community-341 = buildPycharm rec {
- name = "pycharm-community-${version}";
- version = "3.4.1";
- build = "135.1057";
- description = "PyCharm 3.4 Community Edition";
- license = stdenv.lib.licenses.asl20;
- src = fetchurl {
- url = "http://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "96427b1e842e7c09141ec4d3ede627c5ca7d821c0d6c98169b56a34f9035ef64";
- };
- };
-
- pycharm-professional-313 = buildPycharm rec {
+ pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
- version = "3.1.3";
- build = "133.1347";
- description = "PyCharm 3.1 Professional Edition";
+ version = "4.0.1";
+ build = "139.574";
+ description = "PyCharm 4.0 Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "http://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "e0c2db8f18cb825a95de6ddc4b0b9f93c5643bf34cca9f1b3c2fa37fd7c14f11";
+ sha256 = "04yjhg6vi2kz00sy8zg4wkz26ai90vbp0cnd850ynsab0jsy24w4";
};
};
- pycharm-professional-341 = buildPycharm rec {
- name = "pycharm-professional-${version}";
- version = "3.4.1";
- build = "135.1057";
- description = "PyCharm 3.4 Professional Edition";
+ phpstorm = buildPhpStorm rec {
+ name = "phpstorm-${version}";
+ version = "8.0.1";
+ build = "PS-138.2001";
+ description = "Professional IDE for Web and PHP developers";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
- url = "http://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "e4f85f3248e8985ac9f8c326543f979b47ba1d7ac6b128a2cf2b3eb8ec545d2b";
+ url = "http://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
+ sha256 = "0d46442aa32174fe16846c3c31428178ab69b827d2e0ce31f633f13b64c01afc";
};
};
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/editors/jedit/build.xml.patch b/pkgs/applications/editors/jedit/build.xml.patch
new file mode 100644
index 00000000000..2dabaaaed0c
--- /dev/null
+++ b/pkgs/applications/editors/jedit/build.xml.patch
@@ -0,0 +1,252 @@
+--- a/build.xml 2013-07-28 18:03:55.000000000 +0100
++++ b/build.xml 2014-11-12 21:54:48.443482074 +0000
+@@ -42,16 +42,6 @@
+
+
+-
+-
+-
+-
+-
+-
+
+
+@@ -89,51 +79,8 @@
+ value="true"/>
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
++ depends="init">
+
+
+@@ -238,37 +185,6 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+
+
+
+
+
+@@ -611,7 +503,7 @@
+
+
+
++ depends="init">
+
+
+@@ -655,7 +547,7 @@
+
+
+
++ depends="init,setup,unpack-docbook-xsl">
+
+
+
+@@ -679,7 +571,7 @@
+
+
+
++ depends="init,setup,unpack-docbook-xsl">
+
+
+
+@@ -703,7 +595,7 @@
+
+
+
++ depends="init,setup,unpack-docbook-xsl">
+
+
+
+@@ -838,7 +730,7 @@
+
+
+
++ depends="init,setup,unpack-docbook-xsl">
+
+
+@@ -1143,7 +1035,7 @@
+
+
+
++ depends="init">
+
+
+
+
+
+
+@@ -1271,7 +1163,7 @@
+
+
+
+
+
+
+
++ depends="init,setup">
+
+
+@@ -1567,7 +1459,7 @@
+
+
+
+
+
+
+
+
+
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index 8a57f650fb4..0e11c577fc8 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,32 +1,47 @@
-{ stdenv, fetchurl, ant, jdk }:
+{stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging}:
-let version = "4.4.2"; in
+let
+ version = "5.1.0";
+ bsh = fetchurl {
+ url = http://www.beanshell.org/bsh-2.0b4.jar;
+ sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci";
+ };
+ bcpg = fetchurl {
+ url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar;
+ sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
+ };
+ jsr305 = fetchurl {
+ url = http://central.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar;
+ sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
+ };
+in
stdenv.mkDerivation {
name = "jedit-${version}";
-
src = fetchurl {
url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
- sha256 = "5e9ad9c32871b77ef0b9fe46dcfcea57ec52558d36113b7280194a33430b8ceb";
+ sha256 = "015rn4339mp4wrd901x56nr42wfcy429pg54n835c6n34b2jjdc6";
};
- buildInputs = [ ant jdk ];
+ buildInputs = [ ant jdk commonsBsf commonsLogging ];
- sourceRoot = "jEdit";
+ # This patch removes from the build process:
+ # - the automatic download of dependencies (see configurePhase);
+ # - the tests
+ patches = [ ./build.xml.patch ];
+
+ configurePhase = ''
+ mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
+ cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
+ cp ${bsh} ${bcpg} lib/scripting/
+ cp ${jsr305} lib/compile/
+ '';
buildPhase = "ant build";
installPhase = ''
mkdir -p $out/share/jEdit
- cp build/jedit.jar $out/share/jEdit
- mkdir -p $out/share/jEdit/modes
- cp -r modes/* $out/share/jEdit/modes
- mkdir -p $out/share/jEdit/icons
- cp -r icons/* $out/share/jEdit/icons
- mkdir -p $out/share/jEdit/macros
- cp -r macros/* $out/share/jEdit/macros
- mkdir -p $out/share/jEdit/doc
- cp -r doc/* $out/share/jEdit/doc
+ cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
mkdir -p $out/share/applications
@@ -44,9 +59,11 @@ stdenv.mkDerivation {
chmod +x $out/bin/jedit
'';
- meta = {
+ meta = with stdenv.lib; {
description = "Mature programmer's text editor (Java based)";
homepage = http://www.jedit.org;
- license = "GPL";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.vbgl ];
};
}
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index 945a6210e78..b98e02fd7b9 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info,
- kdebase_workspace, gettext, perl, okteta, qjson }:
+ kdebase_workspace, gettext, perl, okteta, qjson, kate, konsole, kde_runtime, oxygen_icons }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
+ propagatedUserEnvPkgs = [ kdevplatform kate konsole kde_runtime oxygen_icons ];
+
NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix
new file mode 100644
index 00000000000..fc35a993bad
--- /dev/null
+++ b/pkgs/applications/editors/leafpad/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+ version = "0.8.18.1";
+ name = "leafpad-${version}";
+ src = fetchurl {
+ url = "http://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz";
+ sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm";
+ };
+
+ buildInputs = [ intltool pkgconfig gtk ];
+
+ configureFlags = [
+ "--enable-chooser"
+ ];
+
+ meta = with stdenv.lib; {
+ description = "A notepad clone for GTK+ 2.0";
+ homepage = http://tarot.freeshell.org/leafpad;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.flosse ];
+ license = licenses.gpl3;
+ };
+}
diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix
index 6901aed774b..45a527c7484 100644
--- a/pkgs/applications/editors/mg/default.nix
+++ b/pkgs/applications/editors/mg/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://homepage.boetes.org/software/mg/;
description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team";
- license = "public domain";
+ license = stdenv.lib.licenses.publicDomain;
platforms = stdenv.lib.platforms.all;
};
}
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
new file mode 100644
index 00000000000..1c1c050b000
--- /dev/null
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchgit, fetchurl, unzip, callPackage, ncurses, gettext, pkgconfig,
+cmake, pkgs, lpeg, lua, luajit, luaMessagePack, luabitop }:
+
+stdenv.mkDerivation rec {
+ name = "neovim-nightly";
+
+ version = "nightly";
+
+ src = fetchgit {
+ url = "https://github.com/neovim/neovim";
+ rev = "68fcd8b696dae33897303c9f8265629a31afbf17";
+ sha256 = "0hxkcy641jpn4qka44gfvhmb6q3dkjx6lvn9748lcl2gx2d36w4i";
+ };
+
+ libmsgpack = stdenv.mkDerivation rec {
+ version = "0.5.9";
+ name = "libmsgpack-${version}";
+
+ src = fetchgit {
+ rev = "ecf4b09acd29746829b6a02939db91dfdec635b4";
+ url = "https://github.com/msgpack/msgpack-c";
+ sha256 = "076ygqgxrc3vk2l20l8x2cgcv05py3am6mjjkknr418pf8yav2ww";
+ };
+
+ buildInputs = [ cmake ];
+
+ meta = with stdenv.lib; {
+ description = "MessagePack implementation for C and C++";
+ homepage = http://msgpack.org;
+ maintainers = [ maintainers.manveru ];
+ license = licenses.asl20;
+ platforms = platforms.all;
+ };
+ };
+
+ enableParallelBuilding = true;
+
+ buildInputs = [
+ ncurses
+ pkgconfig
+ cmake
+ pkgs.libuvVersions.v0_11_29
+ luajit
+ lua
+ lpeg
+ luaMessagePack
+ luabitop
+ libmsgpack
+ ];
+ nativeBuildInputs = [ gettext ];
+
+ LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so";
+ LUA_PATH="${luaMessagePack}/share/lua/5.1/?.lua";
+ cmakeFlags = [
+ "-DUSE_BUNDLED_MSGPACK=ON"
+ ];
+
+ meta = with stdenv.lib; {
+ description = "Aggressive refactor of Vim";
+ homepage = http://www.neovim.org;
+ maintainers = with maintainers; [ manveru ];
+ platforms = platforms.unix;
+ };
+}
+
diff --git a/pkgs/applications/editors/nvi/default.nix b/pkgs/applications/editors/nvi/default.nix
index 81e0dd35db9..ee9b775453c 100644
--- a/pkgs/applications/editors/nvi/default.nix
+++ b/pkgs/applications/editors/nvi/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.bostic.com/vi/;
description = "The Berkeley Vi Editor";
- license = "free";
+ license = stdenv.lib.licenses.free;
};
}
diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix
new file mode 100644
index 00000000000..516377f0996
--- /dev/null
+++ b/pkgs/applications/editors/sigil/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, unzip, cmake, pkgconfig, makeWrapper
+, hunspell, minizip, boost, xercesc, qt5
+}:
+
+let
+ version = "0.7.4";
+
+in
+
+stdenv.mkDerivation rec {
+ name = "sigil-${version}";
+
+ src = fetchurl {
+ url = "https://sigil.googlecode.com/files/Sigil-${version}-Code.zip";
+ sha256 = "68c7ca15ea8611921af0c435369563f55c6afd2ef1fb0945cf6c4a47429b0fb5";
+ };
+
+ buildInputs = [
+ unzip cmake pkgconfig
+ hunspell minizip boost xercesc qt5
+ ];
+
+ # XXX: the compiler seems to treat the .h file inappropriately:
+ #
+ # COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
+ # ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
+ # -o ${header_name}.h.gch
+ #
+ # but using -c or -x c++-header seems to work:
+ #
+ # COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
+ # -c ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
+ # -o ${header_name}.h.gch
+ #
+ # COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
+ # -x c++-header ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
+ # -o ${header_name}.h.gch
+ #
+ # Might be related to:
+ #
+ # http://permalink.gmane.org/gmane.comp.gcc.bugs/361195
+ buildCommand = ''
+ mkdir -pv $out
+ mkdir -pv ${name}/src ${name}/build ${name}/run
+ cd ${name}/src
+ unzip -n ${src}
+ sed -i \
+ -e 's|\(COMMAND\) \([^ ]\+\) \([^ ]\+\) \(.*\)|\1 \2 \3 -c \4|' \
+ cmake_extras/CustomPCH.cmake
+ cd ../build
+ cmake -G "Unix Makefiles" \
+ -DCMAKE_INSTALL_PREFIX=$out \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_BUILD_RPATH=ON \
+ ../src
+ make
+ make install
+ '';
+
+ meta = {
+ description = "Free, open source, multi-platform ebook (ePub) editor";
+ homepage = https://code.google.com/p/sigil/;
+ license = stdenv.lib.licenses.gpl3;
+ inherit version;
+ };
+}
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index 87310efc875..c27f5171de5 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, glib, xlibs, cairo, gtk, pango, makeWrapper}:
+{ fetchurl, stdenv, glib, xlibs, cairo, gtk, pango, makeWrapper, openssl, bzip2 }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -41,7 +41,7 @@ in let
mkdir -p $out
cp -prvd * $out/
# Without this, plugin_host crashes, even though it has the rpath
- wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1
+ wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl}/lib/libssl.so:${bzip2}/lib/libbz2.so
'';
};
in stdenv.mkDerivation {
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 710ceb7d31f..d5b7182c64a 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -37,7 +37,7 @@ composableDerivation {
else stdenv ).mkDerivation;
} (fix: {
- name = "vim_configurable-7.4.335";
+ name = "vim_configurable-7.4.516";
enableParallelBuilding = true; # test this
@@ -46,9 +46,9 @@ composableDerivation {
"default" =
# latest release
args.fetchhg {
- url = "https://vim.googlecode.com/hg/";
- rev = "v7-4-335";
- sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
+ url = "http://vim.googlecode.com/hg/";
+ rev = "v7-4-516";
+ sha256 = "0a3b5qaywfn7jjr7fjpl8y8jx4wjj2630wxfjnmn3hi1l7iiz4z8";
};
"vim-nox" =
@@ -139,7 +139,7 @@ composableDerivation {
nlsSupport = config.vim.nls or false;
tclSupport = config.vim.tcl or false;
multibyteSupport = config.vim.multibyte or false;
- cscopeSupport = config.vim.cscope or false;
+ cscopeSupport = config.vim.cscope or true;
netbeansSupport = config.netbeans or true; # eg envim is using it
# by default, compile with darwin support if we're compiling on darwin, but
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 95f654eb8ca..8f27f540997 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
name = "vim-${version}";
- version = "7.4.335";
+ version = "7.4.410";
src = fetchhg {
url = "https://vim.googlecode.com/hg/";
- rev = "v7-4-335";
- sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
+ rev = "v7-4-410";
+ sha256 = "145llhj6gq2bh9b7p8xkxc388krrximq80b87f3cn4w4d4k9fhqp";
};
enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch
index ed508784813..cbbe1ccb212 100644
--- a/pkgs/applications/editors/vim/ft-nix-support.patch
+++ b/pkgs/applications/editors/vim/ft-nix-support.patch
@@ -23,39 +23,42 @@ new file mode 100644
index 0000000..a2f9918
--- /dev/null
+++ b/runtime/syntax/nix.vim
-@@ -0,0 +1,47 @@
+@@ -0,0 +1,56 @@
+" Vim syntax file
+" Language: nix
+" Maintainer: Marc Weber
+" Modify and commit if you feel that way
-+" Last Change: 2007 Dec
++" Last Change: 2011 Jun
+"
+" this syntax file can be still be enhanced very much..
+" Don't ask, do it :-)
++" This file (github.com/MarcWeber/vim-addon-nix) is periodically synced with
++" the patch found in vim_configurable (nixpkgs)
+
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
-+syn keyword nixKeyword let in rec assert inherit import true false null with ...
-+syn keyword nixBuiltin import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation
++
++sy cluster nixStrings contains=nixStringParam,nixStringIndented
++
++syn keyword nixKeyword let throw inherit import true false null with
+syn keyword nixConditional if else then
+syn keyword nixBrace ( ) { } =
+syn keyword nixBuiltin __currentSystem __currentTime __isFunction __getEnv __trace __toPath __pathExists
+ \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList
+ \ __head __tail __add __sub __lessThan __substring __stringLength
+
-+syn match nixAttr "[a-zA-Z0-9-_]\+\ze\s*="
-+syn match nixFuncArg "\zs[a-zA-Z0-9-_]\+\ze\s*:"
-+syn region nixStringParam start=+\${+ end=+}+
++syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
++" syn region nixString start=+"+ skip=+\\"+ end=+"+
++syn match nixAttr "\w\+\ze\s*="
++syn match nixFuncArg "\zs\w\+\ze\s*:"
++syn region nixStringParam start=+\${+ end=+}+ contains=@nixStrings
+syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
+syn match nixEndOfLineComment "#.*$"
-+syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
-+syn region nixString start=+"+ skip=+\\"+ end=+"+ contains=nixStringParam
+
+hi def link nixKeyword Keyword
-+hi def link nixBuiltin Function
+hi def link nixConditional Conditional
+hi def link nixBrace Special
+hi def link nixString String
@@ -67,9 +70,20 @@ index 0000000..a2f9918
+hi def link nixAttr Identifier
+hi def link nixFuncArg Identifier
+
++syn sync maxlines=20000
++syn sync minlines=50000
++
+let b:current_syntax = "nix"
+
++" thanks to iElectric
+" scan backwards to find begining of multiline statements
+syn sync ccomment nixMultiLineComment minlines=10 maxlines=500
+syn sync ccomment nixStringIndented minlines=10 maxlines=500
+syn sync ccomment nixString maxlines=10
+diff --git a/runtime/ftplugin/nix.vim b/runtime/ftplugin/nix.vim
+new file mode 100644
+--- /dev/null
++++ b/runtime/ftplugin/nix.vim
+@@ -0,0 +1,2 @@
++" coding conventions
++setlocal sw=2 ts=2 expandtab
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index feafa7b9977..784be80ecf4 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -1,18 +1,15 @@
-{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
+{ stdenv, fetchurl, ncurses, gettext,
pkgconfig, cscope, python, ruby, tcl, perl, luajit
}:
-let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
-in mkDerivation rec {
+stdenv.mkDerivation rec {
name = "macvim-${version}";
- version = "7.4.355";
+ version = "7.4.479";
- src = fetchFromGitHub {
- owner = "genoma";
- repo = "macvim";
- rev = "c18a61f9723565664ffc2eda9179e96c95860e25";
- sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
+ src = fetchurl {
+ url = "https://github.com/genoma/macvim/archive/g-snapshot-21.tar.gz";
+ sha256 = "1s86dpb8bcxh309gikiz8gm9ygv3d2jy6i4qlnxarbvcdk65fzv4";
};
enableParallelBuilding = true;
@@ -46,6 +43,7 @@ in mkDerivation rec {
"--enable-perlinterp=dynamic"
"--enable-rubyinterp=dynamic"
"--enable-tclinterp=yes"
+ "--without-local-dir"
"--with-luajit"
"--with-lua-prefix=${luajit}"
"--with-ruby-command=${ruby}/bin/ruby"
@@ -54,6 +52,8 @@ in mkDerivation rec {
"--with-compiledby=Nix"
];
+ makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
+
preConfigure = ''
DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
configureFlagsArray+=(
diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch
index a789b9952d2..a42ebd4cc03 100644
--- a/pkgs/applications/editors/vim/macvim.patch
+++ b/pkgs/applications/editors/vim/macvim.patch
@@ -187,3 +187,36 @@ index bc9f074..9b9125e 100755
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
+
+diff --git a/src/Makefile b/src/Makefile
+index 1c4d104..fff2015 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
+ MacVim/MacVim.m
+ MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o objects/pty.o \
+ objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
+-MACVIMGUI_DEFS = -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
++MACVIMGUI_DEFS = -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
+ MACVIMGUI_IPATH =
+ MACVIMGUI_LIBS_DIR =
+ MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon
+
+diff --git a/src/if_python.c b/src/if_python.c
+index b356bf7..b7bfa78 100644
+--- a/src/if_python.c
++++ b/src/if_python.c
+@@ -55,11 +55,7 @@
+
+ #define PY_SSIZE_T_CLEAN
+
+-#ifdef FEAT_GUI_MACVIM
+-# include
+-#else
+-# include
+-#endif
++#include
+
+ #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000
+ # undef PY_SSIZE_T_CLEAN
+ MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon
diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix
index 2357e23bf01..5d1a8a6f141 100644
--- a/pkgs/applications/editors/vim/qvim.nix
+++ b/pkgs/applications/editors/vim/qvim.nix
@@ -1,5 +1,8 @@
args@{...}: with args;
+let tag = "20140827";
+ sha256 = "02adf2212872db3c5d133642d2c12fbfc28b506e4c0c42552e3d079756f63f65";
+in
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
@@ -9,14 +12,14 @@ composableDerivation {
else stdenv ).mkDerivation;
} (fix: {
- name = "qvim-7.4";
+ name = "qvim-7.4." + tag;
enableParallelBuilding = true; # test this
src = fetchgit {
url = https://bitbucket.org/equalsraf/vim-qt.git ;
- rev = "4160bfd5c1380e899d2f426b494fc4f1cf6ae85e";
- sha256 = "1qa3xl1b9gqw66p71h53l7ibs4y3zfyj553jss70ybxaxchbhi5b";
+ rev = "refs/tags/package-" + tag;
+ inherit sha256;
};
# FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
@@ -119,7 +122,7 @@ composableDerivation {
meta = with stdenv.lib; {
description = "The most popular clone of the VI editor (Qt GUI fork)";
homepage = https://bitbucket.org/equalsraf/vim-qt/wiki/Home;
- maintainers = with maintainers; [ smironov ];
+ maintainers = with maintainers; [ smironov ttuegel ];
platforms = platforms.linux;
};
})
diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix
deleted file mode 100644
index 2678f0a0048..00000000000
--- a/pkgs/applications/editors/yi/yi-contrib.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }:
-
-cabal.mkDerivation (self: {
- pname = "yi-contrib";
- version = "0.8.2";
- sha256 = "17rbgrra1ghlywiraadf16n7igxp1k8jqqmb0iw8sc15y7825qqm";
- buildDepends = [
- filepath lens mtl split time transformersBase yi
- ];
- meta = {
- homepage = "http://haskell.org/haskellwiki/Yi";
- description = "Add-ons to Yi, the Haskell-Scriptable Editor";
- license = "GPL";
- broken = true;
- platforms = self.ghc.meta.platforms;
- hydraPlatforms = self.stdenv.lib.platforms.none;
- maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
- };
-})
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
new file mode 100644
index 00000000000..cf1ab25da03
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
new file mode 100644
index 00000000000..d9ffbb8e481
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
@@ -0,0 +1,17 @@
+name: yi-custom
+version: 0.0.0.1
+category: Yi
+synopsis: Convenience wrapper for nix
+description: Convenience wrapper for nix
+license: PublicDomain
+license-file: LICENSE
+author: Mateusz Kowalczyk
+maintainer: fuuzetsu@fuuzetsu.co.uk
+Cabal-Version: >= 1.10
+build-type: Simple
+
+library
+ hs-source-dirs: .
+ default-language: Haskell2010
+ build-depends: base, yi
+ ghc-options: -threaded
diff --git a/pkgs/applications/editors/yi/yi-custom.nix b/pkgs/applications/editors/yi/yi-custom.nix
new file mode 100644
index 00000000000..3dbd4611998
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom.nix
@@ -0,0 +1,40 @@
+# This is a manually-written expression over an in-tree cabal file.
+# It's awkward but this way allows the package user to pass in
+# extraPackages without much extra hassle on their end, similarly how
+# the XMonad service handles it: the difference is that we don't have
+# anything like XMONAD_GHC…
+#
+# The idea is that the user changes their configs using any libraries
+# he likes and then builds it using this expression. Once that's done,
+# ‘reload’ and similar functions should all work as long as the user
+# doesn't need new libraries at which point they should add them to
+# extraPackages and rebuild from the expression.
+{ cabal, yi, extraPackages, makeWrapper, ghcWithPackages }:
+let
+ w = ghcWithPackages (self: [ yi ] ++ extraPackages self);
+ wrappedGhc = w.override { ignoreCollisions = true; };
+in
+cabal.mkDerivation (self: rec {
+ pname = "yi-custom";
+ version = "0.0.0.1";
+ src = ./yi-custom-cabal;
+ isLibrary = true;
+ buildDepends = [ yi ];
+ buildTools = [ makeWrapper ];
+ noHaddock = true;
+ doCheck = false;
+
+ postInstall = ''
+ makeWrapper ${yi}/bin/yi $out/bin/yi \
+ --set NIX_GHC ${wrappedGhc}/bin/ghc \
+ --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${self.ghc.version}
+ '';
+ meta = {
+ homepage = "http://haskell.org/haskellwiki/Yi";
+ description = "Wrapper over user-specified Haskell libraries for use in Yi config";
+ license = self.stdenv.lib.licenses.publicDomain;
+ platforms = self.ghc.meta.platforms;
+ maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+ };
+
+})
\ No newline at end of file
diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
index 9b9287a50f1..a63375adfd1 100644
--- a/pkgs/applications/editors/yi/yi.nix
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -1,65 +1,39 @@
-{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
-, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree
-, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec
-, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe
-, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase
-, uniplate, unixCompat, unorderedContainers, utf8String, vty
-, xdgBasedir
-, withPango ? true
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-# User may need extra dependencies for their configuration file so we
-# want to specify it here to have them available when wrapping the
-# produced binary.
-, extraDepends ? [ ]
+{ cabal, binary, Cabal, cautiousFile, dataDefault, derive, dlist
+, dynamicState, dyre, exceptions, filepath, glib, gtk, hashable
+, hint, HUnit, lens, mtl, ooPrototypes, pango, parsec, pointedlist
+, QuickCheck, random, regexBase, regexTdfa, safe, semigroups, split
+, tagged, tasty, tastyHunit, tastyQuickcheck, text, time
+, transformersBase, unixCompat, unorderedContainers, utf8String
+, vty, wordTrie, xdgBasedir, yiLanguage, yiRope
}:
cabal.mkDerivation (self: {
pname = "yi";
- version = "0.8.2";
- sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9";
+ version = "0.11.1";
+ sha256 = "15m1wwrxmszl930az79lpgyz5rxg72gy8vi17ibpac1cszfdx192";
isLibrary = true;
isExecutable = true;
buildDepends = [
- binary Cabal cautiousFile concreteTyperep dataDefault derive Diff
- dlist dyre filepath fingertree hashable hint lens mtl
- parsec pointedlist QuickCheck random regexBase regexTdfa safe
- split time transformersBase uniplate unixCompat unorderedContainers
- utf8String vty xdgBasedir
- ] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends;
- testDepends = [
- filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck
+ binary Cabal cautiousFile dataDefault derive dlist dynamicState
+ dyre exceptions filepath glib gtk hashable hint lens mtl
+ ooPrototypes pango parsec pointedlist QuickCheck random regexBase
+ regexTdfa safe semigroups split tagged text time transformersBase
+ unixCompat unorderedContainers utf8String vty wordTrie xdgBasedir
+ yiLanguage yiRope
];
- buildTools = [ alex ];
- configureFlags = if withPango then "-fpango" else "-f-pango";
- doCheck = false;
-
- # https://ghc.haskell.org/trac/ghc/ticket/9170
- noHaddock = self.ghc.version == "7.6.3";
-
- # Allows Yi to find the libraries it needs at runtime.
- postInstall = ''
- mv $out/bin/yi $out/bin/.yi-wrapped
- cat - > $out/bin/yi <
- #include
-
--#include
-+#include
-
- #include "intl.h"
- #include "app_procs.h"
-diff -Naur dia-0.97.2-orig/app/dia-win-remote.c dia-0.97.2/app/dia-win-remote.c
---- dia-0.97.2-orig/app/dia-win-remote.c 2010-08-03 11:35:35.000000000 -0400
-+++ dia-0.97.2/app/dia-win-remote.c 2012-07-15 10:49:08.159726316 -0400
-@@ -35,7 +35,7 @@
- #include
- #include
- #include
--#include
-+#include
-
- /**
- * PROTOTYPES:
-diff -Naur dia-0.97.2-orig/app/filedlg.c dia-0.97.2/app/filedlg.c
---- dia-0.97.2-orig/app/filedlg.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/app/filedlg.c 2012-07-15 10:49:08.227726294 -0400
-@@ -28,7 +28,7 @@
- #include
- #endif
- #include
--#include
-+#include
-
- #undef GTK_DISABLE_DEPRECATED /* gtk_file_chooser_dialog_new_with_backend */
- #include
-diff -Naur dia-0.97.2-orig/app/load_save.c dia-0.97.2/app/load_save.c
---- dia-0.97.2-orig/app/load_save.c 2011-09-25 07:55:11.000000000 -0400
-+++ dia-0.97.2/app/load_save.c 2012-07-15 10:49:08.203726303 -0400
-@@ -30,7 +30,7 @@
- #include
-
- #include
--#include /* g_access() and friends */
-+#include /* g_access() and friends */
- #include
-
- #ifndef W_OK
-diff -Naur dia-0.97.2-orig/app/sheets_dialog_callbacks.c dia-0.97.2/app/sheets_dialog_callbacks.c
---- dia-0.97.2-orig/app/sheets_dialog_callbacks.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/app/sheets_dialog_callbacks.c 2012-07-15 10:49:08.201726302 -0400
-@@ -44,7 +44,7 @@
- #endif
- #endif
-
--#include
-+#include
- #include
-
- #undef GTK_DISABLE_DEPRECATED /* GtkOptionMenu */
-diff -Naur dia-0.97.2-orig/ChangeLog.pre-git dia-0.97.2/ChangeLog.pre-git
---- dia-0.97.2-orig/ChangeLog.pre-git 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/ChangeLog.pre-git 2012-07-15 10:49:08.384726247 -0400
-@@ -4137,7 +4137,7 @@
- plug-ins/vdx/vdx-export.c plug-ins/vdx/vdx-import.c
- plug-ins/wmf/wmf.cpp plug-ins/wpg/wpg.c
- plug-ins/xfig/xfig-export.c plug-ins/xfig/xfig-import.c
-- plug-ins/xslt/xslt.c : use to match GLib's filename
-+ plug-ins/xslt/xslt.c : use to match GLib's filename
- encoding to the io functions used, that is: g_open, g_fopen, g_stat,
- g_unlink, g_mkdir, g_rename (, g_access, g_lstat, g_remove, g_freopen,
- g_chdir, g_rmdir). Also replace gzopen() with gzdopen(g_open(), ...)
-@@ -5995,7 +5995,7 @@
- Also special case strings starting with \tex - i.e. dont escape them -
- to keep the use-case of direct tex input.
-
-- * lib/debug.c : #include not just
-+ * lib/debug.c : #include
-
-
- 2006-01-14 Hans Breuer
-@@ -6207,7 +6207,7 @@
- * lib/makefile.msc : build debug.obj
-
- * plug-ins/makefile.msc : building pgf in the right alphabetical order
-- * plug-ins/pgf/render_pgf.c : include
-+ * plug-ins/pgf/render_pgf.c : include
-
- 2005-12-08 Lars Clausen
-
-diff -Naur dia-0.97.2-orig/lib/debug.c dia-0.97.2/lib/debug.c
---- dia-0.97.2-orig/lib/debug.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/lib/debug.c 2012-07-15 10:49:06.813726730 -0400
-@@ -21,7 +21,7 @@
- #include
-
- #include
--#include
-+#include
- #include
-
- #include "debug.h"
-diff -Naur dia-0.97.2-orig/lib/dia_dirs.c dia-0.97.2/lib/dia_dirs.c
---- dia-0.97.2-orig/lib/dia_dirs.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/lib/dia_dirs.c 2012-07-15 10:49:06.740726750 -0400
-@@ -30,7 +30,7 @@
- #include
- #include
- #endif
--#include
-+#include
-
- /** Get the name of a subdirectory of our data directory.
- * This function does not create the subdirectory, just make the correct name.
-diff -Naur dia-0.97.2-orig/lib/dia_xml.c dia-0.97.2/lib/dia_xml.c
---- dia-0.97.2-orig/lib/dia_xml.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/lib/dia_xml.c 2012-07-15 10:49:06.770726743 -0400
-@@ -25,7 +25,7 @@
- #include
-
- #include
--#include
-+#include
-
- #include
- #include
-diff -Naur dia-0.97.2-orig/objects/custom/shape_typeinfo.c dia-0.97.2/objects/custom/shape_typeinfo.c
---- dia-0.97.2-orig/objects/custom/shape_typeinfo.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/objects/custom/shape_typeinfo.c 2012-07-15 10:49:06.639726783 -0400
-@@ -27,8 +27,8 @@
- #include "custom_util.h"
- #include
- #include
--#include
--#include
-+#include
-+#include
- #include
-
- /*
-diff -Naur dia-0.97.2-orig/objects/SISSI/sissi.c dia-0.97.2/objects/SISSI/sissi.c
---- dia-0.97.2-orig/objects/SISSI/sissi.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/objects/SISSI/sissi.c 2012-07-15 10:49:06.570726804 -0400
-@@ -42,7 +42,7 @@
- #include "dia_xml_libxml.h"
-
- #include
--#include
-+#include
-
- #define DEFAULT_WIDTH 1.0
- #define DEFAULT_HEIGHT 1.0
-diff -Naur dia-0.97.2-orig/objects/standard/image.c dia-0.97.2/objects/standard/image.c
---- dia-0.97.2-orig/objects/standard/image.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/objects/standard/image.c 2012-07-15 10:49:06.683726770 -0400
-@@ -25,7 +25,7 @@
- #ifdef HAVE_UNIST_H
- #include
- #endif
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo.c dia-0.97.2/plug-ins/cairo/diacairo.c
---- dia-0.97.2-orig/plug-ins/cairo/diacairo.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/cairo/diacairo.c 2012-07-15 10:49:06.433726846 -0400
-@@ -28,7 +28,7 @@
- #include
- #define G_LOG_DOMAIN "DiaCairo"
- #include
--#include
-+#include
-
- /*
- * To me the following looks rather suspicious. Why do we need to compile
-diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c dia-0.97.2/plug-ins/cairo/diacairo-renderer.c
---- dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c 2011-01-07 06:54:21.000000000 -0500
-+++ dia-0.97.2/plug-ins/cairo/diacairo-renderer.c 2012-07-15 10:49:06.435726846 -0400
-@@ -28,7 +28,7 @@
- #include
- #define G_LOG_DOMAIN "DiaCairo"
- #include
--#include
-+#include
-
- #ifdef HAVE_PANGOCAIRO_H
- #include
-diff -Naur dia-0.97.2-orig/plug-ins/cgm/cgm.c dia-0.97.2/plug-ins/cgm/cgm.c
---- dia-0.97.2-orig/plug-ins/cgm/cgm.c 2009-12-27 11:22:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/cgm/cgm.c 2012-07-15 10:49:06.425726846 -0400
-@@ -31,7 +31,7 @@
- #include
- #include
-
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/drs/dia-render-script.c dia-0.97.2/plug-ins/drs/dia-render-script.c
---- dia-0.97.2-orig/plug-ins/drs/dia-render-script.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/drs/dia-render-script.c 2012-07-15 10:49:06.427726848 -0400
-@@ -54,7 +54,7 @@
-
- #define G_LOG_DOMAIN "DiaRenderScript"
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "filter.h"
-diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-export.c dia-0.97.2/plug-ins/dxf/dxf-export.c
---- dia-0.97.2-orig/plug-ins/dxf/dxf-export.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/dxf/dxf-export.c 2012-07-15 10:49:06.421726850 -0400
-@@ -29,7 +29,7 @@
- #include
- #include
- #include
--#include
-+#include
-
- #include "autocad_pal.h"
-
-diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-import.c dia-0.97.2/plug-ins/dxf/dxf-import.c
---- dia-0.97.2-orig/plug-ins/dxf/dxf-import.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/dxf/dxf-import.c 2012-07-15 10:49:06.419726851 -0400
-@@ -30,7 +30,7 @@
- #include
- #include
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/hpgl/hpgl.c dia-0.97.2/plug-ins/hpgl/hpgl.c
---- dia-0.97.2-orig/plug-ins/hpgl/hpgl.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/hpgl/hpgl.c 2012-07-15 10:49:06.487726830 -0400
-@@ -37,7 +37,7 @@
- #include
-
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/libart/export_png.c dia-0.97.2/plug-ins/libart/export_png.c
---- dia-0.97.2-orig/plug-ins/libart/export_png.c 2011-07-03 06:56:08.000000000 -0400
-+++ dia-0.97.2/plug-ins/libart/export_png.c 2012-07-15 10:49:06.415726849 -0400
-@@ -29,7 +29,7 @@
- #include
- #include
-
--#include
-+#include
- #include
-
- #include "intl.h"
-diff -Naur dia-0.97.2-orig/plug-ins/metapost/render_metapost.c dia-0.97.2/plug-ins/metapost/render_metapost.c
---- dia-0.97.2-orig/plug-ins/metapost/render_metapost.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/metapost/render_metapost.c 2012-07-15 10:49:06.396726857 -0400
-@@ -43,7 +43,7 @@
- #endif
- #include
-
--#include
-+#include
-
- #include "intl.h"
- #include "render_metapost.h"
-diff -Naur dia-0.97.2-orig/plug-ins/pgf/render_pgf.c dia-0.97.2/plug-ins/pgf/render_pgf.c
---- dia-0.97.2-orig/plug-ins/pgf/render_pgf.c 2011-01-07 07:11:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/pgf/render_pgf.c 2012-07-15 10:49:06.445726842 -0400
-@@ -61,8 +61,8 @@
- #endif
- #include
-
--#include
--#include
-+#include
-+#include
-
- #include "intl.h"
- #include "render_pgf.h"
-diff -Naur dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c dia-0.97.2/plug-ins/postscript/paginate_psprint.c
---- dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/postscript/paginate_psprint.c 2012-07-15 10:49:06.451726838 -0400
-@@ -31,7 +31,7 @@
- #include
- #include
-
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/postscript/render_eps.c dia-0.97.2/plug-ins/postscript/render_eps.c
---- dia-0.97.2-orig/plug-ins/postscript/render_eps.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/postscript/render_eps.c 2012-07-15 10:49:06.451726838 -0400
-@@ -55,7 +55,7 @@
- #include
- #include
-
--#include
-+#include
-
- #include "intl.h"
- #include "render_eps.h"
-diff -Naur dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c dia-0.97.2/plug-ins/pstricks/render_pstricks.c
---- dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c 2011-01-07 07:11:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/pstricks/render_pstricks.c 2012-07-15 10:49:06.410726853 -0400
-@@ -50,7 +50,7 @@
- #endif
- #include
-
--#include
-+#include
-
- #include "intl.h"
- #include "render_pstricks.h"
-diff -Naur dia-0.97.2-orig/plug-ins/python/pydia-render.c dia-0.97.2/plug-ins/python/pydia-render.c
---- dia-0.97.2-orig/plug-ins/python/pydia-render.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/python/pydia-render.c 2012-07-15 10:49:06.503726822 -0400
-@@ -21,7 +21,7 @@
-
- #include
- #include
--#include
-+#include
-
- #include
-
-diff -Naur dia-0.97.2-orig/plug-ins/shape/shape-export.c dia-0.97.2/plug-ins/shape/shape-export.c
---- dia-0.97.2-orig/plug-ins/shape/shape-export.c 2009-11-08 06:14:56.000000000 -0500
-+++ dia-0.97.2/plug-ins/shape/shape-export.c 2012-07-15 10:49:06.489726827 -0400
-@@ -40,7 +40,7 @@
- #include
- #endif
-
--#include
-+#include
-
- /* the dots per centimetre to render this diagram at */
- /* this matches the setting `100%' setting in dia. */
-diff -Naur dia-0.97.2-orig/plug-ins/svg/render_svg.c dia-0.97.2/plug-ins/svg/render_svg.c
---- dia-0.97.2-orig/plug-ins/svg/render_svg.c 2011-12-17 11:30:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/svg/render_svg.c 2012-07-15 10:49:06.392726859 -0400
-@@ -30,7 +30,7 @@
- #endif
-
- #include
--#include
-+#include
-
- #include
- #include
-diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-export.c dia-0.97.2/plug-ins/vdx/vdx-export.c
---- dia-0.97.2-orig/plug-ins/vdx/vdx-export.c 2009-12-27 11:22:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/vdx/vdx-export.c 2012-07-15 10:55:17.066579728 -0400
-@@ -32,11 +32,12 @@
-
- #include
- #include
-+#include
- #include
- #include
- #include
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-import.c dia-0.97.2/plug-ins/vdx/vdx-import.c
---- dia-0.97.2-orig/plug-ins/vdx/vdx-import.c 2009-12-27 11:22:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/vdx/vdx-import.c 2012-07-15 10:49:06.466726836 -0400
-@@ -28,7 +28,7 @@
- #include
- #include
- #include
--#include
-+#include
- #include
- #include
- #include
-diff -Naur dia-0.97.2-orig/plug-ins/wmf/wmf.cpp dia-0.97.2/plug-ins/wmf/wmf.cpp
---- dia-0.97.2-orig/plug-ins/wmf/wmf.cpp 2011-03-13 09:07:48.000000000 -0400
-+++ dia-0.97.2/plug-ins/wmf/wmf.cpp 2012-07-15 10:49:06.482726831 -0400
-@@ -25,7 +25,7 @@
- #include
- #include
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/wpg/wpg.c dia-0.97.2/plug-ins/wpg/wpg.c
---- dia-0.97.2-orig/plug-ins/wpg/wpg.c 2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/wpg/wpg.c 2012-07-15 10:49:06.406726855 -0400
-@@ -40,7 +40,7 @@
- #include
-
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-export.c dia-0.97.2/plug-ins/xfig/xfig-export.c
---- dia-0.97.2-orig/plug-ins/xfig/xfig-export.c 2011-12-17 11:30:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/xfig/xfig-export.c 2012-07-15 10:49:06.400726856 -0400
-@@ -16,7 +16,7 @@
- #include
-
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-import.c dia-0.97.2/plug-ins/xfig/xfig-import.c
---- dia-0.97.2-orig/plug-ins/xfig/xfig-import.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/xfig/xfig-import.c 2012-07-15 10:49:06.402726853 -0400
-@@ -40,7 +40,7 @@
- #include
-
- #include
--#include
-+#include
-
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/xslt/xslt.c dia-0.97.2/plug-ins/xslt/xslt.c
---- dia-0.97.2-orig/plug-ins/xslt/xslt.c 2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/xslt/xslt.c 2012-07-15 10:49:06.440726844 -0400
-@@ -27,7 +27,7 @@
- #include
- #include
-
--#include
-+#include
-
- #include "filter.h"
- #include "intl.h"
-diff -Naur dia-0.97.2-orig/tests/test-boundingbox.c dia-0.97.2/tests/test-boundingbox.c
---- dia-0.97.2-orig/tests/test-boundingbox.c 2009-11-07 09:28:35.000000000 -0500
-+++ dia-0.97.2/tests/test-boundingbox.c 2012-07-15 10:49:06.986726677 -0400
-@@ -29,7 +29,7 @@
- #include
-
- #if GLIB_CHECK_VERSION(2,16,0)
--#include
-+#include
- #endif
- #include "dialib.h"
-
-diff -Naur dia-0.97.2-orig/tests/test-objects.c dia-0.97.2/tests/test-objects.c
---- dia-0.97.2-orig/tests/test-objects.c 2009-11-07 09:28:35.000000000 -0500
-+++ dia-0.97.2/tests/test-objects.c 2012-07-15 10:49:06.985726677 -0400
-@@ -29,7 +29,7 @@
- #include
-
- #if GLIB_CHECK_VERSION(2,16,0)
--#include
-+#include
- #endif
-
- #include "object.h"
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 5bc409d10e5..b067358ea06 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -4,11 +4,11 @@ liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost
shared_desktop_ontologies, marble, mysql }:
stdenv.mkDerivation rec {
- name = "digikam-3.5.0";
+ name = "digikam-4.4.0";
src = fetchurl {
url = "http://download.kde.org/stable/digikam/${name}.tar.bz2";
- sha256 = "0an4awlg0b8pwl6v8p5zfl3aghgnxck2pc322cyk6i6yznj2mgap";
+ sha256 = "1sflh3i989f9xi4qym3rzcrx7ahrjf1n9si8c5q05dgm039a4s2w";
};
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
diff --git a/pkgs/applications/graphics/f-spot/default.nix b/pkgs/applications/graphics/f-spot/default.nix
index 8ecfc0df162..291f0adce58 100644
--- a/pkgs/applications/graphics/f-spot/default.nix
+++ b/pkgs/applications/graphics/f-spot/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = http://tarballs.nixos.org/f-spot-0.0.10.tar.bz2;
- md5 = "19cc6e067ccc261b0502ff6189b79832";
+ sha256 = "1hgls6hzvxsnk09j9y6hq10qxsc92i864mdg3gk2cimbkbr0mh8b";
};
patches = [./dllmap.patch];
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 0235f892b8d..a7665177046 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
- boost.lib zlib python swig gfortran soqt libf2c makeWrapper matplotlib
+ zlib python swig gfortran soqt libf2c makeWrapper matplotlib
pycollada pyside pysideShiboken
];
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index e914186ac81..033a2027ec6 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,32 +1,31 @@
-{ stdenv, fetchgit, pkgconfig, autoconf, automake, gtk, libpng, exiv2, lcms
-, intltool, gettext, libchamplain, fbida }:
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gtk, libpng, exiv2
+, lcms, intltool, gettext, libchamplain, fbida
+}:
stdenv.mkDerivation rec {
name = "geeqie-${version}";
version = "1.2";
- src = fetchgit {
- url = "git://gitorious.org/geeqie/geeqie.git";
- rev = "refs/tags/v${version}";
- sha256 = "1h9w0jrcqcp5jjgmks5pvpppnfxhcd1s3vqlyb3qyil2wfk8n8wp";
+ src = fetchurl {
+ url = mirror://debian/pool/main/g/geeqie/geeqie_1.2.orig.tar.gz;
+ sha256 = "0wkcpyh3f6ig36x1q6h9iqgq225w37visip48m72j8rpghmv1rn3";
};
- preConfigure = "./autogen.sh";
-
configureFlags = [ "--enable-gps" ];
- buildInputs =
- [ pkgconfig autoconf automake gtk libpng exiv2 lcms intltool gettext
- libchamplain
- ];
+ preConfigure = "./autogen.sh";
- postInstall =
- ''
- # Allow geeqie to find exiv2 and exiftran, necessary to
- # losslessly rotate JPEG images.
- sed -i $out/lib/geeqie/geeqie-rotate \
- -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
- '';
+ buildInputs = [
+ autoconf automake libtool pkgconfig gtk libpng exiv2 lcms intltool gettext
+ #libchamplain
+ ];
+
+ postInstall = ''
+ # Allow geeqie to find exiv2 and exiftran, necessary to
+ # losslessly rotate JPEG images.
+ sed -i $out/lib/geeqie/geeqie-rotate \
+ -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
+ '';
meta = with stdenv.lib; {
description = "Lightweight GTK+ based image viewer";
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index bd155c59c6b..9f7643ad1c0 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The GNU Image Manipulation Program";
homepage = http://www.gimp.org/;
- license = "GPL";
+ license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 7139bc71f3c..c5350228dcf 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -59,7 +59,7 @@ rec {
sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \
-e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure
'';
- meta = {
+ meta = {
description = "The GIMP Animation Package";
homepage = http://www.gimp.org;
# The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
@@ -174,10 +174,10 @@ rec {
sourceRoot = "${name}/src";
buildPhase = "make gimp";
installPhase = "installPlugins gmic_gimp";
- meta = {
+ meta = {
description = "script language for image processing which comes with its open-source interpreter";
homepage = http://gmic.sourceforge.net/repository.shtml;
- license = "CeCILL FREE SOFTWARE LICENSE AGREEMENT";
+ license = stdenv.lib.licenses.cecill20;
/*
The purpose of this Free Software license agreement is to grant users
the right to modify and redistribute the software governed by this
@@ -197,7 +197,7 @@ rec {
# --enable-dst-correction - enable DST correction for file timestamps.
# --enable-contrast - enable the contrast setting option.
# --enable-interp-none: enable 'None' interpolation (mostly for debugging).
- # --with-lensfun: use the lensfun library - experimental feature, read this before using it.
+ # --with-lensfun: use the lensfun library - experimental feature, read this before using it.
# --with-prefix=PREFIX - use also PREFIX as an input prefix for the build
# --with-dosprefix=PREFIX - PREFIX in the the prefix in dos format (needed only for ms-window
configureFlags = "--enable-extras --enable-dst-correction --enable-contrast";
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
index 7f2d3e24589..7558b0aef4b 100644
--- a/pkgs/applications/graphics/luminance-hdr/default.nix
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
- buildInputs = [ qt5 boost boost.lib exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+ buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index ad8735a6dff..b4becafdb0b 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -1,11 +1,11 @@
{ fetchurl, stdenv, lzip, texinfo }:
stdenv.mkDerivation rec {
- name = "ocrad-0.23";
+ name = "ocrad-0.24";
src = fetchurl {
url = "mirror://gnu/ocrad/${name}.tar.lz";
- sha256 = "0vx0v4sz8ivgcp04zggdq9cv9sb5zxnn7j1nm15cds0zq1wr9g7m";
+ sha256 = "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv";
};
buildInputs = [ lzip texinfo ];
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index f6d7c25b196..473db68dc27 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,15 +4,15 @@
stdenv.mkDerivation rec {
name = "oiio-${version}";
- version = "1.4.13";
+ version = "1.4.15";
src = fetchurl {
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
- sha256 = "1idscm2qqdjgv362l7xk9v162axji7hqh7xdnd3i0wcxwjpgygca";
+ sha256 = "1fc5v3qmrzf9qx765fd15r2dc3ccrz4xf4f9q4cwsrspmaxqyqzs";
};
buildInputs = [
- boost boost.lib cmake ilmbase libjpeg libpng libtiff opencolorio openexr
+ boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr
unzip
];
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 67611d2f67c..e6d5ee5528f 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- qt4 bison flex eigen boost boost.lib mesa glew opencsg cgal mpfr gmp glib
+ qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib
pkgconfig
];
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index cc42e1c4046..40f8d441d7e 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -36,9 +36,8 @@ stdenv.mkDerivation rec {
meta = {
homepage = "http://www.paraview.org/";
description = "3D Data analysis and visualization application";
- license = "free";
+ license = stdenv.lib.licenses.free;
maintainers = with stdenv.lib.maintainers; [viric guibert];
platforms = with stdenv.lib.platforms; linux;
};
}
-
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index b314bdaf6ba..b8a07f01e03 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchgit, qt4, cgal, boost, gmp, mpfr, flex, bison, dxflib}:
+{stdenv, fetchgit, qt5, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline }:
stdenv.mkDerivation rec {
- version = "0.8.0";
+ version = "0.9.5";
name = "rapcad-${version}";
src = fetchgit {
url = "https://github.com/GilesBathgate/RapCAD.git";
rev = "refs/tags/v${version}";
- sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
+ sha256 = "15c18jvgbwyrfhv7r35ih0gzx35vjlsbi984h1sckgh2z17hjq8l";
};
- buildInputs = [qt4 cgal boost boost.lib gmp mpfr flex bison dxflib];
+ buildInputs = [qt5 cgal boost gmp mpfr flex bison dxflib readline ];
configurePhase = ''
qmake;
diff --git a/pkgs/applications/graphics/sane/backends.nix b/pkgs/applications/graphics/sane/backends.nix
index 28d2f1e200b..74321549318 100644
--- a/pkgs/applications/graphics/sane/backends.nix
+++ b/pkgs/applications/graphics/sane/backends.nix
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
postInstall = ''
if test "$udevSupport" = "1"; then
mkdir -p $out/etc/udev/rules.d/
- ./tools/sane-desc -m udev > $out/etc/udev/rules.d/60-libsane.rules || \
- cp tools/udev/libsane.rules $out/etc/udev/rules.d/60-libsane.rules
+ ./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \
+ cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
fi
'';
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index 221a4340dce..9bca047a7cf 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
preConfigure = ''
sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/xsane-back-gtk.c
+ chmod a+rX -R .
'';
buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ]
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 1953f951d16..48044fba166 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkit
+{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkitgtk24x
, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib, gettext, desktop_file_utils
, lcms2, gdk_pixbuf, librsvg, makeWrapper, gnome_doc_utils }:
@@ -18,12 +18,12 @@ let
buildInputs = [ pkgconfig glib libsoup ];
};
in stdenv.mkDerivation rec {
- version = "0.18.0";
+ version = "0.20.2";
name = "shotwell-${version}";
src = fetchurl {
- url = "mirror://gnome/sources/shotwell/0.18/${name}.tar.xz";
- sha256 = "0cq0zs13f3f4xyz46yvj4qfpm5nh4ypds7r53pkqm4a3n8ybf5v7";
+ url = "mirror://gnome/sources/shotwell/0.20/${name}.tar.xz";
+ sha256 = "0h5pdczsrkplvlvq54zk3am4kjmfpd6pn2sz0ky8lfq1fngwiqip";
};
NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include";
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
'';
- buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkit pkgconfig
+ buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk24x pkgconfig
gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2
libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
makeWrapper gnome_doc_utils ];
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
index 95230291fe9..cba69c476b5 100644
--- a/pkgs/applications/graphics/solvespace/default.nix
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
'';
meta = {
- description = "A parametric 3d CAD program.";
+ description = "A parametric 3d CAD program";
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index 30513577d04..a82dafb516e 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl, libX11, imlib2, giflib }:
+{ stdenv, fetchgit, libX11, imlib2, giflib, libexif }:
stdenv.mkDerivation {
- name = "sxiv-1.1.1";
+ name = "sxiv-1.3-git";
- src = fetchurl {
- url = "https://github.com/muennich/sxiv/archive/v1.1.1.tar.gz";
- name = "sxiv-1.1.tar.gz";
- sha256 = "07r8125xa8d5q71ql71s4i1dx4swy8hypxh2s5h7z2jnn5y9nmih";
+ src = fetchgit {
+ url = "https://github.com/muennich/sxiv.git";
+ rev = "6216bf6c2d42be63025d29550831d9f4447f4066";
+ sha256 = "e25e19cf073cc2621656e50d2c31cc59cc0fc200716f96c765374568a26977f1";
};
- buildInputs = [ libX11 imlib2 giflib ];
-
- prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+ postUnpack = ''
+ substituteInPlace $sourceRoot/Makefile \
+ --replace /usr/local $out
+ '';
+ buildInputs = [ libX11 imlib2 giflib libexif ];
meta = {
description = "Simple X Image Viewer";
homepage = "https://github.com/muennich/sxiv";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
};
}
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index 59ca7b7374d..2b3f4c80bcd 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -4,14 +4,14 @@
}:
let
- version = "0.64.1";
+ version = "0.64.2";
ETL = stdenv.mkDerivation rec {
name = "ETL-0.04.17";
src = fetchurl {
url = "mirror://sourceforge/synfig/${name}.tar.gz";
- sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy";
+ sha256 = "1i2m31y5hdwr365z3zmfh5p3zm4ga4l4yqrl1qrmjryqqzkw200l";
};
};
@@ -20,36 +20,46 @@ let
src = fetchurl {
url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz";
- sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda";
+ sha256 = "04mx321z929ngl65hfc1hv5jw37wqbh8y2avmpvajagvn6lp3zdl";
};
+ configureFlags = [
+ "--with-boost=${boost.dev}"
+ "--with-boost-libdir=${boost.lib}/lib"
+ ];
+
patches = [ ./synfig-cstring.patch ];
buildInputs = [
- ETL boost boost.lib cairo gettext glibmm libsigcxx libtool libxmlxx pango
+ ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango
pkgconfig
];
-
- configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
};
in
stdenv.mkDerivation rec {
name = "synfigstudio-${version}";
src = fetchurl {
- url = "mirror://sourceforge/synfig/${name}.tar.gz";
- sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2";
- };
+ url = "mirror://sourceforge/synfig/${name}.tar.gz";
+ sha256 = "13hw4z6yx70g4mnjmvmxkk7b1qzlwmqjhxflq5dd6cqdsmfw9mc7";
+ };
buildInputs = [
- ETL boost cairo fontsConf gettext glibmm gtk gtkmm imagemagick intltool
+ ETL boost cairo gettext glibmm gtk gtkmm imagemagick intltool
intltool libsigcxx libtool libxmlxx pkgconfig synfig
];
+ configureFlags = [
+ "--with-boost=${boost.dev}"
+ "--with-boost-libdir=${boost.lib}/lib"
+ ];
+
preBuild = ''
export FONTCONFIG_FILE=${fontsConf}
'';
+ enableParallelBuilding = true;
+
meta = with stdenv.lib; {
description = "A 2D animation program";
homepage = http://www.synfig.org;
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index dbfda4e5819..3de3d6cdd5a 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -2,12 +2,12 @@
, libjpeg, libtiff, cfitsio, exiv2, lcms, gtkimageview, lensfun }:
stdenv.mkDerivation rec {
- name = "ufraw-0.19.2";
+ name = "ufraw-0.20";
src = fetchurl {
# XXX: These guys appear to mutate uploaded tarballs!
url = "mirror://sourceforge/ufraw/${name}.tar.gz";
- sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
+ sha256 = "1q51p0ynzayxwfpilj0s38aapgkfga00gbl7xi0ndx9q6bvk1kbd";
};
buildInputs =
diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix
new file mode 100644
index 00000000000..2929513952e
--- /dev/null
+++ b/pkgs/applications/graphics/yed/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, makeWrapper, unzip, jre }:
+
+stdenv.mkDerivation rec {
+ name = "yEd-3.13";
+
+ src = fetchurl {
+ url = "http://www.yworks.com/products/yed/demo/${name}.zip";
+ sha256 = "1d5qs6q31k49y9gh054aafck548pv9f97b3il4iksnna1r59w5jy";
+ };
+
+ nativeBuildInputs = [ unzip makeWrapper ];
+
+ installPhase = ''
+ mkdir -p $out/yed
+ cp -r * $out/yed
+ mkdir -p $out/bin
+
+ makeWrapper ${jre}/bin/java $out/bin/yed \
+ --add-flags "-jar $out/yed/yed.jar --"
+ '';
+
+ meta = with stdenv.lib; {
+ license = licenses.unfreeRedistributable;
+ homepage = http://www.yworks.com/en/products/yfiles/yed/;
+ description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
+ platforms = jre.meta.platforms;
+ maintainer = with maintainers; [ abbradar ];
+ };
+}
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 4eefd5749b6..a6c299d1ab3 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -1,11 +1,11 @@
{stdenv, fetchurl, jre, unzip}:
stdenv.mkDerivation rec {
- version = "0.8.2";
+ version = "0.9.0";
pname = "zgrviewer";
name="${pname}-${version}";
src = fetchurl {
url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip";
- sha256 = "a76b9865c1490a6cfc08911592a19c15fe5972bf58e017cb31db580146f069bb";
+ sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23";
};
buildInputs = [jre unzip];
buildPhase = "";
diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix
index 2643094e2f1..4b7d81ba882 100644
--- a/pkgs/applications/misc/bitcoin/altcoins.nix
+++ b/pkgs/applications/misc/bitcoin/altcoins.nix
@@ -1,6 +1,6 @@
{ fetchurl, stdenv, pkgconfig
, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
-, utillinux, autogen, autoconf, autobuild, automake, db }:
+, utillinux, autogen, autoconf, autobuild, automake, autoreconfHook, db }:
with stdenv.lib;
@@ -8,7 +8,7 @@ let
buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a:
stdenv.mkDerivation ({
name = "${walletName}${toString (optional (!gui) "d")}-${a.version}";
- buildInputs = [ openssl db48 boost zlib miniupnpc ]
+ buildInputs = [ pkgconfig openssl db48 boost zlib miniupnpc ]
++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or [];
configurePhase = optional gui "qmake";
@@ -27,7 +27,7 @@ let
meta = {
platforms = platforms.unix;
license = license.mit;
- maintainers = [ maintainers.offline ];
+ maintainers = [ maintainers.offline ] ++ a.extraMaintainers;
};
} // a)
);
@@ -35,31 +35,6 @@ let
in rec {
inherit buildAltcoin;
- litecoin = buildAltcoin rec {
- walletName = "litecoin";
- version = "0.8.5.3-rc3";
-
- src = fetchurl {
- url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
- sha256 = "1z4a7bm3z9kd7n0s38kln31z8shsd32d5d5v3br5p0jlnr5g3lk7";
- };
-
- meta = {
- description = "Litecoin is a lite version of Bitcoin using scrypt as a proof-of-work algorithm.";
- longDescription= ''
- Litecoin is a peer-to-peer Internet currency that enables instant payments
- to anyone in the world. It is based on the Bitcoin protocol but differs
- from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
- Litecoin provides faster transaction confirmations (2.5 minutes on average)
- and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
- the regular computers and GPUs most people already have.
- The Litecoin network is scheduled to produce 84 million currency units.
- '';
- homepage = https://litecoin.org/;
- };
- };
- litecoind = litecoin.override { gui = false; };
-
namecoin = buildAltcoin rec {
walletName = "namecoin";
version = "0.3.51.00";
@@ -75,9 +50,33 @@ in rec {
extraBuildInputs = [ glib ];
meta = {
- description = "Namecoin is a decentralized key/value registration and transfer system based on Bitcoin technology.";
+ description = "A decentralized key/value registration and transfer system based on Bitcoin technology";
homepage = http://namecoin.info;
};
};
+ darkcoin = buildAltcoin rec {
+ walletName = "darkcoin";
+ version = "0.9.13.15";
+
+ src = fetchurl {
+ url = "https://github.com/darkcoin/darkcoin/archive/v${version}.tar.gz";
+ sha256 = "1kly2y3g4dr1jwwf81smqvc7k662x6rvg4ggmxva1yaifb67bgjb";
+ };
+
+ extraBuildInputs = [ glib ];
+
+ meta = {
+ description = "A decentralized key/value registration and transfer system";
+ longDescription = ''
+ Darkcoin (DRK) is an open sourced, privacy-centric digital
+ currency. It allows you keep your finances private as you make
+ transactions, similar to cash.
+ '';
+ homepage = http://darkcoin.io;
+ extraMaintainers = [ maintainers.AndersonTorres ];
+ };
+ };
+ darkcoind = darkcoin.override { gui = false; };
+
}
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index 2b68c58b12d..c886cf3c270 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -4,12 +4,12 @@
with stdenv.lib;
stdenv.mkDerivation rec {
- version = "0.9.2.1";
+ version = "0.9.3";
name = "bitcoin${toString (optional (!gui) "d")}-${version}";
src = fetchurl {
url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz";
- sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54";
+ sha256 = "1kb59w7232qzfh952rz6vvjri2w26n9cq7baml0vifdsdhxph9f4";
};
# hexdump from utillinux is required for tests
@@ -23,15 +23,13 @@ stdenv.mkDerivation rec {
cd bitcoin*
'';
- configureFlags = [
- "--with-boost=${boost}"
- ];
-
preCheck = ''
# At least one test requires writing in $HOME
HOME=$TMPDIR
'';
+ configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
+
doCheck = true;
enableParallelBuilding = true;
@@ -49,5 +47,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.bitcoin.org/";
maintainers = [ maintainers.roconnor ];
license = licenses.mit;
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/misc/bitcoin/dogecoin.nix b/pkgs/applications/misc/bitcoin/dogecoin.nix
index 7ace3c161c7..21da32104d3 100644
--- a/pkgs/applications/misc/bitcoin/dogecoin.nix
+++ b/pkgs/applications/misc/bitcoin/dogecoin.nix
@@ -30,7 +30,6 @@ let
./autogen.sh \
&& ./configure --prefix=$out \
--with-incompatible-bdb \
- --with-boost-libdir=${boost}/lib \
${ if withGui then "--with-gui" else "" }
'';
diff --git a/pkgs/applications/misc/bitcoin/litecoin.nix b/pkgs/applications/misc/bitcoin/litecoin.nix
new file mode 100644
index 00000000000..3e5d9427cf3
--- /dev/null
+++ b/pkgs/applications/misc/bitcoin/litecoin.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, pkgconfig
+, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
+, utillinux, autogen, autoreconfHook }:
+
+with stdenv.lib;
+
+let
+ mkAutoreconfCoin =
+ { name, version, withGui, src, meta }:
+
+ stdenv.mkDerivation {
+
+ inherit src meta;
+
+ name = name + (toString (optional (!withGui) "d")) + "-" + version;
+
+ buildInputs = [ autogen autoreconfHook pkgconfig openssl
+ boost zlib miniupnpc db48 glib utillinux protobuf ]
+ ++ optionals withGui [ qt4 qrencode protobuf ];
+
+ configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] ++ optionals withGui [ "--with-gui=qt4" ];
+ };
+
+ mkLitecoin = { withGui }:
+
+ mkAutoreconfCoin rec {
+
+ name = "litecoin";
+ version = "0.9.3-preview5";
+ inherit withGui;
+
+ src = fetchurl {
+ url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
+ sha256 = "0nnfz4s2g28jb5fqy6cabsryp3h2amzlyslr6g6k8r1vmzvx5ym6";
+ };
+
+ meta = with stdenv.lib; {
+ description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
+ longDescription= ''
+ Litecoin is a peer-to-peer Internet currency that enables instant payments
+ to anyone in the world. It is based on the Bitcoin protocol but differs
+ from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
+ Litecoin provides faster transaction confirmations (2.5 minutes on average)
+ and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
+ the regular computers and GPUs most people already have.
+ The Litecoin network is scheduled to produce 84 million currency units.
+ '';
+ homepage = https://litecoin.org/;
+ platforms = platforms.unix;
+ license = licenses.mit;
+ maintainers = [ maintainers.offline maintainers.AndersonTorres ];
+ };
+ };
+
+in {
+
+ litecoin = mkLitecoin { withGui = true; };
+ litecoind = mkLitecoin { withGui = false; };
+
+}
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 808ef8d593d..01f9b861bf2 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -9,15 +9,15 @@
with lib;
stdenv.mkDerivation rec {
- name = "blender-2.72";
+ name = "blender-2.72b";
src = fetchurl {
url = "http://download.blender.org/source/${name}.tar.gz";
- sha256 = "0wydh5bs1pxnx3ya65lfy3val1s8wz027a5kb4va6wg3aqnwlvlv";
+ sha256 = "0ixz8h3c08p4f84x8r85nzddwvc0h5lw1ci8gdg2x3m2mw2cfdj4";
};
buildInputs =
- [ SDL boost boost.lib cmake ffmpeg gettext glew ilmbase libXi
+ [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
libjpeg libpng libsamplerate libsndfile libtiff mesa openal
opencolorio openexr openimageio /* openjpeg */ python zlib fftw
]
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index a9f4071caae..4656e5add13 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
- name = "calibre-2.5.0";
+ name = "calibre-2.12.0";
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
- sha256 = "0zl2rpwn5xdgwm4ffb5pizk3247wfghl8ilz0i80hyp36zzxgl8p";
+ sha256 = "1qp3aq6f6ngfy8m0bj6rzdf6p2vmk4bxycxfby2n8byfhr8gaclf";
};
inherit python;
diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix
index d1b3b284052..d96236c94ee 100644
--- a/pkgs/applications/misc/cdrtools/default.nix
+++ b/pkgs/applications/misc/cdrtools/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/cdrtools/${name}.tar.bz2";
- md5 = "d44a81460e97ae02931c31188fe8d3fd";
+ sha256 = "08kc5w4z5k2ka7i05an7gfzzp0fsrc403riav7bw8xws0rsn32vj";
};
patches = [./cdrtools-2.01-install.patch];
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index c290cdfb690..581081975e5 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -1,14 +1,14 @@
{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }:
let
py = python27Packages;
- version = "14.07";
+ version = "14.09";
in
stdenv.mkDerivation rec {
name = "cura-${version}";
src = fetchurl {
url = "https://github.com/daid/Cura/archive/${version}.tar.gz";
- sha256 = "1jfgkb2qh1syakcssk66yhnfjm9p9qcx48v34bbza9nryrdlmxdb";
+ sha256 = "1nr26hfqa6chim5qch92wpk0s28wfvznvcf3kkzgf23hw707f40v";
};
desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/misc/d4x/default.nix b/pkgs/applications/misc/d4x/default.nix
index d6ca3939d13..3c146249dd0 100644
--- a/pkgs/applications/misc/d4x/default.nix
+++ b/pkgs/applications/misc/d4x/default.nix
@@ -2,7 +2,7 @@
stdenv.mkDerivation {
name = "d4x-2.5.7.1";
-
+
inherit boost;
src = fetchurl {
@@ -10,15 +10,11 @@ stdenv.mkDerivation {
sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m";
};
- configurePhase = "./configure --prefix=\$out "
- + " --with-boost-libdir=\$boost/lib"
- + " --with-boost-includedir=\$boost/include";
-
buildInputs = [ gtk glib pkgconfig openssl boost ];
- meta = {
+ meta = {
description = "Graphical download manager";
homepage = http://www.krasu.ru/soft/chuchelo/;
- license = "perl";
+ license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
}
diff --git a/pkgs/applications/misc/dmenu2/default.nix b/pkgs/applications/misc/dmenu2/default.nix
new file mode 100644
index 00000000000..1637586eb47
--- /dev/null
+++ b/pkgs/applications/misc/dmenu2/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchhg, libX11, libXinerama, libXft, zlib}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ name = "dmenu2";
+
+ src = fetchhg {
+ url = "https://bitbucket.org/melek/dmenu2";
+ rev = "36cb94a16edf928bdaaa636123392517ed469be0";
+ sha256 = "1b17z5ypg6ij7zz3ncp3irc87raccna10y4w490c872a99lp23lv";
+ };
+
+ buildInputs = [ libX11 libXinerama zlib libXft ];
+
+ postPatch = ''
+ sed -ri -e 's!\<(dmenu|stest)\>!'"$out/bin"'/&!g' dmenu_run
+ '';
+
+ preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
+
+ meta = {
+ description = "A patched fork of the original dmenu - an efficient dynamic menu for X";
+ homepage = https://bitbucket.org/melek/dmenu2;
+ license = stdenv.lib.licenses.mit;
+ maintainers = with maintainers; [ cstrahan ];
+ platforms = with platforms; all;
+ };
+}
diff --git a/pkgs/applications/misc/doomseeker/default.nix b/pkgs/applications/misc/doomseeker/default.nix
new file mode 100644
index 00000000000..404fb955386
--- /dev/null
+++ b/pkgs/applications/misc/doomseeker/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, cmake, fetchurl, pkgconfig, qt4, zlib, bzip2 }:
+
+stdenv.mkDerivation rec {
+ name = "doomseeker-0.12.1b";
+ src = fetchurl {
+ url = "http://doomseeker.drdteam.org/files/${name}_src.tar.bz2";
+ sha256 = "110yg3w3y1x8p4gqpxb6djxw348caj50q5liq8ssb5mf78v8gk6b";
+ };
+
+ cmakeFlags = ''
+ -DCMAKE_BUILD_TYPE=Release
+ '';
+
+ buildInputs = [ cmake pkgconfig qt4 zlib bzip2 ];
+
+ enableParallelBuilding = true;
+
+ patchPhase = ''
+ sed -e 's#/usr/share/applications#$out/share/applications#' -i src/core/CMakeLists.txt
+ '';
+
+ meta = {
+ homepage = http://doomseeker.drdteam.org/;
+ description = "Multiplayer server browser for many Doom source ports";
+ license = stdenv.lib.licenses.gpl2;
+ platforms = stdenv.lib.platforms.unix;
+ maintainers = with stdenv.lib.maintainers; [ MP2E ];
+ };
+}
+
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index ea9383a6e10..db613cd4922 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -1,16 +1,16 @@
{ stdenv, fetchurl, perl, libX11, libjpeg, libpng, libtiff, pkgconfig,
-librsvg, glib, gtk, libXext, libXxf86vm, poppler }:
+librsvg, glib, gtk, libXext, libXxf86vm, poppler, xineLib }:
stdenv.mkDerivation rec {
- name = "eaglemode-0.85.0";
+ name = "eaglemode-0.86.0";
src = fetchurl {
url = "mirror://sourceforge/eaglemode/${name}.tar.bz2";
- sha256 = "0mz4rg2k36wvcv55dg0a5znaczpl5h4gwkkb34syj89xk8jlbwsc";
+ sha256 = "1a2hzyck95g740qg4p4wd4fjwsmlknh75i9sbx5r5v9pyr4i3m4f";
};
buildInputs = [ perl libX11 libjpeg libpng libtiff pkgconfig
- librsvg glib gtk libXxf86vm libXext poppler ];
+ librsvg glib gtk libXxf86vm libXext poppler xineLib ];
# The program tries to dlopen both Xxf86vm and Xext, so we use the
# trick on NIX_LDFLAGS and dontPatchELF to make it find them.
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
# http://sourceforge.net/projects/eaglemode/forums/forum/808824/topic/5115261
buildPhase = ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext"
- yes y | perl make.pl build
+ perl make.pl build
'';
dontPatchELF = true;
diff --git a/pkgs/applications/misc/epdfview/default.nix b/pkgs/applications/misc/epdfview/default.nix
index d79162289c3..da198e6d88b 100644
--- a/pkgs/applications/misc/epdfview/default.nix
+++ b/pkgs/applications/misc/epdfview/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, poppler }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk, poppler }:
stdenv.mkDerivation rec {
name = "epdfview-0.1.8";
src = fetchurl {
@@ -6,7 +6,17 @@ stdenv.mkDerivation rec {
sha256 = "1w7qybh8ssl4dffi5qfajq8mndw7ipsd92vkim03nywxgjp4i1ll";
};
buildInputs = [ pkgconfig gtk poppler ];
- patches = [ ./glib-top-level-header.patch ];
+ patches = [ (fetchpatch {
+ name = "epdfview-0.1.8-glib2-headers.patch";
+ url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk/epdfview-0.1.8-glib2-headers.patch?h=packages/epdfview&id=40ba115c860bdec31d03a30fa594a7ec2864d634";
+ sha256 = "17df6s1zij5ficj67xszq6kd88cy620az3ic55065ccnmsd73f8h";
+ })
+ (fetchpatch {
+ name = "epdfview-0.1.8-modern-cups.patch";
+ url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk/epdfview-0.1.8-modern-cups.patch?h=packages/epdfview&id=40ba115c860bdec31d03a30fa594a7ec2864d634";
+ sha256 = "07yvgvai2bvbr5fa1mv6lg7nqr0qyryjn1xyjlh8nidg9k9vv001";
+ })
+ ];
meta = {
homepage = http://trac.emma-soft.com/epdfview/;
description = "A lightweight PDF document viewer using Poppler and GTK+";
diff --git a/pkgs/applications/misc/epdfview/glib-top-level-header.patch b/pkgs/applications/misc/epdfview/glib-top-level-header.patch
deleted file mode 100644
index a321ad3a2b6..00000000000
--- a/pkgs/applications/misc/epdfview/glib-top-level-header.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur epdfview-0.1.8-orig/src/gtk/StockIcons.h epdfview-0.1.8/src/gtk/StockIcons.h
---- epdfview-0.1.8-orig/src/gtk/StockIcons.h 2011-05-28 06:24:57.000000000 -0400
-+++ epdfview-0.1.8/src/gtk/StockIcons.h 2012-07-15 11:02:43.946339253 -0400
-@@ -18,7 +18,7 @@
- #if !defined (__STOCK_ICONS_H__)
- #define __STOCK_ICONS_H__
-
--#include
-+#include
-
- G_BEGIN_DECLS
-
diff --git a/pkgs/applications/misc/evtest/default.nix b/pkgs/applications/misc/evtest/default.nix
index 638f254364e..bccfd95e32b 100644
--- a/pkgs/applications/misc/evtest/default.nix
+++ b/pkgs/applications/misc/evtest/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchgit, autoconf, automake, pkgconfig, libxml2 }:
stdenv.mkDerivation rec {
- name = "evtest-1.31";
+ name = "evtest-1.32";
preConfigure = "autoreconf -iv";
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "git://anongit.freedesktop.org/evtest";
- rev = "871371806017301373b8b0e5b7e8f168ce1ea13f";
- sha256 = "1hxldlldlrb9lnnybn839a97fpqd1cixbmci2wzgr0rzhjbwhcgp";
+ rev = "refs/tags/evtest-1.32";
+ sha256 = "150lb7d2gnkcqgfw1hcnb8lcvdb52fpig9j9qxjizp6irhlw2a31";
};
meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix
index 06ea5e9ad5c..65265fc07a5 100644
--- a/pkgs/applications/misc/freicoin/default.nix
+++ b/pkgs/applications/misc/freicoin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
# I think that openssl and zlib are required, but come through other
# packages
- buildInputs = [ db boost boost.lib gmp mpfr miniupnpc qt4 unzip ];
+ buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ];
configurePhase = "qmake";
diff --git a/pkgs/applications/misc/gammu/default.nix b/pkgs/applications/misc/gammu/default.nix
index 56e45b11c70..b90a243aec4 100644
--- a/pkgs/applications/misc/gammu/default.nix
+++ b/pkgs/applications/misc/gammu/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, pkgconfig, cmake, bluez, libusb1, curl
-, libiconv, gettext, sqlite }:
+, libiconvOrEmpty, gettext, sqlite }:
with stdenv.lib;
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
patches = [ ./bashcomp-dir.patch ];
- buildInputs = [ python pkgconfig cmake bluez libusb1 curl libiconv
- gettext sqlite ];
+ buildInputs = [ python pkgconfig cmake bluez libusb1 curl gettext sqlite ]
+ ++ libiconvOrEmpty;
enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index b25d347ec87..c7c110a978a 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -1,16 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, gtk, gettext }:
+{ stdenv, fetchurl, pkgconfig, gtk, gettext, withBuildColors ? true, ncurses ? null}:
+assert withBuildColors -> ncurses != null;
+
+with stdenv.lib;
stdenv.mkDerivation rec {
- name = "girara-0.2.2";
+ name = "girara-${version}";
+ version = "0.2.3";
src = fetchurl {
url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
- sha256 = "0lv6wqhx2avdxj6yx111jfs4j32r0xzmmkhy7pgzxpf73kgxz0k3";
+ sha256 = "1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh";
};
+ preConfigure = ''
+ sed -i 's/ifdef TPUT_AVAILABLE/ifneq ($(TPUT_AVAILABLE), 0)/' colors.mk
+ '';
+
buildInputs = [ pkgconfig gtk gettext ];
- makeFlags = "PREFIX=$(out)";
+ makeFlags = [ "PREFIX=$(out)" ]
+ ++ optional withBuildColors "TPUT=${ncurses}/bin/tput"
+ ++ optional (!withBuildColors) "TPUT_AVAILABLE=0"
+ ;
meta = {
homepage = http://pwmt.org/projects/girara/;
@@ -19,9 +30,8 @@ stdenv.mkDerivation rec {
girara is a library that implements a GTK+ based VIM-like user interface
that focuses on simplicity and minimalism.
'';
- license = stdenv.lib.licenses.zlib;
- platforms = stdenv.lib.platforms.linux;
- maintainers = [ stdenv.lib.maintainers.garbas ];
+ license = licenses.zlib;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.garbas ];
};
}
-
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index db8595e1baa..888d39c3732 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -23,15 +23,15 @@
stdenv.mkDerivation rec {
name = "gnuradio-${version}";
- version = "3.7.5";
+ version = "3.7.5.1";
src = fetchurl {
url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
- sha256 = "0hv2nyz2hp1mjinin2q7jimh9mr81rjqvghqmaglz8w70qcn4zs6";
+ sha256 = "0gg4i8s1z5pcfk8d7n7baxv3lx2cjcizimvbziraj27lcbvpmwar";
};
buildInputs = [
- cmake pkgconfig git boost boost.lib cppunit fftw python swig2 orc lxml qt4
+ cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4
qwt alsaLib SDL libusb1 uhd gsl makeWrapper
];
diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix
index e93e2be85e3..ea72dc03269 100644
--- a/pkgs/applications/misc/gosmore/default.nix
+++ b/pkgs/applications/misc/gosmore/default.nix
@@ -1,34 +1,30 @@
-a@{fetchsvn, libxml2, gtk, curl, pkgconfig, lib, ...} :
-let
- fetchsvn = a.fetchsvn;
+{ stdenv, fetchsvn, libxml2, gtk, curl, pkgconfig } :
- buildInputs = with a; [
- libxml2 gtk curl pkgconfig
- ];
+let
+ version = "30811";
in
-rec {
+stdenv.mkDerivation {
+ name = "gosmore-r${version}";
src = fetchsvn {
url = http://svn.openstreetmap.org/applications/rendering/gosmore;
- sha256 = "0ds61gl75rnzvm0hj9papl5sfcgdv4310df9ch7x9rifssfli9zm";
- rev = "24178";
- } + "/";
+ sha256 = "0qyvrb4xgy4msc7f65widzkvjzc8mlddc4dyr1i76b7wd3gpk0xj";
+ rev = "${version}";
+ };
- inherit buildInputs;
- configureFlags = [];
+ buildInputs = [ libxml2 gtk curl ];
- /* doConfigure should be removed if not needed */
- phaseNames = ["fixCurlIncludes" "doConfigure" "doMakeInstall"];
+ nativeBuildInputs = [ pkgconfig ];
- fixCurlIncludes = a.fullDepEntry ''
+ prePatch = ''
sed -e '/curl.types.h/d' -i *.{c,h,hpp,cpp}
- '' ["minInit" "doUnpack"];
+ '';
- name = "gosmore-r21657";
- meta = {
+ meta = with stdenv.lib; {
description = "Open Street Map viewer";
- maintainers = [
- a.lib.maintainers.raskin
+ homepage = http://sourceforge.net/projects/gosmore/;
+ maintainers = with maintainers; [
+ raskin
];
- platforms = a.lib.platforms.linux;
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index 7ff253fd4e8..eafa5c10405 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
- name = "gphoto2-2.5.3";
+ name = "gphoto2-2.5.5";
src = fetchurl {
url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
- sha256 = "0i6qjyvgn3aaspiblmiwv51mfy92gm73xpbd3z41ki8mw7plg53i";
+ sha256 = "1d0lvp5gsrss72597wixhgh8prcw4g7izfg3zdzzsswjgnlsxsal";
};
nativeBuildInputs = [ pkgconfig gettext ];
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
new file mode 100644
index 00000000000..31cdb8d1786
--- /dev/null
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, gtk3, pythonPackages, python, pycairo, pygobject3, intltool,
+ pango, gsettings_desktop_schemas }:
+
+pythonPackages.buildPythonPackage rec {
+ version = "4.1.1";
+ name = "gramps-${version}";
+ namePrefix = "";
+
+ buildInputs = [ intltool gtk3 ];
+
+ # Currently broken
+ doCheck = false;
+
+ src = fetchurl {
+ url = "mirror://sourceforge/gramps/Stable/${version}/${name}.tar.gz";
+ sha256 = "0jdps7yx2mlma1hdj64wssvnqd824xdvw0bmn2dnal5fn3h7h060";
+ };
+
+ pythonPath = [ pygobject3 pango pycairo pythonPackages.bsddb ];
+
+ # Same installPhase as in buildPythonPackage but without --old-and-unmanageble
+ # install flag.
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+ export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+ ${python}/bin/${python.executable} setup.py install \
+ --install-lib=$out/lib/${python.libPrefix}/site-packages \
+ --prefix="$out"
+
+ eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+ if [ -e "$eapth" ]; then
+ # move colliding easy_install.pth to specifically named one
+ mv "$eapth" $(dirname "$eapth")/${name}.pth
+ fi
+
+ rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+ runHook postInstall
+ '';
+
+ # gobjectIntrospection package, wrap accordingly
+ preFixup = ''
+ wrapProgram $out/bin/gramps \
+ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Genealogy software";
+ homepage = http://gramps-project.org;
+ license = licenses.gpl2;
+ };
+}
diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix
index 71c9777ff9b..161be5c6f1b 100644
--- a/pkgs/applications/misc/hello/ex-2/default.nix
+++ b/pkgs/applications/misc/hello/ex-2/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
- name = "hello-2.9";
+ name = "hello-2.10";
src = fetchurl {
url = "mirror://gnu/hello/${name}.tar.gz";
- sha256 = "19qy37gkasc4csb1d3bdiz9snn8mir2p3aj0jgzmfv0r2hi7mfzc";
+ sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
};
doCheck = true;
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.gnu.org/software/hello/manual/;
license = stdenv.lib.licenses.gpl3Plus;
- maintainers = [ stdenv.lib.maintainers.ludo ];
+ maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
};
}
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index fab492d5c09..b58f0a5703c 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
let
name = "ikiwiki";
- version = "3.20140227";
+ version = "3.20141016";
lib = stdenv.lib;
in
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
- sha256 = "1bbpqs4c1la1yqcxcxj3xip3wadjnjq0wawv19j6d6baymm66cr3";
+ sha256 = "1amvrb6djil7g0yabsngfs0f1n7qcvj2hddipjkgfjbmghd6jqiw";
};
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
new file mode 100644
index 00000000000..2ae5a7ac8ef
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -0,0 +1,110 @@
+# Build procedure lifted from https://aur.archlinux.org/packages/k2/k2pdfopt/PKGBUILD
+{ stdenv, fetchzip, fetchurl, writeScript, libX11, libXext, autoconf, automake, libtool
+ , leptonica, libpng, libtiff, zlib, openjpeg, freetype, jbig2dec, djvulibre
+ , openssl }:
+
+let
+ mupdf_src = fetchurl {
+ url = http://www.mupdf.com/downloads/archive/mupdf-1.5-source.tar.gz;
+ sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
+ };
+
+ tess_src = fetchurl {
+ url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz;
+ sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
+ };
+
+ gocr_src = fetchurl {
+ url = http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz;
+ sha256 = "06hpzp7rkkwfr1fvmc8kcfz9v490i9yir7f7imh13gmka0fr6afc";
+ };
+
+in stdenv.mkDerivation rec {
+ name = "k2pdfopt";
+ src = fetchzip {
+ url = http://www.willus.com/k2pdfopt/src/k2pdfopt_v2.21_src.zip;
+ sha256 = "1vy0yw41z6p95gmivjk4r534zbg0kqap4lr9ps56kvjw51q8r54j";
+ };
+
+ buildInputs = [ libX11 libXext autoconf automake libtool leptonica libpng libtiff zlib
+ openjpeg freetype jbig2dec djvulibre openssl ];
+ NIX_LDFLAGS = "-lX11 -lXext";
+
+ k2_pa = ./k2pdfopt.patch;
+ tess_pa = ./tesseract.patch;
+
+ builder = writeScript "builder.sh" ''
+ . ${stdenv}/setup
+ set -e
+
+ plibs=`pwd`/patched_libraries
+
+ tar zxf ${mupdf_src}
+ cp $src/mupdf_mod/font.c $src/mupdf_mod/string.c mupdf-1.5-source/source/fitz/
+ cp $src/mupdf_mod/pdf-* mupdf-1.5-source/source/pdf
+
+ tar zxf ${tess_src}
+ cp $src/tesseract_mod/dawg.cpp tesseract-ocr/dict
+ cp $src/tesseract_mod/tessdatamanager.cpp tesseract-ocr/ccutil
+ cp $src/tesseract_mod/tessedit.cpp tesseract-ocr/ccmain
+ cp $src/tesseract_mod/tesscapi.cpp tesseract-ocr/api
+ cp $src/include_mod/tesseract.h $src/include_mod/leptonica.h tesseract-ocr/api
+
+ cp -a $src k2pdfopt_v2.21
+ chmod -R +w k2pdfopt_v2.21
+
+ patch -p0 -i $tess_pa
+ patch -p0 -i $k2_pa
+
+ cd tesseract-ocr
+ ./autogen.sh
+ substituteInPlace "configure" \
+ --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
+ 'LIBLEPT_HEADERSDIR=${leptonica}/include'
+ ./configure --prefix=$plibs --disable-shared
+ make install
+
+ cd ..
+ tar zxf ${gocr_src}
+ cd gocr-0.49
+ ./configure
+ cp src/{gocr.h,pnm.h,unicode.h,list.h} $plibs/include
+ cp include/config.h $plibs/include
+ make libs
+ cp src/libPgm2asc.a $plibs/lib
+
+ cd ../mupdf-1.5-source
+ make prefix=$plibs install
+ install -Dm644 build/debug/libmujs.a $plibs/lib
+
+ cd ../k2pdfopt_v2.21/k2pdfoptlib
+ gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include \
+ -I . -I ../willuslib
+ ar rcs libk2pdfopt.a *.o
+
+ cd ../willuslib
+ gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include
+ ar rcs libwillus.a *.o
+
+ cd ..
+ gcc -Wall -Ofast -o k2pdfopt.o -c k2pdfopt.c -I k2pdfoptlib/ -I willuslib/ \
+ -I include_mod/ -I $plibs/include
+ g++ -Ofast k2pdfopt.o -o k2pdfopt -I willuslib/ -I k2pdfoptlib/ -I include_mod/ \
+ -I $plibs/include -L $plibs/lib/ \
+ -L willuslib/ -L k2pdfoptlib/ -lk2pdfopt -lwillus -ldjvulibre -lz -lmupdf \
+ -ljbig2dec -ljpeg -lopenjp2 -lpng -lfreetype -lpthread -lmujs \
+ -lPgm2asc -llept -ltesseract -lcrypto
+
+ mkdir -p $out/bin
+ cp k2pdfopt $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Optimizes PDF/DJVU files for mobile e-readers (e.g. the Kindle) and smartphones";
+ homepage = http://www.willus.com/k2pdfopt;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.bosu ];
+ };
+}
+
diff --git a/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch b/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
new file mode 100644
index 00000000000..00ac5770ea4
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
@@ -0,0 +1,95 @@
+diff -aur k2pdfopt_v2.21/willuslib/array.c k2pdfopt_v2.21.new/willuslib/array.c
+--- k2pdfopt_v2.21/willuslib/array.c 2014-05-23 16:29:58.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/array.c 2014-07-26 11:35:49.829825567 -0300
+@@ -1055,7 +1055,7 @@
+ void arrayf_sort(float *a,int n)
+
+ {
+- sort(a,(long)n);
++ willus_sort(a,(long)n);
+ }
+
+
+diff -aur k2pdfopt_v2.21/willuslib/math.c k2pdfopt_v2.21.new/willuslib/math.c
+--- k2pdfopt_v2.21/willuslib/math.c 2013-08-15 21:33:50.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/math.c 2014-07-26 11:36:02.853170659 -0300
+@@ -532,7 +532,7 @@
+
+
+
+-void sort(float *x,int n)
++void willus_sort(float *x,int n)
+
+ {
+ int top,n1;
+diff -aur k2pdfopt_v2.21/willuslib/ocrjocr.c k2pdfopt_v2.21.new/willuslib/ocrjocr.c
+--- k2pdfopt_v2.21/willuslib/ocrjocr.c 2012-11-12 13:09:42.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/ocrjocr.c 2014-07-26 11:36:46.699837185 -0300
+@@ -29,6 +29,8 @@
+ #ifdef HAVE_GOCR_LIB
+ #include
+
++job_t *JOB;
++
+ /*
+ ** bmp8 must be grayscale
+ ** (x1,y1) and (x2,y2) from top left of bitmap
+@@ -66,6 +68,7 @@
+ h=y2-y1+1;
+ dh=h+bw*2;
+ job=&_job;
++ JOB=job;
+ job_init(job);
+ job_init_image(job);
+ // willus_mem_alloc_warn((void **)&job->src.p.p,w*h,funcname,10);
+diff -aur k2pdfopt_v2.21/willuslib/string.c k2pdfopt_v2.21.new/willuslib/string.c
+--- k2pdfopt_v2.21/willuslib/string.c 2014-02-03 00:37:44.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/string.c 2014-07-26 11:37:01.766506277 -0300
+@@ -81,7 +81,7 @@
+ ** Returns NULL if EOF, otherwise returns pointer to the string.
+ **
+ */
+-char *get_line(char *buf,int max,FILE *f)
++char *willus_get_line(char *buf,int max,FILE *f)
+
+ {
+ int i;
+diff -aur k2pdfopt_v2.21/willuslib/willus.h k2pdfopt_v2.21.new/willuslib/willus.h
+--- k2pdfopt_v2.21/willuslib/willus.h 2014-07-25 15:03:51.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/willus.h 2014-07-26 11:37:56.316506038 -0300
+@@ -214,9 +214,6 @@
+ ** CMAKE handles the defines, not this source
+ ** (Mod from Dirk Thierbach, 31-Dec-2013)
+ */
+-#ifdef USE_CMAKE
+-#include "config.h"
+-#else /* USE_CMAKE */
+
+ #ifndef HAVE_Z_LIB
+ #define HAVE_Z_LIB
+@@ -268,7 +265,6 @@
+ #undef HAVE_GSL_LIB
+ #endif
+
+-#endif /* USE_CMAKE */
+ /*
+ ** Consistency check
+ */
+@@ -533,7 +529,7 @@
+ int *n,FILE *err);
+ int readxyz_ex (char *filename,double **x,double **y,double **z,
+ int *n,FILE *err,int ignore_after_semicolon);
+-void sort (float *x,int n);
++void willus_sort (float *x,int n);
+ void sortd (double *x,int n);
+ void sorti (int *x,int n);
+ void sortxy (float *x,float *y,int n);
+@@ -602,7 +598,7 @@
+ /* string.c */
+ void clean_line (char *buf);
+ void clean_line_end(char *buf);
+-char *get_line (char *buf,int max,FILE *f);
++char *willus_get_line (char *buf,int max,FILE *f);
+ char *get_line_cf (char *buf,int max,FILE *f);
+ int mem_get_line_cf(char *buf,int maxlen,char *cptr,long *cindex,long csize);
+ int in_string (char *buffer,char *pattern);
diff --git a/pkgs/applications/misc/k2pdfopt/tesseract.patch b/pkgs/applications/misc/k2pdfopt/tesseract.patch
new file mode 100644
index 00000000000..5cb6e0fe317
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/tesseract.patch
@@ -0,0 +1,12 @@
+diff -aur tesseract-ocr/api/Makefile.am tesseract-ocr.new/api/Makefile.am
+--- tesseract-ocr/api/Makefile.am 2012-10-09 14:18:39.000000000 -0300
++++ tesseract-ocr.new/api/Makefile.am 2014-03-20 18:43:13.926030341 -0300
+@@ -36,7 +36,7 @@
+ if VISIBILITY
+ libtesseract_api_la_CPPFLAGS += -DTESS_EXPORTS
+ endif
+-libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp
++libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp tesscapi.cpp
+
+ lib_LTLIBRARIES += libtesseract.la
+ libtesseract_la_LDFLAGS =
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index 663ce872e22..dcb83d7a79d 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, gettext, kdelibs, libXtst, makeWrapper, qca2, qca2_ossl, qjson }:
+{ stdenv, fetchurl, gettext, kdelibs, libXtst, libfakekey, makeWrapper, pkgconfig, qca2, qca2_ossl
+, qjson
+}:
stdenv.mkDerivation rec {
name = "kdeconnect-${version}";
- version = "0.7.2";
+ version = "0.7.3";
src = fetchurl {
url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
- sha256 = "1v7sicgy39n8pn7nzq9f7lkmwbcvavhy3b66agyhxwmyzz6mcd4g";
+ sha256 = "1vrr047bq5skxvibv5pb9ch9dxh005zmar017jzbyb9hilxr8kg4";
};
- buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ];
+ buildInputs = [ gettext kdelibs libXtst libfakekey makeWrapper pkgconfig qca2 qca2_ossl qjson ];
postInstall = ''
wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index b3fafbc4016..e47e87d6338 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "keepass-${version}";
- version = "2.27";
+ version = "2.28";
src = fetchurl {
url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
- sha256 = "1qi7pls5xrv7ma53bwka738idvnxk82dvhk06m1snc8c29dws7fa";
+ sha256 = "0rlll6qriflaibqpw9qqfgqqr7cvhl404c3ph6n2i22j7xn5mizh";
};
sourceRoot = ".";
diff --git a/pkgs/applications/misc/keybase-node-client/default.nix b/pkgs/applications/misc/keybase-node-client/default.nix
new file mode 100644
index 00000000000..bacd8d46fd5
--- /dev/null
+++ b/pkgs/applications/misc/keybase-node-client/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, makeWrapper, callPackage, gnupg, utillinux }:
+
+with stdenv.lib;
+
+let
+ nodePackages = callPackage (import ) {
+ neededNatives = [] ++ optional (stdenv.isLinux) utillinux;
+ self = nodePackages;
+ generated = ./package.nix;
+ };
+
+in nodePackages.buildNodePackage rec {
+ name = "keybase-node-client-${version}";
+ version = "0.7.0";
+
+ src = [(fetchurl {
+ url = "https://github.com/keybase/node-client/archive/v${version}.tar.gz";
+ sha256 = "0n73v4f61rq2dvy2yd3s4l8qvvjzp3ncqj70llm4i6cvbp9kym1v";
+ })];
+
+ deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+ buildInputs = [ makeWrapper gnupg ];
+
+ postInstall = ''
+ wrapProgram "$out/bin/keybase" --set NODE_PATH "$out/lib/node_modules/keybase/node_modules/"
+ '';
+
+ passthru.names = ["keybase"];
+
+ meta = {
+ description = "CLI for keybase.io written in/for Node.js";
+ license = licenses.mit;
+ homepage = https://keybase.io/docs/command_line;
+ maintainers = with maintainers; [manveru];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/pkgs/applications/misc/keybase-node-client/package.nix b/pkgs/applications/misc/keybase-node-client/package.nix
new file mode 100644
index 00000000000..85d10ad0ba4
--- /dev/null
+++ b/pkgs/applications/misc/keybase-node-client/package.nix
@@ -0,0 +1,2518 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+ by-spec."CSSselect"."~0.4.0" =
+ self.by-version."CSSselect"."0.4.1";
+ by-version."CSSselect"."0.4.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-CSSselect-0.4.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
+ name = "CSSselect-0.4.1.tgz";
+ sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."CSSselect" or []);
+ deps = [
+ self.by-version."CSSwhat"."0.4.7"
+ self.by-version."domutils"."1.4.3"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "CSSselect" ];
+ };
+ by-spec."CSSwhat"."0.4" =
+ self.by-version."CSSwhat"."0.4.7";
+ by-version."CSSwhat"."0.4.7" = lib.makeOverridable self.buildNodePackage {
+ name = "node-CSSwhat-0.4.7";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
+ name = "CSSwhat-0.4.7.tgz";
+ sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."CSSwhat" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "CSSwhat" ];
+ };
+ by-spec."argparse"."0.1.15" =
+ self.by-version."argparse"."0.1.15";
+ by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+ name = "node-argparse-0.1.15";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
+ name = "argparse-0.1.15.tgz";
+ sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."argparse" or []);
+ deps = [
+ self.by-version."underscore"."1.4.4"
+ self.by-version."underscore.string"."2.3.3"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "argparse" ];
+ };
+ "argparse" = self.by-version."argparse"."0.1.15";
+ by-spec."asn1"."0.1.11" =
+ self.by-version."asn1"."0.1.11";
+ by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+ name = "node-asn1-0.1.11";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+ name = "asn1-0.1.11.tgz";
+ sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."asn1" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "asn1" ];
+ };
+ by-spec."assert-plus"."0.1.2" =
+ self.by-version."assert-plus"."0.1.2";
+ by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-assert-plus-0.1.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+ name = "assert-plus-0.1.2.tgz";
+ sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."assert-plus" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "assert-plus" ];
+ };
+ by-spec."async"."0.2.x" =
+ self.by-version."async"."0.2.10";
+ by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+ name = "node-async-0.2.10";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+ name = "async-0.2.10.tgz";
+ sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."async" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "async" ];
+ };
+ by-spec."async"."~0.9.0" =
+ self.by-version."async"."0.9.0";
+ by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-async-0.9.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+ name = "async-0.9.0.tgz";
+ sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."async" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "async" ];
+ };
+ by-spec."aws-sign2"."~0.5.0" =
+ self.by-version."aws-sign2"."0.5.0";
+ by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-aws-sign2-0.5.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+ name = "aws-sign2-0.5.0.tgz";
+ sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."aws-sign2" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "aws-sign2" ];
+ };
+ by-spec."bitcoyne".">=0.0.6" =
+ self.by-version."bitcoyne"."0.0.6";
+ by-version."bitcoyne"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+ name = "node-bitcoyne-0.0.6";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/bitcoyne/-/bitcoyne-0.0.6.tgz";
+ name = "bitcoyne-0.0.6.tgz";
+ sha1 = "a309d1afe7554f2b380782428cd6f67a82183d2f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."bitcoyne" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."kbpgp"."1.0.5"
+ self.by-version."pgp-utils"."0.0.27"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "bitcoyne" ];
+ };
+ "bitcoyne" = self.by-version."bitcoyne"."0.0.6";
+ by-spec."bn"."^1.0.0" =
+ self.by-version."bn"."1.0.1";
+ by-version."bn"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-bn-1.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/bn/-/bn-1.0.1.tgz";
+ name = "bn-1.0.1.tgz";
+ sha1 = "a153825e6b1eb2c2db7726149b047a07ce0a3bb3";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."bn" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "bn" ];
+ };
+ by-spec."bn"."^1.0.1" =
+ self.by-version."bn"."1.0.1";
+ "bn" = self.by-version."bn"."1.0.1";
+ by-spec."boom"."0.4.x" =
+ self.by-version."boom"."0.4.2";
+ by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-boom-0.4.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+ name = "boom-0.4.2.tgz";
+ sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."boom" or []);
+ deps = [
+ self.by-version."hoek"."0.9.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "boom" ];
+ };
+ by-spec."cheerio"."0.13.0" =
+ self.by-version."cheerio"."0.13.0";
+ by-version."cheerio"."0.13.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-cheerio-0.13.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/cheerio/-/cheerio-0.13.0.tgz";
+ name = "cheerio-0.13.0.tgz";
+ sha1 = "44f5112044e0e0148300dd16bf8bbd7755ce65f1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."cheerio" or []);
+ deps = [
+ self.by-version."htmlparser2"."3.4.0"
+ self.by-version."underscore"."1.4.4"
+ self.by-version."entities"."0.5.0"
+ self.by-version."CSSselect"."0.4.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "cheerio" ];
+ };
+ "cheerio" = self.by-version."cheerio"."0.13.0";
+ by-spec."cli"."0.4.x" =
+ self.by-version."cli"."0.4.5";
+ by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-cli-0.4.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/cli/-/cli-0.4.5.tgz";
+ name = "cli-0.4.5.tgz";
+ sha1 = "78f9485cd161b566e9a6c72d7170c4270e81db61";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."cli" or []);
+ deps = [
+ self.by-version."glob"."4.0.6"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "cli" ];
+ };
+ by-spec."cliff"."0.1.x" =
+ self.by-version."cliff"."0.1.9";
+ by-version."cliff"."0.1.9" = lib.makeOverridable self.buildNodePackage {
+ name = "node-cliff-0.1.9";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz";
+ name = "cliff-0.1.9.tgz";
+ sha1 = "a211e09c6a3de3ba1af27d049d301250d18812bc";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."cliff" or []);
+ deps = [
+ self.by-version."colors"."0.6.2"
+ self.by-version."eyes"."0.1.8"
+ self.by-version."winston"."0.8.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "cliff" ];
+ };
+ by-spec."codesign"."0.0.9" =
+ self.by-version."codesign"."0.0.9";
+ by-version."codesign"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+ name = "node-codesign-0.0.9";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/codesign/-/codesign-0.0.9.tgz";
+ name = "codesign-0.0.9.tgz";
+ sha1 = "2da6b703f1d1cf2a76e8b1d48f44fa922e21b55f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."codesign" or []);
+ deps = [
+ self.by-version."argparse"."0.1.15"
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-logger"."0.0.5"
+ self.by-version."glob-to-regexp"."0.0.1"
+ self.by-version."tablify"."0.1.5"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "codesign" ];
+ };
+ "codesign" = self.by-version."codesign"."0.0.9";
+ by-spec."colors"."0.6.2" =
+ self.by-version."colors"."0.6.2";
+ by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-colors-0.6.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+ name = "colors-0.6.2.tgz";
+ sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colors" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "colors" ];
+ };
+ "colors" = self.by-version."colors"."0.6.2";
+ by-spec."colors"."0.6.x" =
+ self.by-version."colors"."0.6.2";
+ by-spec."colors"."0.x.x" =
+ self.by-version."colors"."0.6.2";
+ by-spec."colors".">=0.6.2" =
+ self.by-version."colors"."0.6.2";
+ by-spec."colors"."~0.6.2" =
+ self.by-version."colors"."0.6.2";
+ by-spec."combined-stream"."~0.0.4" =
+ self.by-version."combined-stream"."0.0.5";
+ by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-combined-stream-0.0.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
+ name = "combined-stream-0.0.5.tgz";
+ sha1 = "29ed76e5c9aad07c4acf9ca3d32601cce28697a2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."combined-stream" or []);
+ deps = [
+ self.by-version."delayed-stream"."0.0.5"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "combined-stream" ];
+ };
+ by-spec."commander".">= 0.5.2" =
+ self.by-version."commander"."2.3.0";
+ by-version."commander"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-commander-2.3.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
+ name = "commander-2.3.0.tgz";
+ sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."commander" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "commander" ];
+ };
+ by-spec."commander"."~2.1.0" =
+ self.by-version."commander"."2.1.0";
+ by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-commander-2.1.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+ name = "commander-2.1.0.tgz";
+ sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."commander" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "commander" ];
+ };
+ by-spec."core-util-is"."~1.0.0" =
+ self.by-version."core-util-is"."1.0.1";
+ by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-core-util-is-1.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+ name = "core-util-is-1.0.1.tgz";
+ sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."core-util-is" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "core-util-is" ];
+ };
+ by-spec."cryptiles"."0.2.x" =
+ self.by-version."cryptiles"."0.2.2";
+ by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-cryptiles-0.2.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+ name = "cryptiles-0.2.2.tgz";
+ sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."cryptiles" or []);
+ deps = [
+ self.by-version."boom"."0.4.2"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "cryptiles" ];
+ };
+ by-spec."ctype"."0.5.2" =
+ self.by-version."ctype"."0.5.2";
+ by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-ctype-0.5.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+ name = "ctype-0.5.2.tgz";
+ sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."ctype" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "ctype" ];
+ };
+ by-spec."cycle"."1.0.x" =
+ self.by-version."cycle"."1.0.3";
+ by-version."cycle"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+ name = "node-cycle-1.0.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+ name = "cycle-1.0.3.tgz";
+ sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."cycle" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "cycle" ];
+ };
+ by-spec."deep-equal"."0.2.1" =
+ self.by-version."deep-equal"."0.2.1";
+ by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-deep-equal-0.2.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
+ name = "deep-equal-0.2.1.tgz";
+ sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."deep-equal" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "deep-equal" ];
+ };
+ "deep-equal" = self.by-version."deep-equal"."0.2.1";
+ by-spec."deep-equal".">=0.2.1" =
+ self.by-version."deep-equal"."0.2.1";
+ by-spec."deep-equal"."~0.2.1" =
+ self.by-version."deep-equal"."0.2.1";
+ by-spec."delayed-stream"."0.0.5" =
+ self.by-version."delayed-stream"."0.0.5";
+ by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-delayed-stream-0.0.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+ name = "delayed-stream-0.0.5.tgz";
+ sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."delayed-stream" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "delayed-stream" ];
+ };
+ by-spec."docco"."~0.6.2" =
+ self.by-version."docco"."0.6.3";
+ by-version."docco"."0.6.3" = lib.makeOverridable self.buildNodePackage {
+ name = "docco-0.6.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/docco/-/docco-0.6.3.tgz";
+ name = "docco-0.6.3.tgz";
+ sha1 = "c47b5823d79563d6fc3abd49f3de48986e5522ee";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."docco" or []);
+ deps = [
+ self.by-version."commander"."2.3.0"
+ self.by-version."marked"."0.3.2"
+ self.by-version."fs-extra"."0.12.0"
+ self.by-version."underscore"."1.7.0"
+ self.by-version."highlight.js"."8.2.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "docco" ];
+ };
+ by-spec."domelementtype"."1" =
+ self.by-version."domelementtype"."1.1.1";
+ by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-domelementtype-1.1.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz";
+ name = "domelementtype-1.1.1.tgz";
+ sha1 = "7887acbda7614bb0a3dbe1b5e394f77a8ed297cf";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."domelementtype" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "domelementtype" ];
+ };
+ by-spec."domhandler"."2.2" =
+ self.by-version."domhandler"."2.2.0";
+ by-version."domhandler"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-domhandler-2.2.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz";
+ name = "domhandler-2.2.0.tgz";
+ sha1 = "ac9febfa988034b43f78ba056ebf7bd373416476";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."domhandler" or []);
+ deps = [
+ self.by-version."domelementtype"."1.1.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "domhandler" ];
+ };
+ by-spec."domutils"."1.3" =
+ self.by-version."domutils"."1.3.0";
+ by-version."domutils"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-domutils-1.3.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz";
+ name = "domutils-1.3.0.tgz";
+ sha1 = "9ad4d59b5af6ca684c62fe6d768ef170e70df192";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."domutils" or []);
+ deps = [
+ self.by-version."domelementtype"."1.1.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "domutils" ];
+ };
+ by-spec."domutils"."1.4" =
+ self.by-version."domutils"."1.4.3";
+ by-version."domutils"."1.4.3" = lib.makeOverridable self.buildNodePackage {
+ name = "node-domutils-1.4.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
+ name = "domutils-1.4.3.tgz";
+ sha1 = "0865513796c6b306031850e175516baf80b72a6f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."domutils" or []);
+ deps = [
+ self.by-version."domelementtype"."1.1.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "domutils" ];
+ };
+ by-spec."entities"."0.x" =
+ self.by-version."entities"."0.5.0";
+ by-version."entities"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-entities-0.5.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/entities/-/entities-0.5.0.tgz";
+ name = "entities-0.5.0.tgz";
+ sha1 = "f611cb5ae221050e0012c66979503fd7ae19cc49";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."entities" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "entities" ];
+ };
+ by-spec."eyes"."0.1.x" =
+ self.by-version."eyes"."0.1.8";
+ by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+ name = "node-eyes-0.1.8";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+ name = "eyes-0.1.8.tgz";
+ sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."eyes" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "eyes" ];
+ };
+ by-spec."forever-agent"."~0.5.0" =
+ self.by-version."forever-agent"."0.5.2";
+ by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-forever-agent-0.5.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+ name = "forever-agent-0.5.2.tgz";
+ sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."forever-agent" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "forever-agent" ];
+ };
+ by-spec."form-data"."~0.1.0" =
+ self.by-version."form-data"."0.1.4";
+ by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-form-data-0.1.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+ name = "form-data-0.1.4.tgz";
+ sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."form-data" or []);
+ deps = [
+ self.by-version."combined-stream"."0.0.5"
+ self.by-version."mime"."1.2.11"
+ self.by-version."async"."0.9.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "form-data" ];
+ };
+ by-spec."framed-msgpack-rpc"."1.1.4" =
+ self.by-version."framed-msgpack-rpc"."1.1.4";
+ by-version."framed-msgpack-rpc"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-framed-msgpack-rpc-1.1.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/framed-msgpack-rpc/-/framed-msgpack-rpc-1.1.4.tgz";
+ name = "framed-msgpack-rpc-1.1.4.tgz";
+ sha1 = "54bfc5fbdf0c7c1b7691f20ffb31ef955c185db2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."framed-msgpack-rpc" or []);
+ deps = [
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."purepack"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "framed-msgpack-rpc" ];
+ };
+ "framed-msgpack-rpc" = self.by-version."framed-msgpack-rpc"."1.1.4";
+ by-spec."fs-extra".">= 0.6.0" =
+ self.by-version."fs-extra"."0.12.0";
+ by-version."fs-extra"."0.12.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-fs-extra-0.12.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.12.0.tgz";
+ name = "fs-extra-0.12.0.tgz";
+ sha1 = "407cf6e11321e440d66f9486fba1cc9eb4c21868";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."fs-extra" or []);
+ deps = [
+ self.by-version."ncp"."0.6.0"
+ self.by-version."mkdirp"."0.5.0"
+ self.by-version."jsonfile"."2.0.0"
+ self.by-version."rimraf"."2.2.8"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "fs-extra" ];
+ };
+ by-spec."glob".">= 3.1.4" =
+ self.by-version."glob"."4.0.6";
+ by-version."glob"."4.0.6" = lib.makeOverridable self.buildNodePackage {
+ name = "node-glob-4.0.6";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/glob/-/glob-4.0.6.tgz";
+ name = "glob-4.0.6.tgz";
+ sha1 = "695c50bdd4e2fb5c5d370b091f388d3707e291a7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."glob" or []);
+ deps = [
+ self.by-version."graceful-fs"."3.0.2"
+ self.by-version."inherits"."2.0.1"
+ self.by-version."minimatch"."1.0.0"
+ self.by-version."once"."1.3.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "glob" ];
+ };
+ by-spec."glob-to-regexp".">=0.0.1" =
+ self.by-version."glob-to-regexp"."0.0.1";
+ by-version."glob-to-regexp"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-glob-to-regexp-0.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.0.1.tgz";
+ name = "glob-to-regexp-0.0.1.tgz";
+ sha1 = "2a5f79f2ed3233d4ee9ea7b6412547000c3f9d75";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."glob-to-regexp" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "glob-to-regexp" ];
+ };
+ by-spec."gpg-wrapper"."0.0.47" =
+ self.by-version."gpg-wrapper"."0.0.47";
+ by-version."gpg-wrapper"."0.0.47" = lib.makeOverridable self.buildNodePackage {
+ name = "node-gpg-wrapper-0.0.47";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/gpg-wrapper/-/gpg-wrapper-0.0.47.tgz";
+ name = "gpg-wrapper-0.0.47.tgz";
+ sha1 = "5de253269cb999e3e928a375971c7613bcb29d36";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."gpg-wrapper" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."iced-spawn"."0.0.10"
+ self.by-version."iced-utils"."0.1.21"
+ self.by-version."pgp-utils"."0.0.27"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "gpg-wrapper" ];
+ };
+ "gpg-wrapper" = self.by-version."gpg-wrapper"."0.0.47";
+ by-spec."graceful-fs"."^3.0.2" =
+ self.by-version."graceful-fs"."3.0.2";
+ by-version."graceful-fs"."3.0.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-graceful-fs-3.0.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz";
+ name = "graceful-fs-3.0.2.tgz";
+ sha1 = "2cb5bf7f742bea8ad47c754caeee032b7e71a577";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."graceful-fs" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "graceful-fs" ];
+ };
+ by-spec."hawk"."~1.0.0" =
+ self.by-version."hawk"."1.0.0";
+ by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-hawk-1.0.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+ name = "hawk-1.0.0.tgz";
+ sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."hawk" or []);
+ deps = [
+ self.by-version."hoek"."0.9.1"
+ self.by-version."boom"."0.4.2"
+ self.by-version."cryptiles"."0.2.2"
+ self.by-version."sntp"."0.2.4"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "hawk" ];
+ };
+ by-spec."highlight.js".">= 8.0.x" =
+ self.by-version."highlight.js"."8.2.0";
+ by-version."highlight.js"."8.2.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-highlight.js-8.2.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/highlight.js/-/highlight.js-8.2.0.tgz";
+ name = "highlight.js-8.2.0.tgz";
+ sha1 = "31ac0ea5d20f88f562948e7e8eb5a62e9e8c5e43";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."highlight.js" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "highlight.js" ];
+ };
+ by-spec."hoek"."0.9.x" =
+ self.by-version."hoek"."0.9.1";
+ by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-hoek-0.9.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+ name = "hoek-0.9.1.tgz";
+ sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."hoek" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "hoek" ];
+ };
+ by-spec."htmlparser2"."~3.4.0" =
+ self.by-version."htmlparser2"."3.4.0";
+ by-version."htmlparser2"."3.4.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-htmlparser2-3.4.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.4.0.tgz";
+ name = "htmlparser2-3.4.0.tgz";
+ sha1 = "a1cd65f5823ad285e19d63b085ad722d0a51eae7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."htmlparser2" or []);
+ deps = [
+ self.by-version."domhandler"."2.2.0"
+ self.by-version."domutils"."1.3.0"
+ self.by-version."domelementtype"."1.1.1"
+ self.by-version."readable-stream"."1.1.13"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "htmlparser2" ];
+ };
+ by-spec."http-signature"."~0.10.0" =
+ self.by-version."http-signature"."0.10.0";
+ by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-http-signature-0.10.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+ name = "http-signature-0.10.0.tgz";
+ sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."http-signature" or []);
+ deps = [
+ self.by-version."assert-plus"."0.1.2"
+ self.by-version."asn1"."0.1.11"
+ self.by-version."ctype"."0.5.2"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "http-signature" ];
+ };
+ by-spec."iced-coffee-script"."~1.7.1-c" =
+ self.by-version."iced-coffee-script"."1.7.1-g";
+ by-version."iced-coffee-script"."1.7.1-g" = lib.makeOverridable self.buildNodePackage {
+ name = "iced-coffee-script-1.7.1-g";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-coffee-script/-/iced-coffee-script-1.7.1-g.tgz";
+ name = "iced-coffee-script-1.7.1-g.tgz";
+ sha1 = "41f9ccabe113bade608d519c10a41406a62c170b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-coffee-script" or []);
+ deps = [
+ self.by-version."docco"."0.6.3"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."mkdirp"."0.3.5"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-coffee-script" ];
+ };
+ "iced-coffee-script" = self.by-version."iced-coffee-script"."1.7.1-g";
+ by-spec."iced-data-structures"."0.0.5" =
+ self.by-version."iced-data-structures"."0.0.5";
+ by-version."iced-data-structures"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-data-structures-0.0.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-data-structures/-/iced-data-structures-0.0.5.tgz";
+ name = "iced-data-structures-0.0.5.tgz";
+ sha1 = "21de124f847fdeeb88f32cf232d3e3e600e05db4";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-data-structures" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-data-structures" ];
+ };
+ "iced-data-structures" = self.by-version."iced-data-structures"."0.0.5";
+ by-spec."iced-db"."0.0.4" =
+ self.by-version."iced-db"."0.0.4";
+ by-version."iced-db"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-db-0.0.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-db/-/iced-db-0.0.4.tgz";
+ name = "iced-db-0.0.4.tgz";
+ sha1 = "355bf9808998076013a0850ee33c6905dfb85a00";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-db" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."iced-utils"."0.1.21"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-db" ];
+ };
+ "iced-db" = self.by-version."iced-db"."0.0.4";
+ by-spec."iced-error"."0.0.9" =
+ self.by-version."iced-error"."0.0.9";
+ by-version."iced-error"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-error-0.0.9";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-error/-/iced-error-0.0.9.tgz";
+ name = "iced-error-0.0.9.tgz";
+ sha1 = "c7c3057614c0a187d96b3d18c6d520e6b872ed37";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-error" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-error" ];
+ };
+ "iced-error" = self.by-version."iced-error"."0.0.9";
+ by-spec."iced-error".">=0.0.8" =
+ self.by-version."iced-error"."0.0.9";
+ by-spec."iced-error".">=0.0.9" =
+ self.by-version."iced-error"."0.0.9";
+ by-spec."iced-error"."~0.0.8" =
+ self.by-version."iced-error"."0.0.9";
+ by-spec."iced-expect"."0.0.3" =
+ self.by-version."iced-expect"."0.0.3";
+ by-version."iced-expect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-expect-0.0.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-expect/-/iced-expect-0.0.3.tgz";
+ name = "iced-expect-0.0.3.tgz";
+ sha1 = "206f271f27b200b9b538e2c0ca66a70209be1238";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-expect" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-expect" ];
+ };
+ "iced-expect" = self.by-version."iced-expect"."0.0.3";
+ by-spec."iced-lock"."^1.0.1" =
+ self.by-version."iced-lock"."1.0.1";
+ by-version."iced-lock"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-lock-1.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-lock/-/iced-lock-1.0.1.tgz";
+ name = "iced-lock-1.0.1.tgz";
+ sha1 = "0914a61a4d3dec69db8f871ef40f95417fa38986";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-lock" or []);
+ deps = [
+ self.by-version."iced-runtime"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-lock" ];
+ };
+ "iced-lock" = self.by-version."iced-lock"."1.0.1";
+ by-spec."iced-logger"."0.0.5" =
+ self.by-version."iced-logger"."0.0.5";
+ by-version."iced-logger"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-logger-0.0.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-logger/-/iced-logger-0.0.5.tgz";
+ name = "iced-logger-0.0.5.tgz";
+ sha1 = "501852a410691cf7e9542598e04dfbfdadc51486";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-logger" or []);
+ deps = [
+ self.by-version."colors"."0.6.2"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-logger" ];
+ };
+ "iced-logger" = self.by-version."iced-logger"."0.0.5";
+ by-spec."iced-logger".">=0.0.3" =
+ self.by-version."iced-logger"."0.0.5";
+ by-spec."iced-runtime".">=0.0.1" =
+ self.by-version."iced-runtime"."1.0.1";
+ by-version."iced-runtime"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-runtime-1.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-runtime/-/iced-runtime-1.0.1.tgz";
+ name = "iced-runtime-1.0.1.tgz";
+ sha1 = "b2a8f4544241408d076c581ffa97c67d32e3d49b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-runtime" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-runtime" ];
+ };
+ "iced-runtime" = self.by-version."iced-runtime"."1.0.1";
+ by-spec."iced-runtime".">=0.0.1 <2.0.0-0" =
+ self.by-version."iced-runtime"."1.0.1";
+ by-spec."iced-runtime"."^1.0.0" =
+ self.by-version."iced-runtime"."1.0.1";
+ by-spec."iced-runtime"."^1.0.1" =
+ self.by-version."iced-runtime"."1.0.1";
+ by-spec."iced-spawn"."0.0.10" =
+ self.by-version."iced-spawn"."0.0.10";
+ by-version."iced-spawn"."0.0.10" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-spawn-0.0.10";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-spawn/-/iced-spawn-0.0.10.tgz";
+ name = "iced-spawn-0.0.10.tgz";
+ sha1 = "bef06e4fd98b73a519e6781bc3a4bdf2e78054f4";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-spawn" or []);
+ deps = [
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."semver"."2.2.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-spawn" ];
+ };
+ "iced-spawn" = self.by-version."iced-spawn"."0.0.10";
+ by-spec."iced-spawn".">=0.0.8" =
+ self.by-version."iced-spawn"."0.0.10";
+ by-spec."iced-test".">=0.0.16" =
+ self.by-version."iced-test"."0.0.19";
+ by-version."iced-test"."0.0.19" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-test-0.0.19";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-test/-/iced-test-0.0.19.tgz";
+ name = "iced-test-0.0.19.tgz";
+ sha1 = "0aff4cfa5170a0ebf9d888695b233e68cf60c634";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-test" or []);
+ deps = [
+ self.by-version."colors"."0.6.2"
+ self.by-version."deep-equal"."0.2.1"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."minimist"."1.1.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-test" ];
+ };
+ "iced-test" = self.by-version."iced-test"."0.0.19";
+ by-spec."iced-utils"."0.1.20" =
+ self.by-version."iced-utils"."0.1.20";
+ by-version."iced-utils"."0.1.20" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-utils-0.1.20";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-utils/-/iced-utils-0.1.20.tgz";
+ name = "iced-utils-0.1.20.tgz";
+ sha1 = "923cbc3c080511cb6cc8e3ccde6609548d2db3e8";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-utils" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-utils" ];
+ };
+ "iced-utils" = self.by-version."iced-utils"."0.1.20";
+ by-spec."iced-utils".">=0.1.11" =
+ self.by-version."iced-utils"."0.1.21";
+ by-version."iced-utils"."0.1.21" = lib.makeOverridable self.buildNodePackage {
+ name = "node-iced-utils-0.1.21";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/iced-utils/-/iced-utils-0.1.21.tgz";
+ name = "iced-utils-0.1.21.tgz";
+ sha1 = "6f9fb61232c75f365340151794082a718ace436b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."iced-utils" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "iced-utils" ];
+ };
+ by-spec."iced-utils".">=0.1.16" =
+ self.by-version."iced-utils"."0.1.21";
+ by-spec."iced-utils".">=0.1.18" =
+ self.by-version."iced-utils"."0.1.21";
+ by-spec."inherits"."2" =
+ self.by-version."inherits"."2.0.1";
+ by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-inherits-2.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+ name = "inherits-2.0.1.tgz";
+ sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."inherits" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "inherits" ];
+ };
+ by-spec."inherits"."~2.0.1" =
+ self.by-version."inherits"."2.0.1";
+ by-spec."ipv6"."~3.1.1" =
+ self.by-version."ipv6"."3.1.1";
+ by-version."ipv6"."3.1.1" = lib.makeOverridable self.buildNodePackage {
+ name = "ipv6-3.1.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/ipv6/-/ipv6-3.1.1.tgz";
+ name = "ipv6-3.1.1.tgz";
+ sha1 = "46da0e260af36fd9beb41297c987b7c21a2d9e1c";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."ipv6" or []);
+ deps = [
+ self.by-version."sprintf"."0.1.4"
+ self.by-version."cli"."0.4.5"
+ self.by-version."cliff"."0.1.9"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "ipv6" ];
+ };
+ by-spec."isarray"."0.0.1" =
+ self.by-version."isarray"."0.0.1";
+ by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-isarray-0.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+ name = "isarray-0.0.1.tgz";
+ sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."isarray" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "isarray" ];
+ };
+ by-spec."json-stringify-safe"."~5.0.0" =
+ self.by-version."json-stringify-safe"."5.0.0";
+ by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-json-stringify-safe-5.0.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+ name = "json-stringify-safe-5.0.0.tgz";
+ sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."json-stringify-safe" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "json-stringify-safe" ];
+ };
+ by-spec."jsonfile"."^2.0.0" =
+ self.by-version."jsonfile"."2.0.0";
+ by-version."jsonfile"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-jsonfile-2.0.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/jsonfile/-/jsonfile-2.0.0.tgz";
+ name = "jsonfile-2.0.0.tgz";
+ sha1 = "c3944f350bd3c078b392e0aa1633b44662fcf06b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."jsonfile" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "jsonfile" ];
+ };
+ by-spec."kbpgp".">=1.0.2" =
+ self.by-version."kbpgp"."1.0.5";
+ by-version."kbpgp"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-kbpgp-1.0.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/kbpgp/-/kbpgp-1.0.5.tgz";
+ name = "kbpgp-1.0.5.tgz";
+ sha1 = "5dea54ffbe648494bd4afcdadae1323e1de909fa";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."kbpgp" or []);
+ deps = [
+ self.by-version."bn"."1.0.1"
+ self.by-version."deep-equal"."0.2.1"
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."keybase-compressjs"."1.0.1-c"
+ self.by-version."keybase-ecurve"."1.0.0"
+ self.by-version."pgp-utils"."0.0.27"
+ self.by-version."purepack"."1.0.1"
+ self.by-version."triplesec"."3.0.19"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "kbpgp" ];
+ };
+ "kbpgp" = self.by-version."kbpgp"."1.0.5";
+ by-spec."kbpgp"."^1.0.2" =
+ self.by-version."kbpgp"."1.0.5";
+ by-spec."keybase-compressjs"."^1.0.1-c" =
+ self.by-version."keybase-compressjs"."1.0.1-c";
+ by-version."keybase-compressjs"."1.0.1-c" = lib.makeOverridable self.buildNodePackage {
+ name = "node-keybase-compressjs-1.0.1-c";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/keybase-compressjs/-/keybase-compressjs-1.0.1-c.tgz";
+ name = "keybase-compressjs-1.0.1-c.tgz";
+ sha1 = "dc664a7f5d95584a534622a260297532f3ce9f9f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."keybase-compressjs" or []);
+ deps = [
+ self.by-version."commander"."2.1.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "keybase-compressjs" ];
+ };
+ by-spec."keybase-ecurve"."^1.0.0" =
+ self.by-version."keybase-ecurve"."1.0.0";
+ by-version."keybase-ecurve"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-keybase-ecurve-1.0.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/keybase-ecurve/-/keybase-ecurve-1.0.0.tgz";
+ name = "keybase-ecurve-1.0.0.tgz";
+ sha1 = "c6bc72adda4603fd3184fee7e99694ed8fd69ad2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."keybase-ecurve" or []);
+ deps = [
+ self.by-version."bn"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "keybase-ecurve" ];
+ };
+ by-spec."keybase-path"."0.0.15" =
+ self.by-version."keybase-path"."0.0.15";
+ by-version."keybase-path"."0.0.15" = lib.makeOverridable self.buildNodePackage {
+ name = "node-keybase-path-0.0.15";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/keybase-path/-/keybase-path-0.0.15.tgz";
+ name = "keybase-path-0.0.15.tgz";
+ sha1 = "94b95448fc4edf73e096366279bd28a469d5f72f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."keybase-path" or []);
+ deps = [
+ self.by-version."iced-runtime"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "keybase-path" ];
+ };
+ "keybase-path" = self.by-version."keybase-path"."0.0.15";
+ by-spec."keybase-proofs"."^1.1.3" =
+ self.by-version."keybase-proofs"."1.1.3";
+ by-version."keybase-proofs"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+ name = "node-keybase-proofs-1.1.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/keybase-proofs/-/keybase-proofs-1.1.3.tgz";
+ name = "keybase-proofs-1.1.3.tgz";
+ sha1 = "f2a1a77c7e978a70480fb6ef4fb236f413f729da";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."keybase-proofs" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-lock"."1.0.1"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."pgp-utils"."0.0.27"
+ self.by-version."triplesec"."3.0.19"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "keybase-proofs" ];
+ };
+ "keybase-proofs" = self.by-version."keybase-proofs"."1.1.3";
+ by-spec."libkeybase"."^0.0.6" =
+ self.by-version."libkeybase"."0.0.6";
+ by-version."libkeybase"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+ name = "node-libkeybase-0.0.6";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/libkeybase/-/libkeybase-0.0.6.tgz";
+ name = "libkeybase-0.0.6.tgz";
+ sha1 = "03d19afe7ca48ca041d962f0885d373faca2e90e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."libkeybase" or []);
+ deps = [
+ self.by-version."iced-lock"."1.0.1"
+ self.by-version."iced-logger"."0.0.5"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."kbpgp"."1.0.5"
+ self.by-version."tweetnacl"."0.12.2"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "libkeybase" ];
+ };
+ "libkeybase" = self.by-version."libkeybase"."0.0.6";
+ by-spec."lru-cache"."2" =
+ self.by-version."lru-cache"."2.5.0";
+ by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-lru-cache-2.5.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+ name = "lru-cache-2.5.0.tgz";
+ sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."lru-cache" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "lru-cache" ];
+ };
+ by-spec."marked".">= 0.2.7" =
+ self.by-version."marked"."0.3.2";
+ by-version."marked"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+ name = "marked-0.3.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/marked/-/marked-0.3.2.tgz";
+ name = "marked-0.3.2.tgz";
+ sha1 = "015db158864438f24a64bdd61a0428b418706d09";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."marked" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "marked" ];
+ };
+ by-spec."merkle-tree"."0.0.12" =
+ self.by-version."merkle-tree"."0.0.12";
+ by-version."merkle-tree"."0.0.12" = lib.makeOverridable self.buildNodePackage {
+ name = "node-merkle-tree-0.0.12";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/merkle-tree/-/merkle-tree-0.0.12.tgz";
+ name = "merkle-tree-0.0.12.tgz";
+ sha1 = "c8d6f0e9489b828c1d02942b24514311bac5e30f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."merkle-tree" or []);
+ deps = [
+ self.by-version."deep-equal"."0.2.1"
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."iced-utils"."0.1.21"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "merkle-tree" ];
+ };
+ "merkle-tree" = self.by-version."merkle-tree"."0.0.12";
+ by-spec."mime"."~1.2.11" =
+ self.by-version."mime"."1.2.11";
+ by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+ name = "node-mime-1.2.11";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+ name = "mime-1.2.11.tgz";
+ sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mime" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "mime" ];
+ };
+ by-spec."mime"."~1.2.9" =
+ self.by-version."mime"."1.2.11";
+ by-spec."minimatch"."^1.0.0" =
+ self.by-version."minimatch"."1.0.0";
+ by-version."minimatch"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-minimatch-1.0.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz";
+ name = "minimatch-1.0.0.tgz";
+ sha1 = "e0dd2120b49e1b724ce8d714c520822a9438576d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimatch" or []);
+ deps = [
+ self.by-version."lru-cache"."2.5.0"
+ self.by-version."sigmund"."1.0.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimatch" ];
+ };
+ by-spec."minimist"."0.0.8" =
+ self.by-version."minimist"."0.0.8";
+ by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+ name = "node-minimist-0.0.8";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+ name = "minimist-0.0.8.tgz";
+ sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimist" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimist" ];
+ };
+ by-spec."minimist".">=0.0.8" =
+ self.by-version."minimist"."1.1.0";
+ by-version."minimist"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-minimist-1.1.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz";
+ name = "minimist-1.1.0.tgz";
+ sha1 = "cdf225e8898f840a258ded44fc91776770afdc93";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimist" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimist" ];
+ };
+ by-spec."minimist"."~0.0.1" =
+ self.by-version."minimist"."0.0.10";
+ by-version."minimist"."0.0.10" = lib.makeOverridable self.buildNodePackage {
+ name = "node-minimist-0.0.10";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+ name = "minimist-0.0.10.tgz";
+ sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimist" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimist" ];
+ };
+ by-spec."mkdirp"."0.3.5" =
+ self.by-version."mkdirp"."0.3.5";
+ by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-mkdirp-0.3.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+ name = "mkdirp-0.3.5.tgz";
+ sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mkdirp" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "mkdirp" ];
+ };
+ "mkdirp" = self.by-version."mkdirp"."0.3.5";
+ by-spec."mkdirp"."^0.5.0" =
+ self.by-version."mkdirp"."0.5.0";
+ by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "mkdirp-0.5.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+ name = "mkdirp-0.5.0.tgz";
+ sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mkdirp" or []);
+ deps = [
+ self.by-version."minimist"."0.0.8"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "mkdirp" ];
+ };
+ by-spec."mkdirp"."~0.3.5" =
+ self.by-version."mkdirp"."0.3.5";
+ by-spec."more-entropy".">=0.0.7" =
+ self.by-version."more-entropy"."0.0.7";
+ by-version."more-entropy"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+ name = "node-more-entropy-0.0.7";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/more-entropy/-/more-entropy-0.0.7.tgz";
+ name = "more-entropy-0.0.7.tgz";
+ sha1 = "67bfc6f7a86f26fbc37aac83fd46d88c61d109b5";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."more-entropy" or []);
+ deps = [
+ self.by-version."iced-runtime"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "more-entropy" ];
+ };
+ by-spec."mute-stream"."~0.0.4" =
+ self.by-version."mute-stream"."0.0.4";
+ by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-mute-stream-0.0.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
+ name = "mute-stream-0.0.4.tgz";
+ sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mute-stream" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "mute-stream" ];
+ };
+ by-spec."ncp"."^0.6.0" =
+ self.by-version."ncp"."0.6.0";
+ by-version."ncp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+ name = "ncp-0.6.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz";
+ name = "ncp-0.6.0.tgz";
+ sha1 = "df8ce021e262be21b52feb3d3e5cfaab12491f0d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."ncp" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "ncp" ];
+ };
+ by-spec."network-byte-order"."~0.2.0" =
+ self.by-version."network-byte-order"."0.2.0";
+ by-version."network-byte-order"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-network-byte-order-0.2.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/network-byte-order/-/network-byte-order-0.2.0.tgz";
+ name = "network-byte-order-0.2.0.tgz";
+ sha1 = "6ac11bf44bf610daeddbe90a09a5c817c6e0d2b3";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."network-byte-order" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "network-byte-order" ];
+ };
+ by-spec."node-uuid"."~1.4.0" =
+ self.by-version."node-uuid"."1.4.1";
+ by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-node-uuid-1.4.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+ name = "node-uuid-1.4.1.tgz";
+ sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."node-uuid" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "node-uuid" ];
+ };
+ by-spec."oauth-sign"."~0.3.0" =
+ self.by-version."oauth-sign"."0.3.0";
+ by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-oauth-sign-0.3.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+ name = "oauth-sign-0.3.0.tgz";
+ sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."oauth-sign" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "oauth-sign" ];
+ };
+ by-spec."once"."^1.3.0" =
+ self.by-version."once"."1.3.1";
+ by-version."once"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-once-1.3.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/once/-/once-1.3.1.tgz";
+ name = "once-1.3.1.tgz";
+ sha1 = "f3f3e4da5b7d27b5c732969ee3e67e729457b31f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."once" or []);
+ deps = [
+ self.by-version."wrappy"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "once" ];
+ };
+ by-spec."optimist"."0.6.1" =
+ self.by-version."optimist"."0.6.1";
+ by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-optimist-0.6.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+ name = "optimist-0.6.1.tgz";
+ sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."optimist" or []);
+ deps = [
+ self.by-version."wordwrap"."0.0.2"
+ self.by-version."minimist"."0.0.10"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "optimist" ];
+ };
+ "optimist" = self.by-version."optimist"."0.6.1";
+ by-spec."pgp-utils".">=0.0.21" =
+ self.by-version."pgp-utils"."0.0.27";
+ by-version."pgp-utils"."0.0.27" = lib.makeOverridable self.buildNodePackage {
+ name = "node-pgp-utils-0.0.27";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.27.tgz";
+ name = "pgp-utils-0.0.27.tgz";
+ sha1 = "3c9afdc0c5d0674bd78ed5009e2d0aec20be32b3";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."pgp-utils" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-runtime"."1.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "pgp-utils" ];
+ };
+ by-spec."pgp-utils".">=0.0.22" =
+ self.by-version."pgp-utils"."0.0.27";
+ "pgp-utils" = self.by-version."pgp-utils"."0.0.27";
+ by-spec."pgp-utils".">=0.0.25" =
+ self.by-version."pgp-utils"."0.0.27";
+ by-spec."pkginfo"."0.3.x" =
+ self.by-version."pkginfo"."0.3.0";
+ by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-pkginfo-0.3.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+ name = "pkginfo-0.3.0.tgz";
+ sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."pkginfo" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "pkginfo" ];
+ };
+ by-spec."progress"."1.1.3" =
+ self.by-version."progress"."1.1.3";
+ by-version."progress"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+ name = "node-progress-1.1.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/progress/-/progress-1.1.3.tgz";
+ name = "progress-1.1.3.tgz";
+ sha1 = "42f89c5fc3b6f0408a0bdd68993b174f96aababf";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."progress" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "progress" ];
+ };
+ "progress" = self.by-version."progress"."1.1.3";
+ by-spec."progress"."~1.1.2" =
+ self.by-version."progress"."1.1.8";
+ by-version."progress"."1.1.8" = lib.makeOverridable self.buildNodePackage {
+ name = "node-progress-1.1.8";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
+ name = "progress-1.1.8.tgz";
+ sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."progress" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "progress" ];
+ };
+ by-spec."punycode".">=0.2.0" =
+ self.by-version."punycode"."1.3.1";
+ by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-punycode-1.3.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
+ name = "punycode-1.3.1.tgz";
+ sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."punycode" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "punycode" ];
+ };
+ by-spec."purepack"."1.0.1" =
+ self.by-version."purepack"."1.0.1";
+ by-version."purepack"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-purepack-1.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/purepack/-/purepack-1.0.1.tgz";
+ name = "purepack-1.0.1.tgz";
+ sha1 = "9592f35bc22279a777885d3de04acc3555994f68";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."purepack" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "purepack" ];
+ };
+ "purepack" = self.by-version."purepack"."1.0.1";
+ by-spec."purepack".">=1" =
+ self.by-version."purepack"."1.0.1";
+ by-spec."purepack".">=1.0.1" =
+ self.by-version."purepack"."1.0.1";
+ by-spec."qs"."~0.6.0" =
+ self.by-version."qs"."0.6.6";
+ by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+ name = "node-qs-0.6.6";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+ name = "qs-0.6.6.tgz";
+ sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."qs" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "qs" ];
+ };
+ by-spec."read"."~1.0.5" =
+ self.by-version."read"."1.0.5";
+ by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-read-1.0.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+ name = "read-1.0.5.tgz";
+ sha1 = "007a3d169478aa710a491727e453effb92e76203";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."read" or []);
+ deps = [
+ self.by-version."mute-stream"."0.0.4"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "read" ];
+ };
+ "read" = self.by-version."read"."1.0.5";
+ by-spec."readable-stream"."1.1" =
+ self.by-version."readable-stream"."1.1.13";
+ by-version."readable-stream"."1.1.13" = lib.makeOverridable self.buildNodePackage {
+ name = "node-readable-stream-1.1.13";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
+ name = "readable-stream-1.1.13.tgz";
+ sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."readable-stream" or []);
+ deps = [
+ self.by-version."core-util-is"."1.0.1"
+ self.by-version."isarray"."0.0.1"
+ self.by-version."string_decoder"."0.10.31"
+ self.by-version."inherits"."2.0.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "readable-stream" ];
+ };
+ by-spec."request"."2.30.0" =
+ self.by-version."request"."2.30.0";
+ by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-request-2.30.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz";
+ name = "request-2.30.0.tgz";
+ sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."request" or []);
+ deps = [
+ self.by-version."qs"."0.6.6"
+ self.by-version."json-stringify-safe"."5.0.0"
+ self.by-version."forever-agent"."0.5.2"
+ self.by-version."node-uuid"."1.4.1"
+ self.by-version."mime"."1.2.11"
+ self.by-version."tough-cookie"."0.9.15"
+ self.by-version."form-data"."0.1.4"
+ self.by-version."tunnel-agent"."0.3.0"
+ self.by-version."http-signature"."0.10.0"
+ self.by-version."oauth-sign"."0.3.0"
+ self.by-version."hawk"."1.0.0"
+ self.by-version."aws-sign2"."0.5.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "request" ];
+ };
+ "request" = self.by-version."request"."2.30.0";
+ by-spec."rimraf"."^2.2.8" =
+ self.by-version."rimraf"."2.2.8";
+ by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
+ name = "rimraf-2.2.8";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+ name = "rimraf-2.2.8.tgz";
+ sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."rimraf" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "rimraf" ];
+ };
+ by-spec."semver"."2.2.1" =
+ self.by-version."semver"."2.2.1";
+ by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+ name = "semver-2.2.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+ name = "semver-2.2.1.tgz";
+ sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."semver" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "semver" ];
+ };
+ "semver" = self.by-version."semver"."2.2.1";
+ by-spec."semver"."~2.2.1" =
+ self.by-version."semver"."2.2.1";
+ by-spec."sigmund"."~1.0.0" =
+ self.by-version."sigmund"."1.0.0";
+ by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-sigmund-1.0.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+ name = "sigmund-1.0.0.tgz";
+ sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."sigmund" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "sigmund" ];
+ };
+ by-spec."sntp"."0.2.x" =
+ self.by-version."sntp"."0.2.4";
+ by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-sntp-0.2.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+ name = "sntp-0.2.4.tgz";
+ sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."sntp" or []);
+ deps = [
+ self.by-version."hoek"."0.9.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "sntp" ];
+ };
+ by-spec."socks5-client"."0.x" =
+ self.by-version."socks5-client"."0.3.6";
+ by-version."socks5-client"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+ name = "node-socks5-client-0.3.6";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/socks5-client/-/socks5-client-0.3.6.tgz";
+ name = "socks5-client-0.3.6.tgz";
+ sha1 = "4205b5791f2df77cf07527222558fe4e46aca2f1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."socks5-client" or []);
+ deps = [
+ self.by-version."ipv6"."3.1.1"
+ self.by-version."network-byte-order"."0.2.0"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "socks5-client" ];
+ };
+ by-spec."socks5-client"."^0.3.6" =
+ self.by-version."socks5-client"."0.3.6";
+ "socks5-client" = self.by-version."socks5-client"."0.3.6";
+ by-spec."socks5-client"."~0.3.4" =
+ self.by-version."socks5-client"."0.3.6";
+ by-spec."socks5-http-client"."^0.1.6" =
+ self.by-version."socks5-http-client"."0.1.6";
+ by-version."socks5-http-client"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+ name = "node-socks5-http-client-0.1.6";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/socks5-http-client/-/socks5-http-client-0.1.6.tgz";
+ name = "socks5-http-client-0.1.6.tgz";
+ sha1 = "a915ba75573787876e5d3756ee4a81d60cd4b69b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."socks5-http-client" or []);
+ deps = [
+ self.by-version."socks5-client"."0.3.6"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "socks5-http-client" ];
+ };
+ "socks5-http-client" = self.by-version."socks5-http-client"."0.1.6";
+ by-spec."socks5-https-client"."^0.2.2" =
+ self.by-version."socks5-https-client"."0.2.2";
+ by-version."socks5-https-client"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-socks5-https-client-0.2.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/socks5-https-client/-/socks5-https-client-0.2.2.tgz";
+ name = "socks5-https-client-0.2.2.tgz";
+ sha1 = "b855e950e97c4fa6bca72a108f00278d33ac91d1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."socks5-https-client" or []);
+ deps = [
+ self.by-version."socks5-client"."0.3.6"
+ self.by-version."starttls"."0.2.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "socks5-https-client" ];
+ };
+ "socks5-https-client" = self.by-version."socks5-https-client"."0.2.2";
+ by-spec."sprintf"."0.1.x" =
+ self.by-version."sprintf"."0.1.4";
+ by-version."sprintf"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-sprintf-0.1.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.4.tgz";
+ name = "sprintf-0.1.4.tgz";
+ sha1 = "6f870a8f4aae1c7fe53eee02b6ca31aa2d78863b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."sprintf" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "sprintf" ];
+ };
+ by-spec."stack-trace"."0.0.x" =
+ self.by-version."stack-trace"."0.0.9";
+ by-version."stack-trace"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+ name = "node-stack-trace-0.0.9";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+ name = "stack-trace-0.0.9.tgz";
+ sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."stack-trace" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "stack-trace" ];
+ };
+ by-spec."starttls"."0.x" =
+ self.by-version."starttls"."0.2.1";
+ by-version."starttls"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-starttls-0.2.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/starttls/-/starttls-0.2.1.tgz";
+ name = "starttls-0.2.1.tgz";
+ sha1 = "b98d3e5e778d46f199c843a64f889f0347c6d19a";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."starttls" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "starttls" ];
+ };
+ by-spec."string_decoder"."~0.10.x" =
+ self.by-version."string_decoder"."0.10.31";
+ by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
+ name = "node-string_decoder-0.10.31";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+ name = "string_decoder-0.10.31.tgz";
+ sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."string_decoder" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "string_decoder" ];
+ };
+ by-spec."tablify"."0.1.5" =
+ self.by-version."tablify"."0.1.5";
+ by-version."tablify"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+ name = "node-tablify-0.1.5";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tablify/-/tablify-0.1.5.tgz";
+ name = "tablify-0.1.5.tgz";
+ sha1 = "47160ce2918be291d63cecceddb5254dd72982c7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tablify" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "tablify" ];
+ };
+ "tablify" = self.by-version."tablify"."0.1.5";
+ by-spec."tablify".">=0.1.5" =
+ self.by-version."tablify"."0.1.5";
+ by-spec."timeago"."0.1.0" =
+ self.by-version."timeago"."0.1.0";
+ by-version."timeago"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-timeago-0.1.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/timeago/-/timeago-0.1.0.tgz";
+ name = "timeago-0.1.0.tgz";
+ sha1 = "21176a84d469be35ee431c5c48c0b6aba1f72464";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."timeago" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "timeago" ];
+ };
+ "timeago" = self.by-version."timeago"."0.1.0";
+ by-spec."tough-cookie"."~0.9.15" =
+ self.by-version."tough-cookie"."0.9.15";
+ by-version."tough-cookie"."0.9.15" = lib.makeOverridable self.buildNodePackage {
+ name = "node-tough-cookie-0.9.15";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
+ name = "tough-cookie-0.9.15.tgz";
+ sha1 = "75617ac347e3659052b0350131885829677399f6";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tough-cookie" or []);
+ deps = [
+ self.by-version."punycode"."1.3.1"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "tough-cookie" ];
+ };
+ by-spec."triplesec".">=3.0.16" =
+ self.by-version."triplesec"."3.0.19";
+ by-version."triplesec"."3.0.19" = lib.makeOverridable self.buildNodePackage {
+ name = "node-triplesec-3.0.19";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/triplesec/-/triplesec-3.0.19.tgz";
+ name = "triplesec-3.0.19.tgz";
+ sha1 = "1cf858ccfcc133a3e884ff7d37aedf3b306c32f9";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."triplesec" or []);
+ deps = [
+ self.by-version."iced-error"."0.0.9"
+ self.by-version."iced-lock"."1.0.1"
+ self.by-version."iced-runtime"."1.0.1"
+ self.by-version."more-entropy"."0.0.7"
+ self.by-version."progress"."1.1.8"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "triplesec" ];
+ };
+ "triplesec" = self.by-version."triplesec"."3.0.19";
+ by-spec."triplesec".">=3.0.19" =
+ self.by-version."triplesec"."3.0.19";
+ by-spec."tunnel-agent"."~0.3.0" =
+ self.by-version."tunnel-agent"."0.3.0";
+ by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-tunnel-agent-0.3.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+ name = "tunnel-agent-0.3.0.tgz";
+ sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tunnel-agent" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "tunnel-agent" ];
+ };
+ by-spec."tweetnacl"."^0.12.0" =
+ self.by-version."tweetnacl"."0.12.2";
+ by-version."tweetnacl"."0.12.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-tweetnacl-0.12.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tweetnacl/-/tweetnacl-0.12.2.tgz";
+ name = "tweetnacl-0.12.2.tgz";
+ sha1 = "bd59f890507856fb0a1136acc3a8b44547e29ddb";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tweetnacl" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "tweetnacl" ];
+ };
+ by-spec."underscore".">= 1.0.0" =
+ self.by-version."underscore"."1.7.0";
+ by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-underscore-1.7.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+ name = "underscore-1.7.0.tgz";
+ sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."underscore" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "underscore" ];
+ };
+ by-spec."underscore"."~1.4" =
+ self.by-version."underscore"."1.4.4";
+ by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+ name = "node-underscore-1.4.4";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+ name = "underscore-1.4.4.tgz";
+ sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."underscore" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "underscore" ];
+ };
+ by-spec."underscore"."~1.4.3" =
+ self.by-version."underscore"."1.4.4";
+ by-spec."underscore.string"."~2.3.1" =
+ self.by-version."underscore.string"."2.3.3";
+ by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
+ name = "node-underscore.string-2.3.3";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
+ name = "underscore.string-2.3.3.tgz";
+ sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."underscore.string" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "underscore.string" ];
+ };
+ by-spec."winston"."0.8.x" =
+ self.by-version."winston"."0.8.0";
+ by-version."winston"."0.8.0" = lib.makeOverridable self.buildNodePackage {
+ name = "node-winston-0.8.0";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
+ name = "winston-0.8.0.tgz";
+ sha1 = "61d0830fa699706212206b0a2b5ca69a93043668";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."winston" or []);
+ deps = [
+ self.by-version."async"."0.2.10"
+ self.by-version."colors"."0.6.2"
+ self.by-version."cycle"."1.0.3"
+ self.by-version."eyes"."0.1.8"
+ self.by-version."pkginfo"."0.3.0"
+ self.by-version."stack-trace"."0.0.9"
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "winston" ];
+ };
+ by-spec."wordwrap"."~0.0.2" =
+ self.by-version."wordwrap"."0.0.2";
+ by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+ name = "node-wordwrap-0.0.2";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+ name = "wordwrap-0.0.2.tgz";
+ sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."wordwrap" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "wordwrap" ];
+ };
+ by-spec."wrappy"."1" =
+ self.by-version."wrappy"."1.0.1";
+ by-version."wrappy"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-wrappy-1.0.1";
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
+ name = "wrappy-1.0.1.tgz";
+ sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."wrappy" or []);
+ deps = [
+ ];
+ peerDependencies = [
+ ];
+ passthru.names = [ "wrappy" ];
+ };
+}
diff --git a/pkgs/applications/misc/librecad/2.0.nix b/pkgs/applications/misc/librecad/2.0.nix
index 8b7a9a40c87..6cc775b72d3 100644
--- a/pkgs/applications/misc/librecad/2.0.nix
+++ b/pkgs/applications/misc/librecad/2.0.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
'';
configurePhase = ''
- qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost}
+ qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost.dev}
'';
installPhase = ''
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index e04898fba29..5284d441b44 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,75 +1,41 @@
-{ stdenv, fetchgit, ocaml, mupdf, lablgl, mesa
-, libX11, libXext, gtk3, freetype, zlib, openjpeg
-, jbig2dec, libjpeg, ncurses }:
+{ stdenv, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
+, gtk3, openjpeg, jbig2dec, mujs }:
-stdenv.mkDerivation {
- name = "llpp-2014-05-26";
+let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
+in stdenv.mkDerivation rec {
+ name = "llpp-2014-11-29";
src = fetchgit {
url = "git://repo.or.cz/llpp.git";
- rev = "902143de64d86b5714b3a59d2cc7085083b87249";
- sha256 = "038xl4gbvm57na2lz1fw36sf43zaxq407zi2d53985vc33677j9s";
+ rev = "481c8398b2c5dc4589738f5f80104ed75b9c73ff";
+ sha256 = "13zi5mzpd9j4mmm68m3zkv49xgkhswhqvmp4bbyi0psmhxak8y5l";
};
- buildInputs = [ ocaml mupdf lablgl mesa libX11 libXext gtk3
- freetype jbig2dec libjpeg openjpeg zlib ncurses ];
+ buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
+ gtk3 jbig2dec openjpeg mujs ];
- # The build phase was extracted from buildall.sh, because that script
- # fetched the dependencies on its own.
- buildPhase = ''
- ccopt="-O"
- ccopt="$ccopt -I ${jbig2dec}/include"
- ccopt="$ccopt -I ${libjpeg}/include"
- ccopt="$ccopt -I ${freetype}/include/freetype2"
- ccopt="$ccopt -I ${openjpeg}/include"
- ccopt="$ccopt -I ${zlib}/include"
- ccopt="$ccopt -I ${mupdf}/include"
- ccopt="$ccopt -include ft2build.h"
- ccopt="$ccopt -D_GNU_SOURCE"
-
- cclib="$cclib -lmupdf"
- cclib="$cclib -lz -ljpeg -lopenjp2 -ljbig2dec -lfreetype -lpthread"
- cclib="$cclib -lX11"
- cclib="$cclib -lfreetype"
-
- comp=ocamlc.opt
- cmsuf=cmo
-
- sh mkhelp.sh keystoml.ml KEYS > help.ml
-
- $comp -c -o link.o -ccopt "$ccopt" link.c
- $comp -c -o help.$cmsuf help.ml
- $comp -c -o utils.$cmsuf utils.ml
- $comp -c -o wsi.cmi wsi.mli
- $comp -c -o wsi.$cmsuf wsi.ml
- $comp -c -o parser.$cmsuf parser.ml
- $comp -c -o main.$cmsuf -I ${lablgl}/lib/ocaml/4.01.0/site-lib/lablgl main.ml
-
- $comp -custom -o llpp \
- -I ${lablgl}/lib/ocaml/4.01.0/site-lib/lablgl \
- str.cma unix.cma lablgl.cma \
- link.o \
- -cclib "$cclib" \
- help.cmo \
- utils.cmo \
- parser.cmo \
- wsi.cmo \
- main.cmo
+ configurePhase = ''
+ sh configure.sh -O -F ${mupdf}
+ sed -i 's;-lopenjpeg;-lopenjp2;g' .config
+ sed -i 's;$builddir/link\.so;link.so;g' build.ninja
'';
- # Binary fails with 'No bytecode file specified.' if stripped.
- dontStrip = true;
+ buildPhase = "${ninja}/bin/ninja";
installPhase = ''
- install -d $out/bin
- install llpp llppac $out/bin
+ install -d $out/bin $out/lib
+ install build/llpp $out/bin
+ install link.so $out/lib
+ wrapProgram $out/bin/llpp \
+ --prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
+ --prefix CAML_LD_LIBRARY_PATH ":" "$out/lib"
'';
- meta = {
+ meta = with stdenv.lib; {
homepage = http://repo.or.cz/w/llpp.git;
description = "A MuPDF based PDF pager written in OCaml";
- platforms = stdenv.lib.platforms.linux;
- maintainers = [ stdenv.lib.maintainers.pSub ];
- license = "GPL";
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ pSub ];
+ license = licenses.gpl3;
};
}
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
index 52e8d20495b..1fe5406384f 100644
--- a/pkgs/applications/misc/monero/default.nix
+++ b/pkgs/applications/misc/monero/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
};
- buildInputs = [ cmake boost boost.lib ];
+ buildInputs = [ cmake boost ];
# these tests take a long time and don't
# always complete in the build environment
diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix
index 94ee63fe2de..d9e09923c3b 100644
--- a/pkgs/applications/misc/namecoin/default.nix
+++ b/pkgs/applications/misc/namecoin/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
# Don't build with miniupnpc due to namecoin using a different verison that
# ships with NixOS and it is API incompatible.
- buildInputs = [ db4 boost boost.lib openssl unzip ];
+ buildInputs = [ db4 boost openssl unzip ];
patchPhase = ''
sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix
index 6b63bf7ca34..2a83a4d11d6 100644
--- a/pkgs/applications/misc/namecoin/qt.nix
+++ b/pkgs/applications/misc/namecoin/qt.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
# Don't build with miniupnpc due to namecoin using a different verison that
# ships with NixOS and it is API incompatible.
- buildInputs = [ db4 boost boost.lib openssl unzip qt4 ];
+ buildInputs = [ db4 boost openssl unzip qt4 ];
configurePhase = ''
qmake USE_UPNP=-
diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix
index d7577987a17..b245a6aace7 100644
--- a/pkgs/applications/misc/pcmanfm/default.nix
+++ b/pkgs/applications/misc/pcmanfm/default.nix
@@ -1,10 +1,10 @@
{ stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }:
stdenv.mkDerivation {
- name = "pcmanfm-1.2.2";
+ name = "pcmanfm-1.2.3";
src = fetchurl {
- url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.2.tar.xz";
- sha256 = "00wmbqrbcrxk1mcdkgdl8ddf3gp28rm5mamqdq72sfr0q2d0287n";
+ url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.3.tar.xz";
+ sha256 = "1033rw5jd7nlzbcdpx3bik7347kyh1sg1gkla424gq9vqqpxia6g";
};
buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ];
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
new file mode 100644
index 00000000000..17da22cbaaf
--- /dev/null
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, qt4, pkgconfig, popplerQt4, djvulibre, libspectre, cups
+, file, ghostscript
+}:
+let
+ s = # Generated upstream information
+ rec {
+ baseName="qpdfview";
+ version="0.4.12";
+ name="${baseName}-${version}";
+ url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
+ sha256="1h6lrrh1vblqkxrd89nmid7d21anyn30iahj24z62yny35lidf0g";
+ };
+ buildInputs = [
+ qt4 popplerQt4 pkgconfig djvulibre libspectre cups file ghostscript
+ ];
+in
+stdenv.mkDerivation {
+ inherit (s) name version;
+ inherit buildInputs;
+ src = fetchurl {
+ inherit (s) url sha256;
+ };
+ configurePhase = ''
+ qmake *.pro
+ for i in *.pro; do
+ qmake "$i" -o "Makefile.$(basename "$i" .pro)"
+ done
+ sed -e "s@/usr/@$out/@g" -i Makefile*
+ '';
+ meta = {
+ inherit (s) version;
+ description = "A tabbed document viewer";
+ license = stdenv.lib.licenses.gpl2;
+ maintainers = [stdenv.lib.maintainers.raskin];
+ platforms = stdenv.lib.platforms.linux;
+ homepage = "https://launchpad.net/qpdfview";
+ updateWalker = true;
+ };
+}
diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix
index 38606d79873..8f7fc3b0e26 100644
--- a/pkgs/applications/misc/qtbitcointrader/default.nix
+++ b/pkgs/applications/misc/qtbitcointrader/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchurl, qt4 }:
+{ stdenv, fetchFromGitHub, qt }:
let
- version = "1.07.98";
+ version = "1.08.02";
in
stdenv.mkDerivation {
name = "qtbitcointrader-${version}";
- src = fetchurl {
- url = "mirror://sourceforge/bitcointrader/SRC/QtBitcoinTrader-${version}.tar.gz";
- sha256 = "1irz17q71fx64dfkmgajlyva7d1wifv4bxgb2iwz7d69rvhzaqzx";
+ src = fetchFromGitHub {
+ owner = "JulyIGHOR";
+ repo = "QtBitcoinTrader";
+ rev = "452db3ee9447b8f9e7d63253f834b31394b23d92";
+ sha256 = "1l2a021dy2j4sr4nmq7wn27r2zli9nigwbviqzain3nlyzq9fjpg";
};
- buildInputs = [ qt4 ];
+ buildInputs = [ qt ];
postUnpack = "sourceRoot=\${sourceRoot}/src";
@@ -23,11 +25,11 @@ stdenv.mkDerivation {
QtBitcoinTrader_Desktop.pro
'';
- meta = {
- description = "Secure bitcoin trading client";
- homepage = http://qtopentrader.com;
- license = stdenv.lib.licenses.lgpl21Plus;
- platforms = stdenv.lib.platforms.linux; # arbitrary choice
- maintainers = [ stdenv.lib.maintainers.emery ];
- };
-}
\ No newline at end of file
+ meta = with stdenv.lib;
+ { description = "Secure bitcoin trading client";
+ homepage = https://centrabit.com/;
+ license = licenses.lgpl3;
+ platforms = platforms.linux; # arbitrary choice
+ maintainers = [ maintainers.emery ];
+ };
+}
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 8ee006c5d7f..6070c560815 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -3,11 +3,11 @@
, GConf, dbus, dbus_glib, makeWrapper, gtk, pygtk, pyxdg, geoclue }:
stdenv.mkDerivation rec {
- version = "1.8";
+ version = "1.9.1";
name = "redshift-${version}";
src = fetchurl {
url = "https://github.com/jonls/redshift/archive/v${version}.tar.gz";
- sha256 = "1srj2dwy32h71iqikb4ysv5ipclym80i9lys2ns8vjmclg7hj3vi";
+ sha256 = "0rj7lyg4ikwpk1hr1k2bgk9gjqvvv51z8hydsgpx2k2lqdv6lqri";
};
buildInputs = [
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
new file mode 100644
index 00000000000..2fd43382c40
--- /dev/null
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchurl, dpkg, patchelf, qt4, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }:
+
+let
+ src =
+ if stdenv.system == "i686-linux" then fetchurl {
+ name = "rescuetime-installer.deb";
+ url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
+ sha256 = "03dj0ivavxlcvx7dv7y6zllwqkclfyxkfax691zv2qclmk5gf8wz";
+ } else fetchurl {
+ name = "rescuetime-installer.deb";
+ url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
+ sha256 = "11by4lkij1ryv8h3mz55hj3ssrikl697rs5b7mlg3g058gr2v3wl";
+ };
+
+in
+
+stdenv.mkDerivation {
+ name = "rescuetime-2.8.6.1015";
+ inherit src;
+ buildInputs = [ dpkg makeWrapper ];
+ unpackPhase = ''
+ mkdir pkg
+ dpkg-deb -x $src pkg
+ sourceRoot=pkg
+ '';
+ installPhase = ''
+ mkdir -p $out/bin
+ cp usr/bin/rescuetime $out/bin
+
+ ${patchelf}/bin/patchelf \
+ --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+ $out/bin/rescuetime
+
+ wrapProgram $out/bin/rescuetime \
+ --prefix LD_PRELOAD : ${qt4}/lib/libQtGui.so.4:${qt4}/lib/libQtCore.so.4:${libXtst}/lib/libXtst.so.6:${libXext}/lib/libXext.so.6:${libX11}/lib/libX11.so.6:${libXScrnSaver}/lib/libXss.so.1
+ '';
+ meta = with lib; {
+ description = "Helps you understand your daily habits so you can focus and be more productive";
+ homepage = "https://www.rescuetime.com";
+ maintainers = with maintainers; [ cstrahan ];
+ license = licenses.unfree;
+ platforms = [ "i686-linux" "x86_64-linux" ];
+ };
+}
diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/misc/roxterm/default.nix
index a8338b80c9e..60322c2b911 100644
--- a/pkgs/applications/misc/roxterm/default.nix
+++ b/pkgs/applications/misc/roxterm/default.nix
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
"-I${dbus_libs}/lib/dbus-1.0/include" ];
# Fix up python path so the lockfile library is on it.
- PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.python.libPrefix}/site-packages" [
+ PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.libPrefix}/site-packages" [
pythonPackages.curses pythonPackages.lockfile
];
diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix
index e6e76249388..defe6eb2df1 100644
--- a/pkgs/applications/misc/rtl-sdr/default.nix
+++ b/pkgs/applications/misc/rtl-sdr/default.nix
@@ -12,12 +12,18 @@ stdenv.mkDerivation rec {
buildInputs = [ cmake pkgconfig libusb1 ];
- # Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to
- # /etc/udev/rules.d/, and there is no option to install elsewhere. So install
- # rules manually.
+ # TODO: get these fixes upstream:
+ # * Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to
+ # /etc/udev/rules.d/, and there is no option to install elsewhere. So install
+ # rules manually.
+ # * Propagate libusb-1.0 dependency in pkg-config file.
postInstall = ''
mkdir -p "$out/etc/udev/rules.d/"
cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
+
+ pcfile="$out"/lib/pkgconfig/librtlsdr.pc
+ grep -q "Requires:" "$pcfile" && { echo "Upstream has added 'Requires:' in $(basename "$pcfile"); update nix expression."; exit 1; }
+ echo "Requires: libusb-1.0" >> "$pcfile"
'';
meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix
new file mode 100644
index 00000000000..98f2e0d6108
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+ name = "urxvt-perls";
+
+ src = fetchgit {
+ url = "https://github.com/muennich/urxvt-perls";
+ rev = "4dec629b3631297d17855c35be1b723e2d9e7591";
+ sha256 = "c61bc8819b4e6655ed4a3ce3b347cb6dbebcb484d5d3973cbe9aa7f2c98d372f";
+ };
+
+ installPhase = ''
+ mkdir -p $out/lib/urxvt/perl
+ cp clipboard \
+ keyboard-select \
+ url-select \
+ $out/lib/urxvt/perl
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Perl extensions for the rxvt-unicode terminal emulator";
+ homepage = "https://github.com/muennich/urxvt-perls";
+ license = licenses.gpl2;
+ maintainers = maintainers.abbradar;
+ };
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
new file mode 100644
index 00000000000..a636c3bcfe5
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+ name = "urxvt-tabbedex";
+
+ src = fetchgit {
+ url = "https://github.com/mina86/urxvt-tabbedex";
+ rev = "54c8d6beb4d65278ed6db24693ca56e1ee65bb42";
+ sha256 = "f8734ee289e1cfc517d0699627191c98d32ae3549e0f1935af2a5ccb86d4dc1e";
+ };
+
+ installPhase = ''
+ install -D tabbedex $out/lib/urxvt/perl/tabbedex
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)";
+ homepage = "https://github.com/mina86/urxvt-tabbedex";
+ maintainers = maintainers.abbradar;
+ };
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/rxvt_unicode/wrapper.nix b/pkgs/applications/misc/rxvt_unicode/wrapper.nix
new file mode 100644
index 00000000000..140113de64a
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode/wrapper.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildEnv, rxvt_unicode, makeWrapper, plugins }:
+
+let
+ rxvt = rxvt_unicode.override {
+ perlSupport = true;
+ };
+
+ drv = buildEnv {
+ name = "${rxvt.name}-with-plugins";
+
+ paths = [ rxvt ] ++ plugins;
+
+ postBuild = ''
+ # TODO: This could be avoided if buildEnv could be forced to create all directories
+ if [ -L $out/bin ]; then
+ rm $out/bin
+ mkdir $out/bin
+ for i in ${rxvt}/bin/*; do
+ ln -s $i $out/bin
+ done
+ fi
+ wrapProgram $out/bin/urxvt \
+ --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
+ '';
+ };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
\ No newline at end of file
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index 06a5cca94a8..a057197a92d 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -3,21 +3,20 @@
}:
stdenv.mkDerivation rec {
- version = "1.1.7";
+ version = "1.2.1";
name = "slic3r-${version}";
- # Slic3r doesn't put out tarballs, only a git repository is available
src = fetchgit {
url = "git://github.com/alexrj/Slic3r";
rev = "refs/tags/${version}";
- sha256 = "0hss90iw4xwca08d03wrz0fds5nqwb9zjqii2n6rgpcl4km69fka";
+ sha256 = "03xj2kv2d4j6nwmdd5cyghnvjyj4g7g9z0ynynbviyfiplmka2ph";
};
buildInputs = with perlPackages; [ perl makeWrapper which
EncodeLocale MathClipper ExtUtilsXSpp BoostGeometryUtils
MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX
- ExtUtilsMakeMaker
+ ExtUtilsMakeMaker OpenGL WxGLCanvas
];
desktopItem = makeDesktopItem {
@@ -34,12 +33,16 @@ stdenv.mkDerivation rec {
export SLIC3R_NO_AUTO=true
export PERL5LIB="./xs/blib/arch/:./xs/blib/lib:$PERL5LIB"
+ substituteInPlace Build.PL \
+ --replace "0.9918" "0.9923" \
+ --replace "eval" ""
+
pushd xs
perl Build.PL
perl Build
popd
- perl Build.PL
+ perl Build.PL --gui
'';
installPhase = ''
diff --git a/pkgs/applications/misc/slic3r/fix-no-display.patch b/pkgs/applications/misc/slic3r/fix-no-display.patch
new file mode 100644
index 00000000000..b5aeca3a416
--- /dev/null
+++ b/pkgs/applications/misc/slic3r/fix-no-display.patch
@@ -0,0 +1,59 @@
+diff --git a/Build.PL b/Build.PL
+index 8b21c15..fd3aff0 100644
+--- a/Build.PL
++++ b/Build.PL
+@@ -33,9 +33,6 @@ my $sudo = grep { $_ eq '--sudo' } @ARGV;
+ my $gui = grep { $_ eq '--gui' } @ARGV;
+ my $xs_only = grep { $_ eq '--xs' } @ARGV;
+ if ($gui) {
+- %prereqs = qw(
+- Wx 0.9918
+- );
+ %recommends = qw(
+ Growl::GNTP 0.15
+ Wx::GLCanvas 0
+diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm
+index 842ff44..ea0af64 100644
+--- a/lib/Slic3r/GUI.pm
++++ b/lib/Slic3r/GUI.pm
+@@ -26,7 +26,7 @@ use Slic3r::GUI::OptionsGroup::Field;
+ use Slic3r::GUI::SimpleTab;
+ use Slic3r::GUI::Tab;
+
+-our $have_OpenGL = eval "use Slic3r::GUI::PreviewCanvas; 1";
++our $have_OpenGL = 0;
+
+ use Wx 0.9901 qw(:bitmap :dialog :icon :id :misc :systemsettings :toplevelwindow
+ :filedialog);
+diff --git a/lib/Slic3r/GUI/Plater/2DToolpaths.pm b/lib/Slic3r/GUI/Plater/2DToolpaths.pm
+index 8e48a72..7bed973 100644
+--- a/lib/Slic3r/GUI/Plater/2DToolpaths.pm
++++ b/lib/Slic3r/GUI/Plater/2DToolpaths.pm
+@@ -90,18 +90,20 @@ sub set_z {
+ package Slic3r::GUI::Plater::2DToolpaths::Canvas;
+
+ use Wx::Event qw(EVT_PAINT EVT_SIZE EVT_ERASE_BACKGROUND EVT_IDLE EVT_MOUSEWHEEL EVT_MOUSE_EVENTS);
+-use OpenGL qw(:glconstants :glfunctions :glufunctions);
+-use base qw(Wx::GLCanvas Class::Accessor);
+-use Wx::GLCanvas qw(:all);
+ use List::Util qw(min first);
+ use Slic3r::Geometry qw(scale unscale epsilon);
+
+ __PACKAGE__->mk_accessors(qw(print z layers color init dirty bb));
+
+-# make OpenGL::Array thread-safe
+-{
+- no warnings 'redefine';
+- *OpenGL::Array::CLONE_SKIP = sub { 1 };
++if ($Slic3r::GUI::have_OpenGL) {
++ use OpenGL qw(:glconstants :glfunctions :glufunctions);
++ use Wx::GLCanvas qw(:all);
++ use base qw(Wx::GLCanvas Class::Accessor);
++ # make OpenGL::Array thread-safe
++ {
++ no warnings 'redefine';
++ *OpenGL::Array::CLONE_SKIP = sub { 1 };
++ }
+ }
+
+ sub new {
diff --git a/pkgs/applications/misc/slmenu/default.nix b/pkgs/applications/misc/slmenu/default.nix
new file mode 100644
index 00000000000..193bcf205f5
--- /dev/null
+++ b/pkgs/applications/misc/slmenu/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchhg}:
+let
+ s =
+ rec {
+ baseName = "slmenu";
+ version = "hg-${date}";
+ date = "2012-02-01";
+ name = "${baseName}-${version}";
+ url = "https://bitbucket.org/rafaelgg/slmenu/";
+ rev = "7e74fa5db73e8b018da48d50dbbaf11cb5c62d13";
+ sha256 = "0zb7mm8344d3xmvrl62psazcabfk75pp083jqkmywdsrikgjagv6";
+ };
+ buildInputs = [
+ ];
+in
+stdenv.mkDerivation {
+ inherit (s) name version;
+ inherit buildInputs;
+ src = fetchhg {
+ inherit (s) url sha256;
+ };
+ makeFlags = ''PREFIX=$(out)'';
+ meta = {
+ inherit (s) version;
+ description = ''A console dmenu-like tool'';
+ license = stdenv.lib.licenses.mit;
+ maintainers = [stdenv.lib.maintainers.raskin];
+ platforms = stdenv.lib.platforms.linux;
+ };
+}
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 6f1ced9097e..b88e4c567cc 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
'';
meta = {
- description = "Multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customizable menu system, and bash integration.";
+ description = "Multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customizable menu system, and bash integration";
platforms = pkgs.lib.platforms.linux;
license = pkgs.lib.licenses.gpl3;
};
diff --git a/pkgs/applications/misc/sqliteman/default.nix b/pkgs/applications/misc/sqliteman/default.nix
new file mode 100644
index 00000000000..803dfe075c1
--- /dev/null
+++ b/pkgs/applications/misc/sqliteman/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake, qt4, qscintilla }:
+
+stdenv.mkDerivation rec {
+ name = "sqliteman";
+ version = "1.2.0-c41b89e1";
+
+ src = fetchurl {
+ url = https://github.com/pvanek/sqliteman/archive/1.2.0.tar.gz;
+ sha256 = "1x4ppwf01jdnz3a4ycia6vv5qf3w2smbqx690z1pnkwbvk337akm";
+ };
+
+ buildInputs = [ cmake qt4 qscintilla ];
+
+ prePatch = ''
+ sed -i 's,m_file(0),m_file(QString()),' Sqliteman/sqliteman/main.cpp
+ '';
+
+ preConfigure = ''
+ cd Sqliteman
+ sed -i 's,/usr/include/Qsci,${qscintilla}/include/Qsci,' cmake/modules/FindQScintilla.cmake
+ sed -i 's,PATHS ''${QT_LIBRARY_DIR},PATHS ${qscintilla}/libs,' cmake/modules/FindQScintilla.cmake
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Sqliteman is simple but powerfull Sqlite3 GUI database manager.";
+ homepage = http://sqliteman.yarpen.cz/;
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.eikek ];
+ };
+}
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 17b5c92406b..978dd19e3df 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -4,13 +4,13 @@
let
mkSweetHome3D =
- { name, module, version, src, license, description }:
+ { name, module, version, src, license, description, icon }:
stdenv.mkDerivation rec {
- inherit name version src description;
+ inherit name version src description icon;
exec = stdenv.lib.toLower module;
sweethome3dItem = makeDesktopItem {
- inherit name exec;
+ inherit name exec icon;
comment = description;
desktopName = name;
genericName = "Computer Aided (Interior) Design";
@@ -61,6 +61,10 @@ in rec {
module = module;
tag = "V_" + d2u version;
};
+ icon = fetchurl {
+ url = "http://sweethome3d.cvs.sourceforge.net/viewvc/sweethome3d/SweetHome3D/src/com/eteks/sweethome3d/viewcontroller/resources/help/images/sweethome3d.png";
+ sha256 = "0lnv2sz2d3m8jx25hz92gzardf0iblykhy5q0q2cyb7mw2qb2p92";
+ };
};
}
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index df4c0ea97eb..2a518b9d7cc 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput, curl
-, cryptopp ? null, unzip }:
+{ stdenv, fetchFromGitHub, cmake, x11, libX11, libXi, libXtst, libXrandr
+, xinput, curl, cryptopp ? null, unzip }:
assert stdenv.isLinux -> cryptopp != null;
with stdenv.lib;
stdenv.mkDerivation rec {
- name = "synergy-1.5.1";
+ name = "synergy-${version}";
+ version = "1.6.1";
- src = fetchurl {
- url = "http://synergy-project.org/files/packages/${name}-r2398-Source.tar.gz";
- sha256 = "19q8ck15f0jgpbzlm34dzp046wf3iiwa21s1qfyj5sj7xjxwa367";
+ src = fetchFromGitHub {
+ owner = "synergy";
+ repo = "synergy";
+ rev = "1.6.1";
+ sha256 = "1043101c4phv1nbxiqp2jn1jhgzspv9q6v75z0kfzwgii5n5xq1c";
};
patches = optional stdenv.isLinux ./cryptopp.patch;
diff --git a/pkgs/applications/misc/taffybar/default.nix b/pkgs/applications/misc/taffybar/default.nix
index 09eb186013f..1f5481fc5a9 100644
--- a/pkgs/applications/misc/taffybar/default.nix
+++ b/pkgs/applications/misc/taffybar/default.nix
@@ -1,21 +1,22 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
{ cabal, cairo, dbus, dyre, enclosedExceptions, filepath, gtk
-, gtkTraymanager, HStringTemplate, HTTP, mtl, network, parsec, safe
-, split, stm, text, time, transformers, utf8String, X11, xdgBasedir
-, xmonad, xmonadContrib
+, gtkTraymanager, HStringTemplate, HTTP, mtl, network, networkUri
+, parsec, safe, split, stm, text, time, transformers, utf8String
+, X11, xdgBasedir, xmonad, xmonadContrib
}:
cabal.mkDerivation (self: {
pname = "taffybar";
- version = "0.4.1";
- sha256 = "0b4x78sq5x1w0xnc5fk4ixpbkl8cwjfyb4fq8vy21shf4n0fri26";
+ version = "0.4.3";
+ sha256 = "1h7acdzq3bndy44lyvgnm3gvxpbhzcs0ymvkrhmn3y41bfcwaac2";
isLibrary = true;
isExecutable = true;
buildDepends = [
cairo dbus dyre enclosedExceptions filepath gtk gtkTraymanager
- HStringTemplate HTTP mtl network parsec safe split stm text time
- transformers utf8String X11 xdgBasedir xmonad xmonadContrib
+ HStringTemplate HTTP mtl network networkUri parsec safe split stm
+ text time transformers utf8String X11 xdgBasedir xmonad
+ xmonadContrib
];
pkgconfigDepends = [ gtk ];
meta = {
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 998c34e5610..51bb13eb55e 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, libuuid }:
+{ stdenv, fetchurl, cmake, libuuid, gnutls }:
stdenv.mkDerivation rec {
name = "taskwarrior-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0wxcfq0n96vmcbwrlk2x377k8cc5k4i64ca6p02y74g6168ji6ib";
};
- nativeBuildInputs = [ cmake libuuid ];
+ nativeBuildInputs = [ cmake libuuid gnutls ];
meta = {
description = "GTD (getting things done) implementation";
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
index 96ca38f581f..7c1fe5fc5cb 100644
--- a/pkgs/applications/misc/termite/default.nix
+++ b/pkgs/applications/misc/termite/default.nix
@@ -2,25 +2,25 @@
stdenv.mkDerivation rec {
name = "termite-${version}";
- version = "v7";
+ version = "9";
src = fetchgit {
url = "https://github.com/thestinger/termite";
- rev = "f0ff025c1bb6a1e3fd83072f00c2dc42a0701f46";
- sha256 = "057yzlqvp84fkmhn4bz9071glj4rh4187xhg48cdppf2w6phcbxp";
+ rev = "refs/tags/v${version}";
+ sha256 = "0bnzfjk5yl5i96v5jnlvrz0d1jcp5lal6ppl7y8wx13166i6sdnh";
};
- makeFlags = "VERSION=${version}";
+ makeFlags = "VERSION=v${version}";
buildInputs = [pkgconfig vte gtk ncurses];
installFlags = "PREFIX=$(out)";
- meta = {
+ meta = with stdenv.lib; {
description = "A simple VTE-based terminal";
- license = stdenv.lib.licenses.lgpl2Plus;
+ license = licenses.lgpl2Plus;
homepage = https://github.com/thestinger/termite/;
- maintainers = with stdenv.lib.maintainers; [koral];
- platforms = stdenv.lib.platforms.all;
+ maintainers = [ maintainers.koral ];
+ platforms = platforms.all;
};
}
diff --git a/pkgs/applications/misc/tessel/default.nix b/pkgs/applications/misc/tessel/default.nix
new file mode 100644
index 00000000000..6a11713c750
--- /dev/null
+++ b/pkgs/applications/misc/tessel/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, callPackage, libusb1, pkgconfig, python, utillinux }:
+
+with stdenv.lib;
+
+let
+ nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
+ neededNatives = [ libusb1 pkgconfig python utillinux ];
+ self = nodePackages;
+ generated = ./package.nix;
+ };
+
+in nodePackages.buildNodePackage rec {
+ name = "tessel-0.3.16";
+ bin = true;
+
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tessel/-/tessel-0.3.16.tgz";
+ name = "tessel-0.3.16.tgz";
+ sha1 = "900a8d897ba03d7a9d5927697180284772d70738";
+ })
+ ];
+
+ deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+
+ postInstall = ''
+ mkdir -p $out/etc/udev/rules.d
+ cp $out/lib/node_modules/tessel/install/85-tessel.rules $out/etc/udev/rules.d/
+ '';
+
+ passthru.names = [ "tessel" ];
+
+ meta = {
+ description = "Command line tools and programmatic access library for Tessel devices";
+ homepage = https://tessel.io;
+ license = licenses.mit;
+ maintainers = with maintainers; [ goibhniu ];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/pkgs/applications/misc/tessel/package.nix b/pkgs/applications/misc/tessel/package.nix
new file mode 100644
index 00000000000..d388387ccaf
--- /dev/null
+++ b/pkgs/applications/misc/tessel/package.nix
@@ -0,0 +1,1974 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+ by-spec."abbrev"."1" =
+ self.by-version."abbrev"."1.0.5";
+ by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "abbrev-1.0.5";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
+ name = "abbrev-1.0.5.tgz";
+ sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."abbrev" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "abbrev" ];
+ };
+ by-spec."asn1"."0.1.11" =
+ self.by-version."asn1"."0.1.11";
+ by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+ name = "asn1-0.1.11";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+ name = "asn1-0.1.11.tgz";
+ sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."asn1" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "asn1" ];
+ };
+ by-spec."assert-plus"."0.1.2" =
+ self.by-version."assert-plus"."0.1.2";
+ by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+ name = "assert-plus-0.1.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+ name = "assert-plus-0.1.2.tgz";
+ sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."assert-plus" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "assert-plus" ];
+ };
+ by-spec."async"."~0.2.9" =
+ self.by-version."async"."0.2.10";
+ by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+ name = "async-0.2.10";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+ name = "async-0.2.10.tgz";
+ sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."async" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "async" ];
+ };
+ "async" = self.by-version."async"."0.2.10";
+ by-spec."async"."~0.9.0" =
+ self.by-version."async"."0.9.0";
+ by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+ name = "async-0.9.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+ name = "async-0.9.0.tgz";
+ sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."async" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "async" ];
+ };
+ by-spec."aws-sign2"."~0.5.0" =
+ self.by-version."aws-sign2"."0.5.0";
+ by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "aws-sign2-0.5.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+ name = "aws-sign2-0.5.0.tgz";
+ sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."aws-sign2" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "aws-sign2" ];
+ };
+ by-spec."bindings-shyp"."~0.2.3" =
+ self.by-version."bindings-shyp"."0.2.3";
+ by-version."bindings-shyp"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+ name = "bindings-shyp-0.2.3";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/bindings-shyp/-/bindings-shyp-0.2.3.tgz";
+ name = "bindings-shyp-0.2.3.tgz";
+ sha1 = "909151c14c701f350eb6be8ad14784ad79813671";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."bindings-shyp" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "bindings-shyp" ];
+ };
+ by-spec."block-stream"."*" =
+ self.by-version."block-stream"."0.0.7";
+ by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+ name = "block-stream-0.0.7";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+ name = "block-stream-0.0.7.tgz";
+ sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."block-stream" or []);
+ deps = {
+ "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "block-stream" ];
+ };
+ by-spec."boom"."0.4.x" =
+ self.by-version."boom"."0.4.2";
+ by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+ name = "boom-0.4.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+ name = "boom-0.4.2.tgz";
+ sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."boom" or []);
+ deps = {
+ "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "boom" ];
+ };
+ by-spec."buffer-equal"."~0.0.0" =
+ self.by-version."buffer-equal"."0.0.1";
+ by-version."buffer-equal"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "buffer-equal-0.0.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz";
+ name = "buffer-equal-0.0.1.tgz";
+ sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."buffer-equal" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "buffer-equal" ];
+ };
+ by-spec."bunker"."0.1.X" =
+ self.by-version."bunker"."0.1.2";
+ by-version."bunker"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+ name = "bunker-0.1.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
+ name = "bunker-0.1.2.tgz";
+ sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."bunker" or []);
+ deps = {
+ "burrito-0.2.12" = self.by-version."burrito"."0.2.12";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "bunker" ];
+ };
+ by-spec."burrito".">=0.2.5 <0.3" =
+ self.by-version."burrito"."0.2.12";
+ by-version."burrito"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+ name = "burrito-0.2.12";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
+ name = "burrito-0.2.12.tgz";
+ sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."burrito" or []);
+ deps = {
+ "traverse-0.5.2" = self.by-version."traverse"."0.5.2";
+ "uglify-js-1.1.1" = self.by-version."uglify-js"."1.1.1";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "burrito" ];
+ };
+ by-spec."charm"."0.1.x" =
+ self.by-version."charm"."0.1.2";
+ by-version."charm"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+ name = "charm-0.1.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
+ name = "charm-0.1.2.tgz";
+ sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."charm" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "charm" ];
+ };
+ by-spec."colony-compiler"."~0.6.21" =
+ self.by-version."colony-compiler"."0.6.23";
+ by-version."colony-compiler"."0.6.23" = lib.makeOverridable self.buildNodePackage {
+ name = "colony-compiler-0.6.23";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colony-compiler/-/colony-compiler-0.6.23.tgz";
+ name = "colony-compiler-0.6.23.tgz";
+ sha1 = "0bef9e899e1ae928f6fe5e0dcca6cab4d47ab448";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colony-compiler" or []);
+ deps = {
+ "colors-0.6.2" = self.by-version."colors"."0.6.2";
+ "optimist-0.5.2" = self.by-version."optimist"."0.5.2";
+ "nan-1.0.0" = self.by-version."nan"."1.0.0";
+ "async-0.9.0" = self.by-version."async"."0.9.0";
+ "bindings-shyp-0.2.3" = self.by-version."bindings-shyp"."0.2.3";
+ # "colony-compiler-shyp-win32-ia32-0.6.17-1" = self.by-version."colony-compiler-shyp-win32-ia32"."0.6.17-1";
+ # "colony-compiler-shyp-win32-x64-0.6.17-0" = self.by-version."colony-compiler-shyp-win32-x64"."0.6.17-0";
+ # "colony-compiler-shyp-darwin-x64-0.6.17-0" = self.by-version."colony-compiler-shyp-darwin-x64"."0.6.17-0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colony-compiler" ];
+ };
+ "colony-compiler" = self.by-version."colony-compiler"."0.6.23";
+ by-spec."colony-compiler-shyp-darwin-x64"."0.6.x" =
+ self.by-version."colony-compiler-shyp-darwin-x64"."0.6.17-0";
+ by-version."colony-compiler-shyp-darwin-x64"."0.6.17-0" = lib.makeOverridable self.buildNodePackage {
+ name = "colony-compiler-shyp-darwin-x64-0.6.17-0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colony-compiler-shyp-darwin-x64/-/colony-compiler-shyp-darwin-x64-0.6.17-0.tgz";
+ name = "colony-compiler-shyp-darwin-x64-0.6.17-0.tgz";
+ sha1 = "33eedbee7ff8679fde69ba03bf27777110113732";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colony-compiler-shyp-darwin-x64" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colony-compiler-shyp-darwin-x64" ];
+ };
+ by-spec."colony-compiler-shyp-win32-ia32"."0.6.x" =
+ self.by-version."colony-compiler-shyp-win32-ia32"."0.6.17-1";
+ by-version."colony-compiler-shyp-win32-ia32"."0.6.17-1" = lib.makeOverridable self.buildNodePackage {
+ name = "colony-compiler-shyp-win32-ia32-0.6.17-1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colony-compiler-shyp-win32-ia32/-/colony-compiler-shyp-win32-ia32-0.6.17-1.tgz";
+ name = "colony-compiler-shyp-win32-ia32-0.6.17-1.tgz";
+ sha1 = "6e11a978be5df7be00112d2a349d5e34925f443a";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colony-compiler-shyp-win32-ia32" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colony-compiler-shyp-win32-ia32" ];
+ };
+ by-spec."colony-compiler-shyp-win32-x64"."0.6.x" =
+ self.by-version."colony-compiler-shyp-win32-x64"."0.6.17-0";
+ by-version."colony-compiler-shyp-win32-x64"."0.6.17-0" = lib.makeOverridable self.buildNodePackage {
+ name = "colony-compiler-shyp-win32-x64-0.6.17-0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colony-compiler-shyp-win32-x64/-/colony-compiler-shyp-win32-x64-0.6.17-0.tgz";
+ name = "colony-compiler-shyp-win32-x64-0.6.17-0.tgz";
+ sha1 = "cd30416df0ab52e49c74e81d69bd23329983d005";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colony-compiler-shyp-win32-x64" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colony-compiler-shyp-win32-x64" ];
+ };
+ by-spec."colors"."0.5.x" =
+ self.by-version."colors"."0.5.1";
+ by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+ name = "colors-0.5.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
+ name = "colors-0.5.1.tgz";
+ sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colors" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colors" ];
+ };
+ by-spec."colors"."~0.6.0-1" =
+ self.by-version."colors"."0.6.2";
+ by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+ name = "colors-0.6.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+ name = "colors-0.6.2.tgz";
+ sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colors" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colors" ];
+ };
+ "colors" = self.by-version."colors"."0.6.2";
+ by-spec."colors"."~0.6.1" =
+ self.by-version."colors"."0.6.2";
+ by-spec."colorsafeconsole"."0.0.4" =
+ self.by-version."colorsafeconsole"."0.0.4";
+ by-version."colorsafeconsole"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+ name = "colorsafeconsole-0.0.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/colorsafeconsole/-/colorsafeconsole-0.0.4.tgz";
+ name = "colorsafeconsole-0.0.4.tgz";
+ sha1 = "dc10508bb000e51964fb485fd8557faa169effbe";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."colorsafeconsole" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "colorsafeconsole" ];
+ };
+ "colorsafeconsole" = self.by-version."colorsafeconsole"."0.0.4";
+ by-spec."combined-stream"."~0.0.4" =
+ self.by-version."combined-stream"."0.0.7";
+ by-version."combined-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+ name = "combined-stream-0.0.7";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+ name = "combined-stream-0.0.7.tgz";
+ sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."combined-stream" or []);
+ deps = {
+ "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "combined-stream" ];
+ };
+ by-spec."cryptiles"."0.2.x" =
+ self.by-version."cryptiles"."0.2.2";
+ by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+ name = "cryptiles-0.2.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+ name = "cryptiles-0.2.2.tgz";
+ sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."cryptiles" or []);
+ deps = {
+ "boom-0.4.2" = self.by-version."boom"."0.4.2";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "cryptiles" ];
+ };
+ by-spec."ctype"."0.5.2" =
+ self.by-version."ctype"."0.5.2";
+ by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+ name = "ctype-0.5.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+ name = "ctype-0.5.2.tgz";
+ sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."ctype" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "ctype" ];
+ };
+ by-spec."debug"."^0.8.1" =
+ self.by-version."debug"."0.8.1";
+ by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+ name = "debug-0.8.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
+ name = "debug-0.8.1.tgz";
+ sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."debug" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "debug" ];
+ };
+ "debug" = self.by-version."debug"."0.8.1";
+ by-spec."deep-equal"."~0.0.0" =
+ self.by-version."deep-equal"."0.0.0";
+ by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "deep-equal-0.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+ name = "deep-equal-0.0.0.tgz";
+ sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."deep-equal" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "deep-equal" ];
+ };
+ by-spec."deep-equal"."~0.2.0" =
+ self.by-version."deep-equal"."0.2.1";
+ by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+ name = "deep-equal-0.2.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
+ name = "deep-equal-0.2.1.tgz";
+ sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."deep-equal" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "deep-equal" ];
+ };
+ by-spec."deep-is"."0.1.x" =
+ self.by-version."deep-is"."0.1.3";
+ by-version."deep-is"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+ name = "deep-is-0.1.3";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+ name = "deep-is-0.1.3.tgz";
+ sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."deep-is" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "deep-is" ];
+ };
+ by-spec."defined"."~0.0.0" =
+ self.by-version."defined"."0.0.0";
+ by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "defined-0.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
+ name = "defined-0.0.0.tgz";
+ sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."defined" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "defined" ];
+ };
+ by-spec."delayed-stream"."0.0.5" =
+ self.by-version."delayed-stream"."0.0.5";
+ by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "delayed-stream-0.0.5";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+ name = "delayed-stream-0.0.5.tgz";
+ sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."delayed-stream" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "delayed-stream" ];
+ };
+ by-spec."difflet"."~0.2.0" =
+ self.by-version."difflet"."0.2.6";
+ by-version."difflet"."0.2.6" = lib.makeOverridable self.buildNodePackage {
+ name = "difflet-0.2.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
+ name = "difflet-0.2.6.tgz";
+ sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."difflet" or []);
+ deps = {
+ "traverse-0.6.6" = self.by-version."traverse"."0.6.6";
+ "charm-0.1.2" = self.by-version."charm"."0.1.2";
+ "deep-is-0.1.3" = self.by-version."deep-is"."0.1.3";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "difflet" ];
+ };
+ by-spec."effess"."~0.0.2" =
+ self.by-version."effess"."0.0.5";
+ by-version."effess"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "effess-0.0.5";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/effess/-/effess-0.0.5.tgz";
+ name = "effess-0.0.5.tgz";
+ sha1 = "d328fd03929c168c02a63d9d3d889657dc9499db";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."effess" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "effess" ];
+ };
+ by-spec."effess"."~0.0.5" =
+ self.by-version."effess"."0.0.5";
+ "effess" = self.by-version."effess"."0.0.5";
+ by-spec."forever-agent"."~0.5.0" =
+ self.by-version."forever-agent"."0.5.2";
+ by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+ name = "forever-agent-0.5.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+ name = "forever-agent-0.5.2.tgz";
+ sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."forever-agent" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "forever-agent" ];
+ };
+ by-spec."form-data"."~0.1.0" =
+ self.by-version."form-data"."0.1.4";
+ by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+ name = "form-data-0.1.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+ name = "form-data-0.1.4.tgz";
+ sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."form-data" or []);
+ deps = {
+ "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+ "mime-1.2.11" = self.by-version."mime"."1.2.11";
+ "async-0.9.0" = self.by-version."async"."0.9.0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "form-data" ];
+ };
+ by-spec."fstream"."~0.1.25" =
+ self.by-version."fstream"."0.1.31";
+ by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+ name = "fstream-0.1.31";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+ name = "fstream-0.1.31.tgz";
+ sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."fstream" or []);
+ deps = {
+ "graceful-fs-3.0.4" = self.by-version."graceful-fs"."3.0.4";
+ "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+ "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+ "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "fstream" ];
+ };
+ "fstream" = self.by-version."fstream"."0.1.31";
+ by-spec."fstream"."~0.1.28" =
+ self.by-version."fstream"."0.1.31";
+ by-spec."glob"."~3.2.1" =
+ self.by-version."glob"."3.2.11";
+ by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
+ name = "glob-3.2.11";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+ name = "glob-3.2.11.tgz";
+ sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."glob" or []);
+ deps = {
+ "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+ "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "glob" ];
+ };
+ by-spec."glob"."~3.2.9" =
+ self.by-version."glob"."3.2.11";
+ by-spec."graceful-fs"."~1" =
+ self.by-version."graceful-fs"."1.2.3";
+ by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+ name = "graceful-fs-1.2.3";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+ name = "graceful-fs-1.2.3.tgz";
+ sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."graceful-fs" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "graceful-fs" ];
+ };
+ by-spec."graceful-fs"."~3.0.2" =
+ self.by-version."graceful-fs"."3.0.4";
+ by-version."graceful-fs"."3.0.4" = lib.makeOverridable self.buildNodePackage {
+ name = "graceful-fs-3.0.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz";
+ name = "graceful-fs-3.0.4.tgz";
+ sha1 = "a0306d9b0940e0fc512d33b5df1014e88e0637a3";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."graceful-fs" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "graceful-fs" ];
+ };
+ by-spec."hardware-resolve"."~0.1.3" =
+ self.by-version."hardware-resolve"."0.1.6";
+ by-version."hardware-resolve"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+ name = "hardware-resolve-0.1.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/hardware-resolve/-/hardware-resolve-0.1.6.tgz";
+ name = "hardware-resolve-0.1.6.tgz";
+ sha1 = "b03f5077ab1b4b185ecd9486a3ba754f4b46e02a";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."hardware-resolve" or []);
+ deps = {
+ "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+ "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+ "effess-0.0.5" = self.by-version."effess"."0.0.5";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "hardware-resolve" ];
+ };
+ "hardware-resolve" = self.by-version."hardware-resolve"."0.1.6";
+ by-spec."hawk"."~1.0.0" =
+ self.by-version."hawk"."1.0.0";
+ by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "hawk-1.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+ name = "hawk-1.0.0.tgz";
+ sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."hawk" or []);
+ deps = {
+ "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+ "boom-0.4.2" = self.by-version."boom"."0.4.2";
+ "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+ "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "hawk" ];
+ };
+ by-spec."hoek"."0.9.x" =
+ self.by-version."hoek"."0.9.1";
+ by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+ name = "hoek-0.9.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+ name = "hoek-0.9.1.tgz";
+ sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."hoek" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "hoek" ];
+ };
+ by-spec."http-signature"."~0.10.0" =
+ self.by-version."http-signature"."0.10.0";
+ by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+ name = "http-signature-0.10.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+ name = "http-signature-0.10.0.tgz";
+ sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."http-signature" or []);
+ deps = {
+ "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+ "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+ "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "http-signature" ];
+ };
+ by-spec."humanize"."0.0.9" =
+ self.by-version."humanize"."0.0.9";
+ by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+ name = "humanize-0.0.9";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
+ name = "humanize-0.0.9.tgz";
+ sha1 = "1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."humanize" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "humanize" ];
+ };
+ "humanize" = self.by-version."humanize"."0.0.9";
+ by-spec."inherits"."*" =
+ self.by-version."inherits"."2.0.1";
+ by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+ name = "inherits-2.0.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+ name = "inherits-2.0.1.tgz";
+ sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."inherits" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "inherits" ];
+ };
+ by-spec."inherits"."2" =
+ self.by-version."inherits"."2.0.1";
+ by-spec."inherits"."~2.0.0" =
+ self.by-version."inherits"."2.0.1";
+ by-spec."inherits"."~2.0.1" =
+ self.by-version."inherits"."2.0.1";
+ by-spec."json-stringify-safe"."~5.0.0" =
+ self.by-version."json-stringify-safe"."5.0.0";
+ by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "json-stringify-safe-5.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+ name = "json-stringify-safe-5.0.0.tgz";
+ sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."json-stringify-safe" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "json-stringify-safe" ];
+ };
+ by-spec."keypress"."~0.2.1" =
+ self.by-version."keypress"."0.2.1";
+ by-version."keypress"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+ name = "keypress-0.2.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz";
+ name = "keypress-0.2.1.tgz";
+ sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."keypress" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "keypress" ];
+ };
+ "keypress" = self.by-version."keypress"."0.2.1";
+ by-spec."lru-cache"."2" =
+ self.by-version."lru-cache"."2.5.0";
+ by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "lru-cache-2.5.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+ name = "lru-cache-2.5.0.tgz";
+ sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."lru-cache" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "lru-cache" ];
+ };
+ by-spec."mime"."~1.2.11" =
+ self.by-version."mime"."1.2.11";
+ by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+ name = "mime-1.2.11";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+ name = "mime-1.2.11.tgz";
+ sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mime" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "mime" ];
+ };
+ by-spec."mime"."~1.2.9" =
+ self.by-version."mime"."1.2.11";
+ by-spec."minimatch"."0.3" =
+ self.by-version."minimatch"."0.3.0";
+ by-version."minimatch"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "minimatch-0.3.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+ name = "minimatch-0.3.0.tgz";
+ sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimatch" or []);
+ deps = {
+ "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+ "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimatch" ];
+ };
+ by-spec."minimatch"."~0.2.14" =
+ self.by-version."minimatch"."0.2.14";
+ by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+ name = "minimatch-0.2.14";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+ name = "minimatch-0.2.14.tgz";
+ sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimatch" or []);
+ deps = {
+ "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+ "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimatch" ];
+ };
+ by-spec."minimist"."0.0.8" =
+ self.by-version."minimist"."0.0.8";
+ by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+ name = "minimist-0.0.8";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+ name = "minimist-0.0.8.tgz";
+ sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."minimist" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "minimist" ];
+ };
+ by-spec."mkdirp"."0.5" =
+ self.by-version."mkdirp"."0.5.0";
+ by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+ name = "mkdirp-0.5.0";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+ name = "mkdirp-0.5.0.tgz";
+ sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mkdirp" or []);
+ deps = {
+ "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "mkdirp" ];
+ };
+ by-spec."mkdirp"."~0.3 || 0.4 || 0.5" =
+ self.by-version."mkdirp"."0.5.0";
+ by-spec."mkdirp"."~0.3.5" =
+ self.by-version."mkdirp"."0.3.5";
+ by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+ name = "mkdirp-0.3.5";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+ name = "mkdirp-0.3.5.tgz";
+ sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mkdirp" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "mkdirp" ];
+ };
+ "mkdirp" = self.by-version."mkdirp"."0.3.5";
+ by-spec."mute-stream"."~0.0.4" =
+ self.by-version."mute-stream"."0.0.4";
+ by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+ name = "mute-stream-0.0.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
+ name = "mute-stream-0.0.4.tgz";
+ sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."mute-stream" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "mute-stream" ];
+ };
+ by-spec."my-local-ip"."~1.0.0" =
+ self.by-version."my-local-ip"."1.0.0";
+ by-version."my-local-ip"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "my-local-ip-1.0.0";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/my-local-ip/-/my-local-ip-1.0.0.tgz";
+ name = "my-local-ip-1.0.0.tgz";
+ sha1 = "37585555a4ff1985309edac7c2a045a466be6c32";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."my-local-ip" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "my-local-ip" ];
+ };
+ "my-local-ip" = self.by-version."my-local-ip"."1.0.0";
+ by-spec."nan"."~1.0.0" =
+ self.by-version."nan"."1.0.0";
+ by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "nan-1.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+ name = "nan-1.0.0.tgz";
+ sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."nan" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "nan" ];
+ };
+ by-spec."node-uuid"."~1.4.0" =
+ self.by-version."node-uuid"."1.4.1";
+ by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+ name = "node-uuid-1.4.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+ name = "node-uuid-1.4.1.tgz";
+ sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."node-uuid" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "node-uuid" ];
+ };
+ by-spec."nomnom"."~1.6.2" =
+ self.by-version."nomnom"."1.6.2";
+ by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
+ name = "nomnom-1.6.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+ name = "nomnom-1.6.2.tgz";
+ sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."nomnom" or []);
+ deps = {
+ "colors-0.5.1" = self.by-version."colors"."0.5.1";
+ "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "nomnom" ];
+ };
+ "nomnom" = self.by-version."nomnom"."1.6.2";
+ by-spec."nopt"."~2" =
+ self.by-version."nopt"."2.2.1";
+ by-version."nopt"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+ name = "nopt-2.2.1";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
+ name = "nopt-2.2.1.tgz";
+ sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."nopt" or []);
+ deps = {
+ "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "nopt" ];
+ };
+ by-spec."oauth-sign"."~0.3.0" =
+ self.by-version."oauth-sign"."0.3.0";
+ by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "oauth-sign-0.3.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+ name = "oauth-sign-0.3.0.tgz";
+ sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."oauth-sign" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "oauth-sign" ];
+ };
+ by-spec."object-inspect"."~0.4.0" =
+ self.by-version."object-inspect"."0.4.0";
+ by-version."object-inspect"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+ name = "object-inspect-0.4.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz";
+ name = "object-inspect-0.4.0.tgz";
+ sha1 = "f5157c116c1455b243b06ee97703392c5ad89fec";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."object-inspect" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "object-inspect" ];
+ };
+ by-spec."optimist"."~0.5.2" =
+ self.by-version."optimist"."0.5.2";
+ by-version."optimist"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+ name = "optimist-0.5.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/optimist/-/optimist-0.5.2.tgz";
+ name = "optimist-0.5.2.tgz";
+ sha1 = "85c8c1454b3315e4a78947e857b1df033450bfbc";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."optimist" or []);
+ deps = {
+ "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "optimist" ];
+ };
+ by-spec."osenv"."0.0.3" =
+ self.by-version."osenv"."0.0.3";
+ by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+ name = "osenv-0.0.3";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+ name = "osenv-0.0.3.tgz";
+ sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."osenv" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "osenv" ];
+ };
+ by-spec."punycode".">=0.2.0" =
+ self.by-version."punycode"."1.3.2";
+ by-version."punycode"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+ name = "punycode-1.3.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+ name = "punycode-1.3.2.tgz";
+ sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."punycode" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "punycode" ];
+ };
+ by-spec."qs"."~0.6.0" =
+ self.by-version."qs"."0.6.6";
+ by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+ name = "qs-0.6.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+ name = "qs-0.6.6.tgz";
+ sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."qs" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "qs" ];
+ };
+ by-spec."read"."^1.0.5" =
+ self.by-version."read"."1.0.5";
+ by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+ name = "read-1.0.5";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+ name = "read-1.0.5.tgz";
+ sha1 = "007a3d169478aa710a491727e453effb92e76203";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."read" or []);
+ deps = {
+ "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "read" ];
+ };
+ "read" = self.by-version."read"."1.0.5";
+ by-spec."request"."~2.33.0" =
+ self.by-version."request"."2.33.0";
+ by-version."request"."2.33.0" = lib.makeOverridable self.buildNodePackage {
+ name = "request-2.33.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/request/-/request-2.33.0.tgz";
+ name = "request-2.33.0.tgz";
+ sha1 = "5167878131726070ec633752ea230a2379dc65ff";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."request" or []);
+ deps = {
+ "qs-0.6.6" = self.by-version."qs"."0.6.6";
+ "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+ "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+ "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+ "mime-1.2.11" = self.by-version."mime"."1.2.11";
+ "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+ "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+ "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+ "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+ "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+ "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+ "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "request" ];
+ };
+ "request" = self.by-version."request"."2.33.0";
+ by-spec."resumer"."~0.0.0" =
+ self.by-version."resumer"."0.0.0";
+ by-version."resumer"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "resumer-0.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz";
+ name = "resumer-0.0.0.tgz";
+ sha1 = "f1e8f461e4064ba39e82af3cdc2a8c893d076759";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."resumer" or []);
+ deps = {
+ "through-2.3.6" = self.by-version."through"."2.3.6";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "resumer" ];
+ };
+ by-spec."rimraf"."2" =
+ self.by-version."rimraf"."2.2.8";
+ by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
+ name = "rimraf-2.2.8";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+ name = "rimraf-2.2.8.tgz";
+ sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."rimraf" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "rimraf" ];
+ };
+ by-spec."rimraf"."~2.1.4" =
+ self.by-version."rimraf"."2.1.4";
+ by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
+ name = "rimraf-2.1.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
+ name = "rimraf-2.1.4.tgz";
+ sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."rimraf" or []);
+ deps = {
+ "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "rimraf" ];
+ };
+ by-spec."runforcover"."~0.0.2" =
+ self.by-version."runforcover"."0.0.2";
+ by-version."runforcover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+ name = "runforcover-0.0.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
+ name = "runforcover-0.0.2.tgz";
+ sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."runforcover" or []);
+ deps = {
+ "bunker-0.1.2" = self.by-version."bunker"."0.1.2";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "runforcover" ];
+ };
+ by-spec."semver"."^2.3.0" =
+ self.by-version."semver"."2.3.2";
+ by-version."semver"."2.3.2" = lib.makeOverridable self.buildNodePackage {
+ name = "semver-2.3.2";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
+ name = "semver-2.3.2.tgz";
+ sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."semver" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "semver" ];
+ };
+ "semver" = self.by-version."semver"."2.3.2";
+ by-spec."sigmund"."~1.0.0" =
+ self.by-version."sigmund"."1.0.0";
+ by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+ name = "sigmund-1.0.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+ name = "sigmund-1.0.0.tgz";
+ sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."sigmund" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "sigmund" ];
+ };
+ by-spec."slide"."*" =
+ self.by-version."slide"."1.1.6";
+ by-version."slide"."1.1.6" = lib.makeOverridable self.buildNodePackage {
+ name = "slide-1.1.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+ name = "slide-1.1.6.tgz";
+ sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."slide" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "slide" ];
+ };
+ by-spec."sntp"."0.2.x" =
+ self.by-version."sntp"."0.2.4";
+ by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+ name = "sntp-0.2.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+ name = "sntp-0.2.4.tgz";
+ sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."sntp" or []);
+ deps = {
+ "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "sntp" ];
+ };
+ by-spec."structured-clone"."~0.2.2" =
+ self.by-version."structured-clone"."0.2.2";
+ by-version."structured-clone"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+ name = "structured-clone-0.2.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/structured-clone/-/structured-clone-0.2.2.tgz";
+ name = "structured-clone-0.2.2.tgz";
+ sha1 = "ac92b6be31958a643db30f1335abc6a1b02dfdc2";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."structured-clone" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "structured-clone" ];
+ };
+ "structured-clone" = self.by-version."structured-clone"."0.2.2";
+ by-spec."tap"."~0.4.8" =
+ self.by-version."tap"."0.4.13";
+ by-version."tap"."0.4.13" = lib.makeOverridable self.buildNodePackage {
+ name = "tap-0.4.13";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tap/-/tap-0.4.13.tgz";
+ name = "tap-0.4.13.tgz";
+ sha1 = "3986134d6759727fc2223e61126eeb87243accbc";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tap" or []);
+ deps = {
+ "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+ "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+ "difflet-0.2.6" = self.by-version."difflet"."0.2.6";
+ "glob-3.2.11" = self.by-version."glob"."3.2.11";
+ "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+ "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+ "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+ "runforcover-0.0.2" = self.by-version."runforcover"."0.0.2";
+ "slide-1.1.6" = self.by-version."slide"."1.1.6";
+ "yamlish-0.0.6" = self.by-version."yamlish"."0.0.6";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "tap" ];
+ };
+ "tap" = self.by-version."tap"."0.4.13";
+ by-spec."tape"."~2.12.3" =
+ self.by-version."tape"."2.12.3";
+ by-version."tape"."2.12.3" = lib.makeOverridable self.buildNodePackage {
+ name = "tape-2.12.3";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tape/-/tape-2.12.3.tgz";
+ name = "tape-2.12.3.tgz";
+ sha1 = "5559d5454050292627537c012991ec6971f66156";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tape" or []);
+ deps = {
+ "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+ "defined-0.0.0" = self.by-version."defined"."0.0.0";
+ "glob-3.2.11" = self.by-version."glob"."3.2.11";
+ "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+ "object-inspect-0.4.0" = self.by-version."object-inspect"."0.4.0";
+ "resumer-0.0.0" = self.by-version."resumer"."0.0.0";
+ "through-2.3.6" = self.by-version."through"."2.3.6";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "tape" ];
+ };
+ "tape" = self.by-version."tape"."2.12.3";
+ by-spec."tar"."~0.1.18" =
+ self.by-version."tar"."0.1.20";
+ by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
+ name = "tar-0.1.20";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+ name = "tar-0.1.20.tgz";
+ sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tar" or []);
+ deps = {
+ "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+ "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+ "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "tar" ];
+ };
+ "tar" = self.by-version."tar"."0.1.20";
+ by-spec."temp"."~0.6.0" =
+ self.by-version."temp"."0.6.0";
+ by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+ name = "temp-0.6.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
+ name = "temp-0.6.0.tgz";
+ sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."temp" or []);
+ deps = {
+ "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
+ "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "temp" ];
+ };
+ "temp" = self.by-version."temp"."0.6.0";
+ by-spec."through"."~2.3.4" =
+ self.by-version."through"."2.3.6";
+ by-version."through"."2.3.6" = lib.makeOverridable self.buildNodePackage {
+ name = "through-2.3.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/through/-/through-2.3.6.tgz";
+ name = "through-2.3.6.tgz";
+ sha1 = "26681c0f524671021d4e29df7c36bce2d0ecf2e8";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."through" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "through" ];
+ };
+ by-spec."tough-cookie".">=0.12.0" =
+ self.by-version."tough-cookie"."0.12.1";
+ by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+ name = "tough-cookie-0.12.1";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+ name = "tough-cookie-0.12.1.tgz";
+ sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tough-cookie" or []);
+ deps = {
+ "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "tough-cookie" ];
+ };
+ by-spec."traverse"."0.6.x" =
+ self.by-version."traverse"."0.6.6";
+ by-version."traverse"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+ name = "traverse-0.6.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
+ name = "traverse-0.6.6.tgz";
+ sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."traverse" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "traverse" ];
+ };
+ by-spec."traverse"."~0.5.1" =
+ self.by-version."traverse"."0.5.2";
+ by-version."traverse"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+ name = "traverse-0.5.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
+ name = "traverse-0.5.2.tgz";
+ sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."traverse" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "traverse" ];
+ };
+ by-spec."tunnel-agent"."~0.3.0" =
+ self.by-version."tunnel-agent"."0.3.0";
+ by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+ name = "tunnel-agent-0.3.0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+ name = "tunnel-agent-0.3.0.tgz";
+ sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."tunnel-agent" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "tunnel-agent" ];
+ };
+ by-spec."uglify-js"."~1.1.1" =
+ self.by-version."uglify-js"."1.1.1";
+ by-version."uglify-js"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+ name = "uglify-js-1.1.1";
+ bin = true;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
+ name = "uglify-js-1.1.1.tgz";
+ sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."uglify-js" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "uglify-js" ];
+ };
+ by-spec."underscore"."~1.4.4" =
+ self.by-version."underscore"."1.4.4";
+ by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+ name = "underscore-1.4.4";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+ name = "underscore-1.4.4.tgz";
+ sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."underscore" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "underscore" ];
+ };
+ by-spec."usb"."~0.3.11" =
+ self.by-version."usb"."0.3.11";
+ by-version."usb"."0.3.11" = lib.makeOverridable self.buildNodePackage {
+ name = "usb-0.3.11";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/usb/-/usb-0.3.11.tgz";
+ name = "usb-0.3.11.tgz";
+ sha1 = "ee61d114181fd1de8738053920cde069d0aa428e";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."usb" or []);
+ deps = {
+ "bindings-shyp-0.2.3" = self.by-version."bindings-shyp"."0.2.3";
+ # "usb-shyp-win32-x64-0.3.11-0" = self.by-version."usb-shyp-win32-x64"."0.3.11-0";
+ # "usb-shyp-win32-ia32-0.3.11-0" = self.by-version."usb-shyp-win32-ia32"."0.3.11-0";
+ # "usb-shyp-darwin-x64-0.3.11-0" = self.by-version."usb-shyp-darwin-x64"."0.3.11-0";
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "usb" ];
+ };
+ "usb" = self.by-version."usb"."0.3.11";
+ by-spec."usb-shyp-darwin-x64"."0.3.x" =
+ self.by-version."usb-shyp-darwin-x64"."0.3.11-0";
+ by-version."usb-shyp-darwin-x64"."0.3.11-0" = lib.makeOverridable self.buildNodePackage {
+ name = "usb-shyp-darwin-x64-0.3.11-0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/usb-shyp-darwin-x64/-/usb-shyp-darwin-x64-0.3.11-0.tgz";
+ name = "usb-shyp-darwin-x64-0.3.11-0.tgz";
+ sha1 = "8e6c98e5dff676576dac02c8a0465f1eae833285";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."usb-shyp-darwin-x64" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "usb-shyp-darwin-x64" ];
+ };
+ by-spec."usb-shyp-win32-ia32"."0.3.x" =
+ self.by-version."usb-shyp-win32-ia32"."0.3.11-0";
+ by-version."usb-shyp-win32-ia32"."0.3.11-0" = lib.makeOverridable self.buildNodePackage {
+ name = "usb-shyp-win32-ia32-0.3.11-0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/usb-shyp-win32-ia32/-/usb-shyp-win32-ia32-0.3.11-0.tgz";
+ name = "usb-shyp-win32-ia32-0.3.11-0.tgz";
+ sha1 = "365babb7f648cb8aff12f70c65445e1b0958bbbb";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."usb-shyp-win32-ia32" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "usb-shyp-win32-ia32" ];
+ };
+ by-spec."usb-shyp-win32-x64"."0.3.x" =
+ self.by-version."usb-shyp-win32-x64"."0.3.11-0";
+ by-version."usb-shyp-win32-x64"."0.3.11-0" = lib.makeOverridable self.buildNodePackage {
+ name = "usb-shyp-win32-x64-0.3.11-0";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/usb-shyp-win32-x64/-/usb-shyp-win32-x64-0.3.11-0.tgz";
+ name = "usb-shyp-win32-x64-0.3.11-0.tgz";
+ sha1 = "561417f00ab33c9d990a56e3a4ee446a21a3fcbe";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."usb-shyp-win32-x64" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "usb-shyp-win32-x64" ];
+ };
+ by-spec."wordwrap"."~0.0.2" =
+ self.by-version."wordwrap"."0.0.2";
+ by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+ name = "wordwrap-0.0.2";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+ name = "wordwrap-0.0.2.tgz";
+ sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."wordwrap" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "wordwrap" ];
+ };
+ by-spec."yamlish"."*" =
+ self.by-version."yamlish"."0.0.6";
+ by-version."yamlish"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+ name = "yamlish-0.0.6";
+ bin = false;
+ src = [
+ (fetchurl {
+ url = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.6.tgz";
+ name = "yamlish-0.0.6.tgz";
+ sha1 = "c5df8f7661731351e39eb52223f83a46659452e3";
+ })
+ ];
+ buildInputs =
+ (self.nativeDeps."yamlish" or []);
+ deps = {
+ };
+ peerDependencies = [
+ ];
+ passthru.names = [ "yamlish" ];
+ };
+}
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix
index 7edd86c7409..187ab039014 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
name = "tilda-${version}";
- version = "1.1.13";
+ version = "1.2.2";
src = fetchurl {
url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz";
- sha256 = "1b9rnyrdvqmw2xjv899a4k6hvr9w482c4xvlpfnckckxdyp2852d";
+ sha256 = "1mzly0llsrxpc2yd1hml3gmwm023my2j3aszjw383pp34dab2nl5";
};
buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ];
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
index e144d12f762..65c2ccb5ff0 100644
--- a/pkgs/applications/misc/twmn/default.nix
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
};
- buildInputs = [ qt4 pkgconfig boost boost.lib ];
+ buildInputs = [ qt4 pkgconfig boost ];
propagatedBuildInputs = [ dbus ];
configurePhase = "qmake";
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 5abf57ae1fc..5ff010005e4 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -1,18 +1,18 @@
-{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11 }:
+{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11, which, groff }:
let
name = "vifm-${version}";
- version = "0.7.7";
+ version = "0.7.8";
in stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
- sha256 = "1lflmkd5q7qqi9d44py0y41pcx5bsadkihn3gc0x5cka04f2gh0d";
+ sha256 = "00vnkr60ci6qwh95kzx399xm97g26svxl9i0y77qv99q41nb5ysx";
};
- buildInputs = [ utillinux ncurses file libX11 ];
+ buildInputs = [ utillinux ncurses file libX11 which groff ];
meta = {
description = "A vi-like file manager";
diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix
index 542f11f6e67..5133ad3c29e 100644
--- a/pkgs/applications/misc/vue/default.nix
+++ b/pkgs/applications/misc/vue/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
, jre, unzip
, ...}:
builderDefsPackage
-(a :
-let
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+(a :
+let
+ helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
@@ -32,11 +32,11 @@ rec {
doDeploy = a.fullDepEntry ''
mkdir -p "$out"/{share/vue,bin}
cp ${src} "$out/share/vue/vue.jar"
- echo '#!${a.stdenv.shell}' >> "$out/bin/vue"
- echo '${a.jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue"
+ echo '#!${a.stdenv.shell}' >> "$out/bin/vue"
+ echo '${a.jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue"
chmod a+x "$out/bin/vue"
'' ["addInputs" "defEnsureDir"];
-
+
meta = {
description = "Visual Understanding Environment - mind mapping software";
maintainers = with a.lib.maintainers;
@@ -45,7 +45,6 @@ rec {
];
platforms = with a.lib.platforms;
linux;
- license = "free-noncopyleft"; # Apache License fork, actually
+ license = a.lib.licenses.free; # Apache License fork, actually
};
}) x
-
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index 2bb05fe44e0..15d054c2be2 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.x.org/;
description = "Allows testing the fonts available in an X server";
- license = "free";
+ license = stdenv.lib.licenses.free;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux ++ darwin;
};
diff --git a/pkgs/applications/misc/xlsfonts/default.nix b/pkgs/applications/misc/xlsfonts/default.nix
index 06b09154ba5..7584ebf72fb 100644
--- a/pkgs/applications/misc/xlsfonts/default.nix
+++ b/pkgs/applications/misc/xlsfonts/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.x.org/;
description = "Lists the fonts available in the X server";
- license = "free";
+ license = stdenv.lib.licenses.free;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux ++ darwin;
};
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 8d73dfebb18..65201f2495b 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,23 +1,23 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
{ cabal, alsaCore, alsaMixer, dbus, filepath, hinotify, HTTP
-, libmpd, libXrandr, mtl, parsec, regexCompat, stm, time
-, timezoneOlson, timezoneSeries, utf8String, wirelesstools, X11
-, X11Xft
+, libmpd, libXpm, libXrandr, mtl, parsec, regexCompat, stm, time
+, timezoneOlson, timezoneSeries, transformers, utf8String
+, wirelesstools, X11, X11Xft
}:
cabal.mkDerivation (self: {
pname = "xmobar";
- version = "0.21";
- sha256 = "1h0gsb808zm4j4kmw7fl4339wllc16ldy1ki96l8w3fvj30bcxpm";
+ version = "0.22.1";
+ sha256 = "0mnwwcfk0xf4fi3cnw19s6lxcg8sbsdlvg7zwvf5xf0y9q365swz";
isLibrary = false;
isExecutable = true;
buildDepends = [
alsaCore alsaMixer dbus filepath hinotify HTTP libmpd mtl parsec
- regexCompat stm time timezoneOlson timezoneSeries utf8String X11
- X11Xft
+ regexCompat stm time timezoneOlson timezoneSeries transformers
+ utf8String X11 X11Xft
];
- extraLibraries = [ libXrandr wirelesstools ];
+ extraLibraries = [ libXpm libXrandr wirelesstools ];
configureFlags = "-fall_extensions";
meta = {
homepage = "http://xmobar.org";
diff --git a/pkgs/applications/misc/xrandr-invert-colors/default.nix b/pkgs/applications/misc/xrandr-invert-colors/default.nix
new file mode 100644
index 00000000000..e9bb722dcab
--- /dev/null
+++ b/pkgs/applications/misc/xrandr-invert-colors/default.nix
@@ -0,0 +1,26 @@
+{ fetchurl, stdenv, libXrandr}:
+
+stdenv.mkDerivation rec {
+ version = "v0.01";
+ name = "xrandr-invert-colors-${version}";
+ src = fetchurl {
+ url = "https://github.com/zoltanp/xrandr-invert-colors/archive/${version}.tar.gz";
+ sha256 = "1z4hxn56rlflvqanb8ncqa1xqawnda85b1b37w6r2iqs8rw52d75";
+ };
+
+ buildInputs = [ libXrandr ];
+
+ installPhase = ''
+ mkdir -p $out/bin
+ mv xrandr-invert-colors.bin xrandr-invert-colors
+ install xrandr-invert-colors $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Inverts the colors of your screen";
+ license = stdenv.lib.licenses.gpl3Plus;
+ homepage = https://github.com/zoltanp/xrandr-invert-colors;
+ maintainers = [stdenv.lib.maintainers.magnetophon ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index 00e9ab0c810..3365e62f8be 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }:
stdenv.mkDerivation rec {
- name = "xterm-303";
+ name = "xterm-312";
src = fetchurl {
url = "ftp://invisible-island.net/xterm/${name}.tgz";
- sha256 = "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla";
+ sha256 = "0vpkhls3i12ly4r68igz91vh6s9179wihjkdy0gvwr752hdqxm7s";
};
buildInputs =
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 5f44f79ebcd..718670f569b 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper, zathura_icon }:
+{ stdenv, fetchurl, pkgconfig, gtk, girara, ncurses, gettext, docutils, file, makeWrapper, zathura_icon }:
stdenv.mkDerivation rec {
- version = "0.2.9";
+ version = "0.3.1";
name = "zathura-core-${version}";
src = fetchurl {
url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
- sha256 = "17z05skjk95115ajp6459k1djadza1w8kck7jn1qnd697r01s1rc";
+ sha256 = "1wwjj7vnzpkvn83674mapapvl2qsn7y44w17lq63283j1lic00mm";
};
buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ];
- makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ];
+ makeFlags = [
+ "PREFIX=$(out)"
+ "RSTTOMAN=${docutils}/bin/rst2man.py"
+ "VERBOSE=1"
+ "TPUT=${ncurses}/bin/tput"
+ ];
postInstall = ''
wrapProgram "$out/bin/zathura" \
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 1a4ab3d772c..6f1b5f400dd 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,7 +1,7 @@
-{ callPackage, pkgs, fetchurl, useMupdf }:
+{ callPackage, pkgs, fetchurl, stdenv, useMupdf }:
rec {
- inherit (pkgs) stdenv;
+ inherit stdenv;
icon = ./icon.xpm;
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index 1a2347f2727..00c5464b7d1 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
stdenv.mkDerivation rec {
- name = "zathura-djvu-0.2.3";
+ name = "zathura-djvu-0.2.4";
src = fetchurl {
url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
- sha256 = "12gd8kb0al5mknh4rlvxzgzwz3vhjggqjh8ws27phaq14paq4vn1";
+ sha256 = "1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c";
};
buildInputs = [ pkgconfig djvulibre gettext zathura_core gtk girara ];
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/config.patch b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
index c7d172c9263..6445fab2298 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
@@ -1,10 +1,10 @@
---- zathura-pdf-mupdf-0.2.6/config.mk
-+++ zathura-pdf-mupdf-0.2.6/config.mk
+--- zathura-pdf-mupdf-0.2.7/config.mk
++++ zathura-pdf-mupdf-0.2.7/config.mk
@@ -32,10 +32,11 @@
OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
--MUPDF_LIB ?= -lmupdf -lmupdf-js-none
+-MUPDF_LIB ?= -lmupdf -lmujs
+MUPDF_INC ?= $(shell pkg-config --cflags mupdf)
+MUPDF_LIB ?= $(shell pkg-config --libs mupdf)
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 4e585d852a2..a6f12a64cf0 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, openjpeg, libjpeg, jbig2dec }:
stdenv.mkDerivation rec {
- version = "0.2.6";
+ version = "0.2.7";
name = "zathura-pdf-mupdf-${version}";
src = fetchurl {
url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
- sha256 = "5df94b6f906008b5f3bca770a552da6d2917d6b8d3e4b3049cb7001302041b20";
+ sha256 = "0gr5kkk75hn7sz9kmzynhhcdd9xb9sz5gdb8p1iz9g0fjhskyd5i";
};
buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf openjpeg libjpeg jbig2dec ];
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
index f45908b2387..00f36729d1f 100644
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ b/pkgs/applications/networking/bittorrentsync/default.nix
@@ -5,15 +5,15 @@ let
else if stdenv.system == "i686-linux" then "i386"
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
- sha256 = if stdenv.system == "x86_64-linux" then "115xsbi5z8ll0z07vx4rzzsgr6qba43f3z3nzx33pva5dpdr3ci9"
- else if stdenv.system == "i686-linux" then "110k6cq6l3nr1gak2ri6i1kwis78r3zc1ilbipgcccdczf9fnx7p"
+ sha256 = if stdenv.system == "x86_64-linux" then "c4b100bbf8cda0334e20793e02bf400d15266cb9d089917bd2b6b9d49dd37d19"
+ else if stdenv.system == "i686-linux" then "5760471fcea396efd158758aa350b1c48a9d0633765a5e3b059baf8aeab615fa"
else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
in
stdenv.mkDerivation rec {
name = "btsync-${version}";
- version = "1.4.82";
+ version = "1.4.93";
src = fetchurl {
url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index daab75c74ff..f88d7df4030 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -12,7 +12,7 @@ mkChromiumDerivation (base: rec {
cp -v "$buildPath/"*.pak "$libExecPath/"
cp -v "$buildPath/icudtl.dat" "$libExecPath/"
cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
- cp -v $buildPath/libffmpegsumo.so "$libExecPath/"
+ cp -v "$buildPath/libpdf.so" "$buildPath/libffmpegsumo.so" "$libExecPath/"
cp -v "$buildPath/chrome" "$libExecPath/$packageName"
@@ -35,7 +35,7 @@ mkChromiumDerivation (base: rec {
meta = {
description = "An open source web browser from Google";
homepage = http://www.chromium.org/;
- maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ];
+ maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
license = licenses.bsd3;
platforms = platforms.linux;
};
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 2676104db3e..dea816e5be9 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -69,7 +69,7 @@ let
use_system_xdg_utils = true;
use_system_yasm = true;
use_system_zlib = false;
- use_system_protobuf = true;
+ use_system_protobuf = false; # needs newer protobuf
use_system_harfbuzz = false;
use_system_icu = false; # Doesn't support ICU 52 yet.
@@ -190,6 +190,7 @@ let
libExecPath="${libExecPath}"
python build/linux/unbundle/replace_gyp_files.py ${gypFlags}
python build/gyp_chromium -f ninja --depth "$(pwd)" ${gypFlags}
+ find . -iname '*.py[co]' -delete
'';
buildPhase = let
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 14881d11601..75d5f1c248e 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -9,7 +9,6 @@
, gnomeKeyringSupport ? false
, proprietaryCodecs ? true
, enablePepperFlash ? false
-, enablePepperPDF ? false
, enableWideVine ? false
, cupsSupport ? false
, pulseSupport ? false
@@ -36,7 +35,7 @@ let
sandbox = callPackage ./sandbox.nix { };
plugins = callPackage ./plugins.nix {
- inherit enablePepperFlash enablePepperPDF enableWideVine;
+ inherit enablePepperFlash enableWideVine;
};
};
@@ -56,25 +55,33 @@ let
"x-scheme-handler/ftp"
"x-scheme-handler/mailto"
"x-scheme-handler/webcal"
+ "x-scheme-handler/about"
+ "x-scheme-handler/unknown"
];
categories = "Network;WebBrowser";
};
+ suffix = if channel != "stable" then "-" + channel else "";
+
in stdenv.mkDerivation {
- name = "chromium${if channel != "stable" then "-" + channel else ""}-${chromium.browser.version}";
+ name = "chromium${suffix}-${chromium.browser.version}";
buildInputs = [ makeWrapper ];
buildCommand = let
browserBinary = "${chromium.browser}/libexec/chromium/chromium";
sandboxBinary = "${chromium.sandbox}/bin/chromium-sandbox";
- in ''
+ mkEnvVar = key: val: "--set '${key}' '${val}'";
+ envVars = chromium.plugins.settings.envVars or {};
+ flags = chromium.plugins.settings.flags or [];
+ in with stdenv.lib; ''
mkdir -p "$out/bin" "$out/share/applications"
ln -s "${chromium.browser}/share" "$out/share"
makeWrapper "${browserBinary}" "$out/bin/chromium" \
--set CHROMIUM_SANDBOX_BINARY_PATH "${sandboxBinary}" \
- --add-flags "${chromium.plugins.flagsEnabled}"
+ ${concatStrings (mapAttrsToList mkEnvVar envVars)} \
+ --add-flags "${concatStringsSep " " flags}"
ln -s "$out/bin/chromium" "$out/bin/chromium-browser"
ln -s "${chromium.browser}/share/icons" "$out/share/icons"
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 5bd41158632..55e0cc4caa2 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -1,6 +1,5 @@
{ stdenv
, enablePepperFlash ? false
-, enablePepperPDF ? false
, enableWideVine ? false
, source
@@ -16,7 +15,7 @@ let
src = source.plugins;
phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
- outputs = [ "pdf" "flash" "widevine" ];
+ outputs = [ "flash" "widevine" ];
unpackCmd = let
chan = if source.channel == "dev" then "chrome-unstable"
@@ -26,7 +25,6 @@ let
mkdir -p plugins
ar p "$src" data.tar.lzma | tar xJ -C plugins --strip-components=4 \
./opt/google/${chan}/PepperFlash \
- ./opt/google/${chan}/libpdf.so \
./opt/google/${chan}/libwidevinecdm.so \
./opt/google/${chan}/libwidevinecdmadapter.so
'';
@@ -40,7 +38,7 @@ let
rpaths = [ stdenv.gcc.gcc ];
mkrpath = p: "${makeSearchPath "lib64" p}:${makeSearchPath "lib" p}";
in ''
- for sofile in PepperFlash/libpepflashplayer.so libpdf.so \
+ for sofile in PepperFlash/libpepflashplayer.so \
libwidevinecdm.so libwidevinecdmadapter.so; do
chmod +x "$sofile"
patchelf --set-rpath "${mkrpath rpaths}" "$sofile"
@@ -51,25 +49,12 @@ let
'';
installPhase = let
- pdfName = "Chrome PDF Viewer";
- pdfDescription = "Portable Document Format";
- pdfMimeTypes = concatStringsSep ";" [
- "application/pdf"
- "application/x-google-chrome-print-preview-pdf"
- ];
- pdfInfo = "#${pdfName}#${pdfDescription};${pdfMimeTypes}";
-
wvName = "Widevine Content Decryption Module";
wvDescription = "Playback of encrypted HTML audio/video content";
wvMimeTypes = "application/x-ppapi-widevine-cdm";
wvModule = "$widevine/lib/libwidevinecdmadapter.so";
wvInfo = "#${wvName}#${wvDescription}:${wvMimeTypes}";
in ''
- install -vD libpdf.so "$pdf/lib/libpdf.so"
- mkdir -p "$pdf/nix-support"
- echo "--register-pepper-plugins='$pdf/lib/libpdf.so${pdfInfo}'" \
- > "$pdf/nix-support/chromium-flags"
-
flashVersion="$(
sed -n -r 's/.*"version": "([^"]+)",.*/\1/p' PepperFlash/manifest.json
)"
@@ -77,24 +62,38 @@ let
install -vD PepperFlash/libpepflashplayer.so \
"$flash/lib/libpepflashplayer.so"
mkdir -p "$flash/nix-support"
- echo "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'" \
- "--ppapi-flash-version=$flashVersion" \
- > "$flash/nix-support/chromium-flags"
+ cat > "$flash/nix-support/chromium-plugin.nix" < "$widevine/nix-support/chromium-flags"
+ cat > "$widevine/nix-support/chromium-plugin.nix" <
- #include
- #include
-
diff --git a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch
new file mode 100644
index 00000000000..0220d042941
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch
@@ -0,0 +1,99 @@
+diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
+index 8a205a6..d5c24e1 100644
+--- a/chrome/common/chrome_paths.cc
++++ b/chrome/common/chrome_paths.cc
+@@ -97,21 +97,14 @@ static base::LazyInstance
+ g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
+
+ // Gets the path for internal plugins.
+-bool GetInternalPluginsDirectory(base::FilePath* result) {
+-#if defined(OS_MACOSX) && !defined(OS_IOS)
+- // If called from Chrome, get internal plugins from a subdirectory of the
+- // framework.
+- if (base::mac::AmIBundled()) {
+- *result = chrome::GetFrameworkBundlePath();
+- DCHECK(!result->empty());
+- *result = result->Append("Internet Plug-Ins");
+- return true;
+- }
+- // In tests, just look in the module directory (below).
+-#endif
+-
+- // The rest of the world expects plugins in the module directory.
+- return PathService::Get(base::DIR_MODULE, result);
++bool GetInternalPluginsDirectory(base::FilePath* result,
++ const std::string& ident) {
++ std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
++ const char* value = getenv(full_env.c_str());
++ if (value == NULL)
++ return PathService::Get(base::DIR_MODULE, result);
++ else
++ *result = base::FilePath(value);
+ }
+
+ } // namespace
+@@ -248,11 +241,11 @@ bool PathProvider(int key, base::FilePath* result) {
+ create_dir = true;
+ break;
+ case chrome::DIR_INTERNAL_PLUGINS:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "ALL"))
+ return false;
+ break;
+ case chrome::DIR_PEPPER_FLASH_PLUGIN:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
+ return false;
+ cur = cur.Append(kPepperFlashBaseDirectory);
+ break;
+@@ -285,7 +278,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ cur = cur.Append(FILE_PATH_LITERAL("script.log"));
+ break;
+ case chrome::FILE_FLASH_PLUGIN:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "FILEFLASH"))
+ return false;
+ cur = cur.Append(kInternalFlashPluginFileName);
+ break;
+@@ -295,12 +288,12 @@ bool PathProvider(int key, base::FilePath* result) {
+ cur = cur.Append(chrome::kPepperFlashPluginFilename);
+ break;
+ case chrome::FILE_PDF_PLUGIN:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "PDF"))
+ return false;
+ cur = cur.Append(kInternalPDFPluginFileName);
+ break;
+ case chrome::FILE_EFFECTS_PLUGIN:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "FILE_EFFECTS"))
+ return false;
+ cur = cur.Append(kEffectsPluginFileName);
+ break;
+@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ // We currently need a path here to look up whether the plugin is disabled
+ // and what its permissions are.
+ case chrome::FILE_NACL_PLUGIN:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "NACL"))
+ return false;
+ cur = cur.Append(kInternalNaClPluginFileName);
+ break;
+@@ -343,7 +336,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ cur = cur.DirName();
+ }
+ #else
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "PNACL"))
+ return false;
+ #endif
+ cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
+@@ -372,7 +365,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ // In the component case, this is the source adapter. Otherwise, it is the
+ // actual Pepper module that gets loaded.
+ case chrome::FILE_WIDEVINE_CDM_ADAPTER:
+- if (!GetInternalPluginsDirectory(&cur))
++ if (!GetInternalPluginsDirectory(&cur, "WIDEVINE"))
+ return false;
+ cur = cur.AppendASCII(kWidevineCdmAdapterFileName);
+ break;
diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
index e85369f763b..5437f8e283a 100644
--- a/pkgs/applications/networking/browsers/chromium/source/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix
@@ -1,21 +1,21 @@
# This file is autogenerated from update.sh in the parent directory.
{
dev = {
- version = "39.0.2171.7";
- sha256 = "1wxi601zsi10jw7ypa4i0a2g5hd3hqrb5pqkkry1pgbdimw69sb8";
- sha256bin32 = "11isyislr5mbbhwk625b347xyyp1x3xgws844sjbbcx83gf0ij7y";
- sha256bin64 = "16b0yzlm8j7kx8pc6fhzwiizl7zrzxmfal40q45848715jyln8hf";
+ version = "41.0.2224.3";
+ sha256 = "04lgklidxx4bryqhnm7kjqbfr12ns8ic9g4yxk3dig71081sas5f";
+ sha256bin32 = "17fgh57yckk318r7r6qkc934dpq35qa6ps4x5fwscl070rzjf81k";
+ sha256bin64 = "1qsvjm38cxx3inrw0hs4q9f4i9arqfj9cs57xh64wflrnh2z52zf";
};
beta = {
- version = "38.0.2125.101";
- sha256 = "12hrl7i0xrjdwz8yaap5jhc6bzn29pk6dcz96743n6j7mcckac6k";
- sha256bin32 = "178nffl5pgqajg7vxxisycl79vnyv1iqqz04riywgj88mw7mjwpg";
- sha256bin64 = "0akwvnl987w8wli4h4k2x8xnpkzk9n8hn9wbp1lw87ch08sr7zfm";
+ version = "40.0.2214.10";
+ sha256 = "0wxkxgj6z18l2qkm0k16r8bpv9rdxk1g1ias03zzvlbj1bw3brdn";
+ sha256bin32 = "0wr2vg97d3qrryb5sz31sd3ycb1l17irrs79vfa04ip85jqv89zn";
+ sha256bin64 = "0bclgy386vdmfdf59hwkypcs8wwmlpgl3npp089hmcdvv7dmars8";
};
stable = {
- version = "37.0.2062.120";
- sha256 = "1yvf1hzza5cdsa67dg302ifcwb759r8sf2z21p9q9wyanrc3f1xk";
- sha256bin32 = "07zwf5yn3ig8x9ysjdpm7w1fh4rcyxzfsnqvxmabc0bkrv2r1hg7";
- sha256bin64 = "02qc5qq5v9k55c5bxmndjh1xl6j1qaxk7k4r8mm0k5nxxyqih1p2";
+ version = "39.0.2171.65";
+ sha256 = "0lglcjvyhgmdm0sd76wv509pgwcfl86rlp9rj83z9giadwqlcmxi";
+ sha256bin32 = "1iqzi462vw8da5f8ysk76q68xhiw5ndqc3hhc6djipsc6h240bji";
+ sha256bin64 = "1gxh3sxpnl0167la9ncnz7l85gzi4ax6g5pqni1nma5g5cqqm177";
};
}
diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix
index 47381f06d68..4cb356fcab1 100644
--- a/pkgs/applications/networking/browsers/conkeror/default.nix
+++ b/pkgs/applications/networking/browsers/conkeror/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchgit, unzip, xulrunner, makeWrapper }:
+{ stdenv, fetchgit, unzip, firefox, makeWrapper }:
stdenv.mkDerivation {
name = "conkeror-1.0pre-20140616";
src = fetchgit {
url = git://repo.or.cz/conkeror.git;
- rev = "8a26fff5896a3360549e2adfbf06b1d57e909266";
- sha256 = "56f1c71ca1753a63d7599d3e8bf52277711b2693e7709ed7c146f34940441cb4";
+ rev = "98e89c7e5ff3a1069a0984338da01273cdb189a2";
+ sha256 = "284ba966efebfa0aaa768abc1a4f901e2ecf5db9d0391d904a49118b0b94fcd7";
};
buildInputs = [ unzip makeWrapper ];
@@ -15,8 +15,8 @@ stdenv.mkDerivation {
mkdir -p $out/libexec/conkeror
cp -r * $out/libexec/conkeror
- makeWrapper ${xulrunner}/bin/xulrunner $out/bin/conkeror \
- --add-flags $out/libexec/conkeror/application.ini
+ makeWrapper ${firefox}/bin/firefox $out/bin/conkeror \
+ --add-flags "-app $out/libexec/conkeror/application.ini"
'';
meta = {
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index ecf8dbc0fc6..3f85467fe31 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -1,8 +1,3 @@
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
{ stdenv, fetchurl, config
, alsaLib
, atk
@@ -21,7 +16,10 @@
, gtk
, libX11
, libXScrnSaver
+, libXcomposite
+, libXdamage
, libXext
+, libXfixes
, libXinerama
, libXrender
, libXt
@@ -39,191 +37,10 @@
assert stdenv.isLinux;
-let
- version = "32.0.3";
- sources = [
- { locale = "ach"; arch = "linux-i686"; sha256 = "fd22fab9da5ba843876e0daf7db5069e3898a8bd548f8b324169914c88c02a10"; }
- { locale = "ach"; arch = "linux-x86_64"; sha256 = "221028e98d8cb1cb330da4d2707c7cf98d2ae0066081f0b505d6cc4fa8fd4b30"; }
- { locale = "af"; arch = "linux-i686"; sha256 = "37c93da084d25bd47c6aaf5389846ba4ac1e68a8989c03890b69142a46a2dddc"; }
- { locale = "af"; arch = "linux-x86_64"; sha256 = "91dc95820faca47b031a8685a12e67d2f0b7f2cc9be5ff40f316bcf4c4110eee"; }
- { locale = "an"; arch = "linux-i686"; sha256 = "c1251a6eb097cfc2bfa1fb137bcfcfbea333d457d57de3dce40ca60b96b07a53"; }
- { locale = "an"; arch = "linux-x86_64"; sha256 = "fe010c04615c743f0500f9066bfab2e53d799074cbbd17c458b072ee741547f6"; }
- { locale = "ar"; arch = "linux-i686"; sha256 = "e3482b3f6629c3addba28f86496c6608823b0a462ebca259bc9acc9ccadd07f3"; }
- { locale = "ar"; arch = "linux-x86_64"; sha256 = "d2ba7625730d461d5f870ad4151991071ed36f141c65872d2e9493108d495603"; }
- { locale = "as"; arch = "linux-i686"; sha256 = "7f44156bd7087d5ddb46f8ecbcf2d7468b32cca7ed7ac88989e604b9853d603b"; }
- { locale = "as"; arch = "linux-x86_64"; sha256 = "a189cb96dedc9943362eaa70e851c64e0115c6c526d9d38a38ce2d79d80dea56"; }
- { locale = "ast"; arch = "linux-i686"; sha256 = "5d62d0d12f4cd678567b470a1b6d94ea5889a5c6530a5d3d0b4d07c04bae1f18"; }
- { locale = "ast"; arch = "linux-x86_64"; sha256 = "2e6f1caf2432ae2e6b6b3125449f7dcca1e2a3658ce267a0320aa449934260d8"; }
- { locale = "be"; arch = "linux-i686"; sha256 = "d41d7abad29170d7d5df953bf9f3f22c56df8e85ddb4ba657cc0cbf357cdef0f"; }
- { locale = "be"; arch = "linux-x86_64"; sha256 = "c899602dcf3ca72c657cc30ea54f986f44943ea9583da1dd6d48ebfe4489b7be"; }
- { locale = "bg"; arch = "linux-i686"; sha256 = "e4ed4c432b3f399a2f7aa93ae62ae1ffadd8e4758c44f359a0faa401c014a3da"; }
- { locale = "bg"; arch = "linux-x86_64"; sha256 = "138dc4afa256ca1a6f50ea250df5a032c69020f629e2b91843947e73f8e665c9"; }
- { locale = "bn-BD"; arch = "linux-i686"; sha256 = "30f450b36b71431f87e016c09ab0e26f8ed72ee7a0cede0689be13d8b61a882c"; }
- { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "ad320fef3271f5c6955404847552d11800ca8e8d7821cda53eb3311b6014281f"; }
- { locale = "bn-IN"; arch = "linux-i686"; sha256 = "1e4b1b3d06cbda0aacb1d971b9a70f5648f05e9ad225de87739baef602b3d58f"; }
- { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "51264d05eb58cec598a726b8e29e583355431c429a6f9eeddc16360ad0ef0dd5"; }
- { locale = "br"; arch = "linux-i686"; sha256 = "e0e661d835297bb895ee3d2887fb4321b9c3c5af73edf5d36d365b254b0dc731"; }
- { locale = "br"; arch = "linux-x86_64"; sha256 = "94c8e2b56ec784f3e2912a36bece9866c20e419069591517477b67156ad65f47"; }
- { locale = "bs"; arch = "linux-i686"; sha256 = "ea2950b6c81b6cb108b518320c0e53406c972b6d46944fec39f92c10722be7ca"; }
- { locale = "bs"; arch = "linux-x86_64"; sha256 = "4ceba96a76ec7631dc524d3e3b56c5994967b7ef227f38d3e3aa435c131f561a"; }
- { locale = "ca"; arch = "linux-i686"; sha256 = "eb68c1f8e99ab00ddb9861ece4f1d17ca07c7e77fd4c2d4f4ff233f6f0018ba4"; }
- { locale = "ca"; arch = "linux-x86_64"; sha256 = "17fe82eeeeb6c385010980984b04a8e71d3770a0d36d83e26786a5884aed7c05"; }
- { locale = "cs"; arch = "linux-i686"; sha256 = "69e2a0769284464a95db122fa97f1dfb268b02b754fe6a4842683fd4c94d9a13"; }
- { locale = "cs"; arch = "linux-x86_64"; sha256 = "bebaef3126c14b4d23c024176170aabb090463cae1a1b72b6b498ab3720bb9cf"; }
- { locale = "csb"; arch = "linux-i686"; sha256 = "9ac7be93d0c3a72460ee3fea75621008bee5b2e85b78796f02eded8239562d81"; }
- { locale = "csb"; arch = "linux-x86_64"; sha256 = "1af41e62a6c9ee47dad2d031fd7dcc0ff8b773ac7a912e6888f068e533972dd4"; }
- { locale = "cy"; arch = "linux-i686"; sha256 = "339ff34b6b6d79db48b83ec9cc34fcb853652795e648c82845bbccf910b4286f"; }
- { locale = "cy"; arch = "linux-x86_64"; sha256 = "686e466692bda17671d2ebf3683d03671c8d063c6a6008f3b27455656a584c95"; }
- { locale = "da"; arch = "linux-i686"; sha256 = "67f0ee2e479c49853929cfb1b7fefe95d25d563d67f88f1560b21abf60cd67d6"; }
- { locale = "da"; arch = "linux-x86_64"; sha256 = "d9f7cbbaa576e501edc9c03df922f708562ef1d3f84eefe010b8138b23399e40"; }
- { locale = "de"; arch = "linux-i686"; sha256 = "a294f585d7f8247ecffd6c71beff75ea07f1ffb1af17830aa54904b6e9c4a71c"; }
- { locale = "de"; arch = "linux-x86_64"; sha256 = "6dd118ebe633c66ebc7ef0bf71dcc4d5c2ce42552a4b981b74442e184fa8f3a9"; }
- { locale = "dsb"; arch = "linux-i686"; sha256 = "7b989e4a804e366b7dc4fcd500968851e0978b2cd0f9da95e6f6504b9ccff7de"; }
- { locale = "dsb"; arch = "linux-x86_64"; sha256 = "aa41149f4f2bc6020980920bdf85d57157ad3cee7dd7be0fa3328ecbb11007bf"; }
- { locale = "el"; arch = "linux-i686"; sha256 = "f1b5bc91e4e34d6f17f3e4ed65fc3ab71e066b41df3ec0ff8c1156a4a51d7fb9"; }
- { locale = "el"; arch = "linux-x86_64"; sha256 = "fb602fcc45c21c26aa7d15924182d9158064d43c14c44c62786427eaf51d4b1f"; }
- { locale = "en-GB"; arch = "linux-i686"; sha256 = "ad269f2192a1d635b8b930aa58a0303a544221e53b38aa8c464c81d807e28477"; }
- { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "31ac6558c5a1deb512e937a52ca48d2183881de53685ca0dfaa63dc4495e0a73"; }
- { locale = "en-US"; arch = "linux-i686"; sha256 = "265ae5df1a5f2edeae8d08bdcde45df0920f6fb0ad70385371d06ff890017982"; }
- { locale = "en-US"; arch = "linux-x86_64"; sha256 = "1a917f88835d8796c52a52ed5c14a9ea71e595de8515ced1ca1356995f529bd6"; }
- { locale = "en-ZA"; arch = "linux-i686"; sha256 = "e345f37777a2d7fc763c24c7fb4fe3c6a99c2310066ad405c375b8af069eca84"; }
- { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "d86bf38fb667938852531f081caefe10baba79dc35ff737fa468744911f6968b"; }
- { locale = "eo"; arch = "linux-i686"; sha256 = "7b4069d26d4abfdd9878192fc7c5a54686687c401425205bce064d9720ae6f7c"; }
- { locale = "eo"; arch = "linux-x86_64"; sha256 = "b1a1b3b8c0c72856e5bb6058dd0ea2dabf2d9dee084f0355a248bee253838b29"; }
- { locale = "es-AR"; arch = "linux-i686"; sha256 = "5ef56bebe60802f449bcbd1e53ae6726c5109c559a8a9707269de2a31481764a"; }
- { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "65f909b7f1e67cfcebbc8cab1377b967095b5a7f9650c7fa861544bbc874b59f"; }
- { locale = "es-CL"; arch = "linux-i686"; sha256 = "0b7499173c0f44ccc4cecb49e1801bb596d7a027c5ee39678252530672785906"; }
- { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "69573ffa581de80f21c0201083febcc7de5549d9e567f02227f7d4567c1a97f8"; }
- { locale = "es-ES"; arch = "linux-i686"; sha256 = "640bc3111816383cb69e59039289737ca5d16ec2f5238b694348e9df1db794a0"; }
- { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "fca7e225eac47f200c3cd01ee617a1fc6bbd728eddba30bb4583eb486155ab47"; }
- { locale = "es-MX"; arch = "linux-i686"; sha256 = "32342a144805a3c4e6bab5de0411116862d0b8276befa6f8689eca5d9da01860"; }
- { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "cc189b4d4abdd9e90fd0dbfcc5b683e2a717f1f41a7930d9c0b6c405de97a9b3"; }
- { locale = "et"; arch = "linux-i686"; sha256 = "b203934a8292393d84f389ca3a13d25e0c9602a10faf60804b435cf45f2fd691"; }
- { locale = "et"; arch = "linux-x86_64"; sha256 = "4384025c813efa759c2dd62ed735d662f26d1037e95e892050987d4b2f602a45"; }
- { locale = "eu"; arch = "linux-i686"; sha256 = "179fb3acef15d262a9d2f7347a32f1d99bbcd5048c5cab5b69aaccb35afe82f2"; }
- { locale = "eu"; arch = "linux-x86_64"; sha256 = "cec3a33bc9950f97f14fc6493158e095e7a1660e4d104c2ff23ce655813d28cc"; }
- { locale = "fa"; arch = "linux-i686"; sha256 = "7ce8f6af63ad6d683e5e70e9b077c2452a7c0c040bad83efceab860e3d41d288"; }
- { locale = "fa"; arch = "linux-x86_64"; sha256 = "14f7b3f7c7eff44db26c3b55ae85b8625354f1962315fd40e3df4199b067d303"; }
- { locale = "ff"; arch = "linux-i686"; sha256 = "f4c9eb89160a5d4bf815715860fc4bc6bc7954e544182e60b204a031f83be5e0"; }
- { locale = "ff"; arch = "linux-x86_64"; sha256 = "b774f005bb5dee44eb0974834b42441b47a68f733ef22446b2547aef898b0c02"; }
- { locale = "fi"; arch = "linux-i686"; sha256 = "873cf1d866f5db419549a9c39fad9524599a737d80c6568d7a5c9c3739d36cd4"; }
- { locale = "fi"; arch = "linux-x86_64"; sha256 = "29f179920b198403f983b11bbd3f1b2d2cb83c65f5f8edcff63dd891d50c413a"; }
- { locale = "fr"; arch = "linux-i686"; sha256 = "ade608f8965144177d656d33ff4fa2f8fbd8f54861fca68ac74abab9ca085ad5"; }
- { locale = "fr"; arch = "linux-x86_64"; sha256 = "9bfade44971633bca8b12d6e2e05de6d20ec55e368d78da49e44a0131e9d94bb"; }
- { locale = "fy-NL"; arch = "linux-i686"; sha256 = "6124308765f3456ac066dc734d245c455168d66ed59a8a65edc1b59ff1130169"; }
- { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "9a60afeb858c1e48e21e112f772bc2efd3ef2891b51d0241384658905b140709"; }
- { locale = "ga-IE"; arch = "linux-i686"; sha256 = "2de086f287e86d29579896e8fdd9a4d43ba5ed49b5042e4b5c71ff6380d21467"; }
- { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "4f2cb11d743ac7d6fb5bc319c940729aa81d9ac97545cf5c6096fcd0d2e7de69"; }
- { locale = "gd"; arch = "linux-i686"; sha256 = "c18e5614d73f79df017b1cdedb6949e907ffcdc4152ddfbd56f79242a742f13a"; }
- { locale = "gd"; arch = "linux-x86_64"; sha256 = "4b64e007698b2433ead4b14b87c06fd1682ebe7e90ee881d310a8cdab2cd4d13"; }
- { locale = "gl"; arch = "linux-i686"; sha256 = "b319a40c4fa9c81533f431e95ad8f33d365aa799d3dccde5188beb3442c8422d"; }
- { locale = "gl"; arch = "linux-x86_64"; sha256 = "04a9103e56982e4529c361647ccef527cfbbbb4e88a96a708c0665ee04accd44"; }
- { locale = "gu-IN"; arch = "linux-i686"; sha256 = "a15bd410f9bdfde48438db95c44d91472f5567bd41c529b13a7b4d057f97a6b3"; }
- { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "8046ecbabf700872e4e8cf5d1a1d3df53f984a00415e49cb1d21bd507533f4c9"; }
- { locale = "he"; arch = "linux-i686"; sha256 = "8369eeb403ef55e61263eafb61e8265f130d5fe4dc277b5e68f6efb65edf6702"; }
- { locale = "he"; arch = "linux-x86_64"; sha256 = "a602a9944685ce688a002ea87178e1231170b78ba6ee911a3c7effa41768ecb1"; }
- { locale = "hi-IN"; arch = "linux-i686"; sha256 = "6eb2e8fa05bf7470f1be9756a5e529e5949f3e0796a0c663ee44c7264846fd3b"; }
- { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "7e39439801361ab9051941323987364678ef9b1fc8e765bfad2d39d836b7bf85"; }
- { locale = "hr"; arch = "linux-i686"; sha256 = "84cabd389757c61cea75ffc642a4b52e544e841a124066701eb071d2d88c15ed"; }
- { locale = "hr"; arch = "linux-x86_64"; sha256 = "0bc123e9a5190d155727971c2bed078a5e6b857daa22f2f4bcee4aee76e07bbc"; }
- { locale = "hsb"; arch = "linux-i686"; sha256 = "7a5d5a4a7a936defd6c3ea3b04550e39398428f90722d521490b700133964f82"; }
- { locale = "hsb"; arch = "linux-x86_64"; sha256 = "545ec5865ce941ca3bc635032cd65215111d56b3f0d68814efdd8ecacaab1d1d"; }
- { locale = "hu"; arch = "linux-i686"; sha256 = "b540eadbfa2bf5232049e30167ccf16249786f612ec152c14999e660eceb6497"; }
- { locale = "hu"; arch = "linux-x86_64"; sha256 = "4f64d672481bfe88f40fcf944d98fafceae18372c1e2373bba8172877d7555b8"; }
- { locale = "hy-AM"; arch = "linux-i686"; sha256 = "f5ace133a64745ecf564996ebd6be55ce3ee0ee5be2ed8fe6c66414833d1e479"; }
- { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e949bffb9180b0ccdc6794b99b3897f9f30dbea84d9d218cd68477634eb58b25"; }
- { locale = "id"; arch = "linux-i686"; sha256 = "73f2d64106a3404f6edcc66ab59091ffedb0fcd0c7f475becebebdfc4df41e1c"; }
- { locale = "id"; arch = "linux-x86_64"; sha256 = "20d9193d9fc95a3e040220373c216913ca0099989d665b516b1e5de1cd7bf05b"; }
- { locale = "is"; arch = "linux-i686"; sha256 = "d6bdeb739b5db8c8a25239963bf2f0d096b76f5914f8f4f4a4843e611beaad9f"; }
- { locale = "is"; arch = "linux-x86_64"; sha256 = "300ccec13085aee1b011dd0058c279a31981b3e91280440672e09c71c4dd0eda"; }
- { locale = "it"; arch = "linux-i686"; sha256 = "1e02459ec7e62ca3038018e6c88f410e53b0d7b3d1b6cb94d74ad0218a54a948"; }
- { locale = "it"; arch = "linux-x86_64"; sha256 = "ba8e8a9ab5f391a5560b7bfd41dd853c6b52c2ff59ce8424f96236263985029d"; }
- { locale = "ja"; arch = "linux-i686"; sha256 = "681589c9748b0c7f78ba5c4afa0f254af6f92a0c0cfb504df6b29f94a917f8bb"; }
- { locale = "ja"; arch = "linux-x86_64"; sha256 = "7c6447f4dd823e1517ce12ad0b295b53a22d3a0855e1660fac9563a91f6999c2"; }
- { locale = "kk"; arch = "linux-i686"; sha256 = "0303c9b812115d3ada0d8fdfcf8e77143f4239440935bfaad5340d33a3270b8b"; }
- { locale = "kk"; arch = "linux-x86_64"; sha256 = "168b2ae2ac9168ae674d8649840fd7cc93d95325c7c0d60d7251239b776e5886"; }
- { locale = "km"; arch = "linux-i686"; sha256 = "04ba6e90f883e52809e51202356e4abda62ae40bb0ed225965ec8eeca333457d"; }
- { locale = "km"; arch = "linux-x86_64"; sha256 = "4903ca63d1ffdafbb7ae36eb7221992101a8a013928e25a820aac51022cdbade"; }
- { locale = "kn"; arch = "linux-i686"; sha256 = "2fc54219aa69f963c86e47fc2cafd78bfad2bbd2a11d2fb947786eaa30cfe255"; }
- { locale = "kn"; arch = "linux-x86_64"; sha256 = "8fd8e3de5ba9bf2f408da21bdedc1d2baf269fb33251d38fc84ec8b9c2fc86a8"; }
- { locale = "ko"; arch = "linux-i686"; sha256 = "eba2c630a59006bad5ff822409c18008e46a327e2903d88461dc88a54f573baa"; }
- { locale = "ko"; arch = "linux-x86_64"; sha256 = "baaafa60c8101ea2dfab30149e7ac6b953a63fb7c835e6aa1488349ce8a98384"; }
- { locale = "ku"; arch = "linux-i686"; sha256 = "b1333ed8afb9cd20b0e24d25e5747f466050acf1fc4ae2924df1bb345ce49f90"; }
- { locale = "ku"; arch = "linux-x86_64"; sha256 = "dd87578c93884388871680ef66f1d37e78f78939e7182a7d3a41fd8287afcdb8"; }
- { locale = "lij"; arch = "linux-i686"; sha256 = "6bdab68412b7d08da2023da4346eeac231bbda2de36d7225b7f7bdd23a36dbd6"; }
- { locale = "lij"; arch = "linux-x86_64"; sha256 = "d31d69421e74bf089e74f70e5c595284a8b60ce153c7c3ffd83e808adb1bf371"; }
- { locale = "lt"; arch = "linux-i686"; sha256 = "4e15475eed19edf5080695da8c9dc94d3bc28e064a30065a1adeb6ea11adcce9"; }
- { locale = "lt"; arch = "linux-x86_64"; sha256 = "f5b94a979a1863d068e4f35f71476677febe23de0de2dd803f44e57d2a196c55"; }
- { locale = "lv"; arch = "linux-i686"; sha256 = "177f771d821f7501d906fea0bec54d6064e36ce74dc5e17596cdbc460b7c0115"; }
- { locale = "lv"; arch = "linux-x86_64"; sha256 = "a958f13c3be77bdd1ea10edb5a453f54aaf6b2b7d00981762ea946abb2aa0a7c"; }
- { locale = "mai"; arch = "linux-i686"; sha256 = "32ee3fdb74c2023952071679cfc271ef548b0ba278619f0d2c2f19596c1b5fa1"; }
- { locale = "mai"; arch = "linux-x86_64"; sha256 = "c4bb89d5c9b16a4814a628ee31f8628cf287864db44d55ba11321d8203a1fd1c"; }
- { locale = "mk"; arch = "linux-i686"; sha256 = "b7ef5bee8ed38ba31ee2e2c1ab010e3a385b97096fff0120bb279e82b6220464"; }
- { locale = "mk"; arch = "linux-x86_64"; sha256 = "edf82adb52759c0d60f4bbf23ba1e0b2f7bb47475c80621a508e8a46c6221d06"; }
- { locale = "ml"; arch = "linux-i686"; sha256 = "265e68ed9ca02987ca9bc165b4fb69217e4e7aaf73d7ceb83eb0a3d472a3cbed"; }
- { locale = "ml"; arch = "linux-x86_64"; sha256 = "948eae17ae44b03c01124243f2246abe98fa6fdd17e9f174a8b1387f87994ff4"; }
- { locale = "mr"; arch = "linux-i686"; sha256 = "d3941188b754ec8219b0682eb8c3b531debbeccc0a5738a6304bb18075e473a6"; }
- { locale = "mr"; arch = "linux-x86_64"; sha256 = "b40f07132f883a703caefc275ad4a3a6d65f0e5535067595ddd9e7ff604ca315"; }
- { locale = "ms"; arch = "linux-i686"; sha256 = "217ae6fba0bb782e84bfc7d7658971c72a8922c4b8ae32abcacd8548c3b865ea"; }
- { locale = "ms"; arch = "linux-x86_64"; sha256 = "74d4a6123c40d92db7690e518d6943c916ee5a8ad266c94bdb8edc0e31f7e744"; }
- { locale = "nb-NO"; arch = "linux-i686"; sha256 = "cc66fba1d389994b079962e78a7aeb2e4df8c3eea785ada286983a12329c2699"; }
- { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "20161c2e0fdfdc65625d31d6ec1fbbdf2b88281e44b9dcbc9c4e5a07bf03d105"; }
- { locale = "nl"; arch = "linux-i686"; sha256 = "a8b86126c00e2fefe05a3783e03c7f3f6ca9575180b3b275b1dbb85c68cb126a"; }
- { locale = "nl"; arch = "linux-x86_64"; sha256 = "61fea91996c56b7279dc88714567b3e63f69d1b56a2922ea9886b74a69045d53"; }
- { locale = "nn-NO"; arch = "linux-i686"; sha256 = "594e4c7393b6692bcbff4a732cb22687207cdbbfeb1d66bd10d7784fa60b1fd1"; }
- { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ae78c76d203532c34023f06a6c7a3f26e864a1b95aca358b7c680e275b250c8a"; }
- { locale = "or"; arch = "linux-i686"; sha256 = "b26642112413d3c53c6275a8b2bbaf162f4bdbaf9002ad4479b807e3447b2abe"; }
- { locale = "or"; arch = "linux-x86_64"; sha256 = "d212b39c68a7cf8619c946ff7e94c2081ba2a9fca3ed599870167477a887fe87"; }
- { locale = "pa-IN"; arch = "linux-i686"; sha256 = "e28e4bec4e4f9d151bdc1e1ffbd42266052fbd81a479c70196a614f825e42f9f"; }
- { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "4874f5407d8040a5e447d5a22a8d9e433a6bda273bc813654d95e0b9abb02af5"; }
- { locale = "pl"; arch = "linux-i686"; sha256 = "f738a7209e3da17fbc2c955148ef1e0ec08878acf374b9bff2ae6cb0b3b50138"; }
- { locale = "pl"; arch = "linux-x86_64"; sha256 = "b78325bc9ab80c176ba266cc6c46933f78ba69e0da44e6526e7b433336534d11"; }
- { locale = "pt-BR"; arch = "linux-i686"; sha256 = "dc1564eeb496b1b8584338879d26cfbe4e2191eef204c80ee6a2f9c2d4722426"; }
- { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "48c8bb9a52ae80c74f6fe379b28cf072d8275158326e752c776c27409578fcfe"; }
- { locale = "pt-PT"; arch = "linux-i686"; sha256 = "0e74d57776d68d3d35e26b5fabdb66016a00d8bf22c6ec458ffea2e2e233227d"; }
- { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "61d5fbc72f928e59cdf93ef08684e4d598b154638bf88cdace7d274874efa040"; }
- { locale = "rm"; arch = "linux-i686"; sha256 = "1baa7d0d61394c3108ff7d91798fa917e63a1a0943785f94697619cbb684148a"; }
- { locale = "rm"; arch = "linux-x86_64"; sha256 = "5cec6c5c013997f1ebade4d139d055b1df3fb5ed75dd41e335535dbfc6bc9359"; }
- { locale = "ro"; arch = "linux-i686"; sha256 = "78e4f327a928aed2342d845c9e8e4458eca8f77898aa2a7dd5f7ca55fc61a62b"; }
- { locale = "ro"; arch = "linux-x86_64"; sha256 = "320c3dbd605c650b378ed8e93e8b2518039c8efab27471012a498dbc51d1cac3"; }
- { locale = "ru"; arch = "linux-i686"; sha256 = "3fc9d98a86e63717dfeaa58ece0dbbb1a0523801c56c056ff74a60491a27fcb9"; }
- { locale = "ru"; arch = "linux-x86_64"; sha256 = "1d95e946fbb109380ad2e2fd5986f12211241113e218ae7ecb43e009b7aa5a37"; }
- { locale = "si"; arch = "linux-i686"; sha256 = "12d8e83cc703c00da6054bd32bdf39993b588cbb5374880a3961d5ab476b6d29"; }
- { locale = "si"; arch = "linux-x86_64"; sha256 = "4ce710ccda7b56a46a8fea2f42c499aa2296377a0979f76f19563caa85f4517e"; }
- { locale = "sk"; arch = "linux-i686"; sha256 = "86b726c25de378d53a8220681468fec88a7d525288b02eb9b700b12f87739ffc"; }
- { locale = "sk"; arch = "linux-x86_64"; sha256 = "bf8f6bb1b5fd7c82ca14f1802e7914e10b981c04d3ca89df983fe07d7df5b88c"; }
- { locale = "sl"; arch = "linux-i686"; sha256 = "39aaca3b7a559346aa418fd4abb1f2a44dc71901050a212178e3cbc7b870e6b1"; }
- { locale = "sl"; arch = "linux-x86_64"; sha256 = "85f5f097c7b9a07bbcb97caa9c8e5cfd16d3636ae17b41ec32e91d1238134db9"; }
- { locale = "son"; arch = "linux-i686"; sha256 = "2b5a33079e835afdf0246f8b4dec1db92fcc861636a75333c75f6d5d40c14201"; }
- { locale = "son"; arch = "linux-x86_64"; sha256 = "4d91324e9b7f88db822216440d5420b0c8b0898bdf77699a6b0fde1ab4db2f0c"; }
- { locale = "sq"; arch = "linux-i686"; sha256 = "e3e0194f5e72904b056be4b3e941c015d5af0d9f1a349fa39492a6cefaf5236d"; }
- { locale = "sq"; arch = "linux-x86_64"; sha256 = "45767fa6b57fb21399d4850fa88a3435e3fe0bb679de56fc1c28767eca235ba5"; }
- { locale = "sr"; arch = "linux-i686"; sha256 = "0f7addd1581d8552b874651bc8dde5b2fe4d4b814c694272674fb5f7732000be"; }
- { locale = "sr"; arch = "linux-x86_64"; sha256 = "7b68d38004216c86e3eb648fa78b06da88a703d68343f723f8e9d577d4c1224c"; }
- { locale = "sv-SE"; arch = "linux-i686"; sha256 = "5f76d137052ff04da12e80f08a34a09c6ccd92d9ddf2f6efcf193940a948f86c"; }
- { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "1aac59a70ac58bfe1926e87a850d7a5a2783332cfd49d9df1ad1fd3e276a9a29"; }
- { locale = "ta"; arch = "linux-i686"; sha256 = "2716d50134514693b5d6edafc7c127c708b9973c39d42823987061547e4c18be"; }
- { locale = "ta"; arch = "linux-x86_64"; sha256 = "9c9310ad313227cab38d8cd9ff6c4d9c15037bd39777a7fbd4b23ca71a1ac48e"; }
- { locale = "te"; arch = "linux-i686"; sha256 = "ac7d78ab767b13810ef7f313c2ba92067756082667db0e256e916f1f0be8c9fa"; }
- { locale = "te"; arch = "linux-x86_64"; sha256 = "cd6fc0d115fb67272f205a3595c82107dc8b20ce0696a2de8da6f82a7ae07112"; }
- { locale = "th"; arch = "linux-i686"; sha256 = "2d17b346aa296b79e880b83185d3608de4369de62e2e0ce2cfb8d2f3dd6ee97f"; }
- { locale = "th"; arch = "linux-x86_64"; sha256 = "331f2c59b2659c65c6899455e9ce55cd54b8debf4d17a60a8d6e76e2198080b6"; }
- { locale = "tr"; arch = "linux-i686"; sha256 = "491550857b3b2b3643f1798a9e871492177cdddfd17366057d147e1fbe1ca40e"; }
- { locale = "tr"; arch = "linux-x86_64"; sha256 = "aa8677def660eb8a3d258e7e7da05972e84be96807c8c7912f15bde05d749af7"; }
- { locale = "uk"; arch = "linux-i686"; sha256 = "9ebb7a0997353bc84b5d48ffae1631d30a70ecc3ed21010fc8499513e3404651"; }
- { locale = "uk"; arch = "linux-x86_64"; sha256 = "d686139d6622d6867cb9af95ec0c5e79866974d12468722d40c0ede104897034"; }
- { locale = "vi"; arch = "linux-i686"; sha256 = "e56c74b2f6752667f9448c081114065aa0d1c63979cc4bbbf1965a7acc62133e"; }
- { locale = "vi"; arch = "linux-x86_64"; sha256 = "41c79d4bcca7c28d02108129de1c8c93f5666bbaf651faef1eb9b424d4e8cb5d"; }
- { locale = "xh"; arch = "linux-i686"; sha256 = "89f30d4950fec07c9f1df426c1e5e9f72ab15efa5db93d243418909369d69f03"; }
- { locale = "xh"; arch = "linux-x86_64"; sha256 = "f97ea6169a6bdd4e48a0aee72ca709ebc1e2032a406d3dde6d8a6719b8429ee7"; }
- { locale = "zh-CN"; arch = "linux-i686"; sha256 = "9ad1e75c6ca5f38bb565e747cec2901ad567efd69efa56328b912e37239f5b9e"; }
- { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "400baea252b6f92051e7b054bdb4a4827571036ff7def10cbd841cfe2eaea60a"; }
- { locale = "zh-TW"; arch = "linux-i686"; sha256 = "2e7bc62dd7c6c41c5feaf8cf9131bbbb0f0a3403870e57066a98147275b120fd"; }
- { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "f2d620e5f4e8baac689557dc34ce582aaf36bcf4253c4f7cb00db52e1e1db98e"; }
- { locale = "zu"; arch = "linux-i686"; sha256 = "c9915d4f1b637934ba22dbb81aa2f711417fd5600c6efe25781f11bbd0c707cc"; }
- { locale = "zu"; arch = "linux-x86_64"; sha256 = "8fa84e20fb1e21947a8f727bb881d8249bf384944ee9693314cb39715547da5d"; }
- ];
+# imports `version` and `sources`
+with (import ./sources.nix);
+let
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
@@ -247,7 +64,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
- inherit (source) sha256;
+ inherit (source) sha1;
};
phases = "unpackPhase installPhase";
@@ -271,7 +88,10 @@ stdenv.mkDerivation {
gtk
libX11
libXScrnSaver
+ libXcomposite
+ libXdamage
libXext
+ libXfixes
libXinerama
libXrender
libXt
@@ -331,11 +151,10 @@ stdenv.mkDerivation {
'';
meta = with stdenv.lib; {
- description = "Mozilla Firefox, free web browser";
+ description = "Mozilla Firefox, free web browser (binary package)";
homepage = http://www.mozilla.org/firefox/;
license = {
- shortName = "unfree"; # not sure
- fullName = "unfree";
+ free = false;
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
};
platforms = platforms.linux;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
deleted file mode 100644
index 7936741cb3e..00000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
+++ /dev/null
@@ -1,219 +0,0 @@
-# TODO share code with thunderbird-bin/generate_nix.rb
-
-version = if ARGV.empty?
- "latest"
- else
- ARGV[0]
- end
-
-base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
- system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
- File.basename(path)
-end.sort
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-# real version number, e.g. "30.0" instead of "latest".
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
- arches.map do |arch|
- path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
-
- [locale, arch, path]
- end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
- input.each_line.map do |line|
- $stderr.puts(line)
-
- line.match(/^[0-9a-f]*/)[0]
- end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, alsaLib
-, atk
-, cairo
-, cups
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gconf
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-, heimdal
-, pulseaudio
-, systemd
-}:
-
-assert stdenv.isLinux;
-
-let
- version = "#{real_version}";
- sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
- locale, arch, path = tuple
-
- puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
- ];
-
- arch = if stdenv.system == "i686-linux"
- then "linux-i686"
- else "linux-x86_64";
-
- isPrefixOf = prefix: string:
- builtins.substring 0 (builtins.stringLength prefix) string == prefix;
-
- sourceMatches = locale: source:
- (isPrefixOf source.locale locale) && source.arch == arch;
-
- systemLocale = config.i18n.defaultLocale or "en-US";
-
- defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
-
- source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-in
-
-stdenv.mkDerivation {
- name = "firefox-bin-${version}";
-
- src = fetchurl {
- url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
- inherit (source) sha256;
- };
-
- phases = "unpackPhase installPhase";
-
- libPath = stdenv.lib.makeLibraryPath
- [ stdenv.gcc.gcc
- alsaLib
- atk
- cairo
- cups
- dbus_glib
- dbus_libs
- fontconfig
- freetype
- gconf
- gdk_pixbuf
- glib
- glibc
- gst_plugins_base
- gstreamer
- gtk
- libX11
- libXScrnSaver
- libXext
- libXinerama
- libXrender
- libXt
- libcanberra
- libgnome
- libgnomeui
- mesa
- nspr
- nss
- pango
- heimdal
- pulseaudio
- systemd
- ] + ":" + stdenv.lib.makeSearchPath "lib64" [
- stdenv.gcc.gcc
- ];
-
- # "strip" after "patchelf" may break binaries.
- # See: https://github.com/NixOS/patchelf/issues/10
- dontStrip = 1;
-
- installPhase =
- ''
- mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
- cp -r * "$prefix/usr/lib/firefox-bin-${version}"
-
- mkdir -p "$out/bin"
- ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
-
- for executable in \
- firefox mozilla-xremote-client firefox-bin plugin-container \
- updater crashreporter webapprt-stub
- do
- patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
- "$out/usr/lib/firefox-bin-${version}/$executable"
- done
-
- for executable in \
- firefox mozilla-xremote-client firefox-bin plugin-container \
- updater crashreporter webapprt-stub libxul.so
- do
- patchelf --set-rpath "$libPath" \
- "$out/usr/lib/firefox-bin-${version}/$executable"
- done
-
- # Create a desktop item.
- mkdir -p $out/share/applications
- cat > $out/share/applications/firefox.desktop < source.nix
+
+{
+ version = "#{real_version}";
+ sources = [
+EOH
+
+sources.each do |source|
+ puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+ ];
+}
+EOF
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
new file mode 100644
index 00000000000..dbb93b69019
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -0,0 +1,188 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+ version = "34.0.5";
+ sources = [
+ { locale = "ach"; arch = "linux-i686"; sha1 = "2122f58004eec918c2a6f30e6d8a35fcee793f8d"; }
+ { locale = "ach"; arch = "linux-x86_64"; sha1 = "c304799de726df6c6c99aa4d7b2cc2ae552b92c1"; }
+ { locale = "af"; arch = "linux-i686"; sha1 = "1e367d63ab86049ba4f3f4121fd3a9531a9cd00f"; }
+ { locale = "af"; arch = "linux-x86_64"; sha1 = "1e2d3e17bed3aac9e53493f25d1e9a22a70f2710"; }
+ { locale = "an"; arch = "linux-i686"; sha1 = "cba77e9401b2ce16030cc46e7083c0a87c244165"; }
+ { locale = "an"; arch = "linux-x86_64"; sha1 = "adc7bb9a86596332c37a3cab118942c4953ec7e9"; }
+ { locale = "ar"; arch = "linux-i686"; sha1 = "59a85dcbc756752ff2ba07ffb12fecf10beb2bf9"; }
+ { locale = "ar"; arch = "linux-x86_64"; sha1 = "0c9b4c4ef3d39e3e44885359e1a85e03c47b57e3"; }
+ { locale = "as"; arch = "linux-i686"; sha1 = "69633541cad0a8fbf1798d4b47047adc2ac23cf3"; }
+ { locale = "as"; arch = "linux-x86_64"; sha1 = "b628ace403803425ab5f8e485f1107ace00e36a4"; }
+ { locale = "ast"; arch = "linux-i686"; sha1 = "adefb5324db5cb21ed46c2edee4b476e451d39d5"; }
+ { locale = "ast"; arch = "linux-x86_64"; sha1 = "734cbe739065246084cc452ca60e79248b3abada"; }
+ { locale = "az"; arch = "linux-i686"; sha1 = "12a7a57784563982df4fa9c7da1e0ff830afe81f"; }
+ { locale = "az"; arch = "linux-x86_64"; sha1 = "b8713205b616a81cea2675e477ef29db576f1ab0"; }
+ { locale = "be"; arch = "linux-i686"; sha1 = "cb60c04c2abab2ad59d6e19a08a425744f0135a9"; }
+ { locale = "be"; arch = "linux-x86_64"; sha1 = "b1bd0faf18a2f1cb7617d7c1946d586ec7db2fd1"; }
+ { locale = "bg"; arch = "linux-i686"; sha1 = "c260de634b14ed00a2396f09871fa726c5b24d09"; }
+ { locale = "bg"; arch = "linux-x86_64"; sha1 = "0a723d9d1b5abadb8250b9be5e6af8b7615231c4"; }
+ { locale = "bn-BD"; arch = "linux-i686"; sha1 = "292e7f58b2ca6b603949cc22965de0e568811dfb"; }
+ { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "c6f8afcd2e2269c5092dce8779e6068fd2e09540"; }
+ { locale = "bn-IN"; arch = "linux-i686"; sha1 = "3d93fbcb16a6161740cdee5c91fb2b9e6d5de77a"; }
+ { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "570cb383c4dcd09f90a02aa6898504295cad25e6"; }
+ { locale = "br"; arch = "linux-i686"; sha1 = "92fb316eae04d94320dd623d22d7b8c2a76018f6"; }
+ { locale = "br"; arch = "linux-x86_64"; sha1 = "a7410ed0ec67ae9746f652177664c292b727fdfc"; }
+ { locale = "bs"; arch = "linux-i686"; sha1 = "7f08e9920875f59b6df051acc68d1bb508615396"; }
+ { locale = "bs"; arch = "linux-x86_64"; sha1 = "654d90383abc26272d017b914627516b3aa33147"; }
+ { locale = "ca"; arch = "linux-i686"; sha1 = "645133ed542917fa32518279b375cf9dc4149dd7"; }
+ { locale = "ca"; arch = "linux-x86_64"; sha1 = "3eaff9df7e51971f9c1e37028430f0159ddcda9c"; }
+ { locale = "cs"; arch = "linux-i686"; sha1 = "4b283d1393fe06c80f412848b146295519e1957d"; }
+ { locale = "cs"; arch = "linux-x86_64"; sha1 = "5830a2bc46234d1adac6127fd470223ff750f5e7"; }
+ { locale = "csb"; arch = "linux-i686"; sha1 = "36c7bd7ccafdd5225d6f6dcde6928e4ca9aff603"; }
+ { locale = "csb"; arch = "linux-x86_64"; sha1 = "e5070bc33436df13e68e9ce63f091b1f60a96b5d"; }
+ { locale = "cy"; arch = "linux-i686"; sha1 = "7f6e35e997082406036864fb1cfc4bfd9380d156"; }
+ { locale = "cy"; arch = "linux-x86_64"; sha1 = "2c2ac492181ccdf10ae88c6cf1ec14a9d81c6019"; }
+ { locale = "da"; arch = "linux-i686"; sha1 = "cf2be147f015d40d0eecc1f00326856b06acdedd"; }
+ { locale = "da"; arch = "linux-x86_64"; sha1 = "01804683989d0731826d7dda67d6d7a46fb8de48"; }
+ { locale = "de"; arch = "linux-i686"; sha1 = "be8909ee0a9cf86869479c9173ea20f27d6e841a"; }
+ { locale = "de"; arch = "linux-x86_64"; sha1 = "377f54230cbe9d8dfd6242043fc8e9e43e392688"; }
+ { locale = "dsb"; arch = "linux-i686"; sha1 = "d50f0fca6b2036aca565a694bf70112121acc009"; }
+ { locale = "dsb"; arch = "linux-x86_64"; sha1 = "f532c3ac7f45682aa916f5cde32c5921a83fe9cf"; }
+ { locale = "el"; arch = "linux-i686"; sha1 = "2cf025815a5b9d7c1b7f353a592b700377797ff2"; }
+ { locale = "el"; arch = "linux-x86_64"; sha1 = "2a3c3b79072d6196cfcd00d4ffe546415e5c3c2b"; }
+ { locale = "en-GB"; arch = "linux-i686"; sha1 = "c638ac1b0f94d7afdf52b580108d9d9f0fbb4642"; }
+ { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "3a89c58a1a391268de63de380f379cf47956873c"; }
+ { locale = "en-US"; arch = "linux-i686"; sha1 = "9f83d949c426b798268a038c1173bad1efb8076f"; }
+ { locale = "en-US"; arch = "linux-x86_64"; sha1 = "e9f99d0fd1fadd62ba44606f0fe67cc829b64da3"; }
+ { locale = "en-ZA"; arch = "linux-i686"; sha1 = "a84f15bb02673c849721290858de31ca9697448f"; }
+ { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "28984e2a5d91f27247eb40db48f3055a24e77f3c"; }
+ { locale = "eo"; arch = "linux-i686"; sha1 = "9951a09c2132d468ff1b8c647af195ddb3ecb050"; }
+ { locale = "eo"; arch = "linux-x86_64"; sha1 = "ec90facdeced4b969547a8193dc9f196a13a5c0c"; }
+ { locale = "es-AR"; arch = "linux-i686"; sha1 = "a4df107f065e950fe2702871fb10d1d7ddc704dc"; }
+ { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "6cd0464702921be32a70eb5b68be45f5f6a65ff4"; }
+ { locale = "es-CL"; arch = "linux-i686"; sha1 = "21325f12a6ed59c471a86a8273efd76fdc9dc3bd"; }
+ { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "b6660728d8ac2ba89a9bb522a8fd7552c7b0fd84"; }
+ { locale = "es-ES"; arch = "linux-i686"; sha1 = "00b2c86d3f7f6431760e2bdf6228090b46703b21"; }
+ { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "d75ee1d75eb8c1d7f43fd082575cdb9d5657a719"; }
+ { locale = "es-MX"; arch = "linux-i686"; sha1 = "6e7d188ae57eeb457a5af93cef77a3e0fd3e4138"; }
+ { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "905ae336894a4d7efdfd5890c43579fcbc4f63e6"; }
+ { locale = "et"; arch = "linux-i686"; sha1 = "49f5495d4fe4166f46f3d2cc784b0adadad40973"; }
+ { locale = "et"; arch = "linux-x86_64"; sha1 = "80706f89b23dd019718888c2308596ec63c0cd6c"; }
+ { locale = "eu"; arch = "linux-i686"; sha1 = "2531d3d157aee3c20616fd94606668cc78ce71f5"; }
+ { locale = "eu"; arch = "linux-x86_64"; sha1 = "6c84eab337a4b43d604f34e7ea2b563500a52f37"; }
+ { locale = "fa"; arch = "linux-i686"; sha1 = "61fe70954eca24f1d7fa8908f6cfaab1b4abfad2"; }
+ { locale = "fa"; arch = "linux-x86_64"; sha1 = "f43b28a2b0af9ba18da35c69824370cec628d056"; }
+ { locale = "ff"; arch = "linux-i686"; sha1 = "2c1f4c5a2f3639328af873e59afd6c6a479f69ae"; }
+ { locale = "ff"; arch = "linux-x86_64"; sha1 = "8737e7d4263e66fafbf372568587173e58816f6a"; }
+ { locale = "fi"; arch = "linux-i686"; sha1 = "3a5b5171449e3629b0e22d08a9bf9a5bb0428a19"; }
+ { locale = "fi"; arch = "linux-x86_64"; sha1 = "1c901117715d8ac9d869bd79d7ffda778562b4bd"; }
+ { locale = "fr"; arch = "linux-i686"; sha1 = "3962280160df7f786cc26275025976df9c267174"; }
+ { locale = "fr"; arch = "linux-x86_64"; sha1 = "cc2f1f433b88b5f73e5c7e4683d85e5275720734"; }
+ { locale = "fy-NL"; arch = "linux-i686"; sha1 = "ed2b578e76aa9e56a85d3a02a3d9d6d25e07d624"; }
+ { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "110741b45050dbc896424a6e9cf32b9f8555d657"; }
+ { locale = "ga-IE"; arch = "linux-i686"; sha1 = "32fa55c45a7fbd57a7823135e87c288d463440ee"; }
+ { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "4d0c00130026b892cfc259d8ffb6c57338e8398d"; }
+ { locale = "gd"; arch = "linux-i686"; sha1 = "2fbafdbe1218eb34ec48a5d92904c0bd07b23690"; }
+ { locale = "gd"; arch = "linux-x86_64"; sha1 = "90810697ad8206eced9e4c4330c9242c4f3baafa"; }
+ { locale = "gl"; arch = "linux-i686"; sha1 = "2be76249fc1afde7ed156beb5df2d2eef50a485e"; }
+ { locale = "gl"; arch = "linux-x86_64"; sha1 = "d400c5692a767b14dabce47303aa195bc17af3c5"; }
+ { locale = "gu-IN"; arch = "linux-i686"; sha1 = "15704df5ff619aa6818521904d557eea65165206"; }
+ { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "c19923c4e9d5ae89bf9f1aa441b9f92d6f2fd02c"; }
+ { locale = "he"; arch = "linux-i686"; sha1 = "39694a4f966ad488ff77592dc490302449104df3"; }
+ { locale = "he"; arch = "linux-x86_64"; sha1 = "deb058d0798eadc5fe3920996421d86d446ca82e"; }
+ { locale = "hi-IN"; arch = "linux-i686"; sha1 = "8d28e60f8920001184dc20cc1f381f9474c9a6fd"; }
+ { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "3e9c18fc995fc013d3bd8bc87f8accc951599e79"; }
+ { locale = "hr"; arch = "linux-i686"; sha1 = "6ced9bd6614b921600cca7520c8698f265087a31"; }
+ { locale = "hr"; arch = "linux-x86_64"; sha1 = "8ef625b32212c387a367b8059c4d0bf62d5814da"; }
+ { locale = "hsb"; arch = "linux-i686"; sha1 = "49ecea386737f963db43f8c13c8d7e9b036523f3"; }
+ { locale = "hsb"; arch = "linux-x86_64"; sha1 = "7aba537cb8ffc7b7106dba4b378024c5a0356652"; }
+ { locale = "hu"; arch = "linux-i686"; sha1 = "1d406c76c8846b4ec81e62a958d662b582f75357"; }
+ { locale = "hu"; arch = "linux-x86_64"; sha1 = "4f582fd196573f5ab1c93dc6652a2e86617a0be7"; }
+ { locale = "hy-AM"; arch = "linux-i686"; sha1 = "d71daf124c8a16d4bd1d9d17df47cf10d5a5137c"; }
+ { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "b8f124244441a6ce474860731452760e92e575c4"; }
+ { locale = "id"; arch = "linux-i686"; sha1 = "8e4c0ec82aaeee6fdcf7541f6fd0bab8811ec5ae"; }
+ { locale = "id"; arch = "linux-x86_64"; sha1 = "3b6a5ff08f1c7f81c0da50fa7d2ed17e7d7da645"; }
+ { locale = "is"; arch = "linux-i686"; sha1 = "0aa678cd3b58706ac7d9a36399abcc3a8f05a894"; }
+ { locale = "is"; arch = "linux-x86_64"; sha1 = "e2a815e45fd6c20b37085aea0b2fe6e23848fde7"; }
+ { locale = "it"; arch = "linux-i686"; sha1 = "8213e082043b61872df49709732d0f209956f858"; }
+ { locale = "it"; arch = "linux-x86_64"; sha1 = "f411672ad5fb62ddc6cc2f9e89fea611de0d6356"; }
+ { locale = "ja"; arch = "linux-i686"; sha1 = "a540dd09786c0701a1ec22adbd1a19d6cbf0eb60"; }
+ { locale = "ja"; arch = "linux-x86_64"; sha1 = "decfa3a81bd81c0d04c62d1ff70858bcbfe505c2"; }
+ { locale = "kk"; arch = "linux-i686"; sha1 = "bfda7cdf57eafd6248bd5f32cf6ba84a3a05f202"; }
+ { locale = "kk"; arch = "linux-x86_64"; sha1 = "6a12ec04401251b9382a8b8b927f4684f7268971"; }
+ { locale = "km"; arch = "linux-i686"; sha1 = "06dc00c095690aa1eabd87d3dd425d3481349a09"; }
+ { locale = "km"; arch = "linux-x86_64"; sha1 = "901e1755688474d888ebcc524ca6912280fa5c11"; }
+ { locale = "kn"; arch = "linux-i686"; sha1 = "ccc86b5b46f3444f0a09b8d70ba804a9245e55f4"; }
+ { locale = "kn"; arch = "linux-x86_64"; sha1 = "b84394b314bd99a0bf856e0330d537f14dc624f1"; }
+ { locale = "ko"; arch = "linux-i686"; sha1 = "3e3d97975c5c67db99785ccca608ad170e870523"; }
+ { locale = "ko"; arch = "linux-x86_64"; sha1 = "1575641404e5b6239745eeae202ddbb5b8ede6d0"; }
+ { locale = "lij"; arch = "linux-i686"; sha1 = "4abdf303280a82ededf5cb2a8433f169a4d2959a"; }
+ { locale = "lij"; arch = "linux-x86_64"; sha1 = "974f1c26ee02e3eb20daf8cb7a991e83dbeb8c60"; }
+ { locale = "lt"; arch = "linux-i686"; sha1 = "18cdb106a6866bb1ce33c3712011602e2503799e"; }
+ { locale = "lt"; arch = "linux-x86_64"; sha1 = "fbf52dab19307bf8f8b7d84e32d7bcddfcb4693b"; }
+ { locale = "lv"; arch = "linux-i686"; sha1 = "a383ddf03d269575eee7b7fe44ae334aa8d648e9"; }
+ { locale = "lv"; arch = "linux-x86_64"; sha1 = "91f4b3cfbd5651e0227e2d9c40cbc1eda94e3413"; }
+ { locale = "mai"; arch = "linux-i686"; sha1 = "62318920bdcb6aa26fb31e2b80e861eeef0f4da6"; }
+ { locale = "mai"; arch = "linux-x86_64"; sha1 = "1811f361ed1b6d2864f0e7cc3950668ba8633288"; }
+ { locale = "mk"; arch = "linux-i686"; sha1 = "9b2f802e0543719a3fa13027b283af062278466e"; }
+ { locale = "mk"; arch = "linux-x86_64"; sha1 = "5b22cb28cfd1390dce8534674fcecb201f431ebd"; }
+ { locale = "ml"; arch = "linux-i686"; sha1 = "25862ddddd1d9f7ddcbff8780a39ab2609fdff74"; }
+ { locale = "ml"; arch = "linux-x86_64"; sha1 = "eb5fa58184b6bd10434c5371834eaf2ee343bb6e"; }
+ { locale = "mr"; arch = "linux-i686"; sha1 = "b4dc26f1d52da326046173765832c8e06eb27adb"; }
+ { locale = "mr"; arch = "linux-x86_64"; sha1 = "d8e5968afee45607b2874845f2782add083f3d0a"; }
+ { locale = "ms"; arch = "linux-i686"; sha1 = "fce3550b0e03cf6c78d55f1e89afe27bea3ed0fa"; }
+ { locale = "ms"; arch = "linux-x86_64"; sha1 = "7bc8f231ac82827d9095ce896cb16f60c92b1053"; }
+ { locale = "nb-NO"; arch = "linux-i686"; sha1 = "7d077713f9cf02833fa9e3ef69a5dac11d88f59e"; }
+ { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "642851c8ead7a0e673d9d8d0329a551cd9282337"; }
+ { locale = "nl"; arch = "linux-i686"; sha1 = "f0cd799d98840d8ca7825caac582035761347a94"; }
+ { locale = "nl"; arch = "linux-x86_64"; sha1 = "beaa7e385b655c82999dc38eb39af31e7e9de69a"; }
+ { locale = "nn-NO"; arch = "linux-i686"; sha1 = "04ed2d080ef687b0504f3d42bea97b2e56876795"; }
+ { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "857fbeef81cf00def5eaaa02effb1731eac15a1f"; }
+ { locale = "or"; arch = "linux-i686"; sha1 = "a208556246b7574d5e71eec8a56d8a2ab3c43767"; }
+ { locale = "or"; arch = "linux-x86_64"; sha1 = "f7b223bfe82d2ab7a0f2dba0b93e682ef5c833e3"; }
+ { locale = "pa-IN"; arch = "linux-i686"; sha1 = "b67c2aa36065ece0526a280cbe33adcb38a20843"; }
+ { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "73aef7a4e318625d18cade40090ec112667de295"; }
+ { locale = "pl"; arch = "linux-i686"; sha1 = "3446a41365fb0852684d0808d1fa85ddabcf0958"; }
+ { locale = "pl"; arch = "linux-x86_64"; sha1 = "0c1b1f1279e1639e71acdccaa4a687bf26aca19f"; }
+ { locale = "pt-BR"; arch = "linux-i686"; sha1 = "a3ec0b02796f67a798bbb895cf926f9bd7ccbe8d"; }
+ { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "e3b74fcb0ec26c440acedfe282a3ef0902a10d2b"; }
+ { locale = "pt-PT"; arch = "linux-i686"; sha1 = "0b942ec4a8fee50595a7b34e76636bfa83d2dfc0"; }
+ { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "d20698edd8193185342c2487433af4ea39fb6a3a"; }
+ { locale = "rm"; arch = "linux-i686"; sha1 = "442b8ac786b05e655b415a76427cca7ee0aa1abf"; }
+ { locale = "rm"; arch = "linux-x86_64"; sha1 = "250cb2a8e3fe869ae150de97b15e6d8f8fd30da3"; }
+ { locale = "ro"; arch = "linux-i686"; sha1 = "3a796ab446e77064ad3a094464c54d578b5ca910"; }
+ { locale = "ro"; arch = "linux-x86_64"; sha1 = "a512c2bd2cdd21f108ff1f77a747c606f28f8621"; }
+ { locale = "ru"; arch = "linux-i686"; sha1 = "2a907a348dd1f61e2ee8b6027e2085ee2e7e71bf"; }
+ { locale = "ru"; arch = "linux-x86_64"; sha1 = "228cad14512e25a445c1a5a92262ddf8fbb2f5c5"; }
+ { locale = "si"; arch = "linux-i686"; sha1 = "69ad63bfa75e1279bdcfe3d4127d83bb49b134b4"; }
+ { locale = "si"; arch = "linux-x86_64"; sha1 = "851e02e6ab551af88f41655cb3fe15883e536a62"; }
+ { locale = "sk"; arch = "linux-i686"; sha1 = "56c439e0dca6d75aa218e995187d10c0f88d3390"; }
+ { locale = "sk"; arch = "linux-x86_64"; sha1 = "43b69972b4e785069eba3ca7db1d8563f5ea76d8"; }
+ { locale = "sl"; arch = "linux-i686"; sha1 = "64bad6a92fa3eb1c98e2ce038e4fafdddb699690"; }
+ { locale = "sl"; arch = "linux-x86_64"; sha1 = "ace07b787362d893be563c9d59ec7e616f3a1d11"; }
+ { locale = "son"; arch = "linux-i686"; sha1 = "6a027929d81d9c36f62d0f092d4d7f1451713077"; }
+ { locale = "son"; arch = "linux-x86_64"; sha1 = "ebb4fd0f3dcabefd3d5e19a67d3e0e02a70918fa"; }
+ { locale = "sq"; arch = "linux-i686"; sha1 = "3048cc7c6837dbad7c654b37b44ee1c3a588633c"; }
+ { locale = "sq"; arch = "linux-x86_64"; sha1 = "d4ef1a51d0bf973fe4bfc614f8878f021ec46f5b"; }
+ { locale = "sr"; arch = "linux-i686"; sha1 = "d10e7c6619d2a2879eaab9d8c3a1a7f7458f60bb"; }
+ { locale = "sr"; arch = "linux-x86_64"; sha1 = "5b140de3d590ea84f91165396b7e154acc247172"; }
+ { locale = "sv-SE"; arch = "linux-i686"; sha1 = "57efc1f16710acd31a6db186673995f0713dba6f"; }
+ { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "d65d51b861eb62a5cdc99491f3c91dbb02638511"; }
+ { locale = "ta"; arch = "linux-i686"; sha1 = "aead4b55accc679c8fd49a099d12de95410bc480"; }
+ { locale = "ta"; arch = "linux-x86_64"; sha1 = "fcca6081e4fa248f86d77bc8d7aad658e82ef4c7"; }
+ { locale = "te"; arch = "linux-i686"; sha1 = "dbcdd1cc740d82f075c71bb6e3d087312ab7700d"; }
+ { locale = "te"; arch = "linux-x86_64"; sha1 = "901df9c92377dec49e66b17c7efd5a3d8f8ea5d5"; }
+ { locale = "th"; arch = "linux-i686"; sha1 = "a150db665c6a1e5ceb3d6a27896431890b5631c5"; }
+ { locale = "th"; arch = "linux-x86_64"; sha1 = "144489c6c53d1fdc32a42d2ebb6905946369c70a"; }
+ { locale = "tr"; arch = "linux-i686"; sha1 = "ccfc01ef15ee5345a2f0e07b1c4bcf8ac4459554"; }
+ { locale = "tr"; arch = "linux-x86_64"; sha1 = "563862e9a8b355b12c3dca36fc4d8c219707820a"; }
+ { locale = "uk"; arch = "linux-i686"; sha1 = "9885b14de8ca7d1a25adec103e245dc6d54c226d"; }
+ { locale = "uk"; arch = "linux-x86_64"; sha1 = "8d9d3e4a14d0288dc6d82cb652752712e0e4b577"; }
+ { locale = "vi"; arch = "linux-i686"; sha1 = "a70b8c7d9a7bbda992faf8f3762e55412b12a08d"; }
+ { locale = "vi"; arch = "linux-x86_64"; sha1 = "17661185644f68902eb946a3cd179c77f9681881"; }
+ { locale = "xh"; arch = "linux-i686"; sha1 = "1f1c9a8c1a614e5855d7303d808e661e54536de9"; }
+ { locale = "xh"; arch = "linux-x86_64"; sha1 = "17490957c9f3064ea5ea35562c0d669a557ea1ae"; }
+ { locale = "zh-CN"; arch = "linux-i686"; sha1 = "5140d26ab69f0645ae512d8a9d277ae6efc7dc45"; }
+ { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "cc09fcde7062e5bac4952b239354152855b8c52a"; }
+ { locale = "zh-TW"; arch = "linux-i686"; sha1 = "e923cb157faa256852ead1aef8e1c5e420e4fb27"; }
+ { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "d801a229474eaee5229137f2e69629abdf60e36b"; }
+ ];
+}
diff --git a/pkgs/applications/networking/browsers/firefox/13.0.nix b/pkgs/applications/networking/browsers/firefox/13.0.nix
deleted file mode 100644
index 1717a476e9c..00000000000
--- a/pkgs/applications/networking/browsers/firefox/13.0.nix
+++ /dev/null
@@ -1,188 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip, makeWrapper
-
-, # If you want the resulting program to call itself "Firefox" instead
- # of "Shiretoko" or whatever, enable this option. However, those
- # binaries may not be distributed without permission from the
- # Mozilla Foundation, see
- # http://www.mozilla.org/foundation/trademarks/.
- enableOfficialBranding ? false
-}:
-
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-
-rec {
-
- firefoxVersion = "13.0.1";
-
- xulVersion = "13.0.1"; # this attribute is used by other packages
-
-
- src = fetchurl {
- url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
- sha256 = "1qwvs3rdmrnkjnjvhi3vh4mjdpxr43zcm7llc6z5qws9n9yx15n1";
- };
-
- commonConfigureFlags =
- [ "--enable-optimize"
- "--disable-debug"
- "--enable-strip"
- "--with-system-jpeg"
- "--with-system-zlib"
- "--with-system-bz2"
- "--with-system-nspr"
- "--with-system-nss"
- # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
- # "--enable-system-cairo" # disabled for the moment because our Cairo is too old
- "--enable-system-sqlite"
- "--disable-crashreporter"
- "--disable-tests"
- "--disable-necko-wifi" # maybe we want to enable this at some point
- "--disable-installer"
- "--disable-updater"
- ];
-
-
- xulrunner = stdenv.mkDerivation rec {
- name = "xulrunner-${xulVersion}";
-
- inherit src;
-
- buildInputs =
- [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
- python dbus dbus_glib pango freetype fontconfig xlibs.libXi
- xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
- alsaLib nspr nss libnotify xlibs.pixman yasm mesa
- xlibs.libXScrnSaver xlibs.scrnsaverproto
- xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
- ];
-
- configureFlags =
- [ "--enable-application=xulrunner"
- "--disable-javaxpcom"
- ] ++ commonConfigureFlags;
-
- enableParallelBuilding = true;
-
- # Hack to work around make's idea of -lbz2 dependency
- preConfigure =
- ''
- find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
- stdenv.lib.concatStringsSep ":"
- (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
- }' ';'
-
- export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-
- mkdir ../objdir
- cd ../objdir
- configureScript=../mozilla-release/configure
- ''; # */
-
- # !!! Temporary hack.
- preBuild =
- ''
- export NIX_ENFORCE_PURITY=
- '';
-
- installFlags = "SKIP_GRE_REGISTRATION=1";
-
- postInstall = ''
- # Fix some references to /bin paths in the Xulrunner shell script.
- substituteInPlace $out/bin/xulrunner \
- --replace /bin/pwd "$(type -tP pwd)" \
- --replace /bin/ls "$(type -tP ls)"
-
- # Fix run-mozilla.sh search
- libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
- echo libDir: $libDir
- test -n "$libDir"
- cd $out/bin
- mv xulrunner ../lib/$libDir/
-
- for i in $out/lib/$libDir/*; do
- file $i;
- if file $i | grep executable &>/dev/null; then
- echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
- chmod a+x "$out/bin/$(basename "$i")";
- fi;
- done
- for i in $out/lib/$libDir/*.so; do
- patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
- done
- for i in $out/lib/$libDir/{xpcshell,plugin-container}; do
- wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
- done
- rm -f $out/bin/run-mozilla.sh
- ''; # */
-
- meta = {
- description = "Mozilla Firefox XUL runner";
- homepage = http://www.mozilla.com/en-US/firefox/;
- };
-
- passthru = { inherit gtk; version = xulVersion; };
- };
-
-
- firefox = stdenv.mkDerivation rec {
- name = "firefox-${firefoxVersion}";
-
- inherit src;
-
- enableParallelBuilding = true;
-
- buildInputs =
- [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
- dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
- xlibs.pixman yasm mesa sqlite file unzip
- ];
-
- propagatedBuildInputs = [xulrunner];
-
- configureFlags =
- [ "--enable-application=browser"
- "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
- "--enable-chrome-format=jar"
- "--disable-elf-hack"
- ]
- ++ commonConfigureFlags
- ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
- # Hack to work around make's idea of -lbz2 dependency
- preConfigure =
- ''
- find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
- stdenv.lib.concatStringsSep ":"
- (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
- }' ';'
- '';
-
- postInstall =
- ''
- ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
- for j in $out/bin/*; do
- i="$(readlink "$j")";
- file $i;
- if file $i | grep executable &>/dev/null; then
- rm "$out/bin/$(basename "$i")"
- echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
- chmod a+x "$out/bin/$(basename "$i")"
- fi;
- done;
- ''; # */
-
- meta = {
- description = "Mozilla Firefox - the browser, reloaded";
- homepage = http://www.mozilla.com/en-US/firefox/;
- maintainers = [ stdenv.lib.maintainers.eelco ];
- };
-
- passthru = {
- inherit gtk xulrunner nspr;
- isFirefox3Like = true;
- };
- };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 6d4a8078dc8..2892aa328b0 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -15,14 +15,14 @@
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-let version = "32.0.3"; in
+let version = "34.0.5"; in
stdenv.mkDerivation rec {
name = "firefox-${version}";
src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
- sha1 = "1f831147365478e353212714038e812ca3e9fe42";
+ sha1 = "33654d38268d1d1f71105f48bbe97cf720f47be2";
};
buildInputs =
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Web browser";
homepage = http://www.mozilla.com/en-US/firefox/;
- maintainers = with lib.maintainers; [ eelco wizeman ];
+ maintainers = with lib.maintainers; [ eelco ];
platforms = lib.platforms.linux;
};
diff --git a/pkgs/applications/networking/browsers/links/default.nix b/pkgs/applications/networking/browsers/links/default.nix
index 6bbd0fc800c..8e78a0bd89c 100644
--- a/pkgs/applications/networking/browsers/links/default.nix
+++ b/pkgs/applications/networking/browsers/links/default.nix
@@ -4,6 +4,6 @@ stdenv.mkDerivation {
name = "links-1.00pre15";
src = fetchurl {
url = http://artax.karlin.mff.cuni.cz/~mikulas/links/download/links-1.00pre15.tar.gz;
- md5 = "f64823b9a1ac2d79df578a991dfae8b8";
+ sha256 = "0yzgzc6jm9vhv7rgbj5s9zwxn9fnf4nyap9l6dzgpwsn7m18vprv";
};
}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 32baa0b6a86..f04a5f12ea2 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -36,7 +36,7 @@
let
# -> http://get.adobe.com/flashplayer/
- version = "11.2.202.406";
+ version = "11.2.202.424";
src =
if stdenv.system == "x86_64-linux" then
@@ -47,7 +47,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
- sha256 = "05akcw89kz0cnhan6wp72banz2asmvqfhb2cw1krn66qgd7bl0x0";
+ sha256 = "1nkk77lbvvq9x17rlygwlkprq2pgnci5riwxvvriknkqr277dhz8";
}
else if stdenv.system == "i686-linux" then
if debug then
@@ -60,7 +60,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
- sha256 = "10f3842vi80kszj42f4c8sw7plrmvsin5k860cqvlzgdhndz8i4b";
+ sha256 = "1zwlzc7z6q8vr5hjzx6jywjcx9r0g9jxz141hlf6lqzicf4x6qan";
}
else throw "Flash Player is not supported on this platform";
@@ -90,7 +90,6 @@ stdenv.mkDerivation {
meta = {
description = "Adobe Flash Player browser plugin";
homepage = http://www.adobe.com/products/flashplayer/;
- maintainers = with stdenv.lib.maintainers; [ wizeman ];
license = stdenv.lib.licenses.unfree;
};
}
diff --git a/pkgs/applications/networking/browsers/netsurf/haru.nix b/pkgs/applications/networking/browsers/netsurf/haru.nix
index 47f0c2f6455..7aa362c613f 100644
--- a/pkgs/applications/networking/browsers/netsurf/haru.nix
+++ b/pkgs/applications/networking/browsers/netsurf/haru.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation {
installPhase = "make PREFIX=$out install";
- meta = {
+ meta = {
description = "cross platform, open source library for generating PDF files";
homepage = http://libharu.org/wiki/Main_Page;
- license = "ZLIB/LIBPNG"; # see README.
+ license = with stdenv.lib.licenses; [ libpng zlib ];
maintainers = [args.lib.maintainers.marcweber];
platforms = args.lib.platforms.linux;
broken = true;
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index e1bcbf92367..d0fe7e91989 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -82,6 +82,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.opera.com;
description = "Web browser";
- license = "unfree";
+ license = stdenv.lib.licenses.unfree;
};
}
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index 3deabd42e01..ce36e26d6fc 100644
--- a/pkgs/applications/networking/browsers/rekonq/default.nix
+++ b/pkgs/applications/networking/browsers/rekonq/default.nix
@@ -3,11 +3,11 @@
assert builtins.compareVersions "4.8.3" kde4.release != 1; # https://bugs.kde.org/show_bug.cgi?id=306077
stdenv.mkDerivation rec {
- name = "rekonq-1.80"; # >=1.80 need kde >=4.9.0
+ name = "rekonq-2.4.2"; # >=1.80 need kde >=4.9.0
src = fetchurl {
- url = "mirror://sourceforge/rekonq/${name}.tar.bz2";
- sha256 = "1lzmg8psy1j1v8vrmsyw609jv9scgnigdivx97fb4spb7x6sxn4g";
+ url = "mirror://sourceforge/rekonq/${name}.tar.xz";
+ sha256 = "09jihyf4xl7bwfwahwwbx6f11h3zqljccchnpl4mijljylr5p079";
};
buildInputs = [ kde4.kdelibs qca2 qoauth ];
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 996bda67323..1f83f427156 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "vimb-${version}";
- version = "2.7";
+ version = "2.8";
src = fetchurl {
url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
- sha256 = "05i5p9827rgga4h27qy3qh4ps8aynkcr55j681ddhn16ci3dk8zr";
+ sha256 = "04ify6gqpkislsppaplvdfgs3fja9gl37j3dywg7bhz1fbkv166k";
};
# Nixos default ca bundle
diff --git a/pkgs/applications/networking/cluster/chronos/chronos-deps.nix b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
new file mode 100644
index 00000000000..d258c493aa1
--- /dev/null
+++ b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
@@ -0,0 +1,18 @@
+{stdenv, curl}:
+
+stdenv.mkDerivation {
+ name = "chronos-maven-deps";
+ builder = ./fetch-chronos-deps.sh;
+
+ outputHashAlgo = "sha256";
+ outputHashMode = "recursive";
+ outputHash = "0mm2sb1p5zz6b0z2s4zhdlix6fafydsxmqjy8zbkwzw4f6lazzyl";
+
+ buildInputs = [ curl ];
+
+ # We borrow these environment variables from the caller to allow
+ # easy proxy configuration. This is impure, but a fixed-output
+ # derivation like fetchurl is allowed to do so since its result is
+ # by definition pure.
+ impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
+}
diff --git a/pkgs/applications/networking/cluster/chronos/default.nix b/pkgs/applications/networking/cluster/chronos/default.nix
new file mode 100644
index 00000000000..58d56feea70
--- /dev/null
+++ b/pkgs/applications/networking/cluster/chronos/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, makeWrapper, fetchgit, curl, jdk, maven, nodejs, mesos }:
+
+stdenv.mkDerivation rec {
+ name = "chronos-${version}";
+ version = "286b2ccb8e4695f8e413406ceca85b60d3a87e22";
+
+ src = fetchgit {
+ url = "https://github.com/airbnb/chronos";
+ rev = version;
+ sha256 = "6c463c30530dc82276d30087e7ab08d6964b884232c0a93f691cef9fa1ff2651";
+ };
+
+ buildInputs = [ makeWrapper curl jdk maven nodejs mesos ];
+
+ mavenRepo = import ./chronos-deps.nix { inherit stdenv curl; };
+
+ buildPhase = ''
+ ln -s $mavenRepo .m2
+ mvn package -Dmaven.repo.local=$(pwd)/.m2
+ '';
+
+ installPhase = ''
+ mkdir -p $out/{bin,libexec/chronos}
+ cp target/chronos*.jar $out/libexec/chronos/${name}.jar
+
+ makeWrapper ${jdk.jre}/bin/java $out/bin/chronos \
+ --add-flags "-Xmx384m -Xms384m -cp $out/libexec/chronos/${name}.jar com.airbnb.scheduler.Main" \
+ --prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY"
+ '';
+
+ meta = with lib; {
+ homepage = https://github.com/airbnb/chronos;
+ license = licenses.asl20;
+ description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules";
+ maintainers = with maintainers; [ offline ];
+ platforms = with platforms; unix;
+ };
+}
diff --git a/pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh b/pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh
new file mode 100644
index 00000000000..2e337076107
--- /dev/null
+++ b/pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh
@@ -0,0 +1,1672 @@
+source $stdenv/setup
+header "fetching Chronos maven repo"
+
+function fetchArtifact {
+ repoPath="$1"
+ echo "fetching $repoPath"
+ mkdir -p $(dirname $out/$repoPath)
+ curl --fail --location --insecure --max-redirs 20 "http://repo.maven.apache.org/maven2/$repoPath" --output "$out/$repoPath" ||
+ curl --fail --location --insecure --max-redirs 20 "https://repository.apache.org/content/repositories/release/$repoPath" --output "$out/$repoPath" ||
+ curl --fail --location --insecure --max-redirs 20 "http://downloads.mesosphere.io/maven/$repoPath" --output "$out/$repoPath"
+}
+
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.pom
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.jar
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.jar.sha1
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.pom.sha1
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.jar
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.pom.sha1
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.pom
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
+fetchArtifact net/kencochrane/raven/raven-all/4.1.2/raven-all-4.1.2.pom
+fetchArtifact net/kencochrane/raven/raven-all/4.1.2/raven-all-4.1.2.pom.sha1
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.jar
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.pom
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.jar.sha1
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.pom.sha1
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.jar.sha1
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.jar
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.pom.sha1
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.pom
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.jar.sha1
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.pom
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.jar
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.pom.sha1
+fetchArtifact net/java/jvnet-parent/4/jvnet-parent-4.pom
+fetchArtifact net/java/jvnet-parent/4/jvnet-parent-4.pom.sha1
+fetchArtifact net/java/jvnet-parent/1/jvnet-parent-1.pom
+fetchArtifact net/java/jvnet-parent/1/jvnet-parent-1.pom.sha1
+fetchArtifact net/java/jvnet-parent/3/jvnet-parent-3.pom.sha1
+fetchArtifact net/java/jvnet-parent/3/jvnet-parent-3.pom
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.jar.sha1
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.pom.sha1
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.pom
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.jar
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.jar
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.pom
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.jar.sha1
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.pom.sha1
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
+fetchArtifact xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.pom.sha1
+fetchArtifact xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.pom
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.jar
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.jar.sha1
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.pom.sha1
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.jar.sha1
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.jar
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.pom.sha1
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.pom
+fetchArtifact io/dropwizard/metrics/metrics-parent/3.1.0/metrics-parent-3.1.0.pom.sha1
+fetchArtifact io/dropwizard/metrics/metrics-parent/3.1.0/metrics-parent-3.1.0.pom
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.jar.sha1
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.pom
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.jar
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.pom.sha1
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.pom.sha1
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.jar
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.pom
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.jar.sha1
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.pom.sha1
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.jar
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.pom
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.pom.sha1
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.jar
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.jar.sha1
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.pom
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
+fetchArtifact com/google/inject/guice-parent/3.0/guice-parent-3.0.pom.sha1
+fetchArtifact com/google/inject/guice-parent/3.0/guice-parent-3.0.pom
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.pom.sha1
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar.sha1
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.pom
+fetchArtifact com/google/inject/extensions/extensions-parent/3.0/extensions-parent-3.0.pom.sha1
+fetchArtifact com/google/inject/extensions/extensions-parent/3.0/extensions-parent-3.0.pom
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.jar
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.jar.sha1
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.pom.sha1
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.pom
+fetchArtifact com/google/google/1/google-1.pom
+fetchArtifact com/google/google/1/google-1.pom.sha1
+fetchArtifact com/google/google/5/google-5.pom.sha1
+fetchArtifact com/google/google/5/google-5.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
+fetchArtifact com/google/guava/guava-parent/15.0/guava-parent-15.0.pom
+fetchArtifact com/google/guava/guava-parent/15.0/guava-parent-15.0.pom.sha1
+fetchArtifact com/google/guava/guava-parent/13.0.1/guava-parent-13.0.1.pom.sha1
+fetchArtifact com/google/guava/guava-parent/13.0.1/guava-parent-13.0.1.pom
+fetchArtifact com/google/guava/guava-parent/17.0/guava-parent-17.0.pom.sha1
+fetchArtifact com/google/guava/guava-parent/17.0/guava-parent-17.0.pom
+fetchArtifact com/google/guava/guava-parent/16.0.1/guava-parent-16.0.1.pom
+fetchArtifact com/google/guava/guava-parent/16.0.1/guava-parent-16.0.1.pom.sha1
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
+fetchArtifact com/google/guava/guava/15.0/guava-15.0.pom.sha1
+fetchArtifact com/google/guava/guava/15.0/guava-15.0.pom
+fetchArtifact com/google/guava/guava/13.0.1/guava-13.0.1.pom
+fetchArtifact com/google/guava/guava/13.0.1/guava-13.0.1.pom.sha1
+fetchArtifact com/google/guava/guava/17.0/guava-17.0.pom
+fetchArtifact com/google/guava/guava/17.0/guava-17.0.pom.sha1
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.pom.sha1
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.pom
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.jar
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.pom
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.pom.sha1
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.jar
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.jar.sha1
+fetchArtifact com/github/spullara/mustache/java/mustache.java/0.8.12/mustache.java-0.8.12.pom
+fetchArtifact com/github/spullara/mustache/java/mustache.java/0.8.12/mustache.java-0.8.12.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-parent/3.0.2/metrics-parent-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-parent/3.0.2/metrics-parent-3.0.2.pom
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-providers/2.4.1/jackson-jaxrs-providers-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-providers/2.4.1/jackson-jaxrs-providers-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.0/jackson-annotations-2.4.0.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.0/jackson-annotations-2.4.0.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.2.2/jackson-annotations-2.2.2.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.2.2/jackson-annotations-2.2.2.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1/jackson-databind-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1/jackson-databind-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.jar
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.2.2/jackson-databind-2.2.2.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.2.2/jackson-databind-2.2.2.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.jar.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.jar
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.4.1/jackson-core-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.4.1/jackson-core-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.2.2/jackson-core-2.2.2.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.2.2/jackson-core-2.2.2.pom.sha1
+fetchArtifact com/fasterxml/jackson/jackson-parent/2.4/jackson-parent-2.4.pom
+fetchArtifact com/fasterxml/jackson/jackson-parent/2.4/jackson-parent-2.4.pom.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.pom
+fetchArtifact com/fasterxml/oss-parent/16/oss-parent-16.pom
+fetchArtifact com/fasterxml/oss-parent/16/oss-parent-16.pom.sha1
+fetchArtifact com/fasterxml/oss-parent/11/oss-parent-11.pom.sha1
+fetchArtifact com/fasterxml/oss-parent/11/oss-parent-11.pom
+fetchArtifact com/fasterxml/oss-parent/10/oss-parent-10.pom.sha1
+fetchArtifact com/fasterxml/oss-parent/10/oss-parent-10.pom
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.pom.sha1
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.pom
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.jar
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.pom.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.pom
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.jar.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-parent/2.1.0/cassandra-driver-parent-2.1.0.pom.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-parent/2.1.0/cassandra-driver-parent-2.1.0.pom
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0.pom.sha1
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0-sources.jar
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0.pom
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0-sources.jar.sha1
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.jar.sha1
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.jar
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.pom
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.pom.sha1
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.jar.sha1
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.pom.sha1
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.jar
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.pom
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.pom.sha1
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.jar.sha1
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.pom
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.jar
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.jar
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.pom.sha1
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.pom
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.jar.sha1
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.pom.sha1
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.jar.sha1
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.pom
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.jar
+fetchArtifact com/thoughtworks/paranamer/paranamer-parent/2.6/paranamer-parent-2.6.pom.sha1
+fetchArtifact com/thoughtworks/paranamer/paranamer-parent/2.6/paranamer-parent-2.6.pom
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.pom
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.jar.sha1
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.pom.sha1
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.jar
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.jar
+fetchArtifact com/sun/jersey/jersey-server/1.17.1/jersey-server-1.17.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-server/1.17.1/jersey-server-1.17.1.pom
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.jar
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.jar
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/jersey-core/1.17.1/jersey-core-1.17.1.pom
+fetchArtifact com/sun/jersey/jersey-core/1.17.1/jersey-core-1.17.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-project/1.18.1/jersey-project-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-project/1.18.1/jersey-project-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-project/1.17.1/jersey-project-1.17.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-project/1.17.1/jersey-project-1.17.1.pom
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.jar
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.pom
+fetchArtifact com/sun/jersey/contribs/jersey-contribs/1.18.1/jersey-contribs-1.18.1.pom
+fetchArtifact com/sun/jersey/contribs/jersey-contribs/1.18.1/jersey-contribs-1.18.1.pom.sha1
+fetchArtifact com/sun/mail/all/1.4.5/all-1.4.5.pom
+fetchArtifact com/sun/mail/all/1.4.5/all-1.4.5.pom.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.jar
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.pom
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.pom.sha1
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.jar.sha1
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.1/asm-parent-3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.1/asm-parent-3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
+fetchArtifact asm/asm/3.1/asm-3.1.pom.sha1
+fetchArtifact asm/asm/3.1/asm-3.1.pom
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.pom
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.pom.sha1
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.jar.sha1
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.jar
+fetchArtifact xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.pom
+fetchArtifact xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.jar
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.jar.sha1
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.pom
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.pom.sha1
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.jar.sha1
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.jar
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.pom
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.pom.sha1
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.pom
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.pom.sha1
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.jar
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.pom.sha1
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.pom
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.pom.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.jar
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.pom
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.jar.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.pom
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.jar
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.jar.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.pom.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht/0.9.1/jgrapht-0.9.1.pom.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht/0.9.1/jgrapht-0.9.1.pom
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.pom
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.jar.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.jar
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.pom.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.jar.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.jar
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.pom.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.pom
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.jar
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.pom.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.pom
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.pom
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.pom
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.jar
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.pom
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.jar
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.pom
+fetchArtifact org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.pom
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.jar
+fetchArtifact org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.pom
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.jar
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.jar.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.pom
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.jar.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.pom
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.jar
+fetchArtifact org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.jar
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.jar.sha1
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.pom.sha1
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.pom
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.jar
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.jar.sha1
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.pom.sha1
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.pom
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.jar
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.jar
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.pom
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.jar.sha1
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.pom.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
+fetchArtifact org/jboss/shrinkwrap/shrinkwrap-bom/1.0.1/shrinkwrap-bom-1.0.1.pom
+fetchArtifact org/jboss/shrinkwrap/shrinkwrap-bom/1.0.1/shrinkwrap-bom-1.0.1.pom.sha1
+fetchArtifact org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-3/shrinkwrap-descriptors-bom-2.0.0-alpha-3.pom.sha1
+fetchArtifact org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-3/shrinkwrap-descriptors-bom-2.0.0-alpha-3.pom
+fetchArtifact org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/1.0.0-beta-7/shrinkwrap-resolver-bom-1.0.0-beta-7.pom
+fetchArtifact org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/1.0.0-beta-7/shrinkwrap-resolver-bom-1.0.0-beta-7.pom.sha1
+fetchArtifact org/jboss/jboss-parent/9/jboss-parent-9.pom.sha1
+fetchArtifact org/jboss/jboss-parent/9/jboss-parent-9.pom
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.pom
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar.sha1
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.pom.sha1
+fetchArtifact org/jboss/arquillian/arquillian-bom/1.0.2.Final/arquillian-bom-1.0.2.Final.pom
+fetchArtifact org/jboss/arquillian/arquillian-bom/1.0.2.Final/arquillian-bom-1.0.2.Final.pom.sha1
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.jar.sha1
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.pom
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.pom.sha1
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.jar
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.pom
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.jar.sha1
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.jar
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.pom.sha1
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.jar.sha1
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.pom
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.jar
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.pom.sha1
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.jar
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.pom
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.jar.sha1
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.pom.sha1
+fetchArtifact org/hibernate/hibernate-validator-parent/5.1.2.Final/hibernate-validator-parent-5.1.2.Final.pom.sha1
+fetchArtifact org/hibernate/hibernate-validator-parent/5.1.2.Final/hibernate-validator-parent-5.1.2.Final.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar.sha1
+fetchArtifact org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar.sha1
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.jar.sha1
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.pom.sha1
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.pom
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.jar
+fetchArtifact org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom
+fetchArtifact org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom.sha1
+fetchArtifact org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom
+fetchArtifact org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom.sha1
+fetchArtifact org/slf4j/slf4j-parent/1.7.6/slf4j-parent-1.7.6.pom.sha1
+fetchArtifact org/slf4j/slf4j-parent/1.7.6/slf4j-parent-1.7.6.pom
+fetchArtifact org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom
+fetchArtifact org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom.sha1
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar.sha1
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
+fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom
+fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar.sha1
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.pom
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.pom.sha1
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.jar
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.pom.sha1
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.pom
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.jar.sha1
+fetchArtifact org/apache/ant/ant-parent/1.8.2/ant-parent-1.8.2.pom.sha1
+fetchArtifact org/apache/ant/ant-parent/1.8.2/ant-parent-1.8.2.pom
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.pom
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.pom
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.jar
+fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.pom
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.jar
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.jar
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.pom
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.10/maven-artifact-manager-2.0.10.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.10/maven-artifact-manager-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-tools/3.2/maven-plugin-tools-3.2.pom
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-tools/3.2/maven-plugin-tools-3.2.pom.sha1
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.pom.sha1
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.pom
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.10/maven-profile-2.0.10.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.10/maven-profile-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.10/maven-project-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.10/maven-project-2.0.10.pom
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
+fetchArtifact org/apache/maven/maven-project/2.0.11/maven-project-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.11/maven-project-2.0.11.pom
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.10/maven-model-2.0.10.pom
+fetchArtifact org/apache/maven/maven-model/2.0.10/maven-model-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.11/maven-model-2.0.11.pom
+fetchArtifact org/apache/maven/maven-model/2.0.11/maven-model-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire/2.14.1/surefire-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire/2.14.1/surefire-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-providers/2.14.1/surefire-providers-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-providers/2.14.1/surefire-providers-2.14.1.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.10/maven-repository-metadata-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.10/maven-repository-metadata-2.0.10.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.11/maven-repository-metadata-2.0.11.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.11/maven-repository-metadata-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
+fetchArtifact org/apache/maven/maven/2.0.10/maven-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.10/maven-2.0.10.pom
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.11/maven-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.11/maven-2.0.11.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.10/maven-artifact-2.0.10.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.10/maven-artifact-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.11/maven-artifact-2.0.11.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.11/maven-artifact-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.10/maven-settings-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.10/maven-settings-2.0.10.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.11/maven-settings-2.0.11.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.11/maven-settings-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.10/maven-plugin-registry-2.0.10.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.10/maven-plugin-registry-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/4/maven-parent-4.pom
+fetchArtifact org/apache/maven/maven-parent/4/maven-parent-4.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/22/maven-parent-22.pom
+fetchArtifact org/apache/maven/maven-parent/22/maven-parent-22.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/24/maven-parent-24.pom
+fetchArtifact org/apache/maven/maven-parent/24/maven-parent-24.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/12/maven-parent-12.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/12/maven-parent-12.pom
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.10/maven-plugin-api-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.10/maven-plugin-api-2.0.10.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.11/maven-plugin-api-2.0.11.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.11/maven-plugin-api-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.4/doxia-modules-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.4/doxia-modules-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.2/doxia-decoration-model-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.2/doxia-decoration-model-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.2/doxia-module-fml-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.2/doxia-module-fml-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.4/doxia-sitetools-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.4/doxia-sitetools-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.2/doxia-sitetools-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.2/doxia-sitetools-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.2/doxia-core-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.2/doxia-core-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.2/doxia-module-xhtml-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.2/doxia-module-xhtml-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.1.4/doxia-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.1.4/doxia-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.2/doxia-site-renderer-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.2/doxia-site-renderer-1.1.2.pom.sha1
+fetchArtifact org/apache/apache/7/apache-7.pom
+fetchArtifact org/apache/apache/7/apache-7.pom.sha1
+fetchArtifact org/apache/apache/4/apache-4.pom
+fetchArtifact org/apache/apache/4/apache-4.pom.sha1
+fetchArtifact org/apache/apache/1/apache-1.pom
+fetchArtifact org/apache/apache/1/apache-1.pom.sha1
+fetchArtifact org/apache/apache/9/apache-9.pom
+fetchArtifact org/apache/apache/9/apache-9.pom.sha1
+fetchArtifact org/apache/apache/14/apache-14.pom.sha1
+fetchArtifact org/apache/apache/14/apache-14.pom
+fetchArtifact org/apache/apache/13/apache-13.pom
+fetchArtifact org/apache/apache/13/apache-13.pom.sha1
+fetchArtifact org/apache/apache/3/apache-3.pom
+fetchArtifact org/apache/apache/3/apache-3.pom.sha1
+fetchArtifact org/apache/apache/5/apache-5.pom
+fetchArtifact org/apache/apache/5/apache-5.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom
+fetchArtifact org/apache/apache/11/apache-11.pom
+fetchArtifact org/apache/apache/11/apache-11.pom.sha1
+fetchArtifact org/apache/apache/10/apache-10.pom
+fetchArtifact org/apache/apache/10/apache-10.pom.sha1
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.pom
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.pom.sha1
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.jar.sha1
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.jar
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom.sha1
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar.sha1
+fetchArtifact org/apache/curator/apache-curator/2.6.0/apache-curator-2.6.0.pom
+fetchArtifact org/apache/curator/apache-curator/2.6.0/apache-curator-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.jar
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.pom
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.jar
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.pom
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.jar
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.pom
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.pom
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.jar
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar.sha1
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom.sha1
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.jar.sha1
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.pom
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.jar
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.pom.sha1
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.jar
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.jar.sha1
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.pom.sha1
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.pom
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.jar
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.pom.sha1
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.pom
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.jar.sha1
+fetchArtifact org/apache/commons/commons-parent/28/commons-parent-28.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/28/commons-parent-28.pom
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
+fetchArtifact org/apache/commons/commons-parent/22/commons-parent-22.pom
+fetchArtifact org/apache/commons/commons-parent/22/commons-parent-22.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
+fetchArtifact org/apache/commons/commons-parent/24/commons-parent-24.pom
+fetchArtifact org/apache/commons/commons-parent/24/commons-parent-24.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
+fetchArtifact org/apache/commons/commons-parent/32/commons-parent-32.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/32/commons-parent-32.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/18/commons-parent-18.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/18/commons-parent-18.pom
+fetchArtifact org/apache/commons/commons-parent/11/commons-parent-11.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/11/commons-parent-11.pom
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.pom.sha1
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar.sha1
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.pom
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.pom
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.jar
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.pom.sha1
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.jar.sha1
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.jar
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.pom.sha1
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.pom
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.jar.sha1
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.8.1/plexus-compilers-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.8.1/plexus-compilers-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.8.1/plexus-compiler-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.8.1/plexus-compiler-1.8.1.pom.sha1
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.pom.sha1
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.pom
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.jar.sha1
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.jar
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.jar
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.jar.sha1
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.pom
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.11.v20130520/jetty-server-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.11.v20130520/jetty-server-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.11.v20130520/jetty-continuation-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.11.v20130520/jetty-continuation-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.11.v20130520/jetty-util-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.11.v20130520/jetty-util-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.11.v20130520/jetty-project-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.11.v20130520/jetty-project-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.15.v20140411/jetty-project-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.15.v20140411/jetty-project-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.11.v20130520/jetty-http-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.11.v20130520/jetty-http-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/20/jetty-parent-20.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-parent/20/jetty-parent-20.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/18/jetty-parent-18.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/18/jetty-parent-18.pom.sha1
+fetchArtifact org/eclipse/jetty/orbit/jetty-orbit/1/jetty-orbit-1.pom
+fetchArtifact org/eclipse/jetty/orbit/jetty-orbit/1/jetty-orbit-1.pom.sha1
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.pom.sha1
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar.sha1
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.pom
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.11.v20130520/jetty-io-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.11.v20130520/jetty-io-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.jar.sha1
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.pom.sha1
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.pom
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.jar
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.jar.sha1
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.jar.sha1
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.pom.sha1
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.jar
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.pom
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.jar
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.pom
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.jar.sha1
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
+fetchArtifact org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+fetchArtifact org/sonatype/oss/oss-parent/5/oss-parent-5.pom
+fetchArtifact org/sonatype/oss/oss-parent/5/oss-parent-5.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.pom
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.pom.sha1
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar.sha1
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar
+fetchArtifact org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-parent/4.1/asm-parent-4.1.pom
+fetchArtifact org/ow2/asm/asm-parent/4.1/asm-parent-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.pom
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.jar
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.pom
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.jar
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.pom
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.jar
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.jar
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.pom
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.jar
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.pom
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.pom.sha1
+fetchArtifact org/ow2/ow2/1.3/ow2-1.3.pom.sha1
+fetchArtifact org/ow2/ow2/1.3/ow2-1.3.pom
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.jar.sha1
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.jar
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.pom
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.pom.sha1
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.jar.sha1
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.pom
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.pom.sha1
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.jar
+fetchArtifact junit/junit/4.11/junit-4.11.jar
+fetchArtifact junit/junit/4.11/junit-4.11.pom
+fetchArtifact junit/junit/4.11/junit-4.11.jar.sha1
+fetchArtifact junit/junit/4.11/junit-4.11.pom.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.pom
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.jar.sha1
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.jar
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.pom
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.jar
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.jar.sha1
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.pom.sha1
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.pom.sha1
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.jar.sha1
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.jar
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.pom
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.pom
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar.sha1
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.pom.sha1
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.pom.sha1
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.jar
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.pom
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.jar.sha1
+fetchArtifact javax/activation/activation/1.1/activation-1.1.pom.sha1
+fetchArtifact javax/activation/activation/1.1/activation-1.1.pom
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.jar.sha1
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.pom
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.jar
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.jar
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.pom
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.jar.sha1
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.pom.sha1
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.jar.sha1
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.pom
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.pom.sha1
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.jar
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
new file mode 100644
index 00000000000..7931da602d6
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables,rsync }:
+
+stdenv.mkDerivation rec {
+ name = "kubernetes-${version}";
+ version = "v0.5.4";
+
+ src = fetchFromGitHub {
+ owner = "GoogleCloudPlatform";
+ repo = "kubernetes";
+ rev = version;
+ sha256 = "1pipcqpjz9zsi4kfsbdvbbbia642l4xg50pznjw5v061c5xk7vnk";
+ };
+
+ buildInputs = [ makeWrapper which go iptables rsync ];
+
+ preBuild = "patchShebangs ./hack";
+
+ postBuild = ''go build --ldflags '-extldflags "-static" -s' build/pause/pause.go'';
+
+ installPhase = ''
+ mkdir -p "$out/bin"
+ cp _output/local/go/bin/* "$out/bin/"
+ cp pause $out/bin/kube-pause
+ '';
+
+ preFixup = ''
+ wrapProgram "$out/bin/kube-proxy" --set "PATH" "${iptables}/bin"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Open source implementation of container cluster management.";
+ license = licenses.asl20;
+ homepage = https://github.com/GoogleCloudPlatform;
+ maintainers = with maintainers; [offline];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/pkgs/applications/networking/cluster/mesos/darwin.patch b/pkgs/applications/networking/cluster/mesos/darwin.patch
deleted file mode 100644
index 118129f1723..00000000000
--- a/pkgs/applications/networking/cluster/mesos/darwin.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 1ebd196..a49d7d4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -463,11 +463,6 @@ __EOF__
- fi
-
- # Determine linker flags for Java if not set.
-- if test "$OS_NAME" = "darwin"; then
-- dir="$JAVA_HOME/jre/lib/server"
-- JAVA_TEST_LDFLAGS="-framework JavaVM"
-- JAVA_JVM_LIBRARY=$dir/libjvm.dylib
-- elif test "$OS_NAME" = "linux"; then
- for arch in amd64 i386; do
- dir="$JAVA_HOME/jre/lib/$arch/server"
- if test -e "$dir"; then
-@@ -477,7 +472,6 @@ __EOF__
- break;
- fi
- done
-- fi
-
- if test -z "$JAVA_TEST_LDFLAGS"; then
- AC_MSG_ERROR([failed to determine linker flags for using Java \
-@@ -488,26 +482,6 @@ __EOF__
- # flags as necessary (provided JAVA_CPPFLAGS was not set).
- AC_MSG_CHECKING([whether or not we can build with JNI])
- if test -z "$JAVA_CPPFLAGS"; then
-- if test "$OS_NAME" = "darwin"; then
-- while true; do # Loop until sucessful (via break) or exhausted options.
-- m4_foreach([java_cppflags],
-- [["-I$JAVA_HOME/include -I$JAVA_HOME/include/$OS_NAME"],
-- ["-I/System/Library/Frameworks/JavaVM.framework/Headers"]],
-- [JAVA_CPPFLAGS=java_cppflags
-- TRY_LINK_JNI([break])])
-- # Exhausted options.
-- AC_MSG_ERROR([failed to build with JNI
-- -------------------------------------------------------------------
-- It appears we were unable to compile against the JNI. This is most
-- likely due to one of the following issues:
-- 1. You do not have a JDK installed on your system.
-- 2. All JDKs installed on your system have deprecated JNI headers.
-- It is advised to install OpenJDK on your system, as the JDK that
-- ships with OS X has deprecated JNI headers.
-- -------------------------------------------------------------------
-- ])
-- done
-- else
- while true; do # Loop until sucessful (via break) or exhausted options.
- m4_foreach([java_cppflags],
- [["-I$JAVA_HOME/include -I$JAVA_HOME/include/$OS_NAME"]],
-@@ -516,7 +490,6 @@ __EOF__
- # Exhausted options.
- AC_MSG_ERROR([failed to build with JNI])
- done
-- fi
- else
- TRY_LINK_JNI([], [AC_MSG_ERROR([failed to build with JNI])])
- fi
-@@ -760,20 +733,6 @@ libcurl is required for mesos to build.
- if test "x$with_cxx11" = "xyes"; then
- AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
-
-- case "$host_os" in
-- darwin* )
-- # If we're using clang, we need to pass -stdlib=libc++ too.
-- if test "x$CLANG" = "xyes"; then
-- CXXFLAGS="$CXXFLAGS -stdlib=libc++"
-- fi
--
-- # GTEST on OSX needs its own tr1 tuple.
-- # TODO(dhamon): Update to gmock 1.7 and pass GTEST_LANG_CXX11 when in
-- # c++11 mode.
-- CXXFLAGS="$CXXFLAGS -DGTEST_USE_OWN_TR1_TUPLE=1"
-- ;;
-- esac
--
- # Also pass the flags to 3rdparty libraries.
- CONFIGURE_ARGS="$CONFIGURE_ARGS CXXFLAGS='$CXXFLAGS'"
- fi
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index fe93a072b2c..b298fb55901 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, lib, makeWrapper, fetchurl, fetchzip, curl, sasl, openssh, autoconf
+{ stdenv, lib, makeWrapper, fetchurl, curl, sasl, openssh, autoconf
, automake, libtool, unzip, gnutar, jdk, maven, python, wrapPython
-, setuptools, distutils-cfg, boto, pythonProtobuf
+, setuptools, distutils-cfg, boto, pythonProtobuf, apr, subversion
+, leveldb, glog
}:
-let version = "0.19.1";
+let version = "0.21.0";
in stdenv.mkDerivation {
dontDisableStatic = true;
@@ -11,14 +12,13 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "http://www.apache.org/dist/mesos/${version}/mesos-${version}.tar.gz";
- sha256 = "12li5xqfcw3124qg3h2cji3yhrc7gbx91lj45zfliicwgjkbmyf1";
+ sha256 = "01ap8blrb046w26zf3i4r7vvnnhjsbfi20vz5yinmncqbzjjyx6i";
};
- patches = [ ./darwin.patch ];
-
buildInputs = [
makeWrapper autoconf automake libtool curl sasl jdk maven
- python wrapPython boto distutils-cfg setuptools
+ python wrapPython boto distutils-cfg setuptools leveldb
+ subversion apr glog
];
propagatedBuildInputs = [
@@ -41,11 +41,11 @@ in stdenv.mkDerivation {
configureFlags = [
"--sbindir=\${out}/bin"
- "--with-python-headers=${python}/include"
- "--with-webui"
- "--with-java-home=${jdk}"
- "--with-java-headers=${jdk}/include"
- "--with-included-zookeeper"
+ "--with-apr=${apr}"
+ "--with-svn=${subversion}"
+ "--with-leveldb=${leveldb}"
+ "--with-glog=${glog}"
+ "--disable-python-dependency-install"
];
postInstall = ''
@@ -101,7 +101,7 @@ in stdenv.mkDerivation {
homepage = "http://mesos.apache.org";
license = licenses.asl20;
description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
- maintainers = with maintainers; [ cstrahan ];
+ maintainers = with maintainers; [ cstrahan offline ];
platforms = with platforms; linux;
};
}
diff --git a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
index c58c9f2e3d6..3fafc427bbc 100644
--- a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
+++ b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
@@ -3,1240 +3,1241 @@ header "fetching Apache Mesos maven repo"
function fetchArtifact {
repoPath="$1"
+ echo "Fetching $repoPath"
url="http://repo.maven.apache.org/maven2/$repoPath"
mkdir -p $(dirname $out/$repoPath)
curl --fail --location --insecure --retry 3 --max-redirs 20 "$url" --output "$out/$repoPath"
}
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1
-fetchArtifact asm/asm/3.2/asm-3.2.pom
-fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1
-fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom
-fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1
-fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom
-fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1
-fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
-fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
-fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom
-fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1
-fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
-fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
-fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
-fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
-fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
-fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
-fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
-fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
-fetchArtifact com/google/google/1/google-1.pom
-fetchArtifact com/google/google/1/google-1.pom.sha1
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
-fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
-fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1
-fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
-fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar
-fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1
-fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom
fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom.sha1
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom
fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1
-fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
-fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
-fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar
-fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar.sha1
-fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
-fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1
-fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1
fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom
-fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
-fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1
fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
-fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
-fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar.sha1
fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom
+fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom.sha1
fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar
-fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
-fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
+fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom
+fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar
fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar.sha1
fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom
fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom.sha1
-fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
-fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1
-fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
-fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
-fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
-fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
-fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
-fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom
-fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
-fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1
-fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
-fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
-fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
-fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1
-fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
-fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1
-fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
-fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
-fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
-fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
-fetchArtifact junit/junit/4.10/junit-4.10.pom
-fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom
fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom
fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom.sha1
-fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom
-fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1
-fetchArtifact org/apache/apache/10/apache-10.pom
-fetchArtifact org/apache/apache/10/apache-10.pom.sha1
-fetchArtifact org/apache/apache/11/apache-11.pom
-fetchArtifact org/apache/apache/11/apache-11.pom.sha1
-fetchArtifact org/apache/apache/13/apache-13.pom
-fetchArtifact org/apache/apache/13/apache-13.pom.sha1
-fetchArtifact org/apache/apache/2/apache-2.pom
-fetchArtifact org/apache/apache/2/apache-2.pom.sha1
-fetchArtifact org/apache/apache/3/apache-3.pom
-fetchArtifact org/apache/apache/3/apache-3.pom.sha1
-fetchArtifact org/apache/apache/4/apache-4.pom
-fetchArtifact org/apache/apache/4/apache-4.pom.sha1
-fetchArtifact org/apache/apache/5/apache-5.pom
-fetchArtifact org/apache/apache/5/apache-5.pom.sha1
-fetchArtifact org/apache/apache/6/apache-6.pom
-fetchArtifact org/apache/apache/6/apache-6.pom.sha1
-fetchArtifact org/apache/apache/7/apache-7.pom
-fetchArtifact org/apache/apache/7/apache-7.pom.sha1
-fetchArtifact org/apache/apache/9/apache-9.pom
-fetchArtifact org/apache/apache/9/apache-9.pom.sha1
-fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar
-fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1
-fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom
-fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
-fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom
-fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
-fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
-fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
-fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
-fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
-fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
-fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
-fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
-fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
+fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
+fetchArtifact com/google/google/1/google-1.pom
+fetchArtifact com/google/google/1/google-1.pom.sha1
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom
+fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
+fetchArtifact asm/asm/3.2/asm-3.2.pom
+fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1
+fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom
+fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1
+fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1
+fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom
+fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1
-fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1
-fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom
fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom
-fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom
-fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
-fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
-fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
-fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
-fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
-fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
-fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
-fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
-fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
-fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
-fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
-fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
-fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
-fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom
-fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
-fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
-fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
-fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom
-fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
-fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
-fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
-fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
-fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
-fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
-fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
-fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
-fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom
-fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
-fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
-fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
-fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
-fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
-fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
-fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
-fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom
-fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom
-fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
-fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
-fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
-fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
-fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
-fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
-fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
-fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
-fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
-fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
-fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom
-fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
-fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
-fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
-fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
-fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
-fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom
-fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
-fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
-fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
-fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
-fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
-fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
-fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
-fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1
+fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1
+fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
+fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
+fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1
fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar.sha1
fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom
fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar
fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar.sha1
fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom
fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
-fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom
-fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom.sha1
fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom
fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom.sha1
fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar.sha1
fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom
-fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1
fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom
fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom
fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar
fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom
fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
-fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom
fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1
fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom
-fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1
fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar.sha1
fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom
-fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
-fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.sha1
-fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar
-fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar.sha1
-fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom
-fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
+fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
+fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
+fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
+fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom
fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom.sha1
-fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar
-fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1
-fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom
-fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom.sha1
-fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar
-fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom.sha1
fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom
fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom
-fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
-fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
-fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom.sha1
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
+fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom
+fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom
+fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom
fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
-fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom
-fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar
-fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1
-fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar
+fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar
fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar.sha1
fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom
fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom.sha1
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1
-fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom
-fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1
-fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
-fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
-fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
-fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom.sha1
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1
-fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
-fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
-fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
-fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
-fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom
-fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1
-fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
-fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
-fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar
-fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1
-fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom
-fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom.sha1
-fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom
-fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
-fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom
-fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
-fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
-fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
-fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom
-fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1
-fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
-fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
-fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
-fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1
-fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
-fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
-fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom
-fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1
-fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
-fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1
-fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
-fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1
-fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
-fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
+fetchArtifact org/apache/apache/7/apache-7.pom
+fetchArtifact org/apache/apache/7/apache-7.pom.sha1
+fetchArtifact org/apache/apache/2/apache-2.pom
+fetchArtifact org/apache/apache/2/apache-2.pom.sha1
+fetchArtifact org/apache/apache/4/apache-4.pom
+fetchArtifact org/apache/apache/4/apache-4.pom.sha1
+fetchArtifact org/apache/apache/9/apache-9.pom
+fetchArtifact org/apache/apache/9/apache-9.pom.sha1
+fetchArtifact org/apache/apache/13/apache-13.pom
+fetchArtifact org/apache/apache/13/apache-13.pom.sha1
+fetchArtifact org/apache/apache/3/apache-3.pom
+fetchArtifact org/apache/apache/3/apache-3.pom.sha1
+fetchArtifact org/apache/apache/5/apache-5.pom
+fetchArtifact org/apache/apache/5/apache-5.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom
+fetchArtifact org/apache/apache/11/apache-11.pom
+fetchArtifact org/apache/apache/11/apache-11.pom.sha1
+fetchArtifact org/apache/apache/10/apache-10.pom
+fetchArtifact org/apache/apache/10/apache-10.pom.sha1
+fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar
+fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
+fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom
+fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom
+fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom
+fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom
+fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom
fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar
fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1
fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom
fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom
-fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom
-fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1
-fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom
fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom
fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1
fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1
fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom
-fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
-fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
-fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
-fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
-fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
-fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
-fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
-fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom.sha1
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1
+fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom.sha1
+fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1
+fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1
+fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom
fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1
-fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
-fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
-fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
-fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
-fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
-fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
-fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom
-fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom.sha1
-fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
-fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1
fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom
fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1
-fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
-fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
-fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
-fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1
-fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
-fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
-fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
-fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
-fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom
-fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
-fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
-fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
-fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
+fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1
+fetchArtifact junit/junit/4.10/junit-4.10.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
+fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1
+fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
+fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1
+fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
+fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
+fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1
fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom.sha1
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1
-fetchArtifact velocity/velocity/1.5/velocity-1.5.jar
-fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1
-fetchArtifact velocity/velocity/1.5/velocity-1.5.pom
-fetchArtifact velocity/velocity/1.5/velocity-1.5.pom.sha1
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
-fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
-fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
stopNest
diff --git a/pkgs/applications/networking/cluster/rq/default.nix b/pkgs/applications/networking/cluster/rq/default.nix
index 8935aeb2771..fdf11adfb6c 100644
--- a/pkgs/applications/networking/cluster/rq/default.nix
+++ b/pkgs/applications/networking/cluster/rq/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
'';
meta = {
- license = "Ruby";
+ license = stdenv.lib.licenses.ruby;
homepage = "http://www.codeforpeople.com/lib/ruby/rq/";
description = "Simple cluster queue runner";
longDescription = "rq creates instant linux clusters by managing priority work queues, even on a multi-core single machine. This cluster runner is easy to install and easy to manage, contrasting with the common complicated solutions.";
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 82a340591f2..d55e2b18162 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -25,9 +25,9 @@ let
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
else throw "Dropbox client for: ${stdenv.system} not supported!";
- version = "2.10.30";
- sha256 = if stdenv.system == "x86_64-linux" then "1gdch4fka5f671zwl329j6b60igki1rzxw9ggxcywcg1h4rlvw7r"
- else if stdenv.system == "i686-linux" then "1a4pswpy945iqzvi8kcs1r0sydb04h28v5zv0hdyra0c548wsm2g"
+ version = "2.10.52";
+ sha256 = if stdenv.system == "x86_64-linux" then "0fn2frp00f0p0r6v5czzxfbw1ifan9w12k3ry8gq1m4bvx6g27p6"
+ else if stdenv.system == "i686-linux" then "1rm5kspb53zqgaz48v8x3ffk1mcfi0nh0zsmsdniyrgqbis5mmm9"
else throw "Dropbox client for: ${stdenv.system} not supported!";
# relative location where the dropbox libraries are stored
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 5f695f80b19..bf8f9234f5a 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, dbus, gnutls, wxGTK28, libidn, tinyxml, gettext
+{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite }:
-let version = "3.8.1"; in
+let version = "3.9.0.6"; in
stdenv.mkDerivation {
name = "filezilla-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
- sha256 = "0kqyz8yb15kbzx02l3riswg95prbp402k4672nwxrzs35049rg36";
+ sha256 = "1dxhj4ijpl5m2r5f9p04kbaqcvivy3lrb1kdn5axqngshfrmczyf";
};
configureFlags = [
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
];
buildInputs = [
- dbus gnutls wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
+ dbus gnutls wxGTK30 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
];
meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix
index 3e7a80f137d..287a4239c2c 100644
--- a/pkgs/applications/networking/ids/daq/default.nix
+++ b/pkgs/applications/networking/ids/daq/default.nix
@@ -1,12 +1,12 @@
{stdenv, fetchurl, flex, bison, libpcap}:
stdenv.mkDerivation rec {
- name = "daq-2.0.2";
+ name = "daq-2.0.4";
src = fetchurl {
name = "${name}.tar.gz";
url = "http://www.snort.org/downloads/snort/${name}.tar.gz";
- sha256 = "1a39qbm9nc05yr8llawl7mz0ny1fci4acj9c2k1h4klrqikiwpfn";
+ sha256 = "0g15kny0s6mpqfc723jxv7mgjfh45izhwcidhjzh52fd04ysm552";
};
buildInputs = [ flex bison libpcap ];
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index 5b740cec935..3f99094ffd4 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -1,12 +1,12 @@
{stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
stdenv.mkDerivation rec {
- name = "snort-2.9.6.2";
+ name = "snort-2.9.7.0";
src = fetchurl {
name = "${name}.tar.gz";
url = "http://www.snort.org/downloads/snort/${name}.tar.gz";
- sha256 = "0xsxbd5h701ncnhn9sf7zkmzravlqhn1182whinphfjjw72py7cf";
+ sha256 = "16z4mi7bri7ygvc0j4hhl2pgcw6xwxah1h3wk5vpy2yj8pmayf4p";
};
buildInputs = [ libpcap pcre libdnet daq zlib flex bison ];
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
new file mode 100644
index 00000000000..a7b5ef6972e
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pythonPackages, pyqt4, cython, libvncserver, zlib, twisted, gnutls }:
+
+pythonPackages.buildPythonPackage rec {
+ name = "blink-${version}";
+ version = "0.9.1";
+
+ src = fetchurl {
+ url = "http://download.ag-projects.com/BlinkQt/${name}.tar.gz";
+ sha256 = "f578e5186893c3488e7773fbb775028ae54540433a0c51aefa5af983ca2bfdae";
+ };
+
+ patches = [ ./pythonpath.patch ];
+
+ propagatedBuildInputs = [ pyqt4 pythonPackages.cjson pythonPackages.sipsimple twisted ];
+
+ buildInputs = [ cython zlib libvncserver ];
+
+ postInstall = ''
+ wrapProgram $out/bin/blink \
+ --prefix LD_LIBRARY_PATH : ${gnutls}/lib
+ '';
+
+ meta = {
+ homepage = http://icanblink.com/;
+ description = "A state of the art, easy to use SIP client";
+ };
+}
diff --git a/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch b/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
new file mode 100644
index 00000000000..2cf7ba19d38
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
@@ -0,0 +1,12 @@
+diff --git a/blink/resources.py b/blink/resources.py
+index 524d9e5..c271887 100644
+--- a/blink/resources.py
++++ b/blink/resources.py
+@@ -64,6 +64,7 @@ class Resources(object):
+ if script == '':
+ application_directory = os.path.realpath(script) # executed in interactive interpreter
+ else:
++ script = os.path.join(sys.path[0], script)
+ binary_directory = os.path.dirname(os.path.realpath(script))
+ if os.path.basename(binary_directory) == 'bin':
+ application_directory = os.path.dirname(binary_directory)
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index 41bd4ca4513..cae9fe294f3 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
perl perlXMLParser evolution_data_server gnome_doc_utils avahi
libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
- hicolor_icon_theme gnome3.gnome_icon_theme boost boost.lib
+ hicolor_icon_theme gnome3.gnome_icon_theme boost
autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
nss zlib libsecret libXrandr randrproto which libxslt libtasn1
gmp nettle makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index cdbc4233cf4..320e7094d48 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -1,51 +1,43 @@
-x@{builderDefsPackage
- , guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
- , libunwind, ncurses
- , ...}:
-builderDefsPackage
-(a :
-let
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
- [];
+{ stdenv, fetchgit
+, guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
+, libunwind, ncurses, curl, jansson, texinfo
+, automake, autoconf
+}:
- buildInputs = map (n: builtins.getAttr n x)
- (builtins.attrNames (builtins.removeAttrs x helperArgNames));
- sourceInfo = rec {
+let
+ s = rec {
baseName="freetalk";
- version="3.2";
+ version="4.0rc6";
name="${baseName}-${version}";
- url="mirror://savannah/${baseName}/${name}.tar.gz";
- hash="12dn7yj9k5xsrrjlnma77wzpvsdxjccwla1q0wy3lacl5l2p0jms";
+ url="https://github.com/GNUFreetalk/freetalk";
+ rev = "refs/tags/v${version}";
+ sha256="0sj3bwq9n6ijwv552nmi038sz7wayq8r3zaj6ngn2cnkn2b5nwbz";
};
+ buildInputs = [
+ guile pkgconfig glib loudmouth gmp libidn readline libtool
+ libunwind ncurses curl jansson texinfo
+ autoconf automake
+ ];
in
-rec {
- src = a.fetchurl {
- url = sourceInfo.url;
- sha256 = sourceInfo.hash;
- };
-
- inherit (sourceInfo) name version;
+stdenv.mkDerivation {
+ inherit (s) name version;
inherit buildInputs;
+ src = fetchgit {
+ inherit (s) url rev sha256;
+ name = "git-export-${s.name}";
+ };
- patches = [./01_callbacks_const_fix.diff];
+ preConfigure = ''
+ patchShebangs .
+ ./autogen.sh
+ '';
- /* doConfigure should be removed if not needed */
- phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
-
meta = {
- description = "Console XMPP client";
- maintainers = with a.lib.maintainers;
- [
- raskin
- ];
- platforms = with a.lib.platforms;
- linux;
- license = a.lib.licenses.gpl3Plus;
+ inherit (s) version;
+ description = "Console XMPP client";
+ license = stdenv.lib.licenses.gpl3Plus ;
+ maintainers = [stdenv.lib.maintainers.raskin];
+ platforms = stdenv.lib.platforms.linux;
+ downloadPage = "http://www.gnu.org/software/freetalk/";
};
- passthru = {
- updateInfo = {
- downloadPage = "http://www.gnu.org/software/freetalk/";
- };
- };
-}) x
-
+}
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index d5902d14359..82d11e02fe1 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, intltool, pkgconfig, libX11, gtk
-, ldns, pyopenssl, pythonDBus, pythonPackages
+, ldns, pythonDBus, pythonPackages
, enableJingle ? true, farstream ? null, gst_plugins_bad ? null
, libnice ? null
@@ -22,20 +22,14 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "gajim-${version}";
- version = "0.15.4";
+ version = "0.16";
src = fetchurl {
- url = "http://www.gajim.org/downloads/0.15/gajim-${version}.tar.gz";
- sha256 = "1g4m5j777vqqdwqvr2m6l09ljjx65ilag45d5kfc78z7frm0cz7g";
+ url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2";
+ sha256 = "14x15jwgl0c6vwj02ccpzmxr3fczp632mnj50cpklbaj4bxqvgbs";
};
patches = [
- (fetchurl {
- name = "gajim-drill-srv.patch";
- url = "https://projects.archlinux.org/svntogit/packages.git/"
- + "plain/trunk/gajim-drill.patch?h=packages/gajim";
- sha256 = "1k8zz3ns0l0kriffq41jgkv5ym6jvyd24171l7s98v9d81prdw1w";
- })
(fetchurl {
name = "gajim-icon-index.patch";
url = "http://hg.gajim.org/gajim/raw-rev/b9ec78663dfb";
@@ -69,7 +63,8 @@ stdenv.mkDerivation rec {
pythonPackages.pygobject pythonPackages.pyGtkGlade
pythonPackages.sqlite3 pythonPackages.pyasn1
pythonPackages.pyxdg
- pyopenssl pythonDBus
+ pythonPackages.nbxmpp
+ pythonPackages.pyopenssl pythonDBus
] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ]
++ optional enableE2E pythonPackages.pycrypto
++ optional enableRST pythonPackages.docutils
@@ -88,5 +83,7 @@ stdenv.mkDerivation rec {
description = "Jabber client written in PyGTK";
license = licenses.gpl3Plus;
maintainers = [ maintainers.raskin maintainers.aszlig ];
+ downloadPage = "http://gajim.org/downloads.php";
+ updateWalker = true;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index a74460c3e39..44cf13e2917 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -3,11 +3,11 @@
stdenv.mkDerivation {
- name = "kadu-0.12.2";
+ name = "kadu-0.12.3";
src = fetchurl {
- url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2;
- sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1";
+ url = http://download.kadu.im/stable/kadu-0.12.3.tar.bz2;
+ sha256 = "1a5q5b8pm253cwg6ahahjdm8jxj0pv41apyi1nvvy08bs38bn1yn";
};
buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig
diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index 362bf0de977..4fda2d9cc06 100644
--- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, openssl, ncurses, pkgconfig, glib, loudmouth}:
+{stdenv, fetchurl, openssl, ncurses, pkgconfig, glib, loudmouth, libotr}:
stdenv.mkDerivation rec {
name = "mcabber-${version}";
@@ -6,12 +6,12 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://mcabber.com/files/mcabber-${version}.tar.bz2";
- sha256 = "1248cgci1v2ypb90wfhyipwdyp1wskn3gzh78af5ai1a4w5rrjq0";
+ sha256 = "0vgsqw6yn0lzzcnr4fql4ycgf3gwqj6w4p0l4nqnvhkc94w62ikp";
};
- buildInputs = [openssl ncurses pkgconfig glib loudmouth];
+ buildInputs = [openssl ncurses pkgconfig glib loudmouth libotr];
- configureFlags = "--with-openssl=${openssl}";
+ configureFlags = "--with-openssl=${openssl} --enable-modules --enable-otr";
meta = with stdenv.lib; {
homepage = http://mcabber.com/;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
index 7cbc38ea0dc..2fa7d5f37f2 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
@@ -1,10 +1,10 @@
{ stdenv, fetchurl, libotr, pidgin, intltool } :
stdenv.mkDerivation rec {
- name = "pidgin-otr-4.0.0";
+ name = "pidgin-otr-4.0.1";
src = fetchurl {
url = "http://www.cypherpunks.ca/otr/${name}.tar.gz";
- sha256 = "14a6vxvlkm8wazng9aj7p82dr12857fx5is1frcyd7my5l4kysym";
+ sha256 = "02pkkf86fh5jvzsdn9y78impsgzj1n0p81kc2girvk3vq941yy0v";
};
postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
index ba3f041738a..c9b8a959bf9 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
@@ -1,46 +1,32 @@
-{ stdenv, fetchurl, pidgin, imagemagick, ghostscript
-, pkgconfig, glib, gtk, texLive
-}:
-
+{ stdenv, fetchurl, pkgconfig, pidgin, texLive, imagemagick, glib, gtk }:
+
+let version = "1.5.0";
+in
stdenv.mkDerivation {
- name = "pidgin-latex";
+ name = "pidgin-latex-${version}";
src = fetchurl {
- url = http://tapas.affenbande.org/pidgin-latex/pidgin-latex-0.9.tgz;
- sha256 = "1yqd3qgxd3n8hm60qg7yv7j1crr6f3d4yrdpgwdpw2pyf92p8nxp";
+ url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
+ sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
};
- preBuild = ''
- sed -e '/^PREFIX/d' -i Makefile ;
- sed -e 's@/usr/bin/latex@${texLive}/bin/pdflatex@g' -i pidgin-latex.h
- sed -e 's@/usr/bin/convert@${imagemagick}/bin/convert@g' -i pidgin-latex.h
- sed -e 's@.*convert_path.*@const gchar *convert = CONVERT_PATH;@'
- sed -e 's@.*latex_path.*@const gchar *convert = LATEX_PATH;@'
- sed -e 's/%s.dvi/%s.pdf/' -i pidgin-latex.c
- sed -e 's/latex_system\(.*\)FALSE/latex_system\1TRUE/' -i pidgin-latex.c
+ nativeBuildInputs = [pkgconfig];
+ buildInputs = [gtk glib pidgin];
+ makeFlags = "PREFIX=$(out)";
+
+ postPatch = ''
+ sed -e 's/-Wl,-soname//' -i Makefile
'';
- makeFlags = "PREFIX=\$(out)";
+ passthru = {
+ wrapArgs = "--prefix PATH ':' ${texLive}/bin:${imagemagick}/bin";
+ };
- preInstall = "mkdir -p $out/lib/pidgin $out/bin";
-
- postInstall = ''
- mkdir -p $out/share/pidgin-latex
- ln -s $out/lib/pidgin/pidgin-latex.so $out/share/pidgin-latex/
- '';
-
- buildInputs = [pidgin imagemagick ghostscript pkgconfig glib gtk texLive];
-
- meta = {
- longDescription = ''
- Pidgin-LaTeX is a pidgin plugin that cuts everything inside \$\$
- .. \$\$ and feeds to LaTeX. A bit of conversion (automated, of
- course) - and you see every formula that occurs in conversation
- in pretty graphical form. There are some glitches - when a
- formula fails to compile, you can see just previous formula..
- Enable it for user by linking to ~/.purple/plugins - from
- sw/share/pidgin-latex , not from store of course.
- '';
- homepage = http://tapas.affenbande.org/wordpress/?page_id=70;
+ meta = with stdenv.lib; {
+ homepage = http://sourceforge.net/projects/pidgin-latex/;
+ description = "LaTeX rendering plugin for Pidgin IM";
+ licenses = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = maintainers.abbradar;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
deleted file mode 100644
index 840416b7d17..00000000000
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-args : with args;
-let version = "1.5.0";
-in
-rec {
- src = fetchurl {
- url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
- sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
- };
-
- buildInputs = [texLive pkgconfig gtk imagemagick glib pidgin which];
- configureFlags = [];
- installFlags = [
- "PREFIX=$out"
- ];
-
- preBuild = fullDepEntry (''
- mkdir -p $out/bin
- ln -s $(which convert) $out/bin
- ln -s $(which xelatex) $out/bin
- ln -s $(which dvips) $out/bin
-
- sed -e 's/-Wl,-soname//' -i Makefile
- sed -e 's/\(PATH("\)latex/\1xelatex/' -i LaTeX.c
- sed -e 's/|| execute(cmddvips, dvipsopts, 10) //' -i LaTeX.c
- sed -e 's/ strcat([*]file_ps, "[.]ps");/ strcat(*file_ps, ".pdf");/' -i LaTeX.c
- sed -e 's/\([*]convertopts\[5\]=[{]"\)\(\\"",\)/\1 -trim \2/' -i LaTeX.c
- sed -e 's/\(#define HEADER ".*\)12pt\(.*\)"/\116pt\2\\\\usepackage{fontspec}\\\\usepackage{xunicode}"/' -i LaTeX.h
- '') ["minInit" "addInputs" "defEnsureDir" "doUnpack"];
-
- postInstall = fullDepEntry (''
- mkdir -p $out/lib
- mkdir -p $out/share/pidgin-latex
- ln -s ../../lib/pidgin/LaTeX.so $out/share/pidgin-latex
- '') ["minInit" "defEnsureDir" "doMakeInstall"];
-
- /* doConfigure should be specified separately */
- phaseNames = [ "preBuild" "doMakeInstall" "postInstall"];
-
- name = "pidgin-latex-${version}";
- meta = {
- description = "LaTeX rendering plugin for Pidgin IM";
- priority = "10";
- };
-}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
index 348802fe16e..7cfa12eccb4 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, libtoxcore, pidgin, autoconf, automake, libtool, libsodium } :
+{ stdenv, fetchFromGitHub, libtoxcore, pidgin, autoconf, automake, libtool
+, libsodium } :
let
- version = "17a3fd9199";
- date = "20131012";
+ version = "dd181722ea";
+ date = "20141202";
in
stdenv.mkDerivation rec {
name = "tox-prpl-${date}-${version}";
- src = fetchurl {
- url = "https://github.com/jin-eld/tox-prpl/tarball/${version}";
- name = "${name}.tar.gz";
- sha256 = "0sz5wkyfwmhaj652xpsxq4p252cmmfa1vy6mp3jfyn145c758v9n";
+ src = fetchFromGitHub {
+ owner = "jin-eld";
+ repo = "tox-prpl";
+ rev = "${version}";
+ sha256 = "0wzyvg11h4ym28zqd24p35lza3siwm2519ga0yhk98rv458zks0v";
};
NIX_LDFLAGS = "-lssp -lsodium";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix
new file mode 100644
index 00000000000..37b2a1f0c62
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pidgin } :
+
+stdenv.mkDerivation rec {
+ name = "pidgin-window-merge-${version}";
+ version = "0.3";
+
+ src = fetchurl {
+ url = "https://github.com/downloads/dm0-/window_merge/window_merge-${version}.tar.gz";
+ sha256 = "0cb5rvi7jqvm345g9mlm4wpq0240kcybv81jpw5wlx7hz0lwi478";
+ };
+
+ buildInputs = [ pidgin ];
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/dm0-/window_merge;
+ description = "Pidgin plugin that merges the Buddy List window with a conversation window";
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ jgeerds ];
+ };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch b/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch
new file mode 100644
index 00000000000..b0758777186
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch
@@ -0,0 +1,20 @@
+diff --git a/libpurple/plugin.c b/libpurple/plugin.c
+index 4f2b402..fda9add 100644
+--- a/libpurple/plugin.c
++++ b/libpurple/plugin.c
+@@ -1181,8 +1181,15 @@ purple_plugins_get_handle(void) {
+ void
+ purple_plugins_init(void) {
+ void *handle = purple_plugins_get_handle();
++ gchar **paths, **p;
+
+ purple_plugins_add_search_path(LIBDIR);
++ paths = g_strsplit(g_getenv("PURPLE_PLUGIN_PATH"), ":", -1);
++ if (paths) {
++ for (p = paths; *p; ++p)
++ if (**p) purple_plugins_add_search_path(*p);
++ }
++ g_strfreev(paths);
+
+ purple_signal_register(handle, "plugin-load",
+ purple_marshal_VOID__POINTER,
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 814a191c457..5e8f266930f 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -1,56 +1,59 @@
-/**
- * Possible missing configuration:
- *
- * - silcclient
- * - libebook-1.2
- * - libedata-book-1.2
- * - checking for XScreenSaverRegister in -lXext... no
- * - checking for XScreenSaverRegister in -lXss... no
- * - ao
- * - audiofile-config
- * - doxygen
- */
-{ stdenv, fetchurl, pkgconfig, gtk, gtkspell, aspell,
- gstreamer, gst_plugins_base, startupnotification, gettext,
- perl, perlXMLParser, libxml2, nss, nspr, farsight2,
- libXScrnSaver, ncurses, avahi, dbus, dbus_glib, intltool, libidn
- , lib, python
- , openssl ? null
- , gnutls ? null
- , libgcrypt ? null
-} :
+{ stdenv, fetchurl, pkgconfig, gtk, gtkspell, aspell
+, gstreamer, gst_plugins_base, startupnotification, gettext
+, perl, perlXMLParser, libxml2, nss, nspr, farsight2
+, libXScrnSaver, ncurses, avahi, dbus, dbus_glib, intltool, libidn
+, lib, python, libICE, libXext, libSM
+, openssl ? null
+, gnutls ? null
+, libgcrypt ? null
+}:
+
+# FIXME: clean the mess around choosing the SSL library (nss by default)
stdenv.mkDerivation rec {
- name = "pidgin-2.10.9";
+ name = "pidgin-${version}";
+ majorVersion = "2";
+ version = "${majorVersion}.10.11";
+
src = fetchurl {
url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
- sha256 = "06gka47myl9f5x0flkq74ml75akkf28rx9sl8pm3wqkzazc2wdnw";
+ sha256 = "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj";
};
inherit nss ncurses;
+
buildInputs = [
gtkspell aspell
gstreamer gst_plugins_base startupnotification
- libxml2]
- ++ (lib.optional (openssl != null) openssl)
- ++ (lib.optional (gnutls != null) gnutls)
- ++ (lib.optional (libgcrypt != null) libgcrypt)
- ++
- [nss nspr farsight2
+ libxml2 nss nspr farsight2
libXScrnSaver ncurses python
avahi dbus dbus_glib intltool libidn
+ libICE libXext libSM
]
- ;
+ ++ (lib.optional (openssl != null) openssl)
+ ++ (lib.optional (gnutls != null) gnutls)
+ ++ (lib.optional (libgcrypt != null) libgcrypt);
propagatedBuildInputs = [
pkgconfig gtk perl perlXMLParser gettext
];
- patches = [./pidgin-makefile.patch ];
+ patches = [./pidgin-makefile.patch ./add-search-path.patch ];
+
+ configureFlags = [
+ "--with-nspr-includes=${nspr}/include/nspr"
+ "--with-nspr-libs=${nspr}/lib"
+ "--with-nss-includes=${nss}/include/nss"
+ "--with-nss-libs=${nss}/lib"
+ "--with-ncurses-headers=${ncurses}/include"
+ "--disable-meanwhile"
+ "--disable-nm"
+ "--disable-tcl"
+ ]
+ ++ (lib.optionals (gnutls != null) ["--enable-gnutls=yes" "--enable-nss=no"]);
+
+ enableParallelBuilding = true;
- configureFlags="--with-nspr-includes=${nspr}/include/nspr --with-nspr-libs=${nspr}/lib --with-nss-includes=${nss}/include/nss --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include --disable-meanwhile --disable-nm --disable-tcl"
- + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no")
- ;
meta = with stdenv.lib; {
description = "Multi-protocol instant messaging client";
homepage = http://pidgin.im;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix
new file mode 100644
index 00000000000..7e637c767cf
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildEnv, pidgin, makeWrapper, plugins }:
+
+let
+extraArgs = map (x: x.wrapArgs or "") plugins;
+drv = buildEnv {
+ name = "pidgin-with-plugins-" + (builtins.parseDrvName pidgin.name).version;
+
+ paths = [ pidgin ] ++ plugins;
+
+ postBuild = ''
+ # TODO: This could be avoided if buildEnv could be forced to create all directories
+ if [ -L $out/bin ]; then
+ rm $out/bin
+ mkdir $out/bin
+ for i in ${pidgin}/bin/*; do
+ ln -s $i $out/bin
+ done
+ fi
+ wrapProgram $out/bin/pidgin \
+ --suffix-each PURPLE_PLUGIN_PATH ':' "$out/lib/purple-${pidgin.majorVersion} $out/lib/pidgin" \
+ ${toString extraArgs}
+ '';
+ };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index 438b6f35145..7f5757e68b4 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -1,29 +1,30 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, qt5, openal, opencv }:
+{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, qt5, openalSoft, opencv
+, libsodium }:
stdenv.mkDerivation rec {
- name = "qtox-dev-20140918";
+ name = "qtox-dev-20141201";
src = fetchFromGitHub {
owner = "tux3";
repo = "qTox";
- rev = "f06ec65bca";
- sha256 = "0r7qc444bgsxawyya5nw3xk1c50b90307lcwazs8mn35h4snr97m";
+ rev = "qtox-windows-1417469442.11";
+ sha256 = "02nxj0w5qbgc79n8mgyqldk1yadf4p8pysn79f7fvi8fxq4j0j5n";
};
- buildInputs = [ pkgconfig libtoxcore qt5 openal opencv ];
+ buildInputs = [ pkgconfig libtoxcore qt5 openalSoft opencv libsodium ];
configurePhase = "qmake";
installPhase = ''
- ensureDir $out/bin
+ mkdir -p $out/bin
cp qtox $out/bin
'';
meta = with stdenv.lib; {
description = "QT Tox client";
license = licenses.gpl3;
- maintainers = with stdenv.lib.maintainers; [ viric ];
- platforms = stdenv.lib.platforms.all;
+ maintainers = with maintainers; [ viric jgeerds ];
+ platforms = platforms.all;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 3870533aa89..8a3e7203f26 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeWrapper, zlib, glib, libpng, freetype, xorg
, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, pulseaudio ? null
-, libredirect, quazip
+, libredirect, quazip, less, which
}:
let
@@ -33,11 +33,11 @@ stdenv.mkDerivation rec {
else "1b3nbvfpd8lx3dig8z5yk6zjkbmsy6y938dhj1f562wc8adixciz";
};
- buildInputs = [ makeWrapper ];
+ buildInputs = [ makeWrapper less which ];
unpackPhase =
''
- yes | sh $src
+ echo -e 'q\ny' | sh -xe $src
cd TeamSpeak*
'';
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index 39de30e5dce..5af31cdb21a 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses
+{ stdenv, fetchFromGitHub, autoconf, libtool, automake, libsodium, ncurses
, libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }:
-let
- version = "0.5.1";
-in stdenv.mkDerivation rec {
- name = "toxic-${version}";
+stdenv.mkDerivation rec {
+ name = "toxic-dev-20141130";
- src = fetchurl {
- url = "https://github.com/Tox/toxic/archive/v${version}.tar.gz";
- sha256 = "0zzfgwm17a4xcy9l0ll2pksp45mz6f4s3isdrgjpw1xibv9xnzcm";
+ src = fetchFromGitHub {
+ owner = "Tox";
+ repo = "toxic";
+ rev = "4acfe84171";
+ sha256 = "1yqglh9fm75zph4fzf3z4gwmamngypwpvb7shpqgakdg8ybq0a8s";
};
- makeFlags = [ "-Cbuild" "VERSION=${version}" "PREFIX=$(out)" ];
+ makeFlags = [ "-Cbuild" "PREFIX=$(out)" ];
installFlags = [ "PREFIX=$(out)" ];
buildInputs = [
@@ -21,10 +21,10 @@ in stdenv.mkDerivation rec {
openal libvpx freealut
];
- meta = {
+ meta = with stdenv.lib; {
description = "Reference CLI for Tox";
- license = stdenv.lib.licenses.gpl3Plus;
- maintainers = with stdenv.lib.maintainers; [ viric ];
- platforms = stdenv.lib.platforms.all;
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ viric jgeerds ];
+ platforms = platforms.all;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 961ab997384..c7f33c1f580 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
configureFlags = "--with-extra-includes=${libjpeg}/include";
buildInputs =
- [ pkgconfig autoreconfHook commoncpp2 openssl boost boost.lib libsndfile
+ [ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
libxml2 libjpeg readline qt3 perl file
# optional ? :
alsaLib speex
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 99753f6ceeb..1c6183ed330 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
- name = "utox-dev-20140921";
+ name = "utox-dev-20141130";
src = fetchFromGitHub {
owner = "notsecure";
repo = "uTox";
- rev = "c0afc95cf3";
- sha256 = "0a6i0c9crj6b27alm8q0fcfj8q425khg5305sp57r7pj505l4d1f";
+ rev = "38b0a2014f";
+ sha256 = "00g9fsp83yjq6dfim3hfpag0ny9w5kydghycfj3ic8qaljp47y8a";
};
buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Lightweight Tox client";
license = licenses.gpl3;
- maintainers = with stdenv.lib.maintainers; [ iElectric ];
- platforms = stdenv.lib.platforms.all;
+ maintainers = with maintainers; [ iElectric jgeerds ];
+ platforms = platforms.all;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index ad8b677a2ec..205c21adab4 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -12,17 +12,17 @@ let
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
- version="1.2.3";
+ version="1.2.4";
baseName="vacuum-im";
name="${baseName}-${version}";
- url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
- hash="037k2b2kkp2ywkrshqa0fj18mkd2jq60x4x62kzbrsvb85qcbbxh";
+ url="https://googledrive.com/host/0B7A5K_290X8-d1hjQmJaSGZmTTA/vacuum-1.2.4.tar.gz";
+ sha256="10qxpfbbaagqcalhk0nagvi5irbbz5hk31w19lba8hxf6pfylrhf";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
- sha256 = sourceInfo.hash;
+ sha256 = sourceInfo.sha256;
};
inherit (sourceInfo) name version;
diff --git a/pkgs/applications/networking/iptraf/default.nix b/pkgs/applications/networking/iptraf/default.nix
index db1f2011f11..11655d0e28d 100644
--- a/pkgs/applications/networking/iptraf/default.nix
+++ b/pkgs/applications/networking/iptraf/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.1.tar.gz;
- md5 = "004c2c005a1b78739e22bc49d33e244d";
+ sha256 = "12n059j9iihhpf6spmlaspqzxz3wqan6kkpnhmlj08jdijpnk84m";
};
patchPhase = ''
diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix
index 2010d064f0d..765066bb437 100644
--- a/pkgs/applications/networking/irc/chatzilla/default.nix
+++ b/pkgs/applications/networking/irc/chatzilla/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, unzip, xulrunner, makeWrapper }:
+{ stdenv, fetchurl, unzip, firefox, makeWrapper }:
stdenv.mkDerivation rec {
- name = "chatzilla-0.9.90.1";
+ name = "chatzilla-0.9.91";
src = fetchurl {
# Obtained from http://chatzilla.rdmsoft.com/xulrunner/.
url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp";
- sha256 = "0z38jig91h10cb14rvs30rpg2pgn3v890nyxyy8lxzbv5ncxmngw";
+ sha256 = "1bmjw2wvp8gh7fdl8czkxc55iari6dy672446hps20xixrh8hl8r";
};
buildInputs = [ unzip makeWrapper ];
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
mkdir -p $out/libexec/chatzilla
unzip $src -d $out/libexec/chatzilla
- makeWrapper ${xulrunner}/bin/xulrunner $out/bin/chatzilla \
- --add-flags $out/libexec/chatzilla/application.ini
+ makeWrapper ${firefox}/bin/firefox $out/bin/chatzilla \
+ --add-flags "-app $out/libexec/chatzilla/application.ini"
sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/'
'';
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 67e06be0883..8d8913cf3cd 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
stdenv.mkDerivation rec {
- name = "irssi-0.8.15";
+ name = "irssi-0.8.16";
src = fetchurl {
url = "http://irssi.org/files/${name}.tar.bz2";
- sha256 = "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1";
+ sha256 = "15wzs4h754jzs1l4z7qzsyjllk9wdx3qfb6gymdiykvmlb9gwyiz";
};
buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix
index 7554ad7d1a8..cbe4e3be28d 100644
--- a/pkgs/applications/networking/irc/konversation/default.nix
+++ b/pkgs/applications/networking/irc/konversation/default.nix
@@ -3,7 +3,7 @@
let
pn = "konversation";
- v = "1.5";
+ v = "1.5.1";
in
stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz";
- sha256 = "0vsl34kiar7kbsgncycwd7f66f493fip6d635qlprqn1gqhycb9q";
+ sha256 = "11hrjrq4r6v1v14ybx9llgzmrl3a45z26n292nb0q887rg1qv0wp";
};
buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index ba3d7b8c368..1349e71a791 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -5,24 +5,27 @@
, ssl ? true # enable SSL support
, previews ? false # enable webpage previews on hovering over URLs
, tag ? "" # tag added to the package name
-, stdenv, fetchurl, cmake, makeWrapper, qt4, kdelibs, automoc4, phonon, dconf }:
+, stdenv, fetchurl, cmake, makeWrapper, qt, kdelibs, automoc4, phonon, dconf }:
+
+assert monolithic -> !client && !daemon;
+assert client || daemon -> !monolithic;
let
edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
in with stdenv; mkDerivation rec {
- version = "0.10.0";
+ version = "0.11.0";
name = "quassel${tag}-${version}";
src = fetchurl {
url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
- sha256 = "08vwxkwnzlgnxn0wi6ga9fk8qgc6nklb236hsfnr5ad37bi8q8k8";
+ sha256 = "01251y5i1fvm6s2g9acxaczk2jdyw1byr45q41q0yh9apjw938cr";
};
enableParallelBuilding = true;
- buildInputs = [ cmake makeWrapper qt4 ]
+ buildInputs = [ cmake makeWrapper qt ]
++ lib.optional withKDE kdelibs
++ lib.optional withKDE automoc4
++ lib.optional withKDE phonon;
@@ -63,6 +66,6 @@ in with stdenv; mkDerivation rec {
license = stdenv.lib.licenses.gpl3;
maintainers = [ maintainers.phreedom ];
repositories.git = https://github.com/quassel/quassel.git;
- inherit (qt4.meta) platforms;
+ inherit (qt.meta) platforms;
};
}
diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix
index 77aeb64478f..4f936f2677e 100644
--- a/pkgs/applications/networking/jmeter/default.nix
+++ b/pkgs/applications/networking/jmeter/default.nix
@@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
name = "jmeter-2.11";
src = fetchurl {
- url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-${name}.tgz";
+ url = "http://archive.apache.org/dist/jmeter/binaries/apache-${name}.tgz";
sha256 = "1fr3sw06qncb6yygcf2lbnkxma4v1dbigpf39ajrm0isxbpyv944";
};
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
index 00ff1110c32..2b4c5f564be 100644
--- a/pkgs/applications/networking/linssid/default.nix
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
};
- buildInputs = [ qt5 pkgconfig boost boost.lib ];
+ buildInputs = [ qt5 pkgconfig boost ];
postPatch = ''
sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
diff --git a/pkgs/applications/networking/mailreaders/alpine/default.nix b/pkgs/applications/networking/mailreaders/alpine/default.nix
new file mode 100644
index 00000000000..87e824a977d
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/alpine/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, ncurses, tcl, openssl, pam, pkgconfig, gettext, kerberos
+, openldap
+}:
+let
+ s =
+ rec {
+ version = "2.00";
+ url = "ftp://ftp.cac.washington.edu/alpine/alpine-${version}.tar.bz2";
+ sha256 = "19m2w21dqn55rhxbh5lr9qarc2fqa9wmpj204jx7a0zrb90bhpf8";
+ baseName = "alpine";
+ name = "${baseName}-${version}";
+ };
+ buildInputs = [
+ ncurses tcl openssl pam kerberos openldap
+ ];
+in
+stdenv.mkDerivation {
+ inherit (s) name version;
+ inherit buildInputs;
+ src = fetchurl {
+ inherit (s) url sha256;
+ };
+ configureFlags = [
+ "--with-ssl-include-dir=${openssl}/include/openssl"
+ "--with-tcl-lib=tcl8.5"
+ ];
+ preConfigure = ''
+ export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
+ '';
+ meta = {
+ inherit (s) version;
+ description = ''Console mail reader'';
+ license = stdenv.lib.licenses.asl20;
+ maintainers = [stdenv.lib.maintainers.raskin];
+ platforms = stdenv.lib.platforms.linux;
+ homepage = "https://www.washington.edu/alpine/";
+ };
+}
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
new file mode 100644
index 00000000000..c22c1a275c3
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -0,0 +1,81 @@
+{ fetchurl, stdenv
+, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
+, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
+, perl, pkgconfig, poppler, python, webkitgtk2
+
+# Build options
+# TODO: A flag to build the manual.
+# TODO: Plugins that complain about their missing dependencies, even when
+# provided:
+# gdata requires libgdata
+# geolocation requires libchamplain
+# python requires python
+, enableLdap ? false
+, enableNetworkManager ? false
+, enablePgp ? false
+, enablePluginArchive ? false
+, enablePluginFancy ? false
+, enablePluginNotificationDialogs ? true
+, enablePluginNotificationSounds ? true
+, enablePluginPdf ? false
+, enablePluginRavatar ? false
+, enablePluginRssyl ? false
+, enablePluginSmime ? false
+, enablePluginSpamassassin ? false
+, enablePluginSpamReport ? false
+, enablePluginVcalendar ? false
+, enableSpellcheck ? false
+}:
+
+with stdenv.lib;
+
+let version = "3.11.1"; in
+
+stdenv.mkDerivation {
+ name = "claws-mail-${version}";
+
+ meta = {
+ description = "The user-friendly, lightweight, and fast email client";
+ homepage = http://www.claws-mail.org/;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ };
+
+ src = fetchurl {
+ url = "http://downloads.sourceforge.net/project/claws-mail/Claws%20Mail/${version}/claws-mail-${version}.tar.bz2";
+ sha256 = "0w13xzri9d3165qsxf1dig1f0gxn3ib4lysfc9pgi4zpyzd0zgrw";
+ };
+
+ buildInputs =
+ [ curl dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
+ ++ optional enableSpellcheck enchant
+ ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
+ ++ optional enablePluginArchive libarchive
+ ++ optional enablePluginNotificationSounds libcanberra
+ ++ optional enablePluginNotificationDialogs libnotify
+ ++ optional enablePluginFancy libsoup
+ ++ optional enablePluginRssyl libxml2
+ ++ optional enableNetworkManager networkmanager
+ ++ optional enableLdap openldap
+ ++ optional enablePluginPdf poppler
+ ++ optional enablePluginFancy webkitgtk2;
+
+ configureFlags =
+ optional (!enableLdap) "--disable-ldap"
+ ++ optional (!enableNetworkManager) "--disable-networkmanager"
+ ++ optionals (!enablePgp) [
+ "--disable-pgpcore-plugin"
+ "--disable-pgpinline-plugin"
+ "--disable-pgpmime-plugin"
+ ]
+ ++ optional (!enablePluginArchive) "--disable-archive-plugin"
+ ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
+ ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
+ ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
+ ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
+ ++ optional (!enablePluginSmime) "--disable-smime-plugin"
+ ++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin"
+ ++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin"
+ ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
+ ++ optional (!enableSpellcheck) "--disable-enchant";
+}
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index d42b71b2312..d7aff753e23 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, lua, pcre }:
stdenv.mkDerivation rec {
- name = "imapfilter-2.5.6";
+ name = "imapfilter-2.5.7";
src = fetchurl {
- url = "https://github.com/lefcha/imapfilter/archive/v2.5.6.tar.gz";
- sha256 = "0c94xdcnkk33d2filzkbraymfzm09np78486kqzqwidnnfllsk86";
+ url = "https://github.com/lefcha/imapfilter/archive/v2.5.7.tar.gz";
+ sha256 = "1l7sg7pyw1i8cxqnyb5xv983fakj8mxq6w44qd7w3kc7l6ixd4n7";
};
makeFlagsArray = "PREFIX=$(out)";
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 4ab85026ded..695e2b38157 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -2,14 +2,14 @@
pythonPackages.buildPythonPackage rec {
name = "mailpile-${version}";
- version = "0.4.0";
+ version = "0.4.1";
src = fetchgit {
url = "git://github.com/pagekite/Mailpile";
- rev = "af3e2554dcef892cc44e044ce61e1693f09228c0";
- sha256 = "0p8j5w5281rjl0nigsw7glfp7inz13p6iqlr9g3m3vh72i9pvl7h";
+ rev = "refs/tags/${version}";
+ sha256 = "0h84cc9kwb0m4admqjkpg4pllxlh095rmzvrql45kz71fpnxs780";
};
-
+
patchPhase = ''
substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${pythonPackages.python.libPrefix}/site-packages/' + dir"
'';
@@ -31,4 +31,4 @@ pythonPackages.buildPythonPackage rec {
platforms = platforms.linux;
maintainers = [ maintainers.iElectric ];
};
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 9c397f27c46..7c60864b486 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, which, perl
+{ stdenv, fetchurl, ncurses, which, perl, autoreconfHook
, sslSupport ? true
, imapSupport ? true
, headerCache ? true
@@ -8,31 +8,34 @@
, openssl ? null
, cyrus_sasl ? null
, gpgme ? null
+, withSidebar ? false
}:
assert headerCache -> gdbm != null;
assert sslSupport -> openssl != null;
assert saslSupport -> cyrus_sasl != null;
+assert gpgmeSupport -> gpgme != null;
let
version = "1.5.23";
in
stdenv.mkDerivation rec {
- name = "mutt-${version}";
-
+ name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}";
+
src = fetchurl {
- url = "mirror://sourceforge/mutt/${name}.tar.gz";
+ url = "mirror://sourceforge/mutt/mutt-${version}.tar.gz";
sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s";
};
- buildInputs = [
- ncurses which perl
- (if headerCache then gdbm else null)
- (if sslSupport then openssl else null)
- (if saslSupport then cyrus_sasl else null)
- (if gpgmeSupport then gpgme else null)
- ];
-
+ buildInputs = with stdenv.lib;
+ [ ncurses which perl ]
+ ++ optional headerCache gdbm
+ ++ optional sslSupport openssl
+ ++ optional saslSupport cyrus_sasl
+ ++ optional gpgmeSupport gpgme;
+
+ nativeBuildInputs = stdenv.lib.optional withSidebar autoreconfHook;
+
configureFlags = [
"--with-mailpath=" "--enable-smtp"
@@ -52,6 +55,13 @@ stdenv.mkDerivation rec {
(if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
];
+ # Adding the sidebar
+ patches = [] ++
+ (stdenv.lib.optional withSidebar (fetchurl {
+ url = http://lunar-linux.org/~tchan/mutt/patch-1.5.23.sidebar.20140412.txt;
+ sha256 = "1i2r7dj0pd1k0z3jjxn2szi6sf0k28i8dwhr4f65pn8r2lh3wisz";
+ }));
+
meta = with stdenv.lib; {
description = "A small but very powerful text-based mail client";
homepage = http://www.mutt.org;
diff --git a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch
deleted file mode 100644
index 3fb9c7a5f7f..00000000000
--- a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -r 8f62001989cc configure.ac
---- a/configure.ac Sat Feb 08 10:24:22 2014 -0800
-+++ b/configure.ac Wed Jul 02 12:34:40 2014 +0200
-@@ -473,6 +473,8 @@
- mutt_cv_mailpath=/usr/spool/mail
- elif test -d /usr/mail; then
- mutt_cv_mailpath=/usr/mail
-+ elif test -d /tmp; then
-+ mutt_cv_mailpath=/tmp
- fi])
- ])
- if test "$mutt_cv_mailpath" = no; then
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 75ccb93ca95..a5af880728a 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -1,60 +1,25 @@
-{ fetchurl, stdenv, bash, emacs, gdb, glib, gmime, gnupg,
- pkgconfig, talloc, xapian
+{ fetchurl, stdenv, bash, emacs, fixDarwinDylibNames
+, gdb, glib, gmime, gnupg
+, pkgconfig, talloc, xapian
+, sphinx, python
}:
stdenv.mkDerivation rec {
- name = "notmuch-0.18.1";
+ name = "notmuch-0.19";
src = fetchurl {
url = "http://notmuchmail.org/releases/${name}.tar.gz";
- sha256 = "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj";
+ sha256 = "1szf6c44g209pcjq5nvfhlp3nzcm3lrcwv4spsxmwy13hiaccvrr";
};
- buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ];
+ buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian sphinx python ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
patchPhase = ''
- (cd test && for prg in \
- aggregate-results.sh \
- argument-parsing \
- atomicity \
- author-order \
- basic \
- crypto \
- count \
- dump-restore \
- emacs \
- emacs-large-search-buffer \
- encoding \
- from-guessing \
- help-test \
- hooks \
- json \
- long-id \
- maildir-sync \
- multipart \
- new \
- notmuch-test \
- python \
- raw \
- reply \
- search \
- search-by-folder \
- search-insufficient-from-quoting \
- search-folder-coherence \
- search-limiting \
- search-output \
- search-position-overlap-bug \
- symbol-hiding \
- tagging \
- test-lib.sh \
- test-verbose \
- thread-naming \
- thread-order \
- uuencode \
- ;do
- substituteInPlace "$prg" \
- --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
- done)
+ find test -type f -exec \
+ sed -i \
+ "1s_#!/usr/bin/env bash_#!${bash}/bin/bash_" \
+ "{}" ";"
for src in \
crypto.c \
@@ -65,6 +30,20 @@ stdenv.mkDerivation rec {
done
'';
+ postInstall = ''
+ make install-man
+ '';
+
+ preFixup = if stdenv.isDarwin then
+ ''
+ prg="$out/bin/notmuch"
+ target="libnotmuch.3.dylib"
+ echo "$prg: fixing link to $target"
+ install_name_tool -change "$target" "$out/lib/$target" "$prg"
+ ''
+ else
+ "";
+
# XXX: emacs tests broken
doCheck = false;
checkTarget = "test";
diff --git a/pkgs/applications/networking/mailreaders/realpine/default.nix b/pkgs/applications/networking/mailreaders/realpine/default.nix
new file mode 100644
index 00000000000..11097672ae7
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/realpine/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, ncurses, tcl, openssl, pam, pkgconfig, gettext, kerberos
+, openldap
+}:
+let
+ s =
+ rec {
+ version = "2.03";
+ url = "mirror://sourceforge/re-alpine/re-alpine-${version}.tar.bz2";
+ sha256 = "11xspzbk9cwmklmcw6rxsan7j71ysd4m9c7qldlc59ck595k5nbh";
+ baseName = "re-alpine";
+ name = "${baseName}-${version}";
+ };
+ buildInputs = [
+ ncurses tcl openssl pam kerberos openldap
+ ];
+in
+stdenv.mkDerivation {
+ inherit (s) name version;
+ inherit buildInputs;
+ src = fetchurl {
+ inherit (s) url sha256;
+ };
+ configureFlags = [
+ "--with-ssl-include-dir=${openssl}/include/openssl"
+ "--with-tcl-lib=tcl8.5"
+ ];
+ preConfigure = ''
+ export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
+ '';
+ meta = {
+ inherit (s) version;
+ description = ''Console mail reader'';
+ license = stdenv.lib.licenses.asl20;
+ maintainers = [stdenv.lib.maintainers.raskin];
+ platforms = stdenv.lib.platforms.linux;
+ homepage = "http://re-alpine.sf.net/";
+ downloadPage = "http://sourceforge.net/projects/re-alpine/files/";
+ };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index d180ea290ad..55e5820a5d2 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -1,8 +1,3 @@
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
{ stdenv, fetchurl, config
, gconf
, alsaLib
@@ -39,121 +34,10 @@
assert stdenv.isLinux;
-let
- version = "31.1.2";
- sources = [
- { locale = "id"; arch = "linux-i686"; sha256 = "210f0037279ec373d5d189a8724962fec3237900c343ca93d2421ca93a35f201"; }
- { locale = "id"; arch = "linux-x86_64"; sha256 = "7436275f73a1292567cc587bd41439ecb724fac5e092f0b0f2af932bf39805f7"; }
- { locale = "he"; arch = "linux-i686"; sha256 = "14b878d70f96e60e3a73134c3cbb35cc6d468446b588510ae5f2e8934d8fbb3b"; }
- { locale = "he"; arch = "linux-x86_64"; sha256 = "6edabe4a5bf81274cb117bdf7ec7d0b89f3759b9f31e1b9e03c0c603cda2e91f"; }
- { locale = "el"; arch = "linux-i686"; sha256 = "9f65b45570f83d41b856f99b3077e6e112fa65b3762eb51277269fdbf07cfdb2"; }
- { locale = "el"; arch = "linux-x86_64"; sha256 = "6a500164772c004d851f13d77a7a9b84428b5c372fdba6f0936c1ddd398d9087"; }
- { locale = "tr"; arch = "linux-i686"; sha256 = "fb5f9ab606101cfebe86f64f64b9e46ecd73a704c1a2a993e4b4d68129d84484"; }
- { locale = "tr"; arch = "linux-x86_64"; sha256 = "54517217aa8cf4d715dd2c7d5cf7c4b96bd5f0add2dda9d9d9412ea10b4210a4"; }
- { locale = "ast"; arch = "linux-i686"; sha256 = "2ff66a151f4003b5dc0432b43e1038e0c69645c58fc5d6015cab3e493a8ed9a7"; }
- { locale = "ast"; arch = "linux-x86_64"; sha256 = "e34c892ff3fe761c2707036c5ea3453fe411dca2ad2e474ead7ef0c209558e06"; }
- { locale = "nl"; arch = "linux-i686"; sha256 = "46154b1fab58e9040e4e67b01ae2c5865b644ccf8f2239c396725bf063eae640"; }
- { locale = "nl"; arch = "linux-x86_64"; sha256 = "271f169763271582698b8ec23d9ca463b41a7d2b373b56d9c170179e15f0fc34"; }
- { locale = "bn-BD"; arch = "linux-i686"; sha256 = "2b3f2e9933bcda04abc5785b77630cedcba2d85a73a9d535d895ed7910c97d54"; }
- { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "e4878b6ec24d75cba9e991f6b852ec280992b205bca0e82a2aecfd9a607cdbb4"; }
- { locale = "eu"; arch = "linux-i686"; sha256 = "b2ff2e8b6c9b7ee81d0965380d15e080c204ffac35b687ca29ca41b51804b491"; }
- { locale = "eu"; arch = "linux-x86_64"; sha256 = "7afd4c4618f4e7758875ae58295e340289eb994723d3eea13c388751878e0b4e"; }
- { locale = "fr"; arch = "linux-i686"; sha256 = "41f07408eaec108a28f03917820329c801a386ad3628ebdeb7abd852e579ae72"; }
- { locale = "fr"; arch = "linux-x86_64"; sha256 = "ea667afbfeba6901a56cc44751d6bf202ef978ce7e39719e56c1fe31a622922b"; }
- { locale = "br"; arch = "linux-i686"; sha256 = "cea91b552b14e4a417d288d93b4db10b787a1a15316ed7de0b3016be359ddcc5"; }
- { locale = "br"; arch = "linux-x86_64"; sha256 = "8d72d7cca4885f527a8e8d2b8e2950d0ea0e5d1a840bcde38c08a77e3b6a69a7"; }
- { locale = "pa-IN"; arch = "linux-i686"; sha256 = "92a28502463e92e6bb9cf7854358c13757222433f9931703a2df4d1ef93bdcbb"; }
- { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "6b61650491252bb441a13b2fa550d9bdd76e6f23a0e5da641fde4372637c451c"; }
- { locale = "gd"; arch = "linux-i686"; sha256 = "4d35dfe5c9d66ea8f81fa0e5957152296f9af31968b8ed4975563c480abf2da8"; }
- { locale = "gd"; arch = "linux-x86_64"; sha256 = "3647b5345ac4fa5cc6cd301fefbe538d2442110f93cccb5e8eca4227bcbcd661"; }
- { locale = "bg"; arch = "linux-i686"; sha256 = "b06afea38900f268b95787c257d960de8c0174f582e51434aa97a9535fac43a4"; }
- { locale = "bg"; arch = "linux-x86_64"; sha256 = "c4ae2aebdd91543cf3c64ea25931327f6e8d2113b59d0b2fbb19561b4f935134"; }
- { locale = "sv-SE"; arch = "linux-i686"; sha256 = "854d4c53fd22c5c1f4635ed41e7dadc6f0603439380e3d3f15ea7a5db5721941"; }
- { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "64842c6606e2102434ed0b33bcb53d0cdef08e4b55e67e85b3c1244a7dab32d5"; }
- { locale = "ja"; arch = "linux-i686"; sha256 = "6632eec0a8bf14a77590fae44113d417589634a97cd0b57ef4ede7623cd5b632"; }
- { locale = "ja"; arch = "linux-x86_64"; sha256 = "727c25136106eca05d4c0bbddbe01672decc4a9f55b3246290c1c6e41cbef946"; }
- { locale = "pt-BR"; arch = "linux-i686"; sha256 = "986ae49f92e2bab52cc3a4da4f9ca9bce34c01e96126d4fd9fe41d39d16a8ee3"; }
- { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "c208dc5adb8bbe39535ec28836425d66d557d4ebb111aca9c0d025750ad0d3c4"; }
- { locale = "is"; arch = "linux-i686"; sha256 = "ee8b101070f820849ec2bde48b76e102cf750bbcee106f47238259bb3cb791bb"; }
- { locale = "is"; arch = "linux-x86_64"; sha256 = "19471d5e13856f85fc395b825fb297f88805bba5d1d6c2999c49c4947cc6ed43"; }
- { locale = "es-AR"; arch = "linux-i686"; sha256 = "b21ec0c7e2ee24b971828ae02419f06e3d9447c5e30b1c8257a1d8e1b5ac383e"; }
- { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "6f8eda76fe19bd590e4f8e23e491edc93b870b72064814eb0d6352c99513397f"; }
- { locale = "nn-NO"; arch = "linux-i686"; sha256 = "217a6b195255c841ff42f181aa4fa54bd76a91de61662098d96c4fb9e7d6b79a"; }
- { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "f11ce6f7ef22cb99674668bfcd0f3614a4a9e162f9608fa1290ae26c6c199560"; }
- { locale = "sr"; arch = "linux-i686"; sha256 = "85f32820095ee3b50716731b2b369378cf530fd1f3ef3522a5cd55e00fb4ce5e"; }
- { locale = "sr"; arch = "linux-x86_64"; sha256 = "d67b98991de46de52f84627ccb7f2888551343eef94a5d7562e587fcd8d968ec"; }
- { locale = "si"; arch = "linux-i686"; sha256 = "14914642dc540c6a0fa0df5816eb35b39b822dac4da58a79d9cfe1c3bf7ed1c0"; }
- { locale = "si"; arch = "linux-x86_64"; sha256 = "c0421803b2be6704151177c0d13557a9d828e3b3333cd214734e2ed4aafce105"; }
- { locale = "ro"; arch = "linux-i686"; sha256 = "9226cd799114fcec9c1b53b403708e62ca9f151d43bb53167b822cd3ca779171"; }
- { locale = "ro"; arch = "linux-x86_64"; sha256 = "05e13ad7c9a53a123c3a50e858285f730a4a5ec95e93074cfda990f4466a1c4f"; }
- { locale = "it"; arch = "linux-i686"; sha256 = "ed9b4f3bfd457d00792795584bf17bebf4b42967c111cf4f778aa7e88b437407"; }
- { locale = "it"; arch = "linux-x86_64"; sha256 = "301dbc22a9af014aeb6f151ac1f6ff67ef667dabe31c5e487681f682bf8d567b"; }
- { locale = "pl"; arch = "linux-i686"; sha256 = "9894e91593b3d825d2572af8c520c8be5dd791a267bb056180dc4415d55f4dc1"; }
- { locale = "pl"; arch = "linux-x86_64"; sha256 = "0531f815bc4325f150465c753ffe849577931e47eb9528df3b58e666155856f0"; }
- { locale = "sk"; arch = "linux-i686"; sha256 = "4633afa9f32f6aa1bc91c1ca2e6d1b5622192c9a82fd4c591e0f6a3095ab0baf"; }
- { locale = "sk"; arch = "linux-x86_64"; sha256 = "2121bd74ce76a0ec1734e3171c8da8ac4d935c99f6c16344639ff7e60de9a860"; }
- { locale = "vi"; arch = "linux-i686"; sha256 = "d10a856d94c790281500cf1c41683255a858eecc43afaa74819ef2d3559216e9"; }
- { locale = "vi"; arch = "linux-x86_64"; sha256 = "964343e1ee3209dea0a90dcb1f5371cb0f949b68e059aa23fe80d53747a4699c"; }
- { locale = "rm"; arch = "linux-i686"; sha256 = "f28ce0029dc5fb3212bd020065c2d453d36db53c98df1806f0e4192ef3d8c5da"; }
- { locale = "rm"; arch = "linux-x86_64"; sha256 = "fb532732406c8338bfb947e20ee6a95ff1bb18b1d6eadcd7525153393894bdf9"; }
- { locale = "ar"; arch = "linux-i686"; sha256 = "5e05b156179978920c4c7ed995ef018ddaa6332c5fe1898d94314412d11567b0"; }
- { locale = "ar"; arch = "linux-x86_64"; sha256 = "acba5a042588731e8b1af0dcc7e075577551969d7c1081c23df6feae7f4d107d"; }
- { locale = "es-ES"; arch = "linux-i686"; sha256 = "92c6f00a0e014617b5fb53167c821f17f550e8307fcd4af831cde04891f00b40"; }
- { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "191c531621e961b25bf8f16c2aad2ac57357d3456f84fc5efb4f7b7e9becc202"; }
- { locale = "fi"; arch = "linux-i686"; sha256 = "2f061035a0b6b07bb81d9f84f1bad9a7fd50b0546417fc047102e684683241c5"; }
- { locale = "fi"; arch = "linux-x86_64"; sha256 = "ee7b57cfbc15104568e12d0cc81a14118c7b0f2708963fbe2ba8ca7a2ce30a0b"; }
- { locale = "hu"; arch = "linux-i686"; sha256 = "a493b0d327f608a815654a74b22f0ab3237b139998b8720c197468fc624754b6"; }
- { locale = "hu"; arch = "linux-x86_64"; sha256 = "2b9e87e794e6ac423fd7e6c5500b8a63dc2f8a6a4bdf39de2bbfa5c06a2a8f67"; }
- { locale = "zh-CN"; arch = "linux-i686"; sha256 = "d272ea7a87f15a649c8d6089b6a5eac91ca732b760163e36ee6634ac2a186313"; }
- { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "2b71cab0bfd437a6c79125cbe0ccb82bc1fe257c6aa24b0b63c1a8456334e6e0"; }
- { locale = "uk"; arch = "linux-i686"; sha256 = "56a04b6a6a27d9eea98bb5539c927870a3a43aaace14d31faf54dd56b8ef128b"; }
- { locale = "uk"; arch = "linux-x86_64"; sha256 = "99e33539eff6a48d944f47fc86a98e07ab4395e90e509c050403e70820b11db4"; }
- { locale = "ko"; arch = "linux-i686"; sha256 = "4c7a67b83db3c15cb8385ec057eff849e59841d2c6e82f6839f76c747c09fd02"; }
- { locale = "ko"; arch = "linux-x86_64"; sha256 = "5e54ad0316c905a2fc137365e34ba24391ec3a12c638f1947d8048b9747b2a21"; }
- { locale = "cs"; arch = "linux-i686"; sha256 = "735d14680ba5108d9d422fda161d0cd1cf31ffb2d29d66b33671c58504436290"; }
- { locale = "cs"; arch = "linux-x86_64"; sha256 = "031b6f8a2f9a14689e91d887754221a972d4c9aa02807209126aa0d26be18b04"; }
- { locale = "be"; arch = "linux-i686"; sha256 = "604db8cb078699262bf01f81a97bb745bda26efdb7e81bdae66ae5fe9f546c48"; }
- { locale = "be"; arch = "linux-x86_64"; sha256 = "62a3ed654691720ff2cb2402efb450dcbe395baecd6c20dcba3d45455bfb68d1"; }
- { locale = "ru"; arch = "linux-i686"; sha256 = "81b2a2eab496824d109faf49b6df93adc9dce838058f3f70c9e9c99ad251baf3"; }
- { locale = "ru"; arch = "linux-x86_64"; sha256 = "6cdf95dd941475554630709d89fb802e8744bae7645ad9164dc2e8af701d195e"; }
- { locale = "ta-LK"; arch = "linux-i686"; sha256 = "422f2173eae85a95611ba14a9945aac7b44076764b7c67d2c4198b3e6fe2fad7"; }
- { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "d3d3dfc439bcb26cdb8d8f1ef0a9a24e804a6928aa6ac4f9ea2c0994c3e6e2c4"; }
- { locale = "zh-TW"; arch = "linux-i686"; sha256 = "6d0e3db5748fa2bce8ebc3b51098241ba80971afea629836a37e4f84feeb0c85"; }
- { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "4dd79725f91c163cd5a2073d52f3f599c2e0e95281e8235df0a20c9f8717fa07"; }
- { locale = "de"; arch = "linux-i686"; sha256 = "7b1fb8c036729ee18507e0c3529cbaf93e8776801fba9bd8c93fa7b56dcf460e"; }
- { locale = "de"; arch = "linux-x86_64"; sha256 = "926b0ad5e817af337b2f2f7416f98e935b5a6b90171816207275413c04dffb2c"; }
- { locale = "nb-NO"; arch = "linux-i686"; sha256 = "a0c9e3abe9f3835166237a9ee12dffdc1e3255b59a47e3ed0f19ecf5a6f41ba8"; }
- { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "173c030e3bba69c1634587a4032e4d0b49f37e0a94ba75c4deda7f23d25b21cc"; }
- { locale = "fy-NL"; arch = "linux-i686"; sha256 = "25f3ca3328c99421db81e4d88b8fe51e913b01430e0db412699b11fef0c81240"; }
- { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "df9f7737dddd56fb233d029c83c46a18470f992bc2b0222b54e1c4c36bde135b"; }
- { locale = "sq"; arch = "linux-i686"; sha256 = "181bbb3808b28a5dc170db90db69a99137ce5d49c559c59c4a185b1ee48bea3d"; }
- { locale = "sq"; arch = "linux-x86_64"; sha256 = "8b06fb2d2e4027aaa3ca5032823b203f5e2628c7673dd956103636916cf28a32"; }
- { locale = "ga-IE"; arch = "linux-i686"; sha256 = "e7679ef7d467aeaa796af37e62a48fb08e60299cdeb6cea07fcbd8253cda7288"; }
- { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "83a4b3a22de8be841be0967cda71dcc05958dddb690b7f90d80f1f6235555a49"; }
- { locale = "da"; arch = "linux-i686"; sha256 = "b7db83686a2e9bf5e501ae32b608189af09eca9f4996b975960fcab3a97a10d2"; }
- { locale = "da"; arch = "linux-x86_64"; sha256 = "aa081115593e5225f5fb47a9ba5bcd983da1c9e088f1a9f5cea3710afda75cd9"; }
- { locale = "hr"; arch = "linux-i686"; sha256 = "99698f7259b1c3fa21600c43aa2a946376547a852e04f5a20478282bdbbb99d8"; }
- { locale = "hr"; arch = "linux-x86_64"; sha256 = "bb2958eea731689b4fa48e98604233ef03b4de89107d801f72b12843cbc6fc70"; }
- { locale = "ca"; arch = "linux-i686"; sha256 = "988e95cda1b412663bcbf1c1b552ad24b889fdfc30e7228bc47ac7f14aa43b31"; }
- { locale = "ca"; arch = "linux-x86_64"; sha256 = "ac1f417ddc5b62f674f86f25a248d1434d996453892b4825ffb38852436d2df5"; }
- { locale = "en-US"; arch = "linux-i686"; sha256 = "9209fa7bdada6245717dbfaf517d68cef04719812504bc0c988def6adc7baab5"; }
- { locale = "en-US"; arch = "linux-x86_64"; sha256 = "6e2f046dae0a6fa80de190b95667340abcb0ddaddf1ecee813099a89142c56e1"; }
- { locale = "pt-PT"; arch = "linux-i686"; sha256 = "f4acc2f18f55d7578555ac0b189aeb834adb6c3911ee665790fe4799774c8fe4"; }
- { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "2dc24f408fc801df266f2b890109c2e7d4a0d47bc2db7f541d371037ffad8ff8"; }
- { locale = "gl"; arch = "linux-i686"; sha256 = "b9e89373d2d1b0123095cd45867014f87bc2696093127448e7b7b9cf72d294e6"; }
- { locale = "gl"; arch = "linux-x86_64"; sha256 = "191f8f5327e8a7607497b990dce09e6219c444cbe9261fdbf709cdd07d6cd57f"; }
- { locale = "lt"; arch = "linux-i686"; sha256 = "80cb0818fce6c8130c9344d3259a7bbc1722c1e7896853d365ad06cc4ccddd82"; }
- { locale = "lt"; arch = "linux-x86_64"; sha256 = "347027a7c82330f5bc1989a19afb6dde415c260ad4de6c312bd1bda30d4f7651"; }
- { locale = "en-GB"; arch = "linux-i686"; sha256 = "94f2742fd3a88826eab8712e77a503fb340437ed0a2c1657b64f13b8522c0ad6"; }
- { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "8319f02f751d0683e5d015d32da3e12c94cb8a8fd27f8cdf5cd583e6e594bdfd"; }
- { locale = "sl"; arch = "linux-i686"; sha256 = "076ed4c9c2ed99769e278ed0965ca5da7efd00bc9fb225e36cffb712b7cedca5"; }
- { locale = "sl"; arch = "linux-x86_64"; sha256 = "e37bf18f4e32f050ac97b1a20cfa44832d4438524e2ef9c4ca82e7ed8c1307cb"; }
- { locale = "et"; arch = "linux-i686"; sha256 = "afc9aef58f08bf8f4b300308a5a4e527ba93e1bae024983063efd82e96c36703"; }
- { locale = "et"; arch = "linux-x86_64"; sha256 = "d46257893e5e1f17757f0b53c9201b12bc4e5b27bde1eecb007a858f61c49fab"; }
- { locale = "hy-AM"; arch = "linux-i686"; sha256 = "8a1cbc00e4e6cffb3a225d9334e9c2372050203a0cba3b31c6537e02404efedb"; }
- { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "ae17a6fb60f27bb95a11501a061c7ab9deb0a6ba89b17e6cf01394e18710a831"; }
- ];
+# imports `version` and `sources`
+with (import ./sources.nix);
+let
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
@@ -177,7 +61,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
- inherit (source) sha256;
+ inherit (source) sha1;
};
phases = "unpackPhase installPhase";
@@ -257,11 +141,10 @@ stdenv.mkDerivation {
'';
meta = with stdenv.lib; {
- description = "Mozilla Thunderbird, a full-featured email client";
+ description = "Mozilla Thunderbird, a full-featured email client (binary package)";
homepage = http://www.mozilla.org/thunderbird/;
license = {
- shortName = "unfree"; # not sure
- fullName = "unfree";
+ free = false;
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
};
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
deleted file mode 100644
index fe2ed59389e..00000000000
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
+++ /dev/null
@@ -1,213 +0,0 @@
-version = if ARGV.empty?
- "latest"
- else
- ARGV[0]
- end
-
-base_path = "download-installer.cdn.mozilla.net/pub/thunderbird/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
- system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
- File.basename(path)
-end
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/thunderbird-*")[0].match(/thunderbird-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
- arches.map do |arch|
- path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/thunderbird-*")[0]
-
- [locale, arch, path]
- end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
- input.each_line.map do |line|
- $stderr.puts(line)
-
- line.match(/^[0-9a-f]*/)[0]
- end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, gconf
-, alsaLib
-, at_spi2_atk
-, atk
-, cairo
-, cups
-, curl
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, kerberos
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-}:
-
-assert stdenv.isLinux;
-
-let
- version = "#{real_version}";
- sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
- locale, arch, path = tuple
-
- puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
- ];
-
- arch = if stdenv.system == "i686-linux"
- then "linux-i686"
- else "linux-x86_64";
-
- isPrefixOf = prefix: string:
- builtins.substring 0 (builtins.stringLength prefix) string == prefix;
-
- sourceMatches = locale: source:
- (isPrefixOf source.locale locale) && source.arch == arch;
-
- systemLocale = config.i18n.defaultLocale or "en-US";
-
- defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
-
- source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-in
-
-stdenv.mkDerivation {
- name = "thunderbird-bin-${version}";
-
- src = fetchurl {
- url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
- inherit (source) sha256;
- };
-
- phases = "unpackPhase installPhase";
-
- libPath = stdenv.lib.makeLibraryPath
- [ stdenv.gcc.gcc
- gconf
- alsaLib
- at_spi2_atk
- atk
- cairo
- cups
- curl
- dbus_glib
- dbus_libs
- fontconfig
- freetype
- gdk_pixbuf
- glib
- glibc
- gst_plugins_base
- gstreamer
- gtk
- kerberos
- libX11
- libXScrnSaver
- libXext
- libXinerama
- libXrender
- libXt
- libcanberra
- libgnome
- libgnomeui
- mesa
- nspr
- nss
- pango
- ] + ":" + stdenv.lib.makeSearchPath "lib64" [
- stdenv.gcc.gcc
- ];
-
- installPhase =
- ''
- mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
- cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
-
- mkdir -p "$out/bin"
- ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
-
- for executable in \
- thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
- updater
- do
- patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
- "$out/usr/lib/thunderbird-bin-${version}/$executable"
- done
-
- for executable in \
- thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
- updater libxul.so
- do
- patchelf --set-rpath "$libPath" \
- "$out/usr/lib/thunderbird-bin-${version}/$executable"
- done
-
- # Create a desktop item.
- mkdir -p $out/share/applications
- cat > $out/share/applications/thunderbird.desktop < source.nix
+
+{
+ version = "#{real_version}";
+ sources = [
+EOH
+
+sources.each do |source|
+ puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+ ];
+}
+EOF
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
new file mode 100644
index 00000000000..e51c3f68d7f
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -0,0 +1,120 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+ version = "31.3.0";
+ sources = [
+ { locale = "ar"; arch = "linux-i686"; sha1 = "2579ce59d7c26bdd345732d6ab164fbf6e531b0a"; }
+ { locale = "ar"; arch = "linux-x86_64"; sha1 = "55b912f4424b06972cc9d3b14cab3eaa75abdff0"; }
+ { locale = "ast"; arch = "linux-i686"; sha1 = "101de138543ae46b667cc9800e45d30a59c31ea0"; }
+ { locale = "ast"; arch = "linux-x86_64"; sha1 = "0e290b8222ec3085d2848eb219fa2a950ab38f96"; }
+ { locale = "be"; arch = "linux-i686"; sha1 = "80db08139076f5e2810edd931af353bc3c9f6326"; }
+ { locale = "be"; arch = "linux-x86_64"; sha1 = "0569479306e0e5fbaa9b87d9f547eec875cdc673"; }
+ { locale = "bg"; arch = "linux-i686"; sha1 = "072900fc768486d525fa89ef4a289b3135ec7d1e"; }
+ { locale = "bg"; arch = "linux-x86_64"; sha1 = "b99da8534a06e89380b8a9c62e7ac848995cd648"; }
+ { locale = "bn-BD"; arch = "linux-i686"; sha1 = "89303e18aa4bc22b1cb91f4d990eb2e3896336e9"; }
+ { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "142a507fd977c81e18580acea9dc3e60fb6e6cca"; }
+ { locale = "br"; arch = "linux-i686"; sha1 = "987b861d55d333d552e22fd6ce4d5d8fa3031e95"; }
+ { locale = "br"; arch = "linux-x86_64"; sha1 = "8c088d8f374e4cab6477ed5e071861d3875513fb"; }
+ { locale = "ca"; arch = "linux-i686"; sha1 = "0517ffca37a556548a9b8ded4d7084df0ad70d53"; }
+ { locale = "ca"; arch = "linux-x86_64"; sha1 = "a617ae22a924d458ed633e5728f44838d0b42c64"; }
+ { locale = "cs"; arch = "linux-i686"; sha1 = "9ae7115dfc0c11528ec276d62925815f93f49dd0"; }
+ { locale = "cs"; arch = "linux-x86_64"; sha1 = "2155ef2017e5411a9279b66142306f5d5b9b2b0d"; }
+ { locale = "da"; arch = "linux-i686"; sha1 = "dfb5ee11a096128f53cebe016156e34aa762a5be"; }
+ { locale = "da"; arch = "linux-x86_64"; sha1 = "8549835e2c3a120aea39c274d7cb1c7f54035649"; }
+ { locale = "de"; arch = "linux-i686"; sha1 = "3032a8b87835781d919cab8862057a2612a52af3"; }
+ { locale = "de"; arch = "linux-x86_64"; sha1 = "6a9a99636cbfbff3950c5f31681ed2aefbb170b9"; }
+ { locale = "el"; arch = "linux-i686"; sha1 = "33bd8a4a7cdaab9937a7880f17c27177a667f1f5"; }
+ { locale = "el"; arch = "linux-x86_64"; sha1 = "e32d2382a8322cb65ed3b2b4d634cc818bf94d58"; }
+ { locale = "en-GB"; arch = "linux-i686"; sha1 = "2e85dcaa7450e2cd605ab41849693c6eb94aa4b8"; }
+ { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "5a229b46fca9bfe736254bc9a65259c5722dac37"; }
+ { locale = "en-US"; arch = "linux-i686"; sha1 = "40d0e9a5530812d2ffc471f9c1e9c64ec39bc3aa"; }
+ { locale = "en-US"; arch = "linux-x86_64"; sha1 = "5dc64b9a0fa7e4df1ed232b56478d52986c3b4ad"; }
+ { locale = "es-AR"; arch = "linux-i686"; sha1 = "5b3cec2e5ddfd9a12eadc5ac270aba85acfe0051"; }
+ { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "bceb273367d49b927f5de022009fdd27b707d4eb"; }
+ { locale = "es-ES"; arch = "linux-i686"; sha1 = "9911086185272ac2a5c6ee9b36170f1a7352b5a4"; }
+ { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "df164ccdb2ec8ac50c663fe5771a63cb51b991a8"; }
+ { locale = "et"; arch = "linux-i686"; sha1 = "1e98b4c19dc16e52a65e66a0b518626924a098b1"; }
+ { locale = "et"; arch = "linux-x86_64"; sha1 = "2153b56a7336fdba78797025ebba8deb0c5796ed"; }
+ { locale = "eu"; arch = "linux-i686"; sha1 = "864ae993a8e87b09ba2ebfa5d12a8cc9b36c9c27"; }
+ { locale = "eu"; arch = "linux-x86_64"; sha1 = "ad4a01b18e2c9d38d048f9ee28a19c00dd1dc122"; }
+ { locale = "fi"; arch = "linux-i686"; sha1 = "d2ebe588dda618a29de4af0fbadbdd1daddd059c"; }
+ { locale = "fi"; arch = "linux-x86_64"; sha1 = "3c5eb0bb4dec968678c812eda5d723b50ca2f150"; }
+ { locale = "fr"; arch = "linux-i686"; sha1 = "c71f67ab5942cb49add9a044d6eeb69523f416c9"; }
+ { locale = "fr"; arch = "linux-x86_64"; sha1 = "60c5a7037de5439ffebc39980c87e5e1065e2d8c"; }
+ { locale = "fy-NL"; arch = "linux-i686"; sha1 = "09d4f2786ede2aff43250d4ed8f151f73c1cb983"; }
+ { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "839bea8234ccc71f9402487f022a3fcee13da341"; }
+ { locale = "ga-IE"; arch = "linux-i686"; sha1 = "07635c04802c1023a9c6ec6d66c2d9ed9c210800"; }
+ { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "ff584fe726ca1be184c453d2eec250577d7747b4"; }
+ { locale = "gd"; arch = "linux-i686"; sha1 = "3cbb34e8eba1ad0db2f25b51390b6b66efbdbd6b"; }
+ { locale = "gd"; arch = "linux-x86_64"; sha1 = "78703fbf8e9c7cf4db1522baaea837450972f568"; }
+ { locale = "gl"; arch = "linux-i686"; sha1 = "1aab34a16224d84c958aa65f4a0e8100a96003f4"; }
+ { locale = "gl"; arch = "linux-x86_64"; sha1 = "a8beb35a764b040a1d495e8e34623a884c1911c8"; }
+ { locale = "he"; arch = "linux-i686"; sha1 = "73fe49520af05bb79e20c202836fce347466c957"; }
+ { locale = "he"; arch = "linux-x86_64"; sha1 = "1780d0a0f342fc6c64e9365a548c13770f9d02f3"; }
+ { locale = "hr"; arch = "linux-i686"; sha1 = "f2c570b88fe3368fa30a53f42357a02b610acb36"; }
+ { locale = "hr"; arch = "linux-x86_64"; sha1 = "b3bb417879fd039222062f2df8f64811c1472cd6"; }
+ { locale = "hu"; arch = "linux-i686"; sha1 = "3369f82671a7e56ca24161ac2a1dd7cd0ae9ba85"; }
+ { locale = "hu"; arch = "linux-x86_64"; sha1 = "996b00fb13c2cfd826597eb817bdf8098b523f1b"; }
+ { locale = "hy-AM"; arch = "linux-i686"; sha1 = "c805817f9463d74bb73cad273d91c15d04ef1786"; }
+ { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "20abe54c61fa4760a507da630c1b919cfe36cf6a"; }
+ { locale = "id"; arch = "linux-i686"; sha1 = "76e1659be7d8fbfcd2a6b0bcefdc3988d59e81fa"; }
+ { locale = "id"; arch = "linux-x86_64"; sha1 = "cff15be3455dcf7ed714e8e69d34dc2ad016b60f"; }
+ { locale = "is"; arch = "linux-i686"; sha1 = "be8238cddd980bbd7de2a21541b260fd6689a8d7"; }
+ { locale = "is"; arch = "linux-x86_64"; sha1 = "1fcabd1b1b43ac25f7f5d2eca896ba7d5ea82102"; }
+ { locale = "it"; arch = "linux-i686"; sha1 = "df18fd291ffbb80323dfd823aa04692bcf6f251f"; }
+ { locale = "it"; arch = "linux-x86_64"; sha1 = "196fae349e7b06029e9738a12fb78f24ca691598"; }
+ { locale = "ja"; arch = "linux-i686"; sha1 = "a888ba62981b73d96ba39892a3372b36f0ffb2b3"; }
+ { locale = "ja"; arch = "linux-x86_64"; sha1 = "00e2be4b037a37429ee708d49c82af5ffafe8ca1"; }
+ { locale = "ko"; arch = "linux-i686"; sha1 = "634ea25e7246ff1c23a0d57bdf928372ca867cd6"; }
+ { locale = "ko"; arch = "linux-x86_64"; sha1 = "cfa4acb0970ab87f44e3bbfe46717d1664c63e99"; }
+ { locale = "lt"; arch = "linux-i686"; sha1 = "50d2764febdfb206c704cc0eb14e0679e42dffc3"; }
+ { locale = "lt"; arch = "linux-x86_64"; sha1 = "1a975a34ddcb0637957def46bd6cc3785a9630df"; }
+ { locale = "nb-NO"; arch = "linux-i686"; sha1 = "c0cf3563e2322724447d1c6730a7d4674c9bad7a"; }
+ { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "0c7267858bf95345dc09f9b03b56283e3198f8a4"; }
+ { locale = "nl"; arch = "linux-i686"; sha1 = "8c8db046ca1f21c11d00914613010836e0c5aefc"; }
+ { locale = "nl"; arch = "linux-x86_64"; sha1 = "acd50182d4e1f255ef70bf3d7dfc9ef963535def"; }
+ { locale = "nn-NO"; arch = "linux-i686"; sha1 = "ca1728b39e052bd9975d2b2ec8cffa6290098316"; }
+ { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "05a3bed8b8c0ccea66ceef02184f4ecd95e141f8"; }
+ { locale = "pa-IN"; arch = "linux-i686"; sha1 = "e0aa8fca5e1df6adf5b5bf41d9c8f2a195e5b598"; }
+ { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "fd4f63140ffc56095c7b66a3ff560409a43ad018"; }
+ { locale = "pl"; arch = "linux-i686"; sha1 = "9dc57337681fd57c5eb51240463e25543385d23d"; }
+ { locale = "pl"; arch = "linux-x86_64"; sha1 = "2c27721db5b96a8d488ce7a74e3ebf350f71f76a"; }
+ { locale = "pt-BR"; arch = "linux-i686"; sha1 = "c4d3e3f02375533bfb734155327832b4bcddbbe5"; }
+ { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "81d1cfacaf3f6a2830af0fceda7ac463867afa90"; }
+ { locale = "pt-PT"; arch = "linux-i686"; sha1 = "f59639147c77344d7fbe49c8c3320ec382ce261c"; }
+ { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "76d04ef5ac5ce644c04621adcc08059f4d509cdd"; }
+ { locale = "rm"; arch = "linux-i686"; sha1 = "a9d4485e9740572e1c5b8579a171c381797c3f97"; }
+ { locale = "rm"; arch = "linux-x86_64"; sha1 = "9d699390b577ec97842e75118ee6f0579c386fe0"; }
+ { locale = "ro"; arch = "linux-i686"; sha1 = "e03991f23cd9da6e5f14e37a4f84faee64f529b1"; }
+ { locale = "ro"; arch = "linux-x86_64"; sha1 = "7137b302ed8c1079ed8f7efa2eaaeaeeb900cc28"; }
+ { locale = "ru"; arch = "linux-i686"; sha1 = "7cc98ffeebf3f450c5f29b177eca3e127184c89d"; }
+ { locale = "ru"; arch = "linux-x86_64"; sha1 = "c087c970e9456d60265f7f9f6be83100b3990ef9"; }
+ { locale = "si"; arch = "linux-i686"; sha1 = "4197c63d5669be0cd6856d17883f5dbb9690438f"; }
+ { locale = "si"; arch = "linux-x86_64"; sha1 = "753e858aba8212d86ce9a6855dfaa2223d2ce3bd"; }
+ { locale = "sk"; arch = "linux-i686"; sha1 = "64ca38cce9a99b7cf281faf0c53e5b646cb8e7f7"; }
+ { locale = "sk"; arch = "linux-x86_64"; sha1 = "78e10824e31d2aee74d852d7b657dd3239cfbaa2"; }
+ { locale = "sl"; arch = "linux-i686"; sha1 = "6d38031ef73b82a11193fe2333ba7bfc31e0da49"; }
+ { locale = "sl"; arch = "linux-x86_64"; sha1 = "c1ba73354f662da9f541978b5611acc41ee60356"; }
+ { locale = "sq"; arch = "linux-i686"; sha1 = "3bc7482b81a754abc01e4c1face0aa4e65aa3ea6"; }
+ { locale = "sq"; arch = "linux-x86_64"; sha1 = "2463ac4d17d95c41e5bfebf31c3127e3404caa02"; }
+ { locale = "sr"; arch = "linux-i686"; sha1 = "28f762f06a526f93b9a3ff3bd5a52a1bd4c6b314"; }
+ { locale = "sr"; arch = "linux-x86_64"; sha1 = "69bbca2b8cea57a76cb3791029f0d55da8383594"; }
+ { locale = "sv-SE"; arch = "linux-i686"; sha1 = "ddbfd64533c198deeb3e56cb137af3707cc22912"; }
+ { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "992b3a896d619393a829b0b404f6c69bc6d11263"; }
+ { locale = "ta-LK"; arch = "linux-i686"; sha1 = "dcc7382a20d316eabd500c9d7cfaa84b9e406d43"; }
+ { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "4202e74f6cb4e7bb22ae08a5e28d02cac8dd4861"; }
+ { locale = "tr"; arch = "linux-i686"; sha1 = "1cb9db5a71df0990758a93728d1cccc229797aaa"; }
+ { locale = "tr"; arch = "linux-x86_64"; sha1 = "8406829869881ed3228f44531c32106f51ef8671"; }
+ { locale = "uk"; arch = "linux-i686"; sha1 = "e9d259c9872336d96e854208d08d0d09aeb98f47"; }
+ { locale = "uk"; arch = "linux-x86_64"; sha1 = "3a65b5a21c2310dcb243abbf1cfdc7ec097a6018"; }
+ { locale = "vi"; arch = "linux-i686"; sha1 = "60070b3d0488aa80aa331cfb0ea1f37301d074d4"; }
+ { locale = "vi"; arch = "linux-x86_64"; sha1 = "ffe662b33db700fe795972a08320370592de365b"; }
+ { locale = "zh-CN"; arch = "linux-i686"; sha1 = "9722b296495a4ac01bb80952df97a1f1a92eed27"; }
+ { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "014e0cd18afceeb662d7c2e9f4541e7a4ef0260a"; }
+ { locale = "zh-TW"; arch = "linux-i686"; sha1 = "f5174db5a7852d27bdfcca4b57fdf5ffd5294680"; }
+ { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "0014eea1f648f9ddcf977f56f7a82044b41c136e"; }
+ ];
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index fa48a8a0a2f..e6ba7e21dc8 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,7 +13,7 @@
enableOfficialBranding ? false
}:
-let version = "31.1.2"; in
+let version = "31.2.0"; in
let verName = "${version}"; in
stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
- sha1 = "a3983e7d29bd70e8117ca26f5b9873c68675caa9";
+ sha1 = "87dff89388bd7ec51876e1bdbd82bc3fe60006b6";
};
buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 7b9396ff5ff..80db3020ba5 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -15,11 +15,11 @@ let
in
stdenv.mkDerivation rec {
name = "mumble-" + version;
- version = "1.2.7";
+ version = "1.2.8";
src = fetchurl {
url = "mirror://sourceforge/mumble/${name}.tar.gz";
- sha256 = "0zjqkkdkcvgmqic6np87hj6b6f851lkzyd6y3cqj6zzacjvps31d";
+ sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc";
};
patches = optional jackSupport ./mumble-jack-support.patch;
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index fbf8955765a..4d5a49ac5f6 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -6,14 +6,14 @@
}:
let pname = "liferea";
- version = "1.10.11";
+ version = "1.10.12";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
- sha256 = "0mf5mpdj60j8if4qi5656l4pzhgwzhshf31yp0h53l1j442v109a";
+ sha256 = "0c046r3cgf2adcjkgcny1gf2yj3hs0fhrc1zmcz2ja7grcbx46si";
};
buildInputs = with gst_all_1; [
diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix
index fe13c756bd7..84cf023776e 100644
--- a/pkgs/applications/networking/newsreaders/slrn/default.nix
+++ b/pkgs/applications/networking/newsreaders/slrn/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl,
-slang, ncurses
-}:
+{ stdenv, fetchurl
+, slang, ncurses }:
-let version = "1.0.1"; in
+let version = "1.0.2"; in
stdenv.mkDerivation {
name = "slrn-${version}";
src = fetchurl {
- url = "http://www.jedsoft.org/slrn/download/slrn-1.0.1.tar.gz";
- sha256 = "1rmaprfwvshzkv0c5vi43839cz3laqjpl306b9z0ghwyjdha1d06";
+ url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.gz";
+ sha256 = "1gn6m2zha2nnnrh9lz3m3nrqk6fgfij1wc53pg25j7sdgvlziv12";
};
preConfigure = ''
@@ -23,9 +22,10 @@ stdenv.mkDerivation {
buildInputs = [ slang ncurses ];
- meta = {
- description = "Text-based newsreader";
+ meta = with stdenv.lib; {
+ description = "The slrn (S-Lang read news) newsreader";
homepage = http://slrn.sourceforge.net/index.html;
- license = stdenv.lib.licenses.gpl2;
+ maintainers = with maintainers; [ emery ];
+ license = licenses.gpl2;
};
}
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
new file mode 100644
index 00000000000..6e7755c7bf4
--- /dev/null
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, cmake, qt4, pkgconfig, neon, qtkeychain, sqlite }:
+
+stdenv.mkDerivation rec {
+ name = "owncloud-client" + "-" + version;
+
+ version = "1.7.0";
+
+ src = fetchurl {
+ url = "https://download.owncloud.com/desktop/stable/mirall-${version}.tar.bz2";
+ sha256 = "b1cb0612e5022de263dc4c6309eba8207d694a40a80dae6762b4a56fa8d4d944";
+ };
+
+ buildInputs =
+ [ cmake qt4 pkgconfig neon qtkeychain sqlite];
+
+ #configurePhase = ''
+ # mkdir build
+ # cd build
+ # cmake -DBUILD_WITH_QT4=on \
+ # -DCMAKE_INSTALL_PREFIX=$out \
+ # -DCMAKE_BUILD_TYPE=Release \
+ # ..
+ #'';
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Synchronise your ownCloud with your computer using this desktop client";
+ homepage = https://owncloud.org;
+ maintainers = with stdenv.lib.maintainers; [ qknight ];
+ };
+}
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
index ba71e1985b4..e4ca6d423cd 100644
--- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
};
- buildInputs = [ cmake pkgconfig qt4 boost boost.lib bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
+ buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
cmakeFlags = ''
-DUSE_ASPELL=ON
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
new file mode 100644
index 00000000000..434a2c78550
--- /dev/null
+++ b/pkgs/applications/networking/p2p/frostwire/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, jre }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ version = "6.0.0";
+ name = "frostwire-${version}";
+
+ src = fetchurl {
+ url = "http://dl.frostwire.com/frostwire/${version}/frostwire-${version}.x86_64.tar.gz";
+ sha256 = "16rpfh235jj75vm4rx6qqw25ax3rk2p21l6lippbm0pi13lp2pdh";
+ };
+
+ inherit jre;
+
+ installPhase = ''
+ jar=$(ls */*.jar)
+
+ mkdir -p $out/share/java
+ mv $jar $out/share/java
+
+ mkdir -p $out/bin
+ cat > $out/bin/frostwire < cups != null;
-
-let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
-
stdenv.mkDerivation rec {
- name = "freerdp-1.1pre-${stdenv.lib.strings.substring 0 7 rev}";
+ name = "freerdp-1.2.0-beta1";
- src = fetchgit {
- url = git://github.com/FreeRDP/FreeRDP.git;
- inherit rev;
- sha256 = "4e5af9a6769c4b34c6b75dffe83a385d1d86068c523ea9f62fabc651a2958455";
+ src = fetchFromGitHub {
+ owner = "FreeRDP";
+ repo = "FreeRDP";
+ rev = "1.2.0-beta1+android7";
+ sha256 = "08nn18jydblrif1qs92pakzd3ww7inr0i378ssn1bjp09lm1bkk0";
};
buildInputs = [
- cmake
- openssl
- pkgconfig
- zlib
- libX11
- libXcursor
- libXdamage
- libXext
-# directfb
-# cunit
- alsaLib
- ffmpeg
- libxkbfile
-# xmlto docbook_xml_dtd_412 docbook_xml_xslt
- libXinerama
- libXv
- ] ++ stdenv.lib.optional printerSupport cups;
+ cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext glib
+ alsaLib ffmpeg libxkbfile libXinerama libXv cups pulseaudio pcsclite
+ ];
doCheck = false;
- checkPhase = ''LD_LIBRARY_PATH="libfreerdp-cache:libfreerdp-chanman:libfreerdp-common:libfreerdp-core:libfreerdp-gdi:libfreerdp-kbd:libfreerdp-rail:libfreerdp-rfx:libfreerdp-utils" cunit/test_freerdp'';
+ cmakeFlags = [
+ "-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DWITH_CUNIT=OFF"
+ ] ++ stdenv.lib.optional (pulseaudio != null) "-DWITH_PULSE=ON"
+ ++ stdenv.lib.optional (cups != null) "-DWITH_CUPS=ON"
+ ++ stdenv.lib.optional (pcsclite != null) "-DWITH_PCSC=ON";
- cmakeFlags = [ "-DWITH_DIRECTFB=OFF" "-DWITH_CUNIT=OFF" "-DWITH_MANPAGES=OFF"
- ] ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
-
- meta = {
+ meta = with stdenv.lib; {
description = "A Remote Desktop Protocol Client";
-
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
-
homepage = http://www.freerdp.com/;
-
- license = "free-non-copyleft";
-
- broken = true; # fails to build
+ license = licenses.asl20;
+ maintainers = with maintainers; [ wkennington ];
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix
index 7d2b7990d3f..fbbc85108a1 100644
--- a/pkgs/applications/networking/remote/rdesktop/default.nix
+++ b/pkgs/applications/networking/remote/rdesktop/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation (rec {
sha256 = "0y0s0qjfsflp4drcn75ykx6as7mn13092bcvlp2ibhilkpa27gzv";
};
+ patches = [ ./enable_windows_key.patch ];
+
buildInputs = [openssl libX11];
configureFlags = [
diff --git a/pkgs/applications/networking/remote/rdesktop/enable_windows_key.patch b/pkgs/applications/networking/remote/rdesktop/enable_windows_key.patch
new file mode 100644
index 00000000000..fff84c59963
--- /dev/null
+++ b/pkgs/applications/networking/remote/rdesktop/enable_windows_key.patch
@@ -0,0 +1,29 @@
+http://sourceforge.net/p/rdesktop/code/1816/
+Fix constant naming and enabled windowskey by default.
+
+Index: trunk/rdesktop.c
+===================================================================
+--- trunk/rdesktop.c (revision 1815)
++++ trunk/rdesktop.c (revision 1816)
+@@ -554,7 +554,7 @@
+ act.sa_flags = 0;
+ sigaction(SIGPIPE, &act, NULL);
+
+- flags = RDP_LOGON_NORMAL;
++ flags = RDP_LOGON_NORMAL | RDP_LOGON_ENABLEWINDOWSKEY;
+ prompt_password = False;
+ g_seamless_spawn_cmd[0] = domain[0] = g_password[0] = shell[0] = directory[0] = 0;
+ g_embed_wnd = 0;
+Index: trunk/constants.h
+===================================================================
+--- trunk/constants.h (revision 1815)
++++ trunk/constants.h (revision 1816)
+@@ -321,7 +321,7 @@
+ #define RDP_LOGON_AUTO 0x0008
+ #define RDP_LOGON_NORMAL 0x0033
+ #define RDP_LOGON_COMPRESSION 0x0080 /* mppc compression with 8kB histroy buffer */
+-#define RDP_LOGON_BLOB 0x0100
++#define RDP_LOGON_ENABLEWINDOWSKEY 0x0100
+ #define RDP_LOGON_COMPRESSION2 0x0200 /* rdp5 mppc compression with 64kB history buffer */
+ #define RDP_LOGON_LEAVE_AUDIO 0x2000
+ #define RDP_LOGON_PASSWORD_IS_SC_PIN 0x40000
diff --git a/pkgs/applications/networking/remote/teamviewer/8.nix b/pkgs/applications/networking/remote/teamviewer/8.nix
index 459ae9fab82..a47d7bad4c9 100644
--- a/pkgs/applications/networking/remote/teamviewer/8.nix
+++ b/pkgs/applications/networking/remote/teamviewer/8.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
-, bash, patchelf }:
+, bash, patchelf, config }:
let
topath = "${wineUnstable}/bin";
@@ -10,8 +10,8 @@ in
stdenv.mkDerivation {
name = "teamviewer-8.0.17147";
src = fetchurl {
- url = "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
- sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
+ url = config.teamviewer8.url or "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
+ sha256 = config.teamviewer8.sha256 or "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
};
buildInputs = [ makeWrapper patchelf ];
diff --git a/pkgs/applications/networking/remote/teamviewer/9.nix b/pkgs/applications/networking/remote/teamviewer/9.nix
new file mode 100644
index 00000000000..6ae68aea9ea
--- /dev/null
+++ b/pkgs/applications/networking/remote/teamviewer/9.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
+, bash, patchelf, config }:
+
+let
+ topath = "${wineUnstable}/bin";
+
+ toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib")
+ [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
+in
+stdenv.mkDerivation {
+ name = "teamviewer-9.0.32150";
+ src = fetchurl {
+ url = config.teamviewer9.url or "http://download.teamviewer.com/download/version_9x/teamviewer_linux_x64.deb";
+ sha256 = config.teamviewer9.sha256 or "0wpwbx0xzn3vlzavszxhfvfcaj3pijlpwvlz5m7w19mb6cky3q13";
+ };
+
+ buildInputs = [ makeWrapper patchelf ];
+
+ unpackPhase = ''
+ ar x $src
+ tar xf data.tar.gz
+ '';
+
+ installPhase = ''
+ mkdir -p $out/share/teamviewer9 $out/bin
+ cp -a opt/teamviewer9/* $out/share/teamviewer9
+ rm -R $out/share/teamviewer9/tv_bin/wine/{bin,lib,share}
+
+ cat > $out/bin/teamviewer << EOF
+ #!${bash}/bin/sh
+ export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
+ export PATH=${topath}\''${PATH:+:\$PATH}
+ $out/share/teamviewer9/tv_bin/script/teamviewer "\$@"
+ EOF
+ chmod +x $out/bin/teamviewer
+
+ patchelf --set-rpath "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer9/tv_bin/teamviewerd
+ patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/teamviewer9/tv_bin/teamviewerd
+ ln -s $out/share/teamviewer9/tv_bin/teamviewerd $out/bin/
+ '';
+
+ meta = {
+ homepage = "http://www.teamviewer.com";
+ license = stdenv.lib.licenses.unfree;
+ description = "Desktop sharing application, providing remote support and online meetings";
+ };
+}
diff --git a/pkgs/applications/networking/sniffers/ettercap/default.nix b/pkgs/applications/networking/sniffers/ettercap/default.nix
index 3994563cf3e..7e32a26abf1 100644
--- a/pkgs/applications/networking/sniffers/ettercap/default.nix
+++ b/pkgs/applications/networking/sniffers/ettercap/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, cmake, libpcap, libnet, zlib, curl, pcre,
+{ stdenv, fetchFromGitHub, cmake, libpcap, libnet, zlib, curl, pcre,
openssl, ncurses, glib, gtk, atk, pango, flex, bison }:
stdenv.mkDerivation rec {
name = "ettercap-${version}";
- version = "0.8.0";
+ version = "0.8.1";
- src = fetchurl {
- url = "https://github.com/Ettercap/ettercap/archive/v${version}.tar.gz";
- sha256 = "1g69782wk2hag8h76jqy81szw5jhvqqnn3m4v0wjkbv9zjxy44w0";
+ src = fetchFromGitHub {
+ owner = "Ettercap";
+ repo = "ettercap";
+ rev = "v${version}";
+ sha256 = "017398fiqcl2x1bjfnz97y6j8v5n83gbsniy73vbx21kmhh5pacg";
};
buildInputs = [
@@ -16,7 +18,8 @@ stdenv.mkDerivation rec {
];
preConfigure = ''
- substituteInPlace CMakeLists.txt --replace /etc \$\{INSTALL_PREFIX\}/etc
+ substituteInPlace CMakeLists.txt --replace /etc \$\{INSTALL_PREFIX\}/etc \
+ --replace /usr \$\{INSTALL_PREFIX\}
'';
cmakeFlags = [
@@ -24,10 +27,11 @@ stdenv.mkDerivation rec {
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include"
];
- meta = {
+ meta = with stdenv.lib; {
description = "Comprehensive suite for man in the middle attacks";
homepage = http://ettercap.github.io/ettercap/;
- license = stdenv.lib.licenses.gpl2;
- platforms = stdenv.lib.platforms.unix;
+ license = licenses.gpl2;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ pSub ];
};
}
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 68d7becdd3c..c6ba4878218 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt -> !withGtk && qt4 != null;
with stdenv.lib;
let
- version = "1.12.1";
+ version = "1.12.2";
variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
in
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
- sha256 = "0jsqpr4s5smadvlm881l8fkhhw384ak3apkq4wxr05gc2va6pcl2";
+ sha256 = "14pjkl1r0lcnhrs8994dmrnpmpr4gn3xjkd8wcn694m512s1dbih";
};
buildInputs = [
diff --git a/pkgs/applications/networking/sync/akunambol/default.nix b/pkgs/applications/networking/sync/akunambol/default.nix
deleted file mode 100644
index 2aedfd7f833..00000000000
--- a/pkgs/applications/networking/sync/akunambol/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchgit, kdepimlibs, funambol, liblikeback }:
-
-stdenv.mkDerivation rec {
- name = "akunambol-20110304";
-
- src = fetchgit {
- url = git://anongit.kde.org/akunambol.git;
- rev = "1d832bbbce84f474e3f1e5d2f9fa8a4079b0c8e5";
- sha256 = "1d2x42lbw32qyawri7z0mrbafz36r035w5bxjpq51awyqjwkbb2d";
- };
-
- buildInputs = [ kdepimlibs funambol liblikeback ];
- KDEDIRS = liblikeback;
-
- patches = [ ./non-latin.diff ];
-}
diff --git a/pkgs/applications/networking/sync/akunambol/non-latin.diff b/pkgs/applications/networking/sync/akunambol/non-latin.diff
deleted file mode 100644
index 905a6a894bd..00000000000
--- a/pkgs/applications/networking/sync/akunambol/non-latin.diff
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/qtgui/standardsourcesettings.cpp b/qtgui/standardsourcesettings.cpp
-index a14a737..5d4712e 100644
---- a/qtgui/standardsourcesettings.cpp
-+++ b/qtgui/standardsourcesettings.cpp
-@@ -83,9 +83,9 @@ void StandardSourceSettings::populateCollections()
- foreach( const Collection &collection, colls ) {
- if (collection.contentMimeTypes().contains(source->getAkonadiMimeType())) {
- i++;
-- const char* dn = collection.name().toUtf8();
-- LOG.debug("Adding collection id %lld named %s", collection.id(), dn);
-- collections->addItem(dn);
-+ LOG.debug("Adding collection id %lld named %s", collection.id(),
-+ collection.name().toLocal8Bit().data());
-+ collections->addItem(collection.name());
- idList.append(collection.id());
- }
- }
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index e87053d5326..3c58d367ab1 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
- name = "calligra-2.7.5";
+ name = "calligra-2.8.6";
src = fetchurl {
url = "mirror://kde/stable/${name}/${name}.tar.xz";
- sha256 = "0png8ac10xywxsml1z18as18kc9k9162l6an67hi6lgx0rv27ldi";
+ sha256 = "587dda4a340f46e28fe69de8f292fa33a3cf237445013f6ce5ceafa191cb3694";
};
nativeBuildInputs = [ cmake perl pkgconfig ];
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 2b2fd87cf43..06cc268c159 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
- name = "gnumeric-1.12.12";
+ name = "gnumeric-1.12.18";
src = fetchurl {
url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
- sha256 = "096i9x6b4i6x24vc4lsxx8fg2n2pjs2jb6x3bkg3ppa2c60w1jq0";
+ sha256 = "402224f858cfa4e91503ab1be0491fa3322713dabe56b6eae171def8b736d9e9";
};
preConfigure = ''sed -i 's/\(SUBDIRS.*\) doc/\1/' Makefile.in''; # fails when installing docs
diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/default.nix
similarity index 72%
rename from pkgs/applications/office/ledger/3.0.nix
rename to pkgs/applications/office/ledger/default.nix
index 22f15f65217..34aa7c769d0 100644
--- a/pkgs/applications/office/ledger/3.0.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -2,19 +2,21 @@
, texinfo, gnused }:
let
- rev = "5961384";
+ version = "3.1";
in
stdenv.mkDerivation {
- name = "ledger-3.0.4.${rev}";
+ name = "ledger-${version}";
+ # NOTE: fetchgit because ledger has submodules not included in the
+ # default github tarball.
src = fetchgit {
- url = "git://github.com/ledger/ledger.git";
- inherit rev;
- sha256 = "0fmmhr3as4v2kb6h64k1fq979080cqhd75jvxfg7axk2mylb6b3q";
+ url = "https://github.com/ledger/ledger.git";
+ rev = "refs/tags/v${version}";
+ sha256 = "1l5y4k830jyw7n1nnhssci3qahq091fj5cxcr77znk20nclz851s";
};
- buildInputs = [ cmake boost boost.lib gmp mpfr libedit python texinfo gnused ];
+ buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
enableParallelBuilding = true;
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index e7583c437c8..ceb1a9eab86 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -24,7 +24,7 @@ let
langsSpaces = stdenv.lib.concatStringsSep " " langs;
major = "4";
minor = "3";
- patch = "1";
+ patch = "3";
tweak = "2";
subdir = "${major}.${minor}.${patch}";
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@@ -40,9 +40,9 @@ let
sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9";
};
- configureFlags = "--with-boost=${boost}";
+ buildInputs = [ boost mdds pkgconfig ];
- buildInputs = [ boost boost.lib mdds pkgconfig ];
+ configureFlags = [ "--with-boost=${boost.dev}" ];
};
fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
@@ -60,9 +60,10 @@ let
(x: x.name == "${name}.tar.bz2")
("Error: update liborcus version inside LO expression")
(import ./libreoffice-srcs.nix));
- configureFlags = "--with-boost=${boost}";
- buildInputs = [ boost boost.lib mdds pkgconfig zlib libixion ];
+ buildInputs = [ boost mdds pkgconfig zlib libixion ];
+
+ configureFlags = [ "--with-boost=${boost.dev}" ];
};
fetchSrc = {name, sha256}: fetchurl {
@@ -79,14 +80,14 @@ let
translations = fetchSrc {
name = "translations";
- sha256 = "0vj1fpr99cb124hag0hijpp3pfbbi0gak56qiikxbwbq7mab6p9h";
+ sha256 = "0jpkkb71fbiid12r2dpvak304hlvx4ws1bk2yrb3narz15wzcvjr";
};
# TODO: dictionaries
help = fetchSrc {
name = "help";
- sha256 = "1q0vzfla764zjz6xcx6r4nc8rikwb3pr2jsraj28hhwr5b26gdfz";
+ sha256 = "0vd4ndnqy7xjlxh9flfp84jy82bvaq80pxcsx6lsarxsb4cvw7sz";
};
};
@@ -96,7 +97,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
- sha256 = "0s1j5y1gfyf3r53bbqnzirx17p49i8ah07737nrzik0ggps3lgd5";
+ sha256 = "0abmrn8iwwsbvi9dxq1pnirclxvfb33ngg7lpsj0y5lf0jpgpbb0";
};
# Openoffice will open libcups dynamically, so we link it directly
@@ -113,9 +114,7 @@ stdenv.mkDerivation rec {
'' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
+ ''
ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
- tar xf $sourceRoot/src/${srcs.help.name} -C $sourceRoot/../
- ln -sv ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
- tar xf $sourceRoot/src/${srcs.translations.name} -C $sourceRoot/../
+ ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
'';
patchPhase = ''
@@ -183,6 +182,8 @@ stdenv.mkDerivation rec {
'';
configureFlags = [
+ "--with-boost=${boost.dev}"
+ "--with-boost-libdir=${boost.lib}/lib"
"--with-vendor=NixOS"
# Without these, configure does not finish
@@ -198,7 +199,6 @@ stdenv.mkDerivation rec {
"--with-system-headers"
"--with-system-openssl"
"--with-system-openldap"
- "--with-boost-libdir=${boost.lib}/lib"
"--without-system-libwps" # TODO
"--without-doxygen"
@@ -236,7 +236,7 @@ stdenv.mkDerivation rec {
'';
buildInputs = with xorg;
- [ ant ArchiveZip autoconf automake bison boost boost.lib cairo clucene_core
+ [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 6110a54feb5..7460f7e1fd6 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -525,4 +525,10 @@
md5 = "44d667c142d7cda120332623eab69f40";
brief = true;
}
+{
+ name = "libgltf-0.0.2.tar.bz2";
+ md5 = "d63a9f47ab048f5009d90693d6aa6424";
+ brief = true;
+ subDir = "libgltf/";
+}
]
diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix
new file mode 100644
index 00000000000..0c3297ccc93
--- /dev/null
+++ b/pkgs/applications/office/pinpoint/default.nix
@@ -0,0 +1,19 @@
+{ fetchurl, stdenv, pkgconfig, autoconf, automake, clutter, clutter-gst
+, gdk_pixbuf, cairo }:
+
+stdenv.mkDerivation rec {
+ name = "pinpoint-${version}";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${name}.tar.bz2";
+ sha256 = "26df7ba171d13f697c30c272460989b0f1b45e70c797310878a589ed5a6a47de";
+ };
+ buildInputs = [ pkgconfig autoconf automake clutter clutter-gst gdk_pixbuf
+ cairo ];
+
+ meta = {
+ homepage = https://wiki.gnome.org/action/show/Apps/Pinpoint;
+ description = "A tool for making hackers do excellent presentations";
+ license = stdenv.lib.licenses.lgpl21;
+ };
+}
diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix
index fb7a41d6246..d0d6fd136ef 100644
--- a/pkgs/applications/office/scribus/default.nix
+++ b/pkgs/applications/office/scribus/default.nix
@@ -3,11 +3,11 @@
, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }:
stdenv.mkDerivation rec {
- name = "scribus-1.4.3";
+ name = "scribus-1.4.4";
src = fetchurl {
url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz";
- sha256 = "1zxgl2g299rllfy5ihs5skicpv7zcmz149ahraami69gqcag6bn7";
+ sha256 = "1bhp09x8rgdhyq8b516226nn0p7pxd2arkfkf2vvvklca5arsfx4";
};
enableParallelBuilding = true;
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index dfb4c243c8c..a12849cf209 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, kdelibs, grantlee, qca2, libofx, gettext }:
+{ stdenv, fetchurl, libxslt, kdelibs, kdepimlibs, grantlee, qjson, qca2, libofx, sqlite, gettext }:
stdenv.mkDerivation rec {
- name = "skrooge-1.3.2";
+ name = "skrooge-1.10.0";
src = fetchurl {
- url = "http://skrooge.org/files/${name}.tar.bz2";
- sha256 = "18j36yamxzfwpnnnjiach22q9088c2nlcilzh2p24gjhgnnd0v6r";
+ url = "http://download.kde.org/stable/skrooge/${name}.tar.bz2";
+ sha256 = "0rsw2xdgws5bvnf3h4hg16liahigcxgaxls7f8hzr9wipxx5xqda";
};
- buildInputs = [ kdelibs grantlee qca2 libofx ];
+ buildInputs = [ libxslt kdelibs kdepimlibs grantlee qjson qca2 libofx sqlite ];
nativeBuildInputs = [ gettext ];
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
inherit (kdelibs.meta) platforms;
description = "A personal finance manager for KDE";
maintainers = [ stdenv.lib.maintainers.urkud ];
+ license = stdenv.lib.licenses.gpl3;
};
}
diff --git a/pkgs/applications/office/tagainijisho/default.nix b/pkgs/applications/office/tagainijisho/default.nix
new file mode 100644
index 00000000000..bee1b738d12
--- /dev/null
+++ b/pkgs/applications/office/tagainijisho/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, qt4, cmake, sqlite}:
+
+stdenv.mkDerivation {
+ name = "tagainijisho-1.0.2";
+ src = fetchurl {
+ url = https://github.com/Gnurou/tagainijisho/releases/download/1.0.2/tagainijisho-1.0.2.tar.gz;
+ sha256 = "0gvwsphy2a1b2npxkzvaf91rbzb00zhi2anxd5102h6ld5m52jhl";
+ };
+
+ buildInputs = [ qt4 cmake sqlite ];
+
+ meta = with stdenv.lib; {
+ description = "A free, open-source Japanese dictionary and kanji lookup tool";
+ homepage = http://www.tagaini.net/;
+ license = with licenses; [
+ /* program */ gpl3Plus
+ /* data */ cc-by-sa-30
+ ];
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ vbgl ];
+ };
+}
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 658f460793f..85ec081ea41 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,12 +9,12 @@
buildPythonPackage rec {
name = "zim-${version}";
- version = "0.60";
+ version = "0.62";
namePrefix = "";
src = fetchurl {
- url = "http://zim-wiki.org/downloads/zim-0.61.tar.gz";
- sha256 = "0jncxkf83bwra3022jbvjfwhk5w8az0jlwr8nsvm7wa1zfrajhsq";
+ url = "http://zim-wiki.org/downloads/${name}.tar.gz";
+ sha256 = "1hmx24jjazqvs3z6h10jl8wrqxyvvk0wc807v222vaf1sbmjmmhr";
};
propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ];
@@ -100,4 +100,3 @@ buildPythonPackage rec {
license = stdenv.lib.licenses.gpl2Plus;
};
}
-
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 00fda8bf1c4..6cd8697cd7d 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -1,9 +1,20 @@
-{ stdenv, fetchurl, bash, xulrunner }:
+{ stdenv, fetchurl, bash, callPackage, libIDL, pysqlite }:
assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
+
let
- version = "4.0.22";
+ /* Zotero always has a hard upper bound on its firefox/xulrunner dependency.
+ * Use private versions of firefox and xulrunner to prevent breakage when the
+ * system packages are updated. Please update these dependencies whenever
+ * zotero is updated; it should be as simple as copying the system firefox
+ * and xulrunner Nix expressions into place.
+ */
+ firefox = callPackage ./firefox.nix { inherit libIDL pysqlite; };
+ xulrunner = callPackage ./xulrunner.nix { inherit libIDL pysqlite firefox; };
+
+ # Please update the firefox and xulrunner dependencies when zotero is updated!
+ version = "4.0.23";
arch = if stdenv.system == "x86_64-linux"
then "linux-x86_64"
else "linux-i686";
@@ -14,8 +25,8 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
sha256 = if stdenv.system == "x86_64-linux"
- then "0dq4x1cc0lnhs7g6w85qjdlb7sajr13mr2zcf4yvrciwhwy3r1i1"
- else "0s4j2karaq85fwnd1niz8hzx5k71cqs493g38pg337i3iwxad9hg";
+ then "1fz5xn69vapfw8d20207zr9p5r1h9x5kahh334pl2dn1h8il0sm8"
+ else "1kmsvvg2lh881rzy3rxbigzivixjamyrwf5x7vmn1kzhvsvifrng";
};
# Strip the bundled xulrunner
diff --git a/pkgs/applications/office/zotero/firefox.nix b/pkgs/applications/office/zotero/firefox.nix
new file mode 100644
index 00000000000..60befdbaad5
--- /dev/null
+++ b/pkgs/applications/office/zotero/firefox.nix
@@ -0,0 +1,108 @@
+{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, hunspell, libevent, libstartup_notification, libvpx
+, cairo, gstreamer, gst_plugins_base, icu
+, debugBuild ? false
+, # If you want the resulting program to call itself "Firefox" instead
+ # of "Shiretoko" or whatever, enable this option. However, those
+ # binaries may not be distributed without permission from the
+ # Mozilla Foundation, see
+ # http://www.mozilla.org/foundation/trademarks/.
+ enableOfficialBranding ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+let version = "33.1.1"; in
+
+stdenv.mkDerivation rec {
+ name = "firefox-${version}";
+
+ src = fetchurl {
+ url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
+ sha1 = "1e9e3176e7d221c4f2ce479f37ee7c432236a0ec";
+ };
+
+ buildInputs =
+ [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
+ python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+ xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+ alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+ xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+ xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+ hunspell libevent libstartup_notification libvpx cairo
+ gstreamer gst_plugins_base icu
+ ];
+
+ configureFlags =
+ [ "--enable-application=browser"
+ "--disable-javaxpcom"
+ "--with-system-jpeg"
+ "--with-system-zlib"
+ "--with-system-bz2"
+ "--with-system-nspr"
+ "--with-system-nss"
+ "--with-system-libevent"
+ "--with-system-libvpx"
+ # "--with-system-png" # needs APNG support
+ # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
+ "--enable-system-ffi"
+ "--enable-system-hunspell"
+ "--enable-system-pixman"
+ "--enable-system-sqlite"
+ "--enable-system-cairo"
+ "--enable-gstreamer"
+ "--enable-startup-notification"
+ # "--enable-content-sandbox" # available since 26.0, but not much info available
+ # "--enable-content-sandbox-reporter" # keeping disabled for now
+ "--disable-crashreporter"
+ "--disable-tests"
+ "--disable-necko-wifi" # maybe we want to enable this at some point
+ "--disable-installer"
+ "--disable-updater"
+ "--disable-pulseaudio"
+ ]
+ ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+ else [ "--disable-debug" "--enable-release"
+ "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
+ "--enable-strip" ])
+ ++ lib.optional enableOfficialBranding "--enable-official-branding";
+
+ enableParallelBuilding = true;
+
+ preConfigure =
+ ''
+ mkdir ../objdir
+ cd ../objdir
+ configureScript=../mozilla-release/configure
+ '';
+
+ preInstall =
+ ''
+ # The following is needed for startup cache creation on grsecurity kernels.
+ paxmark m ../objdir/dist/bin/xpcshell
+ '';
+
+ postInstall =
+ ''
+ # For grsecurity kernels
+ paxmark m $out/lib/${name}/{firefox,firefox-bin,plugin-container}
+
+ # Remove SDK cruft. FIXME: move to a separate output?
+ rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
+ '';
+
+ meta = {
+ description = "Web browser";
+ homepage = http://www.mozilla.com/en-US/firefox/;
+ maintainers = with lib.maintainers; [ eelco ];
+ platforms = lib.platforms.linux;
+ };
+
+ passthru = {
+ inherit gtk nspr version;
+ isFirefox3Like = true;
+ };
+}
diff --git a/pkgs/applications/office/zotero/xulrunner.nix b/pkgs/applications/office/zotero/xulrunner.nix
new file mode 100644
index 00000000000..4dd1095c0ce
--- /dev/null
+++ b/pkgs/applications/office/zotero/xulrunner.nix
@@ -0,0 +1,80 @@
+{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, hunspell, libevent, libstartup_notification, libvpx
+, cairo, gstreamer, gst_plugins_base, icu, firefox
+, debugBuild ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+let version = firefox.version; in
+
+stdenv.mkDerivation rec {
+ name = "xulrunner-${version}";
+
+ src = firefox.src;
+
+ buildInputs =
+ [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
+ python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+ xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+ alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+ xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+ xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+ hunspell libevent libstartup_notification libvpx cairo
+ gstreamer gst_plugins_base icu
+ ];
+
+ configureFlags =
+ [ "--enable-application=xulrunner"
+ "--disable-javaxpcom"
+ "--with-system-jpeg"
+ "--with-system-zlib"
+ "--with-system-bz2"
+ "--with-system-nspr"
+ "--with-system-nss"
+ "--with-system-libevent"
+ "--with-system-libvpx"
+ # "--with-system-png" # needs APNG support
+ # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
+ "--enable-system-ffi"
+ "--enable-system-hunspell"
+ "--enable-system-pixman"
+ "--enable-system-sqlite"
+ "--enable-system-cairo"
+ "--enable-gstreamer"
+ "--enable-startup-notification"
+ # "--enable-content-sandbox" # available since 26.0, but not much info available
+ # "--enable-content-sandbox-reporter" # keeping disabled for now
+ "--disable-crashreporter"
+ "--disable-tests"
+ "--disable-necko-wifi" # maybe we want to enable this at some point
+ "--disable-installer"
+ "--disable-updater"
+ "--disable-pulseaudio"
+ ]
+ ++ (if debugBuild
+ then [ "--enable-debug" "--enable-profiling"]
+ else [ "--disable-debug" "--enable-release" "--enable-strip"
+ "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}" ]);
+
+ enableParallelBuilding = true;
+
+ preConfigure =
+ ''
+ mkdir ../objdir
+ cd ../objdir
+ configureScript=../mozilla-release/configure
+ '';
+
+ meta = {
+ description = "Mozilla Firefox XUL runner";
+ homepage = http://www.mozilla.com/en-US/firefox/;
+ maintainers = [ lib.maintainers.eelco ];
+ platforms = lib.platforms.linux;
+ };
+
+ passthru = { inherit gtk version; };
+}
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 6b84143d013..d7ae496f5aa 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv }:
+{ stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl
+, libiconvOrEmpty }:
stdenv.mkDerivation rec {
name = "stellarium-0.12.4";
@@ -8,7 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "11367hv9niyz9v47lf31vjsqkgc8da0vy2nhiyxgmk1i49p1pbhg";
};
- buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
+ buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl ]
+ ++ libiconvOrEmpty;
enableParallelBuilding = true;
diff --git a/pkgs/applications/science/astronomy/xplanet/giflib.patch b/pkgs/applications/science/astronomy/xplanet/giflib.patch
index aaf024198fb..653b9c8dc7d 100644
--- a/pkgs/applications/science/astronomy/xplanet/giflib.patch
+++ b/pkgs/applications/science/astronomy/xplanet/giflib.patch
@@ -1,6 +1,6 @@
-diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c
+diff -wbBur xplanet-1.3.0/src/libimage/gif.c xplanet-1.3.0.my/src/libimage/gif.c
--- xplanet-1.3.0/src/libimage/gif.c 2006-03-26 01:50:51.000000000 +0300
-+++ /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c 2013-07-30 18:21:17.412474692 +0400
++++ xplanet-1.3.0.my/src/libimage/gif.c 2014-05-29 18:59:14.830652716 +0400
@@ -20,7 +20,7 @@
#include
@@ -59,6 +59,15 @@ diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686
return(0);
}
}
+@@ -154,7 +154,7 @@
+
+ free(buffer);
+
+- DGifCloseFile(infile);
++ DGifCloseFile(infile, NULL);
+ return(1);
+ }
+
@@ -178,7 +178,7 @@
return(0);
}
@@ -119,11 +128,13 @@ diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686
return(0);
}
ptr += width;
-@@ -233,7 +233,7 @@
+@@ -232,8 +232,8 @@
+
EGifSpew(outfile);
- if (EGifCloseFile(outfile) == GIF_ERROR)
+- if (EGifCloseFile(outfile) == GIF_ERROR)
- PrintGifError();
++ if (EGifCloseFile(outfile, NULL) == GIF_ERROR)
+ printf("%s\n", GifErrorString(GIF_ERROR));
free(buffer);
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
new file mode 100644
index 00000000000..0ac189c4ef8
--- /dev/null
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, qt5, boost }:
+
+stdenv.mkDerivation rec {
+
+ version = "0.9.0b";
+ name = "fritzing";
+
+ src = fetchurl {
+ url = "http://fritzing.org/download/${version}/source-tarball/fritzing-${version}.source.tar_1.bz2";
+ sha256 = "181qnknq1j5x075icpw2qk0sc4wcj9f2hym533vs936is0wxp2gk";
+ };
+
+ unpackPhase = ''
+ tar xjf ${src}
+ '';
+
+ buildInputs = [ qt5 boost ];
+
+ configurePhase = ''
+ cd fritzing-${version}.source
+ qmake PREFIX=$out phoenix.pro
+ '';
+
+ meta = {
+ description = "An open source prototyping tool for Arduino-based projects";
+ homepage = http://fritzing.org/;
+ license = stdenv.lib.licenses.gpl3;
+ maintainers = [ stdenv.lib.maintainers.robberer ];
+ };
+}
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
index f9369efe96e..07724d93254 100644
--- a/pkgs/applications/science/electronics/pulseview/default.nix
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy";
};
- buildInputs = [ pkgconfig cmake glib qt4 boost boost.lib libsigrok
+ buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
libsigrokdecode libserialport libzip udev libusb1 libftdi
];
diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix
index dd3eaecc744..6d89d9e5271 100644
--- a/pkgs/applications/science/electronics/qucs/default.nix
+++ b/pkgs/applications/science/electronics/qucs/default.nix
@@ -1,17 +1,16 @@
-{stdenv, fetchurl, qt3, libX11}:
+{stdenv, fetchurl, flex, bison, qt4, libX11 }:
stdenv.mkDerivation rec {
- name = "qucs-0.0.16";
+ name = "qucs-0.0.18";
src = fetchurl {
url = "mirror://sourceforge/qucs/${name}.tar.gz";
- sha256 = "1h8ba84k06rix5zl5p9p414zj2facbnlf1vxwh4a1sp4h9dbfnzy";
+ sha256 = "3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7";
};
- patches = [ ./tr1-complex.patch ];
- patchFlags = "-p0";
+ QTDIR=qt4;
- buildInputs = [ qt3 libX11 ];
+ buildInputs = [ flex bison qt4 libX11 ];
meta = {
description = "Integrated circuit simulator";
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
new file mode 100644
index 00000000000..41c6cf75f32
--- /dev/null
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, ocaml, findlib, dypgen, bolt, ansiterminal,
+ buildBytecode ? true,
+ buildNative ? true,
+ installExamples ? true,
+ installEmacsMode ? true }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast
+ optionals optionalString; in
+
+assert versionAtLeast (getVersion ocaml) "3.07";
+assert versionAtLeast (getVersion dypgen) "20080925";
+assert versionAtLeast (getVersion bolt) "1.4";
+
+assert buildBytecode || buildNative;
+
+stdenv.mkDerivation {
+
+ name = "acgtk-1.1";
+
+ src = fetchurl {
+ url = "http://www.loria.fr/equipes/calligramme/acg/software/acg-1.1-20140905.tar.gz";
+ sha256 = "1k1ldqg34bwmgdpmi9gry9czlsk85ycjxnkd25fhlf3mmgg4n9p6";
+ };
+
+ buildInputs = [ ocaml findlib dypgen bolt ansiterminal ];
+
+ patches = [ ./install-emacs-to-site-lisp.patch
+ ./use-nix-ocaml-byteflags.patch ];
+
+ # The bytecode executable is dependent on the dynamic library provided by
+ # ANSITerminal. We can use the -dllpath flag of ocamlc (analogous to
+ # -rpath) to make sure that ocamlrun is able to link the library at
+ # runtime and that Nix detects a runtime dependency.
+ NIX_OCAML_BYTEFLAGS = "-dllpath ${ansiterminal}/lib/ocaml/${getVersion ocaml}/site-lib/ANSITerminal";
+
+ buildFlags = optionalString buildBytecode "byte"
+ + " "
+ + optionalString buildNative "opt";
+
+ installTargets = "install"
+ + " " + optionalString installExamples "install-examples"
+ + " " + optionalString installEmacsMode "install-emacs";
+
+ meta = with stdenv.lib; {
+ homepage = "http://www.loria.fr/equipes/calligramme/acg";
+ description = "A toolkit for developing ACG signatures and lexicon";
+ license = licenses.cecill20;
+ platforms = ocaml.meta.platforms;
+ maintainers = [ maintainers.jirkamarsik ];
+ };
+}
diff --git a/pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch b/pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch
new file mode 100644
index 00000000000..43ddd20b4a3
--- /dev/null
+++ b/pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch
@@ -0,0 +1,23 @@
+--- acg-1.1-20140905/Makefile.in 2014-10-24 15:21:39.442287208 +0200
++++ acg-1.1-20140905/Makefile.in.new 2014-10-24 15:24:58.557117228 +0200
+@@ -35,6 +35,7 @@
+ ACGC_DIR=src/acg-data
+
+ DATA_DIR=@datarootdir@/acgtk
++EMACS_DIR=@prefix@/share/emacs/site-lisp
+
+
+
+@@ -82,10 +83,10 @@
+ rm -r $(DATA_DIR)
+
+ install-emacs:
+- mkdir -p $(DATA_DIR) && cp -r emacs $(DATA_DIR)/.
++ mkdir -p $(EMACS_DIR) && cp emacs/acg.el $(EMACS_DIR)
+
+ uninstall-emacs:
+- rm -rf $(DATA_DIR)/emacs
++ rm -rf $(EMACS_DIR)/emacs
+
+ install-examples:
+ mkdir -p $(DATA_DIR) && cp -r examples $(DATA_DIR)/.
diff --git a/pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch b/pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch
new file mode 100644
index 00000000000..26ade37e452
--- /dev/null
+++ b/pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch
@@ -0,0 +1,11 @@
+--- acg-1.1-20140905/src/Makefile.master.in 2014-10-27 10:59:42.263382081 +0100
++++ acg-1.1-20140905/src/Makefile.master.in.new 2014-10-27 10:59:59.683597972 +0100
+@@ -23,7 +23,7 @@
+ # All warnings are treated as errors
+ WARNINGS = @OCAML09WARNINGS@ -warn-error A
+ COMMONFLAGS= $(WARNINGS) @TYPES@
+-BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG)
++BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG) $(NIX_OCAML_BYTEFLAGS)
+ OPTFLAGS = $(COMMONFLAGS)
+ LFLAGS= -a
+
diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix
index 62359baf2bc..ca1602d6e58 100644
--- a/pkgs/applications/science/logic/alt-ergo/default.nix
+++ b/pkgs/applications/science/logic/alt-ergo/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, ocaml, ocamlPackages, gmp }:
+{ fetchurl, stdenv, ocaml, ocamlPackages }:
stdenv.mkDerivation rec {
name = "alt-ergo-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
};
buildInputs = with ocamlPackages;
- [ ocaml findlib ocamlgraph zarith lablgtk gmp ];
+ [ ocaml findlib ocamlgraph zarith lablgtk ];
meta = {
description = "High-performance theorem prover and SMT solver";
diff --git a/pkgs/applications/science/logic/coq/8.3.nix b/pkgs/applications/science/logic/coq/8.3.nix
index 8664b822cca..63aaa02e67a 100644
--- a/pkgs/applications/science/logic/coq/8.3.nix
+++ b/pkgs/applications/science/logic/coq/8.3.nix
@@ -64,6 +64,7 @@ stdenv.mkDerivation {
'';
homepage = "http://coq.inria.fr";
license = licenses.lgpl21;
+ branch = "8.3";
maintainers = with maintainers; [ roconnor vbgl ];
};
}
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index 4081465fbd2..edf3091ef16 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -2,8 +2,8 @@
{stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
-let
- version = "8.5pre-01feb42";
+let
+ version = "8.5pre-52f51fb3";
coq-version = "8.5";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
src = fetchgit {
url = git://scm.gforge.inria.fr/coq/coq.git;
- rev = "01feb4206d26b41bfaab9bd45a7b2fc4db569baf";
- sha256 = "e6d44ebc3019b2650c6e320218b264f5bde68bf6f222b356d41b0a38918e839f";
+ rev = "52f51fb385d6a1c90bd7d055185fee50ef2670be";
+ sha256 = "0pgp59j2j8vk7nmcja5smly39dpkqfhpp29wpsn71piq6n52pql3";
};
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
@@ -64,6 +64,7 @@ stdenv.mkDerivation {
'';
homepage = "http://coq.inria.fr";
license = licenses.lgpl21;
+ branch = coq-version;
maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
platforms = platforms.unix;
};
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index f0f62bfb353..391dba244ef 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -3,7 +3,7 @@
{stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let
- version = "8.4pl4";
+ version = "8.4pl5";
coq-version = "8.4";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
- sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6";
+ sha256 = "0iajsabyrgypk1ncm0kqcxqv02k24xa1bayaxacjgmsqiavmm09m";
};
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
@@ -64,6 +64,7 @@ stdenv.mkDerivation {
'';
homepage = "http://coq.inria.fr";
license = licenses.lgpl21;
+ branch = coq-version;
maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
platforms = platforms.unix;
};
diff --git a/pkgs/applications/science/logic/cvc3/default.nix b/pkgs/applications/science/logic/cvc3/default.nix
index 07b87e3cf07..ce6e039c5b1 100644
--- a/pkgs/applications/science/logic/cvc3/default.nix
+++ b/pkgs/applications/science/logic/cvc3/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
, flex, bison, gmp, perl
, ...}:
builderDefsPackage
-(a :
-let
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+(a :
+let
+ helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
["gmp"];
buildInputs = (map (n: builtins.getAttr n x)
@@ -33,7 +33,7 @@ rec {
sed -e "s@ /bin/bash@bash@g" -i Makefile.std
find . -exec sed -e "s@/usr/bin/perl@${perl}/bin/perl@g" -i '{}' ';'
'') ["minInit" "doUnpack"];
-
+
meta = {
description = "A prover for satisfiability modulo theory (SMT)";
maintainers = with a.lib.maintainers;
@@ -42,7 +42,7 @@ rec {
];
platforms = with a.lib.platforms;
linux;
- license = "free-noncopyleft";
+ license = a.lib.licenses.free;
homepage = "http://www.cs.nyu.edu/acsys/cvc3/index.html";
};
passthru = {
@@ -51,4 +51,3 @@ rec {
};
};
}) x
-
diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix
new file mode 100644
index 00000000000..5b2e9c54d6f
--- /dev/null
+++ b/pkgs/applications/science/logic/cvc4/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, gmp, libantlr3c, boost}:
+
+stdenv.mkDerivation {
+ name = "cvc4-1.4";
+ src = fetchurl {
+ url = http://cvc4.cs.nyu.edu/builds/src/cvc4-1.4.tar.gz;
+ sha256 = "093h7zgv4z4ad503j30dpn8k2pz9m90pvd7gi5axdmwsxgwlzzkn";
+ };
+
+ buildInputs = [ gmp libantlr3c boost ];
+
+ preConfigure = "patchShebangs ./src/";
+
+ doChecks = true;
+
+ meta = with stdenv.lib; {
+ description = "An efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems";
+ homepage = http://cvc4.cs.nyu.edu/web/;
+ license = licenses.bsd3;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ vbgl ];
+ };
+}
diff --git a/pkgs/applications/science/logic/hol_light/Makefile.patch b/pkgs/applications/science/logic/hol_light/Makefile.patch
deleted file mode 100644
index ae521004f33..00000000000
--- a/pkgs/applications/science/logic/hol_light/Makefile.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: Makefile
-===================================================================
---- /Makefile (révision 199)
-+++ /Makefile (copie de travail)
-@@ -59,7 +59,7 @@
- then cp pa_j_3.1x_6.02.1.ml pa_j.ml; \
- else if test ${CAMLP5_VERSION} = "6.02.2" -o ${CAMLP5_VERSION} = "6.02.3" -o ${CAMLP5_VERSION} = "6.03" -o ${CAMLP5_VERSION} = "6.04" -o ${CAMLP5_VERSION} = "6.05" -o ${CAMLP5_VERSION} = "6.06" ; \
- then cp pa_j_3.1x_6.02.2.ml pa_j.ml; \
-- else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" ; \
-+ else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" ; \
- then cp pa_j_3.1x_6.11.ml pa_j.ml; \
- else cp pa_j_3.1x_${CAMLP5_BINARY_VERSION}.xx.ml pa_j.ml; \
- fi \
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index 9b8f25cab77..1e4fe08639f 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -10,18 +10,16 @@ in
stdenv.mkDerivation rec {
name = "hol_light-${version}";
- version = "199";
+ version = "205";
src = fetchsvn {
url = http://hol-light.googlecode.com/svn/trunk;
rev = version;
- sha256 = "0308nw91iww18wvl30g5ygf6lhw329jh1vqi9hsh30inhb3dx3jw";
+ sha256 = "1qnk3fkfr6f74nd8wsi84s9kg872cw766sa15a2ldlhs9ma76chj";
};
buildInputs = [ ocaml findlib camlp5 ];
- patches = [ ./Makefile.patch ];
-
installPhase = ''
mkdir -p "$out/lib/hol_light" "$out/bin"
cp -a . $out/lib/hol_light
diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix
index afe827f3ad9..293381d2888 100644
--- a/pkgs/applications/science/logic/ott/default.nix
+++ b/pkgs/applications/science/logic/ott/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
target-system terms.
'';
homepage = http://www.cl.cam.ac.uk/~pes20/ott;
- license = "BSD3";
+ license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ jwiegley ];
platforms = stdenv.lib.platforms.unix;
};
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
index 2126a4d76d6..89a214c3f47 100644
--- a/pkgs/applications/science/logic/satallax/default.nix
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
, sbcl, zlib
, ...}:
builderDefsPackage
-(a :
-let
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+(a :
+let
+ helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
@@ -47,11 +47,11 @@ rec {
sbcl --load make.lisp
! ( ./test | grep ERROR )
-
+
mkdir -p "$out/bin"
cp bin/satallax "$out/bin"
'') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
-
+
meta = {
description = "A higher-order logic prover";
maintainers = with a.lib.maintainers;
@@ -60,7 +60,7 @@ rec {
];
platforms = with a.lib.platforms;
unix;
- license = "free-noncopyleft";
+ license = a.lib.licenses.free;
homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
};
passthru = {
@@ -69,4 +69,3 @@ rec {
};
};
}) x
-
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
index 109d9fe3d4b..cfe96bc6983 100644
--- a/pkgs/applications/science/logic/stp/default.nix
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
rev = "3aa11620a823d617fc033d26aedae91853d18635";
sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
};
- buildInputs = [ cmake boost boost.lib bison flex perl zlib ];
+ buildInputs = [ cmake boost bison flex perl zlib ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
patchPhase = ''
sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
diff --git a/pkgs/applications/science/logic/twelf/default.nix b/pkgs/applications/science/logic/twelf/default.nix
index f9680b47579..4d97f0480bb 100644
--- a/pkgs/applications/science/logic/twelf/default.nix
+++ b/pkgs/applications/science/logic/twelf/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
Standard ML.
'';
homepage = http://twelf.org/wiki/Main_Page;
- license = "MIT";
+ license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ jwiegley ];
platforms = stdenv.lib.platforms.unix;
};
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 71ff1cc7fb4..70149522393 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,21 +2,21 @@
stdenv.mkDerivation rec {
name = "why3-${version}";
- version = "0.83";
+ version = "0.85";
src = fetchurl {
- url = "https://gforge.inria.fr/frs/download.php/33490/${name}.tar.gz";
- sha256 = "1jcs5vj91ppbgh4q4hch89b63wgakjhg35pm3r4jwhp377lnggya";
+ url = "https://gforge.inria.fr/frs/download.php/34074/why3-0.85.tar.gz";
+ sha256 = "0sj1pd50lqvnvyss1f8ysgigdi64s91rrpdrmp7crmcy1npa8apf";
};
buildInputs = with ocamlPackages;
[ coq ocaml findlib lablgtk ocamlgraph zarith ];
- meta = {
- description = "why is a software verification platform";
+ meta = with stdenv.lib; {
+ description = "A platform for deductive program verification";
homepage = "http://why3.lri.fr/";
- license = stdenv.lib.licenses.lgpl21;
- platforms = stdenv.lib.platforms.linux;
- maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+ license = licenses.lgpl21;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ thoughtpolice vbgl ];
};
}
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index edba65146a6..8413eb14a35 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
- name = "R-3.1.0";
+ name = "R-3.1.2";
src = fetchurl {
url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
- sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a";
+ sha256 = "0ypsm11c7n49pgh2ricyhhpfhas3famscdazzdp2zq70rapm1ldw";
};
buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
@@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
installTargets = [ "install" "install-info" "install-pdf" ];
- doCheck = true;
+ # The test suite fails when building without the recommended packages.
+ doCheck = withRecommendedPackages;
enableParallelBuilding = true;
@@ -84,7 +85,9 @@ stdenv.mkDerivation rec {
user-defined recursive functions and input and output facilities.
'';
+ platforms = stdenv.lib.platforms.all;
hydraPlatforms = stdenv.lib.platforms.linux;
+
maintainers = [ stdenv.lib.maintainers.simons ];
};
}
diff --git a/pkgs/applications/science/math/R/setup-hook.sh b/pkgs/applications/science/math/R/setup-hook.sh
index a31289bbfba..09a775db9bf 100644
--- a/pkgs/applications/science/math/R/setup-hook.sh
+++ b/pkgs/applications/science/math/R/setup-hook.sh
@@ -2,4 +2,4 @@ addRLibPath () {
addToSearchPath R_LIBS_SITE $1/library
}
-envHooks=(${envHooks[@]} addRLibPath)
+envHooks+=(addRLibPath)
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 3277d94d99b..ddd5dc5d6bb 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -2,7 +2,7 @@
let
name = "maxima";
- version = "5.33.0";
+ version = "5.34.1";
searchPath =
stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
- sha256 = "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2";
+ sha256 = "1dw9vfzldpj7lv303xbw0wpyn6ra6i2yzwlrjbcx7j0jm5n43ji0";
};
buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index ced8b6f95bb..a27a93dd2c6 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
name = "sage-6.1.1";
src = fetchurl {
- url = "http://mirrors.xmission.com/sage/src/sage-6.1.1.tar.gz";
+ url = "mirror://sagemath/${name}.tar.gz";
sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y";
};
@@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
'';
meta = {
- homepage = http://www.scilab.org/;
- description = "Scientific software package for numerical computations (Matlab lookalike)";
- # see http://www.scilab.org/legal
- license = "SciLab";
+ homepage = "http://www.sagemath.org";
+ description = "A free open source mathematics software system";
+ license = stdenv.lib.licenses.gpl2Plus;
};
}
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 75448b6965c..06eceea65c9 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -2,14 +2,14 @@
let
name = "wxmaxima";
- version = "13.04.2";
+ version = "14.09.0";
in
stdenv.mkDerivation {
name = "${name}-${version}";
src = fetchurl {
- url = "mirror://sourceforge/${name}/wxMaxima/${version}/wxMaxima-${version}.tar.gz";
- sha256 = "1sylvr0kfdzxxc3qsb0c6ff3lg0bzm1ib5xh78wjgzykbnvjsd99";
+ url = "mirror://sourceforge/${name}/wxMaxima/${version}/wxmaxima-${version}.tar.gz";
+ sha256 = "1wqiw9dgjc9vg94dqk4kif8xs7nlmn34xj3v4zm13fh1jihraksq";
};
buildInputs = [wxGTK maxima makeWrapper];
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
index 4c93eef2b1c..7a534fce4f6 100644
--- a/pkgs/applications/science/misc/fityk/default.nix
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
meta = {
description = "Curve fitting and peak fitting software";
- license = "GPL2";
+ license = stdenv.lib.licenses.gpl2;
homepage = http://fityk.nieto.pl/;
platforms = stdenv.lib.platforms.linux;
};
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index a29d37cc41a..63a0be47c47 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -13,15 +13,27 @@ let
wxGTK perl python zlib
];
in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
inherit (s) name version;
inherit buildInputs;
src = fetchurl {
inherit (s) url sha256;
};
- preConfigure = ''
- cd gui-wx/configure
+
+ sourceRoot="${name}-src/gui-wx/configure";
+
+ # Link against Python explicitly as it is needed for scripts
+ makeFlags=[
+ "AM_LDFLAGS="
+ ];
+ NIX_LDFLAGS="-lpython${python.majorVersion} -lperl";
+ preConfigure=''
+ export NIX_LDFLAGS="$NIX_LDFLAGS -L$(dirname "$(find ${perl} -name libperl.so)")"
+ export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
+ -DPYTHON_SHLIB=$(basename "$(
+ readlink -f ${python}/lib/libpython*.so)")"
'';
+
meta = {
inherit (s) version;
description = "Cellular automata simulation program";
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 2e25ff582ee..8537ea171b3 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -2,10 +2,10 @@
# ViTE 1.1 has several bugs, so use the SVN version.
let
- rev = "1143";
+ rev = "1543";
externals = fetchsvn {
url = "svn://scm.gforge.inria.fr/svn/vite/externals";
- sha256 = "0wg3yh5q8gx7189rvkd8achld7bzp0i7qqn6c77pg767b4b8dh1a";
+ sha256 = "1a422n3dp72v4visq5b1i21cf8sj12903sgg5v2hah3sgk02dnyz";
inherit rev;
};
in
@@ -14,16 +14,14 @@ stdenv.mkDerivation {
src = fetchsvn {
url = "svn://scm.gforge.inria.fr/svn/vite/trunk";
- sha256 = "0cy9b6isiwqwnv9gk0cg97x370fpwyccljadds4a118k5gh58zw4";
+ sha256 = "02479dv96h29d0w0svp42mjjrxhmv8lkkqp30w7mlx5gr2g0v7lf";
inherit rev;
};
- preConfigure =
- '' rm -v externals
- ln -sv "${externals}" externals
- '';
-
- patches = [ ./larger-line-buffer.patch ];
+ preConfigure = ''
+ rm -rv externals
+ ln -sv "${externals}" externals
+ '';
buildInputs = [ cmake qt4 mesa ];
@@ -32,19 +30,15 @@ stdenv.mkDerivation {
meta = {
description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces";
- longDescription =
- '' ViTE is a trace explorer. It is a tool to visualize execution traces
- in Pajé or OTF format for debugging and profiling parallel or
- distributed applications.
- '';
+ longDescription = ''
+ ViTE is a trace explorer. It is a tool to visualize execution
+ traces in Pajé or OTF format for debugging and profiling
+ parallel or distributed applications.
+ '';
homepage = http://vite.gforge.inria.fr/;
-
- license = "CeCILL-A";
-
- maintainers = [ stdenv.lib.maintainers.ludo ];
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
-
- broken = true;
+ license = stdenv.lib.licenses.cecill20;
+ maintainers = with stdenv.lib.maintainers; [ ludo fuuzetsu ];
+ platforms = stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/science/misc/vite/larger-line-buffer.patch b/pkgs/applications/science/misc/vite/larger-line-buffer.patch
deleted file mode 100644
index 7934c0085c1..00000000000
--- a/pkgs/applications/science/misc/vite/larger-line-buffer.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-ViTE has an arbitrary restriction on the length of lines read by the parser.
-Make it larger.
-
---- a/src/parser/PajeFileManager.hpp
-+++ b/src/parser/PajeFileManager.hpp
-@@ -67,7 +67,7 @@
-
- #include
-
--#define _PAJE_BUFSIZE 256
-+#define _PAJE_BUFSIZE 16384
- #define _PAJE_NBMAXTKS 16
-
- /**
diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix
index ff5c3456e22..d5f03a41f22 100644
--- a/pkgs/applications/version-management/darcs/default.nix
+++ b/pkgs/applications/version-management/darcs/default.nix
@@ -23,6 +23,9 @@ cabal.mkDerivation (self: {
mkdir -p $out/etc/bash_completion.d
mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
'';
+ patchPhase = ''
+ sed -i -e 's|random.*==.*|random|' -e 's|text.*>=.*,|text,|' darcs.cabal
+ '';
meta = {
homepage = "http://darcs.net/";
description = "a distributed, interactive, smart revision control system";
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 4cabe3a4e2a..71fb75a2157 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -99,4 +99,6 @@ rec {
git-remote-hg = callPackage ./git-remote-hg { };
gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
+
+ git-extras = callPackage ./git-extras { };
}
diff --git a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
index dcfcce1fcf6..562917ec073 100644
--- a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
@@ -30,10 +30,10 @@ stdenv.mkDerivation {
done
'';
- # usage:
+ # usage:
meta = {
description = "import svn, mercurial into git";
homepage = "http://repo.or.cz/w/fast-export.git";
- license = "?"; # the .py file is GPLv2
+ license = stdenv.lib.licenses.gpl2;
};
}
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index cbbdb6b7075..9259cabc28e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -1,37 +1,38 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-{ cabal, aeson, async, blazeBuilder, bloomfilter, bup, byteable
-, caseInsensitive, clientsession, cryptoApi, cryptohash, curl
-, dataDefault, dataenc, DAV, dbus, dlist, dns, editDistance
-, exceptions, fdoNotify, feed, filepath, git, gnupg1, gnutls
-, hamlet, hinotify, hS3, hslogger, httpClient, httpConduit
-, httpTypes, IfElse, json, lsof, MissingH, monadControl, mtl
-, network, networkInfo, networkMulticast, networkProtocolXmpp
-, networkUri, openssh, optparseApplicative, pathPieces, perl
-, QuickCheck, random, regexTdfa, rsync, SafeSemaphore, securemem
-, SHA, shakespeare, stm, tasty, tastyHunit, tastyQuickcheck
-, tastyRerun, text, time, transformers, unixCompat, utf8String
-, uuid, wai, waiExtra, warp, warpTls, which, xmlTypes, yesod
-, yesodCore, yesodDefault, yesodForm, yesodStatic
+{ cabal, aeson, async, aws, blazeBuilder, bloomfilter, bup
+, byteable, caseInsensitive, clientsession, conduit, conduitExtra
+, cryptoApi, cryptohash, curl, dataDefault, dataenc, DAV, dbus
+, dlist, dns, editDistance, exceptions, fdoNotify, feed, filepath
+, git, gnupg1, gnutls, hamlet, hinotify, hslogger, httpClient
+, httpConduit, httpTypes, IfElse, json, lsof, MissingH
+, monadControl, mtl, network, networkInfo, networkMulticast
+, networkProtocolXmpp, networkUri, openssh, optparseApplicative
+, pathPieces, perl, QuickCheck, random, regexTdfa, resourcet, rsync
+, SafeSemaphore, securemem, SHA, shakespeare, stm, tasty
+, tastyHunit, tastyQuickcheck, tastyRerun, text, time, transformers
+, unixCompat, utf8String, uuid, wai, waiExtra, warp, warpTls, which
+, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic
}:
cabal.mkDerivation (self: {
pname = "git-annex";
- version = "5.20140927";
- sha256 = "02zmg8pcrdavfna2xy51n6chn6i5g0b8p20rba1vj29rlfj3cask";
+ version = "5.20141203";
+ sha256 = "01gifds86925vg7mh363i7qsii2wrgf3vpk3wgjff9rbb7z0fvfk";
isLibrary = false;
isExecutable = true;
buildDepends = [
- aeson async blazeBuilder bloomfilter byteable caseInsensitive
- clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus
- dlist dns editDistance exceptions fdoNotify feed filepath gnutls
- hamlet hinotify hS3 hslogger httpClient httpConduit httpTypes
- IfElse json MissingH monadControl mtl network networkInfo
+ aeson async aws blazeBuilder bloomfilter byteable caseInsensitive
+ clientsession conduit conduitExtra cryptoApi cryptohash dataDefault
+ dataenc DAV dbus dlist dns editDistance exceptions fdoNotify feed
+ filepath gnutls hamlet hinotify hslogger httpClient httpConduit
+ httpTypes IfElse json MissingH monadControl mtl network networkInfo
networkMulticast networkProtocolXmpp networkUri optparseApplicative
- pathPieces QuickCheck random regexTdfa SafeSemaphore securemem SHA
- shakespeare stm tasty tastyHunit tastyQuickcheck tastyRerun text
- time transformers unixCompat utf8String uuid wai waiExtra warp
- warpTls xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic
+ pathPieces QuickCheck random regexTdfa resourcet SafeSemaphore
+ securemem SHA shakespeare stm tasty tastyHunit tastyQuickcheck
+ tastyRerun text time transformers unixCompat utf8String uuid wai
+ waiExtra warp warpTls xmlTypes yesod yesodCore yesodDefault
+ yesodForm yesodStatic
];
buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
configureFlags = "-fAssistant -fProduction";
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
new file mode 100644
index 00000000000..3392c1c0021
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "git-extras-${version}";
+ version = "2.2.0";
+
+ src = fetchurl {
+ url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
+ sha256 = "0qwgaj0r9lsmwricpnma9rm7llfrcqarcfk5iq3ilxkns8a334va";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+
+ makeFlags = "DESTDIR=$(out) PREFIX=";
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/tj/git-extras;
+ description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more";
+ license = licenses.mit;
+ platforms = platforms.all;
+ maintainers = [ maintainers.spwhitt ];
+ };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index b21cd35b701..69e88f32c41 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
let
- version = "2.1.2";
+ version = "2.1.3";
svn = subversionClient.override { perlBindings = true; };
@@ -21,10 +21,15 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
- sha256 = "12x1qycc0rii6fqpiizp9v9ysdmj6lpi9imqqbrkdx6cifbwh9vv";
+ sha256 = "0mvgvr2hz25p49dhhizcw9591f2h17y2699mpmndis3kzap0c6zy";
};
- patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];
+ patches = [
+ ./docbook2texi.patch
+ ./symlinks-in-bin.patch
+ ./cert-path.patch
+ ./ssl-cert-file.patch
+ ];
buildInputs = [curl openssl zlib expat gettext cpio makeWrapper]
++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
@@ -55,7 +60,7 @@ stdenv.mkDerivation {
# Install git-subtree.
pushd contrib/subtree
make
- make install install-doc
+ make install ${stdenv.lib.optionalString withManual "install-doc"}
popd
rm -rf contrib/subtree
@@ -142,6 +147,6 @@ stdenv.mkDerivation {
'';
platforms = stdenv.lib.platforms.all;
- maintainers = with stdenv.lib.maintainers; [ simons the-kenny ];
+ maintainers = with stdenv.lib.maintainers; [ simons the-kenny wmertens ];
};
}
diff --git a/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
new file mode 100644
index 00000000000..dd216b7bf6f
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
@@ -0,0 +1,13 @@
+This patch adds support for the OpenSSL SSL_CERT_FILE environment variable.
+GIT_SSL_CAINFO still takes precedence.
+
+--- git-orig/http.c.orig 2014-11-25 23:27:56.000000000 +0100
++++ git-orig/http.c 2014-11-25 23:28:48.000000000 +0100
+@@ -433,6 +433,7 @@
+ #if LIBCURL_VERSION_NUM >= 0x070908
+ set_from_env(&ssl_capath, "GIT_SSL_CAPATH");
+ #endif
++ set_from_env(&ssl_cainfo, "SSL_CERT_FILE");
+ set_from_env(&ssl_cainfo, "GIT_SSL_CAINFO");
+
+ set_from_env(&user_agent, "GIT_HTTP_USER_AGENT");
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index ca329eddc66..5b1e2041e4a 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -1,19 +1,20 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-{ cabal, extensibleExceptions, filepath, git, github, hslogger
-, IfElse, MissingH, mtl, network, optparseApplicative, prettyShow
-, text, unixCompat
+{ cabal, exceptions, filepath, git, github, hslogger, IfElse
+, MissingH, mtl, network, networkUri, optparseApplicative
+, prettyShow, text, transformers, unixCompat
}:
cabal.mkDerivation (self: {
pname = "github-backup";
- version = "1.20140721";
- sha256 = "0bnkfmgpk1iaaqck4ppn461fzk3s2761w2nxfrvw10gc934lhrxc";
+ version = "1.20141110";
+ sha256 = "0675zcijfap757076r3j7js4iadnj1jbihmchf6ikzaanczmq1kg";
isLibrary = false;
isExecutable = true;
buildDepends = [
- extensibleExceptions filepath github hslogger IfElse MissingH mtl
- network optparseApplicative prettyShow text unixCompat
+ exceptions filepath github hslogger IfElse MissingH mtl network
+ networkUri optparseApplicative prettyShow text transformers
+ unixCompat
];
buildTools = [ git ];
meta = {
@@ -21,7 +22,5 @@ cabal.mkDerivation (self: {
description = "backs up everything github knows about a repository, to the repository";
license = "GPL";
platforms = self.ghc.meta.platforms;
- hydraPlatforms = self.stdenv.lib.platforms.none;
- broken = true;
};
})
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 7f8091067cb..a697aaa08a1 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, python }:
stdenv.mkDerivation {
- name = "git-repo-1.20";
+ name = "git-repo-1.21";
src = fetchurl {
- # I could not find a versioned url for the 1.20 version. In case
+ # I could not find a versioned url for the 1.21 version. In case
# the sha mismatches, check the homepage for new version and sha.
url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo";
- sha1 = "e197cb48ff4ddda4d11f23940d316e323b29671c";
+ sha1 = "b8bd1804f432ecf1bab730949c82b93b0fc5fede";
};
unpackPhase = "true";
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 74eee477847..82b3f7aed09 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -3,27 +3,28 @@
}:
stdenv.mkDerivation rec {
- version = "0.42";
+ version = "0.43";
name = "gource-${version}";
src = fetchurl {
url = "https://github.com/acaudwell/Gource/releases/download/${name}/${name}.tar.gz";
- sha256 = "08ab57z44y8b5wxg1193j6hiy50njbpi6dwafjh6nb0apcq8ziz5";
+ sha256 = "1r5x9ai86f609hf584n0xaf5hxkbilj5qihn89v7ghpmwk40m945";
};
buildInputs = [
glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
- boost boost.lib glm
+ boost glm
];
- configureFlags = "--with-boost-libdir=${boost.lib}/lib";
+ configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
- NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
+ NIX_CFLAGS_COMPILE = "-fpermissive " + # fix build with newer gcc versions
+ "-std=c++11"; # fix build with glm >= 0.9.6.0
- meta = {
- homepage = "http://code.google.com/p/gource/";
- description = "software version control visualization tool";
- license = stdenv.lib.licenses.gpl3Plus;
+ meta = with stdenv.lib; {
+ homepage = http://code.google.com/p/gource/;
+ description = "A Software version control visualization tool";
+ license = licenses.gpl3Plus;
longDescription = ''
Software projects are displayed by Gource as an animated tree with
the root directory of the project at its centre. Directories
@@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
Mercurial and Bazaar and SVN. Gource can also parse logs produced
by several third party tools for CVS repositories.
'';
- platforms = stdenv.lib.platforms.linux;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ pSub ];
};
}
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 7b309233ca9..82d92fd79e8 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -2,7 +2,7 @@
, guiSupport ? false, tk ? null, curses }:
let
- version = "3.1.1";
+ version = "3.1.2";
name = "mercurial-${version}";
in
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://mercurial.selenic.com/release/${name}.tar.gz";
- sha256 = "1ncqagvxcqa41ginmf0kpx2z6b2r2zrq7bdkza3nfba682c2is67";
+ sha256 = "0fldlypjpzn12az2gk4b3am615wih3r6ld69im97iqq76zmmrgjx";
};
inherit python; # pass it so that the same version can be used in hg2git
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
index 29fafc4db74..d52802e42f1 100644
--- a/pkgs/applications/version-management/mr/default.nix
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -1,56 +1,31 @@
{ stdenv, fetchurl, perl }:
stdenv.mkDerivation rec {
-
- version = "1.13";
- name = "mr-" + version;
+ version = "1.20141024";
+ name = "mr-${version}";
src = fetchurl {
- url = "http://ftp.de.debian.org/debian/pool/main/m/mr/mr_${version}.tar.gz";
- sha256 = "1q3qxk8dwbv30v2xxh852wnwl1msgkvk5cgxyicpqj8kh5b96zlz";
+ url = "https://github.com/joeyh/myrepos/archive/${version}.tar.gz";
+ sha256 = "7b68183476867d15d6f111fc9678335b94824dcfa09f07c761a72d64cdf5ad4a";
};
- buildInputs = [perl];
+ buildInputs = [ perl ];
- buildPhase = ''
- make build
- '';
-
- installPhase = ''
- mkdir -pv $out/bin $out/share/man/man1 $out/share/mr
- cp -v mr $out/bin
- cp -v webcheckout $out/bin
- cp -v mr.1 $out/share/man/man1
- cp -v webcheckout.1 $out/share/man/man1
- cp -v lib/* $out/share/mr
- '';
+ makeFlags = "PREFIX=$(out)";
meta = {
description = "Multiple Repository management tool";
- longDescription = ''The mr(1) command can checkout, update, or perform other actions on a
- set of repositories as if they were one combined respository. It
- supports any combination of subversion, git, cvs, mercurial, bzr,
- darcs, cvs, vcsh, fossil and veracity repositories, and support for
- other revision control systems can easily be added. (There are
- extensions adding support for unison and git-svn.)
-
- It is extremely configurable via simple shell scripting. Some examples
- of things it can do include:
-
- - Update a repository no more frequently than once every twelve
- hours.
- - Run an arbitrary command before committing to a
- repository.
- - When updating a git repository, pull from two
- different upstreams and merge the two together.
- - Run several repository updates in parallel, greatly speeding
- up the update process.
- - Remember actions that failed due to a laptop being
- offline, so they can be retried when it comes back online.
+ longDescription = ''
+ mr is a tool to manage all your version control repos. It can
+ checkout, update, or perform other actions on a set of
+ repositories as if they were one combined repository. It
+ supports any combination of subversion, git, cvs, mercurial,
+ bzr, darcs, fossil and veracity repositories, and support for
+ other version control systems can easily be added.
'';
- homepage = http://joeyh.name/code/mr/;
+ homepage = http://myrepos.branchable.com/;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix;
- maintainers = [ stdenv.lib.maintainers.antono ];
+ maintainers = with stdenv.lib.maintainers; [ antono henrytill ];
};
}
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index 823638669b6..d58c9ed15c8 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, ed }:
stdenv.mkDerivation rec {
- name = "rcs-5.9.2";
+ name = "rcs-5.9.3";
src = fetchurl {
url = "mirror://gnu/rcs/${name}.tar.xz";
- sha256 = "0wdmmplga9k05d9k7wjqv4zb6xvvzsli8hmn206pvangki1g66k5";
+ sha256 = "0isvzwfvqkg7zcsznra6wqh650z49ib113n7gp6ncxv5p30x3c38";
};
buildInputs = [ ed ];
diff --git a/pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch b/pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch
new file mode 100644
index 00000000000..889b8c930e7
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch
@@ -0,0 +1,100 @@
+Description: FHS through env vars
+Forwarded: not-needed
+Author: Jérémy Lal
+Last-Update: 2013-09-28
+--- redmine.orig/app/models/attachment.rb
++++ redmine/app/models/attachment.rb
+@@ -46,10 +46,10 @@ class Attachment < ActiveRecord::Base
+ "LEFT JOIN #{Project.table_name} ON #{Document.table_name}.project_id = #{Project.table_name}.id"}
+
+ cattr_accessor :storage_path
+- @@storage_path = Redmine::Configuration['attachments_storage_path'] || File.join(Rails.root, "files")
++ @@storage_path = Redmine::Configuration['attachments_storage_path'] || ENV['RAILS_VAR'] ? File.join(ENV['RAILS_VAR'], "files") : File.join(Rails.root, "files")
+
+ cattr_accessor :thumbnails_storage_path
+- @@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails")
++ @@thumbnails_storage_path = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], "thumbnails") : File.join(Rails.root, "tmp", "thumbnails")
+
+ before_save :files_to_final_location
+ after_destroy :delete_from_disk
+--- redmine.orig/lib/redmine/configuration.rb
++++ redmine/lib/redmine/configuration.rb
+@@ -32,7 +32,7 @@ module Redmine
+ # * :file: the configuration file to load (default: config/configuration.yml)
+ # * :env: the environment to load the configuration for (default: Rails.env)
+ def load(options={})
+- filename = options[:file] || File.join(Rails.root, 'config', 'configuration.yml')
++ filename = options[:file] || ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'configuration.yml') : File.join(Rails.root, 'config', 'configuration.yml')
+ env = options[:env] || Rails.env
+
+ @config = @defaults.dup
+@@ -103,7 +103,7 @@ module Redmine
+ end
+
+ def load_deprecated_email_configuration(env)
+- deprecated_email_conf = File.join(Rails.root, 'config', 'email.yml')
++ deprecated_email_conf = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'email.yml') : File.join(Rails.root, 'config', 'email.yml')
+ if File.file?(deprecated_email_conf)
+ warn "Storing outgoing emails configuration in config/email.yml is deprecated. You should now store it in config/configuration.yml using the email_delivery setting."
+ @config.merge!({'email_delivery' => load_from_yaml(deprecated_email_conf, env)})
+--- redmine.orig/lib/redmine/export/pdf.rb
++++ redmine/lib/redmine/export/pdf.rb
+@@ -38,7 +38,7 @@ module Redmine
+ attr_accessor :footer_date
+
+ def initialize(lang, orientation='P')
+- @@k_path_cache = Rails.root.join('tmp', 'pdf')
++ @@k_path_cache = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'pdf') : Rails.root.join('tmp', 'pdf')
+ FileUtils.mkdir_p @@k_path_cache unless File::exist?(@@k_path_cache)
+ set_language_if_valid lang
+ pdf_encoding = l(:general_pdf_encoding).upcase
+--- redmine.orig/config/application.rb
++++ redmine/config/application.rb
+@@ -52,8 +63,21 @@ module RedmineApp
+ # Do not include all helpers
+ config.action_controller.include_all_helpers = false
+
++ # move tmp directory to RAILS_TMP
++ config.paths['tmp'] = ENV['RAILS_TMP']
++
+ config.session_store :cookie_store, :key => '_redmine_session'
+
++ # log path
++ config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
++
++ config.paths['public'] = ENV['RAILS_PUBLIC'] unless !ENV['RAILS_PUBLIC']
++
++ config.cache_store = :file_store, File.join(ENV['RAILS_TMP'], "cache")
++
++ # Set Active Record's database.yml path
++ config.paths['config/database'] = File.join(ENV['RAILS_ETC'], 'database.yml') unless !ENV['RAILS_ETC']
++
+ if File.exists?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
+ instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
+ end
+--- redmine.orig/lib/plugins/rfpdf/lib/tcpdf.rb
++++ redmine/lib/plugins/rfpdf/lib/tcpdf.rb
+@@ -89,10 +89,10 @@ class TCPDF
+ @@k_small_ratio = 2/3.0
+
+ cattr_accessor :k_path_cache
+- @@k_path_cache = Rails.root.join('tmp')
++ @@k_path_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
+
+ cattr_accessor :k_path_url_cache
+- @@k_path_url_cache = Rails.root.join('tmp')
++ @@k_path_url_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
+
+ attr_accessor :barcode
+
+--- redmine.orig/lib/redmine/scm/adapters/abstract_adapter.rb
++++ redmine/lib/redmine/scm/adapters/abstract_adapter.rb
+@@ -222,7 +222,7 @@ module Redmine
+ if @stderr_log_file.nil?
+ writable = false
+ path = Redmine::Configuration['scm_stderr_log_file'].presence
+- path ||= Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
++ path ||= ENV['RAILS_LOG'] ? File.join(ENV['RAILS_LOG'], "#{Rails.env}.scm.stderr.log").to_s : Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
+ if File.exists?(path)
+ if File.file?(path) && File.writable?(path)
+ writable = true
diff --git a/pkgs/applications/version-management/redmine/2003_externalize_session_config.patch b/pkgs/applications/version-management/redmine/2003_externalize_session_config.patch
new file mode 100644
index 00000000000..39af8e02e55
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/2003_externalize_session_config.patch
@@ -0,0 +1,72 @@
+Description: Externalize session config to yml in /etc
+Forwarded: not-needed
+Author: Jérémy Lal
+Last-Update: 2010-01-10
+--- redmine.orig/lib/tasks/initializers.rake
++++ redmine/lib/tasks/initializers.rake
+@@ -1,11 +1,12 @@
+ desc 'Generates a secret token for the application.'
++task :generate_secret_token do
+
+-file 'config/initializers/secret_token.rb' do
+- path = File.join(Rails.root, 'config', 'initializers', 'secret_token.rb')
+- secret = SecureRandom.hex(40)
+- File.open(path, 'w') do |f|
+- f.write <<"EOF"
+-# This file was generated by 'rake generate_secret_token', and should
++filename = ENV['YML_SESSION_FILENAME'] ? ENV['YML_SESSION_FILENAME'] : 'session.yml'
++path = File.join(ENV['RAILS_ETC'] ? ENV['RAILS_ETC'] : File.join(Rails.root, 'config'), filename)
++secret = SecureRandom.hex(40)
++File.open(path, 'w') do |f|
++ f.write <<"EOF"
++# This file was generated by 'rake generate_session_store',
+ # not be made visible to public.
+ # If you have a load-balancing Redmine cluster, you will need to use the
+ # same version of this file on each machine. And be sure to restart your
+@@ -15,10 +18,18 @@ file 'config/initializers/secret_token.r
+ # change this key, all old sessions will become invalid! Make sure the
+ # secret is at least 30 characters and all random, no regular words or
+ # you'll be exposed to dictionary attacks.
+-RedmineApp::Application.config.secret_token = '#{secret}'
++
++production:
++ key: _redmine_
++ secret: #{secret}
++
++development:
++ key: _redmine_
++ secret: #{secret}
++
++test:
++ key: _redmine_
++ secret: #{secret}
+ EOF
+ end
+ end
+-
+-desc 'Generates a secret token for the application.'
+-task :generate_secret_token => ['config/initializers/secret_token.rb']
+--- redmine.orig/config/application.rb
++++ redmine/config/application.rb
+@@ -66,7 +66,20 @@ module RedmineApp
+ # move tmp directory to RAILS_TMP
+ config.paths['tmp'] = ENV['RAILS_TMP']
+
+- config.session_store :cookie_store, :key => '_redmine_session'
++ # loads cookie based session session and secret keys
++ # this is needed here because initializers are loaded after plugins,
++ # and some plugins initialize ActionController which requires a secret to be set.
++ # crash if file not found
++ relativeUrlRoot = ENV['RAILS_RELATIVE_URL_ROOT']
++ filename = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'session.yml') : File.join(File.dirname(__FILE__), '..', 'session.yml')
++ if File.exists?(filename)
++ sessionconfig = YAML::load_file(filename)
++ config.session_store :cookie_store, :key => sessionconfig[Rails.env]['key'], :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
++ config.secret_token = sessionconfig[Rails.env]['secret']
++ else
++ # temporary settings before session.yml is created
++ config.session_store :cookie_store, :key => '_redmine_session', :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
++ end
+
+ # log path
+ config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
diff --git a/pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch b/pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch
new file mode 100644
index 00000000000..d9a6844a6a3
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch
@@ -0,0 +1,11 @@
+--- redmine.orig/lib/redmine/plugin.rb
++++ redmine/lib/redmine/plugin.rb
+@@ -47,7 +47,7 @@ module Redmine #:nodoc:
+ self.directory = File.join(Rails.root, 'plugins')
+
+ cattr_accessor :public_directory
+- self.public_directory = File.join(Rails.root, 'public', 'plugin_assets')
++ self.public_directory = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'plugin_assets') : File.join(Rails.root, 'public', 'plugin_assets')
+
+ @registered_plugins = {}
+ class << self
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
new file mode 100644
index 00000000000..7d83583c019
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -0,0 +1,152 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ actionmailer (3.2.19)
+ actionpack (= 3.2.19)
+ mail (~> 2.5.4)
+ actionpack (3.2.19)
+ activemodel (= 3.2.19)
+ activesupport (= 3.2.19)
+ builder (~> 3.0.0)
+ erubis (~> 2.7.0)
+ journey (~> 1.0.4)
+ rack (~> 1.4.5)
+ rack-cache (~> 1.2)
+ rack-test (~> 0.6.1)
+ sprockets (~> 2.2.1)
+ activemodel (3.2.19)
+ activesupport (= 3.2.19)
+ builder (~> 3.0.0)
+ activerecord (3.2.19)
+ activemodel (= 3.2.19)
+ activesupport (= 3.2.19)
+ arel (~> 3.0.2)
+ tzinfo (~> 0.3.29)
+ activeresource (3.2.19)
+ activemodel (= 3.2.19)
+ activesupport (= 3.2.19)
+ activesupport (3.2.19)
+ i18n (~> 0.6, >= 0.6.4)
+ multi_json (~> 1.0)
+ arel (3.0.3)
+ awesome_nested_set (2.1.6)
+ activerecord (>= 3.0.0)
+ builder (3.0.0)
+ capybara (2.1.0)
+ mime-types (>= 1.16)
+ nokogiri (>= 1.3.3)
+ rack (>= 1.0.0)
+ rack-test (>= 0.5.4)
+ xpath (~> 2.0)
+ childprocess (0.5.5)
+ ffi (~> 1.0, >= 1.0.11)
+ coderay (1.1.0)
+ erubis (2.7.0)
+ fastercsv (1.5.5)
+ ffi (1.9.5)
+ hike (1.2.3)
+ i18n (0.6.11)
+ journey (1.0.4)
+ jquery-rails (2.0.3)
+ railties (>= 3.1.0, < 5.0)
+ thor (~> 0.14)
+ json (1.8.1)
+ mail (2.5.4)
+ mime-types (~> 1.16)
+ treetop (~> 1.4.8)
+ metaclass (0.0.4)
+ mime-types (1.25.1)
+ mini_portile (0.6.0)
+ mocha (1.0.0)
+ metaclass (~> 0.0.1)
+ multi_json (1.10.1)
+ net-ldap (0.3.1)
+ nokogiri (1.6.3.1)
+ mini_portile (= 0.6.0)
+ pg (0.17.1)
+ polyglot (0.3.5)
+ rack (1.4.5)
+ rack-cache (1.2)
+ rack (>= 0.4)
+ rack-openid (1.4.2)
+ rack (>= 1.1.0)
+ ruby-openid (>= 2.1.8)
+ rack-ssl (1.3.4)
+ rack
+ rack-test (0.6.2)
+ rack (>= 1.0)
+ rails (3.2.19)
+ actionmailer (= 3.2.19)
+ actionpack (= 3.2.19)
+ activerecord (= 3.2.19)
+ activeresource (= 3.2.19)
+ activesupport (= 3.2.19)
+ bundler (~> 1.0)
+ railties (= 3.2.19)
+ railties (3.2.19)
+ actionpack (= 3.2.19)
+ activesupport (= 3.2.19)
+ rack-ssl (~> 1.3.2)
+ rake (>= 0.8.7)
+ rdoc (~> 3.4)
+ thor (>= 0.14.6, < 2.0)
+ rake (10.1.1)
+ rdoc (3.12.2)
+ json (~> 1.4)
+ redcarpet (2.3.0)
+ rmagick (2.13.3)
+ ruby-openid (2.3.0)
+ rubyzip (1.1.6)
+ selenium-webdriver (2.43.0)
+ childprocess (~> 0.5)
+ multi_json (~> 1.0)
+ rubyzip (~> 1.0)
+ websocket (~> 1.0)
+ shoulda (3.3.2)
+ shoulda-context (~> 1.0.1)
+ shoulda-matchers (~> 1.4.1)
+ shoulda-context (1.0.2)
+ shoulda-matchers (1.4.1)
+ activesupport (>= 3.0.0)
+ sprockets (2.2.2)
+ hike (~> 1.2)
+ multi_json (~> 1.0)
+ rack (~> 1.0)
+ tilt (~> 1.1, != 1.3.0)
+ thor (0.19.1)
+ tilt (1.4.1)
+ treetop (1.4.15)
+ polyglot
+ polyglot (>= 0.3.1)
+ tzinfo (0.3.41)
+ websocket (1.2.1)
+ xpath (2.0.0)
+ nokogiri (~> 1.3)
+ yard (0.8.7.4)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ activerecord-jdbc-adapter (~> 1.3.2)
+ activerecord-jdbcpostgresql-adapter
+ awesome_nested_set (= 2.1.6)
+ builder (= 3.0.0)
+ capybara (~> 2.1.0)
+ coderay (~> 1.1.0)
+ fastercsv (~> 1.5.0)
+ jquery-rails (~> 2.0.2)
+ mime-types
+ mocha (~> 1.0.0)
+ net-ldap (~> 0.3.1)
+ pg (>= 0.11.0)
+ rack-openid
+ rails (= 3.2.19)
+ rake (~> 10.1.1)
+ rdoc (>= 2.4.2)
+ redcarpet (~> 2.3.0)
+ rmagick (>= 2.0.0)
+ ruby-openid (~> 2.3.0)
+ selenium-webdriver
+ shoulda (~> 3.3.2)
+ yard
diff --git a/pkgs/applications/version-management/redmine/Gemfile.nix b/pkgs/applications/version-management/redmine/Gemfile.nix
new file mode 100644
index 00000000000..a7339097b14
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/Gemfile.nix
@@ -0,0 +1,332 @@
+[
+{
+name = "actionmailer";
+hash = "cd9f0b22f755b0adeae13cf949adaf63fa1c068c72d0a100572c6a11aecd3ba7";
+url = "http://rubygems.org/downloads/actionmailer-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "actionpack";
+hash = "c58ca2342aff2062f4f478551ce46d81918ac93200bc62d099764d2cd7499fcd";
+url = "http://rubygems.org/downloads/actionpack-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activemodel";
+hash = "4ea3abf790eca9ee8228e9e2a465350e258294270a639b63f0e1dfad236fe70e";
+url = "http://rubygems.org/downloads/activemodel-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activerecord";
+hash = "052945ad510744aaa3e35a817a6f515a2316e7dd96df6460f75b36067bb60372";
+url = "http://rubygems.org/downloads/activerecord-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activeresource";
+hash = "8617d24537ca937cc67aac46aaa29782510d66136605426d0a23a3585a839daf";
+url = "http://rubygems.org/downloads/activeresource-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activesupport";
+hash = "2c837a59250da14b12a6b0cfb6774f0afae90aa749fd96ad4347344d8417ad3d";
+url = "http://rubygems.org/downloads/activesupport-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "arel";
+hash = "c0006e2169deee3b8cc2d258296388822eeb2db59832450b9b7316e1387d0da4";
+url = "http://rubygems.org/downloads/arel-3.0.3.gem";
+version = "3.0.3";
+}
+{
+name = "awesome_nested_set";
+hash = "0dcd801aea5048f5ab907b62b4174b6763b191eaa4e1e11bb83f996f01349af8";
+url = "http://rubygems.org/downloads/awesome_nested_set-2.1.6.gem";
+version = "2.1.6";
+}
+{
+name = "builder";
+hash = "fbd3e15e5de02245f7d649b3415b2c2875cdc9a14dccde89aa30fc14a314618e";
+url = "http://rubygems.org/downloads/builder-3.0.0.gem";
+version = "3.0.0";
+}
+{
+name = "capybara";
+hash = "a9a19f8d6bb2dfcb1f05ea3e1727cb556d1cba0d234d1712b481e8d4f7bbb91e";
+url = "http://rubygems.org/downloads/capybara-2.1.0.gem";
+version = "2.1.0";
+}
+{
+name = "childprocess";
+hash = "9b583295a11932d2eeffa1e8f5b8fb2fb0064a2f0111ad98c3b752b94f80bf33";
+url = "http://rubygems.org/downloads/childprocess-0.5.5.gem";
+version = "0.5.5";
+}
+{
+name = "coderay";
+hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15";
+url = "http://rubygems.org/downloads/coderay-1.1.0.gem";
+version = "1.1.0";
+}
+{
+name = "erubis";
+hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba";
+url = "http://rubygems.org/downloads/erubis-2.7.0.gem";
+version = "2.7.0";
+}
+{
+name = "fastercsv";
+hash = "d098199e62e4e10eec436a9ea9b8c189dacd5c06f2825f00d1e0f1c29fdbc3b5";
+url = "http://rubygems.org/downloads/fastercsv-1.5.5.gem";
+version = "1.5.5";
+}
+{
+name = "ffi";
+hash = "0d2ef90163eef8545689e8dfc27fb1245a2d82e3500d587de1e38290629e662f";
+url = "http://rubygems.org/downloads/ffi-1.9.5.gem";
+version = "1.9.5";
+}
+{
+name = "hike";
+hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44";
+url = "http://rubygems.org/downloads/hike-1.2.3.gem";
+version = "1.2.3";
+}
+{
+name = "i18n";
+hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b";
+url = "http://rubygems.org/downloads/i18n-0.6.11.gem";
+version = "0.6.11";
+}
+{
+name = "journey";
+hash = "7454b8612530784000fbb17ea2df749a71b70702a0ac8ebef4a1e7f05aecc10f";
+url = "http://rubygems.org/downloads/journey-1.0.4.gem";
+version = "1.0.4";
+}
+{
+name = "jquery-rails";
+hash = "cc4eab342fb3b1fcbb2fc1c9a61b09ecd86d795b1f74d607994b0bc6fd5ef444";
+url = "http://rubygems.org/downloads/jquery-rails-2.0.3.gem";
+version = "2.0.3";
+}
+{
+name = "json";
+hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200";
+url = "http://rubygems.org/downloads/json-1.8.1.gem";
+version = "1.8.1";
+}
+{
+name = "mail";
+hash = "446585c38b062121252688dcc9cc70af1f470822e30db021bb97d185969e257c";
+url = "http://rubygems.org/downloads/mail-2.5.4.gem";
+version = "2.5.4";
+}
+{
+name = "metaclass";
+hash = "8569685c902108b1845be4e5794d646f2a8adcb0280d7651b600dab0844fe942";
+url = "http://rubygems.org/downloads/metaclass-0.0.4.gem";
+version = "0.0.4";
+}
+{
+name = "mime-types";
+hash = "88ef3c596481678710ffd4018fa40f1999b02d97babea39682ba7d5badd21f56";
+url = "http://rubygems.org/downloads/mime-types-1.25.1.gem";
+version = "1.25.1";
+}
+{
+name = "mini_portile";
+hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26";
+url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem";
+version = "0.6.0";
+}
+{
+name = "mocha";
+hash = "788fd93c8009a7e0eebd155509953e5987f4681902aad666a294283baa09899a";
+url = "http://rubygems.org/downloads/mocha-1.0.0.gem";
+version = "1.0.0";
+}
+{
+name = "multi_json";
+hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2";
+url = "http://rubygems.org/downloads/multi_json-1.10.1.gem";
+version = "1.10.1";
+}
+{
+name = "net-ldap";
+hash = "953551665fb0d398740a72a26314c6d34bd70fa35419c96dc58351f17d9a5081";
+url = "http://rubygems.org/downloads/net-ldap-0.3.1.gem";
+version = "0.3.1";
+}
+{
+name = "nokogiri";
+hash = "91761a654439406b5bed71adf6092d49829e26332b4c0e7c8a23a2e628442585";
+url = "http://rubygems.org/downloads/nokogiri-1.6.3.1.gem";
+version = "1.6.3.1";
+}
+{
+name = "pg";
+hash = "e7933e8f7f184c28e820ed85ddfb3ad8a13933b2b2ab8656aa8f81cb0aa610a6";
+url = "http://rubygems.org/downloads/pg-0.17.1.gem";
+version = "0.17.1";
+}
+{
+name = "polyglot";
+hash = "59d66ef5e3c166431c39cb8b7c1d02af419051352f27912f6a43981b3def16af";
+url = "http://rubygems.org/downloads/polyglot-0.3.5.gem";
+version = "0.3.5";
+}
+{
+name = "rack";
+hash = "f7bf3faa8e09a2ff26475372de36a724e7470d6bdc33d189a0ec34b49605f308";
+url = "http://rubygems.org/downloads/rack-1.4.5.gem";
+version = "1.4.5";
+}
+{
+name = "rack-cache";
+hash = "02bfed05f8b3266db804f2fa445801636ca2c6d211a3137ec796f88af5756e1c";
+url = "http://rubygems.org/downloads/rack-cache-1.2.gem";
+version = "1.2";
+}
+{
+name = "rack-openid";
+hash = "8cd2305e738463a7da98791f9ac4df4cf3f6ed27908d982350430694ac2fe869";
+url = "http://rubygems.org/downloads/rack-openid-1.4.2.gem";
+version = "1.4.2";
+}
+{
+name = "rack-ssl";
+hash = "d703764fa2a0d44a2163d6add65be89f5dba4477d1959b90d3727682a9c37dcf";
+url = "http://rubygems.org/downloads/rack-ssl-1.3.4.gem";
+version = "1.3.4";
+}
+{
+name = "rack-test";
+hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306";
+url = "http://rubygems.org/downloads/rack-test-0.6.2.gem";
+version = "0.6.2";
+}
+{
+name = "rails";
+hash = "33b64cf78dfcf3206d961ce03e8fe6d260081da696e60da39d0b2a4a160fe22b";
+url = "http://rubygems.org/downloads/rails-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "railties";
+hash = "c569009ee5c005190d208ac228087fdc094b10c6f0cf209f1d12c552b447cc10";
+url = "http://rubygems.org/downloads/railties-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "rake";
+hash = "85e446590871dd3469c80dfe70a0296c20b76a9006af6b728c1f47d0b460412d";
+url = "http://rubygems.org/downloads/rake-10.1.1.gem";
+version = "10.1.1";
+}
+{
+name = "rdoc";
+hash = "a8e2b78f7e5ec4cc4716cd863975645f2f2377dc6db267a15e427e5fae2633ed";
+url = "http://rubygems.org/downloads/rdoc-3.12.2.gem";
+version = "3.12.2";
+}
+{
+name = "redcarpet";
+hash = "5c9bcc307fba97ff5a25eec74f08365c17e929d2a5c707db32d6fc99ec81f0b9";
+url = "http://rubygems.org/downloads/redcarpet-2.3.0.gem";
+version = "2.3.0";
+}
+{
+name = "rmagick";
+hash = "109f3b8be90afdea9abbdd2a79a955cd808b5cad65d937ed12676da22870d3b4";
+url = "http://rubygems.org/downloads/rmagick-2.13.3.gem";
+version = "2.13.3";
+}
+{
+name = "ruby-openid";
+hash = "f69ed004e95f7094e23bfd8bc9ebfb1dc88a7b46637252ca2907a1189870ea7b";
+url = "http://rubygems.org/downloads/ruby-openid-2.3.0.gem";
+version = "2.3.0";
+}
+{
+name = "rubyzip";
+hash = "a996435ee9698be6a09d3748f4d23ee15aaf45cbfef1749def165af6ea3c0a9e";
+url = "http://rubygems.org/downloads/rubyzip-1.1.6.gem";
+version = "1.1.6";
+}
+{
+name = "selenium-webdriver";
+hash = "09fe4374d1541cb45403ad1238c2d88129f3afb985218635af087a06c99a521a";
+url = "http://rubygems.org/downloads/selenium-webdriver-2.43.0.gem";
+version = "2.43.0";
+}
+{
+name = "shoulda";
+hash = "52e70b71cbfb7c01dace14e268a62d86c21ddd1e5ec0116c8b1e632d8e04e412";
+url = "http://rubygems.org/downloads/shoulda-3.3.2.gem";
+version = "3.3.2";
+}
+{
+name = "shoulda-context";
+hash = "ee5559aa13248c70fdec6868a3c144adf7438c904c59d1a76b04a002e5151de5";
+url = "http://rubygems.org/downloads/shoulda-context-1.0.2.gem";
+version = "1.0.2";
+}
+{
+name = "shoulda-matchers";
+hash = "c35693cbfa84213212dffbc2c87487427ef364927340151329a842f0a06086b9";
+url = "http://rubygems.org/downloads/shoulda-matchers-1.4.1.gem";
+version = "1.4.1";
+}
+{
+name = "sprockets";
+hash = "fae893b7e86e83c1936f6f2a64db3550510f86eabdd5fa9f0f23fb25d7e0cf96";
+url = "http://rubygems.org/downloads/sprockets-2.2.2.gem";
+version = "2.2.2";
+}
+{
+name = "thor";
+hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522";
+url = "http://rubygems.org/downloads/thor-0.19.1.gem";
+version = "0.19.1";
+}
+{
+name = "tilt";
+hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903";
+url = "http://rubygems.org/downloads/tilt-1.4.1.gem";
+version = "1.4.1";
+}
+{
+name = "treetop";
+hash = "ffa68f201c0f62c26b0a1d13233d73194400596964696843f87ebb5d812f12ff";
+url = "http://rubygems.org/downloads/treetop-1.4.15.gem";
+version = "1.4.15";
+}
+{
+name = "tzinfo";
+hash = "381b22fd1744a35d0a0239f563f505773681e626e6d900063b14cb9b1b68e98c";
+url = "http://rubygems.org/downloads/tzinfo-0.3.41.gem";
+version = "0.3.41";
+}
+{
+name = "websocket";
+hash = "e626c8c3e8593735d900265fb1fc3439fd06b394069860177d8f40733b12ae9e";
+url = "http://rubygems.org/downloads/websocket-1.2.1.gem";
+version = "1.2.1";
+}
+{
+name = "xpath";
+hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12";
+url = "http://rubygems.org/downloads/xpath-2.0.0.gem";
+version = "2.0.0";
+}
+{
+name = "yard";
+hash = "e65a26f9b9dc6e2aa9b1d1d2e1a45bee3edf540a6a7e6c30fa6aa1df7f7a29b4";
+url = "http://rubygems.org/downloads/yard-0.8.7.4.gem";
+version = "0.8.7.4";
+}
+]
diff --git a/pkgs/applications/version-management/redmine/README b/pkgs/applications/version-management/redmine/README
new file mode 100644
index 00000000000..1cc4772568a
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/README
@@ -0,0 +1,6 @@
+to regenerate Gemfile.nix and Gemfile.lock you need to
+
+ % nix-build bootstrap.nix
+ % cp result/Gemfile.nix ./
+ % cp result/Gemfile.lock ./
+
diff --git a/pkgs/applications/version-management/redmine/bootstrap.nix b/pkgs/applications/version-management/redmine/bootstrap.nix
new file mode 100644
index 00000000000..4b4359603c9
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/bootstrap.nix
@@ -0,0 +1,45 @@
+{ pkgs ? import {}
+}:
+
+with pkgs;
+
+let
+
+in stdenv.mkDerivation rec {
+ version = "2.5.2";
+ name = "redmine-${version}";
+ __noChroot = true;
+ src = fetchurl {
+ url = "http://www.redmine.org/releases/${name}.tar.gz";
+ sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
+ };
+ buildInputs = [
+ ruby rubyLibs.bundler libiconv libxslt libxml2 pkgconfig
+ libffi imagemagickBig postgresql which stdenv
+ ];
+ installPhase = ''
+ unset http_proxy
+ unset ftp_proxy
+
+ cp -R . $out
+ cp ${./generate_nix_requirements.rb} $out/generate_nix_requirements.rb
+ cd $out
+
+ cat > config/database.yml < config/database.yml <> Gemfile
+
+ # make rails server happy
+ mkdir -p tmp/pids
+
+ # cleanup
+ rm config/database.yml
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://www.redmine.org/;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.garbas ];
+ license = licenses.gpl2;
+ };
+}
diff --git a/pkgs/applications/version-management/redmine/generate_nix_requirements.rb b/pkgs/applications/version-management/redmine/generate_nix_requirements.rb
new file mode 100644
index 00000000000..ed47d52c9c1
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/generate_nix_requirements.rb
@@ -0,0 +1,56 @@
+#!/usr/bin/env ruby
+
+require 'rubygems'
+require 'bundler'
+require 'fileutils'
+require 'net/http'
+require 'net/https'
+require 'uri'
+
+TMP_DIR = "/tmp/gems"
+
+FileUtils.rm_rf(TMP_DIR) if File.exists?(TMP_DIR)
+FileUtils.mkdir TMP_DIR
+
+GEMSERVER = "http://rubygems.org"
+
+# inspect Gemfile.lock
+lockfile = Bundler::LockfileParser.new(Bundler.read_file("Gemfile.lock"))
+
+to_mirror = {}
+
+uri = URI(GEMSERVER)
+http = Net::HTTP.new(uri.host, uri.port)
+http.use_ssl = uri.scheme == 'https'
+
+requirements = {}
+
+lockfile.specs.each do |s|
+ possible_gem_name = "#{s.name}-#{s.version.to_s}.gem"
+
+ Dir.chdir TMP_DIR do
+ filename = `gem fetch #{s.name} -v #{s.version.to_s}`.split()[1]
+ hash = `sha256sum #{filename}.gem`
+ url = "#{GEMSERVER}/downloads/#{filename}.gem"
+ puts url
+ requirements[s.name] = { :version => s.version.to_s,
+ :hash => hash.split().first,
+ :url => url,}
+
+ end
+end
+
+filename = 'Gemfile.nix'
+
+File.open(filename, 'w') do |file|
+ file.puts "["
+ requirements.each do |name, info|
+ file.puts "{"
+ file.puts ['name = ', '"', name, '";'].join('')
+ file.puts ['hash = ', '"', info[:hash], '";'].join('')
+ file.puts ['url = ', '"', info[:url], '";'].join('')
+ file.puts ['version = ', '"', info[:version], '";'].join('')
+ file.puts "}"
+ end
+ file.puts "]"
+end
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
new file mode 100644
index 00000000000..ced82dd45c0
--- /dev/null
+++ b/pkgs/applications/version-management/src/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, python, rcs, git }:
+
+stdenv.mkDerivation rec {
+ name = "src-0.13";
+
+ src = fetchurl {
+ url = "http://www.catb.org/~esr/src/${name}.tar.gz";
+ sha256 = "03x0slgi6bnzgfn7f9qbl6jma0pj7357kwdh832l3v8zafk41p51";
+ };
+
+ buildInputs = [ python ];
+
+ patches = [ ./path.patch ];
+
+ postPatch = ''
+ sed -i \
+ -e 's|@python@|${python}|' \
+ -e 's|@rcs@|${rcs}|' \
+ -e 's|@git@|${git}|' \
+ src srctest
+ '';
+
+ makeFlags = [ "prefix=$(out)" ];
+
+ doCheck = true;
+
+ meta = {
+ description = "Simple single-file revision control";
+
+ homepage = http://www.catb.org/~esr/src/;
+
+ license = [ stdenv.lib.licenses.bsd3 ];
+
+ maintainers = [ stdenv.lib.maintainers.shlevy ];
+
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/pkgs/applications/version-management/src/path.patch b/pkgs/applications/version-management/src/path.patch
new file mode 100644
index 00000000000..ef500c8e04e
--- /dev/null
+++ b/pkgs/applications/version-management/src/path.patch
@@ -0,0 +1,30 @@
+diff -Naur src-0.13-orig/src src-0.13/src
+--- src-0.13-orig/src 2014-11-24 03:56:16.000000000 -0500
++++ src-0.13/src 2014-11-26 16:32:32.925151003 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!@python@/bin/python
+ #
+ # src - simple revision control.
+ #
+@@ -51,6 +51,8 @@
+
+ import sys, os, subprocess, time, calendar, stat, glob, shutil, hashlib
+
++os.environ['PATH'] = "@rcs@/bin:@git@/bin:" + os.environ['PATH']
++
+ version="0.13"
+
+ def rfc3339(t):
+diff -Naur src-0.13-orig/srctest src-0.13/srctest
+--- src-0.13-orig/srctest 2014-11-21 08:12:00.000000000 -0500
++++ src-0.13/srctest 2014-11-26 16:33:13.627715388 -0500
+@@ -12,7 +12,7 @@
+
+ # Set the PATH to include the current directory, so the repository
+ # head version of src can always be tested.
+-PATH="$(pwd)":$PATH
++PATH="$(pwd)":@git@/bin:$PATH
+
+ trap "rm -fr $SANDBOX" 0 1 2 15
+
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 283ea759153..1ec4866f1aa 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -6,12 +6,12 @@
, javahlBindings ? false
, saslSupport ? false
, stdenv, fetchurl, apr, aprutil, zlib, sqlite
-, httpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
+, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
, sasl ? null, serf ? null
}:
assert bdbSupport -> aprutil.bdbSupport;
-assert httpServer -> httpd != null;
+assert httpServer -> apacheHttpd != null;
assert pythonBindings -> swig != null && python != null;
assert javahlBindings -> jdk != null && perl != null;
@@ -34,20 +34,18 @@ stdenv.mkDerivation rec {
configureFlags = ''
${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
- ${if httpServer then "--with-apxs=${httpd}/bin/apxs" else "--without-apxs"}
+ ${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"}
${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
${if stdenv.isDarwin then "--enable-keychain" else "--disable-keychain"}
- ${if saslSupport then "--enable-sasl --with-sasl=${sasl}" else "--disable-sasl"}
- ${if httpSupport then "--enable-serf --with-serf=${serf}" else "--disable-serf"}
+ ${if saslSupport then "--with-sasl=${sasl}" else "--without-sasl"}
+ ${if httpSupport then "--with-serf=${serf}" else "--without-serf"}
--with-zlib=${zlib}
--with-sqlite=${sqlite}
'';
preBuild = ''
makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules)
- '' + stdenv.lib.optionalString stdenv.isDarwin ''
- substituteInPlace configure --replace "-no-cpp-precomp" ""
'';
postInstall = ''
@@ -73,10 +71,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
- # Hack to build on Mac OS X. The system header files use C99-style
- # comments, but Subversion passes -std=c90.
- NIX_CFLAGS_COMPILE = "-std=c99";
-
meta = {
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
homepage = http://subversion.apache.org/;
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index b42e781704a..c32235a592f 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl
-, libX11, gettext, wxGTK
-, libiconv, fontconfig, freetype
+, libX11, wxGTK
+, libiconvOrEmpty, fontconfig, freetype
, mesa
, libass, fftw, ffms
, ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
@@ -29,18 +29,20 @@ stdenv.mkDerivation rec {
};
buildInputs = with stdenv.lib;
- [ intltool libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib icu boost boost.lib ]
- ++ optional spellChecking hunspell
- ++ optional automationSupport lua
- ++ optional openalSupport openal
- ++ optional alsaSupport alsaLib
- ++ optional pulseaudioSupport pulseaudio
- ++ optional portaudioSupport portaudio
- ;
+ [ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa
+ libass fftw ffms ffmpeg zlib icu boost boost.lib
+ ]
+ ++ libiconvOrEmpty
+ ++ optional spellChecking hunspell
+ ++ optional automationSupport lua
+ ++ optional openalSupport openal
+ ++ optional alsaSupport alsaLib
+ ++ optional pulseaudioSupport pulseaudio
+ ++ optional portaudioSupport portaudio
+ ;
- NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm -lGL";
- configureFlags = "--with-boost-libdir=${boost.lib}/lib/";
+ enableParallelBuilding = true;
postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub";
diff --git a/pkgs/applications/video/byzanz/add-amflags.patch b/pkgs/applications/video/byzanz/add-amflags.patch
new file mode 100644
index 00000000000..aeaa195798a
--- /dev/null
+++ b/pkgs/applications/video/byzanz/add-amflags.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile.am b/Makefile.am
+index 6eedb51..7b54313 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,7 @@
+ SUBDIRS = macros data gifenc src po
+
++ACLOCAL_AMFLAGS = -I macros
++
+ EXTRA_DIST = \
+ MAINTAINERS \
+ depcomp \
diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix
new file mode 100644
index 00000000000..69b0ffbe131
--- /dev/null
+++ b/pkgs/applications/video/byzanz/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, which, gnome3_12, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1 }:
+
+stdenv.mkDerivation rec {
+ version = "0.2.3.alpha";
+ name = "byzanz-${version}";
+
+ src = fetchgit {
+ url = git://github.com/GNOME/byzanz;
+ rev = "1875a7f6a3903b83f6b1d666965800f47db9286a";
+ sha256 = "1b7hyilwj9wf2ri5zq63889bvskagdnqjc91hvyjmx1aj7vdkzd4";
+ };
+
+ patches = [ ./add-amflags.patch ];
+
+ preBuild = ''
+ ./autogen.sh --prefix=$out
+ '';
+
+ buildInputs = [ which gnome3_12.gnome_common glib intltool pkgconfig libtool cairo gtk3 gst_all_1.gstreamer gst_all_1.gst-plugins-base ];
+
+ meta = with stdenv.lib; {
+ description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";
+ homepage = https://github.com/GNOME/byzanz;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.DamienCassou ];
+ };
+}
diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix
index 8287cb9121e..94ec79e70d6 100644
--- a/pkgs/applications/video/cinelerra/default.nix
+++ b/pkgs/applications/video/cinelerra/default.nix
@@ -4,7 +4,7 @@
, libtiff, freetype, mjpegtools, x264, gettext, openexr
, libXext, libXxf86vm, libXv, libXi, libX11, xextproto, libtheora, libpng
, libdv, libuuid, file, nasm, perl }:
-
+
stdenv.mkDerivation {
name = "cinelerra-git";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
# # END
src = fetchgit {
- url = "git://git.cinelerra.org/j6t/cinelerra.git";
+ url = "git://git.cinelerra-cv.org/j6t/cinelerra.git";
rev = "01dc4375a0fb65d10dd95151473d0e195239175f";
sha256 = "afb406a5637e4d0afad94e62ffd3af5b61e39f75aba9c08521523d00a0a5fec5";
};
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
perl
];
- meta = {
+ meta = {
description = "Video Editor";
homepage = http://www.cinelerra.org;
maintainers = [ stdenv.lib.maintainers.marcweber ];
diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix
index 879fa08ea38..5a519e231c8 100644
--- a/pkgs/applications/video/gnash/default.nix
+++ b/pkgs/applications/video/gnash/default.nix
@@ -30,12 +30,11 @@ stdenv.mkDerivation rec {
patch -p1 < ${patch_CVE}
# Add all libs to `macros/libslist', a list of library search paths.
- for lib in ${lib.concatStringsSep " "
- (map (lib: "\"${lib}\"/lib")
- (buildInputs ++ [stdenv.glibc]))}
- do
+ libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
+ for lib in $libs; do
echo -n "$lib " >> macros/libslist
done
+ echo -n "${stdenv.glibc}/lib" >> macros/libslist
# Make sure to honor $TMPDIR, for chroot builds.
for file in configure gui/Makefile.in Makefile.in
@@ -54,7 +53,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
gst_ffmpeg speex libtool
- libogg libxml2 libjpeg mesa libpng libungif boost boost.lib freetype agg
+ libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
dbus curl pkgconfig glib gtk gtkglext pangox_compat
xulrunner
makeWrapper
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index 8c51c4f35a3..e3e52425ebd 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
name = "kdenlive-${version}";
- version = "0.9.8";
+ version = "0.9.10";
src = fetchurl {
url = "mirror://kde/stable/kdenlive/${version}/src/${name}.tar.bz2";
- sha256 = "17x5srgywcwlbpbs598jwwc62l8313n4dbqx3sdk7p6lyvwk3jln";
+ sha256 = "0qxpxnfbr8g6xq0h32skgqqi2xylrv2bnmyx5x1cws9y2wwxp3zn";
};
buildInputs = [
diff --git a/pkgs/applications/video/makemkv/builder.sh b/pkgs/applications/video/makemkv/builder.sh
index e4cfcf3d906..0f5f853c28d 100644
--- a/pkgs/applications/video/makemkv/builder.sh
+++ b/pkgs/applications/video/makemkv/builder.sh
@@ -4,6 +4,7 @@ set -x
lib=" \
makemkv-oss-${ver}/out/libdriveio.so.0 \
makemkv-oss-${ver}/out/libmakemkv.so.1 \
+ makemkv-oss-${ver}/out/libmmbd.so.0 \
"
bin=" \
@@ -16,7 +17,8 @@ tar xzf ${src_oss}
(
cd makemkv-oss-${ver}
- make -f makefile.linux
+ ./configure --prefix=$out
+ make
)
chmod +x ${bin}
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index bec9d85aefd..9f360e964af 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -1,28 +1,28 @@
{ stdenv, fetchurl
-, openssl, qt4, mesa, zlib
+, openssl, qt4, mesa, zlib, pkgconfig, libav
}:
stdenv.mkDerivation rec {
name = "makemkv-${ver}";
- ver = "1.8.0";
+ ver = "1.9.0";
builder = ./builder.sh;
src_bin = fetchurl {
url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
- sha256 = "1f465rdv5ibnh5hnfmvmlid0yyzkansjw8l1mi5qd3bc6ca4k30c";
+ sha256 = "1rcvg7a1h59mfwsl5w0fr89m101pkqm9vgj06dl91hkgp5nh3wah";
};
src_oss = fetchurl {
url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
- sha256 = "0kj1mpkzz2cvi0ibdgdzfwbh9k2jfj3ra5m3hd7iyc5ng21v4sk3";
+ sha256 = "0415gw2nacb57sz5m0hcaznynmznc6v8qb6028qnsqgv39d4w8f8";
};
- buildInputs = [openssl qt4 mesa zlib];
+ buildInputs = [openssl qt4 mesa zlib pkgconfig libav];
libPath = stdenv.lib.makeLibraryPath [stdenv.gcc.gcc openssl mesa qt4 zlib ]
+ ":" + stdenv.gcc.gcc + "/lib64";
- meta = {
+ meta = with stdenv.lib; {
description = "convert blu-ray and dvd to mkv";
longDescription = ''
makemkv is a one-click QT application that transcodes an encrypted
@@ -33,7 +33,8 @@ stdenv.mkDerivation rec {
can always download the latest version from makemkv.com that will reset the
expiration date.
'';
- license = stdenv.lib.licenses.unfree;
+ license = licenses.unfree;
homepage = http://makemkv.com;
+ maintainers = [ maintainers.titanous ];
};
}
diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix
index 7572bedc1e0..cd203391749 100644
--- a/pkgs/applications/video/miro/default.nix
+++ b/pkgs/applications/video/miro/default.nix
@@ -3,8 +3,13 @@
, taglib, pysqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
, gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
+, enableBonjour ? false, avahi ? null
}:
+assert enableBonjour -> avahi != null;
+
+with stdenv.lib;
+
buildPythonPackage rec {
name = "miro-${version}";
namePrefix = "";
@@ -37,6 +42,9 @@ buildPythonPackage rec {
c RESOURCE_ROOT = '"'$out/share/miro/resources/'"'
}' \
plat/resources.py
+ '' + optionalString enableBonjour ''
+ sed -i -e 's|ctypes.cdll.LoadLibrary( *|ctypes.CDLL("${avahi}/lib/" +|' \
+ ../lib/libdaap/pybonjour.py
'';
# Disabled for now, because it requires networking and even if we skip those
@@ -69,13 +77,13 @@ buildPythonPackage rec {
pygobject pygtk pycurl python.modules.sqlite3 mutagen pycairo pythonDBus
pywebkitgtk libtorrentRasterbar
gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
- ];
+ ] ++ optional enableBonjour avahi;
meta = {
homepage = "http://www.getmiro.com/";
description = "Video and audio feed aggregator";
- license = stdenv.lib.licenses.gpl2Plus;
- maintainers = [ stdenv.lib.maintainers.aszlig ];
- platforms = stdenv.lib.platforms.linux;
+ license = licenses.gpl2Plus;
+ maintainers = [ maintainers.aszlig ];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 567821ba361..a6c2ff0b822 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -15,12 +15,12 @@
}:
stdenv.mkDerivation rec {
- version = "7.2.0";
+ version = "7.3.0";
name = "mkvtoolnix-${version}";
src = fetchurl {
url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
- sha256 = "1bpmd37y2v4icv9iqjv3p4kr62jbdng2ar8vpiij3bdgwrjc6gv1";
+ sha256 = "086lg64pki6mz00h0a735hgvz4347zbcp3wz384sigqndn99zc1c";
};
buildInputs = [
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
expat wxGTK zlib ruby gettext pkgconfig curl
];
- configureFlags = "--with-boost-libdir=${boost}/lib";
buildPhase = ''
ruby ./drake
'';
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index c58ac268b67..5acdcac9737 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -20,7 +20,7 @@
# For screenshots
, libpngSupport ? true, libpng ? null
# for Youtube support
-, quviSupport ? false, libquvi ? null
+, youtubeSupport ? false, youtubeDL ? null
, cacaSupport ? false, libcaca ? null
, vaapiSupport ? false, libva ? null
}:
@@ -41,7 +41,7 @@ assert jackaudioSupport -> jack2 != null;
assert pulseSupport -> pulseaudio != null;
assert bs2bSupport -> libbs2b != null;
assert libpngSupport -> libpng != null;
-assert quviSupport -> libquvi != null;
+assert youtubeSupport -> youtubeDL != null;
assert cacaSupport -> libcaca != null;
# Purity problem: Waf needed to be is downloaded by bootstrap.py
@@ -50,23 +50,23 @@ assert cacaSupport -> libcaca != null;
let
waf = fetchurl {
- url = http://ftp.waf.io/pub/release/waf-1.7.16;
- sha256 = "b64dc26c882572415fd450b745006107965f3fe17b357e3eb43d6676c9635a61";
+ url = http://ftp.waf.io/pub/release/waf-1.8.1;
+ sha256 = "ec658116ba0b96629d91fde0b32321849e866e0819f1e835c4c2c7f7ffe1a21d";
};
in
stdenv.mkDerivation rec {
name = "mpv-${version}";
- version = "0.5.4";
+ version = "0.7.0";
src = fetchurl {
url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
- sha256 = "1n992nvylnh27jc6425daasq0nsxjfc1mxhhlhvlwzxm724x94xp";
+ sha256 = "0rz8dp44yag442gamaa2vdmf69h25gqh2bgybx89prkfh8n4hy8x";
};
buildInputs = with stdenv.lib;
- [ waf python3 lua perl freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
+ [ python3 lua perl freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
++ optional alsaSupport alsaLib
++ optional xvSupport libXv
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
++ optional speexSupport speex
++ optional bs2bSupport libbs2b
++ optional libpngSupport libpng
- ++ optional quviSupport libquvi
+ ++ optional youtubeSupport youtubeDL
++ optional sdl2Support SDL2
++ optional cacaSupport libcaca
++ optional vaapiSupport libva
@@ -126,6 +126,5 @@ stdenv.mkDerivation rec {
}
# TODO: Wayland support
-# TODO: investigate libquvi problems (related to Youtube support)
# TODO: investigate caca support
# TODO: investigate lua5_sockets bug
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index a4fe07b2d05..2bc635d510e 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,22 +1,32 @@
{ stdenv, fetchurl, which, qt4, x11, pulseaudio, fftwSinglePrec
, lame, zlib, mesa, alsaLib, freetype, perl, pkgconfig
, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm, libXmu
+, yasm, libuuid, taglib, libtool, autoconf, automake, file
}:
stdenv.mkDerivation rec {
- name = "mythtv-0.24.2";
+ name = "mythtv-${version}";
+ version = "0.27.4";
src = fetchurl {
- url = "http://ftp.osuosl.org/pub/mythtv/${name}.tar.bz2";
- sha256 = "14mkyf2b26pc9spx6lg15mml0nqyg1r3qnq8m9dz3110h771y2db";
+ url = "https://github.com/MythTV/mythtv/archive/v${version}.tar.gz";
+ sha256 = "0nrn4fbkkzh43n7jgbv21i92sb4z4yacwj9yj6m3hjbffzy4ywqz";
};
+ sourceRoot = "${name}/mythtv";
+
buildInputs = [
freetype qt4 lame zlib x11 mesa perl alsaLib pulseaudio fftwSinglePrec
libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
+ libuuid taglib
];
+ nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ];
- nativeBuildInputs = [ pkgconfig which ];
-
- patches = [ ./settings.patch ];
+ meta = with stdenv.lib; {
+ homepage = "https://www.mythtv.org/";
+ description = "Open Source DVR";
+ license = licenses.gpl2;
+ meta.platforms = platforms.linux;
+ maintainers = [ maintainers.titanous ];
+ };
}
diff --git a/pkgs/applications/video/mythtv/settings.patch b/pkgs/applications/video/mythtv/settings.patch
deleted file mode 100644
index ec1e7009792..00000000000
--- a/pkgs/applications/video/mythtv/settings.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 05db819..383036d 100644
---- a/Makefile
-+++ b/Makefile
-@@ -53,7 +53,7 @@ i18n/Makefile: i18n/i18n.pro
- locales/Makefile: locales/locales.pro
-
- $(addsuffix /Makefile,$(QT_SUBDIRS)): %/Makefile :
-- cd $*; $(QMAKE) QMAKE=$(QMAKE) -o $(@F) $( dbus_libs != null;
@@ -32,6 +33,7 @@ assert usbSupport -> libusb != null && ! udevSupport; # libusb won't be used i
assert sambaSupport -> samba != null;
assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport;
assert pulseSupport -> pulseaudio != null;
+assert cecSupport -> libcec != null;
stdenv.mkDerivation rec {
name = "xbmc-13.2";
@@ -65,7 +67,8 @@ stdenv.mkDerivation rec {
++ lib.optional usbSupport libusb
++ lib.optional sambaSupport samba
++ lib.optional vdpauSupport libvdpau
- ++ lib.optional pulseSupport pulseaudio;
+ ++ lib.optional pulseSupport pulseaudio
+ ++ lib.optional cecSupport libcec;
dontUseCmakeConfigure = true;
@@ -91,15 +94,16 @@ stdenv.mkDerivation rec {
--prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
--prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
--prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \
- --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib"
+ --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \
+ --prefix LD_LIBRARY_PATH ":" "${libcec}/lib"
done
'';
- meta = {
+ meta = with stdenv.lib; {
homepage = http://xbmc.org/;
description = "Media center";
- license = "GPLv2";
- platforms = stdenv.lib.platforms.linux;
- maintainers = [ stdenv.lib.maintainers.iElectric ];
+ license = stdenv.lib.licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.iElectric maintainers.titanous ];
};
}
diff --git a/pkgs/applications/video/xbmc/plugins.nix b/pkgs/applications/video/xbmc/plugins.nix
index d34fba9ade7..f1d4d50f37d 100644
--- a/pkgs/applications/video/xbmc/plugins.nix
+++ b/pkgs/applications/video/xbmc/plugins.nix
@@ -16,7 +16,9 @@ let
installPhase = ''
d=$out${pluginDir}/${namespace}
mkdir -p $d
- cp -R $src/* $d
+ sauce="."
+ [ -d ${namespace} ] && sauce=${namespace}
+ cp -R $sauce/* $d
'';
};
@@ -53,17 +55,39 @@ in
};
+ genesis = mkXBMCPlugin rec {
+
+ plugin = "genesis";
+ namespace = "plugin.video.genesis";
+ version = "2.1.3";
+
+ src = fetchFromGitHub {
+ owner = "lambda81";
+ repo = "lambda-xbmc-addons";
+ rev = "f8aa34064bf31fffbb3c264af32c66bbdaf0a59e";
+ sha256 = "0d197fd6n3m9knpg38frnmfhqyabvh00ridpmikyw4vzk3hx11km";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "http://forums.tvaddons.ag/forums/148-lambda-s-xbmc-addons";
+ description = "The origins of streaming";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ };
+
+ };
+
svtplay = mkXBMCPlugin rec {
plugin = "svtplay";
namespace = "plugin.video.svtplay";
- version = "4.0.6";
+ version = "4.0.9";
src = fetchFromGitHub {
owner = "nilzen";
repo = "xbmc-" + plugin;
- rev = "4f27254edbd6dc48350152832833c5b164ca58de";
- sha256 = "11r8vljpx9fxwdx20cvkb5szlaypfrn6c235jwcg61s4hmjy4kl8";
+ rev = "29a754e49584d1ca32f0c07b87304669cf266bb0";
+ sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz";
};
meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/xbmc/wrapper.nix b/pkgs/applications/video/xbmc/wrapper.nix
index b1017c7098c..90413c1769a 100644
--- a/pkgs/applications/video/xbmc/wrapper.nix
+++ b/pkgs/applications/video/xbmc/wrapper.nix
@@ -28,8 +28,15 @@ stdenv.mkDerivation {
do
$(ln -s $share $out/share/xbmc/.)
done)
- makeWrapper ${xbmc}/bin/xbmc $out/bin/xbmc \
+ $(for passthrough in icons xsessions applications
+ do
+ ln -s ${xbmc}/share/$passthrough $out/share/
+ done)
+ $(for exe in xbmc{,-standalone}
+ do
+ makeWrapper ${xbmc}/bin/$exe $out/bin/$exe \
--prefix XBMC_HOME : $out/share/xbmc;
+ done)
'';
preferLocalBuilds = true;
diff --git a/pkgs/applications/video/zdfmediathk/default.nix b/pkgs/applications/video/zdfmediathk/default.nix
new file mode 100644
index 00000000000..105bbbfbacd
--- /dev/null
+++ b/pkgs/applications/video/zdfmediathk/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, unzip, jre }:
+
+with stdenv;
+
+mkDerivation rec {
+
+ version = "8";
+ name = "zdfmediathk";
+ src = fetchurl {
+ url = "http://downloads.sourceforge.net/project/zdfmediathk/Mediathek/Mediathek%208/MediathekView_${version}.zip";
+ sha256 = "1sglzk8zh6cyijyw82k49yqzjv0ywglp03w09s7wr4mzk48mfjj9";
+ };
+
+ buildInputs = [ unzip ];
+
+ unpackPhase = "unzip $src";
+
+ installPhase = ''
+ mkdir -p $out/{lib,bin,share/{doc,licenses}}
+ install -m644 MediathekView.jar $out/
+ install -m644 -t $out/lib lib/*
+ install -m755 bin/flv.sh $out/bin/
+ install -m644 -t $out/share/doc Anleitung/*.pdf
+ install -m644 -t $out/share/licenses Copyright/{*.*,_copyright}
+ bin="$out/bin/mediathek"
+ cat >> "$bin" << EOF
+ #!/bin/sh
+ exec ${jre}/bin/java -cp "$out/lib/*" -Xms128M -Xmx1G -jar "$out/MediathekView.jar" "\$@"
+ EOF
+ chmod +x "$bin"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
+ homepage = "http://zdfmediathk.sourceforge.net/";
+ license = licenses.gpl3;
+ maintainers = [ maintainers.flosse ];
+ platforms = platforms.all;
+ };
+
+}
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index a3e7a5b2994..914114467e6 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -2,7 +2,7 @@
, pkgconfig, libtool
, gtk, mesa, readline, libX11, libXpm
, docbook_xml_dtd_45, docbook_xsl
-, sdlSupport ? true, SDL ? null
+, sdlSupport ? true, SDL2 ? null
, termSupport ? true , ncurses ? null
, wxSupport ? false, wxGTK ? null # Warning! Broken
# Optional, undocumented dependencies
@@ -10,7 +10,7 @@
, curlSupport ? false, curl ? null
}:
-assert sdlSupport -> (SDL != null);
+assert sdlSupport -> (SDL2 != null);
assert termSupport -> (ncurses != null);
assert wxSupport -> (gtk != null && wxGTK != null);
assert wgetSupport -> (wget != null);
@@ -19,11 +19,11 @@ assert curlSupport -> (curl != null);
stdenv.mkDerivation rec {
name = "bochs-${version}";
- version = "2.6.6";
+ version = "2.6.7";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/bochs/bochs/${version}/${name}.tar.gz";
- sha256 = "0nlrl218x93vz97n46aw2szsalx97r020mn43fjsif100v7zix6f";
+ sha256 = "10l2pgzwnmng0rd44kqv7y46nwpcc18j53h3kf3dlqlnd7mlwdd4";
};
# The huge list of configurable options
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
buildInputs = with stdenv.lib;
[ pkgconfig libtool gtk mesa readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
++ optionals termSupport [ ncurses ]
- ++ optionals sdlSupport [ SDL ]
+ ++ optionals sdlSupport [ SDL2 ]
++ optionals wxSupport [ wxGTK ]
++ optionals wgetSupport [ wget ]
++ optionals curlSupport [ curl ];
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
"--enable-raw-serial=no" ]
# Boolean flags
++ stdenv.lib.optional termSupport "--with-term"
- ++ stdenv.lib.optional sdlSupport "--with-sdl"
+ ++ stdenv.lib.optional sdlSupport "--with-sdl2"
++ stdenv.lib.optional wxSupport "--with-wx"
++ stdenv.lib.optional largefile "--enable-largefile"
++ stdenv.lib.optional idleHack "--enable-idle-hack"
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index dafc093bf05..354666f3374 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -3,11 +3,11 @@ btrfsProgs, iptables, bash, e2fsprogs, xz}:
stdenv.mkDerivation rec {
name = "docker-${version}";
- version = "1.2.0";
+ version = "1.3.1";
src = fetchurl {
url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz";
- sha256 = "1nk74p9k17bllgw4992ixx7z3w87icp2wabbpbgfyi20k2q9mayp";
+ sha256 = "0w1gz1apkcrmhgng2rkkzy7wmxm68zgs6a16bi4cx3a38n4mgday";
};
buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables e2fsprogs];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
buildPhase = ''
patchShebangs ./hack
export AUTO_GOPATH=1
- export DOCKER_GITCOMMIT="fa7b24f"
+ export DOCKER_GITCOMMIT="c78088f"
./hack/make.sh dynbinary
'';
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 1da4a521da7..b49bd40136f 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -7,10 +7,10 @@ with stdenv.lib;
let sourceInfo = rec {
baseName="virt-viewer";
- version="0.6.0";
+ version="1.0";
name="${baseName}-${version}";
url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
- hash="0svalnr6k8rjadysnxixygk3bdx04asmwx75bhrbljyicba216v6";
+ hash="09sf1xzvw2yysv4c1jkqlzrazdg501r4j12hiwjdzk5swk6lppw0";
}; in
stdenv.mkDerivation {
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 309cfe1f35a..cbdf13b2158 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -4,14 +4,16 @@
, xorriso, makeself, perl, pkgconfig
, javaBindings ? false, jdk ? null
, pythonBindings ? false, python ? null
-, enableExtensionPack ? false, requireFile ? null, patchelf ? null
+, enableExtensionPack ? false, requireFile ? null, patchelf ? null, fakeroot ? null
+, pulseSupport ? false, pulseaudio ? null
+, enableHardening ? true
}:
with stdenv.lib;
let
- version = "4.3.16"; # changes ./guest-additions as well
+ version = "4.3.20"; # changes ./guest-additions as well
forEachModule = action: ''
for mod in \
@@ -31,13 +33,13 @@ let
'';
# See https://github.com/NixOS/nixpkgs/issues/672 for details
- extpackRevision = "95972";
+ extpackRevision = "96996";
extensionPack = requireFile rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
# IMPORTANT: Hash must be base16 encoded because it's used as an input to
# VBoxExtPackHelperApp!
# Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
- sha256 = "93b01ac2c575388ea6ae994450907c24e30a788c271ae9ff18512a06f28d9abd";
+ sha256 = "7e1253f7013e9cdc84a614a0db38b40de7bbd330cb5b85bd3ef3de213773450d";
message = ''
In order to use the extension pack, you need to comply with the VirtualBox Personal Use
and Evaluation License (PUEL) by downloading the related binaries from:
@@ -56,7 +58,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
- sha256 = "99c32e646dbc93cbf4cc0b62ca6c1d24113a295fd758dc15724c14908dd6dcb3";
+ sha256 = "1484f8e9993ec4fe3892c5165db84d238713d2506e147ed8236541ece642e965";
};
buildInputs =
@@ -64,7 +66,8 @@ in stdenv.mkDerivation {
libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl
pkgconfig which libXmu ]
++ optional javaBindings jdk
- ++ optional pythonBindings python;
+ ++ optional pythonBindings python
+ ++ optional pulseSupport pulseaudio;
prePatch = ''
set -x
@@ -75,33 +78,46 @@ in stdenv.mkDerivation {
-i configure
ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
- find . -type f | xargs sed 's/depmod -a/true/' -i
+ find . -type f -iname '*makefile*' -exec sed -i -e 's/depmod -a/:/g' {} +
sed -e 's@"libasound.so.2"@"${alsaLib}/lib/libasound.so.2"@g' -i src/VBox/Main/xml/Settings.cpp src/VBox/Devices/Audio/alsa_stubs.c
export USER=nix
set +x
'';
+ patches = optional enableHardening ./hardened.patch;
+
configurePhase = ''
sourcedir="$(pwd)"
+ cat >> LocalConfig.kmk <> AutoConfig.kmk << END_PATHS
- VBOX_PATH_APP_PRIVATE := $out
- VBOX_PATH_APP_DOCS := $out/doc
- ${optionalString javaBindings ''
- VBOX_JAVA_HOME := ${jdk}
- ''}
- END_PATHS
- echo "VBOX_WITH_DOCS :=" >> LocalConfig.kmk
- echo "VBOX_WITH_WARNINGS_AS_ERRORS :=" >> LocalConfig.kmk
'';
enableParallelBuilding = true;
@@ -114,6 +130,7 @@ in stdenv.mkDerivation {
installPhase = ''
libexec=$out/libexec/virtualbox
+ share=$out/share/virtualbox
# Install VirtualBox files
cd out/linux.*/release/bin
@@ -130,12 +147,15 @@ in stdenv.mkDerivation {
done
${optionalString enableExtensionPack ''
+ mkdir -p "$share"
+ "${fakeroot}/bin/fakeroot" "${stdenv.shell}" <Stat.st_mode & S_ISVTX && !suplibHardenedStrCmp(pszPath, "/nix/store"));
+ #endif
+ if (fBad)
+ return supR3HardenedSetError3(VERR_SUPLIB_WRITE_NON_SYS_GROUP, pErrInfo,
+@@ -1424,9 +1424,10 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
+ }
+
+ /*
+- * World must not have write access. There is no relaxing this rule.
++ * World must not have write access.
++ * There is no relaxing this rule, except when it comes to the Nix store.
+ */
+- if (pFsObjState->Stat.st_mode & S_IWOTH)
++ if (pFsObjState->Stat.st_mode & S_IWOTH && suplibHardenedStrCmp(pszPath, "/nix/store"))
+ return supR3HardenedSetError3(VERR_SUPLIB_WORLD_WRITABLE, pErrInfo,
+ "World writable: '", pszPath, "'");
+
+diff --git a/src/VBox/Main/src-server/MachineImpl.cpp b/src/VBox/Main/src-server/MachineImpl.cpp
+index 95dc9a7..39170bc 100644
+--- a/src/VBox/Main/src-server/MachineImpl.cpp
++++ b/src/VBox/Main/src-server/MachineImpl.cpp
+@@ -7326,7 +7326,7 @@ HRESULT Machine::i_launchVMProcess(IInternalSessionControl *aControl,
+
+ /* get the path to the executable */
+ char szPath[RTPATH_MAX];
+- RTPathAppPrivateArch(szPath, sizeof(szPath) - 1);
++ RTStrCopy(szPath, sizeof(szPath) - 1, "/var/setuid-wrappers");
+ size_t cchBufLeft = strlen(szPath);
+ szPath[cchBufLeft++] = RTPATH_DELIMITER;
+ szPath[cchBufLeft] = 0;
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 26987565636..713ca591578 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -2,7 +2,8 @@
, xlibs, libstartup_notification, libxdg_basedir, libpthreadstubs
, xcb-util-cursor, lgi, makeWrapper, pango, gobjectIntrospection, unclutter
, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, rxvt_unicode
-, which, dbus, nettools, git, asciidoc, doxygen }:
+, which, dbus, nettools, git, asciidoc, doxygen, xmlto, docbook_xml_dtd_45
+, docbook_xsl }:
let
version = "3.5.5";
@@ -52,8 +53,11 @@ stdenv.mkDerivation rec {
xlibs.xcbutilkeysyms
xlibs.xcbutilrenderutil
xlibs.xcbutilwm
+ xmlto docbook_xml_dtd_45 docbook_xsl
];
+ cmakeFlags = "-DGENERATE_MANPAGES=ON";
+
LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib";
GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0";
LUA_CPATH = "${lgi}/lib/lua/5.1/?.so";
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index b5869ccaf8d..39705aca116 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil,
- xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl,
- xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy }:
+{ fetchurl, stdenv, which, pkgconfig, makeWrapper, libxcb, xcbutilkeysyms
+, xcbutil, xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl
+, xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy }:
stdenv.mkDerivation rec {
name = "i3-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm
+ which pkgconfig makeWrapper libxcb xcbutilkeysyms xcbutil xcbutilwm
libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango
perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun
perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC
@@ -32,6 +32,10 @@ stdenv.mkDerivation rec {
configurePhase = "makeFlags=PREFIX=$out";
+ postInstall = ''
+ wrapProgram "$out/bin/i3-save-tree" --prefix PERL5LIB ":" "$PERL5LIB"
+ '';
+
meta = with stdenv.lib; {
description = "A tiling window manager";
homepage = "http://i3wm.org";
diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix
index e3fa4f9fc71..c88603892b5 100644
--- a/pkgs/applications/window-managers/larswm/default.nix
+++ b/pkgs/applications/window-managers/larswm/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
meta = {
homepage = http://larswm.fnurt.net/;
description = "9wm-like tiling window manager";
- license = "free";
+ license = stdenv.lib.licenses.free;
};
}
diff --git a/pkgs/applications/window-managers/stumpwm/contrib.nix b/pkgs/applications/window-managers/stumpwm/contrib.nix
new file mode 100644
index 00000000000..dc707983811
--- /dev/null
+++ b/pkgs/applications/window-managers/stumpwm/contrib.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit }:
+
+let
+ tag = "0.9.8";
+in
+
+stdenv.mkDerivation rec {
+ name = "stumpwmContrib-${tag}";
+
+ src = fetchgit {
+ url = "https://github.com/stumpwm/stumpwm";
+ rev = "refs/tags/${tag}";
+ sha256 = "0a0lwwlly4hlmb30bk6dmi6bsdsy37g4crvv1z24gixippyv1qzm";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp -a $src/contrib $out/
+ cp -a $src/contrib/stumpish $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Extension modules for the StumpWM";
+ homepage = https://github.com/stumpwm/;
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ _1126 ];
+ platforms = platforms.linux;
+ };
+}
\ No newline at end of file
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
new file mode 100644
index 00000000000..03c24ff545e
--- /dev/null
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, pkgs, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4, makeWrapper, stumpwmContrib }:
+
+let
+ tag = "0.9.8";
+in
+
+stdenv.mkDerivation rec {
+ name = "stumpwm-${tag}";
+
+ src = fetchgit {
+ url = "https://github.com/stumpwm/stumpwm";
+ rev = "refs/tags/${tag}";
+ sha256 = "0a0lwwlly4hlmb30bk6dmi6bsdsy37g4crvv1z24gixippyv1qzm";
+ };
+
+ buildInputs = [ texinfo4 autoconf lispPackages.clx lispPackages.cl-ppcre sbcl makeWrapper stumpwmContrib ];
+
+ phases = [ "unpackPhase" "preConfigurePhase" "configurePhase" "installPhase" ];
+
+ preConfigurePhase = ''
+ $src/autogen.sh
+ mkdir -pv $out/bin
+ '';
+
+ configurePhase = ''
+ ./configure --prefix=$out --with-contrib-dir=${stumpwmContrib}/contrib
+ '';
+
+ installPhase = ''
+ make
+ make install
+ # For some reason, stumpwmContrib is not retained as a runtime
+ # dependency (probably because $out/bin/stumpwm is compressed or
+ # obfuscated in some way). Thus we add an explicit reference here.
+ mkdir $out/nix-support
+ echo ${stumpwmContrib} > $out/nix-support/stumpwm-contrib
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A tiling window manager for X11";
+ homepage = https://github.com/stumpwm/;
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ _1126 ];
+ platforms = platforms.linux;
+ };
+}
\ No newline at end of file
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 73a6412afab..9a6708f1b14 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,33 +1,44 @@
-{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
-, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
-, libjpeg, pam, autoconf, automake, libtool, dbus }:
+{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, cairo, libxcb
+, libXcursor, x11, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput
+, pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null
+, libwebp ? null
+}:
-let version = "1.5.0"; in
+let version = "1.6.0"; in
stdenv.mkDerivation rec {
name = "weston-${version}";
src = fetchurl {
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
- sha256 = "113nig2dmbgrjhi79k0zw77vicnx8vkaihawd0nsg6n79ah8nf06";
+ sha256 = "0kb1mb54l7adihmr2y77xgsdb00dvifnq886q2mmy0mz7g8sagnw";
};
- #ToDo: libinput can be split away
buildInputs = [
- pkgconfig wayland mesa libxkbcommon
- cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam dbus.libs
+ pkgconfig wayland mesa libxkbcommon cairo libxcb libXcursor x11 udev libdrm
+ mtdev libjpeg pam dbus.libs libinput pango libunwind freerdp vaapi libva
+ libwebp
];
- NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm";
-
configureFlags = [
+ "--enable-xwayland"
+ "--enable-x11-compositor"
+ "--enable-drm-compositor"
+ "--enable-wayland-compositor"
+ "--enable-headless-compositor"
+ "--enable-fbdev-compositor"
+ "--enable-screen-sharing"
+ "--enable-clients"
+ "--enable-weston-launch"
"--disable-setuid-install" # prevent install target to chown root weston-launch, which fails
- ];
+ ] ++ stdenv.lib.optional (freerdp != null) "--enable-rdp-compositor"
+ ++ stdenv.lib.optional (vaapi != null) "--enabe-vaapi-recorder";
- meta = {
+ meta = with stdenv.lib; {
description = "Reference implementation of a Wayland compositor";
homepage = http://wayland.freedesktop.org/;
- license = stdenv.lib.licenses.mit;
- platforms = stdenv.lib.platforms.linux;
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ wkennington ];
};
}
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/default.nix b/pkgs/applications/window-managers/xmonad-log-applet/default.nix
new file mode 100644
index 00000000000..f27e7a953dd
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad-log-applet/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, glib, dbus_glib
+, desktopSupport
+, gtk2, gnome2_panel, GConf2
+, libxfce4util, xfce4panel
+}:
+
+assert desktopSupport == "gnome2" || desktopSupport == "gnome3" || desktopSupport == "xfce4";
+
+stdenv.mkDerivation rec {
+ version = "2.1.0";
+ pname = "xmonad-log-applet";
+ name = "${pname}-${version}-${desktopSupport}";
+
+ src = fetchFromGitHub {
+ owner = "alexkay";
+ repo = pname;
+ rev = "${version}";
+ sha256 = "1g1fisyaw83v72b25fxfjln8f4wlw3rm6nyk27mrqlhsc1spnb5p";
+ };
+
+ buildInputs = with stdenv.lib;
+ [ glib dbus_glib ]
+ ++ optionals (desktopSupport == "gnome2") [ gtk2 gnome2_panel GConf2 ]
+ # TODO: no idea where to find libpanelapplet-4.0
+ ++ optionals (desktopSupport == "gnome3") [ ]
+ ++ optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4panel ]
+ ;
+
+ nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+ configureFlags = [ "--with-panel=${desktopSupport}" ];
+
+ patches = [ ./fix-paths.patch ];
+
+ meta = with stdenv.lib; {
+ homepage = http://github.com/alexkay/xmonad-log-applet;
+ license = licenses.bsd3;
+ description = "An applet that will display XMonad log information (${desktopSupport} version)";
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ abbradar ];
+
+ broken = desktopSupport == "gnome3";
+ };
+}
+
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch b/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch
new file mode 100644
index 00000000000..031843afb17
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch
@@ -0,0 +1,50 @@
+diff --git a/Makefile.am b/Makefile.am
+index 619012d..dcc6d3c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,5 @@
+ plugindir = $(PLUGIN_DIR)
++SESSION_BUS_SERVICES_DIR = $(prefix)/share/dbus-1/services
+ plugin_PROGRAMS = xmonad-log-applet
+
+ xmonad_log_applet_SOURCES = main.c
+diff --git a/configure.ac b/configure.ac
+index ad4cffb..110c953 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,28 +27,28 @@ AC_ARG_WITH(
+ AS_IF(
+ [test "x$panel" = xgnome2],
+ [PKG_CHECK_MODULES(LIBPANEL, libpanelapplet-3.0 >= 2.32.0)]
+- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-3.0`/share/gnome-panel/applets
+- PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-3.0`/libexec
++ LIBPANEL_APPLET_DIR=${prefix}/share/gnome-panel/applets
++ PLUGIN_DIR=${prefix}/libexec
+ [AC_DEFINE(PANEL_GNOME, 1, [panel type])]
+ [AC_DEFINE(PANEL_GNOME2, 1, [panel type])]
+ ,
+ [test "x$panel" = xgnome3],
+ [PKG_CHECK_MODULES(LIBPANEL, libpanelapplet-4.0 >= 3.0.0)]
+ LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanelapplet-4.0`
+- PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-4.0`/libexec
++ PLUGIN_DIR=${prefix}/libexec
+ [AC_DEFINE(PANEL_GNOME, 1, [panel type])]
+ [AC_DEFINE(PANEL_GNOME3, 1, [panel type])]
+ ,
+ [test "x$panel" = xmate],
+ [PKG_CHECK_MODULES(LIBPANEL, libmatepanelapplet-3.0 >= 1.4.0)]
+- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-3.0`/share/mate-panel/applets
+- PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-3.0`/libexec
++ LIBPANEL_APPLET_DIR=${prefix}/share/mate-panel/applets
++ PLUGIN_DIR=${prefix}/libexec
+ [AC_DEFINE(PANEL_MATE, 1, [panel type])]
+ ,
+ [test "x$panel" = xxfce4],
+ [PKG_CHECK_MODULES(LIBPANEL, libxfce4panel-1.0 >= 4.6.0)]
+- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libxfce4panel-1.0`/share/xfce4/panel-plugins
+- PLUGIN_DIR=`$PKG_CONFIG --variable=libdir libxfce4panel-1.0`/xfce4/panel/plugins
++ LIBPANEL_APPLET_DIR=${prefix}/share/xfce4/panel-plugins
++ PLUGIN_DIR=${prefix}/lib/xfce4/panel/plugins
+ [AC_DEFINE(PANEL_XFCE4, 1, [panel type])]
+ ,
+ [AC_MSG_ERROR([Unknown panel type, use gnome2, gnome3, mate or xfce4])]
diff --git a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
index c64f9356283..ef2cac21c21 100644
--- a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
@@ -23,4 +23,4 @@ mount --rbind /run $chrootenvDest/run
mount --bind /etc $chrootenvDest/host-etc
# Bind mount /tmp
-mount --bind /tmp/chrootenv-@name@ /run/chrootenv/steam/tmp
+mount --bind /tmp/chrootenv-@name@ $chrootenvDest/tmp
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix
index dd0dc669162..2ffdad2c09b 100644
--- a/pkgs/build-support/cabal/default.nix
+++ b/pkgs/build-support/cabal/default.nix
@@ -57,6 +57,13 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
doCheck = enableCheckPhase && x.doCheck;
hyperlinkSource = enableHyperlinkSource && x.hyperlinkSource;
+ # Disable Darwin builds: .
+ meta = let meta = x.meta or {};
+ hydraPlatforms = meta.hydraPlatforms or meta.platforms or [];
+ noElem = p: ps: !stdenv.lib.elem p ps;
+ noDarwin = p: noElem p stdenv.lib.platforms.darwin;
+ in
+ meta // { hydraPlatforms = filter noDarwin hydraPlatforms; };
};
defaults =
@@ -182,7 +189,16 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
configurePhase = ''
eval "$preConfigure"
- ${optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
+ ${let newCabalFile = fetchurl {
+ url = "http://hackage.haskell.org/package/${self.fname}/${self.pname}.cabal";
+ sha256 = self.editedCabalFile;
+ };
+ in
+ optionalString (self.editedCabalFile or "" != "") ''
+ echo "Replace Cabal file with edited version ${newCabalFile}."
+ cp ${newCabalFile} ${self.pname}.cabal
+ ''
+ }${optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
test -f $i && break
@@ -210,10 +226,14 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"
''}
- ${optionalString (versionOlder "7.8" ghc.version) ''
+ ${optionalString (versionOlder "7.8" ghc.version && !self.isLibrary) ''
configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
''}
+ ${optionalString self.stdenv.isDarwin ''
+ configureFlags+=" --with-gcc=clang"
+ ''}
+
echo "configure flags: $extraConfigureFlags $configureFlags"
./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
--libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \
@@ -236,6 +256,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
test -n "$noHaddock" || ./Setup haddock --html --hoogle \
+ ${optionalString (stdenv.lib.versionOlder "6.12" ghc.version) "--ghc-options=-optP-P"} \
${optionalString self.hyperlinkSource "--hyperlink-source"}
eval "$postBuild"
diff --git a/pkgs/build-support/clang-wrapper/add-flags b/pkgs/build-support/clang-wrapper/add-flags
deleted file mode 100644
index 7a9711290aa..00000000000
--- a/pkgs/build-support/clang-wrapper/add-flags
+++ /dev/null
@@ -1,24 +0,0 @@
-# `-B@out@/bin' forces clang to use ld-wrapper.sh when calling ld.
-export NIX_CFLAGS_COMPILE="-B@out@/bin/ $NIX_CFLAGS_COMPILE"
-
-if test -e @out@/nix-support/libc-cflags; then
- export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE"
-fi
-
-if test -e @out@/nix-support/clang-cflags; then
- export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/clang-cflags) $NIX_CFLAGS_COMPILE"
-fi
-
-if test -e @out@/nix-support/libc-ldflags; then
- export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/libc-ldflags)"
-fi
-
-if test -e @out@/nix-support/clang-ldflags; then
- export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/clang-ldflags)"
-fi
-
-if test -e @out@/nix-support/libc-ldflags-before; then
- export NIX_LDFLAGS_BEFORE="$(cat @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE"
-fi
-
-export NIX_GCC_WRAPPER_FLAGS_SET=1
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
deleted file mode 100644
index 0cdb2b96135..00000000000
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ /dev/null
@@ -1,137 +0,0 @@
-source $stdenv/setup
-
-
-mkdir -p $out/bin
-mkdir -p $out/nix-support
-
-
-if test -z "$nativeLibc"; then
- dynamicLinker="$libc/lib/$dynamicLinker"
- echo $dynamicLinker > $out/nix-support/dynamic-linker
-
- if test -e $libc/lib/32/ld-linux.so.2; then
- echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
- fi
-
- # The "-B$libc/lib/" flag is a quick hack to force clang to link
- # against the crt1.o from our own glibc, rather than the one in
- # /usr/lib. (This is only an issue when using an `impure'
- # compiler/linker, i.e., one that searches /usr/lib and so on.)
- echo "-B$libc/lib/ -idirafter $libc/include" > $out/nix-support/libc-cflags
-
- echo "-L$libc/lib" > $out/nix-support/libc-ldflags
-
- # The dynamic linker is passed in `ldflagsBefore' to allow
- # explicit overrides of the dynamic linker by callers to clang/ld
- # (the *last* value counts, so ours should come first).
- echo "-dynamic-linker $dynamicLinker" > $out/nix-support/libc-ldflags-before
-fi
-
-if test -n "$nativeTools"; then
- clangPath="$nativePrefix/bin"
- ldPath="$nativePrefix/bin"
-else
- basePath=`echo $gcc/lib/*/*/*`
- # Need libgcc until the llvm compiler-rt library is complete
- clangLDFlags="$clangLDFlags -L$basePath"
- if test -e "$gcc/lib64"; then
- clangLDFlags="$clangLDFlags -L$gcc/lib64"
- else
- clangLDFlags="$clangLDFlags -L$gcc/lib"
- fi
-
- clangLDFlags="$clangLDFlags -L$clang/lib"
- echo "$clangLDFlags" > $out/nix-support/clang-ldflags
-
- # Need files like crtbegin.o from gcc
- # It's unclear if these will ever be provided by an LLVM project
- clangCFlags="$clangCFlags -B$basePath"
-
- clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include"
- echo "$clangCFlags" > $out/nix-support/clang-cflags
-
- clangPath="$clang/bin"
- ldPath="$binutils/bin"
-fi
-
-
-doSubstitute() {
- local src=$1
- local dst=$2
- local uselibcxx=
- local uselibcxxabi=
- if test -n "$libcxx" && echo $dst | fgrep ++; then uselibcxx=$libcxx; fi
- if test -n "$libcxxabi" && echo $dst | fgrep ++; then uselibcxxabi=$libcxxabi; fi
- # Can't use substitute() here, because replace may not have been
- # built yet (in the bootstrap).
- sed \
- -e "s^@out@^$out^g" \
- -e "s^@shell@^$shell^g" \
- -e "s^@libcxx@^$uselibcxx^g" \
- -e "s^@libcxxabi@^$uselibcxxabi^g" \
- -e "s^@clang@^$clang^g" \
- -e "s^@clangProg@^$clangProg^g" \
- -e "s^@binutils@^$binutils^g" \
- -e "s^@coreutils@^$coreutils^g" \
- -e "s^@libc@^$libc^g" \
- -e "s^@ld@^$ldPath/ld^g" \
- < "$src" > "$dst"
-}
-
-
-# Make wrapper scripts around clang and clang++. Also make symlinks
-# cc and c++
-mkClangWrapper() {
- local dst=$1
- local src=$2
-
- if ! test -f "$src"; then
- echo "$src does not exist (skipping)"
- return 1
- fi
-
- clangProg="$src"
- doSubstitute "$clangWrapper" "$dst"
- chmod +x "$dst"
-}
-
-if mkClangWrapper $out/bin/clang $clangPath/clang
-then
- ln -sv clang $out/bin/cc
-fi
-
-if mkClangWrapper $out/bin/clang++ $clangPath/clang++
-then
- ln -sv clang++ $out/bin/c++
-fi
-
-
-# Create a symlink to as (the assembler). This is useful when a
-# clang-wrapper is installed in a user environment, as it ensures that
-# the right assembler is called.
-ln -s $ldPath/as $out/bin/as
-
-
-# Make a wrapper around the linker.
-doSubstitute "$ldWrapper" "$out/bin/ld"
-chmod +x "$out/bin/ld"
-
-
-# Emit a setup hook. Also store the path to the original Clang and
-# libc.
-test -n "$clang" && echo $clang > $out/nix-support/orig-clang
-test -n "$libc" && echo $libc > $out/nix-support/orig-libc
-
-doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
-
-doSubstitute "$setupHook" "$out/nix-support/setup-hook"
-
-cp -p $utils $out/nix-support/utils.sh
-
-
-# Propagate the wrapped clang so that if you install the wrapper, you get
-# llvm tools, the manpages, etc. as well (including for binutils
-# and Glibc).
-if test -z "$nativeTools"; then
- echo $clang $binutils $libc > $out/nix-support/propagated-user-env-packages
-fi
diff --git a/pkgs/build-support/clang-wrapper/clang-wrapper.sh b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
deleted file mode 100644
index 57715274f1e..00000000000
--- a/pkgs/build-support/clang-wrapper/clang-wrapper.sh
+++ /dev/null
@@ -1,150 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
- source "$NIX_GCC_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
- source @out@/nix-support/add-flags.sh
-fi
-
-source @out@/nix-support/utils.sh
-
-
-# Figure out if linker flags should be passed. Clang prints annoying
-# warnings when they are not needed. (does it really? Copied from gcc-wrapper)
-dontLink=0
-getVersion=0
-nonFlagArgs=0
-
-for i in "$@"; do
- if test "$i" = "-c"; then
- dontLink=1
- elif test "$i" = "-S"; then
- dontLink=1
- elif test "$i" = "-E"; then
- dontLink=1
- elif test "$i" = "-E"; then
- dontLink=1
- elif test "$i" = "-M"; then
- dontLink=1
- elif test "$i" = "-MM"; then
- dontLink=1
- elif test "$i" = "-x"; then
- # At least for the cases c-header or c++-header we should set dontLink.
- # I expect no one use -x other than making precompiled headers.
- dontLink=1
- elif test "${i:0:1}" != "-"; then
- nonFlagArgs=1
- elif test "$i" = "-m32"; then
- if test -e @out@/nix-support/dynamic-linker-m32; then
- NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
- fi
- fi
-done
-
-# If we pass a flag like -Wl, then clang will call the linker unless it
-# can figure out that it has to do something else (e.g., because of a
-# "-c" flag). So if no non-flag arguments are given, don't pass any
-# linker flags. This catches cases like "clang" (should just print
-# "clang: no input files") and "clang -v" (should print the version).
-if test "$nonFlagArgs" = "0"; then
- dontLink=1
-fi
-
-# Optionally filter out paths not refering to the store.
-params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
- rest=()
- n=0
- while test $n -lt ${#params[*]}; do
- p=${params[n]}
- p2=${params[$((n+1))]}
- if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
- skip $p
- elif test "$p" = "-L" && badPath "$p2"; then
- n=$((n + 1)); skip $p2
- elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then
- skip $p
- elif test "$p" = "-I" && badPath "$p2"; then
- n=$((n + 1)); skip $p2
- elif test "$p" = "-isystem" && badPath "$p2"; then
- n=$((n + 1)); skip $p2
- else
- rest=("${rest[@]}" "$p")
- fi
- n=$((n + 1))
- done
- params=("${rest[@]}")
- NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE --sysroot=/var/empty"
-fi
-
-if test -n "@libcxx@"; then
- NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem@libcxx@/include/c++/v1 -stdlib=libc++"
- NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -L@libcxx@/lib -stdlib=libc++ -L@libcxxabi@/lib -lc++abi"
-fi
-
-# Add the flags for the C compiler proper.
-extraAfter=($NIX_CFLAGS_COMPILE)
-extraBefore=()
-
-if test "$dontLink" != "1"; then
-
- # Add the flags that should only be passed to the compiler when
- # linking.
- extraAfter=(${extraAfter[@]} $NIX_CFLAGS_LINK)
-
- # Add the flags that should be passed to the linker (and prevent
- # `ld-wrapper' from adding NIX_LDFLAGS again).
- for i in $NIX_LDFLAGS_BEFORE; do
- extraBefore=(${extraBefore[@]} "-Wl,$i")
- done
- for i in $NIX_LDFLAGS; do
- if test "${i:0:3}" = "-L/"; then
- extraAfter=(${extraAfter[@]} "$i")
- else
- extraAfter=(${extraAfter[@]} "-Wl,$i")
- fi
- done
- export NIX_LDFLAGS_SET=1
-fi
-
-# As a very special hack, if the arguments are just `-v', then don't
-# add anything. This is to prevent `clang -v' (which normally prints
-# out the version number and returns exit code 0) from printing out
-# `No input files specified' and returning exit code 1.
-if test "$*" = "-v"; then
- extraAfter=()
- extraBefore=()
-fi
-
-# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
- echo "original flags to @clangProg@:" >&2
- for i in "${params[@]}"; do
- echo " $i" >&2
- done
- echo "extraBefore flags to @clangProg@:" >&2
- for i in ${extraBefore[@]}; do
- echo " $i" >&2
- done
- echo "extraAfter flags to @clangProg@:" >&2
- for i in ${extraAfter[@]}; do
- echo " $i" >&2
- done
-fi
-
-if test -n "$NIX_CLANG_WRAPPER_EXEC_HOOK"; then
- source "$NIX_CLANG_WRAPPER_EXEC_HOOK"
-fi
-
-# Call the real `clang'. Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs. Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_CLANG_NEEDS_GREP"; then
- @clangProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
- (@clangProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
- | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
- exit $?
-fi
diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix
deleted file mode 100644
index 7a5d87127d9..00000000000
--- a/pkgs/build-support/clang-wrapper/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-# The Nix `clang' stdenv.mkDerivation is not directly usable, since it doesn't
-# know where the C library and standard header files are. Therefore
-# the compiler produced by that package cannot be installed directly
-# in a user environment and used from the command line. This
-# stdenv.mkDerivation provides a wrapper that sets up the right environment
-# variables so that the compiler and the linker just "work".
-
-{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
-, clang ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null, libcxx ? null
-}:
-
-assert nativeTools -> nativePrefix != "";
-assert !nativeTools -> clang != null && binutils != null && coreutils != null;
-assert !nativeLibc -> libc != null;
-
-let
-
- clangVersion = (builtins.parseDrvName clang.name).version;
- clangName = (builtins.parseDrvName clang.name).name;
-
-in
-
-stdenv.mkDerivation {
- name =
- (if name != "" then name else clangName + "-wrapper") +
- (if clang != null && clangVersion != "" then "-" + clangVersion else "");
-
- builder = ./builder.sh;
- setupHook = ./setup-hook.sh;
- clangWrapper = ./clang-wrapper.sh;
- ldWrapper = ../gcc-wrapper/ld-wrapper.sh;
- utils = ../gcc-wrapper/utils.sh;
- addFlags = ./add-flags;
-
- inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx;
-
- libcxxabi = libcxx.abi or null;
-
- gcc = clang.gcc;
- libc = if nativeLibc then null else libc;
- binutils = if nativeTools then null else binutils;
- # The wrapper scripts use 'cat', so we may need coreutils
- coreutils = if nativeTools then null else coreutils;
-
- langC = true;
- langCC = true;
- shell = if shell == "" then stdenv.shell else
- if builtins.isAttrs shell then (shell + shell.shellPath)
- else shell;
-
- crossAttrs = {
- shell = shell.crossDrv + shell.crossDrv.shellPath;
- libc = libc.crossDrv;
- coreutils = coreutils.crossDrv;
- binutils = binutils.crossDrv;
- clang = clang.crossDrv;
- #
- # This is not the best way to do this. I think the reference should be
- # the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
- # do this sufficient if/else.
- dynamicLinker =
- (if stdenv.cross.arch == "arm" then "ld-linux.so.3" else
- if stdenv.cross.arch == "mips" then "ld.so.1" else
- if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
- abort "don't know the name of the dynamic linker for this platform");
- };
-
- meta =
- let clang_ = if clang != null then clang else {}; in
- (if clang_ ? meta then removeAttrs clang.meta ["priority"] else {}) //
- { description =
- stdenv.lib.attrByPath ["meta" "description"] "System C compiler" clang_
- + " (wrapper script)";
- };
-
- # The dynamic linker has different names on different Linux platforms.
- dynamicLinker =
- if !nativeLibc then
- (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
- if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
- if stdenv.isArm then "ld-linux.so.3" else
- if stdenv.system == "powerpc-linux" then "ld.so.1" else
- if stdenv.system == "mips64el-linux" then "ld.so.1" else
- abort "don't know the name of the dynamic linker for this platform")
- else "";
-
- preferLocalBuild = true;
-}
diff --git a/pkgs/build-support/clang-wrapper/setup-hook.sh b/pkgs/build-support/clang-wrapper/setup-hook.sh
deleted file mode 100644
index f7687651eaf..00000000000
--- a/pkgs/build-support/clang-wrapper/setup-hook.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-addCVars () {
- if test -d $1/include; then
- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include"
- fi
-
- if test -d $1/lib64; then
- export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib64"
- fi
-
- if test -d $1/lib; then
- export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib"
- fi
-}
-
-envHooks=(${envHooks[@]} addCVars)
-
-# Note: these come *after* $out in the PATH (see setup.sh).
-
-if test -n "@clang@"; then
- addToSearchPath PATH @clang@/bin
-fi
-
-if test -n "@binutils@"; then
- addToSearchPath PATH @binutils@/bin
-fi
-
-if test -n "@libc@"; then
- addToSearchPath PATH @libc@/bin
-fi
-
-if test -n "@coreutils@"; then
- addToSearchPath PATH @coreutils@/bin
-fi
-
-: ${CXX:=clang++}
-export CXX
diff --git a/pkgs/build-support/fetchegg/builder.sh b/pkgs/build-support/fetchegg/builder.sh
new file mode 100644
index 00000000000..20466106309
--- /dev/null
+++ b/pkgs/build-support/fetchegg/builder.sh
@@ -0,0 +1,9 @@
+source $stdenv/setup
+
+header "exporting egg ${eggName} (version $version) into $out"
+
+mkdir -p $out
+chicken-install -r "${eggName}:${version}"
+cp -r ${eggName}/* $out/
+
+stopNest
diff --git a/pkgs/build-support/fetchegg/default.nix b/pkgs/build-support/fetchegg/default.nix
new file mode 100644
index 00000000000..223d2098c77
--- /dev/null
+++ b/pkgs/build-support/fetchegg/default.nix
@@ -0,0 +1,28 @@
+# Fetches a chicken egg from henrietta using `chicken-install -r'
+# See: http://wiki.call-cc.org/chicken-projects/egg-index-4.html
+
+{ stdenv, chicken }:
+{ name, version, md5 ? "", sha256 ? "" }:
+
+stdenv.mkDerivation {
+ name = "chicken-${name}-export";
+ builder = ./builder.sh;
+ buildInputs = [ chicken ];
+
+ outputHashAlgo = if sha256 == "" then "md5" else "sha256";
+ outputHashMode = "recursive";
+ outputHash = if sha256 == "" then md5 else sha256;
+
+ inherit version;
+
+ eggName = name;
+
+ impureEnvVars = [
+ # We borrow these environment variables from the caller to allow
+ # easy proxy configuration. This is impure, but a fixed-output
+ # derivation like fetchurl is allowed to do so since its result is
+ # by definition pure.
+ "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+ ];
+}
+
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 4f9dd2ac272..8a427d56ba3 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -10,51 +10,51 @@ fetchSubmodules=
builder=
if test -n "$deepClone"; then
- deepClone=true
+ deepClone=true
else
- deepClone=false
+ deepClone=false
fi
if test "$leaveDotGit" != 1; then
- leaveDotGit=
+ leaveDotGit=
else
- leaveDotGit=true
+ leaveDotGit=true
fi
argi=0
argfun=""
for arg; do
- if test -z "$argfun"; then
- case $arg in
- --out) argfun=set_out;;
- --url) argfun=set_url;;
- --rev) argfun=set_rev;;
- --hash) argfun=set_hashType;;
- --deepClone) deepClone=true;;
- --no-deepClone) deepClone=false;;
- --leave-dotGit) leaveDotGit=true;;
- --fetch-submodules) fetchSubmodules=true;;
- --builder) builder=true;;
- *)
- argi=$(($argi + 1))
- case $argi in
- 1) url=$arg;;
- 2) rev=$arg;;
- 3) expHash=$arg;;
- *) exit 1;;
- esac
- ;;
- esac
- else
- case $argfun in
- set_*)
- var=$(echo $argfun | sed 's,^set_,,')
- eval $var=$arg
- ;;
- esac
- argfun=""
- fi
+ if test -z "$argfun"; then
+ case $arg in
+ --out) argfun=set_out;;
+ --url) argfun=set_url;;
+ --rev) argfun=set_rev;;
+ --hash) argfun=set_hashType;;
+ --deepClone) deepClone=true;;
+ --no-deepClone) deepClone=false;;
+ --leave-dotGit) leaveDotGit=true;;
+ --fetch-submodules) fetchSubmodules=true;;
+ --builder) builder=true;;
+ *)
+ argi=$(($argi + 1))
+ case $argi in
+ 1) url=$arg;;
+ 2) rev=$arg;;
+ 3) expHash=$arg;;
+ *) exit 1;;
+ esac
+ ;;
+ esac
+ else
+ case $argfun in
+ set_*)
+ var=$(echo $argfun | sed 's,^set_,,')
+ eval $var=$arg
+ ;;
+ esac
+ argfun=""
+ fi
done
usage(){
@@ -75,19 +75,20 @@ Options:
}
if test -z "$url"; then
- usage
+ usage
fi
init_remote(){
- local url=$1;
- git init;
- git remote add origin $url;
+ local url=$1
+ git init
+ git remote add origin $url
+ ( [ -n "$http_proxy" ] && git config http.proxy $http_proxy ) || true
}
# Return the reference of an hash if it exists on the remote repository.
ref_from_hash(){
- local hash=$1;
+ local hash=$1
git ls-remote origin | sed -n "\,$hash\t, { s,\(.*\)\t\(.*\),\2,; p; q}"
}
@@ -99,12 +100,12 @@ hash_from_ref(){
# Fetch everything and checkout the right sha1
checkout_hash(){
- local hash="$1";
- local ref="$2";
+ local hash="$1"
+ local ref="$2"
if test -z "$hash"; then
- hash=$(hash_from_ref $ref);
- fi;
+ hash=$(hash_from_ref $ref)
+ fi
git fetch ${builder:+--progress} origin || return 1
git checkout -b fetchgit $hash || return 1
@@ -112,28 +113,28 @@ checkout_hash(){
# Fetch only a branch/tag and checkout it.
checkout_ref(){
- local hash="$1";
- local ref="$2";
+ local hash="$1"
+ local ref="$2"
if "$deepClone"; then
- # The caller explicitly asked for a deep clone. Deep clones
- # allow "git describe" and similar tools to work. See
- # http://thread.gmane.org/gmane.linux.distributions.nixos/3569
- # for a discussion.
- return 1
+ # The caller explicitly asked for a deep clone. Deep clones
+ # allow "git describe" and similar tools to work. See
+ # http://thread.gmane.org/gmane.linux.distributions.nixos/3569
+ # for a discussion.
+ return 1
fi
if test -z "$ref"; then
- ref=$(ref_from_hash $hash);
- fi;
+ ref=$(ref_from_hash $hash)
+ fi
if test -n "$ref"; then
# --depth option is ignored on http repository.
git fetch ${builder:+--progress} --depth 1 origin +"$ref" || return 1
git checkout -b fetchgit FETCH_HEAD || return 1
else
- return 1;
- fi;
+ return 1
+ fi
}
# Update submodules
@@ -145,20 +146,20 @@ init_submodules(){
git submodule status |
while read l; do
# checkout each submodule
- local hash=$(echo $l | awk '{print substr($1,2)}');
- local dir=$(echo $l | awk '{print $2}');
+ local hash=$(echo $l | awk '{print substr($1,2)}')
+ local dir=$(echo $l | awk '{print $2}')
local name=$(
- git config -f .gitmodules --get-regexp submodule\.[^.]*\.path |
+ git config -f .gitmodules --get-regexp submodule\..*\.path |
sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
- local url=$(git config -f .gitmodules --get ${name}.url);
+ local url=$(git config -f .gitmodules --get ${name}.url)
# Get Absolute URL if we have a relative URL
if ! echo "$url" | grep '^[a-zA-Z]\+://' >/dev/null 2>&1; then
- url="$(git config --get remote.origin.url)/$url"
+ url="$(git config --get remote.origin.url)/$url"
fi
- clone "$dir" "$url" "$hash" "";
- done;
+ clone "$dir" "$url" "$hash" ""
+ done
}
clone(){
@@ -168,37 +169,75 @@ clone(){
local hash="$3"
local ref="$4"
- cd $dir;
+ cd $dir
# Initialize the repository.
- init_remote "$url";
+ init_remote "$url"
# Download data from the repository.
checkout_ref "$hash" "$ref" ||
checkout_hash "$hash" "$ref" || (
- echo 1>&2 "Unable to checkout $hash$ref from $url.";
- exit 1;
+ echo 1>&2 "Unable to checkout $hash$ref from $url."
+ exit 1
)
# Checkout linked sources.
if test -n "$fetchSubmodules"; then
- init_submodules;
+ init_submodules
fi
if [ -z "$builder" -a -f .topdeps ]; then
- if tg help 2>&1 > /dev/null
- then
- echo "populating TopGit branches..."
- tg remote --populate origin
- else
- echo "WARNING: would populate TopGit branches but TopGit is not available" >&2
- echo "WARNING: install TopGit to fix the problem" >&2
- fi
+ if tg help 2>&1 > /dev/null
+ then
+ echo "populating TopGit branches..."
+ tg remote --populate origin
+ else
+ echo "WARNING: would populate TopGit branches but TopGit is not available" >&2
+ echo "WARNING: install TopGit to fix the problem" >&2
+ fi
fi
- cd $top;
+ cd $top
}
+# Remove all remote branches, remove tags not reachable from HEAD, do a full
+# repack and then garbage collect unreferenced objects.
+make_deterministic_repo(){
+ local repo="$1"
+
+ # run in sub-shell to not touch current working directory
+ (
+ cd "$repo"
+ # Remove files that contain timestamps or otherwise have non-deterministic
+ # properties.
+ rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD \
+ .git/refs/remotes/origin/HEAD .git/config
+
+ # Remove all remote branches.
+ git branch -r | while read branch; do
+ git branch -rD "$branch" >&2
+ done
+
+ # Remove tags not reachable from HEAD. If we're exactly on a tag, don't
+ # delete it.
+ maybe_tag=$(git tag --points-at HEAD)
+ git tag --contains HEAD | while read tag; do
+ if [ "$tag" != "$maybe_tag" ]; then
+ git tag -d "$tag" >&2
+ fi
+ done
+
+ # Do a full repack. Must run single-threaded, or else we loose determinism.
+ git config pack.threads 1
+ git repack -A -d -f
+ rm -f .git/config
+
+ # Garbage collect unreferenced objects.
+ git gc --prune=all
+ )
+}
+
+
clone_user_rev() {
local dir="$1"
local url="$2"
@@ -210,10 +249,10 @@ clone_user_rev() {
clone "$dir" "$url" "" "$rev" 1>&2;;
*)
if test -z "$(echo $rev | tr -d 0123456789abcdef)"; then
- clone "$dir" "$url" "$rev" "" 1>&2;
+ clone "$dir" "$url" "$rev" "" 1>&2
else
- echo 1>&2 "Bad commit hash or bad reference.";
- exit 1;
+ echo 1>&2 "Bad commit hash or bad reference."
+ exit 1
fi;;
esac
@@ -224,65 +263,65 @@ clone_user_rev() {
# Allow doing additional processing before .git removal
eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
if test -z "$leaveDotGit"; then
- echo "removing \`.git'..." >&2
+ echo "removing \`.git'..." >&2
find $dir -name .git\* | xargs rm -rf
else
- # The logs and index contain timestamps, and the hooks contain
- # the nix path of git's bash
- find $dir -name .git | xargs -I {} rm -rf {}/logs {}/index {}/hooks
+ find $dir -name .git | while read gitdir; do
+ make_deterministic_repo "$(readlink -f "$gitdir/..")"
+ done
fi
}
if test -n "$builder"; then
- test -n "$out" -a -n "$url" -a -n "$rev" || usage
- mkdir $out
- clone_user_rev "$out" "$url" "$rev"
+ test -n "$out" -a -n "$url" -a -n "$rev" || usage
+ mkdir $out
+ clone_user_rev "$out" "$url" "$rev"
else
- if test -z "$hashType"; then
- hashType=sha256
- fi
+ if test -z "$hashType"; then
+ hashType=sha256
+ fi
- # If the hash was given, a file with that hash may already be in the
- # store.
- if test -n "$expHash"; then
- finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" git-export)
- if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
- finalPath=
- fi
- hash=$expHash
- fi
+ # If the hash was given, a file with that hash may already be in the
+ # store.
+ if test -n "$expHash"; then
+ finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" git-export)
+ if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
+ finalPath=
+ fi
+ hash=$expHash
+ fi
- # If we don't know the hash or a path with that hash doesn't exist,
- # download the file and add it to the store.
- if test -z "$finalPath"; then
+ # If we don't know the hash or a path with that hash doesn't exist,
+ # download the file and add it to the store.
+ if test -z "$finalPath"; then
- tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")"
- trap "rm -rf \"$tmpPath\"" EXIT
+ tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")"
+ trap "rm -rf \"$tmpPath\"" EXIT
- tmpFile="$tmpPath/git-export"
- mkdir "$tmpFile"
+ tmpFile="$tmpPath/git-export"
+ mkdir "$tmpFile"
- # Perform the checkout.
- clone_user_rev "$tmpFile" "$url" "$rev"
+ # Perform the checkout.
+ clone_user_rev "$tmpFile" "$url" "$rev"
- # Compute the hash.
- hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
- if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
+ # Compute the hash.
+ hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
+ if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
- # Add the downloaded file to the Nix store.
- finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
+ # Add the downloaded file to the Nix store.
+ finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
- if test -n "$expHash" -a "$expHash" != "$hash"; then
- echo "hash mismatch for URL \`$url'"
- exit 1
- fi
- fi
+ if test -n "$expHash" -a "$expHash" != "$hash"; then
+ echo "hash mismatch for URL \`$url'"
+ exit 1
+ fi
+ fi
- if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
+ if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
- echo $hash
+ echo $hash
- if test -n "$PRINT_PATH"; then
- echo $finalPath
- fi
+ if test -n "$PRINT_PATH"; then
+ echo $finalPath
+ fi
fi
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index c74131a9e60..0fcbf2f3d0d 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -81,16 +81,16 @@ assert builtins.isList urls;
assert urls != [] -> url == "";
assert url != "" -> urls == [];
-assert showURLs || (outputHash != "" && outputHashAlgo != "")
- || md5 != "" || sha1 != "" || sha256 != "";
let
+ hasHash = showURLs || (outputHash != "" && outputHashAlgo != "")
+ || md5 != "" || sha1 != "" || sha256 != "";
urls_ = if urls != [] then urls else [url];
in
-stdenv.mkDerivation {
+if (!hasHash) then throw "Specify hash for fetchurl fixed-output derivation: ${stdenv.lib.concatStringsSep ", " urls_}" else stdenv.mkDerivation {
name =
if showURLs then "urls"
else if name != "" then name
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 080dfea2505..6284655e5e9 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -147,10 +147,10 @@ rec {
# ImageMagick mirrors, see http://www.imagemagick.org/script/download.php.
imagemagick = [
- http://ftp.nluug.nl/pub/ImageMagick/
- ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/
+ ftp://ftp.nluug.nl/pub/ImageMagick/
ftp://ftp.imagemagick.org/pub/ImageMagick/
ftp://ftp.imagemagick.net/pub/ImageMagick/
+ ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/
];
# CPAN mirrors.
@@ -173,6 +173,7 @@ rec {
ftp://ftp.nl.debian.org/debian/
ftp://ftp.ru.debian.org/debian/
ftp://ftp.debian.org/debian/
+ http://ftp.debian.org/debian/
http://archive.debian.org/debian-archive/debian/
ftp://ftp.funet.fi/pub/mirrors/ftp.debian.org/debian/
];
@@ -385,4 +386,44 @@ rec {
http://hdiff.luite.com/packages/archive/package/
];
+ # Roy marples mirrors
+ roy = [
+ http://roy.marples.name/downloads/
+ http://roy.aydogan.net/
+ http://cflags.cc/roy/
+ ];
+
+ # Sage mirrors (http://www.sagemath.org/mirrors.html)
+ sagemath = [
+ http://boxen.math.washington.edu/home/sagemath/sage-mirror/src/
+ http://echidna.maths.usyd.edu.au/sage/src/
+ http://ftp.iitm.ac.in/sage/src/
+ http://ftp.kaist.ac.kr/sage/src/
+ http://ftp.riken.jp/sagemath/src/
+ http://ftp.tsukuba.wide.ad.jp/software/sage/src/
+ http://jambu.spms.ntu.edu.sg/sage/src/
+ http://linorg.usp.br/sage/src/
+ http://mirror.aarnet.edu.au/pub/sage/src/
+ http://mirror.clibre.uqam.ca/sage/src/
+ http://mirror.hust.edu.cn/sagemath/src/
+ http://mirror.switch.ch/mirror/sagemath/src/
+ http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
+ http://mirrors.fe.up.pt/pub/sage/src/
+ http://mirrors.hustunique.com/sagemath/src/
+ http://mirrors.ustc.edu.cn/sagemath/src/
+ http://mirrors.xmission.com/sage/src/
+ http://sage.asis.io/src/
+ http://sage.mirror.garr.it/mirrors/sage/src/
+ http://sage.yasar.edu.tr/src/
+ http://sagemath.c3sl.ufpr.br/src/
+ http://sagemath.polytechnic.edu.na/src/
+ http://sunsite.rediris.es/mirror/sagemath/src/
+ http://www-ftp.lip6.fr/pub/math/sagemath/src/
+ http://www.mirrorservice.org/sites/www.sagemath.org/src/
+
+ # Old versions
+ http://www.cecm.sfu.ca/sage/src/
+ http://sagemath.org/src-old/
+ ];
+
}
diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix
index 7c6e16a0589..12fb69ba8ef 100644
--- a/pkgs/build-support/fetchzip/default.nix
+++ b/pkgs/build-support/fetchzip/default.nix
@@ -13,9 +13,7 @@
, ... } @ args:
fetchurl ({
- # Remove the extension, because otherwise unpackPhase will get
- # confused. FIXME: fix unpackPhase.
- name = args.name or lib.removeSuffix ".zip" (lib.removeSuffix ".tar.gz" (baseNameOf url));
+ name = args.name or (baseNameOf url);
recursiveHash = true;
diff --git a/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh
index f954cae05d8..ec1f6004edd 100644
--- a/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh
@@ -114,13 +114,4 @@ fi
# We want gcc to call the wrapper linker, not that of binutils.
export PATH="@ldPath@:$PATH"
-# Call the real `gcc'. Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs. Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_GCC_NEEDS_GREP"; then
- @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
- (@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
- | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
- exit $?
-fi
+exec @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
diff --git a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
index 433d36ced43..ce5f6e56136 100644
--- a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
@@ -11,7 +11,7 @@ crossAddCVars () {
fi
}
-crossEnvHooks=(${crossEnvHooks[@]} crossAddCVars)
+crossEnvHooks+=(crossAddCVars)
crossStripDirs() {
local dirs="$1"
diff --git a/pkgs/build-support/gcc-wrapper/add-flags b/pkgs/build-support/gcc-wrapper/add-flags
index 26e536f6d57..d75f378e2c9 100644
--- a/pkgs/build-support/gcc-wrapper/add-flags
+++ b/pkgs/build-support/gcc-wrapper/add-flags
@@ -1,27 +1,27 @@
# `-B@out@/bin' forces gcc to use ld-wrapper.sh when calling ld.
export NIX_CFLAGS_COMPILE="-B@out@/bin/ $NIX_CFLAGS_COMPILE"
-if test -e @out@/nix-support/libc-cflags; then
+if [ -e @out@/nix-support/libc-cflags ]; then
export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE"
fi
-if test -e @out@/nix-support/gcc-cflags; then
+if [ -e @out@/nix-support/gcc-cflags ]; then
export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/gcc-cflags) $NIX_CFLAGS_COMPILE"
fi
-if test -e @out@/nix-support/gnat-cflags; then
+if [ -e @out@/nix-support/gnat-cflags ]; then
export NIX_GNATFLAGS_COMPILE="$(cat @out@/nix-support/gnat-cflags) $NIX_GNATFLAGS_COMPILE"
fi
-if test -e @out@/nix-support/libc-ldflags; then
- export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/libc-ldflags)"
+if [ -e @out@/nix-support/libc-ldflags ]; then
+ export NIX_LDFLAGS+=" $(cat @out@/nix-support/libc-ldflags)"
fi
-if test -e @out@/nix-support/gcc-ldflags; then
- export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/gcc-ldflags)"
+if [ -e @out@/nix-support/gcc-ldflags ]; then
+ export NIX_LDFLAGS+=" $(cat @out@/nix-support/gcc-ldflags)"
fi
-if test -e @out@/nix-support/libc-ldflags-before; then
+if [ -e @out@/nix-support/libc-ldflags-before ]; then
export NIX_LDFLAGS_BEFORE="$(cat @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE"
fi
diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh
deleted file mode 100644
index c79680712ee..00000000000
--- a/pkgs/build-support/gcc-wrapper/builder.sh
+++ /dev/null
@@ -1,214 +0,0 @@
-source $stdenv/setup
-
-
-mkdir -p $out/bin
-mkdir -p $out/nix-support
-
-
-if test -z "$nativeLibc"; then
- dynamicLinker="$libc/lib/$dynamicLinker"
- echo $dynamicLinker > $out/nix-support/dynamic-linker
-
- if test -e $libc/lib/32/ld-linux.so.2; then
- echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
- fi
-
- # The "-B$libc/lib/" flag is a quick hack to force gcc to link
- # against the crt1.o from our own glibc, rather than the one in
- # /usr/lib. (This is only an issue when using an `impure'
- # compiler/linker, i.e., one that searches /usr/lib and so on.)
- #
- # Unfortunately, setting -B appears to override the default search
- # path. Thus, the gcc-specific "../includes-fixed" directory is
- # now longer searched and glibc's header fails to
- # compile, because it uses "#include_next " to find the
- # limits.h file in ../includes-fixed. To remedy the problem,
- # another -idirafter is necessary to add that directory again.
- echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
-
- echo "-L$libc/lib" > $out/nix-support/libc-ldflags
-
- # The dynamic linker is passed in `ldflagsBefore' to allow
- # explicit overrides of the dynamic linker by callers to gcc/ld
- # (the *last* value counts, so ours should come first).
- echo "-dynamic-linker" $dynamicLinker > $out/nix-support/libc-ldflags-before
-fi
-
-if test -n "$nativeTools"; then
- gccPath="$nativePrefix/bin"
- ldPath="$nativePrefix/bin"
-else
- if test -e "$gcc/lib64"; then
- gccLDFlags="$gccLDFlags -L$gcc/lib64"
- fi
- gccLDFlags="$gccLDFlags -L$gcc/lib"
- if [ -n "$langVhdl" ]; then
- gccLDFlags="$gccLDFlags -L$zlib/lib"
- fi
- echo "$gccLDFlags" > $out/nix-support/gcc-ldflags
-
- # GCC shows $gcc/lib in `gcc -print-search-dirs', but not
- # $gcc/lib64 (even though it does actually search there...)..
- # This confuses libtool. So add it to the compiler tool search
- # path explicitly.
- if test -e "$gcc/lib64"; then
- gccCFlags="$gccCFlags -B$gcc/lib64"
- fi
-
- # Find the gcc libraries path (may work only without multilib)
- if [ -n "$langAda" ]; then
- basePath=`echo $gcc/lib/*/*/*`
- gccCFlags="$gccCFlags -B$basePath -I$basePath/adainclude"
-
- gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
- echo "$gnatCFlags" > $out/nix-support/gnat-cflags
- fi
- echo "$gccCFlags" > $out/nix-support/gcc-cflags
-
- gccPath="$gcc/bin"
- # On Illumos/Solaris we might prefer native ld
- if test -n "$nativePrefix"; then
- ldPath="$nativePrefix/bin"
- else
- ldPath="$binutils/bin"
- fi;
-fi
-
-
-doSubstitute() {
- local src=$1
- local dst=$2
- local ld="$ldPath/ld"
- if $ld -V 2>&1 |grep Solaris; then
- # Use Solaris specific linker wrapper
- ld="$out/bin/ld-solaris"
- fi
- # Can't use substitute() here, because replace may not have been
- # built yet (in the bootstrap).
- sed \
- -e "s^@out@^$out^g" \
- -e "s^@shell@^$shell^g" \
- -e "s^@gcc@^$gcc^g" \
- -e "s^@gccProg@^$gccProg^g" \
- -e "s^@gnatProg@^$gnatProg^g" \
- -e "s^@gnatlinkProg@^$gnatlinkProg^g" \
- -e "s^@binutils@^$binutils^g" \
- -e "s^@coreutils@^$coreutils^g" \
- -e "s^@libc@^$libc^g" \
- -e "s^@ld@^$ld^g" \
- < "$src" > "$dst"
-}
-
-
-# Make wrapper scripts around gcc, g++, and gfortran. Also make symlinks
-# cc, c++, and f77.
-mkGccWrapper() {
- local dst=$1
- local src=$2
-
- if ! test -f "$src"; then
- echo "$src does not exist (skipping)"
- return 1
- fi
-
- gccProg="$src"
- doSubstitute "$gccWrapper" "$dst"
- chmod +x "$dst"
-}
-
-mkGnatWrapper() {
- local dst=$1
- local src=$2
-
- if ! test -f "$src"; then
- echo "$src does not exist (skipping)"
- return 1
- fi
-
- gnatProg="$src"
- doSubstitute "$gnatWrapper" "$dst"
- chmod +x "$dst"
-}
-
-mkGnatLinkWrapper() {
- local dst=$1
- local src=$2
-
- if ! test -f "$src"; then
- echo "$src does not exist (skipping)"
- return 1
- fi
-
- gnatlinkProg="$src"
- doSubstitute "$gnatlinkWrapper" "$dst"
- chmod +x "$dst"
-}
-
-if mkGccWrapper $out/bin/gcc $gccPath/gcc
-then
- ln -sv gcc $out/bin/cc
-fi
-
-if mkGccWrapper $out/bin/g++ $gccPath/g++
-then
- ln -sv g++ $out/bin/c++
-fi
-
-mkGccWrapper $out/bin/cpp $gccPath/cpp || true
-
-if mkGccWrapper $out/bin/gfortran $gccPath/gfortran
-then
- ln -sv gfortran $out/bin/g77
- ln -sv gfortran $out/bin/f77
-fi
-
-mkGccWrapper $out/bin/gcj $gccPath/gcj || true
-
-mkGccWrapper $out/bin/gccgo $gccPath/gccgo || true
-
-mkGccWrapper $out/bin/gnatgcc $gccPath/gnatgcc || true
-mkGnatWrapper $out/bin/gnatmake $gccPath/gnatmake || true
-mkGnatWrapper $out/bin/gnatbind $gccPath/gnatbind || true
-mkGnatLinkWrapper $out/bin/gnatlink $gccPath/gnatlink || true
-
-if [ -f $gccPath/ghdl ]; then
- ln -sf $gccPath/ghdl $out/bin/ghdl
-fi
-
-
-# Create a symlink to as (the assembler). This is useful when a
-# gcc-wrapper is installed in a user environment, as it ensures that
-# the right assembler is called.
-ln -s $ldPath/as $out/bin/as
-
-
-# Make a wrapper around the linker.
-doSubstitute "$ldWrapper" "$out/bin/ld"
-chmod +x "$out/bin/ld"
-
-# Copy solaris ld wrapper if needed
-if $ldPath/ld -V 2>&1 |grep Solaris; then
- # Use Solaris specific linker wrapper
- sed -e "s^@ld@^$ldPath/ld^g" < "$ldSolarisWrapper" > "$out/bin/ld-solaris"
- chmod +x "$out/bin/ld-solaris"
-fi
-
-
-# Emit a setup hook. Also store the path to the original GCC and
-# Glibc.
-test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc
-test -n "$libc" && echo $libc > $out/nix-support/orig-libc
-
-doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
-
-doSubstitute "$setupHook" "$out/nix-support/setup-hook"
-
-cp -p $utils $out/nix-support/utils.sh
-
-
-# Propagate the wrapped gcc so that if you install the wrapper, you get
-# tools like gcov, the manpages, etc. as well (including for binutils
-# and Glibc).
-if test -z "$nativeTools"; then
- echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages
-fi
diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix
index 8e8b0b90945..b2f7d07560d 100644
--- a/pkgs/build-support/gcc-wrapper/default.nix
+++ b/pkgs/build-support/gcc-wrapper/default.nix
@@ -1,28 +1,29 @@
-# The Nix `gcc' stdenv.mkDerivation is not directly usable, since it doesn't
-# know where the C library and standard header files are. Therefore
-# the compiler produced by that package cannot be installed directly
-# in a user environment and used from the command line. This
-# stdenv.mkDerivation provides a wrapper that sets up the right environment
-# variables so that the compiler and the linker just "work".
+# The Nixpkgs GCC is not directly usable, since it doesn't know where
+# the C library and standard header files are. Therefore the compiler
+# produced by that package cannot be installed directly in a user
+# environment and used from the command line. So we use a wrapper
+# script that sets up the right environment variables so that the
+# compiler and the linker just "work".
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
-, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null
+, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
+, zlib ? null, extraPackages ? []
}:
+with stdenv.lib;
+
assert nativeTools -> nativePrefix != "";
assert !nativeTools -> gcc != null && binutils != null && coreutils != null;
assert !nativeLibc -> libc != null;
-# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper
-assert (gcc != null && gcc ? langVhdl && gcc.langVhdl) -> zlib != null;
+# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper.
+assert gcc.langVhdl or false -> zlib != null;
let
gccVersion = (builtins.parseDrvName gcc.name).version;
gccName = (builtins.parseDrvName gcc.name).name;
- langGo = if nativeTools then false else gcc ? langGo && gcc.langGo;
in
stdenv.mkDerivation {
@@ -30,31 +31,198 @@ stdenv.mkDerivation {
(if name != "" then name else gccName + "-wrapper") +
(if gcc != null && gccVersion != "" then "-" + gccVersion else "");
- builder = ./builder.sh;
- setupHook = ./setup-hook.sh;
- gccWrapper = ./gcc-wrapper.sh;
- gnatWrapper = ./gnat-wrapper.sh;
- gnatlinkWrapper = ./gnatlink-wrapper.sh;
- ldWrapper = ./ld-wrapper.sh;
- ldSolarisWrapper = ./ld-solaris-wrapper.sh;
- utils = ./utils.sh;
- addFlags = ./add-flags;
+ preferLocalBuild = true;
- inherit nativeTools nativeLibc nativePrefix gcc;
+ inherit gcc shell;
libc = if nativeLibc then null else libc;
binutils = if nativeTools then null else binutils;
- # The wrapper scripts use 'cat', so we may need coreutils
+ # The wrapper scripts use 'cat', so we may need coreutils.
coreutils = if nativeTools then null else coreutils;
- langC = if nativeTools then true else gcc.langC;
- langCC = if nativeTools then true else gcc.langCC;
- langFortran = if nativeTools then false else gcc ? langFortran;
- langAda = if nativeTools then false else gcc ? langAda && gcc.langAda;
- langVhdl = if nativeTools then false else gcc ? langVhdl && gcc.langVhdl;
- zlib = if gcc != null && gcc ? langVhdl then zlib else null;
- shell = if shell == "" then stdenv.shell else
- if builtins.isAttrs shell then (shell + shell.shellPath)
- else shell;
+ passthru = { inherit nativeTools nativeLibc nativePrefix; };
+
+ buildCommand =
+ ''
+ mkdir -p $out/bin $out/nix-support
+
+ wrap() {
+ local dst="$1"
+ local wrapper="$2"
+ export prog="$3"
+ substituteAll "$wrapper" "$out/bin/$dst"
+ chmod +x "$out/bin/$dst"
+ }
+ ''
+
+ + optionalString (!nativeLibc) ''
+ dynamicLinker="$libc/lib/$dynamicLinker"
+ echo $dynamicLinker > $out/nix-support/dynamic-linker
+
+ if [ -e $libc/lib/32/ld-linux.so.2 ]; then
+ echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
+ fi
+
+ # The "-B$libc/lib/" flag is a quick hack to force gcc to link
+ # against the crt1.o from our own glibc, rather than the one in
+ # /usr/lib. (This is only an issue when using an `impure'
+ # compiler/linker, i.e., one that searches /usr/lib and so on.)
+ #
+ # Unfortunately, setting -B appears to override the default search
+ # path. Thus, the gcc-specific "../includes-fixed" directory is
+ # now longer searched and glibc's header fails to
+ # compile, because it uses "#include_next " to find the
+ # limits.h file in ../includes-fixed. To remedy the problem,
+ # another -idirafter is necessary to add that directory again.
+ echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
+
+ echo "-L$libc/lib" > $out/nix-support/libc-ldflags
+
+ # The dynamic linker is passed in `ldflagsBefore' to allow
+ # explicit overrides of the dynamic linker by callers to gcc/ld
+ # (the *last* value counts, so ours should come first).
+ echo "-dynamic-linker" $dynamicLinker > $out/nix-support/libc-ldflags-before
+
+ echo $libc > $out/nix-support/orig-libc
+ ''
+
+ + (if nativeTools then ''
+ gccPath="${nativePrefix}/bin"
+ ldPath="${nativePrefix}/bin"
+ '' else ''
+ echo $gcc > $out/nix-support/orig-gcc
+
+ # GCC shows $gcc/lib in `gcc -print-search-dirs', but not
+ # $gcc/lib64 (even though it does actually search there...)..
+ # This confuses libtool. So add it to the compiler tool search
+ # path explicitly.
+ if [ -e "$gcc/lib64" -a ! -L "$gcc/lib64" ]; then
+ gccLDFlags+=" -L$gcc/lib64"
+ gccCFlags+=" -B$gcc/lib64"
+ fi
+ gccLDFlags+=" -L$gcc/lib"
+
+ ${optionalString gcc.langVhdl or false ''
+ gccLDFlags+=" -L${zlib}/lib"
+ ''}
+
+ # Find the gcc libraries path (may work only without multilib).
+ ${optionalString gcc.langAda or false ''
+ basePath=`echo $gcc/lib/*/*/*`
+ gccCFlags+=" -B$basePath -I$basePath/adainclude"
+ gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
+ echo "$gnatCFlags" > $out/nix-support/gnat-cflags
+ ''}
+
+ echo "$gccLDFlags" > $out/nix-support/gcc-ldflags
+ echo "$gccCFlags" > $out/nix-support/gcc-cflags
+
+ gccPath="$gcc/bin"
+ ldPath="$binutils/bin"
+
+ # Propagate the wrapped gcc so that if you install the wrapper,
+ # you get tools like gcov, the manpages, etc. as well (including
+ # for binutils and Glibc).
+ echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages
+
+ echo ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs
+ ''
+
+ + optionalString (stdenv.isSunOS && nativePrefix != "") ''
+ # Solaris needs an additional ld wrapper.
+ ldPath="${nativePrefix}/bin"
+ ld="$out/bin/ld-solaris"
+ wrap ld-solaris ${./ld-solaris-wrapper.sh}
+ '')
+
+ + ''
+ # Create a symlink to as (the assembler). This is useful when a
+ # gcc-wrapper is installed in a user environment, as it ensures that
+ # the right assembler is called.
+ if [ -e $ldPath/as ]; then
+ ln -s $ldPath/as $out/bin/as
+ fi
+
+ wrap ld ${./ld-wrapper.sh} ''${ld:-$ldPath/ld}
+
+ if [ -e $binutils/bin/ld.gold ]; then
+ wrap ld.gold ${./ld-wrapper.sh} $binutils/bin/ld.gold
+ fi
+
+ if [ -e $binutils/bin/ld.bfd ]; then
+ wrap ld.bfd ${./ld-wrapper.sh} $binutils/bin/ld.bfd
+ fi
+
+ if [ -e $gccPath/gcc ]; then
+ wrap gcc ${./gcc-wrapper.sh} $gccPath/gcc
+ ln -s gcc $out/bin/cc
+ elif [ -e $gccPath/clang ]; then
+ wrap clang ${./gcc-wrapper.sh} $gccPath/clang
+ ln -s clang $out/bin/cc
+ fi
+
+ if [ -e $gccPath/g++ ]; then
+ wrap g++ ${./gcc-wrapper.sh} $gccPath/g++
+ ln -s g++ $out/bin/c++
+ elif [ -e $gccPath/clang++ ]; then
+ wrap clang++ ${./gcc-wrapper.sh} $gccPath/clang++
+ ln -s clang++ $out/bin/c++
+ fi
+
+ if [ -e $gccPath/cpp ]; then
+ wrap cpp ${./gcc-wrapper.sh} $gccPath/cpp
+ fi
+ ''
+
+ + optionalString gcc.langFortran or false ''
+ wrap gfortran ${./gcc-wrapper.sh} $gccPath/gfortran
+ ln -sv gfortran $out/bin/g77
+ ln -sv gfortran $out/bin/f77
+ ''
+
+ + optionalString gcc.langJava or false ''
+ wrap gcj ${./gcc-wrapper.sh} $gccPath/gcj
+ ''
+
+ + optionalString gcc.langGo or false ''
+ wrap gccgo ${./gcc-wrapper.sh} $gccPath/gccgo
+ ''
+
+ + optionalString gcc.langAda or false ''
+ wrap gnatgcc ${./gcc-wrapper.sh} $gccPath/gnatgcc
+ wrap gnatmake ${./gnat-wrapper.sh} $gccPath/gnatmake
+ wrap gnatbind ${./gnat-wrapper.sh} $gccPath/gnatbind
+ wrap gnatlink ${./gnatlink-wrapper.sh} $gccPath/gnatlink
+ ''
+
+ + optionalString gcc.langVhdl or false ''
+ ln -s $gccPath/ghdl $out/bin/ghdl
+ ''
+
+ + ''
+ substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook
+ substituteAll ${./add-flags} $out/nix-support/add-flags.sh
+ cp -p ${./utils.sh} $out/nix-support/utils.sh
+
+ if [ -e $out/bin/clang ]; then
+ echo 'export CC; : ''${CC:=clang}' >> $out/nix-support/setup-hook
+ fi
+
+ if [ -e $out/bin/clang++ ]; then
+ echo 'export CXX; : ''${CXX:=clang++}' >> $out/nix-support/setup-hook
+ fi
+ '';
+
+ # The dynamic linker has different names on different Linux platforms.
+ dynamicLinker =
+ if !nativeLibc then
+ (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
+ if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
+ # ARM with a wildcard, which can be "" or "-armhf".
+ if stdenv.isArm then "ld-linux*.so.3" else
+ if stdenv.system == "powerpc-linux" then "ld.so.1" else
+ if stdenv.system == "mips64el-linux" then "ld.so.1" else
+ abort "Don't know the name of the dynamic linker for this platform.")
+ else "";
crossAttrs = {
shell = shell.crossDrv + shell.crossDrv.shellPath;
@@ -73,8 +241,6 @@ stdenv.mkDerivation {
abort "don't know the name of the dynamic linker for this platform");
};
- preferLocalBuild = true;
-
meta =
let gcc_ = if gcc != null then gcc else {}; in
(if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) //
@@ -82,16 +248,4 @@ stdenv.mkDerivation {
stdenv.lib.attrByPath ["meta" "description"] "System C compiler" gcc_
+ " (wrapper script)";
};
-
- # The dynamic linker has different names on different Linux platforms.
- dynamicLinker =
- if !nativeLibc then
- (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
- if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
- # ARM with a wildcard, which can be "" or "-armhf".
- if stdenv.isArm then "ld-linux*.so.3" else
- if stdenv.system == "powerpc-linux" then "ld.so.1" else
- if stdenv.system == "mips64el-linux" then "ld.so.1" else
- abort "don't know the name of the dynamic linker for this platform")
- else "";
}
diff --git a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
index 2ad7783a442..d0c82c82dc1 100644
--- a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
@@ -1,10 +1,10 @@
#! @shell@ -e
-if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
+if [ -n "$NIX_GCC_WRAPPER_START_HOOK" ]; then
source "$NIX_GCC_WRAPPER_START_HOOK"
fi
-if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
+if [ -z "$NIX_GCC_WRAPPER_FLAGS_SET" ]; then
source @out@/nix-support/add-flags.sh
fi
@@ -18,26 +18,26 @@ getVersion=0
nonFlagArgs=0
for i in "$@"; do
- if test "$i" = "-c"; then
+ if [ "$i" = -c ]; then
dontLink=1
- elif test "$i" = "-S"; then
+ elif [ "$i" = -S ]; then
dontLink=1
- elif test "$i" = "-E"; then
+ elif [ "$i" = -E ]; then
dontLink=1
- elif test "$i" = "-E"; then
+ elif [ "$i" = -E ]; then
dontLink=1
- elif test "$i" = "-M"; then
+ elif [ "$i" = -M ]; then
dontLink=1
- elif test "$i" = "-MM"; then
+ elif [ "$i" = -MM ]; then
dontLink=1
- elif test "$i" = "-x"; then
+ elif [ "$i" = -x ]; then
# At least for the cases c-header or c++-header we should set dontLink.
# I expect no one use -x other than making precompiled headers.
dontLink=1
- elif test "${i:0:1}" != "-"; then
+ elif [ "${i:0:1}" != - ]; then
nonFlagArgs=1
- elif test "$i" = "-m32"; then
- if test -e @out@/nix-support/dynamic-linker-m32; then
+ elif [ "$i" = -m32 ]; then
+ if [ -e @out@/nix-support/dynamic-linker-m32 ]; then
NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
fi
fi
@@ -48,28 +48,28 @@ done
# "-c" flag). So if no non-flag arguments are given, don't pass any
# linker flags. This catches cases like "gcc" (should just print
# "gcc: no input files") and "gcc -v" (should print the version).
-if test "$nonFlagArgs" = "0"; then
+if [ "$nonFlagArgs" = 0 ]; then
dontLink=1
fi
# Optionally filter out paths not refering to the store.
params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
+if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" ]; then
rest=()
n=0
- while test $n -lt ${#params[*]}; do
+ while [ $n -lt ${#params[*]} ]; do
p=${params[n]}
p2=${params[$((n+1))]}
- if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
+ if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
skip $p
- elif test "$p" = "-L" && badPath "$p2"; then
+ elif [ "$p" = -L ] && badPath "$p2"; then
n=$((n + 1)); skip $p2
- elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then
+ elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then
skip $p
- elif test "$p" = "-I" && badPath "$p2"; then
+ elif [ "$p" = -I ] && badPath "$p2"; then
n=$((n + 1)); skip $p2
- elif test "$p" = "-isystem" && badPath "$p2"; then
+ elif [ "$p" = -isystem ] && badPath "$p2"; then
n=$((n + 1)); skip $p2
else
rest=("${rest[@]}" "$p")
@@ -84,11 +84,20 @@ fi
extraAfter=($NIX_CFLAGS_COMPILE)
extraBefore=()
-if test "$dontLink" != "1"; then
+# When enforcing purity, pretend gcc can't find the current date and
+# time
+if [ "$NIX_ENFORCE_PURITY" = 1 ]; then
+ extraAfter+=('-D__DATE__="Jan 01 1970"'
+ '-D__TIME__="00:00:01"'
+ -Wno-builtin-macro-redefined)
+fi
+
+
+if [ "$dontLink" != 1 ]; then
# Add the flags that should only be passed to the compiler when
# linking.
- extraAfter=(${extraAfter[@]} $NIX_CFLAGS_LINK)
+ extraAfter+=($NIX_CFLAGS_LINK)
# Add the flags that should be passed to the linker (and prevent
# `ld-wrapper' from adding NIX_LDFLAGS again).
@@ -96,11 +105,11 @@ if test "$dontLink" != "1"; then
extraBefore=(${extraBefore[@]} "-Wl,$i")
done
for i in $NIX_LDFLAGS; do
- if test "${i:0:3}" = "-L/"; then
- extraAfter=(${extraAfter[@]} "$i")
- else
- extraAfter=(${extraAfter[@]} "-Wl,$i")
- fi
+ if [ "${i:0:3}" = -L/ ]; then
+ extraAfter+=("$i")
+ else
+ extraAfter+=("-Wl,$i")
+ fi
done
export NIX_LDFLAGS_SET=1
fi
@@ -109,39 +118,29 @@ fi
# add anything. This is to prevent `gcc -v' (which normally prints
# out the version number and returns exit code 0) from printing out
# `No input files specified' and returning exit code 1.
-if test "$*" = "-v"; then
+if [ "$*" = -v ]; then
extraAfter=()
extraBefore=()
-fi
+fi
# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
- echo "original flags to @gccProg@:" >&2
+if [ -n "$NIX_DEBUG" ]; then
+ echo "original flags to @prog@:" >&2
for i in "${params[@]}"; do
echo " $i" >&2
done
- echo "extraBefore flags to @gccProg@:" >&2
+ echo "extraBefore flags to @prog@:" >&2
for i in ${extraBefore[@]}; do
echo " $i" >&2
done
- echo "extraAfter flags to @gccProg@:" >&2
+ echo "extraAfter flags to @prog@:" >&2
for i in ${extraAfter[@]}; do
echo " $i" >&2
done
fi
-if test -n "$NIX_GCC_WRAPPER_EXEC_HOOK"; then
+if [ -n "$NIX_GCC_WRAPPER_EXEC_HOOK" ]; then
source "$NIX_GCC_WRAPPER_EXEC_HOOK"
fi
-
-# Call the real `gcc'. Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs. Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_GCC_NEEDS_GREP"; then
- @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
- (@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
- | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
- exit $?
-fi
+exec @prog@ ${extraBefore[@]} "${params[@]}" "${extraAfter[@]}"
diff --git a/pkgs/build-support/gcc-wrapper/gnat-wrapper.sh b/pkgs/build-support/gcc-wrapper/gnat-wrapper.sh
index f6fa4b18400..3514ccd6732 100644
--- a/pkgs/build-support/gcc-wrapper/gnat-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/gnat-wrapper.sh
@@ -1,10 +1,10 @@
#! @shell@ -e
-if test -n "$NIX_GNAT_WRAPPER_START_HOOK"; then
+if [ -n "$NIX_GNAT_WRAPPER_START_HOOK" ]; then
source "$NIX_GNAT_WRAPPER_START_HOOK"
fi
-if test -z "$NIX_GNAT_WRAPPER_FLAGS_SET"; then
+if [ -z "$NIX_GNAT_WRAPPER_FLAGS_SET" ]; then
source @out@/nix-support/add-flags.sh
fi
@@ -18,14 +18,14 @@ getVersion=0
nonFlagArgs=0
for i in "$@"; do
- if test "$i" = "-c"; then
+ if [ "$i" = -c ]; then
dontLink=1
- elif test "$i" = "-M"; then
+ elif [ "$i" = -M ]; then
dontLink=1
- elif test "${i:0:1}" != "-"; then
+ elif [ "${i:0:1}" != - ]; then
nonFlagArgs=1
- elif test "$i" = "-m32"; then
- if test -e @out@/nix-support/dynamic-linker-m32; then
+ elif [ "$i" = -m32 ]; then
+ if [ -e @out@/nix-support/dynamic-linker-m32 ]; then
NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
fi
fi
@@ -36,26 +36,26 @@ done
# "-c" flag). So if no non-flag arguments are given, don't pass any
# linker flags. This catches cases like "gcc" (should just print
# "gcc: no input files") and "gcc -v" (should print the version).
-if test "$nonFlagArgs" = "0"; then
+if [ "$nonFlagArgs" = 0 ]; then
dontLink=1
fi
# Optionally filter out paths not refering to the store.
params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
+if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" ]; then
rest=()
n=0
- while test $n -lt ${#params[*]}; do
+ while [ $n -lt ${#params[*]} ]; do
p=${params[n]}
p2=${params[$((n+1))]}
- if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
+ if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
skip $p
- elif test "${p:0:3}" = "-I/" && badPath "${p:2}"; then
+ elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then
skip $p
- elif test "${p:0:4}" = "-aI/" && badPath "${p:3}"; then
+ elif [ "${p:0:4}" = -aI/ ] && badPath "${p:3}"; then
skip $p
- elif test "${p:0:4}" = "-aO/" && badPath "${p:3}"; then
+ elif [ "${p:0:4}" = -aO/ ] && badPath "${p:3}"; then
skip $p
else
rest=("${rest[@]}" "$p")
@@ -81,33 +81,23 @@ fi
#done
# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
- echo "original flags to @gnatProg@:" >&2
+if [ -n "$NIX_DEBUG" ]; then
+ echo "original flags to @prog@:" >&2
for i in "${params[@]}"; do
echo " $i" >&2
done
- echo "extraBefore flags to @gnatProg@:" >&2
+ echo "extraBefore flags to @prog@:" >&2
for i in ${extraBefore[@]}; do
echo " $i" >&2
done
- echo "extraAfter flags to @gnatProg@:" >&2
+ echo "extraAfter flags to @prog@:" >&2
for i in ${extraAfter[@]}; do
echo " $i" >&2
done
fi
-if test -n "$NIX_GNAT_WRAPPER_EXEC_HOOK"; then
+if [ -n "$NIX_GNAT_WRAPPER_EXEC_HOOK" ]; then
source "$NIX_GNAT_WRAPPER_EXEC_HOOK"
fi
-
-# Call the real `gcc'. Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs. Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_GNAT_NEEDS_GREP"; then
- @gnatProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
- (@gnatProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
- | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
- exit $?
-fi
+exec @prog@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
diff --git a/pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh b/pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh
index 25907108b4d..c9958dbbb41 100644
--- a/pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh
@@ -11,33 +11,23 @@ extraBefore=()
#done
# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
- echo "original flags to @gnatlinkProg@:" >&2
+if [ -n "$NIX_DEBUG" ]; then
+ echo "original flags to @prog@:" >&2
for i in "$@"; do
echo " $i" >&2
done
- echo "extraBefore flags to @gnatlinkProg@:" >&2
+ echo "extraBefore flags to @prog@:" >&2
for i in ${extraBefore[@]}; do
echo " $i" >&2
done
- echo "extraAfter flags to @gnatlinkProg@:" >&2
+ echo "extraAfter flags to @prog@:" >&2
for i in ${extraAfter[@]}; do
echo " $i" >&2
done
fi
-if test -n "$NIX_GNAT_WRAPPER_EXEC_HOOK"; then
+if [ -n "$NIX_GNAT_WRAPPER_EXEC_HOOK" ]; then
source "$NIX_GNAT_WRAPPER_EXEC_HOOK"
fi
-
-# Call the real `gcc'. Filter out warnings from stderr about unused
-# `-B' flags, since they confuse some programs. Deep bash magic to
-# apply grep to stderr (by swapping stdin/stderr twice).
-if test -z "$NIX_GNAT_NEEDS_GREP"; then
- @gnatlinkProg@ ${extraBefore[@]} "$@" ${extraAfter[@]}
-else
- (@gnatlinkProg@ ${extraBefore[@]} "$@" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
- | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
- exit $?
-fi
+exec @prog@ ${extraBefore[@]} "$@" ${extraAfter[@]}
diff --git a/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh
index 5a7b92b5ad7..9216ea3198d 100644
--- a/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh
@@ -6,7 +6,7 @@ set -u
# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'(
# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3
# but still no success.
-cmd="@ld@ -z ignore"
+cmd="@prog@ -z ignore"
args=("$@");
diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
index 822c4a03a21..894dbf9a352 100644
--- a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
@@ -1,10 +1,10 @@
#! @shell@ -e
-if test -n "$NIX_LD_WRAPPER_START_HOOK"; then
+if [ -n "$NIX_LD_WRAPPER_START_HOOK" ]; then
source "$NIX_LD_WRAPPER_START_HOOK"
fi
-if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
+if [ -z "$NIX_GCC_WRAPPER_FLAGS_SET" ]; then
source @out@/nix-support/add-flags.sh
fi
@@ -13,26 +13,26 @@ source @out@/nix-support/utils.sh
# Optionally filter out paths not refering to the store.
params=("$@")
-if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE" \
- -a \( -z "$NIX_IGNORE_LD_THROUGH_GCC" -o -z "$NIX_LDFLAGS_SET" \); then
+if [ "$NIX_ENFORCE_PURITY" = 1 -a -n "$NIX_STORE" \
+ -a \( -z "$NIX_IGNORE_LD_THROUGH_GCC" -o -z "$NIX_LDFLAGS_SET" \) ]; then
rest=()
n=0
- while test $n -lt ${#params[*]}; do
+ while [ $n -lt ${#params[*]} ]; do
p=${params[n]}
p2=${params[$((n+1))]}
- if test "${p:0:3}" = "-L/" && badPath "${p:2}"; then
+ if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
skip $p
- elif test "$p" = "-L" && badPath "$p2"; then
+ elif [ "$p" = -L ] && badPath "$p2"; then
n=$((n + 1)); skip $p2
- elif test "$p" = "-rpath" && badPath "$p2"; then
+ elif [ "$p" = -rpath ] && badPath "$p2"; then
n=$((n + 1)); skip $p2
- elif test "$p" = "-dynamic-linker" && badPath "$p2"; then
+ elif [ "$p" = -dynamic-linker ] && badPath "$p2"; then
n=$((n + 1)); skip $p2
- elif test "${p:0:1}" = "/" && badPath "$p"; then
+ elif [ "${p:0:1}" = / ] && badPath "$p"; then
# We cannot skip this; barf.
echo "impure path \`$p' used in link" >&2
exit 1
- elif test "${p:0:9}" = "--sysroot"; then
+ elif [ "${p:0:9}" = --sysroot ]; then
# Our ld is not built with sysroot support (Can we fix that?)
:
else
@@ -47,7 +47,7 @@ fi
extra=()
extraBefore=()
-if test -z "$NIX_LDFLAGS_SET"; then
+if [ -z "$NIX_LDFLAGS_SET" ]; then
extra+=($NIX_LDFLAGS)
extraBefore+=($NIX_LDFLAGS_BEFORE)
fi
@@ -56,12 +56,12 @@ extra+=($NIX_LDFLAGS_AFTER)
# Add all used dynamic libraries to the rpath.
-if test "$NIX_DONT_SET_RPATH" != "1"; then
+if [ "$NIX_DONT_SET_RPATH" != 1 ]; then
libPath=""
addToLibPath() {
local path="$1"
- if test "${path:0:1}" != "/"; then return 0; fi
+ if [ "${path:0:1}" != / ]; then return 0; fi
case "$path" in
*..*|*./*|*/.*|*//*)
local path2
@@ -75,12 +75,12 @@ if test "$NIX_DONT_SET_RPATH" != "1"; then
esac
libPath="$libPath $path "
}
-
+
addToRPath() {
# If the path is not in the store, don't add it to the rpath.
# This typically happens for libraries in /tmp that are later
# copied to $out/lib. If not, we're screwed.
- if test "${1:0:${#NIX_STORE}}" != "$NIX_STORE"; then return 0; fi
+ if [ "${1:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then return 0; fi
case $rpath in
*\ $1\ *) return 0 ;;
esac
@@ -97,21 +97,21 @@ if test "$NIX_DONT_SET_RPATH" != "1"; then
# First, find all -L... switches.
allParams=("${params[@]}" ${extra[@]})
n=0
- while test $n -lt ${#allParams[*]}; do
+ while [ $n -lt ${#allParams[*]} ]; do
p=${allParams[n]}
p2=${allParams[$((n+1))]}
- if test "${p:0:3}" = "-L/"; then
+ if [ "${p:0:3}" = -L/ ]; then
addToLibPath ${p:2}
- elif test "$p" = "-L"; then
+ elif [ "$p" = -L ]; then
addToLibPath ${p2}
n=$((n + 1))
- elif test "$p" = "-l"; then
+ elif [ "$p" = -l ]; then
addToLibs ${p2}
n=$((n + 1))
- elif test "${p:0:2}" = "-l"; then
+ elif [ "${p:0:2}" = -l ]; then
addToLibs ${p:2}
- elif test "$p" = "-dynamic-linker"; then
- # Ignore the dynamic linker argument, or it
+ elif [ "$p" = -dynamic-linker ]; then
+ # Ignore the dynamic linker argument, or it
# will get into the next 'elif'. We don't want
# the dynamic linker path rpath to go always first.
n=$((n + 1))
@@ -129,16 +129,16 @@ if test "$NIX_DONT_SET_RPATH" != "1"; then
# so, add the directory to the rpath.
# It's important to add the rpath in the order of -L..., so
# the link time chosen objects will be those of runtime linking.
-
+
for i in $libPath; do
for j in $libs; do
- if test -f "$i/lib$j.so"; then
+ if [ -f "$i/lib$j.so" ]; then
addToRPath $i
break
fi
done
done
-
+
# Finally, add `-rpath' switches.
for i in $rpath; do
@@ -148,19 +148,19 @@ fi
# Optionally print debug info.
-if test "$NIX_DEBUG" = "1"; then
- echo "original flags to @ld@:" >&2
+if [ -n "$NIX_DEBUG" ]; then
+ echo "original flags to @prog@:" >&2
for i in "${params[@]}"; do
echo " $i" >&2
done
- echo "extra flags to @ld@:" >&2
+ echo "extra flags to @prog@:" >&2
for i in ${extra[@]}; do
echo " $i" >&2
done
fi
-if test -n "$NIX_LD_WRAPPER_EXEC_HOOK"; then
+if [ -n "$NIX_LD_WRAPPER_EXEC_HOOK" ]; then
source "$NIX_LD_WRAPPER_EXEC_HOOK"
fi
-exec @ld@ ${extraBefore[@]} "${params[@]}" ${extra[@]}
+exec @prog@ ${extraBefore[@]} "${params[@]}" ${extra[@]}
diff --git a/pkgs/build-support/gcc-wrapper/setup-hook.sh b/pkgs/build-support/gcc-wrapper/setup-hook.sh
index 298ade21d1f..a6b7edbcb69 100644
--- a/pkgs/build-support/gcc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/gcc-wrapper/setup-hook.sh
@@ -1,33 +1,35 @@
+export NIX_GCC=@out@
+
addCVars () {
- if test -d $1/include; then
- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include"
+ if [ -d $1/include ]; then
+ export NIX_CFLAGS_COMPILE+=" -isystem $1/include"
fi
- if test -d $1/lib64; then
- export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib64"
+ if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
+ export NIX_LDFLAGS+=" -L$1/lib64"
fi
- if test -d $1/lib; then
- export NIX_LDFLAGS="$NIX_LDFLAGS -L$1/lib"
+ if [ -d $1/lib ]; then
+ export NIX_LDFLAGS+=" -L$1/lib"
fi
}
-envHooks=(${envHooks[@]} addCVars)
+envHooks+=(addCVars)
# Note: these come *after* $out in the PATH (see setup.sh).
-if test -n "@gcc@"; then
+if [ -n "@gcc@" ]; then
addToSearchPath PATH @gcc@/bin
fi
-if test -n "@binutils@"; then
+if [ -n "@binutils@" ]; then
addToSearchPath PATH @binutils@/bin
fi
-if test -n "@libc@"; then
+if [ -n "@libc@" ]; then
addToSearchPath PATH @libc@/bin
fi
-if test -n "@coreutils@"; then
+if [ -n "@coreutils@" ]; then
addToSearchPath PATH @coreutils@/bin
fi
diff --git a/pkgs/build-support/gcc-wrapper/utils.sh b/pkgs/build-support/gcc-wrapper/utils.sh
index 753b3772e95..3ab512d85c4 100644
--- a/pkgs/build-support/gcc-wrapper/utils.sh
+++ b/pkgs/build-support/gcc-wrapper/utils.sh
@@ -1,5 +1,5 @@
skip () {
- if test "$NIX_DEBUG" = "1"; then
+ if [ -n "$NIX_DEBUG" ]; then
echo "skipping impure path $1" >&2
fi
}
@@ -9,11 +9,11 @@ skip () {
# `/nix/store/.../lib/foo.so' isn't.
badPath() {
local p=$1
-
+
# Relative paths are okay (since they're presumably relative to
# the temporary build directory).
- if test "${p:0:1}" != "/"; then return 1; fi
-
+ if [ "${p:0:1}" != / ]; then return 1; fi
+
# Otherwise, the path should refer to the store or some temporary
# directory (including the build directory).
test \
diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
index bd6ac84a0f8..19e8f14ebf1 100644
--- a/pkgs/build-support/grsecurity/default.nix
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -32,7 +32,7 @@ let
grKernel = if cfg.stable
then mkKernel pkgs.linux_3_14 stable-patch
- else mkKernel pkgs.linux_3_16 test-patch;
+ else mkKernel pkgs.linux_3_17 test-patch;
## -- grsecurity configuration ---------------------------------------------
@@ -84,7 +84,7 @@ let
let boolToKernOpt = b: if b then "y" else "n";
# Disable RANDSTRUCT under virtualbox, as it has some kind of
# breakage with the vbox guest drivers
- #randstruct = optionalString config.services.virtualbox.enable
+ #randstruct = optionalString config.services.virtualboxGuest.enable
# "GRKERNSEC_RANDSTRUCT n";
# Disable restricting links under the testing kernel, as something
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index 409c98d8d3a..346e139d35d 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -108,7 +108,7 @@ stdenv.mkDerivation (
. ${./functions.sh}
origSrc=$src
- src=$(findTarballs $src | head -1)
+ src=$(findTarball $src)
'';
}
)
diff --git a/pkgs/build-support/release/binary-tarball.nix b/pkgs/build-support/release/binary-tarball.nix
index 41fab231ee3..f691b1bf735 100644
--- a/pkgs/build-support/release/binary-tarball.nix
+++ b/pkgs/build-support/release/binary-tarball.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation (
. ${./functions.sh}
origSrc=$src
- src=$(findTarballs $src | head -1)
+ src=$(findTarball $src)
if test -e $origSrc/nix-support/hydra-release-name; then
releaseName=$(cat $origSrc/nix-support/hydra-release-name)
diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index 3adfe41031d..7dcc9b9552a 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -32,7 +32,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
postHook = ''
. ${./functions.sh}
propagateImageName
- src=$(findTarballs $src | head -1) # Find a tarball.
+ src=$(findTarball $src)
'';
installExtraDebsPhase = ''
diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh
index efc4e7970cc..875a2da178d 100644
--- a/pkgs/build-support/release/functions.sh
+++ b/pkgs/build-support/release/functions.sh
@@ -1,34 +1,37 @@
-findTarballs() {
- local suffix
- test -d "$1/tarballs/" && {
+findTarball() {
+ local suffix i
+ if [ -d "$1/tarballs/" ]; then
for suffix in tar.gz tgz tar.bz2 tbz2 tar.xz tar.lzma; do
- ls $1/tarballs/*.$suffix 2> /dev/null
- done | sort
- }
- echo "$1"
+ for i in $1/tarballs/*.$suffix; do echo $i; break; done
+ done | sort | head -1
+ return
+ else
+ echo "$1"
+ return
+ fi
}
canonicalizeJarManifest() {
- local input=$1
- # http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
- (head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
- mv $input-tmp $input
+ local input=$1
+ # http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
+ (head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
+ mv $input-tmp $input
}
# Post-process a jar file to contain canonical timestamps and metadata ordering
canonicalizeJar() {
- local input=$1
- local outer=$(pwd)
- unzip -qq $input -d $input-tmp
- canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
- # Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
- find $input-tmp -exec touch -t 198001010000.00 {} +
- rm $input
- pushd $input-tmp
- zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
- popd
- rm -rf $input-tmp
- mv $outer/tmp-out.jar $input
+ local input=$1
+ local outer=$(pwd)
+ unzip -qq $input -d $input-tmp
+ canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
+ # Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
+ find $input-tmp -exec touch -t 198001010000.00 {} +
+ rm $input
+ pushd $input-tmp
+ zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
+ popd
+ rm -rf $input-tmp
+ mv $outer/tmp-out.jar $input
}
propagateImageName() {
diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix
index b80c9242ed2..6e0088adc3f 100644
--- a/pkgs/build-support/release/nix-build.nix
+++ b/pkgs/build-support/release/nix-build.nix
@@ -18,6 +18,8 @@
, prePhases ? []
, postPhases ? []
, buildInputs ? []
+, preHook ? ""
+, postHook ? ""
, ... } @ args:
let
@@ -89,7 +91,8 @@ stdenv.mkDerivation (
postHook = ''
. ${./functions.sh}
origSrc=$src
- src=$(findTarballs $src | head -1)
+ src=$(findTarball $src)
+ ${postHook}
'';
preHook = ''
@@ -105,6 +108,8 @@ stdenv.mkDerivation (
shopt -s expand_aliases
alias make="scan-build -o _clang_analyze_$name --html-title='Scan results for $name' make"
fi
+
+ ${preHook}
'';
# Clean up after analysis
diff --git a/pkgs/build-support/release/rpm-build.nix b/pkgs/build-support/release/rpm-build.nix
index 9a1c7eeee62..194bbc60534 100644
--- a/pkgs/build-support/release/rpm-build.nix
+++ b/pkgs/build-support/release/rpm-build.nix
@@ -16,7 +16,7 @@ vmTools.buildRPM (
preBuild = ''
. ${./functions.sh}
propagateImageName
- src=$(findTarballs $src | head -1) # Pick the first tarball.
+ src=$(findTarball $src)
'';
postInstall = ''
diff --git a/pkgs/build-support/setup-hooks/compress-man-pages.sh b/pkgs/build-support/setup-hooks/compress-man-pages.sh
new file mode 100644
index 00000000000..1dd9788419b
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/compress-man-pages.sh
@@ -0,0 +1,27 @@
+fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; fi')
+
+compressManPages() {
+ local dir="$1"
+
+ echo "gzipping man pages in $dir"
+
+ GLOBIGNORE=.:..:*.gz:*.bz2
+
+ for f in "$dir"/share/man/*/* "$dir"/share/man/*/*/*; do
+ if [ -f "$f" -a ! -L "$f" ]; then
+ if gzip -c -n "$f" > "$f".gz; then
+ rm "$f"
+ else
+ rm "$f".gz
+ fi
+ fi
+ done
+
+ for f in "$dir"/share/man/*/* "$dir"/share/man/*/*/*; do
+ if [ -L "$f" -a -f `readlink -f "$f"`.gz ]; then
+ ln -sf `readlink "$f"`.gz "$f".gz && rm "$f"
+ fi
+ done
+
+ unset GLOBIGNORE
+}
diff --git a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
index 5962bf03906..2b64fbf8f09 100644
--- a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
+++ b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
@@ -10,6 +10,8 @@
# their absolute path (using "install_name_tool -id"). It also
# rewrites references in other dylibs to absolute paths.
+postFixupHooks+=('fixDarwinDylibNamesIn $prefix')
+
fixDarwinDylibNames() {
local flags=()
local old_id
@@ -29,7 +31,3 @@ fixDarwinDylibNamesIn() {
local dir="$1"
fixDarwinDylibNames $(find "$dir" -name "*.dylib")
}
-
-postFixup() {
- fixDarwinDylibNamesIn "$prefix"
-}
diff --git a/pkgs/build-support/setup-hooks/move-docs.sh b/pkgs/build-support/setup-hooks/move-docs.sh
new file mode 100644
index 00000000000..c819ee12a9c
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/move-docs.sh
@@ -0,0 +1,50 @@
+# This setup hook moves $out/{man,doc,info} to $out/share; moves
+# $out/share/man to $man/share/man; and moves $out/share/doc to
+# $man/share/doc.
+
+preFixupHooks+=(_moveDocs)
+
+_moveToShare() {
+ forceShare=${forceShare:=man doc info}
+ if [ -z "$forceShare" -o -z "$out" ]; then return; fi
+
+ for d in $forceShare; do
+ if [ -d "$out/$d" ]; then
+ if [ -d "$out/share/$d" ]; then
+ echo "both $d/ and share/$d/ exist!"
+ else
+ echo "moving $out/$d to $out/share/$d"
+ mkdir -p $out/share
+ mv $out/$d $out/share/
+ fi
+ fi
+ done
+}
+
+_moveToOutput() {
+ local d="$1"
+ local dst="$2"
+ if [ -z "$dst" -a ! -e $dst/$d ]; then return; fi
+ local output
+ for output in $outputs; do
+ if [ "${!output}" = "$dst" ]; then continue; fi
+ if [ -d "${!output}/$d" ]; then
+ echo "moving ${!output}/$d to $dst/$d"
+ mkdir -p $dst/share
+ mv ${!output}/$d $dst/$d
+ break
+ fi
+ done
+}
+
+_moveDocs() {
+ _moveToShare
+ _moveToOutput share/man "$man"
+ _moveToOutput share/info "$info"
+ _moveToOutput share/doc "$doc"
+
+ # Remove empty share directory.
+ if [ -d "$out/share" ]; then
+ rmdir $out/share 2> /dev/null || true
+ fi
+}
diff --git a/pkgs/build-support/setup-hooks/move-lib64.sh b/pkgs/build-support/setup-hooks/move-lib64.sh
new file mode 100644
index 00000000000..46c90fcea6b
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/move-lib64.sh
@@ -0,0 +1,21 @@
+# This setup hook, for each output, moves everything in $output/lib64
+# to $output/lib, and replaces $output/lib64 with a symlink to
+# $output/lib. The rationale is that lib64 directories are unnecessary
+# in Nix (since 32-bit and 64-bit builds of a package are in different
+# store paths anyway).
+
+fixupOutputHooks+=(_moveLib64)
+
+_moveLib64() {
+ if [ "$dontMoveLib64" = 1 ]; then return; fi
+ if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
+ echo "moving $prefix/lib64/* to $prefix/lib"
+ mkdir -p $prefix/lib
+ shopt -s dotglob
+ for i in $prefix/lib64/*; do
+ mv "$i" $prefix/lib
+ done
+ shopt -u dotglob
+ rmdir $prefix/lib64
+ ln -s lib $prefix/lib64
+}
diff --git a/pkgs/build-support/setup-hooks/move-sbin.sh b/pkgs/build-support/setup-hooks/move-sbin.sh
new file mode 100644
index 00000000000..cc51c27cafd
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/move-sbin.sh
@@ -0,0 +1,19 @@
+# This setup hook, for each output, moves everything in $output/sbin
+# to $output/bin, and replaces $output/sbin with a symlink to
+# $output/bin.
+
+fixupOutputHooks+=(_moveSbin)
+
+_moveSbin() {
+ if [ "$dontMoveSbin" = 1 ]; then return; fi
+ if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
+ echo "moving $prefix/sbin/* to $prefix/bin"
+ mkdir -p $prefix/bin
+ shopt -s dotglob
+ for i in $prefix/sbin/*; do
+ mv "$i" $prefix/bin
+ done
+ shopt -u dotglob
+ rmdir $prefix/sbin
+ ln -s bin $prefix/sbin
+}
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
new file mode 100644
index 00000000000..5a7f23b2d81
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -0,0 +1,62 @@
+# This setup hook causes the fixup phase to rewrite all script
+# interpreter file names (`#! /path') to paths found in $PATH. E.g.,
+# /bin/sh will be rewritten to /nix/store/-some-bash/bin/sh.
+# /usr/bin/env gets special treatment so that ".../bin/env python" is
+# rewritten to /nix/store//bin/python. Interpreters that are
+# already in the store are left untouched.
+
+fixupOutputHooks+=('if [ -z "$dontPatchShebangs" ]; then patchShebangs "$prefix"; fi')
+
+patchShebangs() {
+ local dir="$1"
+ header "patching script interpreter paths in $dir"
+ local f
+ local oldPath
+ local newPath
+ local arg0
+ local args
+ local oldInterpreterLine
+ local newInterpreterLine
+
+ find "$dir" -type f -perm +0100 | while read f; do
+ if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then
+ # missing shebang => not a script
+ continue
+ fi
+
+ oldInterpreterLine=$(head -1 "$f" | tail -c +3)
+ read -r oldPath arg0 args <<< "$oldInterpreterLine"
+
+ if $(echo "$oldPath" | grep -q "/bin/env$"); then
+ # Check for unsupported 'env' functionality:
+ # - options: something starting with a '-'
+ # - environment variables: foo=bar
+ if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
+ echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
+ exit 1
+ fi
+ newPath="$(command -v "$arg0" || true)"
+ else
+ if [ "$oldPath" = "" ]; then
+ # If no interpreter is specified linux will use /bin/sh. Set
+ # oldpath="/bin/sh" so that we get /nix/store/.../sh.
+ oldPath="/bin/sh"
+ fi
+ newPath="$(command -v "$(basename "$oldPath")" || true)"
+ args="$arg0 $args"
+ fi
+
+ newInterpreterLine="$newPath $args"
+
+ if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
+ if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
+ echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
+ # escape the escape chars so that sed doesn't interpret them
+ escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
+ sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
+ fi
+ fi
+ done
+
+ stopNest
+}
diff --git a/pkgs/build-support/setup-hooks/set-java-classpath.sh b/pkgs/build-support/setup-hooks/set-java-classpath.sh
index 76e8e42ca26..047da91bc97 100644
--- a/pkgs/build-support/setup-hooks/set-java-classpath.sh
+++ b/pkgs/build-support/setup-hooks/set-java-classpath.sh
@@ -10,4 +10,4 @@ addPkgToClassPath () {
done
}
-envHooks=(''${envHooks[@]} addPkgToClassPath)
+envHooks+=(addPkgToClassPath)
diff --git a/pkgs/build-support/setup-hooks/strip.sh b/pkgs/build-support/setup-hooks/strip.sh
new file mode 100644
index 00000000000..6860c9b9cb9
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/strip.sh
@@ -0,0 +1,36 @@
+# This setup hook strips libraries and executables in the fixup phase.
+
+fixupOutputHooks+=(_doStrip)
+
+_doStrip() {
+ if [ -z "$dontStrip" ]; then
+ stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin}
+ if [ -n "$stripDebugList" ]; then
+ stripDirs "$stripDebugList" "${stripDebugFlags:--S}"
+ fi
+
+ stripAllList=${stripAllList:-}
+ if [ -n "$stripAllList" ]; then
+ stripDirs "$stripAllList" "${stripAllFlags:--s}"
+ fi
+ fi
+}
+
+stripDirs() {
+ local dirs="$1"
+ local stripFlags="$2"
+ local dirsNew=
+
+ for d in ${dirs}; do
+ if [ -d "$prefix/$d" ]; then
+ dirsNew="${dirsNew} $prefix/$d "
+ fi
+ done
+ dirs=${dirsNew}
+
+ if [ -n "${dirs}" ]; then
+ header "stripping (with flags $stripFlags) in$dirs"
+ find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $commonStripFlags $stripFlags || true
+ stopNest
+ fi
+}
diff --git a/pkgs/build-support/substitute-files/substitute-all-files.nix b/pkgs/build-support/substitute-files/substitute-all-files.nix
new file mode 100644
index 00000000000..64291901603
--- /dev/null
+++ b/pkgs/build-support/substitute-files/substitute-all-files.nix
@@ -0,0 +1,22 @@
+{ stdenv }:
+
+args:
+
+stdenv.mkDerivation ({
+ name = if args ? name then args.name else baseNameOf (toString args.src);
+ builder = with stdenv.lib; builtins.toFile "builder.sh" ''
+ source $stdenv/setup
+ set -o pipefail
+
+ eval "$preInstall"
+
+ args=
+
+ cd "$src"
+ echo -ne "${concatStringsSep "\\0" args.files}" | xargs -0 -n1 -I {} -- find {} -type f -print0 | while read -d "" line; do
+ mkdir -p "$out/$(dirname "$line")"
+ substituteAll "$line" "$out/$line"
+ done
+ '';
+ preferLocalBuild = true;
+} // args)
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index c08a6c3a265..78e671e8d22 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -1,4 +1,4 @@
-{ stdenv, lndir }:
+{ lib, stdenv, lndir }:
rec {
@@ -30,7 +30,7 @@ rec {
(test -n "$executable" && chmod +x "$n") || true
'';
-
+
# Shorthands for `writeTextFile'.
writeText = name: text: writeTextFile {inherit name text;};
writeTextDir = name: text: writeTextFile {inherit name text; destination = "/${name}";};
@@ -55,9 +55,9 @@ rec {
(''
mkdir -p $out/nix-support
cp ${script} $out/nix-support/setup-hook
- '' + stdenv.lib.optionalString (deps != []) ''
+ '' + lib.optionalString (deps != []) ''
echo ${toString deps} > $out/nix-support/propagated-native-build-inputs
- '' + stdenv.lib.optionalString (substitutions != {}) ''
+ '' + lib.optionalString (substitutions != {}) ''
substituteAll ${script} $out/nix-support/setup-hook
'');
@@ -80,7 +80,7 @@ rec {
# Quickly create a set of symlinks to derivations.
# entries is a list of attribute sets like { name = "name" ; path = "/nix/store/..."; }
linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" +
- (stdenv.lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
+ (lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
# Require file
requireFile = {name, sha256, url ? null, message ? null} :
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 72cc7f68b09..962f9f6a10f 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -52,11 +52,11 @@ rec {
createDeviceNodes = dev:
''
- mknod ${dev}/null c 1 3
- mknod ${dev}/zero c 1 5
- mknod ${dev}/random c 1 8
- mknod ${dev}/urandom c 1 9
- mknod ${dev}/tty c 5 0
+ mknod -m 666 ${dev}/null c 1 3
+ mknod -m 666 ${dev}/zero c 1 5
+ mknod -m 666 ${dev}/random c 1 8
+ mknod -m 666 ${dev}/urandom c 1 9
+ mknod -m 666 ${dev}/tty c 5 0
mknod ${dev}/rtc c 254 0
. /sys/class/block/${hd}/uevent
mknod ${dev}/${hd} b $MAJOR $MINOR
@@ -118,7 +118,7 @@ rec {
mount -t 9p store /fs/nix/store -o trans=virtio,version=9p2000.L,msize=262144,cache=loose
mkdir -p /fs/tmp
- mount -t tmpfs -o "mode=755" none /fs/tmp
+ mount -t tmpfs -o "mode=1777" none /fs/tmp
echo "mounting host's temporary directory..."
mkdir -p /fs/tmp/xchg
@@ -1511,6 +1511,40 @@ rec {
packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
};
+ ubuntu1410i386 = {
+ name = "ubuntu-14.10-utopic-i386";
+ fullName = "Ubuntu 14.10 Utopic (i386)";
+ packagesLists =
+ [ (fetchurl {
+ url = mirror://ubuntu/dists/utopic/main/binary-i386/Packages.bz2;
+ sha256 = "d703032d9291783772c790c17d428ea6cf6d04c3baac5159e623ae60b681e64e";
+ })
+ (fetchurl {
+ url = mirror://ubuntu/dists/utopic/universe/binary-i386/Packages.bz2;
+ sha256 = "cc9232b7fd937bd8894ad6daf28bd4b2a7428e09a0c1661c708e846b3af24ec8";
+ })
+ ];
+ urlPrefix = mirror://ubuntu;
+ packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
+ };
+
+ ubuntu1410x86_64 = {
+ name = "ubuntu-14.10-utopic-amd64";
+ fullName = "Ubuntu 14.10 Utopic (amd64)";
+ packagesList =
+ [ (fetchurl {
+ url = mirror://ubuntu/dists/utopic/main/binary-amd64/Packages.bz2;
+ sha256 = "56b5cce1a2c8ae1ea46b1d4c50345f0fc8f1108a8db27f6dd8409d566eb517c9";
+ })
+ (fetchurl {
+ url = mirror://ubuntu/dists/utopic/universe/binary-amd64/Packages.bz2;
+ sha256 = "66ca2bf3363b4b45b97e5f5047bd736947d672c31693ed78bacd36e63b19bb63";
+ })
+ ];
+ urlPrefix = mirror://ubuntu;
+ packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
+ };
+
debian40i386 = {
name = "debian-4.0r9-etch-i386";
fullName = "Debian 4.0r9 Etch (i386)";
@@ -1582,22 +1616,22 @@ rec {
debian70x86_64 = debian7x86_64;
debian7i386 = {
- name = "debian-7.6-wheezy-i386";
- fullName = "Debian 7.6 Wheezy (i386)";
+ name = "debian-7.7-wheezy-i386";
+ fullName = "Debian 7.7 Wheezy (i386)";
packagesList = fetchurl {
url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
- sha256 = "773ba601513cd7ef1d5192ad8baa795fa050573d82568c577cdf79adade698a3";
+ sha256 = "f2fd890597b6f0d82c5d66ccc8b12a963937a0576a377dd0ccbe47de4c1b09c8";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;
};
debian7x86_64 = {
- name = "debian-7.6-wheezy-amd64";
- fullName = "Debian 7.6 Wheezy (amd64)";
+ name = "debian-7.7-wheezy-amd64";
+ fullName = "Debian 7.7 Wheezy (amd64)";
packagesList = fetchurl {
url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
- sha256 = "11a8bd3648d51f51e56c9f5382168cc47267d67ef6a050826e1cd358ed46cc17";
+ sha256 = "8ce14e88febc58310a1c13350f016ce583f068d10031ed4f0cb50985707786d8";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 2ec66152f7d..603ae5c684b 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
- name = "man-pages-3.73";
+ name = "man-pages-3.75";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
- sha256 = "01qcafrq9z55kh5q97fir13l9cg2a1ls7ijkgzj99kgc6vkc90h5";
+ sha256 = "1xnja13a3zb7gzcsdn7sx962lk6mj8m3rz1w7fpgvhsq745cmah6";
};
preBuild =
diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix
new file mode 100644
index 00000000000..33c002e9801
--- /dev/null
+++ b/pkgs/data/documentation/stdman/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, curl, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ name = "stdman-${version}";
+ version = "d860212";
+
+ src = fetchFromGitHub {
+ owner = "jeaye";
+ repo = "stdman";
+ rev = "d860212767ca60472e33aa3bad22a3eac834b1f8";
+ sha256 = "09c5gjhcz97ghfrv9zkgfb1wckvmqnhbzga0xidbm1ir7640di8l";
+ };
+
+ preConfigure = "
+ patchShebangs ./configure
+ patchShebangs ./do_install
+ ";
+
+ buildInputs = [ curl ];
+
+ meta = with stdenv.lib; {
+ description = "Formatted C++11/14 stdlib man pages (cppreference)";
+ longDescription = "stdman is a tool that parses archived HTML
+ files from cppreference and generates groff-formatted manual
+ pages for Unix-based systems. The goal is to provide excellent
+ formatting for easy readability.";
+ homepage = https://github.com/jeaye/stdman;
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.twey ];
+ };
+}
diff --git a/pkgs/data/fonts/aurulent-sans/default.nix b/pkgs/data/fonts/aurulent-sans/default.nix
index a56efa35c7c..d6b4829d730 100644
--- a/pkgs/data/fonts/aurulent-sans/default.nix
+++ b/pkgs/data/fonts/aurulent-sans/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
description = "Aurulent Sans";
longDescription = "Aurulent Sans is a humanist sans serif intended to be used as an interface font.";
homepage = http://delubrum.org/;
- license = "SIL";
+ license = stdenv.lib.licenses.ofl;
platforms = stdenv.lib.platforms.all;
};
}
diff --git a/pkgs/data/fonts/clearlyU/default.nix b/pkgs/data/fonts/clearlyU/default.nix
index 2761ed6f3e6..b4750c90faa 100644
--- a/pkgs/data/fonts/clearlyU/default.nix
+++ b/pkgs/data/fonts/clearlyU/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
meta = {
description = "A Unicode font";
+ maintainers = [stdenv.lib.maintainers.raskin];
};
}
diff --git a/pkgs/data/fonts/freefont-ttf/default.nix b/pkgs/data/fonts/freefont-ttf/default.nix
index e1d9e1614f3..51505320ba4 100644
--- a/pkgs/data/fonts/freefont-ttf/default.nix
+++ b/pkgs/data/fonts/freefont-ttf/default.nix
@@ -1,13 +1,15 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, unzip}:
stdenv.mkDerivation rec {
- name = "freefont-ttf-20100919";
+ name = "freefont-ttf-20120503";
src = fetchurl {
- url = "mirror://gnu/freefont/${name}.tar.gz";
- sha256 = "1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4";
+ url = "mirror://gnu/freefont/${name}.zip";
+ sha256 = "1bw9mrf5pqi2a29b7qw4nhhj566aqqmi28hkbn2a38c2pzqvm1bw";
};
+ buildInputs = [ unzip ];
+
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
diff --git a/pkgs/data/fonts/hasklig/default.nix b/pkgs/data/fonts/hasklig/default.nix
new file mode 100644
index 00000000000..d2de6f63be3
--- /dev/null
+++ b/pkgs/data/fonts/hasklig/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+ name = "hasklig-0.4";
+
+ src = fetchurl {
+ url = "https://github.com/i-tu/Hasklig/releases/download/0.4/Hasklig-0.4.zip";
+ sha256 = "14j0zfapw6s6x5psp1rvx2i59rxdwb1jgwfgfhzhypr22qy40xi8";
+ };
+
+ buildInputs = [ unzip ];
+
+ sourceRoot = ".";
+
+ phases = [ "unpackPhase" "installPhase" ];
+
+ installPhase = ''
+ mkdir -p $out/share/fonts/opentype
+ cp *.otf $out/share/fonts/opentype
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/i-tu/Hasklig";
+ description = "A font with ligatures for Haskell code based off Source Code Pro";
+ license = licenses.ofl;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ davidrusu ];
+ };
+}
diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix
index ea579a589c4..45025701a1d 100644
--- a/pkgs/data/fonts/junicode/default.nix
+++ b/pkgs/data/fonts/junicode/default.nix
@@ -1,24 +1,23 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation {
- name = "junicode-0.6.15";
+ name = "junicode-0.7.8";
src = fetchurl {
- url = mirror://sourceforge/junicode/junicode-0.6.15.zip;
- sha256 = "0p16r5s6qwyz0hayb6k61s5r2sfachlx7r6gpqqx5myx6ipbfdns";
+ url = mirror://sourceforge/junicode/junicode/junicode-0-7-8/junicode-0-7-8.zip;
+ sha256 = "1lgkhj52s351ya7lp9z3xba7kaivgdvg80njhpj1rpc3jcmc69vl";
};
buildInputs = [ unzip ];
- sourceRoot = ".";
-
installPhase =
''
mkdir -p $out/share/fonts/junicode-ttf
- cp *.ttf $out/share/fonts/junicode-ttf
+ cp fonts/*.ttf $out/share/fonts/junicode-ttf
'';
meta = {
+ homepage = http://junicode.sourceforge.net/;
description = "A Unicode font";
};
}
diff --git a/pkgs/data/fonts/kochi-substitute-naga10/default.nix b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
index 98ab8a3bcac..ea2c15752d7 100644
--- a/pkgs/data/fonts/kochi-substitute-naga10/default.nix
+++ b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
'';
meta = {
- description = "Japanese font, non-free replacement for MS Gothic and MS Mincho.";
+ description = "Japanese font, non-free replacement for MS Gothic and MS Mincho";
longDescription = ''
Kochi Gothic and Kochi Mincho were developed as free replacements for the
MS Gothic and MS Mincho fonts from Microsoft. This version of the fonts
diff --git a/pkgs/data/fonts/kochi-substitute/default.nix b/pkgs/data/fonts/kochi-substitute/default.nix
index dec20fd5100..574bc7f2921 100644
--- a/pkgs/data/fonts/kochi-substitute/default.nix
+++ b/pkgs/data/fonts/kochi-substitute/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
'';
meta = {
- description = "Japanese font, a free replacement for MS Gothic and MS Mincho.";
+ description = "Japanese font, a free replacement for MS Gothic and MS Mincho";
longDescription = ''
Kochi Gothic and Kochi Mincho were developed as free replacements for the
MS Gothic and MS Mincho fonts from Microsoft. These are the Debian
diff --git a/pkgs/data/fonts/meslo-lg/default.nix b/pkgs/data/fonts/meslo-lg/default.nix
new file mode 100644
index 00000000000..fe123f6622d
--- /dev/null
+++ b/pkgs/data/fonts/meslo-lg/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+ version = "1.2.1";
+
+ name = "meslo-lg";
+
+ meslo-lg = fetchurl {
+ url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20v${version}.zip?raw=true";
+ name="${name}";
+ sha256="1l08mxlzaz3i5bamnfr49s2k4k23vdm64b8nz2ha33ysimkbgg6h";
+ };
+
+ meslo-lg-dz = fetchurl {
+ url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20DZ%20v${version}.zip?raw=true";
+ name="${name}-dz";
+ sha256="0lnbkrvcpgz9chnvix79j6fiz36wj6n46brb7b1746182rl1l875";
+ };
+
+ buildInputs = [ unzip ];
+
+ sourceRoot = ".";
+
+ phases = [ "unpackPhase" "installPhase" ];
+ unpackPhase = ''
+ unzip -j ${meslo-lg}
+ unzip -j ${meslo-lg-dz}
+ '';
+
+ installPhase = ''
+ mkdir -p $out/share/fonts/truetype
+ cp *.ttf $out/share/fonts/truetype
+ '';
+
+ meta = {
+ description = "A customized version of Apple’s Menlo-Regular font";
+ homepage = https://github.com/andreberg/Meslo-Font/;
+ license = stdenv.lib.licenses.asl20;
+ maintainers = with stdenv.lib.maintainers; [ balajisivaraman ];
+ platforms = with stdenv.lib.platforms; all;
+ };
+}
diff --git a/pkgs/data/fonts/opensans-ttf/default.nix b/pkgs/data/fonts/opensans-ttf/default.nix
index 2e0f3d5df2a..946efa00b9a 100644
--- a/pkgs/data/fonts/opensans-ttf/default.nix
+++ b/pkgs/data/fonts/opensans-ttf/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
'';
homepage = "http://en.wikipedia.org/wiki/Open_Sans";
- license = "Apache";
+ license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.all;
maintainers = [ ];
diff --git a/pkgs/data/fonts/poly/default.nix b/pkgs/data/fonts/poly/default.nix
index 63006fdd4f8..1bd0d898067 100644
--- a/pkgs/data/fonts/poly/default.nix
+++ b/pkgs/data/fonts/poly/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
'';
meta = {
- description = "Medium contrast serif font.";
+ description = "Medium contrast serif font";
longDescription = ''
With short ascenders and a very high x-height, Poly is efficient in small
sizes. Thanks to its careful balance between the x-height and glyph widths,
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/binary.nix b/pkgs/data/fonts/redhat-liberation-fonts/binary.nix
new file mode 100644
index 00000000000..e3d2cfe0226
--- /dev/null
+++ b/pkgs/data/fonts/redhat-liberation-fonts/binary.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+ version = "2.00.1";
+ name = "liberation-fonts-${version}";
+ src = fetchurl {
+ url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
+ sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
+ };
+
+ installPhase = ''
+ mkdir -p $out/share/fonts/truetype
+ cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
+
+ mkdir -p "$out/doc/${name}"
+ cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
+ '';
+
+ meta = {
+ description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
+
+ longDescription = ''
+ The Liberation Fonts are intended to be replacements for the three most
+ commonly used fonts on Microsoft systems: Times New Roman, Arial, and
+ Courier New.
+
+ There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
+ Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
+ New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
+ (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
+ Bitstream Vera Sans Mono).
+
+ You are free to use these fonts on any system you would like. You are
+ free to redistribute them under the GPL+exception license found in the
+ download. Using these fonts does not subject your documents to the
+ GPL---it liberates them from any proprietary claim.
+ '';
+
+ # See `License.txt' for details.
+ license = stdenv.lib.licenses.gpl2Oss;
+
+ homepage = https://fedorahosted.org/liberation-fonts/;
+
+ maintainers = [
+ stdenv.lib.maintainers.raskin
+ stdenv.lib.maintainers.ludo
+ ];
+ };
+}
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/default.nix b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
index 08faeafc619..f6d98088ef9 100644
--- a/pkgs/data/fonts/redhat-liberation-fonts/default.nix
+++ b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
@@ -1,18 +1,21 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, fontforge, pythonPackages, python}:
stdenv.mkDerivation rec {
- name = "liberation-fonts-1.04";
+ name = "liberation-fonts-2.00.1";
+
src = fetchurl {
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz";
- sha256 = "189i6pc4jqhhmsb9shi8afg9af9crpmz9bnlldhqaxavr1bhj38f";
+ sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
};
-
+
+ buildInputs = [ fontforge pythonPackages.fonttools python ];
+
installPhase = ''
mkdir -p $out/share/fonts/truetype
- cp -v *.ttf $out/share/fonts/truetype
+ cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}"
- cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}"
+ cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
'';
meta = {
@@ -36,7 +39,7 @@ stdenv.mkDerivation rec {
'';
# See `License.txt' for details.
- license = "GPLv2 + exception";
+ license = stdenv.lib.licenses.gpl2Oss;
homepage = https://fedorahosted.org/liberation-fonts/;
diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix
index 8fde0c6ef03..dc5bcb5b9a7 100644
--- a/pkgs/data/fonts/source-code-pro/default.nix
+++ b/pkgs/data/fonts/source-code-pro/default.nix
@@ -37,6 +37,6 @@ rec {
maintainers = with a.lib.maintainers; [ relrod ];
platforms = with a.lib.platforms; all;
homepage = "http://blog.typekit.com/2012/09/24/source-code-pro/";
- license = "OFL";
+ license = a.lib.licenses.ofl;
};
}) x
diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix
index 70375a22bae..7efb1ea3947 100644
--- a/pkgs/data/fonts/symbola/default.nix
+++ b/pkgs/data/fonts/symbola/default.nix
@@ -1,15 +1,15 @@
{stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
- name = "symbola-7.17";
+ name = "symbola-7.18";
src = fetchurl {
url = "http://users.teilar.gr/~g1951d/Symbola.zip";
- sha256 = "19q5wcqk1rz8ps7jvvx1rai6x8ais79z71sm8d36hvsk2vr135al";
+ sha256 = "1dk0qawlgdfh58pz2wb80rs9h8m20nmnr4bhk6jmva8201ixz62f";
};
docs_pdf = fetchurl {
url = "http://users.teilar.gr/~g1951d/Symbola.pdf";
- sha256 = "11h2202p1p4np4nv5m8k41wk7431p2m35sjpmbi1ygizakkbla3p";
+ sha256 = "16f37fsi2zyy3ka409g3m5d9c09l0ba3rqkz912j90p4588dvk85";
};
buildInputs = [ unzip ];
diff --git a/pkgs/data/fonts/ubuntu-font-family/default.nix b/pkgs/data/fonts/ubuntu-font-family/default.nix
index 130aeef88ab..d64a8883d32 100644
--- a/pkgs/data/fonts/ubuntu-font-family/default.nix
+++ b/pkgs/data/fonts/ubuntu-font-family/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
contemporary style and contains characteristics unique to
the Ubuntu brand that convey a precise, reliable and free attitude.";
homepage = http://font.ubuntu.com/;
- license = "free";
+ license = stdenv.lib.licenses.free;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.antono ];
};
diff --git a/pkgs/data/fonts/ucs-fonts/default.nix b/pkgs/data/fonts/ucs-fonts/default.nix
index 1d2aa5e62d3..bcba3957109 100644
--- a/pkgs/data/fonts/ucs-fonts/default.nix
+++ b/pkgs/data/fonts/ucs-fonts/default.nix
@@ -34,5 +34,6 @@ wrapFonts (stdenv.mkDerivation {
meta = {
description = "Unicode bitmap fonts";
+ maintainers = [stdenv.lib.maintainers.raskin];
};
})
diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
index 52e9ebf0617..94a65f6e63e 100644
--- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix
+++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
description = "Mobile broadband service provider database";
homepage = http://live.gnome.org/NetworkManager/MobileBroadband/ServiceProviders;
platforms = stdenv.lib.platforms.all;
- license = "CC-PD";
+ license = stdenv.lib.licenses.publicDomain;
maintainers = [ stdenv.lib.maintainers.urkud ];
};
}
diff --git a/pkgs/data/misc/poppler-data/default.nix b/pkgs/data/misc/poppler-data/default.nix
index 9e2679c0438..59dd4da792b 100644
--- a/pkgs/data/misc/poppler-data/default.nix
+++ b/pkgs/data/misc/poppler-data/default.nix
@@ -1,11 +1,11 @@
{ fetchurl, stdenv, cmake }:
stdenv.mkDerivation rec {
- name = "poppler-data-0.4.6";
+ name = "poppler-data-0.4.7";
src = fetchurl {
url = "http://poppler.freedesktop.org/${name}.tar.gz";
- sha256 = "1yhaz74b50hjkz3ii077kmq3qg3p3kdyxm33cv6r1njvz8fr01pk";
+ sha256 = "1pm7wg6xqj4sppb5az4pa7psfdk4yxxkw52j85bm9fksibcb0lp7";
};
buildInputs = [ cmake ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
homepage = http://poppler.freedesktop.org/;
description = "Encoding files for Poppler, a PDF rendering library";
platforms = stdenv.lib.platforms.all;
- license = "free"; # more free licenses combined
+ license = stdenv.lib.licenses.free; # more free licenses combined
maintainers = [ stdenv.lib.maintainers.urkud ];
};
}
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 6a4427bea40..df3f3ec8224 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl }:
-let version = "2014g"; in
+let version = "2014j"; in
stdenv.mkDerivation rec {
name = "tzdata-${version}";
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
srcs =
[ (fetchurl {
url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
- sha256 = "0w52hafnf82vy678rm8p39ckymcj6shv5376zwzzbxw2m6vxaism";
+ sha256 = "038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52";
})
(fetchurl {
url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
- sha256 = "0ymg0cscpbfj9jpnx4g9apmfrixq6z8dch99h6a77k2pmnj5ymfz";
+ sha256 = "1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z";
})
];
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.iana.org/time-zones;
description = "Database of current and historical time zones";
+ platforms = stdenv.lib.platforms.all;
};
}
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
index e4e5a7367c6..7ff79488a89 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
@@ -21,4 +21,7 @@ import ./generic.nix {
postInstall = "
sed 's|V4.2|V4.1.2|g' < ${docbook42catalog} > catalog.xml
";
+ meta = {
+ branch = "4.1.2";
+ };
}
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
index 47cbbf33c01..7071d4a471f 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
@@ -7,4 +7,7 @@ import ./generic.nix {
url = http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip;
md5 = "73fe50dfe74ca631c1602f558ed8961f";
};
+ meta = {
+ branch = "4.2";
+ };
}
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
index 6a2e4e65a82..478dd68e8bb 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
@@ -7,4 +7,7 @@ import ./generic.nix {
url = http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip;
md5 = "ab200202b9e136a144db1e0864c45074";
};
+ meta = {
+ branch = "4.3";
+ };
}
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
index eb26d185bbe..669536962a1 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
@@ -7,4 +7,7 @@ import ./generic.nix {
url = http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip;
sha256 = "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf";
};
+ meta = {
+ branch = "4.5";
+ };
}
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
index f4ee845b5f1..29a18f4ce69 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl, unzip, src, name, postInstall ? "true"}:
+{ stdenv, fetchurl, unzip, src, name, postInstall ? "true", meta ? {} }:
assert unzip != null;
stdenv.mkDerivation {
- inherit src name postInstall;
+ inherit src name postInstall meta;
builder = ./builder.sh;
buildInputs = [unzip];
}
diff --git a/pkgs/desktops/e17/default.nix b/pkgs/desktops/e17/default.nix
deleted file mode 100644
index 648a3577863..00000000000
--- a/pkgs/desktops/e17/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ callPackage, pkgs }:
-rec {
- #### CORE EFL
-
- eina = callPackage ./eina { };
-
- eet = callPackage ./eet { };
-
- evas = callPackage ./evas { };
-
- ecore = callPackage ./ecore { };
-
- eio = callPackage ./eio { };
-
- embryo = callPackage ./embryo { };
-
- edje = callPackage ./edje { lua = pkgs.lua5; };
-
- efreet = callPackage ./efreet { };
-
- e_dbus = callPackage ./e_dbus { };
-
- eeze = callPackage ./eeze { };
-
- emotion = callPackage ./emotion { };
-
- ethumb = callPackage ./ethumb { };
-
- elementary = callPackage ./elementary { };
-
-
- #### WINDOW MANAGER
-
- enlightenment = callPackage ./enlightenment { };
-
-
- #### APPLICATIONS
-
- terminology = callPackage ./terminology { };
-
-
-
- #### ART
-
-
-
-
-}
diff --git a/pkgs/desktops/e17/e_dbus/default.nix b/pkgs/desktops/e17/e_dbus/default.nix
deleted file mode 100644
index cfc0203b3e0..00000000000
--- a/pkgs/desktops/e17/e_dbus/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, expat, ecore, eina, evas
-, dbus_libs }:
-stdenv.mkDerivation rec {
- name = "e_dbus-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "16ckrpzzw5x1cs0fwqkk8431al55xil5magihkp9l3s77g0qd26q";
- };
- buildInputs = [ pkgconfig zlib libjpeg expat ecore eina evas ];
- propagatedBuildInputs = [ dbus_libs ];
- setupHook = ./setup-hook.sh;
- configureFlags = ''
- --disable-edbus-test
- --disable-edbus-test-client
- --disable-edbus-notify-send
- --disable-edbus-notify-test
- --disable-edbus-async-test
- '';
- meta = {
- description = "Enlightenment's D-Bus wrapping and glue layer library";
- longDescription = ''
- Enlightenment's E_Dbus is a set of wrappers around DBus APIs by
- third party, so they can be easily used by EFL applications,
- automatically providing Ecore/main loop integration, as well as
- Eina data types.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/e_dbus/setup-hook.sh b/pkgs/desktops/e17/e_dbus/setup-hook.sh
deleted file mode 100644
index d98f24b4c04..00000000000
--- a/pkgs/desktops/e17/e_dbus/setup-hook.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-addDbusIncludePath () {
- if test -d "$1/include/dbus-1.0"
- then
- export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/include/dbus-1.0 -I $1/lib/dbus-1.0/include"
- fi
-}
-
-envHooks=(${envHooks[@]} addDbusIncludePath)
diff --git a/pkgs/desktops/e17/ecore/default.nix b/pkgs/desktops/e17/ecore/default.nix
deleted file mode 100644
index 4a3eef4ec49..00000000000
--- a/pkgs/desktops/e17/ecore/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, evas, libX11, libXext, libXrender
-, libXcomposite, libXfixes, libXdamage }:
-stdenv.mkDerivation rec {
- name = "ecore-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "08ljda6p0zj1h5sq3l0js6mihw8cr6ydynn42dnka36vachvmfjb";
- };
- buildInputs = [ pkgconfig eina evas ];
- propagatedBuildInputs = [ libX11 libXext libXcomposite libXrender libXfixes
- libXdamage
- ];
- meta = {
- description = "Enlightenment's core mainloop, display abstraction and utility library";
- longDescription = ''
- Enlightenment's Ecore is a clean and tiny event loop library
- with many modules to do lots of convenient things for a
- programmer, to save time and effort.
-
- It's small and lean, designed to work on embedded systems all
- the way to large and powerful multi-cpu workstations. It
- serialises all system signals, events etc. into a single event
- queue, that is easily processed without needing to worry about
- concurrency. A properly written, event-driven program using this
- kind of programming doesn't need threads, nor has to worry about
- concurrency. It turns a program into a state machine, and makes
- it very robust and easy to follow.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/edje/default.nix b/pkgs/desktops/e17/edje/default.nix
deleted file mode 100644
index 62758b2094e..00000000000
--- a/pkgs/desktops/e17/edje/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, lua, expat, zlib, libjpeg, eina, eet, evas
-, ecore, embryo }:
-stdenv.mkDerivation rec {
- name = "edje-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "1hsyj46bk94yd9ymf9425pf4ygy36h5gdkg9fhf8qds8cnn2kcy7";
- };
- buildInputs = [ pkgconfig expat zlib libjpeg lua eina eet evas ecore embryo ];
- patchPhase = ''
- substituteInPlace src/bin/edje_cc_out.c --replace '%s/embryo_cc' '${embryo}/bin/embryo_cc'
- substituteInPlace src/bin/edje_cc_out.c --replace 'eina_prefix_bin_get(pfx),' ""
- '';
- meta = {
- description = "Enlightenment's abstract GUI layout and animation object library";
- longDescription = ''
- Enlightenment's Edje is a complex graphical design & layout
- library based on Evas that provides an abstraction layer between
- the application code and the interface, while allowing extremely
- flexible dynamic layouts and animations.
-
- In more popular terms, Edje makes every application that uses it
- "skinable".
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/eet/default.nix b/pkgs/desktops/e17/eet/default.nix
deleted file mode 100644
index 079d07187ff..00000000000
--- a/pkgs/desktops/e17/eet/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, zlib, libjpeg }:
-stdenv.mkDerivation rec {
- name = "eet-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "0ys2579v45f9x2n47shq0k63g0sdbj1ndhh72dvfajihsgjwd767";
- };
- buildInputs = [ pkgconfig eina zlib libjpeg ];
- meta = {
- description = "Enlightenment's data encode/decode and storage library";
- longDescription = ''
- Enlightenment's EET is a tiny library designed to write an
- arbitary set of chunks of data to a file and optionally compress
- each chunk (very much like a zip file) and allow fast
- random-access reading of the file later on. EET files are
- perfect for storing data that is written once (or rarely) and
- read many times, especially when the program does not want to
- have to read all the data in at once.
-
- Use this library when you need to pack C structure and you want
- to retrieve it quickly with as few as possible memory use. You
- can also use it to serialize data quickly and exchange them
- between two program over ipc or network link.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/eeze/default.nix b/pkgs/desktops/e17/eeze/default.nix
deleted file mode 100644
index 162fbcf1aef..00000000000
--- a/pkgs/desktops/e17/eeze/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, ecore, udev }:
-stdenv.mkDerivation rec {
- name = "eeze-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "0274fs4cxgw6420yyz9frrc8zhj0qqyvwczzslq3kih3sx1nikxr";
- };
- buildInputs = [ pkgconfig eina ecore ];
- propagatedBuildInputs = [ udev ];
- meta = {
- description = "Enlightenment's device abstraction library";
- longDescription = ''
- Enlightenment's Eeze is a library for manipulating devices
- through udev with a simple and fast api. It interfaces directly
- with libudev, avoiding such middleman daemons as udisks/upower
- or hal, to immediately gather device information the instant it
- becomes known to the system.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/efreet/default.nix b/pkgs/desktops/e17/efreet/default.nix
deleted file mode 100644
index dfe755db597..00000000000
--- a/pkgs/desktops/e17/efreet/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, eet, ecore }:
-stdenv.mkDerivation rec {
- name = "efreet-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "1yw7qjddqcnsz1vb693pa57v9wydvzfy198dc23mz46qfqx08nlg";
- };
- buildInputs = [ pkgconfig eina eet ecore ];
- meta = {
- description = "Enlightenment's standards handling for freedesktop.org standards";
- longDescription = ''
- Enlightenment's Efreet is a library designed to help apps work
- several of the Freedesktop.org standards regarding Icons,
- Desktop files and Menus. To that end it implements the following
- specifications:
-
- * XDG Base Directory Specification
- * Icon Theme Specification
- * Desktop Entry Specification
- * Desktop Menu Specification
- * FDO URI Specification
- * Shared Mime Info Specification
- * Trash Specification
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/eina/default.nix b/pkgs/desktops/e17/eina/default.nix
deleted file mode 100644
index 77d4829a841..00000000000
--- a/pkgs/desktops/e17/eina/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl }:
-stdenv.mkDerivation rec {
- name = "eina-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "0kd4116njrbag9h459cmfpg07c4ag04z3yrsg513lpi27amch27w";
- };
- meta = {
- description = "Enlightenment's core data structure library";
- longDescription = ''
- Enlightenment's Eina is a core data structure and common utility
- library.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.lgpl21;
- };
-}
diff --git a/pkgs/desktops/e17/eio/default.nix b/pkgs/desktops/e17/eio/default.nix
deleted file mode 100644
index b56422fd774..00000000000
--- a/pkgs/desktops/e17/eio/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eet, eina, ecore }:
-stdenv.mkDerivation rec {
- name = "eio-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "1bsam5q364kc4xwfv7pql6686gj0byhk42zwjqx9ajf70l23kss6";
- };
- buildInputs = [ pkgconfig eet eina ecore ];
- meta = {
- description = "A library that integrates with EFL to provide efficient filesystem IO";
- longDescription = ''
- Eio integrates with EFL (Ecore, Eina) to provide efficient filesystem Input/Output.
- It use the best techniques to achieve such purpose, like using at-variants, splice,
- properly handling errors and doing it in an asynchronous fashion by means of worker
- threads. It is also ported to Windows, so multi-platform.
-
- Whenever you need to list a directory, copy, move or delete files, Eio will do that
- task better than you'd achieve with naive implementations, and it is easy to use.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.lgpl21;
- };
-}
diff --git a/pkgs/desktops/e17/elementary/default.nix b/pkgs/desktops/e17/elementary/default.nix
deleted file mode 100644
index b0240d986de..00000000000
--- a/pkgs/desktops/e17/elementary/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje }:
-stdenv.mkDerivation rec {
- name = "elementary-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "08cb4x9639xyrb8d4vzvhl6v385qjfswl717sicm7iimh5zlm2l9";
- };
- buildInputs = [ pkgconfig eina eet evas ecore edje ];
- meta = {
- description = "Enlightenment's core data structure library";
- longDescription = ''
- Enlightenment's Eina is a core data structure and common utility
- library.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.lgpl21;
- };
-}
diff --git a/pkgs/desktops/e17/embryo/default.nix b/pkgs/desktops/e17/embryo/default.nix
deleted file mode 100644
index 59b5540f25d..00000000000
--- a/pkgs/desktops/e17/embryo/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina }:
-stdenv.mkDerivation rec {
- name = "embryo-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "104fsa179w2dfg00sfnap7c3b4ixcps4crxa6yav755awssdcim9";
- };
- buildInputs = [ pkgconfig eina ];
- meta = {
- description = "Enlightenment's small Pawn based virtual machine and compiler";
- longDescription = ''
- Enlightenment's Embryo is a tiny library designed to interpret
- limited Small programs compiled by the included compiler,
- embryo_cc. It is mostly a cleaned up and smaller version of the
- original Small abstract machine. The compiler is mostly
- untouched.
- '';
- homepage = http://enlightenment.org/;
- license = with stdenv.lib.licenses; [ bsd2.shortName bsd3.shortName ]; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/emotion/default.nix b/pkgs/desktops/e17/emotion/default.nix
deleted file mode 100644
index 9ec3631b1e7..00000000000
--- a/pkgs/desktops/e17/emotion/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, ecore, evas, eet, eina, edje, vlc }:
-stdenv.mkDerivation rec {
- name = "emotion-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "1sfw8kpj2fcqymzd6q7p51xxib1n2arvjl1hnwhqkvwhlsq2b4sw";
- };
- buildInputs = [ pkgconfig ecore evas eet eina edje vlc ];
- meta = {
- description = "A library to easily integrate media playback into EFL applications";
- longDescription = ''
- Emotion is a library to easily integrate media playback into EFL applications,
- it will take care of using Ecore's main loop and video display is done using Evas.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.lgpl21;
- };
-}
diff --git a/pkgs/desktops/e17/enlightenment/default.nix b/pkgs/desktops/e17/enlightenment/default.nix
deleted file mode 100644
index 953c90e8003..00000000000
--- a/pkgs/desktops/e17/enlightenment/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje, efreet, e_dbus
-, embryo, eio, xcbutilkeysyms, libjpeg }:
-stdenv.mkDerivation rec {
- name = "enlightenment-${version}";
- version = "0.17.1";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "1z2vx9r7yc55rs673jg7d685slgdv9dss45asg50wh5wxp2mfi3y";
- };
- buildInputs = [ pkgconfig eina eet ecore evas edje efreet e_dbus embryo
- eio xcbutilkeysyms libjpeg ];
- configureFlags = ''
- --with-profile=FAST_PC
- --disable-illume
- --disable-illume2
- '';
- meta = {
- description = "A window manager";
- longDescription = ''
- The Enlightenment Desktop shell provides an efficient yet
- breathtaking window manager based on the Enlightenment
- Foundation Libraries along with other essential desktop
- components like a file manager, desktop icons and widgets.
-
- It boasts a un-precedented level of theme-ability while still
- being capable of performing on older hardware or embedded
- devices.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/ethumb/default.nix b/pkgs/desktops/e17/ethumb/default.nix
deleted file mode 100644
index 344abe1e3f1..00000000000
--- a/pkgs/desktops/e17/ethumb/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, evas, ecore, edje, eet, e_dbus, emotion, libexif }:
-stdenv.mkDerivation rec {
- name = "ethumb-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "0prka3knz8p2n46dfrzgwn55khhhrhjny4vvnzkjcwmhvz7kgc9l";
- };
- buildInputs = [ pkgconfig eina evas ecore edje eet emotion libexif ];
- propagatedBuildInputs = [ e_dbus libexif ];
- meta = {
- description = "A thumbnail generation library";
- longDescription = ''
- Ethumb - thumbnail generation library. Features:
- * create thumbnails with a predefined frame (possibly an edje frame);
- * have an option to create fdo-like thumbnails;
- * have a client/server utility;
- * TODO: make thumbnails from edje backgrounds, icons and themes;
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.lgpl21;
- };
-}
diff --git a/pkgs/desktops/e17/evas/default.nix b/pkgs/desktops/e17/evas/default.nix
deleted file mode 100644
index c271caa980d..00000000000
--- a/pkgs/desktops/e17/evas/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, freetype, fontconfig, libpng, libjpeg
-, libX11, libXext, eina, eet }:
-stdenv.mkDerivation rec {
- name = "evas-${version}";
- version = "1.7.5";
- src = fetchurl {
- url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
- sha256 = "0x3k89q2wxgxjsbhdf4qws7jgpjl7rpqji98ca3nf25jf2lm1cvh";
- };
- buildInputs = [ pkgconfig freetype fontconfig libpng libjpeg
- libX11 libXext eina eet
- ];
- meta = {
- description = "Enlightenment's canvas and scenegraph rendering library";
- longDescription = ''
- Enlightenment's Evas is a clean display canvas API that
- implements a scene graph, not an immediate-mode rendering
- target, is cross-platform, for several target display systems
- that can draw anti-aliased text, smooth super and sub-sampled
- scaled images, alpha-blend objects and much more.
- '';
- homepage = http://enlightenment.org/;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e17/terminology/default.nix b/pkgs/desktops/e17/terminology/default.nix
deleted file mode 100644
index 692f4e73ac2..00000000000
--- a/pkgs/desktops/e17/terminology/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, elementary, eina, eet, evas, edje, emotion, ecore, ethumb, efreet }:
-
-stdenv.mkDerivation rec {
- name = "terminology-${version}";
- version = "0.5.1";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
- sha256 = "1b8m6fhzx2fdr3m6ak2163v33zc4svmg2k875m0xppzifdd9xvyf";
- };
- buildInputs = [ pkgconfig elementary eina eet evas ecore edje emotion ecore ethumb efreet ];
-
- meta = {
- description = "Terminology, the E17 terminal emulator";
- homepage = http://www.enlightenment.org/p.php?p=about/terminology;
- license = stdenv.lib.licenses.bsd2; # not sure
- };
-}
diff --git a/pkgs/desktops/e18/default.nix b/pkgs/desktops/e18/default.nix
deleted file mode 100644
index 56361eb85ce..00000000000
--- a/pkgs/desktops/e18/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ callPackage, pkgs }:
-rec {
- #### CORE EFL
- efl = callPackage ./efl.nix { };
- evas = callPackage ./evas.nix { };
- emotion = callPackage ./emotion.nix { };
- elementary = callPackage ./elementary.nix { };
-
- #### WINDOW MANAGER
- enlightenment = callPackage ./enlightenment.nix { };
-
- #### APPLICATIONS
- econnman = callPackage ./econnman.nix { };
- terminology = callPackage ./terminology.nix { };
-
-}
diff --git a/pkgs/desktops/e18/econnman.nix b/pkgs/desktops/e18/econnman.nix
deleted file mode 100644
index f2c67edf4f8..00000000000
--- a/pkgs/desktops/e18/econnman.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, python27, python27Packages, dbus, makeWrapper }:
-stdenv.mkDerivation rec {
- name = "econnman-${version}";
- version = "1.1";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
- sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
- };
-
- buildInputs = [ makeWrapper pkgconfig e18.efl python27 dbus ];
- propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus e18.elementary ];
- postInstall = ''
- wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/lib/python2.7/site-packages
- '';
-
- meta = {
- description = "Econnman is a user interface for the connman network connection manager";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.lgpl3;
- };
-}
diff --git a/pkgs/desktops/e18/efl.nix b/pkgs/desktops/e18/efl.nix
deleted file mode 100644
index ca09ac32ee5..00000000000
--- a/pkgs/desktops/e18/efl.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages }:
-stdenv.mkDerivation rec {
- name = "efl-${version}";
- version = "1.10.2";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
- sha256 = "0py8x0kv2hgl5v983xb6653fvmvn20im6picpc0hqfyxy09g1b24";
- };
- buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
- propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ];
- configureFlags = [ "--with-opengl=full" "--with-tests=none" "--enable-wayland" "--enable-sdl" "--enable-drm" ];
- preConfigure = ''
- export NIX_CFLAGS_COMPILE="-I${xlibs.libXtst} $NIX_CFLAGS_COMPILE"
- export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
- '';
- meta = {
- description = "Enlightenment Core libraries";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.lgpl3;
- };
-}
diff --git a/pkgs/desktops/e18/elementary.nix b/pkgs/desktops/e18/elementary.nix
deleted file mode 100644
index f808d5c905b..00000000000
--- a/pkgs/desktops/e18/elementary.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18 }:
-stdenv.mkDerivation rec {
- name = "elementary-${version}";
- version = "1.10.2";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
- sha256 = "0y3knvmabl9adc8pd54p7qxpf7gvciixc1rk40hqppwhdgbgpz28";
- };
- buildInputs = [ pkgconfig e18.efl ];
- preConfigure = ''
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
- '';
- meta = {
- description = "Widget set/toolkit";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.lgpl2;
- };
-}
diff --git a/pkgs/desktops/e18/emotion.nix b/pkgs/desktops/e18/emotion.nix
deleted file mode 100644
index 7e1c3be6400..00000000000
--- a/pkgs/desktops/e18/emotion.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, vlc }:
-stdenv.mkDerivation rec {
- name = "emotion_generic_players-${version}";
- version = "1.10.0";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
- sha256 = "1nwlrk9inrhiv6jpzji10ikcdlhzhz7f2b5qhi2ai8bb6j61ryyc";
- };
- buildInputs = [ pkgconfig e18.efl vlc ];
- preConfigure = ''
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
- '';
- meta = {
- description = "Extra video decoders";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.bsd2;
- };
-}
diff --git a/pkgs/desktops/e18/enlightenment.nix b/pkgs/desktops/e18/enlightenment.nix
deleted file mode 100644
index c3cd585e525..00000000000
--- a/pkgs/desktops/e18/enlightenment.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit, bzip2, set_freqset_setuid ? false }:
-
-stdenv.mkDerivation rec {
- name = "enlightenment-${version}";
- version = "0.18.8";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.gz";
- sha256 = "1fsigbrknkwy909p1gqwxag1bar3p413s4f6fq3qnbsd6gjbvj8l";
- };
- buildInputs = [ pkgconfig e18.efl e18.elementary xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 ];
- preConfigure = ''
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
- '';
-
- # this is a hack and without this cpufreq module is not working:
- # when set_freqset_setuid is true and "e18_freqset" is set in setuidPrograms (this is taken care of in e18 NixOS module),
- # then this postInstall does the folowing:
- # 1. moves the "freqset" binary to "e18_freqset",
- # 2. linkes "e18_freqset" to enlightenment/bin so that,
- # 3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e18_freqset,
- # 4. and finaly, linkes /var/setuid-wrappers/e18_freqset to original destination where enlightenment wants it
- postInstall = if set_freqset_setuid then ''
- export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
- mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e18_freqset
- ln -sv $CPUFREQ_DIRPATH/e18_freqset $out/bin/e18_freqset
- ln -sv /var/setuid-wrappers/e18_freqset $CPUFREQ_DIRPATH/freqset
- '' else "";
- meta = {
- description = "The Compositing Window Manager and Desktop Shell";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.bsd2;
- };
-}
diff --git a/pkgs/desktops/e18/evas.nix b/pkgs/desktops/e18/evas.nix
deleted file mode 100644
index 9ddd94dbaea..00000000000
--- a/pkgs/desktops/e18/evas.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, zlib }:
-stdenv.mkDerivation rec {
- name = "evas_generic_loaders-${version}";
- version = "1.10.0";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
- sha256 = "0qx44g7a8pzcgspx8q10zjiwzafis301fhpchd4pskfxhqd4qagm";
- };
- buildInputs = [ pkgconfig e18.efl zlib ];
- meta = {
- description = "Extra image decoders";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/e18/terminology.nix b/pkgs/desktops/e18/terminology.nix
deleted file mode 100644
index 892abc6ea5f..00000000000
--- a/pkgs/desktops/e18/terminology.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18 }:
-stdenv.mkDerivation rec {
- name = "terminology-${version}";
- version = "0.6.1";
- src = fetchurl {
- url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
- sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
- };
- buildInputs = [ pkgconfig e18.efl e18.elementary ];
- preConfigure = ''
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
- export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
- '';
- meta = {
- description = "The best terminal emulator written with the EFL";
- homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.bsd2;
- };
-}
diff --git a/pkgs/desktops/e19/econnman.nix b/pkgs/desktops/e19/econnman.nix
index 1e42895b4e2..0c09317d24f 100644
--- a/pkgs/desktops/e19/econnman.nix
+++ b/pkgs/desktops/e19/econnman.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Econnman is a user interface for the connman network connection manager";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl3;
};
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
index 2252bc91991..2367f47bac4 100644
--- a/pkgs/desktops/e19/efl.nix
+++ b/pkgs/desktops/e19/efl.nix
@@ -3,10 +3,10 @@
stdenv.mkDerivation rec {
name = "efl-${version}";
- version = "1.11.2";
+ version = "1.11.3";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
- sha256 = "123jrcifd7i0r9zh8qllqiz3d378fyy7fzkanyki9wbxlz91rk7k";
+ sha256 = "0s9pm3lfp7f2yf877xywjw8ihgr2yrns3gibak0gcwx7d8bfljfr";
};
buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Enlightenment Core libraries";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl3;
};
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
index db335a15620..4ee8c0b1a95 100644
--- a/pkgs/desktops/e19/elementary.nix
+++ b/pkgs/desktops/e19/elementary.nix
@@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, e19, libcap, gdbm }:
stdenv.mkDerivation rec {
name = "elementary-${version}";
- version = "1.11.2";
+ version = "1.11.3";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
- sha256 = "041hwp81qyq4wsw483g2jh52gcanqg046f91pmd0vzgwcgxyixqq";
+ sha256 = "1yr96imam9sckgagnp7wdvwmvr1xwakw29dih3gxp7nz7xsa0j8k";
};
buildInputs = [ pkgconfig e19.efl gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
preConfigure = ''
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Widget set/toolkit";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl2;
};
diff --git a/pkgs/desktops/e19/emotion.nix b/pkgs/desktops/e19/emotion.nix
index 781d884fe3b..269bfe32dbc 100644
--- a/pkgs/desktops/e19/emotion.nix
+++ b/pkgs/desktops/e19/emotion.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Extra video decoders";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.bsd2;
};
diff --git a/pkgs/desktops/e19/enlightenment.nix b/pkgs/desktops/e19/enlightenment.nix
index 95c5abdfa58..9faa03a6338 100644
--- a/pkgs/desktops/e19/enlightenment.nix
+++ b/pkgs/desktops/e19/enlightenment.nix
@@ -4,10 +4,10 @@
stdenv.mkDerivation rec {
name = "enlightenment-${version}";
- version = "0.19.0";
+ version = "0.19.1";
src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
- sha256 = "0d9s8gwma32hj8h000k1bzibr3zj8qajcf14va3w81k87gkilxfp";
+ sha256 = "016z1vilhjarpxzn5bwcw696d8b66rklnhkrwzfa5mcxn8gpmvap";
};
buildInputs = [ pkgconfig e19.efl e19.elementary xlibs.libXdmcp xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
preConfigure = ''
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The Compositing Window Manager and Desktop Shell";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.bsd2;
};
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
index 98b035f94e4..756c7badb07 100644
--- a/pkgs/desktops/e19/evas.nix
+++ b/pkgs/desktops/e19/evas.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Extra image decoders";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
};
diff --git a/pkgs/desktops/e19/terminology.nix b/pkgs/desktops/e19/terminology.nix
index 97bf07b298d..7b3bcbc5e40 100644
--- a/pkgs/desktops/e19/terminology.nix
+++ b/pkgs/desktops/e19/terminology.nix
@@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, e19 }:
stdenv.mkDerivation rec {
name = "terminology-${version}";
- version = "0.6.1";
+ version = "0.7.0";
src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
- sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
+ sha256 = "1x248dh9r292r8ycvf43vrfk4l8wpli50sgywp0zy3q93f8ljgs5";
};
buildInputs = [ pkgconfig e19.efl e19.elementary ];
preConfigure = ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The best terminal emulator written with the EFL";
homepage = http://enlightenment.org/;
- maintainers = [ stdenv.lib.maintainers.matejc ];
+ maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.bsd2;
};
diff --git a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
index 3da878dde74..8cd8635c85c 100644
--- a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
@@ -14,5 +14,5 @@ stdenv.mkDerivation {
";
buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt gettext];
- configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
+ configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/catalog.xml";
}
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch b/pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch
new file mode 100644
index 00000000000..68f379c2510
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch
@@ -0,0 +1,285 @@
+From ae783efde4fa69578651994505462f02b8639220 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev
+Date: Tue, 7 Aug 2012 06:53:09 -0400
+Subject: [PATCH] Use CUPS-1.6 IPP API getter/setter functions
+
+CUPS 1.6 makes various structures private and introduces these ippGet
+and ippSet functions for all of the fields in these structures.
+http://www.cups.org/str.php?L3928
+
+We define our own accessors when building against CUPS < 1.6.
+
+Based on work by Jiri Popelka at
+https://bugzilla.gnome.org/show_bug.cgi?id=679759
+---
+ libgnomecups/gnome-cups-printer.c | 48 +++++++++++++++++++++++++++++-------
+ libgnomecups/gnome-cups-queue.c | 43 +++++++++++++++++++++++++++------
+ libgnomecups/gnome-cups-request.c | 44 ++++++++++++++++++++++++++++-----
+ 3 files changed, 110 insertions(+), 25 deletions(-)
+
+diff --git a/libgnomecups/gnome-cups-printer.c b/libgnomecups/gnome-cups-printer.c
+index c924af0..f5e1ef7 100644
+--- a/libgnomecups/gnome-cups-printer.c
++++ b/libgnomecups/gnome-cups-printer.c
+@@ -37,6 +37,34 @@
+
+ #define UPDATE_TIMEOUT 5000
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr) attr->num_values
++#define ippGetName(attr) attr->name
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t *
++ippFirstAttribute(ipp_t *ipp)
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t *
++ippNextAttribute(ipp_t *ipp)
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++#endif
++
++
+ struct _GnomeCupsPPDFile {
+ char name[1];
+ };
+@@ -173,9 +201,9 @@ map_reasons (GnomeCupsPrinter *printer,
+ printer->details->state_reasons = NULL;
+
+ /* cf. RFC2911 4.4.12 */
+- for (i = 0; i < attr->num_values; i++) {
++ for (i = 0; i < ippGetCount (attr); i++) {
+ const char *p;
+- const char *keyword = attr->values [i].string.text;
++ const char *keyword = ippGetString (attr, i, NULL);
+
+ reason = g_new (GnomeCupsPrinterReason, 1);
+
+@@ -224,8 +252,8 @@ gnome_cups_printer_get_info (GnomeCupsPrinter *printer)
+ return printer->details->info;
+ }
+
+-#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if ((v) != attr->values[0].integer) { changed = TRUE; } (v) = attr->values[0].integer; }}
+-#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if (!v || strcmp (v, attr->values[0].string.text)) { g_free (v); changed = TRUE; (v) = g_strdup (attr->values[0].string.text); }}}
++#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if ((v) != ippGetInteger (attr, 0)) { changed = TRUE; } (v) = ippGetInteger (attr, 0); }}
++#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if (!v || strcmp (v, ippGetString (attr, 0, NULL))) { g_free (v); changed = TRUE; (v) = g_strdup (ippGetString (attr, 0, NULL)); }}}
+
+ static void
+ attributes_update_cb (guint id,
+@@ -243,14 +271,14 @@ attributes_update_cb (guint id,
+ changed = FALSE;
+
+ if (!error && response) {
+- for (attr = response->attrs; attr != NULL; attr = attr->next) {
+- if (!attr->name) {
++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
++ if (!ippGetName (attr)) {
+ continue;
+ }
+- if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !strcmp (attr->name, "attributes-charset")) {
++ if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !strcmp (ippGetName (attr), "attributes-charset")) {
+ continue;
+ }
+- if (!g_ascii_strcasecmp (attr->name, "printer-state-reasons")) {
++ if (!g_ascii_strcasecmp (ippGetName (attr), "printer-state-reasons")) {
+ map_reasons (printer, attr);
+ }
+ MAP_INT (printer->details->state, "printer-state");
+@@ -570,7 +598,7 @@ get_default (void)
+
+ attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
+ if (attr) {
+- name = g_strdup (attr->values[0].string.text);
++ name = g_strdup (ippGetString (attr, 0, NULL));
+ } else {
+ name = NULL;
+ }
+@@ -698,7 +726,7 @@ get_printer_names (void)
+ attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
+ while (attr) {
+ ret = g_list_prepend (ret,
+- g_strdup (attr->values[0].string.text));
++ g_strdup (ippGetString (attr, 0, NULL)));
+
+ attr = ippFindNextAttribute (response,
+ "printer-name",
+diff --git a/libgnomecups/gnome-cups-queue.c b/libgnomecups/gnome-cups-queue.c
+index 9f98ed9..298db42 100644
+--- a/libgnomecups/gnome-cups-queue.c
++++ b/libgnomecups/gnome-cups-queue.c
+@@ -15,6 +15,33 @@
+
+ #define UPDATE_TIMEOUT 3000
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetName(attr) attr->name
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t *
++ippFirstAttribute(ipp_t *ipp)
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t *
++ippNextAttribute(ipp_t *ipp)
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++#endif
++
++
+ struct _GnomeCupsQueueDetails {
+ char *queue_name;
+ GList *jobs;
+@@ -199,8 +226,8 @@ finish_job (GnomeCupsJob *job)
+ job->size = job->size * 1024;
+ }
+
+-#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (attr->values[0].string.text);}}
+-#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { (dest) = attr->values[0].integer; } }
++#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (ippGetString (attr, 0, NULL));}}
++#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { (dest) = ippGetInteger (attr, 0); } }
+
+ static void
+ get_jobs_cb (guint id,
+@@ -231,8 +258,8 @@ get_jobs_cb (guint id,
+
+ if (response) {
+ job = g_new0 (GnomeCupsJob, 1);
+- for (attr = response->attrs; attr != NULL; attr = attr->next) {
+- if (attr->name == NULL) {
++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
++ if (ippGetName (attr) == NULL) {
+ if (job->name) {
+ finish_job (job);
+ jobs = g_list_prepend (jobs, job);
+@@ -244,7 +271,7 @@ get_jobs_cb (guint id,
+ continue;
+ }
+
+- if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
++ if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
+ continue;
+
+ }
+@@ -355,8 +382,8 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
+
+ if (response) {
+ job = g_new0 (GnomeCupsJob, 1);
+- for (attr = response->attrs; attr != NULL; attr = attr->next) {
+- if (attr->name == NULL) {
++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
++ if (ippGetName (attr) == NULL) {
+ if (job->name) {
+ finish_job (job);
+ } else {
+@@ -366,7 +393,7 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
+ break;
+ }
+
+- if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
++ if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
+ continue;
+ }
+
+diff --git a/libgnomecups/gnome-cups-request.c b/libgnomecups/gnome-cups-request.c
+index c94f623..13f0948 100644
+--- a/libgnomecups/gnome-cups-request.c
++++ b/libgnomecups/gnome-cups-request.c
+@@ -19,6 +19,36 @@
+ #define STOP_UNUSED_THREADS_TIMEOUT 60
+ #define CLOSE_UNUSED_CONNECTIONS_TIMEOUT 30
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr) attr->num_values
++#define ippGetValueTag(attr) attr->value_tag
++#define ippGetName(attr) attr->name
++#define ippGetBoolean(attr, element) attr->values[element].boolean
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t *
++ippFirstAttribute(ipp_t *ipp)
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t *
++ippNextAttribute(ipp_t *ipp)
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++#endif
++
++
+ typedef struct
+ {
+ GMutex *mutex;
+@@ -276,14 +306,14 @@ dump_request (ipp_t const *req)
+ unsigned i;
+ ipp_attribute_t *attr;
+
+- for (attr = req->attrs; attr != NULL; attr = attr->next) {
+- g_print ("%s", attr->name);
+- for (i = 0 ; i < attr->num_values ; i++) {
++ for (attr = ippFirstAttribute (req); attr != NULL; attr = ippNextAttribute (req)) {
++ g_print ("%s", ippGetName (attr));
++ for (i = 0 ; i < ippGetCount (attr) ; i++) {
+ g_print ("\t[%d] = ", i);
+- switch (attr->value_tag & ~IPP_TAG_COPY) {
++ switch (ippGetValueTag (attr) & ~IPP_TAG_COPY) {
+ case IPP_TAG_INTEGER:
+ case IPP_TAG_ENUM:
+- g_print ("%d\n", attr->values[i].integer);
++ g_print ("%d\n", ippGetInteger (attr, i));
+ break;
+
+ case IPP_TAG_STRING:
+@@ -294,11 +324,11 @@ dump_request (ipp_t const *req)
+ case IPP_TAG_CHARSET:
+ case IPP_TAG_LANGUAGE:
+ case IPP_TAG_MIMETYPE:
+- g_print ("'%s'\n", attr->values[i].string.text);
++ g_print ("'%s'\n", ippGetString (attr, i, NULL));
+ break;
+
+ case IPP_TAG_BOOLEAN:
+- g_print ("%s\n", (int)attr->values[i].boolean ? "true" : "false");
++ g_print ("%s\n", (int)ippGetBoolean (attr, i) ? "true" : "false");
+ break;
+
+ default:
+--
+1.7.8.6
+
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
index 9a0afd1275d..2aa47d799c9 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0a8xdaxzz2wc0n1fjcav65093gixzyac3948l8cxx1mk884yhc71";
};
- patches = [ ./glib.patch ];
+ patches = [ ./glib.patch ./cups_1.6.patch ];
buildInputs = [ pkgconfig gtk gettext intltool libart_lgpl ];
diff --git a/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix
deleted file mode 100644
index ef460112d21..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, glib
-, hicolor_icon_theme, makeWrapper, itstool
-, clutter_gtk, libuuid, webkitgtk, zeitgeist
-, gnome3, librsvg, gdk_pixbuf, libxml2 }:
-
-stdenv.mkDerivation rec {
- name = "bijiben-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/bijiben/3.10/${name}.tar.xz";
- sha256 = "81257f85218968b0ad386da6e1143586de478870ca74bb5387646a479999a7d4";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig glib intltool itstool libxml2
- clutter_gtk libuuid webkitgtk gnome3.tracker
- gnome3.gnome_online_accounts zeitgeist
- gnome3.gsettings_desktop_schemas makeWrapper
- gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/bijiben" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Bijiben;
- description = "Note editor designed to remain simple to use";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl3;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix
deleted file mode 100644
index ee62c951b4c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify
-, makeWrapper, itstool, shared_mime_info, libical, db
-, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
-, libcanberra_gtk3, bogofilter, gst_all_1, procps }:
-
-stdenv.mkDerivation rec {
- name = "evolution-3.10.4";
-
- src = fetchurl {
- url = "mirror://gnome/sources/evolution/3.10/${name}.tar.xz";
- sha256 = "ac60557f264f211e6a7bc0ced919041c154e4c7b9c79600516aee7acc1d03e40";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
- gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
- gnome3.evolution_data_server libsecret libical
- webkitgtk shared_mime_info gnome3.gnome_desktop
- libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata
- gst_all_1.gstreamer gst_all_1.gst-plugins-base
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- nss nspr libnotify procps highlight gnome3.libgweather
- gnome3.gsettings_desktop_schemas makeWrapper ];
-
- configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ];
-
- NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/evolution" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Evolution;
- description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.lgpl2Plus;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix
deleted file mode 100644
index e13e169ccc5..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
-, attr, bzip2, acl, makeWrapper }:
-
-stdenv.mkDerivation rec {
- name = "file-roller-${version}";
-
- majVersion = "3.10";
- version = "${majVersion}.2.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz";
- sha256 = "14374z1yfbjlgpl4k1ih8b35x8kzvh99y22rwwkc2wfz0d0i1qgx";
- };
-
- # TODO: support nautilus
- # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
-
- buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
- attr bzip2 acl makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/file-roller" \
- --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
deleted file mode 100644
index 6b9a69c738d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl, enchant, isocodes
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libsoup, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
- name = "gedit-3.10.4";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gedit/3.10/${name}.tar.xz";
- sha256 = "40dc10b6e26fd8523087e7321a20a063f4c1e586dffd7ce8ee78eead11359f9e";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes
- gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup
- gnome3.libpeas gnome3.gtksourceview libxml2
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- gnome3.gsettings_desktop_schemas makeWrapper file ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/gedit" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Gedit;
- description = "Official text editor of the GNOME desktop environment";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix
deleted file mode 100644
index 5979d10fa70..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, intltool, fetchurl, python
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, libxml2, docbook_xsl
-, gnome3, librsvg, gdk_pixbuf, libxslt }:
-
-stdenv.mkDerivation rec {
- name = "glade-3.16.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz";
- sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python
- gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl
- gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/glade" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Glade;
- description = "User interface designer for GTK+ applications";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.lgpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix
deleted file mode 100644
index c39f731e028..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, intltool, fetchurl, libgweather, libnotify
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, libcanberra_gtk3, libtool
-, gnome3, librsvg, gdk_pixbuf, geoclue2 }:
-
-stdenv.mkDerivation rec {
- name = "gnome-clocks-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-clocks/3.10/${name}.tar.xz";
- sha256 = "5f6f3b7bb9929353d974aa444b10bb4d0f414176449cce2c626fabd2d4b55b43";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
- gnome3.gsettings_desktop_schemas makeWrapper
- gdk_pixbuf gnome3.gnome_icon_theme librsvg
- gnome3.gnome_desktop gnome3.geocode_glib geoclue2
- libgweather libnotify libtool
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-clocks" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Clocks;
- description = "Clock application designed for GNOME 3";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
deleted file mode 100644
index a8c84d6a769..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, intltool, fetchurl, evince, gjs
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, libxslt, webkitgtk
-, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
-, gobjectIntrospection, json_glib
-, gmp, desktop_file_utils }:
-
-stdenv.mkDerivation rec {
- name = "gnome-documents-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-documents/3.10/${name}.tar.xz";
- sha256 = "2b7267c9c4e5767039632cb31877ed2e57f994b657e8863dd79af5287db45745";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt
- docbook_xsl desktop_file_utils
- gnome3.gsettings_desktop_schemas makeWrapper gmp
- gdk_pixbuf gnome3.gnome_icon_theme librsvg evince
- libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
- gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
- gnome3.gnome_desktop gnome3.libzapojit json_glib
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
- wrapProgram "$out/bin/gnome-documents" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
- --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Documents;
- description = "Document manager application designed to work with GNOME 3";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
deleted file mode 100644
index 31d521e8c30..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
-, python3, libxml2, python3Packages, libnotify
-, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo
-, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
-
-stdenv.mkDerivation rec {
- name = "gnome-music-3.10.4";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-music/3.10/${name}.tar.xz";
- sha256 = "64220d4c0f9115a6ed27ec99c7ec7afc065d12e5a32371936f303ef981f5325f";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
- gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
- gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
- python3Packages.pycairo python3Packages.dbus
- gst_all_1.gstreamer gst_all_1.gst-plugins-base
- gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- gnome3.gsettings_desktop_schemas makeWrapper tracker ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-music" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
- --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
- --prefix PYTHONPATH : "$PYTHONPATH"
-
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Music;
- description = "Music player and management application for the GNOME desktop environment";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix
deleted file mode 100644
index 68d4e3690f9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, intltool, fetchurl, exempi, libxml2
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, gegl, babl, lcms2
-, desktop_file_utils, gmp
-, gnome3, librsvg, gdk_pixbuf, libexif }:
-
-stdenv.mkDerivation rec {
- name = "gnome-photos-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-photos/3.10/${name}.tar.xz";
- sha256 = "820503c26a0f829682dd46653e8f0850ac687aba42728ac74350ba8406e80975";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl
- gnome3.gsettings_desktop_schemas makeWrapper gmp
- gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi
- gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
- gnome3.gnome_online_accounts gnome3.gnome_desktop
- lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-photos" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Photos;
- description = "Photos is an application to access, organize and share your photos with GNOME 3";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
deleted file mode 100644
index 5a85e00e4e4..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
-, gobjectIntrospection, makeWrapper }:
-
-stdenv.mkDerivation rec {
- name = "nautilus-sendto-${version}";
-
- version = "3.8.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
- sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
- };
-
- buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
-
- meta = with stdenv.lib; {
- description = "Integrates Evolution and Pidgin into the Nautilus file manager";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix
deleted file mode 100644
index cecc4a8913d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, gnupg, libsoup
-, gnome3, librsvg, gdk_pixbuf, gpgme
-, libsecret, avahi, p11_kit }:
-
-stdenv.mkDerivation rec {
- name = "seahorse-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/seahorse/3.10/${name}.tar.xz";
- sha256 = "89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
- gnome3.gsettings_desktop_schemas makeWrapper gnupg
- gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme
- libsecret avahi libsoup p11_kit
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- preFixup = ''
- wrapProgram "$out/bin/seahorse" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Seahorse;
- description = "Application for managing encryption keys and passwords in the GnomeKeyring";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix
deleted file mode 100644
index 9381f45105d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, intltool, fetchurl, vala, libgtop
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
- name = "baobab-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/baobab/3.10/${name}.tar.xz";
- sha256 = "23ce8e4847ce5f1c8230e757532d94c84e6e273d6ec8fca20eecaed5f96563f9";
- };
-
- configureFlags = [ "--disable-static" ];
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
- gnome3.gsettings_desktop_schemas makeWrapper file ];
-
- preFixup = ''
- rm $out/share/icons/hicolor/icon-theme.cache
- rm $out/share/icons/HighContrast/icon-theme.cache
- wrapProgram "$out/bin/baobab" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Baobab;
- description = "Graphical application to analyse disk usage in any Gnome environment";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix
deleted file mode 100644
index ba5dc7e7b90..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2
-, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core }:
-
-
-stdenv.mkDerivation rec {
- name = "caribou-0.4.12";
-
- src = fetchurl {
- url = "mirror://gnome/sources/caribou/0.4/${name}.tar.xz";
- sha256 = "0235sws58rg0kadxbp2nq5ha76zmhd4mr10n9qlbryf8p78qsvii";
- };
-
- buildInputs = with gnome3;
- [ glib pkgconfig gtk clutter at_spi2_core dbus pythonPackages.python pythonPackages.pygobject3
- libxml2 libXtst gtk2 intltool libxslt ];
-
- propagatedBuildInputs = [ gnome3.libgee libxklavier ];
-
- preBuild = ''
- patchShebangs .
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
deleted file mode 100644
index b284186fa82..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
-, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
-
-stdenv.mkDerivation rec {
- name = "dconf-${version}";
- version = "0.20.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz";
- sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9";
- };
-
- buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
- intltool docbook_xsl docbook_xsl_ns makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/dconf-editor" \
- --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-
- rm $out/lib/gio/modules/giomodule.cache
- rm $out/share/icons/hicolor/icon-theme.cache
- rm $out/share/icons/HighContrast/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Projects/dconf;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix
deleted file mode 100644
index 051bc9b7fb2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
-, dbus_glib, dbus_libs, telepathy_glib, telepathy_farstream
-, clutter_gtk, clutter-gst, gst_all_1, cogl, gnome_online_accounts
-, gcr, libsecret, folks, pulseaudio, telepathy_mission_control
-, telepathy_logger, libnotify, clutter, libsoup, gnutls
-, evolution_data_server
-, libcanberra_gtk3, p11_kit, farstream, libtool, shared_mime_info
-, bash, makeWrapper, itstool, libxml2, libxslt, icu, libgee }:
-
-# TODO: enable more features
-
-stdenv.mkDerivation rec {
- name = "empathy-3.10.3";
-
- src = fetchurl {
- url = "mirror://gnome/sources/empathy/3.10/${name}.tar.xz";
- sha256 = "49366acdd3c3ef9a74f63eb09920803c4c9df83056acbf8a7899e7890a9fb196";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
- gnome3.gnome_icon_theme hicolor_icon_theme
- gnome_online_accounts shared_mime_info
- gnome3.gnome_icon_theme_symbolic ];
- propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
- telepathy_mission_control ];
- buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
- libxml2 libxslt icu file makeWrapper
- telepathy_glib clutter_gtk clutter-gst cogl
- gst_all_1.gstreamer gst_all_1.gst-plugins-base
- gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf
- libnotify clutter libsoup gnutls libgee p11_kit
- libcanberra_gtk3 telepathy_farstream farstream
- gnome3.gsettings_desktop_schemas file libtool librsvg ];
-
- NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
- "-I${dbus_libs}/include/dbus-1.0"
- "-I${dbus_libs}/lib/dbus-1.0/include" ];
-
- preFixup = ''
- for f in $out/bin/* $out/libexec/*; do
- wrapProgram $f \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- done
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Empathy;
- description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols";
- maintainers = with maintainers; [ lethalman ];
- # TODO: license = [ licenses.gpl2 licenses.lgpl2 ];
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/eog/default.nix b/pkgs/desktops/gnome-3/3.10/core/eog/default.nix
deleted file mode 100644
index 57f19dcaa32..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/eog/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
-, shared_mime_info, makeWrapper, librsvg, libexif }:
-
-
-stdenv.mkDerivation rec {
- name = "eog-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/eog/3.10/${name}.tar.xz";
- sha256 = "0qs7wmn987vd0cw8w16gmb0bnda3nkcwfg1q343l4rm6kih9ik2w";
- };
-
- buildInputs = with gnome3;
- [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
- gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ];
-
- preFixup = ''
- wrapProgram "$out/bin/eog" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/EyeOfGnome;
- platforms = platforms.linux;
- description = "GNOME image viewer";
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix
deleted file mode 100644
index 9df3a7ed01e..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
-, bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool
-, webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit
-, sqlite, gcr, avahi, nss, isocodes, itstool, file
-, hicolor_icon_theme, gdk_pixbuf, librsvg }:
-
-stdenv.mkDerivation rec {
- name = "epiphany-3.10.3";
-
- src = fetchurl {
- url = "mirror://gnome/sources/epiphany/3.10/${name}.tar.xz";
- sha256 = "c18235ecceaa9c76e7d90d370861cb2bba45019e1e14391a00dac3d2e94a0db7";
- };
-
- # Tests need an X display
- configureFlags = [ "--disable-static --disable-tests" ];
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- nativeBuildInputs = [ pkgconfig file ];
-
- preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
- buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt pkgconfig file
- webkitgtk libsoup libsecret gnome_desktop libnotify libtool
- sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
- gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ];
-
- NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram "$out/bin/epiphany" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Epiphany;
- description = "WebKit based web browser for GNOME";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/evince/default.nix b/pkgs/desktops/gnome-3/3.10/core/evince/default.nix
deleted file mode 100644
index 76cfacb0d77..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/evince/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
-, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
-, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
-, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
-, gobjectIntrospection
-}:
-
-stdenv.mkDerivation rec {
- name = "evince-3.10.3";
-
- src = fetchurl {
- url = "mirror://gnome/sources/evince/3.10/${name}.tar.xz";
- sha256 = "1bz9ypsvlfw1vgs7i5glba1h1n6c90f0d1g64linhg6xjcxcq3dk";
- };
-
- buildInputs = [
- pkgconfig intltool perl perlXMLParser libxml2
- glib gtk3 pango atk gdk_pixbuf gobjectIntrospection
- itstool gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
- gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
- poppler ghostscriptX djvulibre libspectre
- makeWrapper libsecret librsvg
- ];
-
- configureFlags = [
- "--disable-nautilus" # Do not use nautilus
- "--enable-introspection"
- ];
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- preConfigure = with stdenv.lib;
- optionalString doCheck ''
- for file in test/*.py; do
- echo "patching $file"
- sed '1s,/usr,${python},' -i "$file"
- done
- '' + optionalString (recentListSize != null) ''
- sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
- sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
- '';
-
- preFixup = ''
- # Tell Glib/GIO about the MIME info directory, which is used
- # by `g_file_info_get_content_type ()'.
- wrapProgram "$out/bin/evince" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- doCheck = false; # would need pythonPackages.dogTail, which is missing
-
- meta = with stdenv.lib; {
- homepage = http://www.gnome.org/projects/evince/;
- description = "GNOME's document viewer";
-
- longDescription = ''
- Evince is a document viewer for multiple document formats. It
- currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
- of Evince is to replace the multiple document viewers that exist
- on the GNOME Desktop with a single simple application.
- '';
-
- license = stdenv.lib.licenses.gpl2Plus;
- platforms = platforms.linux;
- maintainers = [ maintainers.vcunat ];
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix
deleted file mode 100644
index 685f8c24e7c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, python, intltool, libsoup, libxml2, libsecret
-, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
-
-
-stdenv.mkDerivation rec {
- name = "evolution-data-server-3.10.4";
-
- src = fetchurl {
- url = "mirror://gnome/sources/evolution-data-server/3.10/${name}.tar.xz";
- sha256 = "5c2d5e19af19ecfa81f31306411ab6155c3c62cf407d5a5aaa675a8ce940fa2d";
- };
-
- buildInputs = with gnome3;
- [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret
- gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper ]
- ++ stdenv.lib.optional valaSupport vala;
-
- # uoa irrelevant for now
- configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"]
- ++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
-
- preFixup = ''
- for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do
- wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
- done
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/folks/default.nix b/pkgs/desktops/gnome-3/3.10/core/folks/default.nix
deleted file mode 100644
index 47b958002a3..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/folks/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
-, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
-, telepathy_glib, evolution_data_server, libsecret, db }:
-
-# TODO: enable more folks backends
-
-stdenv.mkDerivation rec {
- name = "folks-0.9.6";
-
- src = fetchurl {
- url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
- sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
- };
-
- propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
- # dbus_daemon needed for tests
- buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
- vala libsecret libxml2 libsoup nspr nss intltool db ];
- nativeBuildInputs = [ pkgconfig ];
-
- configureFlags = "--disable-fatal-warnings";
-
- NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss"
- "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"];
-
- enableParallelBuilding = true;
-
- postBuild = "rm -rf $out/share/gtk-doc";
-
- meta = {
- description = "Folks";
-
- homepage = https://wiki.gnome.org/Projects/Folks;
-
- license = stdenv.lib.licenses.lgpl2Plus;
-
- maintainers = with stdenv.lib.maintainers; [ lethalman ];
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix
deleted file mode 100644
index 47dae0486e9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3, glib, libxml2
-, intltool, polkit, orbit }:
-
-stdenv.mkDerivation rec {
-
- versionMajor = "3.2";
- versionMinor = "6";
- moduleName = "GConf";
-
- origName = "${moduleName}-${versionMajor}.${versionMinor}";
-
- name = "gconf-${versionMajor}.${versionMinor}";
-
- src = fetchurl {
- url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
- sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
- };
-
- buildInputs = [ libxml2 polkit gnome3.gtk orbit ];
- propagatedBuildInputs = [ glib dbus_glib ];
- nativeBuildInputs = [ pkgconfig intltool ];
-
- # ToDo: ldap reported as not found but afterwards reported as supported
-
- meta = with stdenv.lib; {
- homepage = http://projects.gnome.org/gconf/;
- description = "A system for storing application preferences";
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix
deleted file mode 100644
index a1fdd471282..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
-, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
-, gobjectIntrospection, makeWrapper }:
-
-stdenv.mkDerivation rec {
- name = "gcr-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gcr/3.10/${name}.tar.xz";
- sha256 = "0nv470a8cvw4rw49hf5aqvll1rpkacmsr3pj8s1l205yaid4yvq0";
- };
-
- buildInputs = [
- pkgconfig intltool gnupg p11_kit glib gobjectIntrospection
- libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper
- ];
-
- #doCheck = true;
-
- preFixup = ''
- wrapProgram "$out/bin/gcr-viewer" \
- --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
deleted file mode 100644
index 5e53a7e86cb..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
-, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
- name = "gdm-3.10.0.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gdm/3.10/${name}.tar.xz";
- sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
- };
-
- buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice
- gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix
deleted file mode 100644
index d3b21bef167..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, libsoup, json_glib }:
-
-
-stdenv.mkDerivation rec {
- name = "geocode-glib-3.10.0";
-
-
- src = fetchurl {
- url = "mirror://gnome/sources/geocode-glib/3.10/${name}.tar.xz";
- sha256 = "0dx6v9n4dsskcy6630s77cyb32xlykdall0d555976warycc3v8a";
- };
-
- buildInputs = with gnome3;
- [ intltool pkgconfig glib libsoup json_glib ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix
deleted file mode 100644
index 429d147e728..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_17, pango }:
-
-
-stdenv.mkDerivation rec {
- name = "gjs-1.38.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gjs/1.38/${name}.tar.xz";
- sha256 = "0xl1zc5ncaxqs5ww5j82rzqrg429l8pdapqclxiba7dxwyh6a83b";
- };
-
- buildInputs = with gnome3;
- [ gobjectIntrospection pkgconfig glib pango ];
-
- propagatedBuildInputs = [ spidermonkey_17 ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix
deleted file mode 100644
index 3879b81859a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool }:
-
-stdenv.mkDerivation rec {
- name = "gnome-backgrounds-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-backgrounds/3.10/${name}.tar.xz";
- sha256 = "11rv03m4hznpx0brf47hil04199z3jjvl1aq7q0lnill3yrffiyc";
- };
-
- nativeBuildInputs = [ pkgconfig intltool ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix
deleted file mode 100644
index 205961a9171..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libxml2
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
- name = "gnome-calculator-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-calculator/3.10/${name}.tar.xz";
- sha256 = "0gkddnk9x76895xrz0ps4yny36w62fhi459gwmxqqb9kx5934n1f";
- };
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
- libxml2 gnome3.gtksourceview
- gnome3.gsettings_desktop_schemas makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-calculator" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Apps/Calculator;
- description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix
deleted file mode 100644
index 12b2510dc43..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, which, autoconf, automake }:
-
-stdenv.mkDerivation rec {
- name = "gnome-common-3.10.0";
-
- src = fetchurl {
- url = "https://download.gnome.org/sources/gnome-common/3.10/${name}.tar.xz";
- sha256 = "aed69474a671e046523827f73ba5e936d57235b661db97900db7356e1e03b0a3";
- };
-
- patches = [(fetchurl {
- url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935";
- sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl";
- })];
-
- propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome_common tends to require which
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch
deleted file mode 100644
index 926762defbd..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.ac.orig 2014-04-08 10:25:49.497620879 +0200
-+++ configure.ac 2014-04-08 10:26:36.639440950 +0200
-@@ -43,6 +43,7 @@
- folks-telepathy
- folks-eds
- libnotify
-+ dbus-glib-1
- telepathy-glib >= 0.17.5
- libebook-1.2 >= 3.5.3
- libedataserver-1.2 >= 3.5.3
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix
deleted file mode 100644
index f8059f952e6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, intltool, fetchurl, evolution_data_server, db
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret
-, bash, makeWrapper, itstool, folks, libnotify, libxml2
-, gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
-, libsoup, vala, dbus_glib, automake114x, autoconf }:
-
-stdenv.mkDerivation rec {
- name = "gnome-contacts-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-contacts/3.10/${name}.tar.xz";
- sha256 = "e119c32bb10136e7190f11f79334fa82ed56468cff5bb7836da0ebf7b572779b";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- # force build from vala
- preBuild = ''
- touch src/*.vala
- '';
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool evolution_data_server
- gnome3.gsettings_desktop_schemas makeWrapper file libnotify
- folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib
- libxml2 libsoup gnome3.gnome_online_accounts nspr nss
- vala automake114x autoconf db ];
-
- preFixup = ''
- for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do
- wrapProgram $f \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- done
- '';
-
- patches = [ ./configure_dbus_glib.patch ./fix_row_selected.patch ];
-
- patchFlags = "-p0";
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Contacts;
- description = "Contacts is GNOME's integrated address book";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch
deleted file mode 100644
index b379b4b8ee9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/contacts-view.vala.orig 2014-04-08 11:35:36.302252460 +0200
-+++ src/contacts-view.vala 2014-04-08 11:37:37.045343221 +0200
-@@ -265,7 +265,7 @@
- data.destroy ();
- }
-
-- public override void row_selected (ListBoxRow row) {
-+ public override void row_selected (ListBoxRow? row) {
- var data = row as ContactDataRow;
- var contact = data != null ? data.contact : null;
- selection_changed (contact);
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
deleted file mode 100644
index 4e472514348..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
-, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
-, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
-, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
-, cracklib, python, krb5, networkmanagerapplet, networkmanager
-, libwacom, samba, shared_mime_info, tzdata, icu, libtool
-, docbook_xsl, docbook_xsl_ns, modemmanager }:
-
-# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
-# TODO: bluetooth, wacom, smbclient, printers
-
-stdenv.mkDerivation rec {
- name = "gnome-control-center-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-control-center/3.10/${name}.tar.xz";
- sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- enableParallelBuilding = true;
-
- buildInputs = with gnome3;
- [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
- libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
- gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
- accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
- shared_mime_info icu libtool docbook_xsl docbook_xsl_ns
- networkmanager modemmanager makeWrapper ];
-
- preBuild = ''
- substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
- substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
-
- # hack to make test-endianess happy
- mkdir -p $out/share/locale
- substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/"
- '';
-
- preFixup = with gnome3; ''
- wrapProgram $out/bin/gnome-control-center \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- for i in $out/share/applications/*; do
- substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
- done
-
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- patches = [ ./search_providers_dir.patch ];
-
- meta = with stdenv.lib; {
- description = "Single sign-on framework for GNOME";
- maintainers = with maintainers; [ lethalman ];
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch
deleted file mode 100644
index 7f5ad970f34..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c
-index d08e230..3bff4ad 100644
---- a/panels/search/cc-search-panel.c
-+++ b/panels/search/cc-search-panel.c
-@@ -574,7 +574,11 @@ populate_search_providers (CcSearchPanel *self)
- {
- GFile *providers_location;
-
-- providers_location = g_file_new_for_path (DATADIR "/gnome-shell/search-providers");
-+ const gchar* search_providers_dir = g_getenv ("GNOME_SEARCH_PROVIDERS_DIR");
-+ if (search_providers_dir == NULL) {
-+ search_providers_dir = DATADIR "/gnome-shell/search-providers";
-+ }
-+ providers_location = g_file_new_for_path (search_providers_dir);
- g_file_enumerate_children_async (providers_location,
- "standard::type,standard::name,standard::content-type",
- G_FILE_QUERY_INFO_NONE,
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix
deleted file mode 100644
index 584705d658e..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
-, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
-, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-
- majorVersion = "3.10";
- minorVersion = "1";
- name = "gnome-desktop-${majorVersion}.${minorVersion}";
-
- # this should probably be setuphook for glib
- NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
-
- enableParallelBuilding = true;
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
- sha256 = "0hdvm909lbpnixqv11qdx9iaycx4dpxys46fa128bqp8alisgb0h";
- };
-
- buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
- gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix
deleted file mode 100644
index 6f68916b781..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
- name = "gnome-dictionary-3.10.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz";
- sha256 = "258b60fe50f7d0580a7dc3bb83f7fe2f6f0597d4013d97ac083c3f062c350ed7";
- };
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 file
- gnome3.gsettings_desktop_schemas makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-dictionary" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Dictionary;
- description = "Dictionary is the GNOME application to look up definitions";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix
deleted file mode 100644
index 334471c2943..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper, cracklib, libnotify
-, itstool, gnome3, librsvg, gdk_pixbuf, libxml2, python
-, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }:
-
-stdenv.mkDerivation rec {
- name = "gnome-disk-utility-3.10.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-disk-utility/3.10/${name}.tar.xz";
- sha256 = "1amqi2bribxn8r8k8mvxh3710rmdll9963smf0v59v0iwxi3mqil";
- };
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme
- librsvg udisks2 gnome3.gnome_settings_daemon
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
- libxslt libtool libsecret libpwquality cracklib
- libnotify libdvdread libcanberra_gtk3 docbook_xsl
- gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-disks" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = http://en.wikipedia.org/wiki/GNOME_Disks;
- description = "A udisks graphical front-end";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix
deleted file mode 100644
index cba651ca36a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool
-, gnome3, librsvg, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
- name = "gnome-font-viewer-3.10.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-font-viewer/3.10/${name}.tar.xz";
- sha256 = "3928350f58ac6c95f44b64cba1a5f03437b19d9b2645a7b01176067504fdd652";
- };
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop
- gnome3.gsettings_desktop_schemas makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-font-viewer" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- description = "Program that can preview fonts and create thumbnails for fonts";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix
deleted file mode 100644
index feb3d84b994..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, iconnamingutils, gtk }:
-
-stdenv.mkDerivation rec {
- name = "gnome-icon-theme-symbolic-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-icon-theme-symbolic/3.10/${name}.tar.xz";
- sha256 = "344e88e5f9dac3184bf012d9bac972110df2133b93d76f2ad128d4c9cbf41412";
- };
-
- configureFlags = "--enable-icon-mapping";
-
- # Avoid postinstall make hooks
- installPhase = ''
- make install-exec-am install-data-local install-pkgconfigDATA
- make -C src install
- '';
-
- buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix
deleted file mode 100644
index 5b16f827ae0..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
-
-stdenv.mkDerivation rec {
- name = "gnome-icon-theme-3.10.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-icon-theme/3.10/${name}.tar.xz";
- sha256 = "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66";
- };
-
- setupHook = ./setup-hook.sh;
-
- nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh
deleted file mode 100644
index d7156f3d463..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-make_gtk_applications_find_icon_themes() {
-
- # where to find icon themes
- if [ -d "$1/share/icons" ]; then
- addToSearchPath XDG_ICON_DIRS $1/share
- fi
-
-}
-
-envHooks+=(make_gtk_applications_find_icon_themes)
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix
deleted file mode 100644
index dbb8da93c6c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
-, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper
-, docbook_xsl_ns, docbook_xsl, gnome3 }:
-
-stdenv.mkDerivation rec {
- name = "gnome-keyring-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-keyring/3.10/${name}.tar.xz";
- sha256 = "1y6v2p14jx5h6yh14c53pd8r0r5zbmcgw8v4nxvf94kd9jliy00q";
- };
-
- buildInputs = with gnome3; [
- dbus libgcrypt pam python gtk3 gconf libgnome_keyring
- pango gcr gdk_pixbuf atk p11_kit makeWrapper
- ];
-
- propagatedBuildInputs = [ glib libtasn1 libxslt ];
-
- nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
-
- configureFlags = [
- "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
- "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
- "--with-pkcs11-modules=$$out/lib/pkcs11/"
- ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-keyring" \
- --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- wrapProgram "$out/bin/gnome-keyring-daemon" \
- --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix
deleted file mode 100644
index 37d2ea1c086..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
- name = "gnome-menus-${version}";
- version = "3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-menus/3.10/${name}.tar.xz";
- sha256 = "0wcacs1vk3pld8wvrwq7fdrm11i56nrajkrp6j1da6jc4yx0m5a6";
- };
-
- makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
- preBuild = "patchShebangs ./scripts";
-
- buildInputs = [ intltool pkgconfig glib gobjectIntrospection ];
-
- meta = {
- homepage = "http://www.gnome.org";
- description = "Gnome menu specification";
-
- platforms = stdenv.lib.platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix
deleted file mode 100644
index 8c459435733..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib
-, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl
-}:
-
-stdenv.mkDerivation rec {
- name = "gnome-online-accounts-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-online-accounts/3.10/${name}.tar.xz";
- sha256 = "15qvw40dmi886491s3abpidsm2lx65fhglhj99bvcdskhk0ih90b";
- };
-
- NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
-
- enableParallelBuilding = true;
-
- buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix
deleted file mode 100644
index 4c904bf40f6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
-, libsoup, json_glib, gmp, openssl, makeWrapper }:
-
-stdenv.mkDerivation rec {
- name = "gnome-online-miners-3.10.3";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-online-miners/3.10/${name}.tar.xz";
- sha256 = "129807d398e7744870110e6875629b6858d289021271550569ce5afa10fe9ea8";
- };
-
- doCheck = true;
-
- buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl
- gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins
- gnome3.gnome_online_accounts makeWrapper
- gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- for f in $out/libexec/*; do
- wrapProgram "$f" \
- --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2"
- done
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners;
- description = "A set of crawlers that go through your online content and index them locally in Tracker";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix
deleted file mode 100644
index 7b94d0f9027..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
- name = "gnome-screenshot-3.10.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-screenshot/3.10/${name}.tar.xz";
- sha256 = "1nb56kzcj5z4hmrmxap5r53smi52ki3pc8qmhi4rymkgqswyk7bh";
- };
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
- gnome3.gsettings_desktop_schemas makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-screenshot" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = http://en.wikipedia.org/wiki/GNOME_Screenshot;
- description = "Utility used in the GNOME desktop environment for taking screenshots";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix
deleted file mode 100644
index f999702af54..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower
-, libxslt, intltool, makeWrapper, systemd }:
-
-
-stdenv.mkDerivation rec {
- name = "gnome-session-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-session/3.10/${name}.tar.xz";
- sha256 = "1k59yss7r748nvr0cdjrqmx0zy26b93rfn66lsdg9fz60x77087n";
- };
-
- configureFlags = "--enable-systemd";
-
- buildInputs = with gnome3;
- [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt
- gnome3.gnome_settings_daemon
- gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-session" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix
deleted file mode 100644
index 7a50b8db56f..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
-, libxkbfile, pulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
-, geoclue2, librsvg, xf86_input_wacom, udev, libwacom, libxslt, libtool
-, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus }:
-
-stdenv.mkDerivation rec {
- name = "gnome-settings-daemon-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-settings-daemon/3.10/${name}.tar.xz";
- sha256 = "0r42lzlgk0w40ws4d3s7yayn6n8zqlnh5b6k88gvgv1lwk39k240";
- };
-
- # fatal error: gio/gunixfdlist.h: No such file or directory
- NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
-
- buildInputs = with gnome3;
- [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas libnotify gnome_desktop
- lcms2 libXtst libxkbfile pulseaudio libcanberra_gtk3 upower colord libgweather
- polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt
- libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
-
- preFixup = ''
- wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix PATH : "${glib}/bin" \
- --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix
deleted file mode 100644
index 00974edb1db..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, intltool, fetchurl, libgtop
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool
-, gnome3, file }:
-
-stdenv.mkDerivation rec {
- name = "gnome-shell-extensions-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-shell-extensions/3.10/${name}.tar.xz";
- sha256 = "9baa9ddaf4e14cab6d4d7944d8dc009378b25f995acfd0fd72843f599cb5ae43";
- };
-
- doCheck = true;
-
- buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
- makeWrapper file ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
- description = "Modify and extend GNOME Shell functionality and behavior";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
deleted file mode 100644
index 2b5ff4cc5a2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
-, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
-, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
-, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
-, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
-
-# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
-
-stdenv.mkDerivation rec {
- name = "gnome-shell-3.10.2.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-shell/3.10/${name}.tar.xz";
- sha256 = "0k642y6h878v6mczx4z1zj4pjl7z4bvq02raxxwxkjyvyz2fv36j";
- };
-
- buildInputs = with gnome3;
- [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
- libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
- clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
- libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
- libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
- at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
-
- preBuild = ''
- patchShebangs src/data-to-c.pl
- substituteInPlace data/Makefile --replace " install-keysDATA" ""
- '';
-
- preFixup = with gnome3; ''
- wrapProgram "$out/bin/gnome-shell" \
- --prefix PATH : "${unzip}/bin" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
- wrapProgram "$out/libexec/gnome-shell-calendar-server" \
- --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- patches = [ ./fix_background_corruption.patch ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
deleted file mode 100644
index 9cb041bcce2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d
-Author: Jasper St. Pierre
-Date: Thu Nov 7 17:14:47 2013 -0500
-
- layout: Fix several issues with the background management code
-
- If monitor-changed fires at startup, it will destroy all of the
- backgrounds, but since this._isStartup is true, won't recreate any
- of them. Additionally, since _bgManagers is indexed by monitor index,
- if the primary index is not 0, it could become a sparse array (e.g.
- [undefined, undefined, primaryBackground]), and our for loop will
- crash trying to access properties of undefined.
-
- Fix both of these issues by always creating background managers for
- every monitor, hiding them on startup but only showing them after
- the startup animation is complete.
-
- One thing we need to watch out for is that while LayoutManager is
- constructing, Main.uiGroup / Main.layoutManager will be undefined,
- so addBackgroundMenu will fail. Fix this by passing down the uiGroup
- to the background menu code.
-
- https://bugzilla.gnome.org/show_bug.cgi?id=709313
-
-diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
-index 06e698c..dcbbb39 100644
---- a/js/ui/backgroundMenu.js
-+++ b/js/ui/backgroundMenu.js
-@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({
- Name: 'BackgroundMenu',
- Extends: PopupMenu.PopupMenu,
-
-- _init: function(source) {
-+ _init: function(source, layoutManager) {
- this.parent(source, 0, St.Side.TOP);
-
- this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop');
-@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({
-
- this.actor.add_style_class_name('background-menu');
-
-- Main.uiGroup.add_actor(this.actor);
-+ layoutManager.uiGroup.add_actor(this.actor);
- this.actor.hide();
- }
- });
-
--function addBackgroundMenu(actor) {
-+function addBackgroundMenu(actor, layoutManager) {
- let cursor = new St.Bin({ opacity: 0 });
-- Main.uiGroup.add_actor(cursor);
-+ layoutManager.uiGroup.add_actor(cursor);
-
- actor.reactive = true;
-- actor._backgroundMenu = new BackgroundMenu(cursor);
-+ actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager);
- actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor });
- actor._backgroundManager.addMenu(actor._backgroundMenu);
-
-diff --git a/js/ui/layout.js b/js/ui/layout.js
-index 17073a6..80bae9d 100644
---- a/js/ui/layout.js
-+++ b/js/ui/layout.js
-@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({
- this.emit('hot-corners-changed');
- },
-
-- _createBackground: function(monitorIndex) {
-+ _addBackgroundMenu: function(bgManager) {
-+ BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this);
-+ },
-+
-+ _createBackgroundManager: function(monitorIndex) {
- let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup,
- layoutManager: this,
- monitorIndex: monitorIndex });
-- BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
--
-- bgManager.connect('changed', Lang.bind(this, function() {
-- BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
-- }));
-
-- this._bgManagers[monitorIndex] = bgManager;
-+ bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu));
-+ this._addBackgroundMenu(bgManager);
-
-- return bgManager.background;
-+ return bgManager;
- },
-
-- _createSecondaryBackgrounds: function() {
-+ _showSecondaryBackgrounds: function() {
- for (let i = 0; i < this.monitors.length; i++) {
- if (i != this.primaryIndex) {
-- let background = this._createBackground(i);
--
-+ let background = this._bgManagers[i].background;
-+ background.actor.show();
- background.actor.opacity = 0;
- Tweener.addTween(background.actor,
- { opacity: 255,
-@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({
- }
- },
-
-- _createPrimaryBackground: function() {
-- this._createBackground(this.primaryIndex);
-- },
--
- _updateBackgrounds: function() {
- let i;
- for (i = 0; i < this._bgManagers.length; i++)
-@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({
- if (Main.sessionMode.isGreeter)
- return;
-
-- if (this._startingUp)
-- return;
--
- for (let i = 0; i < this.monitors.length; i++) {
-- this._createBackground(i);
-+ let bgManager = this._createBackgroundManager(i);
-+ this._bgManagers.push(bgManager);
-+
-+ if (i != this.primaryIndex && this._startingUp)
-+ bgManager.background.actor.hide();
- }
- },
-
-@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({
- if (Main.sessionMode.isGreeter) {
- this.panelBox.translation_y = -this.panelBox.height;
- } else {
-- this._createPrimaryBackground();
-+ this._updateBackgrounds();
-
- // We need to force an update of the regions now before we scale
- // the UI group to get the coorect allocation for the struts.
-@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({
- this.keyboardBox.show();
-
- if (!Main.sessionMode.isGreeter) {
-- this._createSecondaryBackgrounds();
-+ this._showSecondaryBackgrounds();
- global.window_group.remove_clip();
- }
-
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix
deleted file mode 100644
index cdc4b732b97..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }:
-
-stdenv.mkDerivation rec {
- name = "gnome-system-log-3.9.90";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz";
- sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411";
- };
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
- gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-system-log" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://help.gnome.org/users/gnome-system-log/3.9/;
- description = "Graphical, menu-driven viewer that you can use to view and monitor your system logs";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix
deleted file mode 100644
index 91fbe67957f..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf, libgtop }:
-
-stdenv.mkDerivation rec {
- name = "gnome-system-monitor-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-system-monitor/3.10/${name}.tar.xz";
- sha256 = "bd009e15672afe4ad3ebd7ed286cce79b9f76420fd39bc77a5826b29134b9db0";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2
- gtkmm3 libgtop makeWrapper
- gnome3.gsettings_desktop_schemas ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-system-monitor" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- enableParallelBuilding = true;
-
- meta = with stdenv.lib; {
- homepage = https://help.gnome.org/users/gnome-system-monitor/3.10/;
- description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
deleted file mode 100644
index 1b17cbc3d78..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, gconf, libuuid
-, desktop_file_utils, itstool, makeWrapper }:
-
-stdenv.mkDerivation rec {
-
- versionMajor = "3.10";
- versionMinor = "2";
-
- name = "gnome-terminal-${versionMajor}.${versionMinor}";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
- sha256 = "04yrk9531f373nl64jx3pczsnq7a56mj3n436jbhjp74kp12fa70";
- };
-
- buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte
- gnome3.dconf gnome3.gconf itstool makeWrapper ];
-
- nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
-
- preFixup = ''
- for f in "$out/libexec/gnome-terminal-migration" "$out/libexec/gnome-terminal-server"; do
- wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
- done
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix
deleted file mode 100644
index 08d82b7ae91..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
- name = "gnome-themes-standard-3.10.0";
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-themes-standard/3.10/${name}.tar.xz";
- sha256 = "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41";
- };
-
- buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix
deleted file mode 100644
index d66863a2218..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
-
-stdenv.mkDerivation rec {
- name = "gnome-user-docs-3.10.3";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-user-docs/3.10/${name}.tar.xz";
- sha256 = "960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905";
- };
-
- buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
-
- meta = with stdenv.lib; {
- homepage = https://help.gnome.org/users/gnome-help/3.10;
- description = "User and system administration help for the Gnome desktop";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.cc-by-30;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix
deleted file mode 100644
index 976b0eaca45..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused
-, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd
-, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }:
-
-stdenv.mkDerivation rec {
- name = "gnome-user-share-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz";
- sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f";
- };
-
- doCheck = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- preConfigure = ''
- sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf
- '';
-
- configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd"
- "--with-modules-path=${apacheHttpd_2_2}/modules"
- "--disable-bluetooth"
- "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
- makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- nautilus libnotify libcanberra_gtk3 ];
-
- postInstall = ''
- mkdir -p $out/share/gsettings-schemas/$name
- mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name
- ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
- '';
-
- preFixup = ''
- wrapProgram "$out/libexec/gnome-user-share" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://help.gnome.org/users/gnome-user-share/3.8;
- description = "Service that exports the contents of the Public folder in your home directory on the local network";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix
deleted file mode 100644
index a8a1c244767..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite
-, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av
-, gmime, json_glib, avahi, tracker, itstool }:
-
-stdenv.mkDerivation rec {
- name = "grilo-plugins-0.2.12";
-
- src = fetchurl {
- url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
- sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
- };
-
- installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
-
- buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata
- lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts
- gnome3.totem-pl-parser gnome3.rest gmime json_glib
- avahi gnome3.libmediaart tracker intltool itstool ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
- description = "A collection of plugins for the Grilo framework";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.lgpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix
deleted file mode 100644
index 6f1bfbbcfe9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib
-, libxml2, gnome3, gobjectIntrospection, libsoup }:
-
-stdenv.mkDerivation rec {
- name = "grilo-0.2.10";
-
- src = fetchurl {
- url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
- sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
- };
-
- configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
-
- preConfigure = ''
- for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do
- substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/"
- substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0"
- done
- '';
-
- buildInputs = [ pkgconfig file intltool glib libxml2 libsoup
- gnome3.totem-pl-parser gobjectIntrospection ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
- description = "Framework that provides access to various sources of multimedia content, using a pluggable system";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.lgpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix
deleted file mode 100644
index 13f357db29a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
- # just for passthru
-, gtk3, gsettings_desktop_schemas }:
-
-stdenv.mkDerivation rec {
-
- versionMajor = "3.10";
- versionMinor = "1";
- moduleName = "gsettings-desktop-schemas";
-
- name = "${moduleName}-${versionMajor}.${versionMinor}";
-
- src = fetchurl {
- url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
- sha256 = "04b8wy10l6pzs5928gnzaia73dz5fjlcdy39xi3mf50ajv27h8s5";
- };
-
- buildInputs = [ glib gobjectIntrospection ];
-
- nativeBuildInputs = [ pkgconfig intltool ];
-
- passthru = {
- doCompileSchemas = ''
- for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
- cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
- done
- ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
- '';
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix
deleted file mode 100644
index 900bb2c922b..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
-, libxml2Python, perl, intltool, gettext }:
-
-stdenv.mkDerivation rec {
- name = "gtksourceview-${version}";
- version = "3.10.1";
-
- src = fetchurl {
- url = "https://download.gnome.org/sources/gtksourceview/3.10/gtksourceview-${version}.tar.xz";
- sha256 = "008bzfr1s6ywpj8c8qx7495lz9g0ziccwbxg88s0l4dl6bw49piq";
- };
-
- buildInputs = [ pkgconfig atk cairo glib gtk3 pango
- libxml2Python perl intltool gettext ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix
deleted file mode 100644
index a6bf72b2fc7..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3
-, glib, desktop_file_utils, bash
-, makeWrapper, gnome3, file, itstool, libxml2 }:
-
-# TODO: icons and theme still does not work
-# use packaged gnome3.gnome_icon_theme_symbolic
-
-stdenv.mkDerivation rec {
- name = "gucharmap-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gucharmap/3.10/${name}.tar.xz";
- sha256 = "04e8606c65adb14d267b50b1cf9eb4fee92bd9c5ab512a346bd4c9c686403f78";
- };
-
- configureFlags = [ "--disable-static" ];
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
- buildInputs = [ pkgconfig gtk3 intltool itstool glib
- gnome3.yelp_tools libxml2 file desktop_file_utils
- gnome3.gsettings_desktop_schemas makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/gucharmap" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Gucharmap;
- description = "GNOME Character Map, based on the Unicode Character Database";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl3;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
deleted file mode 100644
index 1875c1491f9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, glib }:
-
-stdenv.mkDerivation rec {
- name = "libcroco-0.6.8";
-
- src = fetchurl {
- url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
- sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
- };
-
- configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
-
- buildInputs = [ pkgconfig libxml2 glib ];
-
- meta = with stdenv.lib; {
- platforms = platforms.unix;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix
deleted file mode 100644
index 9a1a45e0d1a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib
-, gobjectIntrospection, liboauth, gnome3, p11_kit, openssl }:
-
-stdenv.mkDerivation rec {
- name = "libgdata-0.14.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/libgdata/0.14/${name}.tar.xz";
- sha256 = "1scjs944kjazbsh86kdj6w2vprib6yd3wzxzabcs59acmr0m4hax";
- };
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
-
- buildInputs = with gnome3;
- [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection
- liboauth gcr gnome_online_accounts p11_kit openssl ];
-
- meta = with stdenv.lib; {
- description = "GData API library";
- maintainers = with maintainers; [ raskin ];
- platforms = platforms.linux;
- license = licenses.lgpl21Plus;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix
deleted file mode 100644
index c7ed541082d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }:
-let
- ver_maj = "0.12";
- ver_min = "0";
-in
-stdenv.mkDerivation rec {
- name = "libgee-${ver_maj}.${ver_min}";
-
- src = fetchurl {
- url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz";
- sha256 = "19bf94ia1h5z8h0hdhwcd2b2p6ngffirg0dai7pdb98dzriys1ni";
- };
-
- doCheck = true;
-
- patches = [ ./fix_introspection_paths.patch ];
-
- buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
-
- meta = with stdenv.lib; {
- description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
- license = licenses.lgpl21Plus;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch
deleted file mode 100644
index 67003f45164..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- fix_introspection_paths.patch/configure 2014-01-07 17:43:53.521339338 +0000
-+++ fix_introspection_paths.patch/configure-fix 2014-01-07 17:45:11.068635069 +0000
-@@ -12085,8 +12085,8 @@
- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
-- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-+ INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
-+ INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix
deleted file mode 100644
index 28c7b80c0d4..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
- name = "libgnome-keyring-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/libgnome-keyring/3.10/${name}.tar.xz";
- sha256 = "0wip88r91kwx4zp6sc9b38mnlv11grgl4k2kzsd3a8x83c9g2b05";
- };
-
- propagatedBuildInputs = [ glib gobjectIntrospection dbus_libs libgcrypt ];
- nativeBuildInputs = [ pkgconfig intltool ];
-
- meta = {
- description = "Framework for managing passwords and other secrets";
- homepage = http://live.gnome.org/GnomeKeyring;
- # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
- inherit (glib.meta) platforms maintainers;
-
- longDescription = ''
- gnome-keyring is a program that keeps password and other secrets for
- users. The library libgnome-keyring is used by applications to integrate
- with the gnome-keyring system.
- '';
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix
deleted file mode 100644
index 1156474e5a7..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper }:
-
-stdenv.mkDerivation rec {
- name = "libgnomekbd-3.6.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/libgnomekbd/3.6/${name}.tar.xz";
- sha256 = "c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09";
- };
-
- buildInputs = [ pkgconfig file intltool glib gtk3 libxklavier makeWrapper ];
-
- preFixup = ''
- wrapProgram $out/bin/gkbd-keyboard-display \
- --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- description = "Keyboard management library";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix
deleted file mode 100644
index c480a59e453..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
-, pango, gdk_pixbuf, atk, tzdata }:
-
-stdenv.mkDerivation rec {
- name = "libgweather-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/libgweather/3.10/${name}.tar.xz";
- sha256 = "1iyg0l90m14iw0ksjbmrrhb5fqn0y7x5f726y56gxd4qcxgpi3mf";
- };
-
- makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
- configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ];
- propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
- nativeBuildInputs = [ pkgconfig intltool ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix
deleted file mode 100644
index 72d307f4f1a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
-, openssl, bzip2, acl, attr
-}:
-
-stdenv.mkDerivation rec {
- name = "libgxps-0.2.2";
-
- src = fetchurl {
- url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
- sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
- };
-
- buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
-
- configureFlags = "--without-liblcms2";
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix
deleted file mode 100644
index 9cf8426104b..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool
-, glib, gtk3, gobjectIntrospection, python, pygobject3
-}:
-
-stdenv.mkDerivation rec {
- name = "libpeas-${version}";
- version = "1.9.0";
-
- buildInputs = [
- intltool pkgconfig
- glib gtk3 gobjectIntrospection python pygobject3
- ];
-
- src = fetchurl {
- url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz";
- sha256 = "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0";
- };
-
- preFixup = ''
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = {
- description = "A GObject-based plugins engine";
- homepage = "http://ftp.acc.umu.se/pub/GNOME/sources/libpeas/";
- license = stdenv.lib.licenses.gpl2Plus;
- platforms = stdenv.lib.platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix
deleted file mode 100644
index e0e4c02c084..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }:
-
-stdenv.mkDerivation rec {
- name = "libzapojit-0.0.3";
-
- src = fetchurl {
- url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
- sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
- };
-
- buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix
deleted file mode 100644
index 0acfa9f36ae..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
-, pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3
-, libtool, makeWrapper }:
-
-
-stdenv.mkDerivation rec {
- name = "mutter-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/mutter/3.10/${name}.tar.xz";
- sha256 = "000iclb96mgc4rp2q0cy72nfwyfzl6avijl9nmk87f5sgyy670a3";
- };
-
- # fatal error: gio/gunixfdlist.h: No such file or directory
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra";
-
- buildInputs = with gnome3;
- [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower
- gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra
- libcanberra_gtk3 zenity libtool makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/mutter" \
- --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix
deleted file mode 100644
index 2041a71a82c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
-, gtk, gnome3, libunique, intltool, gobjectIntrospection
-, libnotify, makeWrapper, exempi, librsvg }:
-
-stdenv.mkDerivation rec {
- name = "nautilus-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/nautilus/3.10/${name}.tar.xz";
- sha256 = "09y7dxaw4bjgan3q10azky0h6kndqv2lfn75iip12zchf2hk59gn";
- };
-
- configureFlags = [ "--enable-tracker=no" ];
-
- buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg
- gnome3.gnome_desktop gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.gsettings_desktop_schemas libnotify makeWrapper ];
-
- preFixup = ''
- wrapProgram "$out/bin/nautilus" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/rest/default.nix b/pkgs/desktops/gnome-3/3.10/core/rest/default.nix
deleted file mode 100644
index f543f8e13b8..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/rest/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
- name = "rest-0.7.90";
-
- src = fetchurl {
- url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
- sha256 = "08n0cvz44l4b1gkmjryap3ysd0wcbbbdjbcar73nr52dmk52ls0x";
- };
-
- buildInputs = [ pkgconfig glib libsoup gobjectIntrospection];
-
- configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix b/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix
deleted file mode 100644
index 089b5cd03c1..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib
-, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz
-, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1
-, gdk_pixbuf, librsvg, hicolor_icon_theme }:
-
-stdenv.mkDerivation rec {
- name = "sushi-3.10.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/sushi/3.10/${name}.tar.xz";
- sha256 = "cffcf28b170f5825e84983a979972d4d901a453b61cbe3e560d362e8dd4b4bc8";
- };
-
- propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
-
- buildInputs = [ pkgconfig file intltool gobjectIntrospection glib
- clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg
- gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ];
-
- enableParallelBuilding = true;
-
- preFixup = ''
- wrapProgram $out/libexec/sushi-start \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
- --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = "http://en.wikipedia.org/wiki/Sushi_(software)";
- description = "A quick previewer for Nautilus";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2Plus;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix
deleted file mode 100644
index f1b3bfe53c1..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup }:
-
-stdenv.mkDerivation rec {
- name = "totem-pl-parser-3.10.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz";
- sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
- };
-
- buildInputs = [ pkgconfig file intltool gmime libxml2 libsoup ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Videos;
- description = "Simple GObject-based library to parse and save a host of playlist formats";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.lgpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/totem/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem/default.nix
deleted file mode 100644
index c6b78c827db..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/totem/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, intltool, fetchurl, gst_all_1
-, clutter_gtk, clutter-gst, pygobject3, shared_mime_info
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libxml2, dbus_glib
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
- name = "totem-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/totem/3.10/${name}.tar.xz";
- sha256 = "b6b6038c9104965671a6d25e98496a487c3a9c590c9c104f668bd9f4fa7be9e2";
- };
-
- doCheck = true;
-
- enableParallelBuilding = true;
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo
- clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
- gst_all_1.gstreamer gst_all_1.gst-plugins-base
- gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
- gnome3.libpeas pygobject3 shared_mime_info dbus_glib
- gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- gnome3.gsettings_desktop_schemas makeWrapper file ];
-
- preFixup = ''
- wrapProgram "$out/bin/totem" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
- --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
- --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
- rm $out/share/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Videos;
- description = "Movie player for the GNOME desktop based on GStreamer";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix
deleted file mode 100644
index dbae108d2e9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, intltool, fetchurl, libxml2, upower
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, vala, sqlite
-, gnome3, librsvg, gdk_pixbuf, file, libnotify
-, evolution_data_server, gst_all_1, poppler
-, icu, taglib, libjpeg, libtiff, giflib, libcue
-, libvorbis, flac, exempi, networkmanager
-, libpng, libexif, libgsf, libuuid, bzip2 }:
-
-stdenv.mkDerivation rec {
- name = "tracker-0.16.4";
-
- src = fetchurl {
- url = "mirror://gnome/sources/tracker/0.16/${name}.tar.xz";
- sha256 = "9c2f50839c2b8b352ab9a022597ef985c1900e6286c0c3bcb7a64da39dbb3580";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
- enableParallelBuilding = true;
-
- buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2
- bzip2 gnome3.totem-pl-parser
- gnome3.gsettings_desktop_schemas makeWrapper file
- gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite
- upower libnotify evolution_data_server gnome3.libgee
- gst_all_1.gstreamer gst_all_1.gst-plugins-base flac
- poppler icu taglib libjpeg libtiff giflib libvorbis
- exempi networkmanager libpng libexif libgsf libuuid
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- preFixup = ''
- for f in $out/bin/* $out/libexec/*; do
- wrapProgram $f \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- done
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Projects/Tracker;
- description = "Desktop-neutral user information store, search tool and indexer";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/vino/default.nix b/pkgs/desktops/gnome-3/3.10/core/vino/default.nix
deleted file mode 100644
index 65668dce6a2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/vino/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper
-, libnotify, file }:
-
-stdenv.mkDerivation rec {
- name = "vino-${versionMajor}.${versionMinor}";
- versionMajor = "3.10";
- versionMinor = "1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/vino/${versionMajor}/${name}.tar.xz";
- sha256 = "0imyvz96b7kikikwxn1r5sfxwmi40523nd66gp9hrl23gik0vwgs";
- };
-
- doCheck = true;
-
- buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify file makeWrapper ];
-
- preFixup = ''
- for f in "$out/bin/vino-passwd" "$out/libexec/vino-server"; do
- wrapProgram $f --prefix XDG_DATA_DIRS : "${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- done
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Projects/Vino;
- description = "GNOME desktop sharing server";
- maintainers = with maintainers; [ lethalman iElectric ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix
deleted file mode 100644
index 39ff3838f4a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }:
-
-stdenv.mkDerivation rec {
- name = "yelp-tools-3.10.0";
-
- src = fetchurl {
- url = "https://download.gnome.org/sources/yelp-tools/3.10/${name}.tar.xz";
- sha256 = "0496xyx1657db22ks3k92al64fp6236y5bgh7s7b0j8hcc112ppz";
- };
-
- buildInputs = [ libxml2 libxslt itstool gnome3.yelp_xsl pkgconfig ];
-
- doCheck = true;
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
- description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
- maintainers = with maintainers; [ iElectric ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix
deleted file mode 100644
index c5060bdba75..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, bash
-, itstool, libxml2, libxslt }:
-
-stdenv.mkDerivation rec {
- name = "yelp-xsl-3.10.1";
-
- src = fetchurl {
- url = "https://download.gnome.org/sources/yelp-xsl/3.10/${name}.tar.xz";
- sha256 = "59c6dee3999121f6ffd33a9c5228316b75bc22e3bd68fff310beb4eeff245887";
- };
-
- doCheck = true;
-
- buildInputs = [ pkgconfig intltool itstool libxml2 libxslt ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Yelp;
- description = "Yelp's universal stylesheets for Mallard and DocBook";
- maintainers = with maintainers; [ lethalman ];
- # TODO license = [licenses.gpl2 licenses.lgpl2];
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
deleted file mode 100644
index 983e7f416a6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
-, bash, makeWrapper, itstool, libxml2, libxslt, icu }:
-
-stdenv.mkDerivation rec {
- name = "yelp-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/yelp/3.10/${name}.tar.xz";
- sha256 = "17736479b7d0b1128c7d6cb3073f2b09e4bbc82670731b2a0d3a3219a520f816";
- };
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
- propagatedBuildInputs = [ librsvg gdk_pixbuf gnome3.gnome_icon_theme
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
- preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
- buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
- libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl
- gnome3.gsettings_desktop_schemas ];
-
- preFixup = ''
- wrapProgram "$out/bin/yelp" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Apps/Yelp;
- description = "The Gnome help viewer";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix
deleted file mode 100644
index 366088c6729..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, itstool }:
-
-stdenv.mkDerivation rec {
-
- versionMajor = "3.8";
- versionMinor = "0";
-
- name = "zenity-${versionMajor}.${versionMinor}";
-
- src = fetchurl {
- url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
- sha256 = "0gsnwvhsqqba5i6d4jh86j29q4q18hmvhj9c1v76vwlj2nvz1ywl";
- };
-
- buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
-
- nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/default.nix b/pkgs/desktops/gnome-3/3.10/default.nix
deleted file mode 100644
index e1783be3b7f..00000000000
--- a/pkgs/desktops/gnome-3/3.10/default.nix
+++ /dev/null
@@ -1,195 +0,0 @@
-{ callPackage, self, pkgs }:
-
-rec {
- inherit (pkgs) glib gtk2 gtk3 gnome2 upower glib_networking;
- gtk = gtk3; # just to be sure
- libcanberra = pkgs.libcanberra_gtk3; # just to be sure
- inherit (pkgs.gnome2) ORBit2;
- orbit = ORBit2;
- inherit (pkgs) libsoup;
-
-#### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
-
- baobab = callPackage ./core/baobab { };
-
- caribou = callPackage ./core/caribou { };
-
- dconf = callPackage ./core/dconf { };
-
- empathy = callPackage ./core/empathy { };
-
- epiphany = callPackage ./core/epiphany { };
-
- evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
-
- evolution_data_server = callPackage ./core/evolution-data-server { };
-
- gconf = callPackage ./core/gconf { };
-
- geocode_glib = callPackage ./core/geocode-glib { };
-
- gcr = callPackage ./core/gcr { }; # ToDo: tests fail
-
- gdm = callPackage ./core/gdm { };
-
- gjs = callPackage ./core/gjs { };
-
- gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
-
- gnome-contacts = callPackage ./core/gnome-contacts { };
-
- gnome_control_center = callPackage ./core/gnome-control-center { };
-
- gnome-calculator = callPackage ./core/gnome-calculator { };
-
- gnome_common = callPackage ./core/gnome-common { };
-
- gnome_desktop = callPackage ./core/gnome-desktop { };
-
- gnome-dictionary = callPackage ./core/gnome-dictionary { };
-
- gnome-disk-utility = callPackage ./core/gnome-disk-utility { };
-
- gnome-font-viewer = callPackage ./core/gnome-font-viewer { };
-
- gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
-
- gnome_icon_theme_symbolic = callPackage ./core/gnome-icon-theme-symbolic { };
-
- gnome-menus = callPackage ./core/gnome-menus { };
-
- gnome_keyring = callPackage ./core/gnome-keyring { };
-
- libgnome_keyring = callPackage ./core/libgnome-keyring { };
-
- libgnomekbd = callPackage ./core/libgnomekbd { };
-
- folks = callPackage ./core/folks { };
-
- gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
-
- gnome-online-miners = callPackage ./core/gnome-online-miners { };
-
- gnome_session = callPackage ./core/gnome-session { };
-
- gnome_shell = callPackage ./core/gnome-shell { };
-
- gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };
-
- gnome-screenshot = callPackage ./core/gnome-screenshot { };
-
- gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { };
-
- gnome-system-log = callPackage ./core/gnome-system-log { };
-
- gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
-
- gnome_terminal = callPackage ./core/gnome-terminal { };
-
- gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
-
- gnome-user-docs = callPackage ./core/gnome-user-docs { };
-
- gnome-user-share = callPackage ./core/gnome-user-share { };
-
- grilo = callPackage ./core/grilo { };
-
- grilo-plugins = callPackage ./core/grilo-plugins { };
-
- gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
-
- gtksourceview = callPackage ./core/gtksourceview { };
-
- gucharmap = callPackage ./core/gucharmap { };
-
- gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; lightWeight = false; };
-
- eog = callPackage ./core/eog { };
-
- libcroco = callPackage ./core/libcroco {};
-
- libgee = callPackage ./core/libgee { };
-
- libgdata = callPackage ./core/libgdata { };
-
- libgxps = callPackage ./core/libgxps { };
-
- libpeas = callPackage ./core/libpeas {};
-
- libgweather = callPackage ./core/libgweather { };
-
- libzapojit = callPackage ./core/libzapojit { };
-
- mutter = callPackage ./core/mutter { };
-
- nautilus = callPackage ./core/nautilus { };
-
- rest = callPackage ./core/rest { };
-
- sushi = callPackage ./core/sushi { };
-
- totem = callPackage ./core/totem { };
-
- totem-pl-parser = callPackage ./core/totem-pl-parser { };
-
- tracker = callPackage ./core/tracker { giflib = pkgs.giflib_5_0; };
-
- vte = callPackage ./core/vte { };
-
- vino = callPackage ./core/vino { };
-
- yelp = callPackage ./core/yelp { };
-
- yelp_xsl = callPackage ./core/yelp-xsl { };
-
- yelp_tools = callPackage ./core/yelp-tools { };
-
- zenity = callPackage ./core/zenity { };
-
-
-#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
-
- bijiben = callPackage ./apps/bijiben { };
-
- evolution = callPackage ./apps/evolution { };
-
- file-roller = callPackage ./apps/file-roller { };
-
- gedit = callPackage ./apps/gedit { };
-
- glade = callPackage ./apps/glade { };
-
- gnome-clocks = callPackage ./apps/gnome-clocks { };
-
- gnome-documents = callPackage ./apps/gnome-documents { };
-
- gnome-music = callPackage ./apps/gnome-music { };
-
- gnome-photos = callPackage ./apps/gnome-photos { };
-
- nautilus-sendto = callPackage ./apps/nautilus-sendto { };
-
- # scrollkeeper replacement
- rarian = callPackage ./desktop/rarian { };
-
- seahorse = callPackage ./apps/seahorse { };
-
-
-#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
-
- gfbgraph = callPackage ./misc/gfbgraph { };
-
- goffice = callPackage ./misc/goffice { };
-
- gitg = callPackage ./misc/gitg { };
-
- libgit2-glib = callPackage ./misc/libgit2-glib { };
-
- libmediaart = callPackage ./misc/libmediaart { };
-
- gexiv2 = callPackage ./misc/gexiv2 { };
-
- gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
-
- gtkhtml = callPackage ./misc/gtkhtml { };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix
deleted file mode 100644
index a1b38b21869..00000000000
--- a/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}:
-
-stdenv.mkDerivation rec {
- name = "rarian-0.8.1";
- src = fetchurl {
- url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
- sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
- };
-
- buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
- configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix
deleted file mode 100644
index 86942c13f34..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }:
-
-
-stdenv.mkDerivation rec {
- name = "gexiv2-${version}";
- version = "0.7.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz";
- sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn";
- };
-
- preConfigure = ''
- patchShebangs .
- '';
-
- buildInputs = [ pkgconfig glib libtool m4 ];
- propagatedBuildInputs = [ exiv2 ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/Projects/gexiv2;
- description = "GObject wrapper around the Exiv2 photo metadata library";
- platforms = platforms.linux;
- };
-}
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix
deleted file mode 100644
index ee8259af8d6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, glib
-, gnome3, libsoup, json_glib }:
-
-stdenv.mkDerivation rec {
- name = "gfbgraph-0.2";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz";
- sha256 = "534ca84920445b9d89e2480348eedde3ce950db3628ae0a79703e8f2d52fa724";
- };
-
- buildInputs = [ pkgconfig glib libsoup gnome3.gnome_online_accounts
- json_glib gnome3.rest ];
-
- enableParallelBuilding = true;
-
- meta = with stdenv.lib; {
- description = "GLib/GObject wrapper for the Facebook Graph API";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.lgpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
deleted file mode 100644
index 401d5cf2f36..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
-, json_glib, webkitgtk, makeWrapper, libpeas, bash, gobjectIntrospection
-, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg }:
-
-# TODO: icons and theme still does not work
-# use packaged gnome3.gnome_icon_theme_symbolic
-
-stdenv.mkDerivation rec {
- name = "gitg-3.13.91";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz";
- sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37";
- };
-
- preCheck = ''
- substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
- '';
- doCheck = true;
-
- makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
- propagatedUserEnvPkgs = [ shared_mime_info
- gnome3.gnome_themes_standard ];
-
- buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
- libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg
- gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
-
- preFixup = ''
- wrapProgram "$out/bin/gitg" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
- rm $out/share/icons/hicolor/icon-theme.cache
- rm $out/share/gitg/icons/hicolor/icon-theme.cache
- '';
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
- description = "GNOME GUI client to view git repositories";
- maintainers = with maintainers; [ iElectric ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix
deleted file mode 100644
index 2eccb9a32cf..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, intltool, fetchurl, python, pygobject3, atk
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup
-, bash, makeWrapper, itstool, libxml2, python3Packages
-, gnome3, librsvg, gdk_pixbuf, file, libnotify }:
-
-stdenv.mkDerivation rec {
- name = "gnome-tweak-tool-3.10.1";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
- sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
- };
-
- doCheck = true;
-
- propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
- makeFlags = [ "DESTDIR=/" ];
-
- buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
- gnome3.gsettings_desktop_schemas makeWrapper file
- gdk_pixbuf gnome3.gnome_icon_theme librsvg
- hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
- python pygobject3 libnotify gnome3.gnome_shell
- libsoup gnome3.gnome_settings_daemon gnome3.nautilus
- gnome3.gnome_desktop ];
-
- preFixup = ''
- wrapProgram "$out/bin/gnome-tweak-tool" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
- --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
- --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
- --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
- --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
- '';
-
- patches = [ ./find_gsettings.patch ];
-
- meta = with stdenv.lib; {
- homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
- description = "A tool to customize advanced GNOME 3 options";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl3;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch
deleted file mode 100644
index 3e68c04cb3a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py
-index a00fe19..dce74b2 100644
---- a/gtweak/gsettings.py
-+++ b/gtweak/gsettings.py
-@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception):
-
- class _GSettingsSchema:
- def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options):
-- if not schema_dir:
-- schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
- if not schema_filename:
- schema_filename = schema_name + ".gschema.xml"
-+ if not schema_dir:
-+ schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
-+ for xdg_dir in GLib.get_system_data_dirs():
-+ dir = os.path.join(xdg_dir, "glib-2.0", "schemas")
-+ if os.path.exists(os.path.join(dir, schema_filename)):
-+ schema_dir = dir
-+ break
-
- schema_path = os.path.join(schema_dir, schema_filename)
- if not os.path.exists(schema_path):
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix
deleted file mode 100644
index 02520a9f121..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
-, pango, libgsf, libxml2, libart, intltool, gettext
-, cairo, gconf, libgnomeui, pcre, gnome3/*just meta*/ }:
-
-stdenv.mkDerivation rec {
- name = "goffice-0.8.17";
-
- src = fetchurl {
- url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
- sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
- };
-
- # fix linking error: undefined reference to pcre_info
- patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986
-
- buildInputs = [
- pkgconfig libglade bzip2 libart intltool gettext
- gconf libgnomeui pcre
- ];
-
- propagatedBuildInputs = [
- # All these are in the "Requires:" field of `libgoffice-0.6.pc'.
- glib libgsf libxml2 gtk libglade libart cairo pango
- ];
-
- postInstall =
- ''
- # Get GnuCash to build. Might be unnecessary if we upgrade pkgconfig.
- substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
- '';
-
- doCheck = true;
-
- meta = gnome3.goffice.meta // {
- maintainers = [ ];
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix
deleted file mode 100644
index fd16d2d4985..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3
-, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
-
-stdenv.mkDerivation rec {
- name = "goffice-0.10.12";
-
- src = fetchurl {
- url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
- sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff";
- };
-
- nativeBuildInputs = [ pkgconfig intltool ];
-
- propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection?
- glib gtk3 libxml2 cairo pango libgsf
- ];
-
- buildInputs = [ libxslt librsvg ];
-
- enableParallelBuilding = true;
- doCheck = true;
-
- meta = {
- description = "A Glib/GTK+ set of document centric objects and utilities";
-
- longDescription = ''
- There are common operations for document centric applications that are
- conceptually simple, but complex to implement fully: plugins, load/save
- documents, undo/redo.
- '';
-
- license = stdenv.lib.licenses.gpl2Plus;
-
- platforms = stdenv.lib.platforms.gnu;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch b/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch
deleted file mode 100644
index cd4ef3c9fed..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/goffice/utils/regutf8.c b/goffice/utils/regutf8.c
-index bc4aae4..3adb696 100644
---- a/goffice/utils/regutf8.c
-+++ b/goffice/utils/regutf8.c
-@@ -155,7 +155,7 @@ go_regcomp (GORegexp *gor, const char *pat, int cflags)
- default: return GO_REG_BADPAT;
- }
- } else {
-- gor->re_nsub = pcre_info (r, NULL, NULL);
-+ gor->re_nsub = pcre_fullinfo (r, NULL, NULL, NULL);
- gor->nosub = (cflags & GO_REG_NOSUB) != 0;
- return 0;
- }
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix
deleted file mode 100644
index 5e27b474cbd..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, intltool
-, gnome3, enchant, isocodes }:
-
-stdenv.mkDerivation rec {
- name = "gtkhtml-4.6.6";
-
- src = fetchurl {
- url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz";
- sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd";
- };
-
- buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme
- gnome3.gsettings_desktop_schemas ];
-
- propagatedBuildInputs = [ enchant isocodes ];
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
deleted file mode 100644
index 82e2b585509..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala
-, gtk_doc, gobjectIntrospection, libgit2, glib }:
-
-stdenv.mkDerivation rec {
- name = "libgit2-glib-${version}";
- version = "0.0.20";
-
- src = fetchurl {
- url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
- sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x";
- };
-
- cmakeFlags = "-DTHREADSAFE=ON";
-
- configureScript = "sh ./autogen.sh";
-
- buildInputs = [ gnome3.gnome_common libtool pkgconfig vala
- gtk_doc gobjectIntrospection libgit2 glib ];
-
- meta = with stdenv.lib; {
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix
deleted file mode 100644
index 4985bfa902c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
- name = "libmediaart-0.4.0";
-
- src = fetchurl {
- url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz";
- sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c";
- };
-
- buildInputs = [ pkgconfig glib gdk_pixbuf ];
-
- meta = with stdenv.lib; {
- description = "Library tasked with managing, extracting and handling media art caches";
- maintainers = with maintainers; [ lethalman ];
- license = licenses.gpl2;
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
index 75c82607a02..152acb26b1b 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchurl, which, automake113x, intltool, pkgconfig, libtool, makeWrapper,
+{ stdenv, fetchFromGitHub, which, automake113x, intltool, pkgconfig, libtool, makeWrapper,
dbus_glib, libcanberra, gst_all_1, upower, vala, gnome3_12, gtk3, gst_plugins_base,
glib, gobjectIntrospection, hicolor_icon_theme
}:
stdenv.mkDerivation rec {
- name = "gnome-shell-pomodoro-0.10.2-11-gd5f5b69";
+ rev = "0.10.3";
+ name = "gnome-shell-pomodoro-${rev}-61df3fa";
- src = fetchurl {
- url =
- "https://codeload.github.com/codito/gnome-shell-pomodoro/" +
- "legacy.tar.gz/gnome-3.12";
- sha256 =
- "6c86203f56f69a52675c2df21e580a785f8894a2a9cdf4322d44743603504d10";
- name = "${name}.tar.gz";
+ src = fetchFromGitHub {
+ owner = "codito";
+ repo = "gnome-shell-pomodoro";
+ rev = "${rev}";
+ sha256 = "0i0glmijalppb5hdb1xd6xnmv824l2w831rpkqmhxi0iqbvaship";
};
configureScript = ''./autogen.sh'';
@@ -47,4 +46,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
platforms = platforms.linux;
};
-}
\ No newline at end of file
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
index 2a585d78f4e..aaef1d59ed9 100644
--- a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
@@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
- name = "evince-3.12.1";
+ name = "evince-3.12.2";
src = fetchurl {
url = "mirror://gnome/sources/evince/3.12/${name}.tar.xz";
- sha256 = "ef22cc29a7cbe70d2e7ce8c0b5b7ee774187ea69f3ae49a64c6d4a91559ef137";
+ sha256 = "30c243bbfde56338c25a39003b4848143be42157177e2163a368f14139909f7d";
};
buildInputs = [
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
index 65d1c9d1493..c6c9323c010 100644
--- a/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Framework for managing passwords and other secrets";
homepage = http://live.gnome.org/GnomeKeyring;
- # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
+ license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
inherit (glib.meta) platforms maintainers;
longDescription = ''
diff --git a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
similarity index 78%
rename from pkgs/desktops/gnome-3/3.10/core/vte/default.nix
rename to pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
index b9ffcffafbd..548ca347a45 100644
--- a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
@@ -1,19 +1,23 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection, vala, libxml2
+, selectTextPatch ? false }:
stdenv.mkDerivation rec {
-
- versionMajor = "0.35";
- versionMinor = "90";
+ versionMajor = "0.38";
+ versionMinor = "0";
moduleName = "vte";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
- sha256 = "c47182d1724db479095b918898ce62297ec71988f24cd575506151c59f7b98cf";
+ sha256 = "1llg2xnjpn630vd86ci8csbjjacj3ia6syck2bsq4kinr66z5zsw";
};
- buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
+ patches = with stdenv.lib; optional selectTextPatch ./expose_select_text.0.38.0.patch;
+
+ buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses vala libxml2 ];
+
+ preConfigure = "patchShebangs .";
configureFlags = [ "--enable-introspection" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
index f63ae98c486..d3245e232ed 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection, vala, libxml2
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection
, selectTextPatch ? false }:
stdenv.mkDerivation rec {
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch
new file mode 100644
index 00000000000..0a9b82a8598
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch
@@ -0,0 +1,227 @@
+Only in vte-0.38.0.new: expose_select_text.patch
+diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c
+--- vte-0.38.0/src/vteaccess.c 2014-08-13 08:00:38.000000000 -0400
++++ vte-0.38.0.new/src/vteaccess.c 2014-09-21 17:05:23.934641193 -0400
+@@ -1427,7 +1427,7 @@
+ *start_offset = offset_from_xy (priv, start_x, start_y);
+ _vte_terminal_get_end_selection (terminal, &end_x, &end_y);
+ *end_offset = offset_from_xy (priv, end_x, end_y);
+- return _vte_terminal_get_selection (terminal);
++ return vte_terminal_get_selection (terminal);
+ }
+
+ static gboolean
+diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c
+--- vte-0.38.0/src/vte.c 2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vte.c 2014-09-21 17:03:04.671656749 -0400
+@@ -122,7 +122,6 @@
+ gpointer data,
+ GArray *attributes,
+ gboolean include_trailing_spaces);
+-static void _vte_terminal_disconnect_pty_read(VteTerminal *terminal);
+ static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal);
+ static void vte_terminal_stop_processing (VteTerminal *terminal);
+
+@@ -3267,9 +3266,10 @@
+ _vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n");
+ terminal->pvt->pty_input_source = 0;
+ }
+-static void
+-_vte_terminal_connect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_connect_pty_read(VteTerminal *terminal)
+ {
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ if (terminal->pvt->pty_channel == NULL) {
+ return;
+ }
+@@ -3321,9 +3321,10 @@
+ }
+ }
+
+-static void
+-_vte_terminal_disconnect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_disconnect_pty_read(VteTerminal *terminal)
+ {
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ if (terminal->pvt->pty_input_source != 0) {
+ _vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
+ g_source_remove(terminal->pvt->pty_input_source);
+@@ -6154,6 +6155,28 @@
+ }
+ }
+
++/**
++ * vte_terminal_set_cursor_position:
++ * @terminal: a #VteTerminal
++ * @column: the new cursor column
++ * @row: the new cursor row
++ *
++ * Set the location of the cursor.
++ */
++void
++vte_terminal_set_cursor_position(VteTerminal *terminal,
++ long column, long row)
++{
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
++
++ _vte_invalidate_cursor_once(terminal, FALSE);
++ terminal->pvt->screen->cursor_current.col = column;
++ terminal->pvt->screen->cursor_current.row = row;
++ _vte_invalidate_cursor_once(terminal, FALSE);
++ _vte_check_cursor_blink(terminal);
++ vte_terminal_queue_cursor_moved(terminal);
++}
++
+ static GtkClipboard *
+ vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board)
+ {
+@@ -6319,7 +6342,7 @@
+ vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE);
+
+ /* Temporarily stop caring about input from the child. */
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ }
+
+ static gboolean
+@@ -6336,7 +6359,7 @@
+ terminal->pvt->selecting = FALSE;
+
+ /* Reconnect to input from the child if we paused it. */
+- _vte_terminal_connect_pty_read(terminal);
++ vte_terminal_connect_pty_read(terminal);
+
+ return TRUE;
+ }
+@@ -6834,6 +6857,50 @@
+ vte_terminal_deselect_all (terminal);
+ }
+
++/**
++ * vte_terminal_get_selection_block_mode:
++ * @terminal: a #VteTerminal
++ *
++ * Checks whether or not block selection is enabled.
++ *
++ * Returns: %TRUE if block selection is enabled, %FALSE if not
++ */
++gboolean
++vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
++ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
++ return terminal->pvt->selection_block_mode;
++}
++
++/**
++ * vte_terminal_set_selection_block_mode:
++ * @terminal: a #VteTerminal
++ * @block_mode: whether block selection is enabled
++ *
++ * Sets whether or not block selection is enabled.
++ */
++void
++vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
++ terminal->pvt->selection_block_mode = block_mode;
++}
++
++/**
++ * vte_terminal_select_text:
++ * @terminal: a #VteTerminal
++ * @start_col: the starting column for the selection
++ * @start_row: the starting row for the selection
++ * @end_col: the end column for the selection
++ * @end_row: the end row for the selection
++ *
++ * Sets the current selection region.
++ */
++void
++vte_terminal_select_text(VteTerminal *terminal,
++ long start_col, long start_row,
++ long end_col, long end_row) {
++ _vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0);
++}
++
+ /* Autoscroll a bit. */
+ static gboolean
+ vte_terminal_autoscroll(VteTerminal *terminal)
+@@ -8476,7 +8543,7 @@
+ #endif
+ kill(terminal->pvt->pty_pid, SIGHUP);
+ }
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ _vte_terminal_disconnect_pty_write(terminal);
+ if (terminal->pvt->pty_channel != NULL) {
+ g_io_channel_unref (terminal->pvt->pty_channel);
+@@ -12533,7 +12600,7 @@
+ g_object_freeze_notify(object);
+
+ if (pvt->pty != NULL) {
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ _vte_terminal_disconnect_pty_write(terminal);
+
+ if (terminal->pvt->pty_channel != NULL) {
+@@ -12588,7 +12655,7 @@
+ _vte_terminal_setup_utf8 (terminal);
+
+ /* Open channels to listen for input on. */
+- _vte_terminal_connect_pty_read (terminal);
++ vte_terminal_connect_pty_read (terminal);
+
+ g_object_notify(object, "pty");
+
+@@ -12623,7 +12690,7 @@
+ }
+
+ char *
+-_vte_terminal_get_selection(VteTerminal *terminal)
++vte_terminal_get_selection(VteTerminal *terminal)
+ {
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
+
+Only in vte-0.38.0.new/src: .vte.c.swp
+diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h
+--- vte-0.38.0/src/vteint.h 2014-05-16 13:51:26.000000000 -0400
++++ vte-0.38.0.new/src/vteint.h 2014-09-21 17:05:44.934589281 -0400
+@@ -25,7 +25,6 @@
+ G_BEGIN_DECLS
+
+ void _vte_terminal_accessible_ref(VteTerminal *terminal);
+-char* _vte_terminal_get_selection(VteTerminal *terminal);
+ void _vte_terminal_get_start_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_get_end_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, int start_offset, int end_offset);
+diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h
+--- vte-0.38.0/src/vteterminal.h 2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vteterminal.h 2014-09-21 17:03:39.094903032 -0400
+@@ -170,6 +170,18 @@
+
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
++ gboolean block_mode) _VTE_GNUC_NONNULL(1);
++void vte_terminal_select_text(VteTerminal *terminal,
++ long start_col, long start_row,
++ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++
++/* pause and unpause output */
++void vte_terminal_disconnect_pty_read(VteTerminal *vte);
++void vte_terminal_connect_pty_read(VteTerminal *vte);
+
+ /* Set the terminal's size. */
+ void vte_terminal_set_size(VteTerminal *terminal,
+@@ -276,6 +288,8 @@
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ glong *column,
+ glong *row) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++ long column, long row) _VTE_GNUC_NONNULL(1);
+
+ /* Add a matching expression, returning the tag the widget assigns to that
+ * expression. */
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
index 80a2a445ec0..0a9b82a8598 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
@@ -1,7 +1,20 @@
-diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
---- vte-0.32.2-old/src/vte.c 2012-07-13 21:09:04.003969877 -0400
-+++ vte-0.32.2/src/vte.c 2012-08-30 04:30:04.285924831 -0400
-@@ -129,7 +129,6 @@
+Only in vte-0.38.0.new: expose_select_text.patch
+diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c
+--- vte-0.38.0/src/vteaccess.c 2014-08-13 08:00:38.000000000 -0400
++++ vte-0.38.0.new/src/vteaccess.c 2014-09-21 17:05:23.934641193 -0400
+@@ -1427,7 +1427,7 @@
+ *start_offset = offset_from_xy (priv, start_x, start_y);
+ _vte_terminal_get_end_selection (terminal, &end_x, &end_y);
+ *end_offset = offset_from_xy (priv, end_x, end_y);
+- return _vte_terminal_get_selection (terminal);
++ return vte_terminal_get_selection (terminal);
+ }
+
+ static gboolean
+diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c
+--- vte-0.38.0/src/vte.c 2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vte.c 2014-09-21 17:03:04.671656749 -0400
+@@ -122,7 +122,6 @@
gpointer data,
GArray *attributes,
gboolean include_trailing_spaces);
@@ -9,7 +22,7 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal);
static void vte_terminal_stop_processing (VteTerminal *terminal);
-@@ -3508,8 +3507,8 @@
+@@ -3267,9 +3266,10 @@
_vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n");
terminal->pvt->pty_input_source = 0;
}
@@ -18,9 +31,11 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
+void
+vte_terminal_connect_pty_read(VteTerminal *terminal)
{
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
if (terminal->pvt->pty_channel == NULL) {
return;
-@@ -3560,8 +3559,8 @@
+ }
+@@ -3321,9 +3321,10 @@
}
}
@@ -29,29 +44,11 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
+void
+vte_terminal_disconnect_pty_read(VteTerminal *terminal)
{
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
if (terminal->pvt->pty_input_source != 0) {
_vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
-@@ -3708,8 +3707,8 @@
- return NULL;
- }
-
--static char *
--_vte_terminal_get_user_shell_with_fallback (void)
-+char *
-+vte_terminal_get_user_shell_with_fallback (void)
- {
- char *command;
- const gchar *env;
-@@ -3744,7 +3743,7 @@
- char **argv2;
- char *shell = NULL;
-
-- argv2 = __vte_pty_get_argv(command ? command : (shell = _vte_terminal_get_user_shell_with_fallback ()),
-+ argv2 = __vte_pty_get_argv(command ? command : (shell = vte_terminal_get_user_shell_with_fallback ()),
- argv,
- flags);
- g_free(shell);
-@@ -6545,6 +6544,28 @@
+ g_source_remove(terminal->pvt->pty_input_source);
+@@ -6154,6 +6155,28 @@
}
}
@@ -80,8 +77,8 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
static GtkClipboard *
vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board)
{
-@@ -6676,7 +6697,7 @@
- terminal->pvt->selection_start.row);
+@@ -6319,7 +6342,7 @@
+ vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE);
/* Temporarily stop caring about input from the child. */
- _vte_terminal_disconnect_pty_read(terminal);
@@ -89,7 +86,7 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
}
static gboolean
-@@ -6693,7 +6714,7 @@
+@@ -6336,7 +6359,7 @@
terminal->pvt->selecting = FALSE;
/* Reconnect to input from the child if we paused it. */
@@ -98,35 +95,8 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
return TRUE;
}
-@@ -8994,7 +9015,7 @@
- #endif
- kill(terminal->pvt->pty_pid, SIGHUP);
- }
-- _vte_terminal_disconnect_pty_read(terminal);
-+ vte_terminal_disconnect_pty_read(terminal);
- _vte_terminal_disconnect_pty_write(terminal);
- if (terminal->pvt->pty_channel != NULL) {
- g_io_channel_unref (terminal->pvt->pty_channel);
-@@ -14384,7 +14405,7 @@
- g_object_freeze_notify(object);
-
- if (pvt->pty != NULL) {
-- _vte_terminal_disconnect_pty_read(terminal);
-+ vte_terminal_disconnect_pty_read(terminal);
- _vte_terminal_disconnect_pty_write(terminal);
-
- if (terminal->pvt->pty_channel != NULL) {
-@@ -14440,7 +14461,7 @@
- _vte_terminal_setup_utf8 (terminal);
-
- /* Open channels to listen for input on. */
-- _vte_terminal_connect_pty_read (terminal);
-+ vte_terminal_connect_pty_read (terminal);
-
- g_object_notify(object, "pty");
- g_object_notify(object, "pty-object");
-@@ -14567,6 +14588,50 @@
- }
+@@ -6834,6 +6857,50 @@
+ vte_terminal_deselect_all (terminal);
}
+/**
@@ -173,21 +143,72 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c
+ _vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0);
+}
+
- void
- _vte_terminal_select_text(VteTerminal *terminal,
- long start_col, long start_row,
-diff -aur vte-0.32.2-old/src/vte.h vte-0.32.2/src/vte.h
---- vte-0.32.2-old/src/vte.h 2012-07-13 21:09:04.003969877 -0400
-+++ vte-0.32.2/src/vte.h 2012-08-30 04:30:09.695999432 -0400
-@@ -296,6 +296,15 @@
- /* simple manipulation of selection */
- void vte_terminal_select_all(VteTerminal *terminal);
- void vte_terminal_select_none(VteTerminal *terminal);
-+gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal);
-+void vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode);
+ /* Autoscroll a bit. */
+ static gboolean
+ vte_terminal_autoscroll(VteTerminal *terminal)
+@@ -8476,7 +8543,7 @@
+ #endif
+ kill(terminal->pvt->pty_pid, SIGHUP);
+ }
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ _vte_terminal_disconnect_pty_write(terminal);
+ if (terminal->pvt->pty_channel != NULL) {
+ g_io_channel_unref (terminal->pvt->pty_channel);
+@@ -12533,7 +12600,7 @@
+ g_object_freeze_notify(object);
+
+ if (pvt->pty != NULL) {
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ _vte_terminal_disconnect_pty_write(terminal);
+
+ if (terminal->pvt->pty_channel != NULL) {
+@@ -12588,7 +12655,7 @@
+ _vte_terminal_setup_utf8 (terminal);
+
+ /* Open channels to listen for input on. */
+- _vte_terminal_connect_pty_read (terminal);
++ vte_terminal_connect_pty_read (terminal);
+
+ g_object_notify(object, "pty");
+
+@@ -12623,7 +12690,7 @@
+ }
+
+ char *
+-_vte_terminal_get_selection(VteTerminal *terminal)
++vte_terminal_get_selection(VteTerminal *terminal)
+ {
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
+
+Only in vte-0.38.0.new/src: .vte.c.swp
+diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h
+--- vte-0.38.0/src/vteint.h 2014-05-16 13:51:26.000000000 -0400
++++ vte-0.38.0.new/src/vteint.h 2014-09-21 17:05:44.934589281 -0400
+@@ -25,7 +25,6 @@
+ G_BEGIN_DECLS
+
+ void _vte_terminal_accessible_ref(VteTerminal *terminal);
+-char* _vte_terminal_get_selection(VteTerminal *terminal);
+ void _vte_terminal_get_start_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_get_end_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, int start_offset, int end_offset);
+diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h
+--- vte-0.38.0/src/vteterminal.h 2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vteterminal.h 2014-09-21 17:03:39.094903032 -0400
+@@ -170,6 +170,18 @@
+
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
++ gboolean block_mode) _VTE_GNUC_NONNULL(1);
+void vte_terminal_select_text(VteTerminal *terminal,
+ long start_col, long start_row,
-+ long end_col, long end_row);
++ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+
+/* pause and unpause output */
+void vte_terminal_disconnect_pty_read(VteTerminal *vte);
@@ -195,20 +216,12 @@ diff -aur vte-0.32.2-old/src/vte.h vte-0.32.2/src/vte.h
/* Set the terminal's size. */
void vte_terminal_set_size(VteTerminal *terminal,
-@@ -435,6 +444,8 @@
- GArray *attributes);
+@@ -276,6 +288,8 @@
void vte_terminal_get_cursor_position(VteTerminal *terminal,
- glong *column, glong *row);
+ glong *column,
+ glong *row) _VTE_GNUC_NONNULL(1);
+void vte_terminal_set_cursor_position(VteTerminal *terminal,
-+ long column, long row);
- /* Display string matching: clear all matching expressions. */
- void vte_terminal_match_clear_all(VteTerminal *terminal);
++ long column, long row) _VTE_GNUC_NONNULL(1);
-@@ -484,6 +495,7 @@
- VtePty *vte_terminal_get_pty_object(VteTerminal *terminal);
-
- char *vte_get_user_shell (void);
-+char *vte_terminal_get_user_shell_with_fallback(void);
-
- /* Accessors for bindings. */
- #if !GTK_CHECK_VERSION (2, 91, 2)
+ /* Add a matching expression, returning the tag the widget assigns to that
+ * expression. */
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
index 0a5bc78af47..e9911823073 100644
--- a/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
homepage = https://wiki.gnome.org/Apps/Yelp;
description = "Yelp's universal stylesheets for Mallard and DocBook";
maintainers = with maintainers; [ lethalman ];
- # TODO license = [licenses.gpl2 licenses.lgpl2];
+ license = [licenses.gpl2 licenses.lgpl2];
platforms = platforms.linux;
};
}
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
index d8897e262d5..d7f9fe1ff53 100644
--- a/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Yelp;
- description = "Yelp is the help viewer in Gnome.";
+ description = "The help viewer in Gnome";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
index a46f49cbb5a..a60e1a85bca 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -3,11 +3,14 @@
rec {
inherit (pkgs) glib gtk2 gtk3 gnome2;
gnome3 = pkgs.gnome3_12 // { recurseForDerivations = false; };
+
+ # DO NOT UPGRADE CLUTTER, IT BREAKS GNOME 3.12
clutter = pkgs.clutter_1_18;
clutter_gtk = pkgs.clutter_gtk.override { inherit clutter; };
clutter-gst = pkgs.clutter-gst.override { inherit clutter; };
- upower = pkgs.upower_99;
cogl = pkgs.cogl_1_18;
+
+ upower = pkgs.upower_99;
gtk = gtk3; # just to be sure
libcanberra = pkgs.libcanberra_gtk3; # just to be sure
inherit (pkgs.gnome2) ORBit2;
@@ -22,9 +25,13 @@ rec {
dconf = callPackage ./core/dconf { };
- empathy = callPackage ./core/empathy { };
+ empathy = callPackage ./core/empathy {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
- epiphany = callPackage ./core/epiphany { };
+ epiphany = callPackage ./core/epiphany {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
@@ -76,7 +83,9 @@ rec {
folks = callPackage ./core/folks { };
- gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
+ gnome_online_accounts = callPackage ./core/gnome-online-accounts {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
gnome-online-miners = callPackage ./core/gnome-online-miners { };
@@ -112,7 +121,7 @@ rec {
gucharmap = callPackage ./core/gucharmap { };
- gvfs = pkgs.gvfs.override { gnome = gnome3; lightWeight = false; };
+ gvfs = pkgs.gvfs.override { gnome = gnome3; gnomeSupport = true; };
eog = callPackage ./core/eog { };
@@ -158,7 +167,9 @@ rec {
rest = callPackage ./core/rest { };
- sushi = callPackage ./core/sushi { };
+ sushi = callPackage ./core/sushi {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
totem = callPackage ./core/totem { };
@@ -168,11 +179,15 @@ rec {
vte = callPackage ./core/vte { };
- vte-select-text = callPackage ./core/vte { selectTextPatch = true; };
+ vte_038 = callPackage ./core/vte/0.38.0.nix { }; # To be moved in gnome 3.14 when available
+
+ vte-select-text = vte_038.override { selectTextPatch = true; };
vino = callPackage ./core/vino { };
- yelp = callPackage ./core/yelp { };
+ yelp = callPackage ./core/yelp {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
yelp_xsl = callPackage ./core/yelp-xsl { };
@@ -183,9 +198,13 @@ rec {
#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
- bijiben = callPackage ./apps/bijiben { };
+ bijiben = callPackage ./apps/bijiben {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
- evolution = callPackage ./apps/evolution { };
+ evolution = callPackage ./apps/evolution {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
file-roller = callPackage ./apps/file-roller { };
@@ -200,7 +219,9 @@ rec {
gnome-clocks = callPackage ./apps/gnome-clocks { };
- gnome-documents = callPackage ./apps/gnome-documents { };
+ gnome-documents = callPackage ./apps/gnome-documents {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
gnome-music = callPackage ./apps/gnome-music { };
@@ -223,17 +244,23 @@ rec {
#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
- geary = callPackage ./misc/geary { };
+ geary = callPackage ./misc/geary {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
gfbgraph = callPackage ./misc/gfbgraph { };
goffice = callPackage ./misc/goffice { };
- gitg = callPackage ./misc/gitg { };
+ gitg = callPackage ./misc/gitg {
+ webkitgtk = pkgs.webkitgtk24x;
+ };
libgda = callPackage ./misc/libgda { };
- libgit2-glib = callPackage ./misc/libgit2-glib { };
+ libgit2-glib = callPackage ./misc/libgit2-glib {
+ libgit2 = pkgs.libgit2.override { libssh2 = null; };
+ };
libmediaart = callPackage ./misc/libmediaart { };
diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
index fd16d2d4985..f116f5b53cd 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
@@ -2,11 +2,11 @@
, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
stdenv.mkDerivation rec {
- name = "goffice-0.10.12";
+ name = "goffice-0.10.18";
src = fetchurl {
url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
- sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff";
+ sha256 = "4743a148d4452743f3484ed28285a6889adb4af2a61b72448e0ddfe7d5142c64";
};
nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
index 48a08601407..f87431653c9 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
, pango, gtk3, gnome3, dbus, clutter, appdata-tools, makeWrapper }:
stdenv.mkDerivation rec {
- version = "3.12.3";
+ version = "3.12.3.1";
name = "gpaste-${version}";
src = fetchurl {
url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
- sha256 = "03f48kaidgbnyi4c7qgkwvnxs5rz7nk9m3iqfpsbhc512c8qnc1f";
+ sha256 = "05afbhn3gw015cf2z3045lvlnj4cz06p6libkglb2wqsfb7azbl0";
};
buildInputs = [ intltool autoreconfHook pkgconfig vala glib
diff --git a/pkgs/desktops/kde-4.12/applications/kate.nix b/pkgs/desktops/kde-4.12/applications/kate.nix
deleted file mode 100644
index e7a6476dd6d..00000000000
--- a/pkgs/desktops/kde-4.12/applications/kate.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4}:
-
-kde {
-
- buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4 ];
-
- meta = {
- description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/applications/konsole.nix b/pkgs/desktops/kde-4.12/applications/konsole.nix
deleted file mode 100644
index bd4e9e58cd0..00000000000
--- a/pkgs/desktops/kde-4.12/applications/konsole.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, kde, kdelibs, kde_baseapps }:
-
-kde {
-
- buildInputs = [ kdelibs kde_baseapps ];
-
- meta = {
- description = "Konsole, the KDE terminal emulator";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/default.nix b/pkgs/desktops/kde-4.12/default.nix
deleted file mode 100644
index ffcd3115de7..00000000000
--- a/pkgs/desktops/kde-4.12/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.12.4" }:
-
-let
- branch = "4.12";
-
- # Need callPackageOrig to avoid infinite cycle
- kde = callPackageOrig ./kde-package {
- inherit release branch ignoreList extraSubpkgs callPackage;
- };
-
- # The list of igored individual modules
- ignoreList = {
- # Doesn't work yet
- kdeutils = [ "ksecrets" ];
- # kdeadmin/strigi-analyzer has no real code
- kdeadmin = [ "strigi-analyzer" ];
- # Most of kdebindings do not compile due to a bug in the buildsystem
- kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
- };
-
- # Extra subpackages in the manifest format
- extraSubpkgs = {};
-
-in
-
-kde.modules // kde.individual //
-{
- inherit (kde) manifest modules individual splittedModuleList;
-
- akonadi = callPackage ./support/akonadi { };
-
- qt4 = qt48;
-
- kdebase_workspace = kde.modules.kde_workspace;
-
- inherit release;
-
- full = stdenv.lib.attrValues kde.modules;
-
- l10n = callPackage ./l10n {
- inherit release branch;
- inherit (kde.manifest) stable;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch
deleted file mode 100644
index 378cdb64694..00000000000
--- a/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3d3e247..f78db67 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,5 +1,10 @@
--find_package(KDE4 REQUIRED)
--include(KDE4Defaults)
-+project(kde-wallpapers NONE)
-+if( WALLPAPER_INSTALL_DIR )
-+ message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}")
-+else()
-+ find_package(KDE4 REQUIRED)
-+ include(KDE4Defaults)
-+endif()
-
- install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE)
-
diff --git a/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch b/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
deleted file mode 100644
index c85eccd6beb..00000000000
--- a/pkgs/desktops/kde-4.12/files/kdelibs-cve-2014-5033.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
-+++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
-@@ -144,7 +144,7 @@
-
- Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
- {
-- PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
-+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
- PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
- PolkitQt1::Authority::None);
- switch (r) {
-@@ -160,21 +160,12 @@
-
- QByteArray Polkit1Backend::callerID() const
- {
-- QByteArray a;
-- QDataStream s(&a, QIODevice::WriteOnly);
-- s << QCoreApplication::applicationPid();
--
-- return a;
-+ return QDBusConnection::systemBus().baseService().toUtf8();
- }
-
- bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
- {
-- QDataStream s(&callerID, QIODevice::ReadOnly);
-- qint64 pid;
--
-- s >> pid;
--
-- PolkitQt1::UnixProcessSubject subject(pid);
-+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
- PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
-
- PolkitResultEventLoop e;
-
diff --git a/pkgs/desktops/kde-4.12/files/polkit-install.patch b/pkgs/desktops/kde-4.12/files/polkit-install.patch
deleted file mode 100644
index d2ecac663ec..00000000000
--- a/pkgs/desktops/kde-4.12/files/polkit-install.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
---- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake 2011-05-20 22:24:54.000000000 +0200
-+++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake 2011-07-12 14:03:00.000000000 +0200
-@@ -139,7 +139,7 @@
- ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
- ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
-
-- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING
-+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING
- "Where policy files generated by KAuth will be installed" FORCE)
- elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
- set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
diff --git a/pkgs/desktops/kde-4.12/kactivities.nix b/pkgs/desktops/kde-4.12/kactivities.nix
deleted file mode 100644
index 06381bb13d7..00000000000
--- a/pkgs/desktops/kde-4.12/kactivities.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, nepomuk_core }:
-
-kde {
- propagatedBuildInputs = [ kdelibs nepomuk_core ];
-
- meta = {
- description = "KDE activities library and daemon";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-base-artwork.nix b/pkgs/desktops/kde-4.12/kde-base-artwork.nix
deleted file mode 100644
index 3f416cebddc..00000000000
--- a/pkgs/desktops/kde-4.12/kde-base-artwork.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- outputHashAlgo = "sha256";
- outputHashMode = "recursive";
- outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE Base artwork";
- license = "GPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix
deleted file mode 100644
index a65f33e13de..00000000000
--- a/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, kde, kdelibs, htmlTidy, kactivities
-, nepomuk_core, nepomuk_widgets, libXt }:
-
-kde {
- buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
-
- meta = {
- description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix b/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix
deleted file mode 100644
index 9b5a53cee48..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix
+++ /dev/null
@@ -1,444 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
- {name="amor";value="0c8298z7c3a71yj6nik7h8h7rngqzrz6rc95kl990p37jp2ng0d9";}
- {name="analitza";value="0l122nh81nf7r4bm73gc6dp9k4jh2dxc7majrzjq37hb8pi77njh";}
- {name="ark";value="155bhqqyw3afm99c47b3pxqf9fiqcz6gqg1pavsx9q4rmk7rp8m6";}
- {name="audiocd-kio";value="1c5234s1hdh6jc8szyb4nwqr1h8hhwlmin0iyxabsl0c45pss9pa";}
- {name="blinken";value="0q0y3xfv3pjrw0h8mnbigpywwrqk8wb2lqbjcgk755j6syinhphh";}
- {name="bomber";value="1f12qmg58n9sj6vjqdj57ch50pq5f0h6anx06x9bhhs502w6aqwy";}
- {name="bovo";value="10x4qy4vdp76iv3n60iy24lk1wbsjdfr88l1m9xifj4k942wk2ir";}
- {name="cantor";value="1x5rxshdbgl40cqx6h5r0hx49rrc6gwnabsl8b7kzimh0kbv2ma9";}
- {name="cervisia";value="0ia78cjkq606232jy14ps7cpm77pq4xdmcfimv4l6p0xjpq8jzsg";}
- {name="dolphin-plugins";value="08h278jpbll7wc1mhz58cklj1bkrk61dfwjlflag6fnlm6i4xx8k";}
- {name="dragon";value="16gyr0dl50nl9r3yc2fkwmqlrfgzzyim6bdlb9a76winzbz8mgxr";}
- {name="ffmpegthumbs";value="01cmwm6w1z2gsllwdmrzsl9882fw5k59lr1k7z114kkrh1l0b2j4";}
- {name="filelight";value="01rs1r80ixm1dj5d73a22893rdz2srxqp4dv5pysw1fhn02zdkkf";}
- {name="granatier";value="1ia85yxfbbi8qxdyn0vwgmdjrxwssb6nadbia1yqsjdncfsnhbvs";}
- {name="gwenview";value="01p5b1z05v3c7f192fxrrfp6x3ss7gx8pxv29czkp641hpmcg3jl";}
- {name="jovie";value="1hfkj3vlvm63sgb4gx3xl7nksb5cfqnh7shs7wqm3gl6yj2rwhjj";}
- {name="juk";value="1vxnrxz6gbyk7fd15akhiyczpgq03cym3nldi61m958cx4khd4y7";}
- {name="kaccessible";value="0a9r2bk8a5h7mpl37li3bqbsz5dfgn8rsxnri93msvc6555pnyzv";}
- {name="kactivities";value="1fl638cyj3abxfmbqcfqsd3idmdmys1xim4flf1jpbqa29psl75j";}
- {name="kajongg";value="19awqjqn9hqhprzi7mjb6nkrgvb3mzhignkgalfjd4j5rga7vzz0";}
- {name="kalgebra";value="1bj88nh7znk86i6a4d3jcjyqp46kzipfc99xvhxvqdsy8drbrwjp";}
- {name="kalzium";value="00pjpdbd11jgzs443kgh8y6pxf3ff0ypgl5j3zfa6gbj18cnkkq0";}
- {name="kamera";value="12mcjw8l0nh2jbi04myx1y1irbf92x9bx93gdymw939lawaalqic";}
- {name="kanagram";value="1yd5agh61nv4ajlrijxg5g3hvw0xjxdvnc6h3lbz5mgvc8smvazk";}
- {name="kapman";value="1aa78q6y2s9dig2603b9nry5rx5jbbxz2pb3jxr323hmqxp6jy1z";}
- {name="kapptemplate";value="08j8xh9spk6ymlichl74n1v2zn342d94m6f4jragnx2jvif2163k";}
- {name="kate";value="1cxc9bgzvfpns7dhmmafzxhnyjqxyq0adr0l1mbwsahxpkblc30r";}
- {name="katomic";value="01lk7ajlj98rjbs76xd9r3hnd98dy49xv809m2zchm5ria7hdh48";}
- {name="kblackbox";value="1sgbs0flllmy6d3518wwnzmdr14kqkxsi76h2p4xyk3bq2g9q2xg";}
- {name="kblocks";value="1zinpxbvri52r26qiiiv4j4r02a22947hcrchf1z3n6lf817vqwv";}
- {name="kbounce";value="0f9ssdpicvkiv7dxnj75h1cmz24mz2sy2zyp7rw7mvr9ynnl8w21";}
- {name="kbreakout";value="02ix39kfkagmsqs8icqrqy9cz90lbl2wqajyjzrshw1vi29iahc7";}
- {name="kbruch";value="0mfqdgwd5d8sy3bdiicpd5927dgg6zhm521f2q853qd2sqjbspgl";}
- {name="kcachegrind";value="0dydarm1a2i64nazcl59s0a8b8z7znnm20wdmx2gfm5377j98y8x";}
- {name="kcalc";value="1znrv4fqwaf56djf9qg6fxcp7nfi7fzza2whjlkayvc9kxv3ah9y";}
- {name="kcharselect";value="0mbl9zvb9hp0xdi58v0vb8z0by71xkz22pr9flnkar5b1klnjpdb";}
- {name="kcolorchooser";value="1d1cyaqi0rhwfnmjbxpjjavgwjhr3pd2rywlxxb9g4q3rv8k7wg5";}
- {name="kcron";value="033f0s14crqpsirhgysi309b9pj02vwsd7fr28n6n2sh5imj30a0";}
- {name="kdeartwork";value="08snjhaqiddiaj5jfd0vx1fjijsyqwngy7p1mkpdfhj7575sbx7c";}
- {name="kde-baseapps";value="0k0mfbpvmv0n2brrb8hc0rd1wz04m3cyr1byb0z34a7x7kk1h1i4";}
- {name="kde-base-artwork";value="0vmkbmir7hviqkv7nqrbqd6skj2srp9w4nrs8rkcvq7c8n76rk5w";}
- {name="kde-dev-scripts";value="0l5frvb1akhy86j3yic3n1jirclj8r1jwjn760fi89vl1xysrarq";}
- {name="kde-dev-utils";value="0807c8mq8rqqk8vf9r1idqmqrlfv9bsc8rjn8mfv2ch49mzzdrdj";}
- {name="kdegraphics-mobipocket";value="1m6lnkr460261iq634lz887dbhvmj56p97k4llch3h80ra10mlh8";}
- {name="kdegraphics-strigi-analyzer";value="1rqb1lzqb39p95xpf8c26pm9rxhcmycd518hxzp8arz6k2chazj8";}
- {name="kdegraphics-thumbnailers";value="04aaxjznb176ym89f06gp4bycg67zndwc451mkdr33mal58jh0zs";}
- {name="kdelibs";value="0dn0z1fs4vym7cp2749viw171dhay9ql2dp65a4hphmsdmk9bzv4";}
- {name="kdenetwork-filesharing";value="1r3a5y9nmcf06nqsdh8k4jny7dmrhya8xi3jwz0d1mfzlfjksyf7";}
- {name="kdenetwork-strigi-analyzers";value="0gqj5b91q3l5hna6zbgm17wi54g7g058n605adc1mch97yshqyrd";}
- {name="kdepim";value="00lsyg6762kd2qvhhqq6vrrrl1fbk07yd3ha8w1yyjwiy9cnsy7z";}
- {name="kdepimlibs";value="1h7k5ravilwz9r5lh7dqjnzh9h8hz43plbdaicjwk2sg4mqwzzhh";}
- {name="kdepim-runtime";value="1z631kag1gpmk2ljk64vhscr3lad3mj3599phh0i8jqlxvr4007c";}
- {name="kdeplasma-addons";value="0lfza3454hzbicqpz0ipjys9brjkblmpsngqg5njxd6ph9mzg34a";}
- {name="kde-runtime";value="05n5cllsjyf03bgisykrbc74i7a3nm5f0k6hnq9sphf8xnxl318x";}
- {name="kdesdk-kioslaves";value="045kf44s2gg3i2xl6087zn3cz80y7li26fzxdvvv89ywcq0npg59";}
- {name="kdesdk-strigi-analyzers";value="15xxpgiy5bp6m78crw448mzv3yijjzipsrybadrbwqz6p7dpysbv";}
- {name="kdesdk-thumbnailers";value="039rgq5p4mkdrilcvkf6k1d9d45swk74hdg3qnsbz3m47vqqf92h";}
- {name="kde-wallpapers";value="0z7ffz2i410k2xxl1cr8m74mm90c5sizpbhmhyqxwjlsbz1gwfya";}
- {name="kdewebdev";value="0ljwbzdcshjaz2dv7yp4ckj0c0jxa60ka6vjbhdmc4x7nvwnx737";}
- {name="kdf";value="0s8ms5h5gdfa3697xg1yzz0h2hijlv68gi2g7n7g3xwpawbqrzv1";}
- {name="kdiamond";value="10v7zrj4d96ppawjib1jgdz00455h8334w4vb619g448pj5h66sn";}
- {name="kfloppy";value="1fd7wwbxngaiy0fbxvqp027rp61jg8fwajz70lx7acs20kcs0301";}
- {name="kfourinline";value="1s2gc7zk932ks89c24pyimcsspnmabbmsdjh520xkzzxrp41gz0b";}
- {name="kgamma";value="0n19zrarda9fvhimgnm84mdcaqgcqn4qfr0yw6i76la24pjbl46y";}
- {name="kgeography";value="0w32841fligd3gyjl34q2f31jldw2vl47bi6cljwp7nlkdlp0lkn";}
- {name="kget";value="1kls245b5s2dlxcrpa4d969zlr2lw797p7p2ilyhb4rbv871c0wd";}
- {name="kgoldrunner";value="10xq9827gwib6w9h4hhys1v896rxqd50mz66k3frnrqals04zbbk";}
- {name="kgpg";value="1wa5ymibiqnjxl5ck94y1xh3qk0bx3v7k7n2y3jcvprmhglffx6j";}
- {name="khangman";value="1jfi30cb17gkn7v3i42wj0pqgaq3mr4fjbwh60ikvhxxd0nf5nny";}
- {name="kig";value="1z0f50m1hgr5jj79v5v610bdggy4knlqnbxpnwf6ihj60v3cn0x0";}
- {name="kigo";value="1klcgh3bpl3gqyh5zvij7ah754wjjf409a9l1xqxjigz4samnism";}
- {name="killbots";value="04vy4zybgqls4whymqnzgkfbmzb17cc1m2xf2hp32bq5fq0r8103";}
- {name="kimono";value="1bqbgch1z2nm143sp4lwnh3swvmvavhkj4scgx6d17m24jgd69hn";}
- {name="kiriki";value="04r7p5f9a2iwv7c40pcnbga5ldcfjjig31fx81ww0b6p62dv2vrl";}
- {name="kiten";value="1fxyy805b1q2sxdkd0hq2fr6plbnawzyascsbwychsqsasw2rmng";}
- {name="kjumpingcube";value="0q2hn6lvz5grwz10nqq5jkcg3j1lgqsmmmhmx0glr4c732hg1z1d";}
- {name="klettres";value="1w4340gaaip8imwy5d0058600v6fi7wnifppay2l7kvlp09iwmws";}
- {name="klickety";value="088xvrb1jn8f3cfh39387pzw9simrjan63c24hn76290fkqjadgq";}
- {name="klines";value="0n3bsvf5skr4816mjrd7zqjnh8vp5klvgx3h0025hwcbqyfa64bs";}
- {name="kmag";value="0x91b1fwvwppiwzsnvc0647429ffhn56gndykmmyzr27i45znk3r";}
- {name="kmahjongg";value="19qz7q5sr5xphzwxjf84h5vg0fll45fvs3pi5q9a5x5g4dy14wsv";}
- {name="kmines";value="1nm7di7xs727jvfvv2039hpgkxzddgfv6vvrw3jwls975akl1wmb";}
- {name="kmix";value="19s9z6m1v3wk5prngmm612r34013z7dkira83ap6kn3v32cfciry";}
- {name="kmousetool";value="1zf7d3k1jf5ydaiw7v7a34hd5w4fmgkd4g9427546x64n27vx0a2";}
- {name="kmouth";value="12n1x1imy7w3rn8g8zawmfivic0avzgrpmwm71hy7kxw9ya24yjg";}
- {name="kmplot";value="1zji3lkq332zgvccnlisdavwxh0d1x81131xcy25r36q9c42syj3";}
- {name="knavalbattle";value="0ibbahwck80z1dhycvm52k4nnj0pifzf9vi7j64kczc54z20b6d2";}
- {name="knetwalk";value="0j8lyv60rvs5w214vhpmkf0807vi8b2vc8lglmmvz66cpw42c45z";}
- {name="kolf";value="060dmnpr84g1512l0c0myxf1h1qp4jdsfgnxg5vwpciqk0dc9qhy";}
- {name="kollision";value="033x8dg57f5amsnignri6ln8adavbaw1l3sydlf0jrw7ww3qvw1h";}
- {name="kolourpaint";value="0c7i95cplwvxxm6aqgsk70q8ny8yfarcah9113vk6b81llbwn5sc";}
- {name="kompare";value="0mq2v9nissb5s41lwvjbpba6fznkzwah9a7yisjq1nq47rp4ymqb";}
- {name="konquest";value="0bsqxr12x9qgk4al21s2hrm48hv15ir98792z8jna3d5w6j0a2zy";}
- {name="konsole";value="13kv6pmziqfis4qxkfxbmm3yiy2w3fy2l2qi68l0s6yiaqkd9y37";}
- {name="kopete";value="012zjq0zmqkgahnzzj02xaqhsh800bn1x7sj8vmv1mxqyi66srvy";}
- {name="korundum";value="1qyk8gvzcjwi5pi7s0a74glyvi1mi7k5z5ilza16y0z5k6ffgvck";}
- {name="kpat";value="0lmhygv4l1vkmbf7vmrbns6fl1anbcxsnldn0hccdpp73x1py88g";}
- {name="kppp";value="0nnz137c384xlnrvy625zdjfzzrp6yrcfnn9gw6fs81cq4zwrr64";}
- {name="krdc";value="0g7p94q0h3i3j9wwcmmiylz0604v4z9f0b2dppfiaq5bnz9m5pdl";}
- {name="kremotecontrol";value="1hg4fq6ypws4zb07glsrflmr7vq35h7qqmjf5r5b5j53xqmgr6hp";}
- {name="kreversi";value="059xsi9x6jhsdsgrxrk08haz1v4p4i46l7zkg8id64s9kvywgn5j";}
- {name="krfb";value="01l8jv5ad3gc5kxjbr7k4ggcipc5903z82pq9616mk0qpd96j6jb";}
- {name="kross-interpreters";value="0cdb9kaq9fdjaxks83z3gvjwwhz94g4kgjq1rp6wmzwydk28ip6i";}
- {name="kruler";value="0i9n2znhm6llriipvrrjh8yymj76a17895w7kbcyd41srk0akk5i";}
- {name="ksaneplugin";value="1fqkbf47ajw7ckzipphdjpnpv4gk426k1rpq3z1qlbag9f9wvxsd";}
- {name="kscd";value="1f8099bhylrr5m3a5lrmjxz2rz59k3qi1abfjs63hk2z523p99n3";}
- {name="kshisen";value="1nhq2rxiylzr7klpqqbhl35v7s4prv15wrckgx84mdm5hmyh4nsw";}
- {name="ksirk";value="0s577h7sswqr44mzmm2a5gi62w8lpzivy9xy5jpib3iw768a9gxy";}
- {name="ksnakeduel";value="09jp1cd138cqv131h7m3c994zwxbn97yw77fq1yrcfgyspmdx0x9";}
- {name="ksnapshot";value="1fiqracij106c22b0ws6n047wn4fww5fzli8rqjas5m25931azl4";}
- {name="kspaceduel";value="1a2n9kyn6y62yps5apclgpmzbchdrfn3lck9fl68alk0bpqdnz1n";}
- {name="ksquares";value="1bg9na03ph1lignnl6fdxkvcbsq77dskbgn8d7hyq1p800n7jx7q";}
- {name="kstars";value="1wf13434sxxwikrp29jl5klggmv0ln73a57rs0m4gr4zrjvbrs2s";}
- {name="ksudoku";value="1nq4nj1q723s7gv1d0l3wafs2d6wz67xhir2sa1wsw12dzh856vf";}
- {name="ksystemlog";value="0khb92vxr0hfny2yxwnww33ahgm9gmmrf5h7qaj0lqnyrh5fcl6c";}
- {name="kteatime";value="13jzf4mcq8glkhg5szpawj2k0ss4qfzrjhpmjn3m3grz1zf167sw";}
- {name="ktimer";value="0y6q9khxlmb7pgds4f9a83aqnbn0gwbi3r15s8vf72qr3qj3f5xc";}
- {name="ktouch";value="1swdkzvm9q4r8ily7n4cs91y186zlzys7kjs3lf2q46d63l9nfdz";}
- {name="ktuberling";value="0fzd17hvb2zaqwd0fw6f3rq0mlq8xrmz155dyg916jg2alslicxh";}
- {name="kturtle";value="1hlfv77g0v48qfqwpqqnw5qf8fcl4v38612v3jy5z038g4sacxkx";}
- {name="ktux";value="0shib3f2gcdgf88zh2w67kizbmj7gz0vqy8ff5vmr75fp44111b4";}
- {name="kubrick";value="1dkd7rzkxyk71hd4r9l6nlvcl3zj8vf6i9v1gqi8zjrqwpxvf188";}
- {name="kuser";value="1qc4wk5q9y7mmkfjqndcby7782z2aaj7x1cc4dcmds01glm2bw6j";}
- {name="kwalletmanager";value="1f0ncnx3d6z3v373095nhydj844hiva64qh80cc7rmb624vlcsa4";}
- {name="kwordquiz";value="1m0zi0gldw7shjy4nhiw2azgrfvhcmm5h423gckjczpqd9f17ihd";}
- {name="libkcddb";value="0k1xr8z3dmfq08qh7fkjhi2v523lhy1inmggnk3gaxzarlvhqxxa";}
- {name="libkcompactdisc";value="03ch51firb2xcqwy3p6q5j5zr9570nvqa5cgd5yj7pjnzdwcjxv8";}
- {name="libkdcraw";value="1ypamhdk8y7vb9y250vilmv5dgxf1svvsw329yxc146ii0pb4nwr";}
- {name="libkdeedu";value="0m20vxa9x2ww7xmq1a7j4pmqsdj5pp05hsg4q64slz69m5npi30r";}
- {name="libkdegames";value="1hz02x2k7iiw0i78ifa4ji60l87by855v5f6pm3ksw3rdw0ipz9v";}
- {name="libkexiv2";value="0mz88j3kszqxf518h7n0fjnql2iqwx780hv4jhvrkraclf4czng9";}
- {name="libkipi";value="0x4d356c20fdjaqadzaqhsf43v9c9bgbwbyy304q2w329m8ab058";}
- {name="libkmahjongg";value="0911knwvhwa77hr0ncqwjqzfcyvgi806ckyldglrhvm0gw0mgy60";}
- {name="libkomparediff2";value="0rn5xhbnywjjbk9qx3xw3gss57l105a4a4v05gh9vvl82hc5sfzx";}
- {name="libksane";value="19zibd1y96sxwnpdxkd752jiky83b8is85qi7six60g5kkzi948m";}
- {name="lokalize";value="0sl9i146rx0ls3rii6893alkvsjv8ln0d5yabd72f8kagsaw42h7";}
- {name="lskat";value="1flx7l8svf51fkr3lw0z85d0gkrabjzi73w4qn2wnsaz9wr6kahi";}
- {name="marble";value="1gvlq0si76bk4yd8dfbixzwxj618ifd2jlr7fq6f9mx498cvifpi";}
- {name="mplayerthumbs";value="1nw01216mghwxz7zhkf7px5kkb2d4dqdk7par20agvw2raan9axi";}
- {name="nepomuk-core";value="0gavipa1hn5aw77q3xrdv9464l8qpabq6kawlvjvv90hjvs8clis";}
- {name="nepomuk-widgets";value="1cr4v4s567vcx1046gj066xfmhrqx4g6lipffr6d3wdq9cgy5y5i";}
- {name="okteta";value="0maadxyngj8an0hl3kidvmgj538n6vzpz964yilzj6qrry9f46wc";}
- {name="okular";value="0cmcaqpaxx8910qmsvag6spjbchdbv6j9hgbizw6qq09kz4d9a7k";}
- {name="oxygen-icons";value="00l7qy95za3c323hkjiihavmq2vjm2yi81yn4cgwpnc5l336pynb";}
- {name="pairs";value="15kafhp54dsrv2466j9gnn0c8iqbfx4frrql0r6v5qza015vybr9";}
- {name="palapeli";value="0bx7qqidywxwkj9vdbzpqsy2fvkjgf9vj8nqk5ypx7jm7da87y94";}
- {name="parley";value="163xnfd9h8r6dp3riqs3s32qaramyf225bhy6y9laknbrr9lxnsm";}
- {name="perlkde";value="05ybh43ckfq5qh03pklkgiajc2s6b6cmvp5alx0dvq605h5z881f";}
- {name="perlqt";value="1fn3gxb8b4kx7g24pnrbg42dv17hn2wv70g53yfr6z277ljinxzl";}
- {name="picmi";value="19gli6mii15qya9hi6qyb52rsk2n2dk6r4kzla99ps3cs8n4h9x8";}
- {name="poxml";value="11cwhjil8vdwwpmp1l61335b5j9714hbxiyqw0wyxcr6yccasbdf";}
- {name="print-manager";value="0v940bsksw04ymxq56lgm6sprkdlyzjm5fgsm24yb564nay3x42h";}
- {name="pykde4";value="00gpjqgsfv83xfk1xmglr8c32ln9cc05m4nf1qbd3gvr5jb6cxmg";}
- {name="qtruby";value="1312v8vn091q5lh81cm5z5wkgidigdngqkjs3kf7lp9d1k50ai47";}
- {name="qyoto";value="0sjii1i31x1cxhr5y5ijaain9ql75fbba9ss1cxz9agswp95kpcz";}
- {name="rocs";value="0h72mrb65gnk36g9d4l55bm7kfldh3v95hbv0wxad0p9v7baxmn2";}
- {name="smokegen";value="0x4qz1pk8wn4vq0fmy344v9m1gh12dav3n71z6xi4pnpmpmq7kna";}
- {name="smokekde";value="1wl88jy9yvvrykzknj1vy7rqhfxr52q053y2jmay53hvx1iaqjxm";}
- {name="smokeqt";value="1lphdjxcvysn1lkq6yj7z5pmhzlwpkj3xx7izfdk1g6a1pkjwr7j";}
- {name="step";value="0ma7748ixi00zw9hrjjlgbb7d1a4cr124ka3ymn45sa4q4mza3zh";}
- {name="superkaramba";value="0xbs2k863p2yg2k7wn70gbwvriin4lv2hv78r5m6fwvb4rsjygsb";}
- {name="svgpart";value="1svwqxcxl2wp4wq9s3q6crys7jmz072wp4qz69fvqcvp1cd92gsp";}
- {name="sweeper";value="19lsqw192h3863fbd265didviy7m4wk6qwfgnhc7sxaxxccm19y4";}
- {name="umbrello";value="0lmygjjsqiw0xnv4d3d1yb1b5zlnj18lh01k954ycl8f50cxsv9a";}
- {name="zeroconf-ioslave";value="1324mx9gsr6ghi7m1qk4kwr91g8wfd3jsw3rzp26nhrlwjsa5j6a";}
-];
-modules=[
-{
- module="kdemultimedia";
- split=true;
- pkgs=[
- { name="audiocd-kio"; sane="audiocd_kio"; }
- { name="dragon"; }
- { name="ffmpegthumbs"; }
- { name="juk"; }
- { name="kmix"; }
- { name="kscd"; }
- { name="libkcddb"; }
- { name="libkcompactdisc"; }
- { name="mplayerthumbs"; }
- ];
-}
-{
- module="kdegraphics";
- split=true;
- pkgs=[
- { name="gwenview"; }
- { name="kamera"; }
- { name="kcolorchooser"; }
- { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
- { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
- { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
- { name="kgamma"; }
- { name="kolourpaint"; }
- { name="kruler"; }
- { name="ksaneplugin"; }
- { name="ksnapshot"; }
- { name="libkdcraw"; }
- { name="libkexiv2"; }
- { name="libkipi"; }
- { name="libksane"; }
- { name="okular"; }
- { name="svgpart"; }
- ];
-}
-{
- module="kdelibs";
- split=true;
- pkgs=[
- { name="kdelibs"; }
- { name="nepomuk-core"; sane="nepomuk_core"; }
- { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
- ];
-}
-{
- module="kdenetwork";
- split=true;
- pkgs=[
- { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
- { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
- { name="zeroconf-ioslave"; }
- { name="kget"; }
- { name="kopete"; }
- { name="kppp"; }
- { name="krdc"; }
- { name="krfb"; }
- ];
-}
-{
- module="kdeutils";
- split=true;
- pkgs=[
- { name="ark"; }
- { name="filelight"; }
- { name="kcalc"; }
- { name="kcharselect"; }
- { name="kdf"; }
- { name="kfloppy"; }
- { name="kgpg"; }
- { name="kremotecontrol"; }
- { name="ktimer"; }
- { name="kwalletmanager"; }
- { name="print-manager"; sane="print_manager"; }
- { name="superkaramba"; }
- { name="sweeper"; }
- ];
-}
-{
- module="applications";
- split=true;
- pkgs=[
- { name="kate"; }
- { name="konsole"; }
- ];
-}
-{
- module="kdetoys";
- split=true;
- pkgs=[
- { name="amor"; }
- { name="kteatime"; }
- { name="ktux"; }
- ];
-}
-{
- module="kdesdk";
- split=true;
- pkgs=[
- { name="cervisia"; }
- { name="dolphin-plugins"; sane="dolphin_plugins"; }
- { name="kapptemplate"; }
- { name="kcachegrind"; }
- { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
- { name="kde-dev-utils"; sane="kde_dev_utils"; }
- { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
- { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
- { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
- { name="kompare"; }
- { name="libkomparediff2"; }
- { name="lokalize"; }
- { name="okteta"; }
- { name="poxml"; }
- { name="umbrello"; }
- ];
-}
-{
- module="kdegames";
- split=true;
- pkgs=[
- { name="bomber"; }
- { name="bovo"; }
- { name="granatier"; }
- { name="kajongg"; }
- { name="kapman"; }
- { name="katomic"; }
- { name="kblackbox"; }
- { name="kblocks"; }
- { name="kbounce"; }
- { name="kbreakout"; }
- { name="kdiamond"; }
- { name="kfourinline"; }
- { name="kgoldrunner"; }
- { name="kigo"; }
- { name="killbots"; }
- { name="kiriki"; }
- { name="kjumpingcube"; }
- { name="klickety"; }
- { name="klines"; }
- { name="kmahjongg"; }
- { name="kmines"; }
- { name="knavalbattle"; }
- { name="knetwalk"; }
- { name="kolf"; }
- { name="kollision"; }
- { name="konquest"; }
- { name="kpat"; }
- { name="kreversi"; }
- { name="kshisen"; }
- { name="ksirk"; }
- { name="ksnakeduel"; }
- { name="kspaceduel"; }
- { name="ksquares"; }
- { name="ksudoku"; }
- { name="ktuberling"; }
- { name="kubrick"; }
- { name="libkdegames"; }
- { name="libkmahjongg"; }
- { name="lskat"; }
- { name="palapeli"; }
- { name="picmi"; }
- ];
-}
-{
- module="kdeedu";
- split=true;
- pkgs=[
- { name="analitza"; }
- { name="blinken"; }
- { name="cantor"; }
- { name="kalgebra"; }
- { name="kalzium"; }
- { name="kanagram"; }
- { name="kbruch"; }
- { name="kgeography"; }
- { name="khangman"; }
- { name="kig"; }
- { name="kiten"; }
- { name="klettres"; }
- { name="kmplot"; }
- { name="kstars"; }
- { name="ktouch"; }
- { name="kturtle"; }
- { name="kwordquiz"; }
- { name="libkdeedu"; }
- { name="marble"; }
- { name="pairs"; }
- { name="parley"; }
- { name="rocs"; }
- { name="step"; }
- ];
-}
-{
- module="kdeadmin";
- split=true;
- pkgs=[
- { name="kcron"; }
- { name="ksystemlog"; }
- { name="kuser"; }
- ];
-}
-{
- module="kdebindings";
- split=true;
- pkgs=[
- { name="kimono"; }
- { name="korundum"; }
- { name="kross-interpreters"; sane="kross_interpreters"; }
- { name="perlkde"; }
- { name="perlqt"; }
- { name="pykde4"; }
- { name="qtruby"; }
- { name="qyoto"; }
- { name="smokegen"; }
- { name="smokekde"; }
- { name="smokeqt"; }
- ];
-}
-{
- module="kdeaccessibility";
- split=true;
- pkgs=[
- { name="jovie"; }
- { name="kaccessible"; }
- { name="kmag"; }
- { name="kmousetool"; }
- { name="kmouth"; }
- ];
-}
-{
- module="kde-baseapps";
-sane="kde_baseapps"; split=true;
- pkgs=[
- { name="kde-baseapps"; sane="kde_baseapps"; }
- ];
-}
-{ module="kactivities"; split=false;}
-{ module="kdeartwork"; split=false;
- pkgs=[
- { name="ColorSchemes"; }
- { name="IconThemes"; }
- { name="emoticons"; }
- { name="kscreensaver"; }
- { name="kwin-styles"; sane="kwin_styles";}
- { name="styles"; }
- { name="wallpapers"; }
- { name="HighResolutionWallpapers"; }
- { name="WeatherWallpapers"; }
- { name="desktopthemes"; }
- ];
-
-}
-{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
-{ module="kdelibs"; split=false;}
-{ module="kdepim"; split=false;}
-{ module="kdepimlibs"; split=false;}
-{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
-{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
-{ module="kde-runtime"; sane="kde_runtime"; split=false;}
-{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
-{ module="kdewebdev"; split=false;
- pkgs=[
- { name="klinkstatus"; }
- { name="kfilereplace"; }
- { name="kimagemapeditor"; }
- { name="kommander"; }
- ];
-
-}
-{ module="kde-workspace"; sane="kde_workspace"; split=false;}
-{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
-];
-}
diff --git a/pkgs/desktops/kde-4.12/kde-package/default.nix b/pkgs/desktops/kde-4.12/kde-package/default.nix
deleted file mode 100644
index 6b4e1ba0ad8..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/default.nix
+++ /dev/null
@@ -1,129 +0,0 @@
-{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
-, release, branch, ignoreList, extraSubpkgs
-}:
-
-let
- inherit (stdenv.lib) filter fold;
- inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
-in
-rec {
- manifest = import (./. + "/${release}.nix");
-
- # src attribute for $name tarball
- kdesrc = name: fetchurl {
- url = "mirror://kde/" + (if manifest.stable then "" else "un")
- + "stable/${release}/src/${name}-${release}.tar.xz";
- sha256 = getAttr name manifest.hashes;
- };
-
- # Default meta attribute
- defMeta = {
- homepage = http://www.kde.org;
- inherit branch;
- platforms = stdenv.lib.platforms.linux;
- inherit (qt4.meta) maintainers;
- };
-
- # KDE package built from the whole tarball
- # This function is used both for monolithic modules and modules which are
- # released as individual tarballs
- kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, version ? release, ...}:
- stdenv.mkDerivation ({
- name = "${name}-${version}";
- src = kdesrc name;
- meta = defMeta // meta;
- enableParallelBuilding = true;
- } // (removeAttrs a [ "meta" "name" ]));
-
- # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
- # API.
- kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
-
- # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
- kdeSubdirPkg = module:
- {name, subdir ? name, sane ? name}:
- let name_ = name; in
- a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
- stdenv.mkDerivation ({
- name = "${name}-${release}";
- src = kdesrc module;
- cmakeFlags =
- [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
- "-DBUILD_doc=TRUE"
- "-DBUILD_${subdir}=TRUE"
- ] ++ cmakeFlags;
- meta = defMeta // meta;
- enableParallelBuilding = module.enableParallelBuilding or true;
- } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
-
- # A KDE monolithic module
- kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
-
- # Combine packages in one module.
- # Arguments:
- # * pkgFun --- a function of the following signature:
- # module: manifest_attrs: manual_attrs: derivation;
- # * module --- name of the module
- # * pkgs --- list of packages in manifest format
- combinePkgs = pkgFun: module: pkgs:
- let
- f = p@{name, ...}:
- callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
- list = map f pkgs;
- attrs = listToAttrs (map
- ({name, sane ? name, ...}@p: { name = sane; value = f p; })
- pkgs);
- in
- runCommand "${module}-${release}"
- ({passthru = attrs // {
- propagatedUserEnvPackages = list;
- projects = attrs;
- };})
- ''
- mkdir -pv $out/nix-support
- echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
- '';
-
- # Given manifest module data, return the module
- kdeModule = { module, sane ? module, split, pkgs ? [] }:
- let
- pkgs_ = filterPkgs module pkgs;
- in
- # Module is splitted by upstream
- if split then combinePkgs kdeSplittedPkg module pkgs_
- # Monolithic module
- else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
- # Module is splitted by us
- else combinePkgs kdeSubdirPkg module pkgs_;
-
- # The same, as nameValuePair with sane name
- kdeModuleNV = a@{ module, sane ? module, ... }:
- { name = sane; value = kdeModule a; };
-
- filterPkgs = module: (p:
- removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
- ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
-
- # Remove attrsets with x.name in subst. Optimized for empty subst.
- removeNames = subst: big:
- fold (s: out: filter (x: x.name != s) out) big subst;
-
- modules = listToAttrs (map kdeModuleNV manifest.modules);
-
- splittedModuleList =
- let
- splitted = filter (a: a ? pkgs) manifest.modules;
- names = map ({module, sane ? module, ...}: sane) splitted;
- in
- map (m: m.projects) (stdenv.lib.attrVals names modules);
-
- individual =
- stdenv.lib.zipAttrsWith
- (
- name: list:
- if tail list == []
- then head list
- else abort "Multiple modules define ${name}"
- )
- splittedModuleList;
-}
diff --git a/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh
deleted file mode 100755
index e964ce3ddc1..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#! /bin/sh
-
-# Usage: download kde release to $dir, then run
-# $0 $dir
-
-dir="$1"
-
-# Detect release number & whether it is a stable release
-if [[ ! -d "${dir}" ]]; then
- echo "${dir} is not a directory (or doesn't exist)!" >&2
- exit 1
-fi
-
-release=$(ls "${dir}"/kdelibs-*.tar.xz | \
- sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
-
-if [[ ${release##*.} -gt 50 ]]; then
- stable="false"
-else
- stable="true"
-fi
-
-echo "Detected release ${release}" >&2
-
-declare -A hash
-declare -A modules
-declare -a packages
-declare -a top_level
-
-# xsltproc output declares -A module
-if [[ ! -f kde_projects.xml ]]; then
- curl -O -J http://projects.kde.org/kde_projects.xml
-fi
-eval `xsltproc kde-submodules.xslt kde_projects.xml`
-
-module[kde-baseapps]=kde-baseapps
-unset module[kactivities]
-
-print_sane() {
- echo "Called print_sane $1" >&2
- sane="${1//[^a-z0-9_]/_}"
- if [[ "$sane" != "$1" ]]; then
- echo "Sane version is $sane" >&2
- echo -n "sane=\"$sane\";"
- fi
-}
-
-for i in `cd "${dir}"; ls *-${release}.tar.xz`; do
- package=${i%-${release}.tar.xz}
- packages+=( "$package" )
- echo -n "${package}.. " >&2
- hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
- echo -n ${hash[$package]} >&2
-
- if [ -n "${module[$package]}" ]; then
- m="${module[$package]}"
- echo " (${m})" >&2
- modules[$m]=1
- else
- top_level+=( "$package" )
- echo " (top-level)" >&2
- fi
- #nix-store --add-fixed sha256 "${dir}/${i}" >&2
-done
-
-
-print_pkg_hash() {
- echo " {name=\"${1}\";value=\"${hash[$1]}\";}"
-}
-
-print_hashes(){
- echo "hashes=builtins.listToAttrs["
- for p in "${packages[@]}"; do print_pkg_hash "$p"; done
- echo "];"
-}
-
-print_split_module(){
- echo -n "$1:" >&2
- echo -e "{\n module=\"$1\";"
- print_sane "$1"
- echo " split=true;"
- echo " pkgs=["
- for p in "${packages[@]}"; do
- if [[ "${module[$p]}" == "$1" ]]; then
- echo -n " { name=\"$p\"; "
- print_sane "$p"
- echo " }"
- echo -n " $p" >&2
- fi
- done
- echo " ];"
- echo "}"
- echo >&2
-}
-
-print_mono_module(){
- echo -en "{ module=\"$1\"; "
- print_sane "$1"
- echo -n "$1 ... " >&2
- echo -n " split=false;"
- cml="$1-$release/CMakeLists.txt"
- tar -xf "${dir}/$1-${release}.tar.xz" "$cml"
- if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
- if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
- echo " is monolithic (has unconditionally added subdirs)" >&2
- else
- subdirs=( `grep '^[^#]*add_subdirectory' $cml |
- sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
- grep -v '\(doc\|cmake\)'` )
- echo " seems splittable, subdirs: ${subdirs[*]}" >&2
- echo -e "\n pkgs=["
- for s in "${subdirs[@]}"; do
- echo -en " {"
- echo -n " name=\"${s//\//-}\"; "
- print_sane "$s"
- if [[ $s != "${s//\//-}" ]]; then
- echo -n "subdir=\"$s\"; "
- fi
- echo "}"
- done
- echo -e " ];\n"
- fi
- else
- echo " is monolithic (has no subdirs)" >&2
- fi
- rm $cml
- rmdir $1-$release
- echo "}"
-}
-
-print_modules(){
- echo "modules=["
- echo "Printing modules splitted by upstream" >&2
- for m in "${!modules[@]}"; do print_split_module "$m"; done
- echo >&2
- echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
- for m in "${top_level[@]}"; do print_mono_module "$m"; done
- echo "];"
-}
-
-echo "Writing ${release}.nix" >&2
-exec > "${release}.nix"
-echo "{stable=${stable};"
-print_hashes
-print_modules
-echo "}"
diff --git a/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt
deleted file mode 100644
index 952a05a9d27..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
- declare -A module
-
-
-
- module["
-
- "]="
-
- "
-
-
-
-
-
diff --git a/pkgs/desktops/kde-4.12/kde-runtime.nix b/pkgs/desktops/kde-4.12/kde-runtime.nix
deleted file mode 100644
index 1c9706f4f4b..00000000000
--- a/pkgs/desktops/kde-4.12/kde-runtime.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
-, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
-, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, gpgme
-}:
-
-kde {
- buildInputs = [
- kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
- qca2 samba libcanberra pulseaudio gpgme
- networkmanager kactivities kdepimlibs openexr
-#todo: add openslp
-#todo: gpgme can't be found because cmake module is provided by kdepimlibs which are found too late
- ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
- passthru.propagatedUserEnvPackages = [ virtuoso ];
-
- meta = {
- license = "LGPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-wallpapers.nix b/pkgs/desktops/kde-4.12/kde-wallpapers.nix
deleted file mode 100644
index 393d90824eb..00000000000
--- a/pkgs/desktops/kde-4.12/kde-wallpapers.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ kde, cmake }:
-
-kde {
- nativeBuildInputs = [ cmake ];
-
- patches = [ ./files/kde-wallpapers-buildsystem.patch ];
-
- cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
-
- outputHashAlgo = "sha256";
- outputHashMode = "recursive";
- outputHash = "1yg9c780xdxa60bw832cqj60v87cbvjxp27k6gacj2lwk7rm5hwg";
-
- meta = {
- description = "Wallpapers for KDE";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-workspace.nix b/pkgs/desktops/kde-4.12/kde-workspace.nix
deleted file mode 100644
index 38e28225d94..00000000000
--- a/pkgs/desktops/kde-4.12/kde-workspace.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
-, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
-, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
-, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl
-}:
-
-kde {
-
- version = "4.11.6";
-
- src = fetchurl {
- url = "mirror://kde/stable/4.12.2/src/kde-workspace-4.11.6.tar.xz";
- sha256 = "0lk3k9zl4x4il5dqpw7mf25gv8a3y48fd3jq3jvgmwwlviwcpcz1";
- };
-
-#todo: wayland, xmms, libusb isn't found
- buildInputs =
- [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
- xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
- xorg.libxkbfile xorg.libXcomposite xorg.libXtst
- xorg.libXdamage
-
- python boost boost.lib qjson lm_sensors gpsd libraw1394 pciutils udev
- akonadi pam libusb1 libqalculate kdepimlibs prison
- kactivities
- ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- preConfigure =
- ''
- # Fix incorrect path to kde4-config.
- substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
-
- # Fix the path to the keyboard configuration files.
- substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
- --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
- '';
-
- enableParallelBuilding = false; # frequent problems on Hydra
-
- meta = {
- description = "KDE workspace components such as Plasma, Kwin and System Settings";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix
deleted file mode 100644
index d38c80c4c36..00000000000
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, speechd }:
-
-kde {
- buildInputs = [ kdelibs speechd ];
-
- meta = {
- description = "Text-to-speech synthesis daemon";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix
deleted file mode 100644
index 98fae7c983f..00000000000
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, speechd }:
-
-kde {
- buildInputs = [ kdelibs speechd ];
-
- meta = {
- description = "Bridge that provides accessibility services to applications";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix
deleted file mode 100644
index 606c61cddb6..00000000000
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
-#todo: package qaccessibilityclient
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Screen magnifier for KDE";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix
deleted file mode 100644
index 8e0caa76ed9..00000000000
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libXtst, libXt }:
-
-kde {
- buildInputs = [ kdelibs libXtst libXt ];
-
- meta = {
- description = "A program that clicks the mouse for you";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix
deleted file mode 100644
index 4159501967c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A type-and-say front end for speech synthesizers";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix
deleted file mode 100644
index f585461af38..00000000000
--- a/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Configure and schedule tasks";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix
deleted file mode 100644
index 88757a6b91c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "System log viewer tool";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix
deleted file mode 100644
index 6118cf558bb..00000000000
--- a/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kdepimlibs }:
-
-kde {
- buildInputs = [ kdelibs kdepimlibs ];
-
- meta = {
- description = "User management tool";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix
deleted file mode 100644
index acccf66976f..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- name = "kde-color-schemes";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Additional KDE color schemes";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake
deleted file mode 100644
index 499ed75268e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake
+++ /dev/null
@@ -1,73 +0,0 @@
-#Macro to find xscreensaver directory
-
-# Copyright (c) 2006, Laurent Montel,
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-if (NOT XSCREENSAVER_FOUND)
- FIND_PATH(XSCREENSAVER_DIR deco
- HINTS
- ${KDE4_INCLUDE_DIR}
- PATHS
- /usr
- /usr/local
- /opt/local
- /usr/X11R6
- /opt/kde
- /opt/kde3
- /usr/kde
- /usr/local/kde
- /usr/local/xscreensaver
- /usr/openwin/lib/xscreensaver
- /etc
- PATH_SUFFIXES
- lib${LIB_SUFFIX}/xscreensaver
- lib${LIB_SUFFIX}/misc/xscreensaver
- lib/xscreensaver
- lib64/xscreensaver
- lib/misc/xscreensaver
- libexec/xscreensaver
- bin/xscreensaver-hacks
- hacks)
- message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>")
-
- FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml
- PATHS
- ${KDE4_INCLUDE_DIR}
- /usr/
- /usr/local/
- /opt/local/
- /usr/X11R6/
- /opt/kde/
- /opt/kde3/
- /usr/kde/
- /usr/local/kde/
- /usr/openwin/lib/xscreensaver/
- /etc/
- PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config
- )
- MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
-
-endif(NOT XSCREENSAVER_FOUND)
-
-#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
-#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>")
-
-# Need to fix hack
-if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
- set(XSCREENSAVER_FOUND TRUE)
-endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
-
-if (XSCREENSAVER_FOUND)
- if (NOT Xscreensaver_FIND_QUIETLY)
- message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>")
- endif (NOT Xscreensaver_FIND_QUIETLY)
-else (XSCREENSAVER_FOUND)
- if (Xscreensaver_FIND_REQUIRED)
- message(FATAL_ERROR "XScreenSaver not found")
- endif (Xscreensaver_FIND_REQUIRED)
-endif (XSCREENSAVER_FOUND)
-
-
-MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR)
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix
deleted file mode 100644
index edffca1562e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
- name = "kde-wallpapers-high-resolution";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE wallpapers in high resolution";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix
deleted file mode 100644
index 43071e8bd14..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- name = "kdeartwork-icon-themes";
-
- # Sources contain primary and kdeclassic as well but they're not installed
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE nuvola and mono icon themes";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix
deleted file mode 100644
index 947e5e17ab0..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
- name = "kde-weather-wallpapers";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Additional KDE wallpapers (weather)";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix
deleted file mode 100644
index 93dd361af73..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- name = "kde-desktop-themes";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Additional KDE desktop themes";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix
deleted file mode 100644
index 5ef9f78a719..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- name = "kde-emotion-icons";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Additional KDE emotion icons (smiles)";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix
deleted file mode 100644
index 84cb008056e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }:
-
-kde {
- buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- prePatch = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
-
- cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ];
-
- meta = {
- description = "KDE screensavers";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix
deleted file mode 100644
index b5d769b216d..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kde_workspace }:
-
-kde {
- buildInputs = [ kdelibs kde_workspace ];
-
- meta = {
- description = "Styles for KWin";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/styles.nix b/pkgs/desktops/kde-4.12/kdeartwork/styles.nix
deleted file mode 100644
index 6a1306c3710..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/styles.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
- name = "kde-style-phase";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Phase, a widget style for KDE";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix
deleted file mode 100644
index 7c9846fbf9e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs }:
-
-kde rec {
- name = "kdeartwork-wallpapers";
-
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Additional KDE wallpapers";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix
deleted file mode 100644
index 48eed141ce6..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, cmake, smokeqt, perl }:
-
-kde {
-
- # TODO: qscintilla2, qwt5
-
- buildInputs = [ smokeqt perl ];
-
- nativeBuildInputs = [ cmake ];
-
- meta = {
- description = "Perl bindings for Qt library";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
deleted file mode 100644
index b298cdbc816..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
- polkit_qt_1, boost, lndir, pkgconfig }:
-
-let pydir = "lib/python${python.majorVersion}"; in
-
-kde {
-
- # todo: polkit isn't found by the build system
-
- buildInputs = [
- python kdepimlibs shared_desktop_ontologies
- boost boost.lib polkit_qt_1
- ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- propagatedBuildInputs = [ pyqt4 sip ];
-
- preConfigure =
- ''
- # Symlink PyQt into PyKDE. This is necessary because PyQt looks
- # in its PyQt4/uic/widget-plugins directory for plugins, and KDE
- # needs to install a plugin.
- mkdir -pv $out/${pydir}
- ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir}
- cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" )
- '';
-
- meta = {
- description = "Python bindings for KDE";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch
deleted file mode 100644
index bd95a0d8bd3..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 33078b4..30aec0e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY)
- return()
- endif (NOT COMPILE_RUBY)
-
--SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" )
--SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" )
-+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR})
-+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR})
-
- # compute an overall version number which can be compared at once
- MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}")
diff --git a/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix
deleted file mode 100644
index 03e9dc9a007..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ kde, cmake, smokeqt, ruby }:
-
-kde {
-
- # TODO: scintilla2, qwt5
-
- buildInputs = [ smokeqt ruby ];
-
- nativeBuildInputs = [ cmake ];
-
- # The patch is not ready for upstream submmission.
- # I should add an option() instead.
- patches = [ ./qtruby-install-prefix.patch ];
-
- cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";
-
- meta = {
- description = "Ruby bindings for Qt library";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch
deleted file mode 100644
index f0811d335a7..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
-+++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000
-@@ -36,6 +36,10 @@
- set (CMAKE_SKIP_BUILD_RPATH FALSE)
- set (CMAKE_SKIP_RPATH FALSE)
-
-+# add the automatically determined parts of the RPATH
-+# which point to directories outside the build tree to the install RPATH
-+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+
- configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
-
- add_executable(smokegen ${generator_SRC})
\ No newline at end of file
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch
deleted file mode 100644
index 53257e836e0..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in
---- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in 2013-06-28 17:14:50.000000000 +0000
-+++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in 2013-07-30 21:26:33.000000000 +0000
-@@ -80,8 +80,7 @@
- set(SMOKE_API_BIN "@SMOKE_API_BIN@")
-
- find_library(SMOKE_BASE_LIBRARY smokebase
-- PATHS "@SMOKE_LIBRARY_PREFIX@"
-- NO_DEFAULT_PATH)
-+ PATHS "@SMOKE_LIBRARY_PREFIX@")
-
- if (NOT SMOKE_BASE_LIBRARY)
- if (Smoke_FIND_REQUIRED)
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix
deleted file mode 100644
index 5708d0f96eb..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ stdenv, kde, qt4, cmake }:
-
-kde {
- buildInputs = [ qt4 ];
- nativeBuildInputs = [ cmake ];
-
- patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
-
- meta = {
- description = "C++ parser used to generate language bindings for Qt/KDE";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix
deleted file mode 100644
index 4474c1d9731..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular
-, shared_desktop_ontologies, attica, pkgconfig }:
-
-kde {
-
- # TODO: attica, akonadi and kdepimlibs are disabled due to smokegen crash
- # okular is disabled because the code generated is broken
- buildInputs = [
- smokeqt kdelibs shared_desktop_ontologies
- ];
-
- nativeBuildInputs = [ cmake pkgconfig ];
-
- LD_LIBRARY_PATH = "${smokeqt}/lib/";
-
- meta = {
- description = "SMOKE bindings for kdelibs";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix
deleted file mode 100644
index 494bc85e646..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, kde, qt4, cmake, phonon, qimageblitz, smokegen }:
-
-kde {
-
-# TODO: Qwt5, QScintilla2
-
- propagatedBuildInputs = [ qt4 phonon qimageblitz ];
- nativeBuildInputs = [ cmake ];
- propagatedNativeBuildInputs = [ smokegen ];
-
- meta = {
- description = "C++ parser used to generate language bindings for Qt/KDE";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/analitza.nix b/pkgs/desktops/kde-4.12/kdeedu/analitza.nix
deleted file mode 100644
index 74c3a1ebb20..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/analitza.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, readline }:
-kde {
- buildInputs = [ kdelibs readline ];
-
- meta = {
- description = "Library part of KAlgebra";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/blinken.nix b/pkgs/desktops/kde-4.12/kdeedu/blinken.nix
deleted file mode 100644
index cdf9728833c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/blinken.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Memory Enhancement Game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/cantor.nix b/pkgs/desktops/kde-4.12/kdeedu/cantor.nix
deleted file mode 100644
index a8cd2e44957..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/cantor.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate, python }:
-kde {
-
-# TODO: R is not found
-
- buildInputs = [ kdelibs libspectre analitza R libqalculate python ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "KDE Frontend to Mathematical Software";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix
deleted file mode 100644
index 3675c3a225f..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu, analitza }:
-kde {
- buildInputs = [ kdelibs libkdeedu analitza ];
-
- meta = {
- description = "2D and 3D Graph Calculator";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix
deleted file mode 100644
index 09de79ce1c0..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }:
-kde {
-
-# TODO: chemical mime data
-
- buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "Periodic Table of Elements";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix
deleted file mode 100644
index 8759c96d78c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu }:
-kde {
- buildInputs = [ kdelibs libkdeedu ];
-
- meta = {
- description = "Letter Order Game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix
deleted file mode 100644
index dc50f1e85a3..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Practice Fractions";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix
deleted file mode 100644
index bd8d27c8d6e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Geography Trainer";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/khangman.nix b/pkgs/desktops/kde-4.12/kdeedu/khangman.nix
deleted file mode 100644
index 997b50e906a..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/khangman.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdeedu }:
-kde {
- buildInputs = [ kdelibs libkdeedu ];
-
- meta = {
- description = "KDE hangman game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kig.nix b/pkgs/desktops/kde-4.12/kdeedu/kig.nix
deleted file mode 100644
index fb442e2ef62..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kig.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, boost, python}:
-kde {
- buildInputs = [ kdelibs boost boost.lib python ];
-
- cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1";
- meta = {
- description = "KDE Interactive Geometry";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kiten.nix b/pkgs/desktops/kde-4.12/kdeedu/kiten.nix
deleted file mode 100644
index 939b7a9f77a..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kiten.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Japanese Reference/Study Tool";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/klettres.nix b/pkgs/desktops/kde-4.12/kdeedu/klettres.nix
deleted file mode 100644
index 7a0fa83078e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/klettres.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A KDE alphabet tutorial";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix
deleted file mode 100644
index fc7b0578c27..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A KDE mathematical function plotter";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kstars.nix b/pkgs/desktops/kde-4.12/kdeedu/kstars.nix
deleted file mode 100644
index 0832dc2121e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kstars.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }:
-
-kde {
-
-# TODO: wcslib, astrometry
-
- buildInputs = [ kdelibs eigen xplanet indilib ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "A KDE graphical desktop planetarium";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix
deleted file mode 100644
index 9e606adde33..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libxkbfile }:
-
-kde {
- buildInputs = [ kdelibs libxkbfile ];
-
- meta = {
- description = "Touch Typing Tutor";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix
deleted file mode 100644
index 1e1922b1410..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Educational Programming Environment";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix
deleted file mode 100644
index 1b33ba2e469..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libkdeedu }:
-
-kde {
- buildInputs = [ kdelibs libkdeedu ];
-
- meta = {
- description = "Flash Card Trainer";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix
deleted file mode 100644
index def6c85fefe..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Libraries used by KDE Education applications";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/marble.nix b/pkgs/desktops/kde-4.12/kdeedu/marble.nix
deleted file mode 100644
index 2dc07d14a0d..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/marble.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, gpsd }:
-
-kde {
-
-# TODO: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate, quazip
-
- buildInputs = [ kdelibs gpsd ];
-
- meta = {
- description = "Marble Virtual Globe";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/pairs.nix b/pkgs/desktops/kde-4.12/kdeedu/pairs.nix
deleted file mode 100644
index 36c4aba9604..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/pairs.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A memory and pairs game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/parley.nix b/pkgs/desktops/kde-4.12/kdeedu/parley.nix
deleted file mode 100644
index f9f86dde150..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/parley.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libkdeedu, attica }:
-
-kde {
- buildInputs = [ kdelibs libkdeedu attica ];
-
- meta = {
- description = "Vocabulary Trainer";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/rocs.nix b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
deleted file mode 100644
index 135598ded90..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, kdelibs, boost, grantlee }:
-let
- boostpkg = boost.override { enableExceptions = true; };
-in
-kde {
- buildInputs = [ kdelibs boostpkg boostpkg.lib grantlee ];
-
- NIX_CFLAGS_COMPILE = "-fexceptions";
-
- meta = {
- description = "A KDE graph theory viewer";
- kde = {
- name = "rocs";
- };
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/step.nix b/pkgs/desktops/kde-4.12/kdeedu/step.nix
deleted file mode 100644
index f36ccef9b7c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/step.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, gsl, libqalculate, eigen, pkgconfig }:
-
-kde {
-
- buildInputs = [ kdelibs gsl libqalculate eigen ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "A KDE interactive physical simulator";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/bomber.nix b/pkgs/desktops/kde-4.12/kdegames/bomber.nix
deleted file mode 100644
index 026227910f2..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/bomber.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/bovo.nix b/pkgs/desktops/kde-4.12/kdegames/bovo.nix
deleted file mode 100644
index b0e7d99c589..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/bovo.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a Gomoku (from Japanese 五目並べ - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board";
- };
-
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/granatier.nix b/pkgs/desktops/kde-4.12/kdegames/granatier.nix
deleted file mode 100644
index 9f1ab005309..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/granatier.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kajongg.nix b/pkgs/desktops/kde-4.12/kdegames/kajongg.nix
deleted file mode 100644
index 9a6f5e83695..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kajongg.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libkdegames, pythonPackages, sqlite, pykde4 }:
-kde rec {
-
- buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath;
-
- pythonPath = [ pythonPackages.twisted pykde4 ];
-
- postInstall = "wrapPythonPrograms";
-
- meta = {
- description = "an ancient Chinese board game for 4 players";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kapman.nix b/pkgs/desktops/kde-4.12/kdegames/kapman.nix
deleted file mode 100644
index f10e099da3c..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kapman.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a clone of the well known game Pac-Man";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/katomic.nix b/pkgs/desktops/kde-4.12/kdegames/katomic.nix
deleted file mode 100644
index a9936c04f0e..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/katomic.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a fun and educational puzzle game built around molecular geometry";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix
deleted file mode 100644
index 27eeff2f65b..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kblocks.nix b/pkgs/desktops/kde-4.12/kdegames/kblocks.nix
deleted file mode 100644
index 98cf068de09..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kblocks.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a classic single player falling blocks puzzle game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kbounce.nix b/pkgs/desktops/kde-4.12/kdegames/kbounce.nix
deleted file mode 100644
index 77fa0db6352..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kbounce.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a single player arcade game with the elements of puzzle";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix
deleted file mode 100644
index 3a484d919bb..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix
deleted file mode 100644
index 06dfcee5ac3..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix
deleted file mode 100644
index 11b8838e708..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a board game for two players based on the Connect-Four game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix
deleted file mode 100644
index 6217c47a806..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kigo.nix b/pkgs/desktops/kde-4.12/kdegames/kigo.nix
deleted file mode 100644
index 32eee67cc1e..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kigo.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "an open-source implementation of the popular Go game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/killbots.nix b/pkgs/desktops/kde-4.12/kdegames/killbots.nix
deleted file mode 100644
index d9c1472495e..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/killbots.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple game of evading killer robots";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kiriki.nix b/pkgs/desktops/kde-4.12/kdegames/kiriki.nix
deleted file mode 100644
index 72f7ab67501..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kiriki.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "an addictive and fun dice game, designed to be played by as many as six players";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix
deleted file mode 100644
index a6d22cff51c..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple dice driven tactical game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/klickety.nix b/pkgs/desktops/kde-4.12/kdegames/klickety.nix
deleted file mode 100644
index b592bc40641..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/klickety.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a puzzle game where the player removes groups of colored marbles to clear the board";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/klines.nix b/pkgs/desktops/kde-4.12/kdegames/klines.nix
deleted file mode 100644
index 90952fe91c0..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/klines.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix
deleted file mode 100644
index 946b531ff12..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames, libkmahjongg }:
-kde {
- buildInputs = [ kdelibs libkdegames libkmahjongg ];
- meta = {
- description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kmines.nix b/pkgs/desktops/kde-4.12/kdegames/kmines.nix
deleted file mode 100644
index 538454e9598..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kmines.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a classic Minesweeper game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix
deleted file mode 100644
index 42ffd2fcb4d..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a Battle Ship game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix
deleted file mode 100644
index a16e578ce84..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kolf.nix b/pkgs/desktops/kde-4.12/kdegames/kolf.nix
deleted file mode 100644
index 78815ee5799..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kolf.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a miniature golf game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kollision.nix b/pkgs/desktops/kde-4.12/kdegames/kollision.nix
deleted file mode 100644
index 3147c7305ea..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kollision.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple ball dodging game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/konquest.nix b/pkgs/desktops/kde-4.12/kdegames/konquest.nix
deleted file mode 100644
index 53ddd64928c..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/konquest.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "the KDE version of Gnu-Lactic Konquest";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kpat.nix b/pkgs/desktops/kde-4.12/kdegames/kpat.nix
deleted file mode 100644
index f8d9bad36dc..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kpat.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a relaxing card sorting game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kreversi.nix b/pkgs/desktops/kde-4.12/kdegames/kreversi.nix
deleted file mode 100644
index 2aed981428e..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kreversi.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kshisen.nix b/pkgs/desktops/kde-4.12/kdegames/kshisen.nix
deleted file mode 100644
index 9c888034038..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kshisen.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames, libkmahjongg }:
-kde {
- buildInputs = [ kdelibs libkdegames libkmahjongg ];
- meta = {
- description = "a solitaire-like game played using the standard set of Mahjong tiles";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksirk.nix b/pkgs/desktops/kde-4.12/kdegames/ksirk.nix
deleted file mode 100644
index 767eb67971a..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/ksirk.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames, qca2 }:
-kde {
- buildInputs = [ kdelibs libkdegames qca2 ];
- meta = {
- description = "a computerized version of the well known strategic board game Risk";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix
deleted file mode 100644
index ccf1fb551e9..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple Tron-Clone";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix
deleted file mode 100644
index 5285f7916ca..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "each of two possible players control a satellite spaceship orbiting the sun. As the game progresses players have to eliminate the opponent's spacecraft with bullets or mines";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksquares.nix b/pkgs/desktops/kde-4.12/kdegames/ksquares.nix
deleted file mode 100644
index a17be2da632..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/ksquares.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a game modeled after the well known pen and paper based game of Dots and Boxes";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix
deleted file mode 100644
index ea4e13a5e4f..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a logic-based symbol placement puzzle";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix
deleted file mode 100644
index 1a6ba9d653c..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a simple constructor game suitable for children and adults alike";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/kubrick.nix b/pkgs/desktops/kde-4.12/kdegames/kubrick.nix
deleted file mode 100644
index 9bdc6879db4..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/kubrick.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a game based on the Rubik's Cube™ puzzle";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix
deleted file mode 100644
index 3819dcdc9ae..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, openal, libsndfile }:
-kde {
- buildInputs = [ kdelibs openal libsndfile ];
- meta = {
- description = "KDE games library";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix
deleted file mode 100644
index 383b347dc33..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a library for KMahjongg game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/lskat.nix b/pkgs/desktops/kde-4.12/kdegames/lskat.nix
deleted file mode 100644
index 2a5050cd667..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/lskat.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a fun and engaging card game for two players, where the second player is either live opponent, or a built in artificial intelligence";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/palapeli.nix b/pkgs/desktops/kde-4.12/kdegames/palapeli.nix
deleted file mode 100644
index 010dbd5d623..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/palapeli.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
-
-# TODO: package qvoronoi
-
- buildInputs = [ kdelibs libkdegames ];
-
- meta = {
- description = "a single-player jigsaw puzzle game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegames/picmi.nix b/pkgs/desktops/kde-4.12/kdegames/picmi.nix
deleted file mode 100644
index 165d7422f95..00000000000
--- a/pkgs/desktops/kde-4.12/kdegames/picmi.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkdegames }:
-kde {
- buildInputs = [ kdelibs libkdegames ];
- meta = {
- description = "a single player logic-based puzzle game";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix
deleted file mode 100644
index 3ce9b3dcc78..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
-, libjpeg, pkgconfig, kactivities, lcms2 }:
-
-kde {
-
- buildInputs =
- [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2 ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "Gwenview, the KDE image viewer";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix
deleted file mode 100644
index d9aa11c54af..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, libgphoto2 }:
-
-kde {
- buildInputs = [ kdelibs libgphoto2 ];
-
- meta = {
- description = "KDE camera interface library";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix
deleted file mode 100644
index e06c1b5d307..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A small utility to select a color";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix
deleted file mode 100644
index e834762feb5..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, okular }:
-
-kde {
- buildInputs = [ kdelibs okular ];
-
- meta = {
- description = "A collection of plugins to handle mobipocket files";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix
deleted file mode 100644
index d9d35808ac5..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, libtiff }:
-
-kde {
- buildInputs = [ kdelibs libtiff ];
-
- meta = {
- description = "Strigi analyzers for various graphics file formats";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix
deleted file mode 100644
index d6207689512..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ stdenv, kde, kdelibs, libkexiv2, libkdcraw, pkgconfig }:
-
-kde {
-
- buildInputs = [ kdelibs libkexiv2 libkdcraw ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "Thumbnailers for various graphics file formats";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix
deleted file mode 100644
index 016312c199e..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, libXxf86vm }:
-
-kde {
- buildInputs = [ kdelibs libXxf86vm ];
-
- meta = {
- description = "KDE monitor calibration tool";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix
deleted file mode 100644
index ecf34e5ae9e..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, qimageblitz }:
-
-kde {
- buildInputs = [ kdelibs qimageblitz ];
-
- meta = {
- description = "KDE paint program";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix
deleted file mode 100644
index 209331d9e83..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE screen ruler";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix
deleted file mode 100644
index f541c4bdb4d..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, libksane }:
-
-kde {
- buildInputs = [ kdelibs libksane ];
-
- meta = {
- description = "A KScan plugin that implements the scanning through libksane";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix
deleted file mode 100644
index a9897d270bb..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, libkipi }:
-
-kde {
- buildInputs = [ kdelibs libkipi ];
-
- meta = {
- description = "KDE screenshot utility";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix
deleted file mode 100644
index 1d5c6e2fcb4..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ stdenv, kde, kdelibs, pkgconfig, libraw, lcms2 }:
-
-kde {
-
- buildInputs = [ kdelibs libraw lcms2 ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "Library for decoding RAW images";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix
deleted file mode 100644
index 46ec45fad01..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, exiv2 }:
-
-kde {
- buildInputs = [ kdelibs exiv2 ];
-
- meta = {
- description = "Exiv2 support library";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix
deleted file mode 100644
index 65e6c52bd44..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Interface library to kipi-plugins";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix
deleted file mode 100644
index 6c3543eef37..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs, saneBackends }:
-
-kde {
- buildInputs = [ kdelibs saneBackends ];
-
- meta = {
- description = "An image scanning library that provides a QWidget that contains all the logic needed to interface a sacanner";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/okular.nix b/pkgs/desktops/kde-4.12/kdegraphics/okular.nix
deleted file mode 100644
index 092833388a7..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/okular.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
-, qimageblitz, libtiff, kactivities, pkgconfig, libkexiv2 }:
-
-kde {
-
-# TODO: package activeapp, qmobipocket
-
- buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4
- qca2 qimageblitz libtiff kactivities libkexiv2 ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "Okular, the KDE document viewer";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix
deleted file mode 100644
index 2fc0e373dbd..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv, kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "SVG KPart";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
deleted file mode 100644
index 5db693e6ea0..00000000000
--- a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ kde, gcc, cmake, perl
-, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
-, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
-, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst
-, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
-, pkgconfig
-}:
-
-kde {
-
-# TODO: media-player-info
-
- buildInputs =
- [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
- libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt
- shared_desktop_ontologies xz udev libjpeg kerberos openexr
- libXtst attr
- ];
-
- NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
- propagatedBuildInputs = [ qt4 soprano phonon strigi ];
-
- propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
-
- # TODO: make sonnet plugins (dictionaries) really work.
- # There are a few hardcoded paths.
- # Split plugins from libs?
-
- patches = [
- ../files/polkit-install.patch
- ../files/kdelibs-cve-2014-5033.patch # Security patch, remove when updating to 4.14.0 or more
- ];
-
- cmakeFlags = [
- "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
- "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
- "-DHUPNP_ENABLED=ON"
- "-DWITH_SOLID_UDISKS2=ON"
- ];
-
- passthru.wantsUdisks2 = true;
-
- meta = {
- description = "KDE libraries";
- license = "LGPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix
deleted file mode 100644
index d90e1455ce9..00000000000
--- a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
-, pkgconfig, doxygen, ebook_tools
-}:
-
-kde {
-
-# TODO: qmobipocket
-
- buildInputs = [
- kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg
- popplerQt4 ebook_tools
- ];
-
- nativeBuildInputs = [ pkgconfig doxygen ];
-
- meta = {
- description = "NEPOMUK core";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix
deleted file mode 100644
index b0fc5ad8900..00000000000
--- a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, kde, kdelibs, nepomuk_core }:
-
-kde {
-
- buildInputs = [ kdelibs nepomuk_core ];
-
- meta = {
- description = "NEPOMUK Widgets";
- license = stdenv.lib.licenses.gpl2;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix
deleted file mode 100644
index 4c56e7529dd..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libkcompactdisc, cdparanoia, libkcddb, libvorbis, flac, lame }:
-kde {
- buildInputs = [ kdelibs libkcompactdisc cdparanoia libkcddb libvorbis flac lame ];
- meta = {
- description = "transparent audio CD access for applications using the KDE Platform";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix
deleted file mode 100644
index 006300742ec..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
- meta = {
- description = "a multimedia player with the focus on simplicity";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix
deleted file mode 100644
index 45f6c9abcb6..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, ffmpeg }:
-kde {
- buildInputs = [ kdelibs ffmpeg ];
- meta = {
- description = "a video thumbnail generator for KDE file managers like Dolphin and Konqueror";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix
deleted file mode 100644
index 5d7b1db224e..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, taglib, libtunepimp }:
-kde {
-
-# TODO: opusfile
-
- buildInputs = [ kdelibs taglib libtunepimp ];
- meta = {
- description = "an audio jukebox application";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix
deleted file mode 100644
index 1dd8108166f..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libcanberra, pulseaudio }:
-kde {
- buildInputs = [ kdelibs libcanberra pulseaudio ];
- meta = {
- description = "sound mixer, an application to allow you to change the volume of your sound card";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix
deleted file mode 100644
index e99ae53935b..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs, libmusicbrainz }:
-kde {
- buildInputs = [ kdelibs libmusicbrainz ];
- meta = {
- description = "KDE CD player";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix
deleted file mode 100644
index 720b01d1861..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ kde, kdelibs }:
-kde {
-#todo: libmusicbrainz5
- buildInputs = [ kdelibs ];
- meta = {
- description = "a library used to retrieve audio CD meta data from the internet";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix
deleted file mode 100644
index 6ed08af89f3..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
- meta = {
- description = "KDE library for playing & ripping CDs";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix
deleted file mode 100644
index c88ebcc2a5a..00000000000
--- a/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ kde, kdelibs }:
-kde {
- buildInputs = [ kdelibs ];
- meta = {
- description = "a video thumbnail generator for KDE";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix
deleted file mode 100644
index 0330511a258..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE properties dialog plugin to share a directory with the local network";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
deleted file mode 100644
index 9a76863c8e0..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, boost }:
-
-kde {
- buildInputs = [ kdelibs boost boost.lib ];
-
- meta = {
- description = "Strigi analyzers for various network protocols";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
deleted file mode 100644
index d7527ca6a60..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ kde, kdelibs, libktorrent, kde_workspace, sqlite, boost
-, kde_baseapps, libmms, qca2, nepomuk_core, nepomuk_widgets
-, pkgconfig }:
-
-kde {
-
-# TODO: QGpgME
-
- buildInputs =
- [ kdelibs libktorrent nepomuk_core nepomuk_widgets sqlite qca2
- libmms kde_baseapps kde_workspace boost boost.lib ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- KDEDIRS = libktorrent;
-
- meta = {
- description = "KDE download manager";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
deleted file mode 100644
index e8eab764419..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ kde, kdelibs, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
- jasper, libidn, mediastreamer, pkgconfig, libxslt, giflib,
- libgadu, boost, qca2, sqlite, jsoncpp,
- ortp, srtp, libv4l }:
-
-kde {
-
-# TODO: libmeanwhile, xmms, jsoncpp(not found), kleopatra(from kdepim but doesn't install headers?),
-
- buildInputs = [
- kdelibs qca2 mediastreamer libgadu jsoncpp
- kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib
- libidn libxslt boost boost.lib
- ortp srtp libv4l
- ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- KDEDIRS = libktorrent;
-
- cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
-
- meta = {
- description = "A KDE multi-protocol IM client";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix
deleted file mode 100644
index 4c6bd65769f..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "PPP(Dial-Up) client tool";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix
deleted file mode 100644
index 80557e827fe..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }:
-
-kde {
- buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ];
-
- meta = {
- description = "KDE remote desktop client";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix
deleted file mode 100644
index cb4857965a3..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg, telepathy_qt }:
-
-kde {
- buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg telepathy_qt ];
-
- meta = {
- description = "KDE desktop sharing";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix b/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix
deleted file mode 100644
index f65960cc337..00000000000
--- a/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE tool that monitors the network for DNS-SD services";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdepim-runtime.nix b/pkgs/desktops/kde-4.12/kdepim-runtime.nix
deleted file mode 100644
index 484d3e1933a..00000000000
--- a/pkgs/desktops/kde-4.12/kdepim-runtime.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }:
-
-kde {
-
-# TODO: libkgapi(2), LibKFbAPI,libkolab, libkolabxml
-
- buildInputs = [
- kdepimlibs akonadi boost boost.lib shared_desktop_ontologies
- libxslt
- ];
-
- meta = {
- description = "KDE PIM runtime";
- license = "GPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdepim.nix b/pkgs/desktops/kde-4.12/kdepim.nix
deleted file mode 100644
index 0f5d868837e..00000000000
--- a/pkgs/desktops/kde-4.12/kdepim.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
-, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
-, nepomuk_widgets, kactivities, libXScrnSaver, qjson
-, pkgconfig }:
-
-kde {
-
-# TODO: LinkGrammar
-
- buildInputs =
- [ kdepimlibs boost boost.lib shared_desktop_ontologies akonadi
- nepomuk_widgets libxslt cyrus_sasl gpgme libassuan grantlee prison
- kactivities libXScrnSaver qjson
- ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ];
-
- meta = {
- description = "KDE PIM tools";
- longDescription = ''
- Contains various personal information management tools for KDE, such as an organizer.
- '';
- license = "GPL";
- homepage = http://pim.kde.org;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdepimlibs.nix b/pkgs/desktops/kde-4.12/kdepimlibs.nix
deleted file mode 100644
index 90d2717b880..00000000000
--- a/pkgs/desktops/kde-4.12/kdepimlibs.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, prison
-, kdelibs, akonadi, libxslt, nepomuk_core
-, shared_desktop_ontologies, qjson }:
-
-kde {
- nativeBuildInputs = [ pkgconfig ];
-
- buildInputs =
- [ boost boost.lib gpgme libical libxslt qjson prison
- openldap cyrus_sasl akonadi shared_desktop_ontologies
- ];
-
- propagatedBuildInputs = [ kdelibs nepomuk_core ];
-
- meta = {
- description = "KDE PIM libraries";
- license = "LGPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeplasma-addons.nix b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
deleted file mode 100644
index afc925c79aa..00000000000
--- a/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
-, boost, eigen, kde_workspace, attica, qca2, qimageblitz
-, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt
-, qjson, qoauth }:
-
-kde {
-
-# TODO: qwt, scim, ibus
-
- KDEDIRS=marble;
-
- buildInputs = [ kdelibs boost boost.lib kde_workspace kdepimlibs attica qjson
- qoauth eigen qca2 libXtst qimageblitz libqalculate
- shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
- ];
-
- nativeBuildInputs = [ pkgconfig ];
-
- meta = {
- description = "KDE Plasma Addons";
- license = "GPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix
deleted file mode 100644
index 1dabe46cd42..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A KDE CVS frontend";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix
deleted file mode 100644
index ad8132a850e..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, kde_baseapps }:
-
-kde {
-
- # Needs kdebase for libkonq
- buildInputs = [ kdelibs kde_baseapps ];
-
- meta = {
- description = "Svn, mercurial, git and bazaar plugins for dolphin";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix
deleted file mode 100644
index 391536248dd..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A KDE 4 project template generator";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix
deleted file mode 100644
index 65d410cca48..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE Frontend for Callgrind/Cachegrind";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix
deleted file mode 100644
index df81145e5d6..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Various scripts to ease KDE development";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix
deleted file mode 100644
index 215c0a3c613..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, gcc, libtool }:
-
-kde {
- buildInputs = [ kdelibs libtool ];
-
- preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
-
- meta = {
- description = "various KDE development utilities";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix
deleted file mode 100644
index 98bbce35a97..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, subversionClient, apr, aprutil,perl }:
-
-kde {
-
- buildInputs = [ kdelibs subversionClient apr aprutil perl ];
-
- cmakeFlags = [ "-DBUILD_perldoc=ON" ];
-
- meta = {
- description = "Subversion and perldoc kioslaves";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix
deleted file mode 100644
index 4d579b88ba8..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Strigi analyzers for diff, po and ts";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix
deleted file mode 100644
index d707fe9038f..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, gettext }:
-
-kde {
-
- buildInputs = [ kdelibs gettext ];
-
- meta = {
- description = "PO file format thumbnailer";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kompare.nix b/pkgs/desktops/kde-4.12/kdesdk/kompare.nix
deleted file mode 100644
index 644c7c48dc9..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/kompare.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libkomparediff2 }:
-
-kde {
- buildInputs = [ kdelibs libkomparediff2 ];
-
- meta = {
- description = "A program to view the differences between files and optionally generate a diff";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix b/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix
deleted file mode 100644
index 5933682c70a..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A library to compare files and strings";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix
deleted file mode 100644
index 1565426eb1f..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, hunspell }:
-
-kde {
- buildInputs = [ kdelibs hunspell ];
-
- meta = {
- description = "KDE 4 Computer-aided translation system";
- longDescription = ''
- Computer-aided translation system.
- Do not translate what had already been translated.
- '';
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/okteta.nix b/pkgs/desktops/kde-4.12/kdesdk/okteta.nix
deleted file mode 100644
index 058636596ad..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/okteta.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, qca2 }:
-
-kde {
- buildInputs = [ kdelibs qca2 ];
-
-# TODO: Look what does -DBUILD_mobile add
-
- enableParallelBuilding = false;
-
- meta = {
- description = "KDE byte editor";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/poxml.nix b/pkgs/desktops/kde-4.12/kdesdk/poxml.nix
deleted file mode 100644
index 6e46c3e3ab4..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/poxml.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, antlr, gettext }:
-
-kde {
- buildInputs = [ kdelibs antlr gettext ];
-
- meta = {
- description = "Po<->xml tools";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
deleted file mode 100644
index 2dbccdef945..00000000000
--- a/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, boost }:
-
-kde {
- buildInputs = [ kdelibs libxml2 libxslt boost boost.lib ];
-
- meta = {
- description = "Umbrello UML modeller";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdetoys/amor.nix b/pkgs/desktops/kde-4.12/kdetoys/amor.nix
deleted file mode 100644
index 936d63d544a..00000000000
--- a/pkgs/desktops/kde-4.12/kdetoys/amor.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE creature for your desktop";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix
deleted file mode 100644
index dacf54def4b..00000000000
--- a/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE utility for making a fine cup of tea";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdetoys/ktux.nix b/pkgs/desktops/kde-4.12/kdetoys/ktux.nix
deleted file mode 100644
index 108f9be7c72..00000000000
--- a/pkgs/desktops/kde-4.12/kdetoys/ktux.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, kde_workspace }:
-
-kde {
- buildInputs = [ kdelibs kde_workspace ];
-
- meta = {
- description = "Tux Screen Saver";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/ark.nix b/pkgs/desktops/kde-4.12/kdeutils/ark.nix
deleted file mode 100644
index 99844b909fd..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/ark.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ makeWrapper, kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson
-, unzip }:
-
-kde {
- buildInputs = [
- makeWrapper kdelibs kde_baseapps libarchive bzip2 lzma qjson
- ];
-
- postInstall = ''
- wrapProgram $out/bin/ark \
- --prefix PATH ":" "${unzip}/bin"
- '';
-
- meta = {
- description = "KDE Archiving Tool";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/filelight.nix b/pkgs/desktops/kde-4.12/kdeutils/filelight.nix
deleted file mode 100644
index 25ecabed27c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/filelight.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Tool to visualise file and directory sizes";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix
deleted file mode 100644
index 08b202e8f0e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, gmp }:
-
-kde {
- buildInputs = [ kdelibs gmp ];
-
- meta = {
- description = "KDE Calculator";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix
deleted file mode 100644
index d4c9c06f483..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE character selection utility";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kdf.nix b/pkgs/desktops/kde-4.12/kdeutils/kdf.nix
deleted file mode 100644
index 3f9da58d0a6..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kdf.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE free disk space utility";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix
deleted file mode 100644
index 2434a4fa671..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Floppy disk formatting utility";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
deleted file mode 100644
index 11b62f499a4..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, kdepimlibs, boost }:
-
-kde {
-
- buildInputs = [ kdelibs kdepimlibs boost boost.lib ];
-
- meta = {
- description = "Simple KDE GUI for GPG";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix
deleted file mode 100644
index 70311a789f9..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, libXtst }:
-
-kde {
- buildInputs = [ kdelibs libXtst ];
-
- meta = {
- description = "KDE remote control";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix
deleted file mode 100644
index 5700977349e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE Timer";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix b/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix
deleted file mode 100644
index 9ec0e6c0396..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "KDE Wallet (password storage) management tool";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix
deleted file mode 100644
index ae72becd1e4..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ kde, kdelibs
-, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }:
-
-let s_c_p = system_config_printer.override { withGUI = false; }; in
-
-kde rec {
- buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
- ] ++ pythonPath;
-
- pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ];
-
- passthru.propagatedUserEnvPackages = [ s_c_p ];
-
- postInstall =
- ''
- wrapPythonPrograms
-
- # "system-config-printer" supplies some D-Bus policy that we need.
- mkdir -p $out/nix-support
- echo ${s_c_p} > $out/nix-support/propagated-user-env-packages
- '';
-
- meta = {
- description = "KDE printer manager";
- longDescription = "Applet to view current print jobs and configure new printers";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix
deleted file mode 100644
index cbe7a285606..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kde, kdelibs, qimageblitz, python }:
-
-kde {
- buildInputs = [ kdelibs qimageblitz python ];
-
- cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
-
- meta = {
- description = "A KDE Eye-candy Application";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix
deleted file mode 100644
index 78d56c7df30..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Helps clean unwanted traces the user leaves on the system";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix
deleted file mode 100644
index 55e37809e07..00000000000
--- a/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "Batch search and replace tool";
- homepage = http://www.kdewebdev.org;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix
deleted file mode 100644
index 6d22f72461f..00000000000
--- a/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "An HTML imagemap editor";
- homepage = http://www.nongnu.org/kimagemap/;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
deleted file mode 100644
index 36630ef8fc6..00000000000
--- a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }:
-
-kde {
-
-# todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old
-
- buildInputs = [ kdelibs kdepimlibs htmlTidy boost boost.lib ];
-
- meta = {
- description = "A KDE link checker";
- homepage = http://klinkstatus.kdewebdev.org;
- };
-}
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix
deleted file mode 100644
index d5f4337f714..00000000000
--- a/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs }:
-
-kde {
- buildInputs = [ kdelibs ];
-
- meta = {
- description = "A graphical editor of scripted dialogs";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/l10n/default.nix b/pkgs/desktops/kde-4.12/l10n/default.nix
deleted file mode 100644
index fa6406043b1..00000000000
--- a/pkgs/desktops/kde-4.12/l10n/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }:
-
-let
-
- inherit (stdenv.lib) attrByPath singleton;
-
- kdeL10nDerivation =
- { lang, saneName, sha256 }:
-
- stdenv.mkDerivation rec {
- name = "kde-l10n-${saneName}-${release}";
-
- src = fetchurl {
- url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
- name = "${name}.tar.xz";
- inherit sha256;
- };
-
- buildInputs = [ gettext kdelibs ];
-
- cmakeFlags = "-Wno-dev";
-
- meta = {
- description = "KDE translation for ${lang}";
- inherit branch;
- license = "GPL";
- platforms = stdenv.lib.platforms.linux;
- inherit (kdelibs.meta) maintainers homepage;
- };
- };
-
- kdeL10nRelease =
- builtins.listToAttrs (
- map ({lang, saneName, sha256}:
- {
- name = saneName;
- value = kdeL10nDerivation { inherit lang saneName sha256; };
- }
- ) (import (./manifest + "-${release}.nix"))
- );
-
-in
-{
- inherit kdeL10nDerivation;
- recurseForDerivations = true;
-} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh
deleted file mode 100755
index ec159a1e204..00000000000
--- a/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-# Usage: download kde-l10n to $dir, then run
-# $0 $dir
-
-dir=$1
-
-if [[ ! -d "${dir}" ]]; then
- echo "${dir} is not a directory (or doesn't exist)!" >&2
- exit 1
-fi
-
-release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \
- sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//')
-
-echo "Detected release ${release}" >&2
-
-exec > "manifest-${release}.nix"
-echo "["
-for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do
- lang=${i%-${release}.tar.xz}
- lang=${lang#kde-l10n-}
- echo -n "${lang}.. " >&2
- hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
- echo "{"
- echo " lang = \"${lang}\";"
- echo " saneName = \"$(echo $lang | sed s^@^_^g)\";"
- echo " sha256 = \"${hash}\";"
- echo "}"
- echo $hash >&2
-done
-echo "]"
diff --git a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix
deleted file mode 100644
index e646e352887..00000000000
--- a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix
+++ /dev/null
@@ -1,262 +0,0 @@
-[
-{
- lang = "ar";
- saneName = "ar";
- sha256 = "1pygy9kckankwhlm4j61fk42zinafw2insc9kkpgmh9mvb8gv0jk";
-}
-{
- lang = "bg";
- saneName = "bg";
- sha256 = "1qqbl7l84j3d5928gmdq7f7s0i31gw0rlf4y74p5zx8m80xbdd6l";
-}
-{
- lang = "bs";
- saneName = "bs";
- sha256 = "0cg143wlalplw0qr10h60i6srn0avsim94m1hjbm8xrlg71iihjj";
-}
-{
- lang = "ca";
- saneName = "ca";
- sha256 = "15s85xmqbnv7bm7ywivkyi62481ip4vy6yyw81m720hza0imbj9z";
-}
-{
- lang = "ca@valencia";
- saneName = "ca_valencia";
- sha256 = "1d0bhndwf8b0pmglf3sx28r6s3li72x7a05kc39n026ha5zyx5f1";
-}
-{
- lang = "cs";
- saneName = "cs";
- sha256 = "1dx5c6fkgn4hglx8qacrdnxn0l9p7dqbaz6cd7h9pa8b9zri5j9w";
-}
-{
- lang = "da";
- saneName = "da";
- sha256 = "1ynh8s17999pa60bzwr2595pcd744h1n8zznyzr5lq302ir8f8qj";
-}
-{
- lang = "de";
- saneName = "de";
- sha256 = "1da01wd1n64g3l57pagvrb8mn2jj50ni1qhicnlwylk8n2krw0pf";
-}
-{
- lang = "el";
- saneName = "el";
- sha256 = "1qf9g5in9zr39gkip06hr80pzc4frchb2x9q76sqs36h58az5yfd";
-}
-{
- lang = "en_GB";
- saneName = "en_GB";
- sha256 = "1lhrbfh74sqglqxl7yh68qkx0gmppg7iir194vxhm2s1j0jxq8r4";
-}
-{
- lang = "es";
- saneName = "es";
- sha256 = "0qz39nxkiivgk720lgdbfgxdp3wn5wrvx2zf0phvb8g6q5rl68kw";
-}
-{
- lang = "et";
- saneName = "et";
- sha256 = "1i9h68pfsnbi4gw5f4mb6q8jq56hdmi1lqxhwzj6vrbqiip7b9gl";
-}
-{
- lang = "eu";
- saneName = "eu";
- sha256 = "020b1p164v82pj6x0jxz6d41w539786ygkfmgrf9dr20zwhchzha";
-}
-{
- lang = "fi";
- saneName = "fi";
- sha256 = "0vs8bqr6if32bmwvjzdmakyqdl5fz13igg31mzwga4aqlzalxa1w";
-}
-{
- lang = "fr";
- saneName = "fr";
- sha256 = "1wcd9gzf754150i62zl3fa24jq8p7vskn6adaa8x5qy208c0d6v1";
-}
-{
- lang = "ga";
- saneName = "ga";
- sha256 = "0fpsc36sk7zh3flxgnvfgxig4cm5hm56sgdgbl01dfg1mac6dckq";
-}
-{
- lang = "gl";
- saneName = "gl";
- sha256 = "1hrbsd595q2w09mym9h56hymikkpxbq0qmdxvphap5wsh0xsfxms";
-}
-{
- lang = "he";
- saneName = "he";
- sha256 = "1q2y9js6j32rbm5jg8yn6s9zw0jh6yq1q4z6hxy9nss1gh6diqda";
-}
-{
- lang = "hi";
- saneName = "hi";
- sha256 = "0zaknfk8kzcid7839wsj61qgn81gjz0hbpis7q2q1syky4nzjwsb";
-}
-{
- lang = "hr";
- saneName = "hr";
- sha256 = "1d14h5kdfz8np5p27darraxq4ps0yhxhczg9yli436kgiflbvp88";
-}
-{
- lang = "hu";
- saneName = "hu";
- sha256 = "0p29dybsalnjk00f7l3gni7pxzv1ig95m100svhhkmcwvh065kjf";
-}
-{
- lang = "ia";
- saneName = "ia";
- sha256 = "1qqbn3v30z058580qr9qyq0sy6g4jw0far8w7ywgnhks4aapy97a";
-}
-{
- lang = "is";
- saneName = "is";
- sha256 = "1gfm0k2j2jvff9lab87yjrywc1j0gayw2fxibzifvpygr9bl60i7";
-}
-{
- lang = "it";
- saneName = "it";
- sha256 = "11zax6c3qfscadqfamls5k78hw36iwadqsgyiphl574ijz9q48ba";
-}
-{
- lang = "ja";
- saneName = "ja";
- sha256 = "1ab658x0a44kydzs05zgzq7nks6dfl0z8m69ank5ngd12qnhb38s";
-}
-{
- lang = "kk";
- saneName = "kk";
- sha256 = "0n26860ah421x8q2jmz8mh3mdzy26s8ckbfpnyph1vc23zqx9vqv";
-}
-{
- lang = "km";
- saneName = "km";
- sha256 = "05ad1d5klc11s138zb5fj4h2kfida83xqr4z1m6nhv0igwzmza0g";
-}
-{
- lang = "ko";
- saneName = "ko";
- sha256 = "14kchh6yixgrkzrrkdz25xaj2q91il6yshz79n4h0yk01lfc3sq5";
-}
-{
- lang = "lt";
- saneName = "lt";
- sha256 = "0aa4spy2nc1hfbx1z2b4k3sahha0pdxih1k3pl6n9223cjgwcbqp";
-}
-{
- lang = "lv";
- saneName = "lv";
- sha256 = "14341a4qr8p7idvsw6zp23kyva5lb4684wjygm24d9wj69nkc2c4";
-}
-{
- lang = "mr";
- saneName = "mr";
- sha256 = "02rq9spp8vzvv8bvzny48qwksimrnqj6y9rpc3xh6bmzfhvr7qsa";
-}
-{
- lang = "nb";
- saneName = "nb";
- sha256 = "1s2gbynxdbpi32rwdgddabsp3n10ngwpnh6za3yjp4is93ici6rm";
-}
-{
- lang = "nds";
- saneName = "nds";
- sha256 = "18nmh605ya47w0x2nkglg8lrfks7l9pxr6mjnw3z3lsazafigvx1";
-}
-{
- lang = "nl";
- saneName = "nl";
- sha256 = "1jxd109m2y7ky0c4im70ipx07rysbr0ndl2fpjb3myxb2nks106h";
-}
-{
- lang = "nn";
- saneName = "nn";
- sha256 = "117zl85myjnnb957c4gx0h65ks842sk3gbw9dfp8hpzdwg8zvsn4";
-}
-{
- lang = "pa";
- saneName = "pa";
- sha256 = "1q5c61a2swxvyhdw5rambibyms40hj34093ihx32ad73kb4mn72w";
-}
-{
- lang = "pl";
- saneName = "pl";
- sha256 = "0wg4nlra1z6pf8mxlz3w0jq68k0qfhxrhsqij35l9zml5y203n4y";
-}
-{
- lang = "pt";
- saneName = "pt";
- sha256 = "0rryyjfgplar77fz332jv2w0lv7d6273gv022pb1m83w945pzkf9";
-}
-{
- lang = "pt_BR";
- saneName = "pt_BR";
- sha256 = "0aglgvj1ljfdf6gjs478l4wisp2z4dzkkbhz1sgry00p4q1417ab";
-}
-{
- lang = "ro";
- saneName = "ro";
- sha256 = "14aqlg64lp287m09zhh9r9l6ywfwzz7f2nz0vr1fg3wqsdrchglw";
-}
-{
- lang = "ru";
- saneName = "ru";
- sha256 = "0cq6xacyrb9wrrwbl8xrb2ah3h7s7a9vr7kz3fy5rf2rgq0phfd7";
-}
-{
- lang = "sk";
- saneName = "sk";
- sha256 = "07i0plzmg0nykfalyjvwnhg5qrcfdf1h6i18b34xyrp3y4gm540a";
-}
-{
- lang = "sl";
- saneName = "sl";
- sha256 = "0gw1iv550nr307ibgb8i48fxcq03liq5r2x7fr9pl0n9xknh3c8a";
-}
-{
- lang = "sr";
- saneName = "sr";
- sha256 = "0489n0l9c9wig5567dfh4apyyy6xws7yxq79r4jl00zxl1j43bla";
-}
-{
- lang = "sv";
- saneName = "sv";
- sha256 = "1n4ckll9ngj8qn976nikxfljf23qsvphblbjnjm0vk4713bnpf9h";
-}
-{
- lang = "tr";
- saneName = "tr";
- sha256 = "0pzjdnanhynalcjlsg94g88i92hwdsqz02x85yxxg87vn74p13ks";
-}
-{
- lang = "ug";
- saneName = "ug";
- sha256 = "1z9mjzh0w6i2a75ys0dx5ksm8fpwyw8wrwdh14bvbnxpnkx0jv8x";
-}
-{
- lang = "uk";
- saneName = "uk";
- sha256 = "032vjcjpl19dyyc36z1nwyc9h696iys8dfyadpw9rhcllpk4ck67";
-}
-{
- lang = "vi";
- saneName = "vi";
- sha256 = "0sd6vzb1qmbbxk6d1vfq21gkq009lp7qxnpdcr7jbykcf0licq7i";
-}
-{
- lang = "wa";
- saneName = "wa";
- sha256 = "1m6fa0adfjzfqakjyrrjwak4p0y5wwdkkq61qx9wvzdb78qm83rw";
-}
-{
- lang = "zh_CN";
- saneName = "zh_CN";
- sha256 = "11is37g7fafxhk7ydydgbxdg0x1s5cxr8v1pjzwqb858n1cq5x1h";
-}
-{
- lang = "zh_TW";
- saneName = "zh_TW";
- sha256 = "1vbr0pjm8d25lxbmhqz8d4x57sjc411a5fkvyxh4rr34fd7xxhwq";
-}
-]
diff --git a/pkgs/desktops/kde-4.12/oxygen-icons.nix b/pkgs/desktops/kde-4.12/oxygen-icons.nix
deleted file mode 100644
index 01020e095f9..00000000000
--- a/pkgs/desktops/kde-4.12/oxygen-icons.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ kde, cmake }:
-
-kde {
- outputHashAlgo = "sha256";
- outputHashMode = "recursive";
- outputHash = "06qddsbq0sadj9jh2x1qkbm69b7cnd2474b3h0zrzrqgnrsf8jn2";
-
- nativeBuildInputs = [ cmake ];
-
- meta = {
- description = "KDE Oxygen theme icons";
- longDescription = "Icons for KDE's default theme";
- license = "GPL";
- };
-}
diff --git a/pkgs/desktops/kde-4.12/support/akonadi/default.nix b/pkgs/desktops/kde-4.12/support/akonadi/default.nix
deleted file mode 100644
index 824fd3e6616..00000000000
--- a/pkgs/desktops/kde-4.12/support/akonadi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
-
-stdenv.mkDerivation rec {
- name = "akonadi-1.11.0";
-
- src = fetchurl {
- url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
- sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc";
- };
-
- buildInputs = [ qt4 soprano libxslt boost boost.lib sqlite ];
-
- nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
-
- enableParallelBuilding = true;
-
- meta = with stdenv.lib; {
- description = "KDE PIM Storage Service";
- license = "LGPL";
- homepage = http://pim.kde.org/akonadi;
- maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
- platforms = platforms.linux;
- };
-}
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
new file mode 100644
index 00000000000..7506ece43dc
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
+
+stdenv.mkDerivation rec {
+ majorVersion = "0.3";
+ minorVersion = "0.1";
+ name = "pantheon-terminal-${majorVersion}.${minorVersion}";
+ src = fetchurl {
+ url = "https://launchpad.net/pantheon-terminal/${majorVersion}.x/${majorVersion}.${minorVersion}/+download/${name}.tgz";
+ sha256 = "14wspqxp79myyyjngr1x7jg1kw15g3nm2pav2zffp8xs16s1i5za";
+ };
+
+ preConfigure = ''
+ export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${granite}/lib64/pkgconfig"
+ '';
+
+ preFixup = ''
+ for f in $out/bin/*; do
+ wrapProgram $f \
+ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
+ done
+ '';
+
+ buildInputs = [perl cmake vala pkgconfig glib gtk3 granite gnome3.vte gnome3.libgee libnotify gettext makeWrapper];
+ meta = {
+ description = "elementary OS's terminal";
+ longDescription = "A super lightweight, beautiful, and simple terminal. It's designed to be setup with sane defaults and little to no configuration. It's just a terminal, nothing more, nothing less. Designed for elementary OS.";
+ homepage = https://launchpad.net/pantheon-terminal;
+ license = stdenv.lib.licenses.gpl3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = [ stdenv.lib.maintainers.vozz ];
+ };
+}
diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix
index 64e3c34453e..de7fe597594 100644
--- a/pkgs/desktops/xfce/applications/ristretto.nix
+++ b/pkgs/desktops/xfce/applications/ristretto.nix
@@ -1,5 +1,7 @@
{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk
-, exo, dbus_glib, libxfce4util, libxfce4ui, xfconf }:
+, exo, dbus_glib, libxfce4util, libxfce4ui, xfconf
+, hicolor_icon_theme, makeWrapper
+}:
stdenv.mkDerivation rec {
p_name = "ristretto";
@@ -14,8 +16,14 @@ stdenv.mkDerivation rec {
buildInputs =
[ pkgconfig intltool libexif gtk dbus_glib exo libxfce4util
- libxfce4ui xfconf
+ libxfce4ui xfconf hicolor_icon_theme makeWrapper
];
+
+ postInstall = ''
+ wrapProgram "$out/bin/ristretto" \
+ --prefix XDG_DATA_DIRS : "${hicolor_icon_theme}/share"
+ '';
+
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
index f486373ee17..78c37771811 100644
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
@@ -1,6 +1,7 @@
{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
, glib, gstreamer, gst_plugins_base, gtk
, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique ? null
+, pulseaudioSupport ? false, gst_plugins_good
}:
let
@@ -9,6 +10,10 @@ let
gst_plugins_minimal = gst_plugins_base.override {
minimalDeps = true;
};
+ gst_plugins_pulse = gst_plugins_good.override {
+ minimalDeps = true;
+ };
+ gst_plugins = [ gst_plugins_minimal ] ++ stdenv.lib.optional pulseaudioSupport gst_plugins_pulse;
in
@@ -24,9 +29,9 @@ stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
- [ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk
+ [ pkgconfig intltool glib gstreamer gtk
libxfce4util libxfce4ui xfce4panel xfconf libunique makeWrapper
- ];
+ ] ++ gst_plugins;
postInstall =
''
@@ -34,6 +39,8 @@ stdenv.mkDerivation rec {
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
'';
+ passthru = { inherit gst_plugins; };
+
meta = {
homepage = http://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
description = "A volume control application for the Xfce desktop environment";
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
new file mode 100644
index 00000000000..087ba0f2c81
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, pulseaudio
+, gtk2, libnotify
+, keybinder, xfconf
+}:
+
+stdenv.mkDerivation rec {
+ version = "0.2.0";
+ name = "xfce4-volumed-pulse-${version}";
+
+ src = fetchurl {
+ url = "https://launchpad.net/xfce4-volumed-pulse/trunk/${version}/+download/${name}.tar.bz2";
+ sha256 = "0l75gl96skm0zn10w70mwvsjd12p1zjshvn7yc3439dz61506c39";
+ };
+
+ buildInputs =
+ [ pulseaudio gtk2
+ keybinder xfconf libnotify
+ ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = with stdenv.lib; {
+ homepage = https://launchpad.net/xfce4-volumed-pulse;
+ description = "A volume keys control daemon for the Xfce desktop environment (Xubuntu fork)";
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.abbradar ];
+ };
+}
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/pkgs/desktops/xfce/applications/xfce4-volumed.nix
new file mode 100644
index 00000000000..b603229e938
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, makeWrapper
+, gstreamer, gtk2, gst_plugins_base, libnotify
+, keybinder, xfconf
+}:
+
+let
+ # The usual Gstreamer plugins package has a zillion dependencies
+ # that we don't need for a simple mixer, so build a minimal package.
+ gst_plugins_minimal = gst_plugins_base.override {
+ minimalDeps = true;
+ };
+
+in
+
+stdenv.mkDerivation rec {
+ p_name = "xfce4-volumed";
+ ver_maj = "0.1";
+ ver_min = "13";
+
+ src = fetchurl {
+ url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
+ sha256 = "1aa0a1sbf9yzi7bc78kw044m0xzg1li3y4w9kf20wqv5kfjs7v2c";
+ };
+ name = "${p_name}-${ver_maj}.${ver_min}";
+
+ buildInputs =
+ [ gstreamer gst_plugins_minimal gtk2
+ keybinder xfconf libnotify
+ ];
+
+ nativeBuildInputs = [ pkgconfig makeWrapper ];
+
+ postInstall =
+ ''
+ wrapProgram "$out/bin/xfce4-volumed" \
+ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://www.xfce.org/projects/xfce4-volumed; # referenced but inactive
+ description = "A volume keys control daemon for the Xfce desktop environment";
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.abbradar ];
+ };
+}
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
index e654b2f7dfb..7fa8862ea3b 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel.nix
@@ -1,5 +1,6 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libwnck, exo, garcon, xfconf, libstartup_notification }:
+, libwnck, exo, garcon, xfconf, libstartup_notification
+, makeWrapper, xfce4mixer }:
stdenv.mkDerivation rec {
p_name = "xfce4-panel";
@@ -17,10 +18,15 @@ stdenv.mkDerivation rec {
buildInputs =
[ pkgconfig intltool gtk libxfce4util exo libwnck
- garcon xfconf libstartup_notification
- ];
+ garcon xfconf libstartup_notification makeWrapper
+ ] ++ xfce4mixer.gst_plugins;
propagatedBuildInputs = [ libxfce4ui ];
+ postInstall = ''
+ wrapProgram "$out/bin/xfce4-panel" \
+ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+ '';
+
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
enableParallelBuilding = true;
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index ae6b1a88a14..3844633839e 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, newScope }: let
+{ config, pkgs, newScope }: let
callPackage = newScope (deps // xfce_self);
@@ -44,11 +44,17 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
parole = callPackage ./applications/parole.nix { };
ristretto = callPackage ./applications/ristretto.nix { };
terminal = xfce4terminal; # it has changed its name
- xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
+ xfce4mixer = callPackage ./applications/xfce4-mixer.nix {
+ pulseaudioSupport = config.pulseaudio or false;
+ };
xfce4notifyd = callPackage ./applications/xfce4-notifyd.nix { };
xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { };
xfce4terminal = callPackage ./applications/terminal.nix { };
xfce4screenshooter = callPackage ./applications/xfce4-screenshooter.nix { };
+ xfce4volumed = let
+ gst = callPackage ./applications/xfce4-volumed.nix { };
+ pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
+ in if config.pulseaudio or false then pulse else gst;
#### ART from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"
diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix
index f1be290b190..3f722d1b7d4 100644
--- a/pkgs/development/arduino/arduino-core/default.nix
+++ b/pkgs/development/arduino/arduino-core/default.nix
@@ -1,22 +1,18 @@
-{ stdenv, fetchurl, jdk, jre, ant, coreutils, gnugrep }:
+{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file }:
stdenv.mkDerivation rec {
- version = "1.0.2";
+ version = "1.0.6";
name = "arduino-core";
- src = fetchurl {
- url = "http://arduino.googlecode.com/files/arduino-${version}-src.tar.gz";
- sha256 = "0nszl2hdjjgxk87gyk0xi0ww9grbq83hch3iqmpaf9yp4y9bra0x";
+ src = fetchFromGitHub {
+ owner = "arduino";
+ repo = "Arduino";
+ rev = "${version}";
+ sha256 = "0nr5b719qi03rcmx6swbhccv6kihxz3b8b6y46bc2j348rja5332";
};
- buildInputs = [ jdk ant ];
-
- phases = "unpackPhase patchPhase buildPhase installPhase";
-
- patchPhase = ''
- #
- '';
+ buildInputs = [ jdk ant file ];
buildPhase = ''
cd ./core && ant
@@ -31,12 +27,26 @@ stdenv.mkDerivation rec {
cp -r ./build/linux/work/tools/ $out/share/arduino
cp -r ./build/linux/work/lib/ $out/share/arduino
echo ${version} > $out/share/arduino/lib/version.txt
+
+ # Fixup "/lib64/ld-linux-x86-64.so.2" like references in ELF executables.
+ echo "running patchelf on prebuilt binaries:"
+ find "$out" | while read filepath; do
+ if file "$filepath" | grep -q "ELF.*executable"; then
+ # skip target firmware files
+ if echo "$filepath" | grep -q "\.elf$"; then
+ continue
+ fi
+ echo "setting interpreter $(cat "$NIX_GCC"/nix-support/dynamic-linker) in $filepath"
+ patchelf --set-interpreter "$(cat "$NIX_GCC"/nix-support/dynamic-linker)" "$filepath"
+ test $? -eq 0 || { echo "patchelf failed to process $filepath"; exit 1; }
+ fi
+ done
'';
meta = {
- description = "Arduino libraries";
+ description = "Libraries for the open-source electronics prototyping platform";
homepage = http://arduino.cc/;
- license = "GPL";
- maintainers = [ stdenv.lib.maintainers.antono ];
+ license = stdenv.lib.licenses.gpl2;
+ maintainers = [ stdenv.lib.maintainers.antono stdenv.lib.maintainers.robberer ];
};
}
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index 484de02f05d..be3799d0196 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, buildPythonPackage, pythonPackages, minicom
+{ stdenv, fetchurl, buildPythonPackage, pythonPackages, picocom
, avrdude, arduino_core, avrgcclibc }:
buildPythonPackage rec {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
# TODO: add avrgcclibc, it must be rebuild with C++ support
propagatedBuildInputs =
- [ arduino_core avrdude minicom pythonPackages.configobj
+ [ arduino_core avrdude picocom pythonPackages.configobj
pythonPackages.jinja2 pythonPackages.pyserial pythonPackages.six ];
patchPhase = ''
diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix
index 3a44baa489a..b37f6ce1ab3 100644
--- a/pkgs/development/compilers/agda/default.nix
+++ b/pkgs/development/compilers/agda/default.nix
@@ -9,8 +9,8 @@
cabal.mkDerivation (self: {
pname = "Agda";
- version = "2.4.2";
- sha256 = "0pgwx79y02a08xn5f6lghw7fsc6wilab5q2gdm9r51yi9gm32aw5";
+ version = "2.4.2.1";
+ sha256 = "094x1rdhqxm630f0kgllhivgr1vdy4xrd9pgh737b1gbb2vf3awm";
isLibrary = true;
isExecutable = true;
buildDepends = [
@@ -21,6 +21,7 @@ cabal.mkDerivation (self: {
];
buildTools = [ alex cpphs emacs happy ];
noHaddock = true;
+ jailbreak = true;
postInstall = ''
$out/bin/agda -c --no-main $(find $out/share -name Primitive.agda)
$out/bin/agda-mode compile
@@ -28,7 +29,8 @@ cabal.mkDerivation (self: {
meta = {
homepage = "http://wiki.portal.chalmers.se/agda/";
description = "A dependently typed functional programming language and proof assistant";
- license = self.stdenv.lib.licenses.mit;
+ license = "unknown";
platforms = self.ghc.meta.platforms;
+ maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
};
})
diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix
index 7305fbb5397..597d0228b45 100644
--- a/pkgs/development/compilers/agda/stdlib.nix
+++ b/pkgs/development/compilers/agda/stdlib.nix
@@ -1,12 +1,12 @@
{ stdenv, agda, fetchurl, ghc, filemanip }:
agda.mkDerivation (self: rec {
- name = "Agda-stdlib";
- version = "0.8.1";
+ version = "0.9";
+ name = "Agda-stdlib-${version}";
src = fetchurl {
url = "https://github.com/agda/agda-stdlib/archive/v${version}.tar.gz";
- sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf";
+ sha256 = "05rpmd2xra8wygq33mahdmijcjwq132l1akqyzj66n13frw4hfwj";
};
buildInputs = [ filemanip ghc ];
@@ -18,9 +18,9 @@ agda.mkDerivation (self: rec {
meta = with stdenv.lib; {
homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
- description = "A standard library for use with the Agda compiler.";
+ description = "A standard library for use with the Agda compiler";
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix;
- maintainers = with maintainers; [ jwiegley ];
+ maintainers = with maintainers; [ jwiegley fuuzetsu ];
};
})
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 07a4ceefd4d..65f77ee8d3c 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "ats2-${version}";
- version = "0.1.3";
+ version = "0.1.4";
src = fetchurl {
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
- sha256 = "157k703zsdf0gr7mwz08rdldfgwfsm5ipg36xcc8092fcjs5ryqp";
+ sha256 = "174kxdvdgp2rlb0qq7d854n6m9gzy0g8annk3bmbqb23m36n2g39";
};
buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix
index 8564175d363..3ac5f1696ce 100644
--- a/pkgs/development/compilers/bigloo/default.nix
+++ b/pkgs/development/compilers/bigloo/default.nix
@@ -1,14 +1,16 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, gmp }:
stdenv.mkDerivation rec {
name = "bigloo-${version}";
- version = "3.7a";
+ version = "4.1a-2";
src = fetchurl {
url = "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo${version}.tar.gz";
- sha256 = "0y8i87c2bpqzap8rhzgpyfgdzq21py5xq6mgp0w6xv4rjcj9d0v1";
+ sha256 = "09yrz8r0jpj7bda39fdxzrrdyhi851nlfajsyf0b6jxanz6ygcjx";
};
+ buildInputs = [ gmp ];
+
preConfigure =
# Help libgc's configure.
'' export CXXCPP="g++ -E"
@@ -32,6 +34,10 @@ stdenv.mkDerivation rec {
meta = {
description = "Efficient Scheme compiler";
+ homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
+ license = stdenv.lib.licenses.gpl2Plus;
+ platforms = stdenv.lib.platforms.unix;
+ maintainers = with stdenv.lib.maintainers; [ ludo thoughtpolice ];
longDescription = ''
Bigloo is a Scheme implementation devoted to one goal: enabling
@@ -44,11 +50,5 @@ stdenv.mkDerivation rec {
Scheme and C programs, between Scheme and Java programs, and
between Scheme and C# programs.
'';
-
- homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
- license = stdenv.lib.licenses.gpl2Plus;
-
- maintainers = [ stdenv.lib.maintainers.ludo ];
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 7678c066df2..378a8fc8cad 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,49 +1,55 @@
-a :
-let
- buildInputs = with a; [
-
- ];
-in
-rec {
- version = "1.8";
- name = "ccl-${version}";
+{ stdenv, fetchsvn, gcc, glibc, m4, coreutils }:
- /* There are also MacOS and FreeBSD and Windows versions */
- src = a.fetchurl {
- url = "ftp://ftp.clozure.com/pub/release/${version}/${name}-linuxx86.tar.gz";
- sha256 = "1dgg6a8i2csa6xidsq66hbw7zx62gm2178hpkp88yyzgxylszp01";
+/* TODO: there are also MacOS, FreeBSD and Windows versions */
+assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
+
+stdenv.mkDerivation rec {
+ name = "ccl-${version}";
+ version = "1.10";
+ revision = "16313";
+
+ src = fetchsvn {
+ url = http://svn.clozure.com/publicsvn/openmcl/release/1.10/linuxx86/ccl;
+ rev = revision;
+ sha256 = "11lmdvzj1mbm7mbr22vjbcrsvinyz8n32a91ms324xqdqpr82ifb";
};
-
- inherit buildInputs;
- configureFlags = [];
- /* doConfigure should be removed if not needed */
- phaseNames = ["doUnpack" "doPatchElf" "doCopy"];
+ buildInputs = [ gcc glibc m4 ];
- doCopy = a.fullDepEntry ''
+ CCL_RUNTIME = if stdenv.system == "x86_64-linux" then "lx86cl64" else "lx86cl";
+ CCL_KERNEL = if stdenv.system == "x86_64-linux" then "linuxx8664" else "linuxx8632";
+
+ patchPhase = ''
+ substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \
+ --replace "svnversion" "echo ${revision}" \
+ --replace "/bin/rm" "${coreutils}/bin/rm" \
+ --replace "/bin/echo" "${coreutils}/bin/echo"
+
+ substituteInPlace lisp-kernel/m4macros.m4 \
+ --replace "/bin/pwd" "${coreutils}/bin/pwd"
+ '';
+
+ buildPhase = ''
+ make -C lisp-kernel/${CCL_KERNEL} clean
+ make -C lisp-kernel/${CCL_KERNEL} all
+
+ ./${CCL_RUNTIME} -n -b -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'
+ '';
+
+ installPhase = ''
mkdir -p "$out/share"
- cp -r . "$out/share/ccl-installation"
+ cp -r . "$out/share/ccl-installation"
mkdir -p "$out/bin"
- for i in $(find . -maxdepth 1 -type f -perm +111); do
- echo -e '#! /bin/sh\n'"$out/share/ccl-installation/$(basename "$i")"'"$@"\n' > "$out"/bin/"$(basename "$i")"
- chmod a+x "$out"/bin/"$(basename "$i")"
- done
- '' ["minInit" "doUnpack" "defEnsureDir"];
+ echo -e '#!/bin/sh\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}"
+ chmod a+x "$out"/bin/"${CCL_RUNTIME}"
+ '';
- doPatchElf = a.fullDepEntry ''
- patchelfFile="$(type -P patchelf)"
- goodInterp="$(patchelf --print-interpreter "$patchelfFile")"
- find . -type f -perm +111 -exec patchelf --set-interpreter "$goodInterp" '{}' ';'
- '' ["minInit" "doUnpack"];
-
meta = {
description = "Clozure Common Lisp";
- maintainers = [
- a.lib.maintainers.raskin
- ];
- platforms = with a.lib.platforms;
- linux;
+ homepage = http://ccl.clozure.com/;
+ maintainers = with stdenv.lib.maintainers; [ raskin muflax ];
+ platforms = stdenv.lib.platforms.linux;
+ license = stdenv.lib.licenses.lgpl21;
};
}
-
diff --git a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
new file mode 100644
index 00000000000..0962c9cf46d
--- /dev/null
+++ b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
@@ -0,0 +1,130 @@
+From 752dff853186dc334c519a86fa92f087795fea02 Mon Sep 17 00:00:00 2001
+From: Moritz Heidkamp
+Date: Wed, 1 Oct 2014 22:41:30 +0200
+Subject: [PATCH] Introduce CHICKEN_REPOSITORY_EXTRA
+
+This environment variable works like CHICKEN_REPOSITORY but supports
+multiple paths separated by `:'. Those paths are searched after
+CHICKEN_REPOSITORY when loading extensions via `require-library' and
+friends. It can be accessed and changed at runtime via the new procedure
+`repository-extra-paths' which is analog to `repository-path'.
+---
+ chicken-install.scm | 11 +++++++----
+ chicken.import.scm | 1 +
+ eval.scm | 37 +++++++++++++++++++++++++++++++------
+ 3 files changed, 39 insertions(+), 10 deletions(-)
+
+diff --git a/chicken-install.scm b/chicken-install.scm
+index 2ef6ef4..b5c6bf8 100644
+--- a/chicken-install.scm
++++ b/chicken-install.scm
+@@ -109,10 +109,10 @@
+ (define *show-foreign-depends* #f)
+ (define *hacks* '())
+
+- (define (repo-path)
++ (define (repo-paths)
+ (if (and *cross-chicken* (not *host-extension*))
+- (make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION))
+- (repository-path)))
++ (list (make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION)))
++ (cons (repository-path) (repository-extra-paths))))
+
+ (define (get-prefix #!optional runtime)
+ (cond ((and *cross-chicken*
+@@ -757,7 +757,10 @@
+ "installed extension has no information about which egg it belongs to"
+ (pathname-file sf))
+ #f))))
+- (glob (make-pathname (repo-path) "*" "setup-info")))
++ (append-map
++ (lambda (path)
++ (glob (make-pathname path "*" "setup-info")))
++ (repo-paths)))
+ equal?))
+
+ (define (list-available-extensions trans locn)
+diff --git a/chicken.import.scm b/chicken.import.scm
+index baa7316..2839b16 100644
+--- a/chicken.import.scm
++++ b/chicken.import.scm
+@@ -201,6 +201,7 @@
+ repl
+ repl-prompt
+ repository-path
++ repository-extra-paths
+ require
+ reset
+ reset-handler
+diff --git a/eval.scm b/eval.scm
+index bbcd86c..838588d 100644
+--- a/eval.scm
++++ b/eval.scm
+@@ -81,6 +81,7 @@
+ (define-constant source-file-extension ".scm")
+ (define-constant setup-file-extension "setup-info")
+ (define-constant repository-environment-variable "CHICKEN_REPOSITORY")
++(define-constant repository-extra-environment-variable "CHICKEN_REPOSITORY_EXTRA")
+ (define-constant prefix-environment-variable "CHICKEN_PREFIX")
+
+ ; these are actually in unit extras, but that is used by default
+@@ -1180,6 +1181,25 @@
+
+ (define repository-path ##sys#repository-path)
+
++(define ##sys#repository-extra-paths
++ (let* ((repaths (get-environment-variable repository-extra-environment-variable))
++ (repaths (if repaths
++ (let ((len (string-length repaths)))
++ (let loop ((i 0) (offset 0) (res '()))
++ (cond ((> i len)
++ (reverse res))
++ ((or (= i len) (eq? #\: (string-ref repaths i)))
++ (loop (+ i 1) (+ i 1) (cons (substring repaths offset i) res)))
++ (else
++ (loop (+ i 1) offset res)))))
++ '())))
++ (lambda (#!optional val)
++ (if val
++ (set! repaths val)
++ repaths))))
++
++(define repository-extra-paths ##sys#repository-extra-paths)
++
+ (define ##sys#setup-mode #f)
+
+ (define ##sys#find-extension
+@@ -1197,6 +1217,7 @@
+ (let loop ((paths (##sys#append
+ (if ##sys#setup-mode '(".") '())
+ (if rp (list rp) '())
++ (##sys#repository-extra-paths)
+ (if inc? ##sys#include-pathnames '())
+ (if ##sys#setup-mode '() '("."))) ))
+ (and (pair? paths)
+@@ -1256,12 +1277,16 @@
+ [string-append string-append]
+ [read read] )
+ (lambda (id loc)
+- (and-let* ((rp (##sys#repository-path)))
+- (let* ((p (##sys#canonicalize-extension-path id loc))
+- (rpath (string-append rp "/" p ".")) )
+- (cond ((file-exists? (string-append rpath setup-file-extension))
+- => (cut with-input-from-file <> read) )
+- (else #f) ) ) ) ) ))
++ (let loop ((rpaths (cons (##sys#repository-path) (##sys#repository-extra-paths))))
++ (and (pair? rpaths)
++ (let ((rp (car rpaths)))
++ (if (not rp)
++ (loop (cdr rpaths))
++ (let* ((p (##sys#canonicalize-extension-path id loc))
++ (rpath (string-append rp "/" p ".")) )
++ (cond ((file-exists? (string-append rpath setup-file-extension))
++ => (cut with-input-from-file <> read) )
++ (else (loop (cdr rpaths))) ) )) ))) ) ))
+
+ (define (extension-information ext)
+ (##sys#extension-information ext 'extension-information) )
+--
+2.1.0
+
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index 8fd99973cbc..0e210343a72 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
let
version = "4.9.0.1";
@@ -8,18 +8,57 @@ let
else if isBSD then "bsd"
else if isSunOS then "solaris"
else "linux"; # Should be a sane default
+ lib = stdenv.lib;
in
stdenv.mkDerivation {
name = "chicken-${version}";
+ binaryVersion = 7;
+
src = fetchurl {
url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz";
sha256 = "0598mar1qswfd8hva9nqs88zjn02lzkqd8fzdd21dz1nki1prpq4";
};
+ setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
+
buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+ # We need a bootstrap-chicken to regenerate the c-files after
+ # applying a patch to add support for CHICKEN_REPOSITORY_EXTRA
+ patches = lib.ifEnable (bootstrap-chicken != null) [
+ ./0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
+ ];
+
+ buildInputs = [
+ makeWrapper
+ ] ++ (lib.ifEnable (bootstrap-chicken != null) [
+ bootstrap-chicken
+ ]);
+
+ preBuild = lib.ifEnable (bootstrap-chicken != null) ''
+ # Backup the build* files - those are generated from hostname,
+ # git-tag, etc. and we don't need/want that
+ mkdir -p build-backup
+ mv buildid buildbranch buildtag.h build-backup
+
+ # Regenerate eval.c after the patch
+ make spotless $buildFlags
+
+ mv build-backup/* .
+ '';
+
+ postInstall = ''
+ for f in $out/bin/*
+ do
+ wrapProgram $f \
+ --prefix PATH : ${stdenv.gcc}/bin
+ done
+ '';
+
+ # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
+
meta = {
homepage = http://www.call-cc.org/;
license = "BSD";
diff --git a/pkgs/development/compilers/chicken/eggDerivation.nix b/pkgs/development/compilers/chicken/eggDerivation.nix
new file mode 100644
index 00000000000..97ce9d9be79
--- /dev/null
+++ b/pkgs/development/compilers/chicken/eggDerivation.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchegg, chicken, makeWrapper }:
+{ name, src
+, buildInputs ? []
+, chickenInstallFlags ? []
+, cscOptions ? []
+, ...} @ args:
+
+let
+ libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/";
+ overrides = import ./overrides.nix;
+ lib = stdenv.lib;
+ baseName = (builtins.parseDrvName name).name;
+ override = if builtins.hasAttr baseName overrides
+ then
+ builtins.getAttr baseName overrides
+ else
+ {};
+in
+stdenv.mkDerivation ({
+ name = "chicken-${name}";
+ propagatedBuildInputs = buildInputs ++ [ chicken ];
+ propagatedUserEnvPkgs = buildInputs ++ [ chicken ];
+ buildInputs = [ makeWrapper ];
+
+ CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions;
+
+ CHICKEN_REPOSITORY = libPath;
+ CHICKEN_INSTALL_PREFIX = "$out";
+
+ installPhase = ''
+ runHook preInstall
+
+ chicken-install -p $out ${stdenv.lib.concatStringsSep " " chickenInstallFlags}
+
+ for f in $out/bin/*
+ do
+ wrapProgram $f \
+ --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \
+ --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \
+ --prefix CHICKEN_INCLUDE_PATH \; \"$CHICKEN_INCLUDE_PATH\;$out/share/\" \
+ --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY"
+ done
+
+ runHook postInstall
+ '';
+} // (builtins.removeAttrs args ["name" "buildInputs"]) // override)
diff --git a/pkgs/development/compilers/chicken/overrides.nix b/pkgs/development/compilers/chicken/overrides.nix
new file mode 100644
index 00000000000..9fdda9b6d9f
--- /dev/null
+++ b/pkgs/development/compilers/chicken/overrides.nix
@@ -0,0 +1,10 @@
+{
+ setup-helper = {
+ preBuild = ''
+ substituteInPlace setup-helper.setup \
+ --replace "(chicken-home)" \"$out/share/\"
+
+ cat setup-helper.setup
+ '';
+ };
+}
diff --git a/pkgs/development/compilers/chicken/setup-hook.sh b/pkgs/development/compilers/chicken/setup-hook.sh
new file mode 100644
index 00000000000..8d6b990a7e0
--- /dev/null
+++ b/pkgs/development/compilers/chicken/setup-hook.sh
@@ -0,0 +1,7 @@
+addChickenRepositoryPath() {
+ addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/7/"
+ # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
+ export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
+}
+
+envHooks=(${envHooks[@]} addChickenRepositoryPath)
diff --git a/pkgs/development/compilers/cmucl/binary.nix b/pkgs/development/compilers/cmucl/binary.nix
index 55f64234a32..c3a960388bb 100644
--- a/pkgs/development/compilers/cmucl/binary.nix
+++ b/pkgs/development/compilers/cmucl/binary.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
which runs on most major Unix platforms. It mainly conforms to the
ANSI Common Lisp standard.
'';
- license = "free"; # public domain
+ license = stdenv.lib.licenses.free; # public domain
homepage = http://www.cons.org/cmucl/;
};
}
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 96a3d2abfc6..c48d74249e1 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,25 +1,20 @@
-{ stdenv, fetchurl, gcc, unzip, curl }:
+{ stdenv, fetchurl, unzip, curl }:
stdenv.mkDerivation {
- name = "dmd-2.064.2";
+ name = "dmd-2.066.1";
src = fetchurl {
- url = http://downloads.dlang.org/releases/2013/dmd.2.064.2.zip;
- sha256 = "1i0jdybigffwyb7c43j0c4aayxx3b93zzqrjxyw6zgp06yhi06pm";
+ url = http://downloads.dlang.org/releases/2014/dmd.2.066.1.zip;
+ sha256 = "1qifwgrl6h232zsnvcx3kmb5d0fsy7j9zv17r3b4vln7x5rvzc66";
};
- buildInputs = [ gcc unzip curl ];
+ buildInputs = [ unzip curl ];
- configurePhase = "";
- patchPhase = ''
- cp src/VERSION src/dmd/
- cp license.txt src/phobos/LICENSE_1_0.txt
- '';
buildPhase = ''
cd src/dmd
make -f posix.mak INSTALL_DIR=$out
export DMD=$PWD/dmd
- cd ../druntime
+ cd ../druntime
make -f posix.mak INSTALL_DIR=$out DMD=$DMD
cd ../phobos
make -f posix.mak INSTALL_DIR=$out DMD=$DMD
@@ -28,25 +23,36 @@ stdenv.mkDerivation {
installPhase = ''
cd src/dmd
- tee dmd.conf.default << EOF
- [Environment]
- DFLAGS=-I$out/import -L-L$out/lib
- EOF
+ mkdir $out
+ mkdir $out/bin
+ cp dmd $out/bin
+
+ cd ../druntime
+ mkdir $out/include
+ mkdir $out/include/d2
+ cp -r import/* $out/include/d2
- make -f posix.mak INSTALL_DIR=$out install
- export DMD=$PWD/dmd
- cd ../druntime
- make -f posix.mak INSTALL_DIR=$out install
cd ../phobos
- make -f posix.mak INSTALL_DIR=$out install
- cd ../..
+ mkdir $out/lib
+ ${let bits = if stdenv.is64bit then "64" else "32"; in
+ "cp generated/linux/release/${bits}/libphobos2.a $out/lib"
+ }
+
+ cp -r std $out/include/d2
+ cp -r etc $out/include/d2
+
+ cd $out/bin
+ tee dmd.conf << EOF
+ [Environment]
+ DFLAGS=-I$out/include/d2 -L-L$out/lib -L--no-warn-search-mismatch -L--export-dynamic
+ EOF
'';
- meta = {
+ meta = with stdenv.lib; {
description = "D language compiler";
homepage = http://dlang.org/;
- license = "open source, see included files";
- maintainers = with stdenv.lib.maintainers; [ vlstill ];
- platforms = stdenv.lib.platforms.unix;
+ license = licenses.free; # parts under different licenses
+ platforms = platforms.unix;
};
}
+
diff --git a/pkgs/development/compilers/elm/elm-get.nix b/pkgs/development/compilers/elm/elm-get.nix
new file mode 100644
index 00000000000..d01a3226d29
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-get.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, ansiWlPprint, binary, Elm, filepath
+, HTTP, httpClient, httpClientTls, httpTypes, mtl, network
+, optparseApplicative, vector
+}:
+
+cabal.mkDerivation (self: {
+ pname = "elm-get";
+ version = "0.1.3";
+ sha256 = "1did7vjd1h2kh5alndd2b63zi8b1m9hf6k1k75yxwvw6f6mz5i4q";
+ isLibrary = true;
+ isExecutable = true;
+ buildDepends = [
+ aeson aesonPretty ansiWlPprint binary Elm filepath HTTP httpClient
+ httpClientTls httpTypes mtl network optparseApplicative vector
+ ];
+ jailbreak = true;
+ meta = {
+ homepage = "http://github.com/elm-lang/elm-get";
+ description = "Tool for sharing and using Elm libraries";
+ license = self.stdenv.lib.licenses.bsd3;
+ platforms = self.ghc.meta.platforms;
+ };
+})
diff --git a/pkgs/development/compilers/elm/elm-reactor.nix b/pkgs/development/compilers/elm/elm-reactor.nix
new file mode 100644
index 00000000000..7b53d9190d8
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-reactor.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, blazeMarkup, cmdargs, Elm, fetchgit, filepath
+, fsnotify, HTTP, mtl, snapCore, snapServer, systemFilepath, time
+, transformers, unorderedContainers, websockets, websocketsSnap
+}:
+
+cabal.mkDerivation (self: {
+ pname = "elm-reactor";
+ version = "0.1";
+ src = fetchgit {
+ url = "git://github.com/elm-lang/elm-reactor.git";
+ sha256 = "1e45ef26a9b1c1748737dce071a7f2587d0d22643085942a98006f9b11d11dfe";
+ rev = "8715046c5bc8b18f0540069c1a9a65f3aa8332e1";
+ };
+ isLibrary = false;
+ isExecutable = true;
+ buildDepends = [
+ blazeHtml blazeMarkup cmdargs Elm filepath fsnotify HTTP mtl
+ snapCore snapServer systemFilepath time transformers
+ unorderedContainers websockets websocketsSnap
+ ];
+ meta = {
+ homepage = "http://elm-lang.org";
+ description = "Interactive development tool for Elm programs";
+ license = self.stdenv.lib.licenses.bsd3;
+ platforms = self.ghc.meta.platforms;
+ };
+})
diff --git a/pkgs/development/compilers/elm/elm-repl.nix b/pkgs/development/compilers/elm/elm-repl.nix
new file mode 100644
index 00000000000..ffeea93f9fb
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-repl.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bytestringTrie, cmdargs, Elm, filepath, haskeline, HUnit
+, mtl, parsec, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+ pname = "elm-repl";
+ version = "0.3";
+ sha256 = "10a4a2ybg5dlshpklnisb957lknb0w8s3ppaq5p5y6ylqik8ak0a";
+ isLibrary = false;
+ isExecutable = true;
+ buildDepends = [
+ bytestringTrie cmdargs Elm filepath haskeline mtl parsec
+ ];
+ testDepends = [
+ bytestringTrie cmdargs Elm filepath haskeline HUnit mtl parsec
+ QuickCheck testFramework testFrameworkHunit
+ testFrameworkQuickcheck2
+ ];
+ meta = {
+ homepage = "https://github.com/elm-lang/elm-repl";
+ description = "a REPL for Elm";
+ license = self.stdenv.lib.licenses.bsd3;
+ platforms = self.ghc.meta.platforms;
+ };
+})
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
index 622f182e8c5..38e1d7de2c6 100644
--- a/pkgs/development/compilers/elm/elm.nix
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -1,27 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
{ cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup
-, cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript
-, languageGlsl, mtl, pandoc, parsec, QuickCheck, scientific
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
-, transformers, unionFind, unorderedContainers, yaml
+, cheapskate, cmdargs, filemanip, filepath, highlightingKate, HUnit
+, indents, languageEcmascript, languageGlsl, mtl, parsec
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, text, transformers, unionFind
+, unorderedContainers
}:
cabal.mkDerivation (self: {
pname = "Elm";
- version = "0.12.3";
- sha256 = "1v6h9qbbz27ikh19xwjbyfw0zi5ag9x1gp0khh9v4af1g0j86320";
+ version = "0.13";
+ sha256 = "1l6p00h0717blwvia0gvqpsakq8jy44fxc6brr4qxs5g4yjcjnmh";
isLibrary = true;
isExecutable = true;
buildDepends = [
- aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath
- indents languageEcmascript languageGlsl mtl pandoc parsec
- scientific text transformers unionFind unorderedContainers yaml
+ aeson aesonPretty binary blazeHtml blazeMarkup cheapskate cmdargs
+ filepath highlightingKate indents languageEcmascript languageGlsl
+ mtl parsec text transformers unionFind unorderedContainers
];
testDepends = [
- aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip
- filepath HUnit indents languageEcmascript languageGlsl mtl pandoc
- parsec QuickCheck scientific testFramework testFrameworkHunit
- testFrameworkQuickcheck2 text transformers unionFind
- unorderedContainers yaml
+ aeson aesonPretty binary blazeHtml blazeMarkup cheapskate cmdargs
+ filemanip filepath highlightingKate HUnit indents
+ languageEcmascript languageGlsl mtl parsec QuickCheck testFramework
+ testFrameworkHunit testFrameworkQuickcheck2 text transformers
+ unionFind unorderedContainers
];
doCheck = false;
preConfigure = ''
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index 3eb9aef528c..a8180947f4a 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
homepage = https://github.com/kripken/emscripten-fastcomp;
description = "emscripten llvm";
maintainers = with maintainers; [ bosu ];
- license = "University of Illinois/NCSA Open Source License";
+ license = stdenv.lib.licenses.ncsa;
};
}
diff --git a/pkgs/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index 6ea377387ec..ae4d73d6e20 100644
--- a/pkgs/development/compilers/epic/default.nix
+++ b/pkgs/development/compilers/epic/default.nix
@@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "epic";
- version = "0.9.3";
- sha256 = "1x8y3ljha8r52pw83mjfv5i49dq0b7i1xbxg8j9hlvr2vwfa4237";
+ version = "0.9.3.2";
+ sha256 = "1l73absns4ci20brkdjg1r1l9p4xxx88vax736diqik7rl7zrx9h";
isLibrary = true;
isExecutable = true;
buildDepends = [ Cabal mtl ];
@@ -16,7 +16,5 @@ cabal.mkDerivation (self: {
description = "Compiler for a simple functional language";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- hydraPlatforms = self.stdenv.lib.platforms.none;
- broken = true;
};
})
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix
index a2863663bea..bf2e10b2c62 100644
--- a/pkgs/development/compilers/fpc/lazarus.nix
+++ b/pkgs/development/compilers/fpc/lazarus.nix
@@ -1,45 +1,55 @@
-args : with args;
-rec {
- version = "1.0.2";
- versionSuffix = "-0";
- src = fetchurl {
+{
+stdenv, fetchurl
+, fpc
+, gtk, glib, pango, atk, gdk_pixbuf
+, libXi, inputproto, libX11, xproto, libXext, xextproto
+, makeWrapper
+}:
+let
+ s =
+ rec {
+ version = "1.2.6";
+ versionSuffix = "-0";
url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz";
- sha256 = "17a94wig8b4yrkq42wng4qbal7n77axkynwh78wday5whsp7div8";
+ sha256 = "1sjyc2l46hyd5ic5hr6vscy4qr9kazyhiyddy7bfs9vgf54fdiy0";
+ name = "lazarus-${version}";
};
-
- buildInputs = [fpc gtk glib libXi inputproto
+ buildInputs = [
+ fpc gtk glib libXi inputproto
libX11 xproto libXext xextproto pango atk
- stdenv.gcc makeWrapper gdk_pixbuf];
- configureFlags = [];
+ stdenv.gcc makeWrapper gdk_pixbuf
+ ];
+in
+stdenv.mkDerivation {
+ inherit (s) name version;
+ inherit buildInputs;
+ src = fetchurl {
+ inherit (s) url sha256;
+ };
makeFlags = [
- "LAZARUS_INSTALL_DIR=$out/lazarus/"
- "INSTALL_PREFIX=$out/"
"FPC=fpc"
"PP=fpc"
+ "REQUIRE_PACKAGES+=tachartlazaruspkg"
+ "bigide"
];
-
- /* doConfigure should be specified separately */
- phaseNames = ["preBuild" "doMakeInstall" "postInstall"];
-
- preBuild = fullDepEntry (''
- export NIX_LDFLAGS='-lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo'
+ preBuild = ''
+ export makeFlags="$makeFlags LAZARUS_INSTALL_DIR=$out/lazarus/ INSTALL_PREFIX=$out/"
+ export NIX_LDFLAGS="$NIX_LDFLAGS -lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo -lgcc_s"
export LCL_PLATFORM=gtk2
- mkdir -p $out/share
+ mkdir -p $out/share "$out/lazarus"
tar xf ${fpc.src} --strip-components=1 -C $out/share -m
sed -e 's@/usr/fpcsrc@'"$out/share/fpcsrc@" -i ide/include/unix/lazbaseconf.inc
- '')
- ["minInit" "defEnsureDir" "doUnpack"];
-
- postInstall = fullDepEntry (''
+ '';
+ postInstall = ''
wrapProgram $out/bin/startlazarus --prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" \
--prefix LCL_PLATFORM ' ' "'$LCL_PLATFORM'"
- '') ["doMakeInstall" "minInit" "defEnsureDir"];
-
- name = "lazarus-${version}";
+ '';
meta = {
+ inherit (s) version;
+ license = stdenv.lib.licenses.gpl2Plus ;
+ platforms = stdenv.lib.platforms.linux;
description = "Lazarus graphical IDE for FreePascal language";
homepage = http://www.lazarus.freepascal.org;
- maintainers = [args.lib.maintainers.raskin];
- #platforms = args.lib.platforms.linux;
+ maintainers = [stdenv.lib.maintainers.raskin];
};
}
diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix
index 99e893c79d1..179c70a5f47 100644
--- a/pkgs/development/compilers/fsharp/default.nix
+++ b/pkgs/development/compilers/fsharp/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "fsharp-${version}";
- version = "3.1.1.25";
+ version = "3.1.1.26";
src = fetchurl {
url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
- sha256 = "1vrgw7qk4g78mjjapc1a1frribcgya4cdrwahv3i26z9s10g5h3d";
+ sha256 = "1yz3cq8ys6ryc6x3a0qyc100swrg2q3az8x8in1lp7c2c0l02zb2";
};
buildInputs = [ mono pkgconfig autoconf automake which ];
diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix
index 3d9f2596c96..cc8c80653ba 100644
--- a/pkgs/development/compilers/gambit/default.nix
+++ b/pkgs/development/compilers/gambit/default.nix
@@ -1,28 +1,22 @@
-x@{stdenv, fetchurl, builderDefsPackage, ...}:
-builderDefsPackage
-(a :
-let
- s = import ./src-for-default.nix;
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ [];
- buildInputs = map (n: builtins.getAttr n x)
- (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-in
-rec {
- src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl }:
- inherit (s) name;
- inherit buildInputs;
- configureFlags = ["--enable-shared"];
+stdenv.mkDerivation rec {
+ name = "gambit-${version}";
+ version = "4.7.3";
+ devver = "4_7_3";
- /* doConfigure should be removed if not needed */
- phaseNames = ["doConfigure" "doMakeInstall"];
-
- meta = {
- description = "Scheme to C compiler";
- maintainers = [
- a.lib.maintainers.raskin
- ];
- platforms = with a.lib.platforms;
- linux ++ freebsd;
+ src = fetchurl {
+ url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/source/gambc-v${devver}-devel.tgz";
+ sha256 = "12jbr6bc0zmc7vw07a9pliadbvqgwkpmw6cj8awz73clv1j7pxha";
};
-}) x
+
+ configureFlags = [ "--enable-shared" "--enable-single-host" ];
+
+ meta = {
+ description = "Optimizing Scheme to C compiler";
+ homepage = "http://gambitscheme.org";
+ license = stdenv.lib.licenses.lgpl2;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
+ };
+}
diff --git a/pkgs/development/compilers/gambit/src-for-default.nix b/pkgs/development/compilers/gambit/src-for-default.nix
deleted file mode 100644
index 83d0c764561..00000000000
--- a/pkgs/development/compilers/gambit/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
- version="v4_6_1";
- name="gambit-v4_6_1";
- hash="0ad6c63dg5ggaamixxinvlf3128mra8xzss5chh66lkii4dc3m7g";
- url="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-${version}-devel.tgz";
- advertisedUrl="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_1-devel.tgz";
-
-
-}
diff --git a/pkgs/development/compilers/gambit/src-info-for-default.nix b/pkgs/development/compilers/gambit/src-info-for-default.nix
deleted file mode 100644
index cd32f9d3f82..00000000000
--- a/pkgs/development/compilers/gambit/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- downloadPage = "http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page";
- baseName = "gambit";
- sourceRegexp = "[.]tgz";
- versionExtractorSedScript = ''s/.*-(v[_0-9]+)-devel[.].*/\1/'';
- versionReferenceCreator = ''$(replaceAllVersionOccurences)'';
-}
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
index 62e08d1fa7c..b6f6ac51ba2 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256 }:
+{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses }:
with stdenv.lib;
let
versionParts = splitString "-" version; # 4.7 2013q3 20130916
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
for f in $(find $out); do
if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
- --set-rpath $out/lib:${gcc}/lib \
+ --set-rpath $out/lib:${gcc}/lib:${ncurses}/lib \
"$f" || true
fi
done
diff --git a/pkgs/development/compilers/gcc/3.3/builder.sh b/pkgs/development/compilers/gcc/3.3/builder.sh
deleted file mode 100644
index 12e35f88b94..00000000000
--- a/pkgs/development/compilers/gcc/3.3/builder.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-source $stdenv/setup
-
-
-FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
-mkdir $FIXINC_DUMMY
-
-
-# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
-# Thing.
-export CPP="gcc -E"
-
-
-preConfigure() {
-
- if test "$noSysDirs" = "1"; then
- # Disable the standard include directories.
- cat >> ./gcc/cppdefault.h < $mf.tmp
- mv $mf.tmp $mf
-
- mf=gcc/Makefile
- sed \
- -e "s^X_CFLAGS =\(.*\)^X_CFLAGS = \1 $extraFlags^" \
- < $mf > $mf.tmp
- mv $mf.tmp $mf
-
- # Patch gcc/Makefile to prevent fixinc.sh from "fixing" system
- # header files from /usr/include.
- mf=gcc/Makefile
- sed \
- -e "s^NATIVE_SYSTEM_HEADER_DIR =\(.*\)^NATIVE_SYSTEM_HEADER_DIR = $FIXINC_DUMMY^" \
- < $mf > $mf.tmp
- mv $mf.tmp $mf
- fi
-}
-
-
-buildFlags="bootstrap"
-
-genericBuild
diff --git a/pkgs/development/compilers/gcc/3.3/default.nix b/pkgs/development/compilers/gcc/3.3/default.nix
deleted file mode 100644
index 23501489925..00000000000
--- a/pkgs/development/compilers/gcc/3.3/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, noSysDirs
-, langC ? true, langCC ? true, langFortran ? false
-}:
-
-assert langC;
-
-# !!! impurity: finds /usr/bin/as, /usr/bin/ranlib.
-
-stdenv.mkDerivation {
- name = "gcc-3.3.6";
-
- builder = ./builder.sh;
-
- src = fetchurl {
- url = http://ftp.gnu.org/gnu/gcc/gcc-3.3.6/gcc-3.3.6.tar.bz2;
- md5 = "6936616a967da5a0b46f1e7424a06414";
- };
-
- # inspiration: https://aur.archlinux.org/packages/g77/
- postPatch = ''
- substituteInPlace gcc/config/i386/linux.h --replace 'struct siginfo' siginfo_t
- '';
-
- inherit noSysDirs langC langCC langFortran;
-
- meta = {
- homepage = "http://gcc.gnu.org/";
- license = "GPL/LGPL";
- description = "GNU Compiler Collection, 3.3.x";
- };
-}
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
index b2444ebb9bf..42d9f29e2b5 100644
--- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix
+++ b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
@@ -4,6 +4,7 @@
, gmp ? null, mpfr ? null, bison ? null, flex ? null
}:
+assert false;
assert stdenv.isDarwin;
assert langF77 -> gmp != null;
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index 8528be07729..0f08a908bfd 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -474,6 +474,8 @@ stdenv.mkDerivation ({
# Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+
// optionalAttrs langVhdl rec {
name = "ghdl-0.29";
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 7166d325b31..c240acb5e89 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -526,4 +526,6 @@ stdenv.mkDerivation ({
# Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
)
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index d38040a48b3..ef7846fadd0 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -52,7 +52,7 @@ assert langGo -> langCC;
with stdenv.lib;
with builtins;
-let version = "4.9.1";
+let version = "4.9.2";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
@@ -153,7 +153,6 @@ let version = "4.9.1";
" --disable-libssp --disable-nls" +
" --without-headers" +
" --disable-threads " +
- " --disable-libmudflap " +
" --disable-libgomp " +
" --disable-libquadmath" +
" --disable-shared" +
@@ -206,7 +205,7 @@ stdenv.mkDerivation ({
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
- sha256 = "0zki3ngi0gsidnmsp88mjl2868cc7cm5wm1vwqw6znja28d7hd6k";
+ sha256 = "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810";
};
inherit patches;
@@ -513,4 +512,6 @@ stdenv.mkDerivation ({
# Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
)
diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix
index e9c69261fbc..f2252fe8381 100644
--- a/pkgs/development/compilers/gcl/default.nix
+++ b/pkgs/development/compilers/gcl/default.nix
@@ -17,11 +17,11 @@ assert a.stdenv.gcc.libc != null ;
rec {
src = a.fetchurl {
- sha256 = "177vz8z74mky5nrq6qlfvnzvb1prw8jmlv4cwfx8w7k3k818y1a4";
- url="http://gnu.spinellicreations.com/gcl/gcl-2.6.11.tar.gz";
+ sha256 = "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f";
+ url="http://gnu.spinellicreations.com/gcl/${name}.tar.gz";
};
- name = "gcl-2.6.11";
+ name = "gcl-2.6.12";
inherit buildInputs;
configureFlags = [
"--enable-ansi"
diff --git a/pkgs/development/compilers/gforth/default.nix b/pkgs/development/compilers/gforth/default.nix
index d710f672995..c6165bb5586 100644
--- a/pkgs/development/compilers/gforth/default.nix
+++ b/pkgs/development/compilers/gforth/default.nix
@@ -1,10 +1,27 @@
{ stdenv, fetchurl, m4 }:
-stdenv.mkDerivation rec {
- name = "gforth-0.7.3";
+let
+ version = "0.7.3";
+in
+stdenv.mkDerivation {
+ name = "gforth-${version}";
src = fetchurl {
- url = "http://ftp.gnu.org/gnu/gforth/gforth-0.7.3.tar.gz";
+ url = "http://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz";
sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
};
+
buildInputs = [ m4 ];
-}
\ No newline at end of file
+
+ postInstall = ''
+ mkdir -p $out/share/emacs/site-lisp
+ cp gforth.el $out/share/emacs/site-lisp/
+ '';
+
+ meta = {
+ description = "The Forth implementation of the GNU project";
+ homepage = https://www.gnu.org/software/gforth/;
+ license = stdenv.lib.licenses.gpl3;
+ platforms = stdenv.lib.platforms.all;
+ maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+ };
+}
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 7000081e5db..f6dc974227c 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
'' else "");
configurePhase = ''
- ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
+ ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
+ --with-clang
'';
# Stripping combined with patchelf breaks the executables (they die
diff --git a/pkgs/development/compilers/ghc/7.8.3-binary.nix b/pkgs/development/compilers/ghc/7.8.3-binary.nix
new file mode 100644
index 00000000000..f2c65c6ad05
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.8.3-binary.nix
@@ -0,0 +1,93 @@
+{stdenv, fetchurl, perl, ncurses, gmp}:
+
+stdenv.mkDerivation rec {
+ version = "7.8.3";
+
+ name = "ghc-${version}-binary";
+
+ src =
+ if stdenv.system == "i686-linux" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
+ sha256 = "0gny7knhss0w0d9r6jm1gghrcb8kqjvj94bb7hxf9syrk4fxlcxi";
+ }
+ else if stdenv.system == "x86_64-linux" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
+ sha256 = "043jabd0lh6n1zlqhysngbpvlsdznsa2mmsj08jyqgahw9sjb5ns";
+ }
+ else if stdenv.system == "i686-darwin" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2";
+ sha256 = "1vrbs3pzki37hzym1f1nh07lrqh066z3ypvm81fwlikfsvk4djc0";
+ }
+ else if stdenv.system == "x86_64-darwin" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
+ sha256 = "1ja0cq5xyjcvjpvjmm4nzhkpmwfs2kjlldbc48lxcs9rmqi7rnay";
+ }
+ else throw "cannot bootstrap GHC on this platform";
+
+ buildInputs = [perl];
+
+ postUnpack =
+ # Strip is harmful, see also below. It's important that this happens
+ # first. The GHC Cabal build system makes use of strip by default and
+ # has hardcoded paths to /usr/bin/strip in many places. We replace
+ # those below, making them point to our dummy script.
+ ''
+ mkdir "$TMP/bin"
+ for i in strip; do
+ echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
+ chmod +x "$TMP/bin/$i"
+ done
+ PATH="$TMP/bin:$PATH"
+ '' +
+ # We have to patch the GMP paths for the integer-gmp package.
+ ''
+ find . -name integer-gmp.buildinfo \
+ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
+ '' +
+ # On Linux, use patchelf to modify the executables so that they can
+ # find editline/gmp.
+ (if stdenv.isLinux then ''
+ find . -type f -perm +100 \
+ -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+ --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
+ sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+ sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+ for prog in ld ar gcc strip ranlib; do
+ find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
+ done
+ '' else "");
+
+ configurePhase = ''
+ ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib \
+ --with-gmp-includes=${gmp}/include
+ '';
+
+ # Stripping combined with patchelf breaks the executables (they die
+ # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
+ dontStrip = true;
+
+ # No building is necessary, but calling make without flags ironically
+ # calls install-strip ...
+ buildPhase = "true";
+
+ postInstall =
+ ''
+ # Sanity check, can ghc create executables?
+ cd $TMP
+ mkdir test-ghc; cd test-ghc
+ cat > main.hs << EOF
+ module Main where
+ main = putStrLn "yes"
+ EOF
+ $out/bin/ghc --make main.hs
+ echo compilation ok
+ [ $(./main) == "yes" ]
+ '';
+
+ meta.license = stdenv.lib.licenses.bsd3;
+ meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
+}
diff --git a/pkgs/development/compilers/ghc/7.8.3.nix b/pkgs/development/compilers/ghc/7.8.3.nix
index dbcba36fa8f..9f5fc4b4e50 100644
--- a/pkgs/development/compilers/ghc/7.8.3.nix
+++ b/pkgs/development/compilers/ghc/7.8.3.nix
@@ -26,21 +26,19 @@ stdenv.mkDerivation rec {
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
'';
- configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
-
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" "--keep-file-symbols" ];
- meta = {
+ meta = with stdenv.lib; {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
- maintainers = [
- stdenv.lib.maintainers.marcweber
- stdenv.lib.maintainers.andres
- stdenv.lib.maintainers.simons
- ];
- inherit (ghc.meta) license platforms;
+ maintainers = [ maintainers.marcweber maintainers.andres maintainers.simons ];
+ inherit (ghc.meta) license;
+ # Filter old "i686-darwin" platform which is unsupported these days.
+ platforms = filter (x: elem x platforms.all) ghc.meta.platforms;
+ # Disable Darwin builds: .
+ hydraPlatforms = filter (x: !elem x platforms.darwin) meta.platforms;
};
}
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index a5b4aeaff39..c50a79b8474 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }:
stdenv.mkDerivation rec {
- version = "7.9.20140814";
+ version = "7.9.20141106";
name = "ghc-${version}";
src = fetchurl {
- url = "http://deb.haskell.org/dailies/2014-08-14/ghc_${version}.orig.tar.bz2";
- sha256 = "05vmlbzbfv72z570xmlh8n003z9xc4l5hixjqvczyyyisdvmyaa3";
+ url = "http://deb.haskell.org/dailies/2014-11-06/ghc_${version}.orig.tar.bz2";
+ sha256 = "1si8wx8a2lrg5ba13vwpisssxa3rcxi5a7fqxhgapa8d2i2w7gaz";
};
buildInputs = [ ghc perl gmp ncurses happy alex ];
diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix
index e54d12ef9c5..14ea73c2384 100644
--- a/pkgs/development/compilers/go/1.1.nix
+++ b/pkgs/development/compilers/go/1.1.nix
@@ -89,6 +89,7 @@ stdenv.mkDerivation {
'';
meta = {
+ branch = "1.1";
homepage = http://golang.org/;
description = "The Go Programming language";
license = "BSD";
diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix
index 8567337be0b..9f95ad59b77 100644
--- a/pkgs/development/compilers/go/1.2.nix
+++ b/pkgs/development/compilers/go/1.2.nix
@@ -79,10 +79,11 @@ stdenv.mkDerivation {
'';
meta = {
+ branch = "1.2";
homepage = http://golang.org/;
description = "The Go Programming language";
license = "BSD";
- maintainers = with stdenv.lib.maintainers; [ pierron viric wizeman ];
+ maintainers = with stdenv.lib.maintainers; [ pierron viric ];
platforms = stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix
index ca117baca78..3c465c3471f 100644
--- a/pkgs/development/compilers/go/1.3.nix
+++ b/pkgs/development/compilers/go/1.3.nix
@@ -8,8 +8,8 @@ let
loaderArm = "${glibc}/lib/ld-linux.so.3";
srcs = {
golang = fetchurl {
- url = https://storage.googleapis.com/golang/go1.3.2.src.tar.gz;
- sha256 = "1yq6xygc5lhn3b9d4sbddlf8dzi3wihyzjwyc8rhiwrb3hj8hx1y";
+ url = https://storage.googleapis.com/golang/go1.3.3.src.tar.gz;
+ sha1 = "b54b7deb7b7afe9f5d9a3f5dd830c7dede35393a";
};
tools = fetchhg {
url = https://code.google.com/p/go.tools/;
@@ -20,7 +20,7 @@ let
in
stdenv.mkDerivation {
- name = "go-1.3.2";
+ name = "go-1.3.3";
src = srcs.golang;
diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix
index b9a76a6f82b..e289ce14ee1 100644
--- a/pkgs/development/compilers/go/default.nix
+++ b/pkgs/development/compilers/go/default.nix
@@ -83,6 +83,7 @@ stdenv.mkDerivation {
'';
meta = {
+ branch = "1.0";
homepage = http://golang.org/;
description = "The Go Programming language";
license = "BSD";
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index 1873b58e802..c48e6d5a81e 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
};
buildInputs =
- [ cmake pkgconfig boost boost.lib libunwind mariadb libmemcached pcre
+ [ cmake pkgconfig boost libunwind mariadb libmemcached pcre
libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml
diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix
index 09245ba6d4b..973a07b1295 100644
--- a/pkgs/development/compilers/iasl/default.nix
+++ b/pkgs/development/compilers/iasl/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
meta = {
description = "Intel ACPI Compiler";
homepage = http://www.acpica.org/;
- license = "iasl"; # FIXME: is this a free software license?
+ license = stdenv.lib.licenses.iasl;
};
}
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix
index c9697bac36c..34e025c62dd 100644
--- a/pkgs/development/compilers/icedtea-web/default.nix
+++ b/pkgs/development/compilers/icedtea-web/default.nix
@@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
name = "icedtea-web-${version}";
- version = "1.5";
+ version = "1.5.2";
src = fetchurl {
url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
- sha256 = "0bbwa944kaam0r8ldlqrrj9z9zj54v6zdc3q663ck59shw5z828w";
+ sha256 = "1wrvl66qj0yhaqqhcq24005ci5sc3w005809cld55iiwagr8z7mj";
};
buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ];
diff --git a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
index 8931c122538..731a8d07548 100644
--- a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
+++ b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
@@ -1,7 +1,8 @@
-diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
---- openjdk-orig/jdk/make/sun/awt/mawt.gmk 2012-08-28 19:13:16.000000000 -0400
-+++ openjdk/jdk/make/sun/awt/mawt.gmk 2013-01-22 11:56:22.315418708 -0500
-@@ -234,12 +234,6 @@
+diff --git openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
+index c6ab06d..23a14da 100644
+--- openjdk-orig/jdk/make/sun/awt/mawt.gmk
++++ openjdk/jdk/make/sun/awt/mawt.gmk
+@@ -270,12 +270,6 @@ LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
endif # !HEADLESS
endif # PLATFORM
@@ -11,6 +12,6 @@ diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.
- $(wildcard /usr/include/X11/extensions))
-endif
-
- ifeq ($(PLATFORM), macosx))
+ ifeq ($(PLATFORM), macosx)
CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
-I$(OPENWIN_HOME)/include
diff --git a/pkgs/development/compilers/icedtea/default.nix b/pkgs/development/compilers/icedtea/default.nix
index 56c9e69c9a4..15cf616cc30 100644
--- a/pkgs/development/compilers/icedtea/default.nix
+++ b/pkgs/development/compilers/icedtea/default.nix
@@ -24,7 +24,7 @@ let
defSrc = name:
with (builtins.getAttr name srcInfo.bundles); fetchurl {
inherit url sha256;
- name = "${pkgName}-${name}-${baseNameOf url}";
+ name = "${pkgName}-${baseNameOf url}";
};
bundleNames = builtins.attrNames srcInfo.bundles;
diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix
index 098f774b66c..2be55870ea7 100644
--- a/pkgs/development/compilers/icedtea/sources.nix
+++ b/pkgs/development/compilers/icedtea/sources.nix
@@ -1,55 +1,47 @@
# This file is autogenerated from update.py in the same directory.
{
icedtea7 = rec {
- branch = "2.4";
- version = "${branch}.7";
+ version = "2.5.3";
url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz";
- sha256 = "17a58wcxvg0dd7ka99k819ci6bga2b9l8kp67fq8z3w0yyz76sdn";
+ sha256 = "1w7i6j4wmg2ixv7d24mad6gphspnkb9w30azjdp4jqn2zqn95wpl";
- hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}";
+ common_url = "http://icedtea.classpath.org/download/drops/icedtea7/${version}";
bundles = {
openjdk = rec {
- changeset = "13970e76b784";
- url = "${hg_url}/archive/${changeset}.tar.gz";
- sha256 = "bcd45546509defc439f42f230c0ca64e8aa6ec00542c3634aab3a4c10be3fe6b";
+ url = "${common_url}/openjdk.tar.bz2";
+ sha256 = "3ba1a30762f5d5890e8ee6af11f52213ab9c574c01f07c75a081c42034f5d5c9";
};
corba = rec {
- changeset = "e6ad5b912691";
- url = "${hg_url}/corba/archive/${changeset}.tar.gz";
- sha256 = "cc37272df260d08207c84763d4c39d7807728ba2d5908276b9bc63e925e70674";
+ url = "${common_url}/corba.tar.bz2";
+ sha256 = "8ceb2cd60782b7fc14b88e3d366f273873fa5436cf0e36b86406c0905b7dc43c";
};
jaxp = rec {
- changeset = "94b7e8e0d96f";
- url = "${hg_url}/jaxp/archive/${changeset}.tar.gz";
- sha256 = "3515cd105c29563bf78432576e658005386f45d7c3b2b7eac7af86cf196aaaea";
+ url = "${common_url}/jaxp.tar.bz2";
+ sha256 = "2d13a82078f3f2b8831d1e670e5e75719336a56490df64f16ab7647674a272ef";
};
jaxws = rec {
- changeset = "bd9a50a78d04";
- url = "${hg_url}/jaxws/archive/${changeset}.tar.gz";
- sha256 = "3e107628080d84a80a78ef0ef9dc3664989291dd17c8bacf031d59fba7bd7f4d";
+ url = "${common_url}/jaxws.tar.bz2";
+ sha256 = "5a63d85307203f1aed1e31459ad5e32687909e0640d424ff6f540d9b1cceeb1e";
};
jdk = rec {
- changeset = "9448fff93286";
- url = "${hg_url}/jdk/archive/${changeset}.tar.gz";
- sha256 = "9222e5317264f20d4a0b8170b4c4d02459cda98333c18e3a75064e7856ff58be";
+ url = "${common_url}/jdk.tar.bz2";
+ sha256 = "40c4dda969be0ecd213e79269184e19cfc32100b83777dc529b3cf4b6aa3e12f";
};
langtools = rec {
- changeset = "8c26a3c39128";
- url = "${hg_url}/langtools/archive/${changeset}.tar.gz";
- sha256 = "5af29e32344e2f2fc0beb31f91b8312f2a0d6d02c53b4cb700ee2e27bcf1043b";
+ url = "${common_url}/langtools.tar.bz2";
+ sha256 = "516f6c21719f4b5a2092847c147cde7890c5a30d4aed9425ff667c0164ef1dd0";
};
hotspot = rec {
- changeset = "69b542696e5b";
- url = "${hg_url}/hotspot/archive/${changeset}.tar.gz";
- sha256 = "e3bbed298ed7c77169fdfddc47cdb85c62ef2e5e7ea04ca28aa8779861efca65";
+ url = "${common_url}/hotspot.tar.bz2";
+ sha256 = "8c8e1f7e97f47fe4029e0b0ba42b3515474adabe64e1fbee15c0e2e22a13aa28";
};
};
};
diff --git a/pkgs/development/compilers/icedtea/update.py b/pkgs/development/compilers/icedtea/update.py
index ba3c5fc51ad..c41cf3d38d2 100755
--- a/pkgs/development/compilers/icedtea/update.py
+++ b/pkgs/development/compilers/icedtea/update.py
@@ -3,7 +3,7 @@
import subprocess, urllib.request, re, os, tarfile
from html.parser import HTMLParser
-HG_URL = 'http://icedtea.classpath.org/hg/release/icedtea{}-forest-{}'
+URL = 'http://icedtea.classpath.org/download/drops/icedtea{}/{}'
DOWNLOAD_URL = 'http://icedtea.wildebeest.org/download/source/'
DOWNLOAD_HTML = DOWNLOAD_URL + '?C=M;O=D'
@@ -81,7 +81,7 @@ def get_latest_version_url(major):
def get_old_bundle_attrs(jdk, bundle):
attrs = {}
- for attr in ('changeset', 'url', 'sha256'):
+ for attr in ('url', 'sha256'):
attrs[attr] = get_jdk_attr(jdk, 'bundles.{}.{}'.format(bundle, attr))
return attrs
@@ -89,7 +89,7 @@ def get_old_bundle_attrs(jdk, bundle):
def get_old_attrs(jdk):
attrs = {}
- for attr in ('branch', 'version', 'url', 'sha256'):
+ for attr in ('version', 'url', 'sha256'):
attrs[attr] = get_jdk_attr(jdk, attr)
attrs['bundles'] = {}
@@ -128,8 +128,8 @@ def get_new_bundle_attr(makefile, bundle, attr):
return m.group(1)
-def get_new_bundle_attrs(jdk, branch, path):
- hg_url = HG_URL.format(jdk, branch)
+def get_new_bundle_attrs(jdk, version, path):
+ url = URL.format(jdk, version)
attrs = {}
@@ -137,31 +137,22 @@ def get_new_bundle_attrs(jdk, branch, path):
tar = tarfile.open(name = path, mode = 'r:xz')
makefile = get_member_file(tar, 'Makefile.am')
- hotspot_map = get_member_file(tar, 'hotspot.map')
+ hotspot_map = get_member_file(tar, 'hotspot.map.in')
+
+ hotspot_map = hotspot_map.replace('@ICEDTEA_RELEASE@', version)
for bundle in BUNDLES:
battrs = {}
+ battrs['url'] = '{}/{}.tar.bz2'.format(url, bundle)
if bundle == 'hotspot':
- m = re.search(r'^default (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE)
+ m = re.search(r'^default (.*?) (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE)
if m == None:
- raise Exception('Could not find info for hotspot bundle in hotspot.map')
+ raise Exception('Could not find info for hotspot bundle in hotspot.map.in')
- battrs['url'] = '{}/archive/{}.tar.gz'.format(m.group(1), m.group(2))
- battrs['changeset'] = m.group(2)
- battrs['sha256'] = m.group(3)
-
- attrs[bundle] = battrs
- continue
-
- changeset = get_new_bundle_attr(makefile, bundle, 'changeset')
- battrs['changeset'] = changeset
- battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum')
-
- if bundle == 'openjdk':
- battrs['url'] = '{}/archive/{}.tar.gz'.format(hg_url, changeset)
+ battrs['sha256'] = m.group(4)
else:
- battrs['url'] = '{}/{}/archive/{}.tar.gz'.format(hg_url, bundle, changeset)
+ battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum')
attrs[bundle] = battrs
@@ -193,7 +184,6 @@ def get_new_attrs(jdk):
print('Update available, generating new attributes for JDK {}...'.format(jdk))
attrs['version'] = version
- attrs['branch'] = '.'.join(version.split('.')[:2])
attrs['url'] = url
print('Downloading tarball from url "{}"...'.format(url))
@@ -203,7 +193,7 @@ def get_new_attrs(jdk):
print('Inspecting tarball for bundle information...')
- attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['branch'], path)
+ attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['version'], path)
print('Done!')
@@ -212,21 +202,19 @@ def get_new_attrs(jdk):
def generate_jdk(jdk):
attrs = get_new_attrs(jdk)
- branch = attrs['branch']
- src_version = attrs['version'].replace(branch, '${branch}')
- src_url = attrs['url'].replace(attrs['version'], '${version}')
+ version = attrs['version']
+ src_url = attrs['url'].replace(version, '${version}')
- hg_url = HG_URL.format(jdk, branch)
- src_hg_url = HG_URL.format(jdk, '${branch}')
+ common_url = URL.format(jdk, version)
+ src_common_url = URL.format(jdk, '${version}')
src = ' icedtea{} = rec {{\n'.format(jdk)
- src += ' branch = "{}";\n'.format(branch)
- src += ' version = "{}";\n'.format(src_version)
+ src += ' version = "{}";\n'.format(version)
src += '\n'
src += ' url = "{}";\n'.format(src_url)
src += ' sha256 = "{}";\n'.format(attrs['sha256'])
src += '\n'
- src += ' hg_url = "{}";\n'.format(src_hg_url)
+ src += ' common_url = "{}";\n'.format(src_common_url)
src += '\n'
src += ' bundles = {\n'
@@ -234,11 +222,9 @@ def generate_jdk(jdk):
battrs = attrs['bundles'][bundle]
b_url = battrs['url']
- b_url = b_url.replace(hg_url, '${hg_url}')
- b_url = b_url.replace(battrs['changeset'], '${changeset}')
+ b_url = b_url.replace(common_url, '${common_url}')
src += ' {} = rec {{\n'.format(bundle)
- src += ' changeset = "{}";\n'.format(battrs['changeset'])
src += ' url = "{}";\n'.format(b_url)
src += ' sha256 = "{}";\n'.format(battrs['sha256'])
src += ' };\n'
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 2af8ec1b022..16bf3bdeb95 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,31 +1,30 @@
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
{ cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint
-, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc, Cabal
+, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc
, cheapskate, deepseq, filepath, fingertree, gmp, happy, haskeline
-, languageJava, lens, libffi, llvmGeneral, llvmGeneralPure, mtl
-, network, optparseApplicative, parsers, split, text, time
-, transformers, trifecta, unorderedContainers, utf8String, vector
-, vectorBinaryInstances, xml, zlib
+, lens, libffi, mtl, network, optparseApplicative, parsers, split
+, text, time, transformers, trifecta, unorderedContainers
+, utf8String, vector, vectorBinaryInstances, xml, zlib
}:
cabal.mkDerivation (self: {
pname = "idris";
- version = "0.9.14.3";
- sha256 = "03zppfqjamy4mdwcfx3x1wzxav67ha1zgnynrxhvdqw3zcsrwnlr";
+ version = "0.9.15.1";
+ sha256 = "0r31jcqs9kgknm66v7bbcgj9md7z49sgvn0nhk1dwg8jj2rmfll8";
isLibrary = true;
isExecutable = true;
buildDepends = [
annotatedWlPprint ansiTerminal ansiWlPprint base64Bytestring binary
- blazeHtml blazeMarkup Cabal cheapskate deepseq filepath fingertree
- haskeline languageJava lens libffi llvmGeneral llvmGeneralPure mtl
- network optparseApplicative parsers split text time transformers
- trifecta unorderedContainers utf8String vector
- vectorBinaryInstances xml zlib
+ blazeHtml blazeMarkup cheapskate deepseq filepath fingertree
+ haskeline lens libffi mtl network optparseApplicative parsers split
+ text time transformers trifecta unorderedContainers utf8String
+ vector vectorBinaryInstances xml zlib
];
buildTools = [ happy ];
extraLibraries = [ boehmgc gmp ];
- configureFlags = "-fllvm -fgmp -fffi";
+ configureFlags = "-fgmp -fffi";
+ jailbreak = true;
meta = {
homepage = "http://www.idris-lang.org/";
description = "Functional Programming Language with Dependent Types";
diff --git a/pkgs/development/compilers/julia/0.2.1.nix b/pkgs/development/compilers/julia/0.2.1.nix
index f7d20a1e01f..b701558efe0 100644
--- a/pkgs/development/compilers/julia/0.2.1.nix
+++ b/pkgs/development/compilers/julia/0.2.1.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "git://github.com/JuliaLang/julia.git";
- rev = "e44b5939057d87c1e854077108a1a6d66203f4fa";
+ rev = "refs/tags/v${version}";
sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a";
};
@@ -79,6 +79,7 @@ stdenv.mkDerivation rec {
do
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
done
+ makeFlags="$makeFlags JULIA_CPU_TARGET=core2";
copy_kill_hash(){
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
diff --git a/pkgs/development/compilers/julia/0.3.0.nix b/pkgs/development/compilers/julia/0.3.3.nix
similarity index 76%
rename from pkgs/development/compilers/julia/0.3.0.nix
rename to pkgs/development/compilers/julia/0.3.3.nix
index 3259fee55bf..10441fd785a 100644
--- a/pkgs/development/compilers/julia/0.3.0.nix
+++ b/pkgs/development/compilers/julia/0.3.3.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
- , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
+ , ncurses, libunistring, patchelf, openblas, liblapack
, tcl, tk, xproto, libX11, git, mpfr, which
} :
@@ -11,63 +11,60 @@ let
in
stdenv.mkDerivation rec {
pname = "julia";
- version = "0.3.0";
+ version = "0.3.3";
name = "${pname}-${version}";
dsfmt_ver = "2.2";
grisu_ver = "1.1.1";
- openblas_ver = "v0.2.10";
+ openblas_ver = "v0.2.12";
lapack_ver = "3.5.0";
arpack_ver = "3.1.5";
- lighttpd_ver = "1.4.29";
- patchelf_ver = "0.6";
- pcre_ver = "8.31";
+ patchelf_ver = "0.8";
+ pcre_ver = "8.36";
utf8proc_ver = "1.1.6";
dsfmt_src = fetchurl {
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
name = "dsfmt-${dsfmt_ver}.tar.gz";
- sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
+ md5 = "cb61be3be7254eae39684612c524740d";
};
grisu_src = fetchurl {
url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
- sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
+ md5 = "29b533ed4311161267bff1a9a97e2953";
};
openblas_src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
name = "openblas-${openblas_ver}.tar.gz";
- sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za";
+ md5 = "dfc868e0c134855639f036d2723bf4be";
};
arpack_src = fetchurl rec {
- url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${arpack_ver}.tar.gz";
- sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2";
+ url = "https://github.com/opencollab/arpack-ng/archive/${arpack_ver}.tar.gz";
+ md5 = "d84e1b6108d9ee67c0d21aba7099e953";
+ name = "arpack-ng-${arpack_ver}.tar.gz";
};
lapack_src = fetchurl {
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
name = "lapack-${lapack_ver}.tgz";
- sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s";
- };
- lighttpd_src = fetchurl {
- url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
- sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
+ md5 = "b1d3e3e425b2e44a06760ff173104bdf";
};
patchelf_src = fetchurl {
url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
- sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
+ md5 = "5087261514b4b5814a39c3d3a36eb6ef";
};
pcre_src = fetchurl {
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
- sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
+ md5 = "b767bc9af0c20bc9c1fe403b0d41ad97";
};
utf8proc_src = fetchurl {
url = "http://www.public-software-group.org/pub/projects/utf8proc/v${utf8proc_ver}/utf8proc-v${utf8proc_ver}.tar.gz";
- sha256 = "1rwr84pw92ajjlbcxq0da7yxgg3ijngmrj7vhh2qzsr2h2kqzp7y";
+ md5 = "2462346301fac2994c34f5574d6c3ca7";
};
src = fetchgit {
url = "git://github.com/JuliaLang/julia.git";
- rev = "refs/tags/v0.3.0";
- sha256 = "1h7icqjiccw26f81r1zwsv31kk6yhavn038h7jp63iv5sdzh5r8i";
+ rev = "refs/tags/v${version}";
+ md5 = "84266f0201ad34abe8ca1474620fe891";
+ name = "julia-git-v${version}";
};
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
@@ -76,10 +73,11 @@ stdenv.mkDerivation rec {
];
configurePhase = ''
- for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
+ for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK ZLIB MPFR;
do
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
done
+ makeFlags="$makeFlags JULIA_CPU_TARGET=core2";
copy_kill_hash(){
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
@@ -142,10 +140,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
- postInstall = ''
- rm -f "$out"/lib/julia/sys.{so,dylib,dll}
- '';
-
meta = {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "http://julialang.org/";
diff --git a/pkgs/development/compilers/julia/git-20131013.nix b/pkgs/development/compilers/julia/git-20131013.nix
deleted file mode 100644
index ae550f5692d..00000000000
--- a/pkgs/development/compilers/julia/git-20131013.nix
+++ /dev/null
@@ -1,140 +0,0 @@
-{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
- , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
- , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
- , tcl, tk, xproto, libX11, git, mpfr
- } :
-let
- realGcc = stdenv.gcc.gcc;
-in
-stdenv.mkDerivation rec {
- pname = "julia";
- date = "20131013";
- name = "${pname}-git-${date}";
-
- grisu_ver = "1.1.1";
- dsfmt_ver = "2.2";
- openblas_ver = "v0.2.2";
- lapack_ver = "3.4.1";
- arpack_ver = "3.1.3";
- clp_ver = "1.14.5";
- lighttpd_ver = "1.4.29";
- patchelf_ver = "0.6";
- pcre_ver = "8.31";
-
- grisu_src = fetchurl {
- url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
- sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
- };
- dsfmt_src = fetchurl {
- url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
- name = "dsfmt-${dsfmt_ver}.tar.gz";
- sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
- };
- openblas_src = fetchurl {
- url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
- name = "openblas-${openblas_ver}.tar.gz";
- sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
- };
- arpack_src = fetchurl {
- url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
- name = "arpack-ng-${arpack_ver}.tar.gz";
- sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
- };
- lapack_src = fetchurl {
- url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
- name = "lapack-${lapack_ver}.tgz";
- sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
- };
- clp_src = fetchurl {
- url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
- name = "clp-${clp_ver}.tar.gz";
- sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817";
- };
- lighttpd_src = fetchurl {
- url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
- sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
- };
- patchelf_src = fetchurl {
- url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
- sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
- };
- pcre_src = fetchurl {
- url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
- sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
- };
-
- src = fetchgit {
- url = "git://github.com/JuliaLang/julia.git";
- rev = "76d2b87a45fff637473c4c342c9f5f9387675fda";
- sha256 = "079g44r27lv0wsfbg84ihrmgzl73djjjr41xjiaqdph55zqfbn4f";
- };
-
- buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
- fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
- openblas liblapack tcl tk xproto libX11 git mpfr
- ];
-
- configurePhase = ''
- for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
- do
- makeFlags="$makeFlags USE_SYSTEM_$i=1 "
- done
-
- copy_kill_hash(){
- cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
- }
-
- for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
- copy_kill_hash "$i" deps
- done
- copy_kill_hash "${dsfmt_src}" deps/random
-
- ${if realGcc ==null then "" else
- ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
-
- export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
-
- export GLPK_PREFIX="${glpk}/include"
-
- mkdir -p "$out/lib"
- sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
- sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
-
- export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
-
- export dontPatchELF=1
-
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
- '';
-
- preBuild = ''
- mkdir -p usr/lib
-
- echo "$out"
- mkdir -p "$out/lib"
- (
- cd "$(mktemp -d)"
- for i in "${suitesparse}"/lib/lib*.a; do
- ar -x $i
- done
- gcc *.o --shared -o "$out/lib/libsuitesparse.so"
- )
- cp "$out/lib/libsuitesparse.so" usr/lib
- for i in umfpack cholmod amd camd colamd spqr; do
- ln -s libsuitesparse.so "$out"/lib/lib$i.so;
- ln -s libsuitesparse.so "usr"/lib/lib$i.so;
- done
- '';
-
- preInstall = ''
- '';
-
- meta = {
- description = "High-level performance-oriented dynamical language for technical computing";
- homepage = "http://julialang.org/";
- license = stdenv.lib.licenses.mit;
- maintainers = [ stdenv.lib.maintainers.raskin ];
- platforms = with stdenv.lib.platforms; linux;
- };
-}
diff --git a/pkgs/development/compilers/lessc/default.nix b/pkgs/development/compilers/lessc/default.nix
index 266e9eb5255..82052b3d3ca 100644
--- a/pkgs/development/compilers/lessc/default.nix
+++ b/pkgs/development/compilers/lessc/default.nix
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "lessc-${version}";
- version = "1.4.2";
+ version = "1.7.5"; # Upgrade to > 2.x breaks twitter-bootstrap
src = fetchgit {
url = https://github.com/less/less.js.git;
rev = "refs/tags/v${version}";
- sha256 = "1v3b4f1np3mxkj0irh1pk52r26nzpf4k2ax14cbn7mxx16mqjp50";
+ sha256 = "0r8bcad247v5fyh543a7dppmfbf49ai4my3vcizk42fsbnjs8q2x";
};
phases = [ "installPhase" ];
diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix
index 6ec3f7bf44a..fc33a7809a6 100644
--- a/pkgs/development/compilers/llvm/3.4/clang.nix
+++ b/pkgs/development/compilers/llvm/3.4/clang.nix
@@ -1,5 +1,9 @@
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+# be sure not to rebuild clang on darwin; some packages request it specifically
+# we need to fix those
+assert stdenv.isDarwin -> stdenv.gcc.nativeTools;
+
stdenv.mkDerivation {
name = "clang-${version}";
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index fbc881fc8e0..d3beb2e7461 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -27,7 +27,10 @@ in stdenv.mkDerivation rec {
mv compiler-rt-* $sourceRoot/projects/compiler-rt
'';
- buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+ buildInputs =
+ [ perl groff cmake libxml2 libffi ]
+ ++ stdenv.lib.optional (!stdenv.isDarwin) python /*
+ ++ stdenv.lib.optional stdenv.isLinux valgrind */;
propagatedBuildInputs = [ ncurses zlib ];
@@ -65,6 +68,5 @@ in stdenv.mkDerivation rec {
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
platforms = stdenv.lib.platforms.all;
- broken = stdenv.isDarwin;
};
}
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 1b9e9118d56..e098f48a24c 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
description = "Cross platform, open source .NET development framework";
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice ];
- license = "free"; # Combination of LGPL/X11/GPL ?
+ license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ?
};
}
diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix
new file mode 100644
index 00000000000..bcaf917b3c3
--- /dev/null
+++ b/pkgs/development/compilers/mozart/binary.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, bash, makeWrapper, coreutils, emacs, tcl, tk, boost, gmp, cacert }:
+
+assert stdenv.isLinux;
+
+let
+ version = "2.0.0";
+in
+stdenv.mkDerivation {
+ name = "mozart-binary-${version}";
+
+ src = fetchurl {
+ url = "http://sourceforge.net/projects/mozart-oz/files/v${version}-alpha.0/mozart2-${version}-alpha.0+build.4105.5c06ced-x86_64-linux.tar.gz";
+ sha256 = "0rsfrjimjxqbwprpzzlmydl3z3aiwg5qkb052jixdxjyad7gyh5z";
+ };
+
+ libPath = stdenv.lib.makeLibraryPath
+ [stdenv.gcc.gcc emacs tk tcl boost gmp];
+
+ builder = ./builder.sh;
+
+ buildInputs = [ makeWrapper ];
+
+ meta = with stdenv.lib; {
+ homepage = "http://www.mozart-oz.org/";
+ description = "Multiplatform implementation of the Oz programming language";
+ longDescription = ''
+ The Mozart Programming System combines ongoing research in
+ programming language design and implementation, constraint logic
+ programming, distributed computing, and human-computer
+ interfaces. Mozart implements the Oz language and provides both
+ expressive power and advanced functionality.
+ '';
+ license = licenses.mit;
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/pkgs/development/compilers/mozart/builder.sh b/pkgs/development/compilers/mozart/builder.sh
new file mode 100644
index 00000000000..58fe9a8effe
--- /dev/null
+++ b/pkgs/development/compilers/mozart/builder.sh
@@ -0,0 +1,24 @@
+source $stdenv/setup
+
+echo "unpacking $src..."
+tar xvfz $src
+
+mkdir -p $out/bin
+mkdir -p $out/share
+
+mv mozart*linux/bin/* $out/bin
+mv mozart*linux/share/* $out/share
+
+patchShebangs $out
+
+for f in $out/bin/*; do
+ b=$(basename $f)
+ if [ $b == "ozemulator" ] || [ $b == "ozwish" ]; then
+ patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+ --set-rpath $libPath \
+ $f
+ continue;
+ fi
+ wrapProgram $f \
+ --set OZHOME $out
+done
diff --git a/pkgs/development/compilers/mozart/default.nix b/pkgs/development/compilers/mozart/default.nix
deleted file mode 100644
index d649ef46918..00000000000
--- a/pkgs/development/compilers/mozart/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, flex, bison, perl, gmp, zlib, tcl, tk, gdbm, m4, x11, emacs}:
-
-stdenv.mkDerivation {
- name = "mozart-1.4.0";
- src = fetchurl {
- url = http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-src.tar.gz;
- sha256 = "5da73d80b5aa7fa42edca64159a1a076323f090e5c548f3747f94d0afc60b223";
- };
-
- buildInputs = [flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs];
-
- # micq gives a compile error for me
- configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib --disable-contrib-micq";
-}
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index 8219882a2a2..fad8a584ed2 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -2,16 +2,17 @@
stdenv.mkDerivation rec {
name = "nasm-${version}";
- version = "2.11.05";
-
+ version = "2.11.05"; # do not update until syslinux is fixed with that version
+
src = fetchurl {
url = "http://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2";
sha256 = "1sgspnascc0asmwlv3jm1mq4vzx653sa7vlg48z20pfybk7pnhaa";
};
- meta = {
+ meta = with stdenv.lib; {
homepage = http://www.nasm.us/;
description = "An 80x86 and x86-64 assembler designed for portability and modularity";
- platforms = stdenv.lib.platforms.unix;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ pSub ];
};
}
diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix
index 1d68585d93a..69a6a1f5f67 100644
--- a/pkgs/development/compilers/ocaml/3.10.0.nix
+++ b/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -1,9 +1,9 @@
{ stdenv, fetchurl, x11, ncurses }:
stdenv.mkDerivation (rec {
-
+
name = "ocaml-3.10.0";
-
+
src = fetchurl {
url = "http://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2";
sha256 = "1ihmx1civ78s7k2hfc05z1s9vbyx2qw7fg8lnbxnfd6zxkk8878d";
@@ -13,7 +13,7 @@ stdenv.mkDerivation (rec {
configureFlags = ["-no-tk" "-x11lib" x11];
buildFlags = "world bootstrap world.opt";
buildInputs = [x11 ncurses];
- installTargets = "install installopt";
+ installTargets = "install installopt";
patchPhase = ''
CAT=$(type -tp cat)
sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
@@ -25,7 +25,7 @@ stdenv.mkDerivation (rec {
meta = {
homepage = http://caml.inria.fr/ocaml;
- license = "QPL, LGPL2 (library part)";
+ license = with stdenv.lib.licenses; [ qpl lgpl2 ];
description = "Most popular variant of the Caml language";
};
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index 16c3cb1d787..6488d94cc08 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://caml.inria.fr/ocaml;
+ branch = "3.12";
license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
description = "Most popular variant of the Caml language";
diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix
index 5b1e69b86b0..4e888e14322 100644
--- a/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://caml.inria.fr/ocaml;
+ branch = "4.00";
license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
description = "Most popular variant of the Caml language";
diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix
index 2876bce9caf..d178285834f 100644
--- a/pkgs/development/compilers/ocaml/4.01.0.nix
+++ b/pkgs/development/compilers/ocaml/4.01.0.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
sha256 = "b1ca708994180236917ae79e17606da5bd334ca6acd6873a550027e1c0ec874a";
};
+ patches = [ ./fix-clang-build-on-osx.diff ];
+
prefixKey = "-prefix ";
configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib
"-x11include" x11inc ];
@@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://caml.inria.fr/ocaml;
+ branch = "4.01";
license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
description = "Most popular variant of the Caml language";
diff --git a/pkgs/development/compilers/ocaml/4.02.0.nix b/pkgs/development/compilers/ocaml/4.02.1.nix
similarity index 95%
rename from pkgs/development/compilers/ocaml/4.02.0.nix
rename to pkgs/development/compilers/ocaml/4.02.1.nix
index b6753cc6297..18f9d373650 100644
--- a/pkgs/development/compilers/ocaml/4.02.0.nix
+++ b/pkgs/development/compilers/ocaml/4.02.1.nix
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
x11lib = x11env + "/lib";
x11inc = x11env + "/include";
- name = "ocaml-4.02.0";
+ name = "ocaml-4.02.1";
src = fetchurl {
url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz";
- sha256 = "1ml5r8vzbwqhnq8jlps6jfgf0vym4nyrnr95mrbym6v5j2gabmw7";
+ sha256 = "1p7lqvh64xpykh99014mz21q8fs3qyjym2qazhhbq8scwldv1i38";
};
prefixKey = "-prefix ";
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://caml.inria.fr/ocaml;
+ branch = "4.02";
license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
description = "Most popular variant of the Caml language";
diff --git a/pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff b/pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff
new file mode 100644
index 00000000000..d7d9c863858
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff
@@ -0,0 +1,20 @@
+diff --git a/configure b/configure
+index d45e88f..25d872b 100755
+--- a/configure
++++ b/configure
+@@ -322,7 +322,14 @@ case "$bytecc,$target" in
+ bytecccompopts="-fno-defer-pop $gcc_warnings -DSHRINKED_GNUC"
+ mathlib="";;
+ *,*-*-darwin*)
+- bytecccompopts="-fno-defer-pop $gcc_warnings"
++ # On recent version of OSX, gcc is a symlink to clang
++ if $bytecc --version | grep -q clang; then
++ # -fno-defer-pop is not supported by clang, and make recent
++ # versions of clang to fail
++ bytecccompopts="$gcc_warnings"
++ else
++ bytecccompopts="-fno-defer-pop $gcc_warnings"
++ fi
+ mathlib=""
+ mkexe="$mkexe -Wl,-no_compact_unwind"
+ # Tell gcc that we can use 32-bit code addresses for threaded code
diff --git a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
index 4313dcd7537..9b340f69e90 100644
--- a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
@@ -1,9 +1,9 @@
{ stdenv, fetchurl, x11, ncurses }:
stdenv.mkDerivation (rec {
-
+
name = "metaocaml-3.09-alpha-30";
-
+
src = fetchurl {
url = "http://www.metaocaml.org/dist/old/MetaOCaml_309_alpha_030.tar.gz";
sha256 = "0migbn0zwfb7yb24dy7qfqi19sv3drqcv4369xi7xzpds2cs35fd";
@@ -13,7 +13,7 @@ stdenv.mkDerivation (rec {
configureFlags = ["-no-tk" "-x11lib" x11];
buildFlags = "world bootstrap world.opt";
buildInputs = [x11 ncurses];
- installTargets = "install installopt";
+ installTargets = "install installopt";
patchPhase = ''
CAT=$(type -tp cat)
sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
@@ -25,7 +25,7 @@ stdenv.mkDerivation (rec {
meta = {
homepage = http://www.metaocaml.org/;
- license = "QPL, LGPL2 (library part)";
+ license = with stdenv.lib.licenses; [ qpl lgpl2 ];
desctiption = "A compiled, type-safe, multi-stage programming language";
};
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index c25080229ff..f0b503bd0be 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -1,32 +1,25 @@
-{ stdenv, fetchurl, which, ocaml, perl, jdk
-, findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
-, ocamlgraph, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake, nodejs, git } :
+{ stdenv, fetchgit, which, perl, jdk
+, ocamlPackages, openssl
+, coreutils, zlib, ncurses, makeWrapper
+, gcc, binutils, gnumake, nodejs} :
stdenv.mkDerivation rec {
pname = "opa";
- version = "4308";
+ version = "4309";
name = "${pname}-${version}";
- src = fetchurl {
- url = "https://github.com/MLstate/opalang/tarball/v${version}";
- name = "opa-${version}.tar.gz";
- sha256 = "1farii9474i14ack6bpqm1jihs6i8pvwky3a7q8v8pbnl4i6lb5g";
+ src = fetchgit {
+ url = https://github.com/MLstate/opalang.git;
+ rev = "047f58bfd4be35ee30176156b3718c707a6c0f76";
+ sha256 = "1jbxfrmpbjjk7qvaxdn47044w5m8wr96q9yx65ib3wlapmjbvdvf";
};
# Paths so the opa compiler code generation will use the same programs as were
# used to build opa.
- codeGeneratorPaths = "${ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin";
-
- prePatch = ''
- find . -type f -exec sed -i 's@/usr/bin/env@${coreutils}/bin/env@' {} \;
- find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
- '';
-
- patches = [];
+ codeGeneratorPaths = "${ocamlPackages.ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin:${nodejs}/bin";
preConfigure = ''
- configureFlags="$configureFlags -prefix $out"
+ patchShebangs .
(
cat ./compiler/buildinfos/buildInfos.ml.pre
./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt
@@ -36,14 +29,17 @@ stdenv.mkDerivation rec {
)> ./compiler/buildinfos/buildInfos.ml
'';
- dontAddPrefix = true;
+ prefixKey = "-prefix ";
- configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind ";
+ configureFlags = "-ocamlfind ${ocamlPackages.findlib}/bin/ocamlfind ";
- buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
- ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake
- nodejs git
- ];
+ buildInputs = [ which perl jdk openssl coreutils zlib ncurses
+ makeWrapper gcc binutils gnumake nodejs
+ ] ++ (with ocamlPackages; [
+ ocaml findlib ocaml_ssl cryptokit camlzip ulex ocamlgraph
+ ]);
+
+ NIX_LDFLAGS = "-lgcc_s";
postInstall = ''
# Have compiler use same tools for code generation as used to build it.
@@ -53,7 +49,7 @@ stdenv.mkDerivation rec {
# Install emacs mode.
mkdir -p $out/share/emacs/site-lisp/opa
- install -m 0644 -v ./utils/emacs/{opa-mode.el,site-start.el} $out/share/emacs/site-lisp/opa
+ install -m 0644 -v ./tools/editors/emacs/{opa-mode.el,site-start.el} $out/share/emacs/site-lisp/opa
'';
meta = {
@@ -66,15 +62,6 @@ stdenv.mkDerivation rec {
homepage = http://opalang.org/;
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.kkallio ];
- platforms = [ "x86_64-linux" ];
- # File "compiler/libqmlcompil/dbGen/schema_io.ml", line 199, characters 3-53:
- # Error: Signature mismatch:
- # ...
- # The field `remove_edge_e' is required but not provided
- # The field `remove_edge' is required but not provided
- # The field `remove_vertex' is required but not provided
- # Command exited with code 2.
- # make: *** [node] Error 10
- broken = true;
+ platforms = with stdenv.lib.platforms; linux;
};
}
diff --git a/pkgs/development/compilers/opa/libdir.patch b/pkgs/development/compilers/opa/libdir.patch
deleted file mode 100644
index 05c8a89afa8..00000000000
--- a/pkgs/development/compilers/opa/libdir.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-These patches have the compiler place path flags in various places so that
-ocaml and c libraries are found in their Nixpkgs locations.
-
-diff -x '*~' -Naur MLstate-opalang-6b295a9//build_rules.ml MLstate-opalang-6b295a9-new//build_rules.ml
---- MLstate-opalang-6b295a9//build_rules.ml 2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//build_rules.ml 2011-11-27 00:34:35.845277134 -0430
-@@ -373,7 +373,11 @@
- | Some dep -> dep::list
- ) (tags_of_pathname (env "%.opa_plugin")) []
- in
-- let lib_dir s = [A"--ml";A"-I";A"--ml";P (if Pathname.exists s then ".." / s else ("+"^s))] in
-+ let cryptokitdir_opt = function
-+ | Some path -> path
-+ | None -> ""
-+ in
-+ let lib_dir s = [A"--ml";A"-I";A"--ml";P (if Pathname.exists s then ".." / s else (if s = "cryptokit" then (cryptokitdir_opt Config.Libdir.cryptokit) else ("+"^s)))] in
- let include_dirs = List.flatten (List.map lib_dir caml_use_lib) in
- let files = List.map ((^) path) files in
- build_list build files;
-diff -x '*~' -Naur MLstate-opalang-6b295a9//config.mli MLstate-opalang-6b295a9-new//config.mli
---- MLstate-opalang-6b295a9//config.mli 2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//config.mli 2011-11-27 00:30:39.312443906 -0430
-@@ -43,6 +43,9 @@
- (** Flag for Dbm present *)
- val has_dbm : bool
-
-+(** openssh link directory *)
-+val openssl : string option
-+
- (** library directories, if the libs are enabled *)
- val libnatpmp : (string*string*string) option (** name of the lib, lib dir, include dir *)
-
-diff -x '*~' -Naur MLstate-opalang-6b295a9//configure MLstate-opalang-6b295a9-new//configure
---- MLstate-opalang-6b295a9//configure 2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//configure 2011-11-27 00:40:52.496151405 -0430
-@@ -27,6 +27,7 @@
-
- NO_CAMLIDL=1
- NO_DBM=1
-+CONFIG_LIB_OPENSSL=""
-
- while [ $# -gt 0 ]; do
- case "$1" in
-@@ -51,6 +52,11 @@
- shift
- OCAMLOPT=$1
- ;;
-+ -openssl)
-+ if [ $# -lt 2 ]; then echo "Error: option $1 requires an argument" >&2; exit 1; fi
-+ shift
-+ CONFIG_LIB_OPENSSL=$1
-+ ;;
- -ocamlfind)
- if [ $# -lt 2 ]; then echo "Error: option $1 requires an argument" >&2; exit 1; fi
- shift
-@@ -647,6 +653,8 @@
- let miniupnpc = $(camlopt "$HAS_MINIUPNPC" "$(camlstrtuple "${MINIUPNPC[@]}")")
- let has_dbm = $(camlbool "$HAS_DBM")
-
-+let openssl = $(camlopt "$CONFIG_LIB_OPENSSL" '"'"$CONFIG_LIB_OPENSSL"'"')
-+
- let available = [ $TAGS_LIST]
- let all_tags = [ $(for t in $ALL_TAGS_LIST; do echo -n "\"$t\"; "; done)]
-
-diff -x '*~' -Naur MLstate-opalang-6b295a9//qml2ocaml/qml2ocamlOptions.ml MLstate-opalang-6b295a9-new//qml2ocaml/qml2ocamlOptions.ml
---- MLstate-opalang-6b295a9//qml2ocaml/qml2ocamlOptions.ml 2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//qml2ocaml/qml2ocamlOptions.ml 2011-11-27 00:32:57.721442828 -0430
-@@ -44,6 +44,7 @@
-
- let options_linker =
- ["-w a"]
-+ @ (match Config.openssl with | Some dir -> ["-ccopt"; "-L"^dir] | None -> [])
- @ (if Base.is_windows then
- ["-cclib"; "Dnsapi.lib"; "-cclib"; "libeay32.lib"; "-cclib"; "ssleay32.lib" (*; "ssl_stubs.obj" *)]
- else [])
-@@ -51,11 +52,13 @@
- (**
- Absolute path for include directory, will be passed with the option -I to the ocaml compiler.
- *)
-+ let uselibdirpath = fun po p -> match po with | Some path -> path | None -> p
-+
- let server_include_dir = [
-- "+zip" ; "+site-lib/zip" ; "+site-lib/camlzip" ;
-- "+ssl" ; "+site-lib/ssl" ;
-- "+cryptokit"; "+site-lib/cryptokit" ;
-- "+ulex" ; "+site-lib/ulex" ;
-+ uselibdirpath Config.Libdir.camlzip "+zip" ; "+site-lib/zip" ; "+site-lib/camlzip" ;
-+ uselibdirpath Config.Libdir.ssl "+ssl" ; "+site-lib/ssl" ;
-+ uselibdirpath Config.Libdir.cryptokit "+cryptokit"; "+site-lib/cryptokit" ;
-+ uselibdirpath Config.Libdir.ulex "+ulex" ; "+site-lib/ulex" ;
- ] @ (
- if Config.has_dbm then [
- "+dbm" ; "+site-lib/dbm" ;
diff --git a/pkgs/development/compilers/opa/locate.patch b/pkgs/development/compilers/opa/locate.patch
deleted file mode 100644
index e67e6bab260..00000000000
--- a/pkgs/development/compilers/opa/locate.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Needed to have ocamlfind discover ocamlgraph with Nixpkgs.
-
-diff -x '*~' -Naur MLstate-opalang-ee92891/configure MLstate-opalang-ee92891-new//configure
---- MLstate-opalang-ee92891/configure 2011-09-30 05:41:18.000000000 -0430
-+++ MLstate-opalang-ee92891-new//configure 2011-11-24 13:47:01.332558705 -0430
-@@ -567,7 +567,7 @@
- fi
-
- # - checking ocamlgraph
--if ! CONFIG_LIB_OCAMLGRAPH=$(locate-ocaml-lib "Graph" "ocamlgraph/graph")
-+if ! CONFIG_LIB_OCAMLGRAPH=$(locate-ocaml-lib "Graph" "ocamlgraph" "graph")
- then lib-not-found "ocamlgraph" "libocamlgraph-ocaml-dev"
- fi
-
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
index 19f8eab482c..4f0a1bd0512 100644
--- a/pkgs/development/compilers/opendylan/bin.nix
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
meta = {
homepage = http://opendylan.org;
- description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+ description = "A multi-paradigm functional and object-oriented programming language";
license = stdenv.lib.licenses.mit;
};
}
diff --git a/pkgs/development/compilers/opendylan/default.nix b/pkgs/development/compilers/opendylan/default.nix
index e4bdcf7889b..66e62f8965e 100644
--- a/pkgs/development/compilers/opendylan/default.nix
+++ b/pkgs/development/compilers/opendylan/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
meta = {
homepage = http://opendylan.org;
- description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+ description = "A multi-paradigm functional and object-oriented programming language";
license = stdenv.lib.licenses.mit;
};
}
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index cf4990c33b5..9ba8eaea062 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
import ./jdk-linux-base.nix {
productVersion = "7";
- patchVersion = "67";
+ patchVersion = "71";
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
- sha256_i686 = "0p58pag1x85r911lxhmr4blk687ivjqigflx175vp7rcmmj108xn";
- sha256_x86_64 = "0db36jg08qy8712qy6lgyifdqlqb468rrnjm3aa6937ixl9ixpal";
+ sha256_i686 = "d3c09a35abc0464d8ad70dfe17e02597eb4c5d489ff4d1bcd14088aeb5016424";
+ sha256_x86_64 = "80d5705fc37fc4eabe3cea480e0530ae0436c2c086eb8fc6f65bb21e8594baf8";
jceName = "UnlimitedJCEPolicyJDK7.zip";
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
new file mode 100644
index 00000000000..8b71cb66610
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
@@ -0,0 +1,10 @@
+import ./jdk-linux-base.nix {
+ productVersion = "7";
+ patchVersion = "72";
+ downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
+ sha256_i686 = "0376c8a0280752b4389b6cb193d463826c55c821587d0278b7fea665a140f407";
+ sha256_x86_64 = "dd1d438e1b7d4b9bb5ea4659f2103b577d1568da51b53f97b736b3232eeade8e";
+ jceName = "UnlimitedJCEPolicyJDK7.zip";
+ jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
+ sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index 63af4564374..f51cca0c478 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,9 +1,9 @@
import ./jdk-linux-base.nix {
productVersion = "8";
- patchVersion = "11";
+ patchVersion = "25";
downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
- sha256_i686 = "3981e6fb7d35b20ac3c05ec56fb3798ac1cd872a9e968bb3d77a718af7b146d1";
- sha256_x86_64 = "f3593b248b64cc53bf191f45b92a1f10e8c5099c2f84bd5bd5d6465dfd07a8e9";
+ sha256_i686 = "17f396a541db09c732032185f10f9c6eb42ac7b5776814602342de9655b2e0e2";
+ sha256_x86_64 = "057f660799be2307d2eefa694da9d3fce8e165807948f5bcaa04f72845d2f529";
jceName = "jce_policy-8.zip";
jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
diff --git a/pkgs/development/compilers/rdmd/default.nix b/pkgs/development/compilers/rdmd/default.nix
index 621ace195bb..f70b8f448b4 100644
--- a/pkgs/development/compilers/rdmd/default.nix
+++ b/pkgs/development/compilers/rdmd/default.nix
@@ -1,29 +1,29 @@
-{ stdenv, fetchurl, writeText, lib, dmd }:
+{stdenv, lib, fetchgit, dmd}:
stdenv.mkDerivation {
- name = "rdmd-2.064";
-
- src = fetchurl {
- url = https://raw2.github.com/D-Programming-Language/tools/2.064/rdmd.d;
- sha256 = "0b1g3ng6bkanvg00r6xb4ycpbh9x8b9dw589av665azxbcraqrs1";
- name = "rdmd-src";
- };
+ name = "rdmd-20141113";
buildInputs = [ dmd ];
- builder = writeText "drmd-builder.sh" ''
- source $stdenv/setup
- cp $src rdmd.d
- dmd rdmd.d
- mkdir -p $out/bin
- cp rdmd $out/bin/
+ src = fetchgit {
+ url = git://github.com/D-Programming-Language/tools.git;
+ rev = "f496c68ee4e776597bd7382aa47f05da698a69e";
+ sha256 = "0vbhmz8nbh8ayml4vad0239kfg982vqfyqqrjv6wrlnjah97n5ms";
+ };
+
+ buildPhase = ''
+ dmd rdmd.d
'';
+ installPhase = ''
+ mkdir -p $out/bin
+ cp rdmd $out/bin/
+ '';
+
meta = {
description = "Wrapper for D language compiler";
homepage = http://dlang.org/rdmd.html;
license = lib.licenses.boost;
- maintainers = with stdenv.lib.maintainers; [ vlstill ];
platforms = stdenv.lib.platforms.unix;
};
}
diff --git a/pkgs/development/compilers/roadsend/default.nix b/pkgs/development/compilers/roadsend/default.nix
deleted file mode 100644
index f17cbbbda9a..00000000000
--- a/pkgs/development/compilers/roadsend/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ composableDerivation, fetchurl, bigloo, curl, fcgi ? null, libxml2 ? null, mysql ? null }:
-
-let edf = composableDerivation.edf; in
-
-composableDerivation.composableDerivation {} {
- name = "roadsend-2.9.3";
-
- buildInputs = [bigloo curl];
-
- flags = edf { name = "pcre"; }
- // edf { name = "fcgi"; enable = { inherit fcgi; }; }
- // edf { name = "xml"; enable = { buildInputs = [ libxml2 ]; }; }
- // edf { name = "mysql"; enable = { buildInputs = [ mysql ]; }; }
- // edf { name = "odbc"; };
- # // edf { name = "gtk"} }
- # // edf { name = "gtk2", enable = { buildInputs = [ mysql ]; } }
-
- cfg = {
- pcreSupport = true;
- fcgiSupport = true;
- xmlSupport = true;
- mysqlSupport = true;
- };
-
- src = fetchurl {
- url = "http://code.roadsend.com/snaps/roadsend-php-20081210.tar.bz2";
- sha256 = "0yhpiik0dyayd964wvn2k0cq7b1gihx1k3qx343r2l7lla4mapsx";
- };
-
- # tell pcc where to find the fastcgi library
- postInstall = " sed -e \"s=(ldflags fastcgi.*=(ldflags -l fastcgi -L \$fcgi)=\" -i \$out/etc/pcc.conf ";
-
- meta = {
- description = "A PHP to C compiler";
- homepage = http://www.roadsend.com;
- # you can choose one of the following licenses:
- # Runtime license is LPGL 2.1
- license = ["GPL2"];
- };
-}
diff --git a/pkgs/development/compilers/rustc/0.11.nix b/pkgs/development/compilers/rustc/0.12.nix
similarity index 78%
rename from pkgs/development/compilers/rustc/0.11.nix
rename to pkgs/development/compilers/rustc/0.12.nix
index a7246e44a73..d26e8ba4dda 100644
--- a/pkgs/development/compilers/rustc/0.11.nix
+++ b/pkgs/development/compilers/rustc/0.12.nix
@@ -16,19 +16,19 @@ assert stdenv.gcc.gcc != null;
*/
-with ((import ./common.nix) {inherit stdenv; version = "0.11.0"; });
+with ((import ./common.nix) {inherit stdenv; version = "0.12.0"; });
let snapshot = if stdenv.system == "i686-linux"
- then "84339ea0f796ae468ef86797ef4587274bec19ea"
+ then "555aca74f9a268f80cab2df1147dc6406403e9e4"
else if stdenv.system == "x86_64-linux"
- then "bd8a6bc1f28845b7f4b768f6bfa06e7fbdcfcaae"
+ then "6a43c2f6c8ba2cbbcb9da1f7b58f748aef99f431"
else if stdenv.system == "i686-darwin"
- then "3f25b2680efbab16ad074477a19d49dcce475977"
+ then "331bd7ef519cbb424188c546273e8c7d738f0894"
else if stdenv.system == "x86_64-darwin"
- then "4a8c2e1b7634d73406bac32a1a97893ec3ed818d"
+ then "2c83a79a9febfe1d326acb17c3af76ba053c6ca9"
else abort "no-snapshot for platform ${stdenv.system}";
- snapshotDate = "2014-06-21";
- snapshotRev = "db9af1d";
+ snapshotDate = "2014-10-04";
+ snapshotRev = "749ff5e";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
in stdenv.mkDerivation {
@@ -37,8 +37,8 @@ in stdenv.mkDerivation {
inherit meta;
src = fetchurl {
- url = http://static.rust-lang.org/dist/rust-0.11.0.tar.gz;
- sha256 = "1fhi8iiyyj5j48fpnp93sfv781z1dm0xy94h534vh4mz91jf7cyi";
+ url = http://static.rust-lang.org/dist/rust-0.12.0.tar.gz;
+ sha256 = "1dv9wxh41230zknbwj34zgjnh1kgvvy6k12kbiy9bnch9nr6cgl8";
};
# We need rust to build rust. If we don't provide it, configure will try to download it.
@@ -65,7 +65,8 @@ in stdenv.mkDerivation {
patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
postPatch = ''
substituteInPlace src/librustc/back/link.rs \
- --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
+ --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc"
+ substituteInPlace src/librustc_back/archive.rs \
--subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
'';
diff --git a/pkgs/development/compilers/rustc/common.nix b/pkgs/development/compilers/rustc/common.nix
index d766f22c6ad..fdb1195bb82 100644
--- a/pkgs/development/compilers/rustc/common.nix
+++ b/pkgs/development/compilers/rustc/common.nix
@@ -26,7 +26,7 @@
meta = with stdenv.lib; {
homepage = http://www.rust-lang.org/;
description = "A safe, concurrent, practical language";
- maintainers = with maintainers; [ madjar cstrahan ];
+ maintainers = with maintainers; [ madjar cstrahan wizeman ];
license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
platforms = platforms.linux;
};
diff --git a/pkgs/development/compilers/rustc/grsec.HEAD.patch b/pkgs/development/compilers/rustc/grsec.HEAD.patch
new file mode 100644
index 00000000000..84582ab7d70
--- /dev/null
+++ b/pkgs/development/compilers/rustc/grsec.HEAD.patch
@@ -0,0 +1,16 @@
+diff --git a/src/test/run-make/relocation-model/Makefile b/src/test/run-make/relocation-model/Makefile
+index 2fcdd32..2d9ddb0 100644
+--- a/src/test/run-make/relocation-model/Makefile
++++ b/src/test/run-make/relocation-model/Makefile
+@@ -5,9 +5,11 @@ all:
+ $(call RUN,foo)
+
+ $(RUSTC) -C relocation-model=default foo.rs
++ paxctl -czexm $(TMPDIR)/foo
+ $(call RUN,foo)
+
+ $(RUSTC) -C relocation-model=static foo.rs
++ paxctl -czexm $(TMPDIR)/foo
+ $(call RUN,foo)
+
+ $(RUSTC) -C relocation-model=default --crate-type=dylib foo.rs
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
index 21e6576e4e3..83fb26e7a47 100644
--- a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
+++ b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
@@ -1,33 +1,8 @@
-diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
-index 6332485..9500a23 100644
---- a/src/librustc/back/link.rs
-+++ b/src/librustc/back/link.rs
-@@ -383,18 +383,9 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
-
- pub fn get_cc_prog(sess: &Session) -> String {
- match sess.opts.cg.linker {
-- Some(ref linker) => return linker.to_string(),
-- None => {}
-+ Some(ref linker) => linker.to_string(),
-+ None => "@ccPath@".to_string()
- }
--
-- // In the future, FreeBSD will use clang as default compiler.
-- // It would be flexible to use cc (system's default C compiler)
-- // instead of hard-coded gcc.
-- // For Windows, there is no cc command, so we add a condition to make it use gcc.
-- match sess.targ_cfg.os {
-- abi::OsWindows => "gcc",
-- _ => "cc",
-- }.to_string()
- }
-
- pub fn remove(sess: &Session, path: &Path) {
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
-index 060dda5..fecf76b 100644
+index a88bcaf..9c3858d 100644
--- a/src/librustc_back/archive.rs
+++ b/src/librustc_back/archive.rs
-@@ -53,7 +53,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option,
+@@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option,
paths: &[&Path]) -> ProcessOutput {
let ar = match *maybe_ar_prog {
Some(ref ar) => ar.as_slice(),
@@ -36,3 +11,18 @@ index 060dda5..fecf76b 100644
};
let mut cmd = Command::new(ar);
+diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
+index d27a338..c9b1508 100644
+--- a/src/librustc_trans/back/link.rs
++++ b/src/librustc_trans/back/link.rs
+@@ -361,8 +361,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
+
+ pub fn get_cc_prog(sess: &Session) -> String {
+ match sess.opts.cg.linker {
+- Some(ref linker) => return linker.to_string(),
+- None => sess.target.target.options.linker.clone(),
++ Some(ref linker) => linker.to_string(),
++ None => "@ccPath@".to_string(),
+ }
+ }
+
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.patch b/pkgs/development/compilers/rustc/hardcode_paths.patch
index 77e4c3f3788..8701cd3c982 100644
--- a/pkgs/development/compilers/rustc/hardcode_paths.patch
+++ b/pkgs/development/compilers/rustc/hardcode_paths.patch
@@ -1,8 +1,8 @@
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
-index 7a3e912..ced75fa 100644
+index 1cc60fc..2e94b99 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
-@@ -766,24 +766,15 @@ pub fn output_lib_filename(id: &CrateId) -> String {
+@@ -383,18 +383,9 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
pub fn get_cc_prog(sess: &Session) -> String {
match sess.opts.cg.linker {
@@ -15,18 +15,23 @@ index 7a3e912..ced75fa 100644
- // In the future, FreeBSD will use clang as default compiler.
- // It would be flexible to use cc (system's default C compiler)
- // instead of hard-coded gcc.
-- // For win32, there is no cc command, so we add a condition to make it use gcc.
+- // For Windows, there is no cc command, so we add a condition to make it use gcc.
- match sess.targ_cfg.os {
-- abi::OsWin32 => "gcc",
+- abi::OsWindows => "gcc",
- _ => "cc",
- }.to_string()
}
- pub fn get_ar_prog(sess: &Session) -> String {
- match sess.opts.cg.ar {
- Some(ref ar) => (*ar).clone(),
-- None => "ar".to_string()
-+ None => "@arPath@".to_string()
- }
- }
-
+ pub fn remove(sess: &Session, path: &Path) {
+diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
+index 060dda5..fecf76b 100644
+--- a/src/librustc_back/archive.rs
++++ b/src/librustc_back/archive.rs
+@@ -53,7 +53,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option,
+ paths: &[&Path]) -> ProcessOutput {
+ let ar = match *maybe_ar_prog {
+ Some(ref ar) => ar.as_slice(),
+- None => "ar"
++ None => "@arPath@"
+ };
+ let mut cmd = Command::new(ar);
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index f81539fad9a..cc3fabb244e 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper
-, tzdata, git
+, tzdata, git, valgrind
}:
assert stdenv.gcc.gcc != null;
@@ -18,19 +18,19 @@ assert stdenv.gcc.gcc != null;
*/
-with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-a2e7c4da9"; });
+with ((import ./common.nix) {inherit stdenv; version = "0.13.0-pre-1673-g3a325c6";});
let snapshot = if stdenv.system == "i686-linux"
- then "555aca74f9a268f80cab2df1147dc6406403e9e4"
+ then "c8342e762a1720be939ed7c6a39bdaa27892f66f"
else if stdenv.system == "x86_64-linux"
- then "6a43c2f6c8ba2cbbcb9da1f7b58f748aef99f431"
+ then "7a7fe6f5ed47b9cc66261f880e166c7c8738b73e"
else if stdenv.system == "i686-darwin"
- then "331bd7ef519cbb424188c546273e8c7d738f0894"
+ then "63e8644512bd5665c14389a83d5af564c7c0b103"
else if stdenv.system == "x86_64-darwin"
- then "2c83a79a9febfe1d326acb17c3af76ba053c6ca9"
+ then "7933ae0e974d1b897806138b7052cb2b4514585f"
else abort "no-snapshot for platform ${stdenv.system}";
- snapshotDate = "2014-10-04";
- snapshotRev = "749ff5e";
+ snapshotDate = "2014-11-21";
+ snapshotRev = "c9f6d69";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
in stdenv.mkDerivation {
@@ -40,8 +40,8 @@ in stdenv.mkDerivation {
src = fetchgit {
url = https://github.com/rust-lang/rust;
- rev = "a2e7c4da9b331d337fba0b3911c6d3d7f48e8305";
- sha256 = "1lpncqx3lfyjk6llfc7pd1iqxzfhj32hjqvj09zks73r4isc02n4";
+ rev = "3a325c666d2cb7e297bf3057ff2442f96a79428b";
+ sha256 = "0a0byglfaf0wfsnlm53vng1gqkkz4i29zphdwqg93v26mciqqc61";
};
# We need rust to build rust. If we don't provide it, configure will try to download it.
@@ -65,19 +65,26 @@ in stdenv.mkDerivation {
configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
# The compiler requires cc, so we patch the source to tell it where to find it
- patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ];
+ patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ]
+ ++ stdenv.lib.optional stdenv.needsPax ./grsec.HEAD.patch;
+
postPatch = ''
- substituteInPlace src/librustc/back/link.rs \
+ substituteInPlace src/librustc_trans/back/link.rs \
--subst-var-by "ccPath" "${stdenv.gcc}/bin/cc"
substituteInPlace src/librustc_back/archive.rs \
--subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
'';
- buildInputs = [ which file perl curl python27 makeWrapper git ];
+ buildInputs = [ which file perl curl python27 makeWrapper git valgrind ];
enableParallelBuilding = false; # disabled due to rust-lang/rust#16305
preCheck = "export TZDIR=${tzdata}/share/zoneinfo";
doCheck = true;
+
+ postInstall = ''
+ # Install documentation
+ cp -r doc "$out/share/doc"
+ '';
}
diff --git a/pkgs/development/compilers/rustc/local_stage0.patch b/pkgs/development/compilers/rustc/local_stage0.patch
index 1261b2d458d..2f38d7c1757 100644
--- a/pkgs/development/compilers/rustc/local_stage0.patch
+++ b/pkgs/development/compilers/rustc/local_stage0.patch
@@ -2,12 +2,15 @@ diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
index e78f231..6b6773b 100755
--- a/src/etc/local_stage0.sh
+++ b/src/etc/local_stage0.sh
-@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then
+@@ -53,11 +53,6 @@
fi
-
+
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+
+ # do not fail if one of the above fails, as all we need is a working rustc!
+ exit 0
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 535f2697fea..17c0bed7caa 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, sbclBootstrap, clisp}:
+{ stdenv, fetchurl, sbclBootstrap, clisp, which}:
stdenv.mkDerivation rec {
name = "sbcl-${version}";
- version = "1.2.3";
+ version = "1.2.5";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
- sha256 = "0lz2a79dlxxyw05s14l6xp35zjsazgbp1dmqygqi0cmd8dc5vj6j";
+ sha256 = "0nmb9amygr5flzk2z9fa6wzwqknbgd2qrkybxkxkamvbdwyayvzr";
};
- buildInputs = [ ]
+ buildInputs = [ which ]
++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
++ (stdenv.lib.optional stdenv.isLinux clisp)
;
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+ # Fix software version retrieval
+ sed -e "s@/bin/uname@$(which uname)@g" -i src/code/*-os.lisp
+
# Fix the tests
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
diff --git a/pkgs/development/compilers/scala/2.10.nix b/pkgs/development/compilers/scala/2.10.nix
index 11c3c0d8c31..d7e7ecf1ce2 100644
--- a/pkgs/development/compilers/scala/2.10.nix
+++ b/pkgs/development/compilers/scala/2.10.nix
@@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
compared to an equivalent Java application.
'';
homepage = http://www.scala-lang.org/;
- license = "BSD";
+ license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
+ branch = "2.10";
};
}
diff --git a/pkgs/development/compilers/scala/2.9.nix b/pkgs/development/compilers/scala/2.9.nix
index 41f377dbfa3..de5db1eff99 100644
--- a/pkgs/development/compilers/scala/2.9.nix
+++ b/pkgs/development/compilers/scala/2.9.nix
@@ -28,7 +28,8 @@ stdenv.mkDerivation rec {
compared to an equivalent Java application.
'';
homepage = http://www.scala-lang.org/;
- license = "BSD";
+ license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
+ branch = "2.9";
};
}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index c556870d519..e9f6c71eb2c 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec {
- name = "scala-2.11.1";
+ name = "scala-2.11.4";
src = fetchurl {
url = "http://www.scala-lang.org/files/archive/${name}.tgz";
- sha256 = "1vjsmqjwpxavyj29wrbvvx7799fsa65d4iha5mj63cgs8qp605gk";
+ sha256 = "1140xyp8kbv4l6l95pqj2bawzlvs7h39ivikdv09n13qvqcml3q0";
};
buildInputs = [ jre makeWrapper ] ;
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
compared to an equivalent Java application.
'';
homepage = http://www.scala-lang.org/;
- license = "BSD";
+ license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
};
}
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index 220d3f87fba..1f38198b30b 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -4,14 +4,14 @@
}:
let
- version = "6.6.5";
+ version = "6.6.6";
in
stdenv.mkDerivation {
name = "swi-prolog-${version}";
src = fetchurl {
url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
- sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr";
+ sha256 = "0vcrfskm2hyhv30lxr6v261myb815jc3bgmcn1lgsc9g9qkvp04z";
};
buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
deleted file mode 100644
index 2f179d17548..00000000000
--- a/pkgs/development/compilers/uhc/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, coreutils, glibc, fetchgit, m4, libtool, ghc, uulib
-, uuagc, mtl, network, binary, llvm, fgl, syb
-}:
-
-# this check won't be needed anymore after ghc-wrapper is fixed
-# to show ghc-builtin packages in "ghc-pkg list" output.
-let binaryIsBuiltIn = builtins.compareVersions "7.2.1" ghc.version != 1;
-
-in stdenv.mkDerivation {
- name = "uhc-svn-git20120502";
-
- src = fetchgit {
- url = "https://github.com/UU-ComputerScience/uhc.git";
- rev = "ab26d787657bb729d8a4f92ef5d067d9990f6ce3";
- sha256 = "66c5b6d95dc80a652f6e17476a1b18fbef4b4ff6199a92d033f0055526ec97ff";
- };
-
- postUnpack = "sourceRoot=\${sourceRoot}/EHC";
-
- propagatedBuildInputs = [mtl network binary fgl syb];
- buildInputs = [coreutils m4 ghc libtool uulib uuagc];
-
- # Can we rename this flag to "--with-cpp-uhc-options"?
- configureFlags = "--with-cpp-ehc-options=-I${glibc}/include";
-
- # UHC builds packages during compilation; these are by default
- # installed in the user-specific package config file. We do not
- # want that, and hack the build process to use a temporary package
- # configuration file instead.
- preConfigure = ''
- p=`pwd`/uhc-local-packages
- echo '[]' > $p
- sed -i "s|--user|--package-db=$p|g" mk/shared.mk.in
- sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in
- sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk
- sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/config.mk.in
- '' + stdenv.lib.optionalString binaryIsBuiltIn ''
- sed -i "s|ghcLibBinary=no|ghcLibBinaryExists=yes|" configure
- '';
-
- meta = {
- homepage = "http://www.cs.uu.nl/wiki/UHC";
- description = "Utrecht Haskell Compiler";
- platforms = stdenv.lib.platforms.linux;
- hydraPlatforms = stdenv.lib.platforms.none;
- broken = true;
- };
-}
diff --git a/pkgs/development/compilers/vala/0.26.nix b/pkgs/development/compilers/vala/0.26.nix
new file mode 100644
index 00000000000..48b5476fe1d
--- /dev/null
+++ b/pkgs/development/compilers/vala/0.26.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt
+, glib, libiconvOrEmpty, libintlOrEmpty
+}:
+
+let
+ major = "0.26";
+ minor = "1";
+ sha256 = "8407abb19ab3a58bbfc0d288abb47666ef81f76d0540258c03965e7545f59e6b";
+in
+stdenv.mkDerivation rec {
+ name = "vala-${major}.${minor}";
+
+ meta = {
+ description = "Compiler for GObject type system";
+ homepage = "http://live.gnome.org/Vala";
+ license = stdenv.lib.licenses.lgpl21Plus;
+ platforms = stdenv.lib.platforms.unix;
+ maintainers = with stdenv.lib.maintainers; [ antono lethalman ];
+ };
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
+ inherit sha256;
+ };
+
+ nativeBuildInputs = [ pkgconfig flex bison libxslt ];
+
+ buildInputs = [ glib ]
+ ++ libiconvOrEmpty
+ ++ libintlOrEmpty;
+}
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index a29c0de65b8..dea7d3cd6e8 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = "http://www.dcc.fc.up.pt/~vsc/Yap/";
description = "Yap Prolog System is a ISO-compatible high-performance Prolog compiler";
- license = "artistic";
+ license = stdenv.lib.licenses.artistic2;
maintainers = [ stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix
index ec1fda10d8c..f752ad35a6d 100644
--- a/pkgs/development/compilers/yasm/default.nix
+++ b/pkgs/development/compilers/yasm/default.nix
@@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
- name = "yasm-1.2.0";
+ name = "yasm-1.3.0";
src = fetchurl {
url = "http://www.tortall.net/projects/yasm/releases/${name}.tar.gz";
- sha256 = "0cfg7ji3ia2in628w42wrfvw2ixmmm4rghwmv2k202mraysgm3vn";
+ sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
};
meta = {
diff --git a/pkgs/development/coq-modules/bedrock/default.nix b/pkgs/development/coq-modules/bedrock/default.nix
new file mode 100644
index 00000000000..7aadead5428
--- /dev/null
+++ b/pkgs/development/coq-modules/bedrock/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl, coq}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-bedrock-${coq.coq-version}-${version}";
+ version = "20140722";
+
+ src = fetchurl {
+ url = "http://plv.csail.mit.edu/bedrock/bedrock-${version}.tgz";
+ sha256 = "0aaa98q42rsy9hpsxji21bqznizfvf6fplsw6jq42h06j0049k80";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ];
+ propagatedBuildInputs = [ coq ];
+
+ enableParallelBuilding = true;
+
+ buildFlags = "cito";
+
+ installPhase = ''
+ COQLIB=$out/lib/coq/${coq.coq-version}/
+ mkdir -p $COQLIB/user-contrib/Bedrock
+ cp -pR src $COQLIB/user-contrib/Bedrock
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://plv.csail.mit.edu/bedrock/;
+ description = "Bedrock is a library that turns Coq into a tool much like classical verification systems";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/containers/default.nix b/pkgs/development/coq-modules/containers/default.nix
index 8c20d64d8c7..5c5681f6010 100644
--- a/pkgs/development/coq-modules/containers/default.nix
+++ b/pkgs/development/coq-modules/containers/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = http://coq.inria.fr/pylons/contribs/files/Containers/v8.4/Containers.tar.gz;
- sha256 = "1y9x2lwrskv2231z9ac3kv4bmg6h1415xpp4gl7v5w90ba6p6w8w";
+ sha256 = "0z7yk0g7zkniwc73ka7wwb5jjg5a2wr1krrn3akr7kn5z3gvy2mc";
};
buildInputs = [ coq.ocaml coq.camlp5 ];
@@ -17,9 +17,8 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
homepage = http://coq.inria.fr/pylons/pylons/contribs/view/Containers/v8.4;
description = "A typeclass-based Coq library of finite sets/maps";
- maintainers = with maintainers; [ vbgl ];
+ maintainers = with maintainers; [ vbgl jwiegley ];
platforms = coq.meta.platforms;
- broken = true; /* the source hash is wrong */
};
}
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
new file mode 100644
index 00000000000..b9939a2e7f4
--- /dev/null
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-ext-lib-${coq.coq-version}-${version}";
+ version = "c2c71a2a";
+
+ src = fetchgit {
+ url = git://github.com/coq-ext-lib/coq-ext-lib.git;
+ rev = "c2c71a2a90ac87f2ceb311a6da53a6796b916816";
+ sha256 = "01sihw3nmvvpc8viwyr01qnqifdcmlg016034xmrfmv863yp8c4g";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ];
+ propagatedBuildInputs = [ coq ];
+
+ enableParallelBuilding = true;
+
+ installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/coq-ext-lib/coq-ext-lib;
+ description = "A collection of theories and plugins that may be useful in other Coq developments";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/coqeal/default.nix b/pkgs/development/coq-modules/coqeal/default.nix
new file mode 100644
index 00000000000..bfe83a74aae
--- /dev/null
+++ b/pkgs/development/coq-modules/coqeal/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit, coq, ssreflect, mathcomp}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-coqeal-${coq.coq-version}-${version}";
+ version = "7522037d";
+
+ src = fetchgit {
+ url = git://github.com/CoqEAL/CoqEAL.git;
+ rev = "7522037d5e01e651e705d782f4f91fc68c46866e";
+ sha256 = "1cvjz0yyqihdx1hp1h9x5x14kv9qf3rjhgqq4f7rv8bxcv9p1gv3";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ssreflect mathcomp ];
+ propagatedBuildInputs = [ coq ];
+
+ preConfigure = "cd theory";
+
+ installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+ meta = with stdenv.lib; {
+ homepage = http://www.maximedenes.fr/content/coqeal-coq-effective-algebra-library;
+ description = "A Coq library for effective algebra, by which is meant formally verified computer algebra algorithms that can be run inside Coq on concrete inputs";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/domains/darcs_context b/pkgs/development/coq-modules/domains/darcs_context
new file mode 100644
index 00000000000..5dac711c0c0
--- /dev/null
+++ b/pkgs/development/coq-modules/domains/darcs_context
@@ -0,0 +1,809 @@
+
+Context:
+
+[additional facts about limits on cuts
+robdockins@fastmail.fm**20140818025955
+ Ignore-this: 6f9c952db425df6ae9d2a14139a8a3d1
+]
+
+[work on limits
+robdockins@fastmail.fm**20140817221707
+ Ignore-this: 9811e0cd669b48f3beb7a56d47cbe3c3
+]
+
+[finish proving that Q field ops commute with injq
+robdockins@fastmail.fm**20140817060600
+ Ignore-this: a1f6c62b39983e6f6f01d28aca5f8534
+]
+
+[split up realdom.v and perform associated code motion
+robdockins@fastmail.fm**20140817030034
+ Ignore-this: 24c74cd459d2ab15dcd3d83ba06f7081
+]
+
+[recip is canonical and converges
+robdockins@fastmail.fm**20140725211947
+ Ignore-this: c100dbd94114cca9576b2a3f46c9ddc7
+]
+
+[improve the proof that 1 is a unit for multiplication
+robdockins@fastmail.fm**20140724150124
+ Ignore-this: c5ec976f8a9858a7ba1f704b4e84d02e
+]
+
+[complete proof the interval multiplication converges; other minor stuff
+robdockins@fastmail.fm**20140724015132
+ Ignore-this: bc717baa4c8f9ec31b821c5cfae5b499
+]
+
+[further progress in realdom.v
+robdockins@fastmail.fm**20140723004023
+ Ignore-this: f33e18d22ae69c9b6209e28151d18017
+]
+
+[unmessify rational_intervals patch
+robdockins@fastmail.fm**20140721123718
+ Ignore-this: 4a125b192a9964a508a1063845e9f160
+]
+
+[messy updates to rational_intervals.v
+robdockins@fastmail.fm**20140721015810
+ Ignore-this: 858dac9c55426167c6f397a71ef3fda5
+]
+
+[implicit arguments for "fixes"
+robdockins@fastmail.fm**20140721015739
+ Ignore-this: 229ecdd48265fc855319141e399bc522
+]
+
+[metadata
+robdockins@fastmail.fm**20140714201441
+ Ignore-this: aa16faaf09c1c404bdc6eaf0d0c39912
+]
+
+[further beautification
+robdockins@fastmail.fm**20140714200516
+ Ignore-this: 47d74c51d9fe130a5ac12706b1ddb1d4
+]
+
+[start working on the recripricol function
+robdockins@fastmail.fm**20140714180055
+ Ignore-this: c7f93cea17f46daa78a1ea14e86dfcaf
+]
+
+[tweaks to the lambda models
+robdockins@fastmail.fm**20140714180031
+ Ignore-this: 219788fe70f42f0f6e60176cab464f19
+]
+
+[beauty edits in st_lam*
+robdockins@fastmail.fm**20140714180006
+ Ignore-this: a40aa7ae00ed27595ee04073918bd028
+]
+
+[move stuff to rational_intervals.v / define real_mult and prove some properties
+robdockins@fastmail.fm**20140712053232
+ Ignore-this: 398c5c03aac9ff37526d4d7c9e1a82c0
+]
+
+[finish correctness proof for interval multiplication
+robdockins@fastmail.fm**20140711191547
+ Ignore-this: c9ab138a0ca43fe0b133b208419bbcc4
+]
+
+[break out facts about rational intervals
+robdockins@fastmail.fm**20140711012320
+ Ignore-this: b7fe6e9377629a89b5debe3019ae1aa
+]
+
+[updates to ideal completion
+robdockins@fastmail.fm**20140707053800
+ Ignore-this: 90d1efbd0e5833d8c83f0df056d7a74c
+]
+
+[a pile of additional properties in realdom.v
+robdockins@fastmail.fm**20140707053519
+ Ignore-this: 7edba1e72a1856f297ef11e698ed989f
+]
+
+[some properties of converging prereals
+robdockins@fastmail.fm**20140706041401
+ Ignore-this: 273bfbb245302becd7ff402831827ffb
+]
+
+[make realdom compile
+robdockins@fastmail.fm**20140630015439
+ Ignore-this: 8bfc8eaeed4a1596450b0bb9ddef9aaa
+]
+
+[renaming
+robdockins@fastmail.fm**20140630011639
+ Ignore-this: a287e083af095790cbf2b48df7a58739
+]
+
+[reorganize some code
+robdockins@fastmail.fm**20140630011446
+ Ignore-this: f1375b9e7ad822cb92f0c83d4001eddd
+]
+
+[build the retract for realdom
+robdockins@fastmail.fm**20140630001245
+ Ignore-this: 4eb9da621588417d1b7b2fc980c7bf70
+]
+
+[fill out lemmas about cPLT
+robdockins@fastmail.fm**20140630001140
+ Ignore-this: add9e45c14621e3d6328684098bf8461
+]
+
+[more facts about cPLT
+robdockins@fastmail.fm**20140628073731
+ Ignore-this: 101a131ed114902924a1707eff7ebc70
+]
+
+[continuous domains as retracts of bifinite domains
+robdockins@fastmail.fm**20140628035522
+ Ignore-this: 5e7c61d49cf8424412b0d94f5fcb5ee6
+]
+
+[start implementing arithmetic operations in RealDom
+robdockins@fastmail.fm**20140620003249
+ Ignore-this: c28479b8a933cba263765bdddb112264
+]
+
+[define the domain of rational intervals
+robdockins@fastmail.fm**20140619040809
+ Ignore-this: 6cbe1a9cc690e5a9d77f37ee299154b
+ this domain is useful for describing the semantics of exact real arithmetic.
+]
+
+[show that every effective CUSL is Plotkin
+robdockins@fastmail.fm**20140619034433
+ Ignore-this: d529a4b1d6d698f79572caa805072394
+]
+
+[fix notation for octothorpe
+robdockins@fastmail.fm**20140614222130
+ Ignore-this: 3dc815825f11ceaf4f4f53e4668e6382
+]
+
+[fix for coq 8.4pl4
+robdockins@fastmail.fm**20140614222049
+ Ignore-this: 9745904845aaf54e5569df982fc93d65
+]
+
+[move swelling lemma into finsets
+robdockins@fastmail.fm**20140504080535
+ Ignore-this: ffa560e9aa4e4f8b15a55c1f9b1da72e
+]
+
+[documentation improvements and code motion
+robdockins@fastmail.fm**20140504070008
+ Ignore-this: da7847f82403990342732a8ce226315c
+]
+
+[replace the old finprod
+robdockins@fastmail.fm**20140504005534
+ Ignore-this: 606cf44422f68d66c8d2d90049e67b93
+]
+
+[remove the old finprod
+robdockins@fastmail.fm**20140504005137
+ Ignore-this: 38bd54e16c87d27bbede08496c37bfba
+]
+
+[update st_lam_fix to use the new finprod
+robdockins@fastmail.fm**20140504003627
+ Ignore-this: 95d0a66e99ccead89bdfef09a1c8c109
+]
+
+[update st_lam to use the new termmodel
+robdockins@fastmail.fm**20140503230854
+ Ignore-this: c3d6b2155674b414c5c2e14b85b13760
+]
+
+[new version of finprod with a better term model
+robdockins@fastmail.fm**20140503222035
+ Ignore-this: db63e3a063bdb6f2f579644c7b63bd1b
+]
+
+[a few more (hopefully final) lemmas about union
+robdockins@fastmail.fm**20140422223924
+ Ignore-this: 7b95c75abef9b0d45863b5e33d1c5a37
+]
+
+[finish proofs about union
+robdockins@fastmail.fm**20140422065034
+ Ignore-this: 2929c3cdb013c028a48022b0293b2f18
+]
+
+[powerdomain progress
+robdockins@fastmail.fm**20140421064325
+ Ignore-this: 592f9c6046f05a27897b460edb2efe10
+ Show that powerdomains are endofunctors on PLT. Further, they are monads with
+ the 'singleton' and 'join' operations. Also make some progress on the additive
+ portion of the theory, dealing with emptyset and union.
+]
+
+[tweak makefile
+robdockins@fastmail.fm**20140420031337
+ Ignore-this: d5954b26f731bfed3d79cefacab322fb
+]
+
+[show that semvalue is the weakest condition allowing beta-reduction of strict functions
+robdockins@fastmail.fm**20140420020447
+ Ignore-this: 16a7ed23f04879f1fb324bdac8a2ffaf
+]
+
+[some additional operations relating to the PLT adjunction
+robdockins@fastmail.fm**20140420020351
+ Ignore-this: db8eec6e3f74cce3acb67d2b660b104e
+]
+
+[finish building power domain fmap
+robdockins@fastmail.fm**20140420020217
+ Ignore-this: 556e1cb87576de36cb26f8add3a1b163
+]
+
+[fix up st_lam.v
+robdockins@fastmail.fm**20140329015058
+ Ignore-this: 1c31d674b759fbd0cc74fb3125579f96
+]
+
+[push some proofs into finprod
+robdockins@fastmail.fm**20140329000401
+ Ignore-this: 49070fdd951e49473e60d3cd0ec431c6
+]
+
+[documentation and aesthetic changeds
+robdockins@fastmail.fm**20140327043141
+ Ignore-this: be27b24b78ea6af722a307117e59f5b3
+]
+
+[finish the st_lam_fix example
+robdockins@fastmail.fm**20140322011153
+ Ignore-this: e702f564b6eab2f8c11ab16bcb62504b
+]
+
+[clarafications re: countable choice; remove unfinished example from build order
+robdockins@fastmail.fm**20140321212852
+ Ignore-this: 2a9d5c79c05ba088e1815feab99a5f6c
+]
+
+[break the "fixes" operator into a separate file and prove some facts about it
+robdockins@fastmail.fm**20140318013247
+ Ignore-this: 80c506cef0719a974a049a1f5870f676
+]
+
+[minor fix to skiy.v
+robdockins@fastmail.fm**20140317054057
+ Ignore-this: ffef6fcaf5fa7f8cea80d2808caf4f4c
+]
+
+[add the fixpoint operator; admit proofs
+robdockins@fastmail.fm**20140317044648
+ Ignore-this: 97ca18e980cdf46a9b40c8252badef14
+]
+
+[remove the evaluation case for variables
+robdockins@fastmail.fm**20140317032932
+ Ignore-this: e46d634e735e5b21a18518a48777168d
+]
+
+[start on STLC with fixpoints -- but without fixpoints for now
+robdockins@fastmail.fm**20140317031953
+ Ignore-this: 3458bc18c73d967bef58418bc73e06cb
+]
+
+[add the eliminator for booleans to st_lam; other additional utility lemmas
+robdockins@fastmail.fm**20140317031753
+ Ignore-this: 369dd375755cbd9ae5e3c969f3ef6ec
+]
+
+[some minor code motion
+robdockins@fastmail.fm**20140228064927
+ Ignore-this: 804828472ddb0c5fafc72460fce8387b
+]
+
+[plug final holes in st_lam and add to build order
+robdockins@fastmail.fm**20140228044729
+ Ignore-this: 3edc7f36bfa97775ba33ffa27c80df59
+]
+
+[reduce st_lam.v to facts I believe about fresh variables
+robdockins@fastmail.fm**20140228010832
+ Ignore-this: bde3e73291ddd32337d6fb999e4b1c02
+]
+
+[fix breakages
+robdockins@fastmail.fm**20140226073930
+ Ignore-this: 9be54f5255f8ed9d53a79260e9bdf565
+]
+
+[more work on lambdas
+robdockins@fastmail.fm**20140226043753
+ Ignore-this: 7f7452670221e2643067a3c7cc180998
+]
+
+[use new finprod implementation
+robdockins@fastmail.fm**20140226043700
+ Ignore-this: c9e05df5fcfd31254ed7318fe693490c
+]
+
+[remove old finprod
+robdockins@fastmail.fm**20140226043642
+ Ignore-this: 2705703a2c782da21a152fbb27c8a972
+]
+
+[rearrange the interfact to finprod
+robdockins@fastmail.fm**20140226043541
+ Ignore-this: c44d7c478948f42b188eb8d06469abbf
+]
+
+[fill remaining holes in finprod2
+robdockins@fastmail.fm**20140225205242
+ Ignore-this: 1eeb9b8beef92790c28918292f2a9cf4
+]
+
+[rework some stuff dealing with semidecidable predicates
+robdockins@fastmail.fm**20140225092149
+ Ignore-this: 32b5ccb2927e08979ea92b9ef67c40f4
+]
+
+[lots of work on alpha-congrunce in lambdas
+robdockins@fastmail.fm**20140225035601
+ Ignore-this: fbbec9dac4cb328ff4e0b25df646e0c7
+]
+
+[terminate is universal in PLT
+robdockins@fastmail.fm**20140225035538
+ Ignore-this: abc6cd1a60578c435bf9ca596d8d0922
+]
+
+[new attack on nominal finite products
+robdockins@fastmail.fm**20140225035516
+ Ignore-this: 3875e713acc6aa5193696612f3ede76d
+]
+
+[push forward a little on lambdas
+robdockins@fastmail.fm**20140221095249
+ Ignore-this: c690a1b03075702e3fd84aac7e268211
+]
+
+[update finprod for various changes
+robdockins@fastmail.fm**20140221095230
+ Ignore-this: a6d787930ed356ae2b0a003af1f4d44
+]
+
+[better discrete cases lemma
+robdockins@fastmail.fm**20140219051301
+ Ignore-this: f0ec88e8207257e7657ced933cf687e7
+]
+
+[start working on simply-typed lambdas
+robdockins@fastmail.fm**20140219051238
+ Ignore-this: 69bea345376ea39cd1addc0849a43077
+]
+
+[more messing about with advanced category theory stuff
+robdockins@fastmail.fm**20140211095003
+ Ignore-this: 9cd3c9d961349e8797f109f716c5f678
+]
+
+[minor rearrangements and code motion
+robdockins@fastmail.fm**20140211041724
+ Ignore-this: 642ad6f1395fde7ecd81e5a905fd5428
+]
+
+[some basic bicategory theory
+robdockins@fastmail.fm**20140210083634
+ Ignore-this: f47a898fa045a397d3ee70e1512b8baa
+]
+
+[even more notation futzing
+robdockins@fastmail.fm**20140209072416
+ Ignore-this: d2061652cb3e80f6994f567a9e677b32
+]
+
+[additional notational futzing
+robdockins@fastmail.fm**20140209043308
+ Ignore-this: ac42cbbc94df227e6d5e70b96ae65fd3
+]
+
+[futz around with notations, various other cleanup activities
+robdockins@fastmail.fm**20140209005551
+ Ignore-this: 3f41a52650aadd956ac490b62e59c1c3
+]
+
+[complete adequacy for SKI+Y
+robdockins@fastmail.fm**20140206050414
+ Ignore-this: f730587ac7a42f3e35740976a1439f2e
+]
+
+[minor changes in cpo
+robdockins@fastmail.fm**20140206014745
+ Ignore-this: 95244704faf1e6c336d62dc7912f9022
+]
+
+[push through most of SKI+Y adequacy
+robdockins@fastmail.fm**20140205214805
+ Ignore-this: dc998ef45f2e919e9373bfa21a5ef8c7
+]
+
+[major simplification of the adequacy proof for SKI
+robdockins@fastmail.fm**20140205185605
+ Ignore-this: f1f0dc46274db05f3393038dfe2775e2
+]
+
+[push forward on SKI+Y
+robdockins@fastmail.fm**20140205044216
+ Ignore-this: daf255aa940b42c1c68ba947a356370d
+]
+
+[continue futzing with the LR statement
+robdockins@fastmail.fm**20140203055601
+ Ignore-this: f5ef9f06d3b1a11d76317b52cec691ab
+]
+
+[start pushing on adequacy for SKI+Y
+robdockins@fastmail.fm**20140202085948
+ Ignore-this: 956844809340fad0c13c19e9fa729b5c
+]
+
+[mostly finish soundness for SKI+Y
+robdockins@fastmail.fm**20140202060633
+ Ignore-this: 4c75fd9eeefa1d6dad6866662abea0fd
+]
+
+[start working on a CCL example
+robdockins@fastmail.fm**20140202020748
+ Ignore-this: 44c5d7854cc19b0f90414c2be6b3df68
+]
+
+[make id(A) a parsing-only notation
+robdockins@fastmail.fm**20140202020724
+ Ignore-this: 68f51f754c0b89e2e815da47b901e4b1
+]
+
+[the PLT adjunction is strong monodial
+robdockins@fastmail.fm**20140202020637
+ Ignore-this: 7b29b9a6a5e8efa07440c528ec12d7bd
+]
+
+[fix my broken version of lfp and fixup proofs
+robdockins@fastmail.fm**20140202020615
+ Ignore-this: 3ac283481318622cbf38378e815a4f09
+]
+
+[more work on SKI + Y
+robdockins@fastmail.fm**20140202020516
+ Ignore-this: d1f63e2ef610c6f93d03806c5426cfa5
+]
+
+[start work on SKI + Y
+robdockins@fastmail.fm**20140201085039
+ Ignore-this: fb7a405830cf90526cddd8ce37f4da40
+]
+
+[doc corrections
+robdockins@fastmail.fm**20140130015908
+ Ignore-this: bca4c04267bfdac8cb202651a0960d92
+]
+
+[lots of additional inline documentation
+robdockins@fastmail.fm**20140129234834
+ Ignore-this: ab2c59add5514f44a898de1f0eece98b
+]
+
+[powerdomains form continuous functors in EMBED
+robdockins@fastmail.fm**20140126234115
+ Ignore-this: d2ee08902f0bdb52efd7f7ce2c594469
+]
+
+[complete the powerdomain constructions; build some operations
+robdockins@fastmail.fm**20140125225202
+ Ignore-this: 9c8f2632df05e84fc3794a338ff8720d
+]
+
+[construct the basic powerdomains--still some holes left
+robdockins@fastmail.fm**20140125064541
+ Ignore-this: c3206d2e1e925096b3e9ff49afacef2f
+]
+
+[generalize the lfp construction to a generic chain_sup operation
+robdockins@fastmail.fm**20140124183103
+ Ignore-this: 4cc2c1011b9f79365dcb7c76784fbfa6
+]
+
+[update makefile
+robdockins@fastmail.fm**20140124073734
+ Ignore-this: a0b7db8383262caa314c21b99e146222
+]
+
+[new file for recursive lambda domains
+robdockins@fastmail.fm**20140124070023
+ Ignore-this: 300c02b4da83b6ebd734aa2ccb21cd2d
+]
+
+[more lemmas about antistrict homs
+robdockins@fastmail.fm**20140124065953
+ Ignore-this: 483c7b350dc3cab59c8ff50e1ac73b8c
+]
+
+[fix breakage related to implicit arguments
+robdockins@fastmail.fm**20140124065805
+ Ignore-this: 561693d3280851299c6a49a2a34546b3
+]
+
+[notation tweaks in cpo.v
+robdockins@fastmail.fm**20140124053800
+ Ignore-this: 83e92d8c14568448074a940ceafbe2c9
+]
+
+[add if/then/else to the SKI system
+robdockins@fastmail.fm**20140124023630
+ Ignore-this: 37a9737932a05393a6338380226ca346
+]
+
+[case analysis for finite types
+robdockins@fastmail.fm**20140124012505
+ Ignore-this: 6ec1076b2a74f5832501a105a28a6dba
+]
+
+[finish adequacy proof for SKI
+robdockins@fastmail.fm**20140123211322
+ Ignore-this: 1fe3e626e33431c27e2aa186b3bf91d2
+]
+
+[additional lemmas about domains
+robdockins@fastmail.fm**20140123090037
+ Ignore-this: fcad2dd816f805b8b5e7d1be3df60db8
+]
+
+[most of a proof of adequacy for SKI
+robdockins@fastmail.fm**20140123085839
+ Ignore-this: d1595c02a6387297018e7f316a3e751
+]
+
+[more work on finite products
+robdockins@fastmail.fm**20140121061158
+ Ignore-this: c2f8212e041478104dd4c81c225b42d5
+]
+
+[begin work on a more flexible "finprod" domain
+robdockins@fastmail.fm**20140119021653
+ Ignore-this: 249718a2c31964733171b21c84d2effb
+]
+
+[mess with implicit arguments in categories.v
+robdockins@fastmail.fm**20140113041450
+ Ignore-this: 314cad9207f706e949bd686aaa5c5e1b
+]
+
+[products for CPO, uniformity of lfp
+robdockins@fastmail.fm**20140113041421
+ Ignore-this: e533abe995e634c732a35e71d66ddb6a
+]
+
+[define the LFP in pointed CPOs, prove the Scott induction principle
+robdockins@fastmail.fm**20140112231843
+ Ignore-this: 2014174b1c6914bef376d614f34d073f
+]
+
+[build the forgetful functor from EMBED to PLT
+robdockins@fastmail.fm**20140110014909
+ Ignore-this: 1dacbfc0383e48f4ab35fe0a5fd11cec
+]
+
+[notation changes, prove sum_cases and curry preserve order and equality
+robdockins@fastmail.fm**20140110014820
+ Ignore-this: d1c6a1d0346a9eba14f3529ac30b5e2f
+]
+
+[prove addl facts about pairs, tweak implicit arguments
+robdockins@fastmail.fm**20140110010319
+ Ignore-this: 9f0af8abc268b2b22d8b5450d6a4136
+]
+
+[make 'ob' a coercion
+robdockins@fastmail.fm**20140110010204
+ Ignore-this: 467c0b0a8b086a7f44bf98875a4380d6
+]
+
+[copyright notices
+robdockins@fastmail.fm**20140106232333
+ Ignore-this: f59bafa0ec99e259bd9b4319f2cdbc67
+]
+
+[add ord_dec coercion
+robdockins@fastmail.fm**20140104052750
+ Ignore-this: 4ed1cacfd27979f0fe518862be5ac27c
+]
+
+[define the model for CBV lambda calculus
+robdockins@fastmail.fm**20140104050626
+ Ignore-this: 88ca796d4697bfebb044d3fae27d6129
+]
+
+[proof a fixpoint lemma for unpointed domains
+robdockins@fastmail.fm**20140103231818
+ Ignore-this: 4939eb02d09b6a4eecf145c887c64393
+]
+
+[prove that the adjoint functors between PLT and PPLT extend to continuous functors in EMBED
+robdockins@fastmail.fm**20140103000915
+ Ignore-this: 54da0101f581731ebe512ed514e0603e
+]
+
+[notation changes for PLT
+robdockins@fastmail.fm**20140102234446
+ Ignore-this: ad1f82f22d1bf0e057f11c3508a81716
+]
+
+[move embeddings into their own file; pull TPLT and PPLT into profinite.v
+robdockins@fastmail.fm**20140102234424
+ Ignore-this: 3704996af47ae32415ba3e539d67cf5c
+]
+
+[Show that PLT is cocartesian; rearrange proof that EMBED(true) is terminated
+robdockins@fastmail.fm**20140102213805
+ Ignore-this: 3470df6910e7a3e4bda478c0c6ecea62
+]
+
+[remove unnecessary "inh" hypothesis in the definition of Plotkin order; fixup the fallout
+robdockins@fastmail.fm**20140102213646
+ Ignore-this: b6a5ad59296f938b377d71852120d48b
+]
+
+[move proofs that empty and unit preorders are effective plotkin
+robdockins@fastmail.fm**20140102205530
+ Ignore-this: 7324843510fd938d356aa82003c9ec68
+]
+
+[make epi/mono/iso morphisms into categories
+robdockins@fastmail.fm**20131228082442
+ Ignore-this: ee75a2b6eb1f3d6fa47f17d6734e5015
+]
+
+[define the cocartesian and distributive categories
+robdockins@fastmail.fm**20131226001612
+ Ignore-this: 11e9d8a88bef42bcb800b31d85d28d16
+]
+
+[remove uses of maximally implict arguments
+robdockins@fastmail.fm**20131226001536
+ Ignore-this: c0d93a5398aea58cbcc4fbbca3b59b17
+]
+
+[fixpoints and binary sums for NOMINAL
+robdockins@fastmail.fm**20131121092931
+ Ignore-this: 8a660dfe2ab16a8208ae559dcf2b7ed0
+]
+
+[modify bilimit.v to use the general construction from cont_functors.v
+robdockins@fastmail.fm**20131120075848
+ Ignore-this: 17ea36107ade1646eab5c99aec3561a9
+]
+
+[generic fixpoint construction for categories with initial objects and directed colimits
+robdockins@fastmail.fm**20131119092522
+ Ignore-this: 25674dff855a1cecdb4ee919f8bf3a5d
+]
+
+[remove some irritating unit parameters, fix doc typos
+robdockins@fastmail.fm**20131118093204
+ Ignore-this: 38342d58567d8a13471620d5b7c2b7d4
+]
+
+[improvements to categories; complete some constructions in nominal
+robdockins@fastmail.fm**20131118085737
+ Ignore-this: e58cb49a01d0210dabdb021250910adb
+]
+
+[build fixes
+robdockins@fastmail.fm**20131113004305
+ Ignore-this: 5abffcd1d6b44f816749c5e0cfd5b6e9
+]
+
+[Documentation additions
+robdockins@fastmail.fm**20131113004254
+ Ignore-this: 79a913d3a8652866f3fdc64891f6304d
+]
+
+[lots of inline documentation additions
+robdockins@fastmail.fm**20131112192736
+ Ignore-this: 6aa38112c10ceed3bf43e35dbda98312
+]
+
+[update makefiles
+robdockins@fastmail.fm**20131112192706
+ Ignore-this: d834beaa532cdf994cfa0a0b5a562e4f
+]
+
+[continuous functors for binary sum and products
+robdockins@fastmail.fm**20131112192605
+ Ignore-this: 61520e6e315df909465a02f854816366
+]
+
+[add the category of nominal types
+robdockins@fastmail.fm**20131112192520
+ Ignore-this: f0351c5eb0bdacdfe192a6863d9c0bc6
+]
+
+[split the proof that expF is a continuous functor into a separate file; rearrange some defintions
+robdockins@fastmail.fm**20130924013328
+ Ignore-this: 4eacee37bb6474d1bdfffe416b98b4c1
+]
+
+[rearrange definitions of continuous functors. Prove enough plumbing to build the model: D = D->D
+robdockins@fastmail.fm**20130924002837
+ Ignore-this: a66f9e8833601e244048b70e8bfaab96
+]
+
+[show that the function space is a continuous functor; other junk
+robdockins@fastmail.fm**20130923060521
+ Ignore-this: d8f406450688c633ebc1fe1eb0343c91
+]
+
+[some name changes, other cosmetic fixes
+robdockins@fastmail.fm**20130909043234
+ Ignore-this: cdd24d1c96a34fb3573c1806153df9fb
+]
+
+[additional cosmetic changes and rearrangements
+robdockins@fastmail.fm**20130909020137
+ Ignore-this: 77d28bc9452f6c93915194033118dab7
+]
+
+[reorganize profinite code
+robdockins@fastmail.fm**20130909011437
+ Ignore-this: 8511bf92ca6998ff8c69d5537624bdb8
+]
+
+[cosmetic changes
+robdockins@fastmail.fm**20130908183909
+ Ignore-this: e19039701e58fd26ca4eab79d7b49d14
+]
+
+[complete the bilimit construction, show how to take fixpoints of continuous functors
+robdockins@fastmail.fm**20130908175228
+ Ignore-this: 82feab8fdc0c944f13d91605c6a8e571
+]
+
+[find a MUCH easier path to a bilimit construction
+robdockins@fastmail.fm**20130907012151
+ Ignore-this: fcc72ad140b045ef37e4b03ad38a8fb0
+]
+
+[lots of progress, mostly on defining bilimits
+robdockins@fastmail.fm**20130905204959
+ Ignore-this: abf4bcf03a49fa009f9fb2200ee3abf2
+]
+
+[start working on the theory of finite preorders, which form a basis for plokin orders
+robdockins@fastmail.fm**20130812054451
+ Ignore-this: 5be36257a8fdf486bcc31f587d93c457
+]
+
+[parameterize plotkin orders, build category PPLT
+robdockins@fastmail.fm**20130811063623
+ Ignore-this: 3f273841bc72098acee0fd618627dbd5
+]
+
+[complete the details showing PLT is cartesian closed
+robdockins@fastmail.fm**20130809230336
+ Ignore-this: 13fd1b5a8172dd263cf655421f7584f7
+]
+
+[add files missed in the first import
+robdockins@fastmail.fm**20130809080742
+ Ignore-this: 6b59cce866a486d70559f7c80fe99053
+]
+
+[initial import of development
+robdockins@fastmail.fm**20130809080409
+ Ignore-this: 44cb5a0df2f1643d289f07dcd4227cbf
+ First major steps toward a fully effective and usable formalized
+ domain theory. We formalize the plotkin preorders and show that
+ they form a cartesian closed category.
+]
diff --git a/pkgs/development/coq-modules/domains/default.nix b/pkgs/development/coq-modules/domains/default.nix
new file mode 100644
index 00000000000..975260c839b
--- /dev/null
+++ b/pkgs/development/coq-modules/domains/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchdarcs, coq}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-domains-${coq.coq-version}-${version}";
+ version = "ce1a9806";
+
+ src = fetchdarcs {
+ url = http://hub.darcs.net/rdockins/domains;
+ context = ./darcs_context;
+ sha256 = "0zdqiw08b453i8gdxwbk7nia2dv2r3pncmxsvgr0kva7f3dn1rnc";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ];
+ propagatedBuildInputs = [ coq ];
+
+ installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+ meta = with stdenv.lib; {
+ homepage = http://rwd.rdockins.name/domains/;
+ description = "A Coq library for domain theory";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix
new file mode 100644
index 00000000000..c26c22b0a6d
--- /dev/null
+++ b/pkgs/development/coq-modules/flocq/default.nix
@@ -0,0 +1,33 @@
+{stdenv, bash, which, autoconf, automake, fetchurl, coq}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-flocq-${coq.coq-version}-${version}";
+ version = "2.4.0";
+
+ src = fetchurl {
+ url = https://gforge.inria.fr/frs/download.php/file/33979/flocq-2.4.0.tar.gz;
+ sha256 = "020x4nkkrvndkvp5zwb9vads8a2jh603khcwrm40yhqldgfd8zlv";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 bash which autoconf automake ];
+ propagatedBuildInputs = [ coq ];
+
+ buildPhase = ''
+ ${bash}/bin/bash autogen.sh
+ ${bash}/bin/bash configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Flocq
+ ./remake
+ '';
+
+ installPhase = ''
+ ./remake install
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://flocq.gforge.inria.fr/;
+ description = "Flocq (Floats for Coq) is a floating-point formalization for the Coq system";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix
new file mode 100644
index 00000000000..5f31fe6dc34
--- /dev/null
+++ b/pkgs/development/coq-modules/heq/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, coq, unzip}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-heq-${coq.coq-version}-${version}";
+ version = "0.92";
+
+ src = fetchurl {
+ url = "https://www.mpi-sws.org/~gil/Heq/download/Heq-${version}.zip";
+ sha256 = "03y71c4qs6cmy3s2hjs05g7pcgk9sqma6flj15394yyxbvr9is1p";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+ propagatedBuildInputs = [ coq ];
+
+ preBuild = "cd src";
+
+ installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}";
+
+ meta = with stdenv.lib; {
+ homepage = https://www.mpi-sws.org/~gil/Heq/;
+ description = "Heq : a Coq library for Heterogeneous Equality";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index ca8bd6481ef..02d06edd538 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -11,12 +11,14 @@ stdenv.mkDerivation {
propagatedBuildInputs = [ coq ssreflect ];
+ enableParallelBuilding = true;
+
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
- maintainers = [ maintainers.vbgl ];
+ maintainers = [ maintainers.vbgl maintainers.jwiegley ];
platforms = coq.meta.platforms;
hydraPlatforms = [];
};
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
new file mode 100644
index 00000000000..c885d14aa3f
--- /dev/null
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, coq, unzip}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-paco-${coq.coq-version}-${version}";
+ version = "1.2.7";
+
+ src = fetchurl {
+ url = "http://plv.mpi-sws.org/paco/paco-${version}.zip";
+ sha256 = "010fs74c0cmb9sz5dmrgzg4pmb2mgwia4gm0g9l7j2fq5xxcschb";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+ propagatedBuildInputs = [ coq ];
+
+ preBuild = "cd src";
+
+ installPhase = ''
+ COQLIB=$out/lib/coq/${coq.coq-version}/
+ mkdir -p $COQLIB/user-contrib/Paco
+ cp -pR *.vo $COQLIB/user-contrib/Paco
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://plv.mpi-sws.org/paco/;
+ description = "Paco is a Coq library implementing parameterized coinduction";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index 912ff7071f8..75112ec9663 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -14,12 +14,26 @@ stdenv.mkDerivation {
buildInputs = [ coq.ocaml coq.camlp5 ];
propagatedBuildInputs = [ coq ];
+ enableParallelBuilding = true;
+
+ patchPhase = ''
+ # Permit building of the ssrcoq statically-bound executable
+ sed -i 's/^#-custom/-custom/' Make
+ sed -i 's/^#SSRCOQ/SSRCOQ/' Make
+ '';
+
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+ postInstall = ''
+ mkdir -p $out/bin
+ cp -p bin/ssrcoq $out/bin
+ cp -p bin/ssrcoq.byte $out/bin
+ '';
+
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
- maintainers = with maintainers; [ vbgl ];
+ maintainers = with maintainers; [ vbgl jwiegley ];
platforms = coq.meta.platforms;
};
diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix
new file mode 100644
index 00000000000..e47ffbdd456
--- /dev/null
+++ b/pkgs/development/coq-modules/tlc/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchsvn, coq}:
+
+stdenv.mkDerivation {
+
+ name = "coq-tlc-${coq.coq-version}";
+
+ src = fetchsvn {
+ url = svn://scm.gforge.inria.fr/svn/tlc/branches/v3.1;
+ rev = 240;
+ sha256 = "0mjnb6n9wzb13y2ix9cvd6irzd9d2gj8dcm2x71wgan0jcskxadm";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ];
+ propagatedBuildInputs = [ coq ];
+
+ installPhase = ''
+ COQLIB=$out/lib/coq/${coq.coq-version}/
+ mkdir -p $COQLIB/user-contrib/Tlc
+ cp -p *.vo $COQLIB/user-contrib/Tlc
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://www.chargueraud.org/softs/tlc/;
+ description = "TLC is a general purpose Coq library that provides an alternative to Coq's standard library";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/unimath/default.nix b/pkgs/development/coq-modules/unimath/default.nix
new file mode 100644
index 00000000000..e16156dec53
--- /dev/null
+++ b/pkgs/development/coq-modules/unimath/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-unimath-${coq.coq-version}-${version}";
+ version = "a2714eca";
+
+ src = fetchgit {
+ url = git://github.com/UniMath/UniMath.git;
+ rev = "a2714eca29444a595cd280ea961ec33d17712009";
+ sha256 = "0brhbslx4sxl8m9nxjbdl91gi99vcrikykl6b00f4cx5ww43csln";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ];
+ propagatedBuildInputs = [ coq ];
+
+ installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/UniMath/UniMath;
+ description = "UniMath aims to formalize a substantial body of mathematics using the univalent point of view.";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/coq-modules/ynot/default.nix b/pkgs/development/coq-modules/ynot/default.nix
new file mode 100644
index 00000000000..555945068b1
--- /dev/null
+++ b/pkgs/development/coq-modules/ynot/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+ name = "coq-ynot-${coq.coq-version}-${version}";
+ version = "ce1a9806";
+
+ src = fetchgit {
+ url = git://github.com/Ptival/ynot.git;
+ rev = "ce1a9806c26ffc6e7def41da50a9aac1433cb2f8";
+ sha256 = "1pcmcl5zamiimkcg1xvynxnfbv439y02vg1mnz79hqq9mnjyfnpw";
+ };
+
+ buildInputs = [ coq.ocaml coq.camlp5 ];
+ propagatedBuildInputs = [ coq ];
+
+ preBuild = "cd src";
+
+ installPhase = ''
+ COQLIB=$out/lib/coq/${coq.coq-version}/
+ mkdir -p $COQLIB/user-contrib/Ynot
+ cp -pR coq/*.vo $COQLIB/user-contrib/Ynot
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = http://ynot.cs.harvard.edu/;
+ description = "Ynot is a library for writing and verifying imperative programs";
+ maintainers = with maintainers; [ jwiegley ];
+ platforms = coq.meta.platforms;
+ };
+
+}
diff --git a/pkgs/development/eclipse/ecj/default.nix b/pkgs/development/eclipse/ecj/default.nix
index 0f52e879863..19ec3a3a2fb 100644
--- a/pkgs/development/eclipse/ecj/default.nix
+++ b/pkgs/development/eclipse/ecj/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
homepage = http://www.eclipse.org/jdt/core/index.php;
# http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
- license = "EPLv1.0";
+ license = stdenv.lib.licenses.epl10;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
diff --git a/pkgs/development/guile-modules/guile-opengl/default.nix b/pkgs/development/guile-modules/guile-opengl/default.nix
new file mode 100644
index 00000000000..4d608f4caa9
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-opengl/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, guile }:
+
+stdenv.mkDerivation rec {
+ name = "guile-opengl-0.1.0";
+
+ meta = with stdenv.lib; {
+ description = "Guile binding for the OpenGL graphics API";
+ homepage = "http://gnu.org/s/guile-opengl";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ iyzsong ];
+ };
+
+ src = fetchurl {
+ url = "mirror://gnu/guile-opengl/${name}.tar.gz";
+ sha256 = "13qfx4xh8baryxqrv986l848ygd0piqwm6s2s90pxk9c0m9vklim";
+ };
+
+ nativeBuildInputs = [ pkgconfig guile ];
+}
diff --git a/pkgs/development/guile-modules/guile-sdl/default.nix b/pkgs/development/guile-modules/guile-sdl/default.nix
new file mode 100644
index 00000000000..8c1706be583
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-sdl/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, guile, buildEnv
+, SDL, SDL_image, SDL_ttf, SDL_mixer
+}:
+
+stdenv.mkDerivation rec {
+ name = "guile-sdl-0.5.1";
+
+ meta = with stdenv.lib; {
+ description = "Guile bindings for SDL";
+ homepage = "http://gnu.org/s/guile-sdl";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ iyzsong ];
+ };
+
+ src = fetchurl {
+ url = "mirror://gnu/guile-sdl/${name}.tar.xz";
+ sha256 = "126n4rd0ydh6i2s11ari5k85iivradlf12zq13b34shf9k1wn5am";
+ };
+
+ nativeBuildInputs = [ guile ];
+
+ buildInputs = [
+ SDL SDL_image SDL_ttf SDL_mixer
+ ];
+
+ GUILE_AUTO_COMPILE = 0;
+
+ makeFlags = let
+ sdl = buildEnv {
+ name = "sdl-env";
+ paths = buildInputs;
+ };
+ in "SDLMINUSI=-I${sdl}/include/SDL";
+}
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix
index 1167f121e62..7ed14b632f7 100644
--- a/pkgs/development/interpreters/angelscript/default.nix
+++ b/pkgs/development/interpreters/angelscript/default.nix
@@ -11,10 +11,10 @@ let
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="angelscript";
- version = "2.29.1";
+ version = "2.29.2";
name="${baseName}-${version}";
url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
- sha256 = "081a0wnn1hl0hjgrg0nz63ff7k7dgrwsgszka5i7623ny407fkl5";
+ sha256 = "12ws4vp9iyxbgzxxdq7g9729vg1ld92f38gfznyhsknhsay4kmf5";
};
in
rec {
diff --git a/pkgs/development/interpreters/clisp/2.33.2.nix b/pkgs/development/interpreters/clisp/2.33.2.nix
new file mode 100644
index 00000000000..18b325684ca
--- /dev/null
+++ b/pkgs/development/interpreters/clisp/2.33.2.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
+, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
+, libffi, libffcall, coreutils, automake, autoconf, linuxHeaders
+, groff
+}:
+
+stdenv.mkDerivation rec {
+ version = "2.33.2";
+ name = "clisp-${version}";
+
+ src = fetchurl {
+ url = "mirror://gnu/clisp/release/${version}/${name}.tar.gz";
+ sha256 = "0rqyggviixaa68n5ll092ll4a2xy4y7jraq65l0gn0hkjhjnm5zh";
+ };
+
+ buildInputs =
+ [ libsigsegv gettext ncurses readline libX11 libXau libXt pcre
+ zlib libXpm xproto libXext xextproto libffi libffcall
+ automake autoconf groff
+ ]
+ ++ (stdenv.lib.optional stdenv.isLinux linuxHeaders)
+ ;
+
+ # First, replace port 9090 (rather low, can be used)
+ # with 64237 (much higher, IANA private area, not
+ # anything rememberable).
+ # Also remove reference to a type that disappeared from recent glibc
+ # (seems the correct thing to do, found no reference to any solution)
+ postPatch = ''
+ sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
+ find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
+
+ substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
+ '';
+
+ configureFlags =
+ ''
+ builddir
+ --with-readline --with-ffcall --with-dynamic-ffi
+ --with-module=readline --with-module=i18n --with-module=pcre
+ --with-module=syscalls --with-modules=zlib --with-module=curses
+ '';
+
+ preBuild = ''
+ echo Pre-build starting!
+ sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
+ sed -e '/asm\/page.h/d' -i src/unix.d
+ cd builddir
+ ./makemake $configureFlags > Makefile
+ make config.lisp
+ cat config.lisp
+ '';
+
+ NIX_CFLAGS_COMPILE="-O0 -lreadline -lncursesw";
+
+ # TODO : make mod-check fails
+ doCheck = false;
+
+ meta = {
+ description = "ANSI Common Lisp Implementation";
+ homepage = http://clisp.cons.org;
+ maintainers = [stdenv.lib.maintainers.raskin];
+ platforms = stdenv.lib.platforms.linux;
+ branch = "2.44";
+ };
+}
diff --git a/pkgs/development/interpreters/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix
index 521933b0ed1..66f53831374 100644
--- a/pkgs/development/interpreters/clisp/2.44.1.nix
+++ b/pkgs/development/interpreters/clisp/2.44.1.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
homepage = http://clisp.cons.org;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
+ branch = "2.44";
};
}
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix
new file mode 100644
index 00000000000..4f2e100c684
--- /dev/null
+++ b/pkgs/development/interpreters/eff/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, ocaml, findlib, menhir, which }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+ name = "eff-20140928";
+
+ src = fetchgit {
+ url = "https://github.com/matijapretnar/eff.git";
+ rev = "90f884a790fddddb51d4d1d3b7c2edf1e8aabb64";
+ sha256 = "28e389b35e6959072c245c2e79fe305885b1b2d44ff540a02a097e09e9f9698f";
+ };
+
+ buildInputs = [ ocaml findlib menhir which ];
+
+ doCheck = true;
+ checkTarget = "test";
+
+ meta = with stdenv.lib; {
+ homepage = "http://www.eff-lang.org";
+ description = "A functional programming language based on algebraic effects and their handlers";
+ longDescription = ''
+ Eff is a functional language with handlers of not only exceptions,
+ but also of other computational effects such as state or I/O. With
+ handlers, you can simply implement transactions, redirections,
+ backtracking, multi-threading, and much more...
+ '';
+ license = licenses.bsd2;
+ platforms = ocaml.meta.platforms;
+ maintainers = [ maintainers.jirkamarsik ];
+ };
+}
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 9a5d2417df7..378edfaf343 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,14 +1,14 @@
{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }:
let
- version = "1.0.0";
+ version = "1.0.2";
in
stdenv.mkDerivation {
name = "elixir-${version}";
src = fetchurl {
url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
- sha256 = "1ci8g6nh89xnn0ax9kazcs47w406nqsj1d4rf8sb1b6abfq78xsj";
+ sha256 = "6156ee396e85045358d11a6839e157e8fa9573b7414bddbd2c91843ed2b4b962";
};
buildInputs = [ erlang rebar makeWrapper ];
@@ -28,8 +28,9 @@ stdenv.mkDerivation {
# Elixir binaries are shell scripts which run erl. Add some stuff
# to PATH so the scripts can run without problems.
- for f in $out/bin/*
- do
+ for f in $out/bin/*; do
+ b=$(basename $f)
+ if [ $b == "mix" ]; then continue; fi
wrapProgram $f \
--prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \
--set CURL_CA_BUNDLE "${cacert}/etc/ca-bundle.crt"
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index c611577adfb..9a2bd0ff328 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "groovy-${version}";
- version = "2.3.7";
+ version = "2.3.8";
src = fetchurl {
url = "http://dl.bintray.com/groovy/maven/groovy-binary-${version}.zip";
- sha256 = "09957vi33c8bgk6z4wnidch5sz3s183yh6xba8cdjy5f7jpzmmiq";
+ sha256 = "0fgsn1s7vhxcrwb2wa6zvrdzff7zbb2s6f7xj6c9x7gl9mdfcwpn";
};
installPhase = ''
diff --git a/pkgs/development/interpreters/guile/clang.patch b/pkgs/development/interpreters/guile/clang.patch
new file mode 100644
index 00000000000..4d0f342b211
--- /dev/null
+++ b/pkgs/development/interpreters/guile/clang.patch
@@ -0,0 +1,14 @@
+diff --git a/lib/stdint.in.h b/lib/stdint.in.h
+index 889bca7..15d39b0 100644
+--- a/lib/stdint.in.h
++++ b/lib/stdint.in.h
+@@ -74,7 +74,8 @@
+ in would reinclude us, skipping our contents because
+ _@GUARD_PREFIX@_STDINT_H is defined.
+ The include_next requires a split double-inclusion guard. */
+-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
++# include
++// # @INCLUDE_NEXT@ @NEXT_STDINT_H@
+ #endif
+
+ #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 2ddad5cde67..c4634de5d3f 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -7,11 +7,11 @@
else stdenv.mkDerivation)
(rec {
- name = "guile-2.0.9";
+ name = "guile-2.0.11";
src = fetchurl {
url = "mirror://gnu/guile/${name}.tar.xz";
- sha256 = "0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp";
+ sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f";
};
nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
@@ -27,9 +27,11 @@
# A native Guile 2.0 is needed to cross-build Guile.
selfNativeBuildInput = true;
- enableParallelBuilding = true;
+ # Guile 2.0.11 repeatable fails with 8-core parallel building because
+ # libguile/vm-i-system.i is not created in time
+ enableParallelBuilding = false;
- patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ] ++
+ patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch ] ++
(stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
# Explicitly link against libgcc_s, to work around the infamous
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.0.sh b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
index 6994c4cd8dc..fd1dc944ed4 100644
--- a/pkgs/development/interpreters/guile/setup-hook-2.0.sh
+++ b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
@@ -10,4 +10,4 @@ addGuileLibPath () {
fi
}
-envHooks=(${envHooks[@]} addGuileLibPath)
+envHooks+=(addGuileLibPath)
diff --git a/pkgs/development/interpreters/guile/setup-hook.sh b/pkgs/development/interpreters/guile/setup-hook.sh
index 87cb5118506..c1d19e579ed 100644
--- a/pkgs/development/interpreters/guile/setup-hook.sh
+++ b/pkgs/development/interpreters/guile/setup-hook.sh
@@ -5,4 +5,4 @@ addGuileLibPath () {
fi
}
-envHooks=(${envHooks[@]} addGuileLibPath)
+envHooks+=(addGuileLibPath)
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index d4a1ab85b13..9c09038051e 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -29,12 +29,12 @@ rec {
/* doConfigure should be removed if not needed */
phaseNames = ["doUnpack" "doBuildJ" "doDeploy"];
- bits = if a.stdenv.system == "i686-linux" then
- "32"
- else if a.stdenv.system == "x86_64-linux" then
+ bits = if a.stdenv.is64bit then
"64"
- else
- throw "Oops, unknown system: ${a.stdenv.system}";
+ else if a.stdenv.isi686 then
+ "32"
+ else
+ builtins.trace "assuming ${a.stdenv.system} is 32 bits" "32";
doBuildJ = a.fullDepEntry ''
sed -i bin/jconfig -e 's@bits=32@bits=${bits}@g; s@readline=0@readline=1@; s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@'
@@ -69,7 +69,7 @@ rec {
raskin
];
platforms = with a.lib.platforms;
- linux;
+ unix;
license = a.lib.licenses.gpl3Plus;
};
passthru = {
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index f70fb164623..ab559aa9e65 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
meta = {
description = "Ruby interpreter written in Java";
homepage = http://jruby.org/;
- license = "CPL-1.0 GPL-2 LGPL-2.1"; # one of those
+ license = with stdenv.lib.licenses; [ cpl10 gpl2 lgpl21 ];
};
}
diff --git a/pkgs/development/interpreters/kona/default.nix b/pkgs/development/interpreters/kona/default.nix
index cec0d35bde5..2a8f7ca2c30 100644
--- a/pkgs/development/interpreters/kona/default.nix
+++ b/pkgs/development/interpreters/kona/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
, fetchgit
, ...}:
builderDefsPackage
-(a :
-let
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+(a :
+let
+ helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
["fetchgit"];
buildInputs = map (n: builtins.getAttr n x)
@@ -31,7 +31,7 @@ rec {
prepareOut = a.fullDepEntry ''
mkdir -p "$out/bin"
'' ["minInit" "defEnsureDir"];
-
+
meta = {
description = "An interpreter of K, APL-like programming language";
maintainers = with a.lib.maintainers;
@@ -40,7 +40,7 @@ rec {
];
platforms = with a.lib.platforms;
linux;
- license = "free-noncopyleft";
+ license = a.lib.licenses.free;
};
passthru = {
updateInfo = {
@@ -48,4 +48,3 @@ rec {
};
};
}) x
-
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 444ecbc787a..adeaa9fae7b 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
configurePhase =
if stdenv.isDarwin
then ''
- makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" )
+ makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC="$CC" )
installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
'' else ''
makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" )
diff --git a/pkgs/development/interpreters/mujs/default.nix b/pkgs/development/interpreters/mujs/default.nix
new file mode 100644
index 00000000000..7ef475ddab8
--- /dev/null
+++ b/pkgs/development/interpreters/mujs/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit, clang }:
+
+stdenv.mkDerivation rec {
+ name = "mujs-2014-11-29";
+
+ src = fetchgit {
+ url = git://git.ghostscript.com/mujs.git;
+ rev = "6afabf445cad0dd9afbc1f5870dba730801f09c0";
+ sha256 = "1afzmncw3jvfq6smhhhsi1ywfmdpxkjpzswb86pdmdh3p04g1r0n";
+ };
+
+ buildInputs = [ clang ];
+
+ makeFlags = [ "prefix=$(out)" ];
+
+ meta = with stdenv.lib; {
+ homepage = http://mujs.com/;
+ description = "A lightweight, embeddable Javascript interpreter";
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with maintainers; [ pSub ];
+ license = licenses.gpl3;
+ };
+}
diff --git a/pkgs/development/interpreters/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
index 21d203f8e63..6e7ffa656a0 100644
--- a/pkgs/development/interpreters/nix-exec/default.nix
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, nix }: let
- version = "1.0.0";
+{ stdenv, fetchurl, pkgconfig, nix, git }: let
+ version = "4.0.0";
in stdenv.mkDerivation {
name = "nix-exec-${version}";
src = fetchurl {
url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
- sha256 = "0w89ma69iil1ki68zvs1l0ii0d87in64791l3a4yzyv9d3ncl3w6";
+ sha256 = "0qw25v8pzx08mirhy46dmqj93nwnxfvgw2jsn8rvxh2d7x4nc8jv";
};
- buildInputs = [ pkgconfig nix ];
+ buildInputs = [ pkgconfig nix git ];
meta = {
description = "Run programs defined in nix expressions";
diff --git a/pkgs/development/interpreters/perl/5.14/setup-hook.sh b/pkgs/development/interpreters/perl/5.14/setup-hook.sh
index 6a144a7f780..a8656b8531d 100644
--- a/pkgs/development/interpreters/perl/5.14/setup-hook.sh
+++ b/pkgs/development/interpreters/perl/5.14/setup-hook.sh
@@ -2,4 +2,4 @@ addPerlLibPath () {
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
}
-envHooks=(${envHooks[@]} addPerlLibPath)
+envHooks+=(addPerlLibPath)
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index c1a5374c92e..db9b821b888 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, enableThreading ? true }:
let
@@ -6,10 +6,6 @@ let
in
-with {
- inherit (stdenv.lib) optional optionalString;
-};
-
stdenv.mkDerivation rec {
name = "perl-5.16.3";
@@ -21,9 +17,12 @@ stdenv.mkDerivation rec {
patches =
[ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch
+ ./no-impure-config-time.patch
+ ./fixed-man-page-date.patch
+ ./no-date-in-perl-binary.patch
]
- ++ optional stdenv.isSunOS ./ld-shared.patch
- ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
+ ++ lib.optional stdenv.isSunOS ./ld-shared.patch
+ ++ lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
# Build a thread-safe Perl with a dynamic libperls.o. We need the
# "installstyle" option to ensure that modules are put under
@@ -32,14 +31,13 @@ stdenv.mkDerivation rec {
# Miniperl needs -lm. perl needs -lrt.
configureFlags =
[ "-de"
- "-Dcc=gcc"
"-Uinstallusrbinperl"
"-Dinstallstyle=lib/perl5"
"-Duseshrplib"
"-Dlocincpth=${libc}/include"
"-Dloclibpth=${libc}/lib"
]
- ++ optional (stdenv ? glibc) "-Dusethreads";
+ ++ lib.optional enableThreading "-Dusethreads";
configureScript = "${stdenv.shell} ./Configure";
@@ -51,18 +49,18 @@ stdenv.mkDerivation rec {
''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
- ${optionalString stdenv.isArm ''
+ ${lib.optionalString stdenv.isArm ''
configureFlagsArray=(-Dldflags="-lm -lrt")
''}
- ${optionalString stdenv.isCygwin ''
+ ${lib.optionalString stdenv.isCygwin ''
cp cygwin/cygwin.c{,.bak}
echo "#define PERLIO_NOT_STDIO 0" > tmp
cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c
''}
'';
- preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
+ preBuild = lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
''
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
diff --git a/pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch b/pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch
new file mode 100644
index 00000000000..79f9bc3658e
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch
@@ -0,0 +1,11 @@
+--- a/cpan/podlators/lib/Pod/Man.pm 2014-04-07 06:25:23.730505243 +0200
++++ b/cpan/podlators/lib/Pod/Man.pm 2014-04-07 06:26:40.816552603 +0200
+@@ -768,7 +768,7 @@
+ } else {
+ ($name, $section) = $self->devise_title;
+ }
+- my $date = $$self{date} || $self->devise_date;
++ my $date = "1970-01-01"; # Fixed date for NixOS, orig: $$self{date} || $self->devise_date;
+ $self->preamble ($name, $section, $date)
+ unless $self->bare_output or DEBUG > 9;
+
diff --git a/pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch b/pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch
new file mode 100644
index 00000000000..00ea47ae45f
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch
@@ -0,0 +1,11 @@
+--- a/perl.c 2014-04-07 07:58:01.402831615 +0200
++++ b/perl.c 2014-04-07 07:59:38.556945298 +0200
+@@ -1754,7 +1754,7 @@
+ PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
+ sizeof(non_bincompat_options) - 1, SVs_TEMP));
+
+-#ifdef __DATE__
++#if 0
+ # ifdef __TIME__
+ PUSHs(Perl_newSVpvn_flags(aTHX_
+ STR_WITH_LEN("Compiled at " __DATE__ " " __TIME__),
diff --git a/pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch b/pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch
new file mode 100644
index 00000000000..2bf1841e9dd
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch
@@ -0,0 +1,11 @@
+--- a/Configure 2014-04-05 20:21:33.714635700 +0200
++++ b/Configure 2014-04-05 20:23:23.377441026 +0200
+@@ -3609,6 +3609,8 @@
+
+ : who configured the system
+ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
++cf_time='Thu Jan 1 00:00:00 UTC 1970'
++
+ case "$cf_by" in
+ "")
+ cf_by=`(logname) 2>/dev/null`
diff --git a/pkgs/development/interpreters/perl/5.16/setup-hook.sh b/pkgs/development/interpreters/perl/5.16/setup-hook.sh
index 6a144a7f780..a8656b8531d 100644
--- a/pkgs/development/interpreters/perl/5.16/setup-hook.sh
+++ b/pkgs/development/interpreters/perl/5.16/setup-hook.sh
@@ -2,4 +2,4 @@ addPerlLibPath () {
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
}
-envHooks=(${envHooks[@]} addPerlLibPath)
+envHooks+=(addPerlLibPath)
diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix
index d9fb32aa43e..66a9ca597a4 100644
--- a/pkgs/development/interpreters/perl/5.20/default.nix
+++ b/pkgs/development/interpreters/perl/5.20/default.nix
@@ -1,4 +1,16 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, enableThreading ? true }:
+
+# We can only compile perl with threading on platforms where we have a
+# real glibc in the stdenv.
+#
+# Instead of silently building an unthreaded perl if this is not the
+# case, we force callers to disableThreading explicitly, therefore
+# documenting the platforms where the perl is not threaded.
+#
+# In the case of stdenv linux boot stage1 it's not possible to use
+# threading because of the simpleness of the bootstrap glibc, so we
+# use enableThreading = false there.
+assert enableThreading -> (stdenv ? glibc);
let
@@ -11,11 +23,11 @@ with {
};
stdenv.mkDerivation rec {
- name = "perl-5.20.0";
+ name = "perl-5.20.1";
src = fetchurl {
- url = "mirror://cpan/src/${name}.tar.gz";
- sha256 = "00ndpgw4bjing9gy2y6jvs3q46mv2ll6zrxjkhpr12fcdsnji32f";
+ url = "mirror://cpan/authors/id/S/SH/SHAY/${name}.tar.gz";
+ sha256 = "1dfl4v5fngnkd1c4278gcdjgcapsw7laxq0b34nxrx76z4805wgy";
};
patches =
@@ -39,7 +51,7 @@ stdenv.mkDerivation rec {
"-Dlocincpth=${libc}/include"
"-Dloclibpth=${libc}/lib"
]
- ++ optional (stdenv ? glibc) "-Dusethreads";
+ ++ optional enableThreading "-Dusethreads";
configureScript = "${stdenv.shell} ./Configure";
diff --git a/pkgs/development/interpreters/perl/5.20/setup-hook.sh b/pkgs/development/interpreters/perl/5.20/setup-hook.sh
index 6a144a7f780..a8656b8531d 100644
--- a/pkgs/development/interpreters/perl/5.20/setup-hook.sh
+++ b/pkgs/development/interpreters/perl/5.20/setup-hook.sh
@@ -2,4 +2,4 @@ addPerlLibPath () {
addToSearchPath PERL5LIB $1/lib/perl5/site_perl
}
-envHooks=(${envHooks[@]} addPerlLibPath)
+envHooks+=(addPerlLibPath)
diff --git a/pkgs/development/interpreters/perl/sys-perl/setup-hook.sh b/pkgs/development/interpreters/perl/sys-perl/setup-hook.sh
index a46a19602e7..7b03c15ec5a 100644
--- a/pkgs/development/interpreters/perl/sys-perl/setup-hook.sh
+++ b/pkgs/development/interpreters/perl/sys-perl/setup-hook.sh
@@ -2,4 +2,4 @@ addPerlLibPath () {
addToSearchPath PERL5LIB $1/@libPrefix@
}
-envHooks=(${envHooks[@]} addPerlLibPath)
+envHooks+=(addPerlLibPath)
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index c1d02064fe1..4de87f20d8e 100644
--- a/pkgs/development/interpreters/php/5.3.nix
+++ b/pkgs/development/interpreters/php/5.3.nix
@@ -10,7 +10,7 @@ in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
- version = "5.3.28";
+ version = "5.3.29";
name = "php-${version}";
@@ -228,7 +228,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
- sha256 = "04w53nn6qacpkd1x381mzd41kqh6k8kjnbyg44yvnkqwcl69db0c";
+ sha256 = "1480pfp4391byqzmvdmbxkdkqwdzhdylj63sfzrcgadjf9lwzqf4";
name = "php-${version}.tar.bz2";
};
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index 4f378ddff4f..c9a3ae61862 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -9,7 +9,7 @@ in
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
- version = "5.4.32";
+ version = "5.4.35";
name = "php-${version}";
@@ -185,12 +185,6 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
php is build within this derivation in order to add the xdebug lines to the php.ini.
So both Apache and command line php both use xdebug without having to configure anything.
Xdebug could be put in its own derivation.
- * /
- meta = {
- description = "debugging support for PHP";
- homepage = http://xdebug.org;
- license = "based on the PHP license - as is";
- };
*/
};
@@ -249,13 +243,13 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
src = fetchurl {
url = "http://www.php.net/distributions/php-${version}.tar.bz2";
- sha256 = "09n8lxnc5p2xfwk0ql2lh183h78hha1axhrdsa6g3650d5v73l16";
+ sha256 = "0d425zxka3m1l0ygsls4r56qy374rf6skl4ggim0k2y1y08fmm2p";
};
meta = {
description = "An HTML-embedded scripting language";
homepage = http://www.php.net/;
- license = "PHP-3";
+ license = stdenv.lib.licenses.php301;
};
patches = [ ./fix-5.4.patch ];
diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix
index 196e7068e14..adc0261eddb 100644
--- a/pkgs/development/interpreters/picolisp/default.nix
+++ b/pkgs/development/interpreters/picolisp/default.nix
@@ -12,18 +12,18 @@ let
sourceInfo = rec {
baseName="picolisp";
tarballBaseName="picoLisp";
- version="3.0.5";
+ version="3.1.8";
name="${baseName}-${version}";
tarballName="${tarballBaseName}-${version}";
extension="tgz";
url="http://www.software-lab.de/${tarballName}.${extension}";
- hash="07w2aygllkmnfcnby3dy88n9giqsas35s77rp2lr2ll5yy2hkc0x";
+ sha256="0bkr1ck157871bv4a8dp9dmcvxigjsikm5rr2khylxc3l6il7s1i";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
- sha256 = sourceInfo.hash;
+ sha256 = sourceInfo.sha256;
};
inherit (sourceInfo) name version;
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 84ae789150d..bfa47693de0 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -1,52 +1,39 @@
-x@{builderDefsPackage
- , llvm, gmp, mpfr, readline, bison, flex, makeWrapper
- , ...}:
-builderDefsPackage
-(a :
-let
- helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
- [];
+{ lib, stdenv, fetchurl, makeWrapper,
+ llvm, gmp, mpfr, readline, bison, flex }:
- buildInputs = map (n: builtins.getAttr n x)
- (builtins.attrNames (builtins.removeAttrs x helperArgNames));
- sourceInfo = rec {
- baseName="pure";
- project="pure-lang";
- version="0.58";
- name="${baseName}-${version}";
- extension="tar.gz";
+stdenv.mkDerivation rec {
+ baseName="pure";
+ project="pure-lang";
+ version="0.63";
+ name="${baseName}-${version}";
+ extension="tar.gz";
+
+ src = fetchurl {
url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
- hash="180ygv8nmfy8v4696km8jdahn5cnr454sc8i1av7s6z4ss7mrxmi";
- };
-in
-rec {
- src = a.fetchurl {
- url = sourceInfo.url;
- sha256 = sourceInfo.hash;
+ sha256="33acb2d560b21813f5e856973b493d9cfafba82bd6f539425ce07aa22f84ee29";
};
- inherit (sourceInfo) name version;
- inherit buildInputs;
+ buildInputs = [ bison flex makeWrapper ];
+ propagatedBuildInputs = [ llvm gmp mpfr readline ];
- /* doConfigure should be removed if not needed */
- phaseNames = ["doConfigure" "doMakeInstall" "doWrap"];
-
- doWrap = a.makeManyWrappers ''$out/bin/pure'' ''--prefix LD_LIBRARY_PATH : "${llvm}/lib"'';
+ configureFlags = [ "--enable-release" ];
+ doCheck = true;
+ checkPhase = ''
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${llvm}/lib make check
+ '';
+ postInstall = ''
+ wrapProgram $out/bin/pure --prefix LD_LIBRARY_PATH : ${llvm}/lib
+ '';
meta = {
- description = "A purely functional programming language based on term rewriting";
- maintainers = with a.lib.maintainers;
+ description = "A modern-style functional programming language based on term rewriting";
+ maintainers = with lib.maintainers;
[
raskin
+ asppsa
];
- platforms = with a.lib.platforms;
+ platforms = with lib.platforms;
linux;
- license = a.lib.licenses.gpl3Plus;
+ license = lib.licenses.gpl3Plus;
};
- passthru = {
- updateInfo = {
- downloadPage = "https://bitbucket.org/purelang/pure-lang/downloads";
- };
- };
-}) x
-
+}
\ No newline at end of file
diff --git a/pkgs/development/interpreters/pypy/2.4/default.nix b/pkgs/development/interpreters/pypy/2.4/default.nix
index 8f9647c2134..31024b17925 100644
--- a/pkgs/development/interpreters/pypy/2.4/default.nix
+++ b/pkgs/development/interpreters/pypy/2.4/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11
-, makeWrapper }:
+, makeWrapper, callPackage, self }:
assert zlibSupport -> zlib != null;
@@ -71,7 +71,9 @@ let
# disable test_multiprocessing due to transient errors
# disable test_os because test_urandom_failure fails
# disable test_urllib2net and test_urllibnet because it requires networking (example.com)
- ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not (test_sqlite or test_urllib2net or test_urllibnet or test_socket or test_os or test_shutil or test_mhlib or test_multiprocessing)' lib-python
+ # disable test_zipfile64 because it randomly timeouts
+ # disable test_default_ciphers because of error message mismatch
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not (test_sqlite or test_default_ciphers or test_urllib2net or test_urllibnet or test_socket or test_os or test_shutil or test_mhlib or test_multiprocessing or test_zipfile64)' lib-python
'';
installPhase = ''
@@ -94,10 +96,12 @@ let
--set LIBRARY_PATH "${LIBRARY_PATH}"
'';
- passthru = {
+ passthru = rec {
inherit zlibSupport libPrefix;
executable = "pypy";
isPypy = true;
+ buildEnv = callPackage ../../python/wrapper.nix { python = self; };
+ interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/pypy/2.4/setup-hook.sh b/pkgs/development/interpreters/pypy/2.4/setup-hook.sh
index 4cf7247fb9e..b9f5a38dcc6 100644
--- a/pkgs/development/interpreters/pypy/2.4/setup-hook.sh
+++ b/pkgs/development/interpreters/pypy/2.4/setup-hook.sh
@@ -12,4 +12,4 @@ toPythonPath() {
echo $result
}
-envHooks=(${envHooks[@]} addPythonPath)
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 64e21b75569..3894f401d4a 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -1,13 +1,11 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm
-}:
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false
+, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, self, callPackage }:
assert zlibSupport -> zlib != null;
with stdenv.lib;
let
-
majorVersion = "2.6";
version = "${majorVersion}.9";
@@ -27,57 +25,75 @@ let
# the Nix store to 1. So treat that as a special case.
./nix-store-mtime.patch
];
+
+ preConfigure = ''
+ # Purity.
+ for i in /usr /sw /opt /pkg; do
+ substituteInPlace ./setup.py --replace $i /no-such-path
+ done
+ '' + optionalString (stdenv ? gcc && stdenv.gcc.libc != null) ''
+ for i in Lib/plat-*/regen; do
+ substituteInPlace $i --replace /usr/include/ ${stdenv.gcc.libc}/include/
+ done
+ '' + optionalString stdenv.isCygwin ''
+ # On Cygwin, `make install' tries to read this Makefile.
+ mkdir -p $out/lib/python${majorVersion}/config
+ touch $out/lib/python${majorVersion}/config/Makefile
+ mkdir -p $out/include/python${majorVersion}
+ touch $out/include/python${majorVersion}/pyconfig.h
+ '';
buildInputs =
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
- [ bzip2 openssl ]
+ [ bzip2 openssl ]++ optionals includeModules [ db openssl ncurses gdbm readline x11 tcl tk sqlite ]
++ optional zlibSupport zlib;
# Build the basic Python interpreter without modules that have
# external dependencies.
python = stdenv.mkDerivation {
- name = "python-${version}";
+ name = "python${if includeModules then "" else "-minimal"}-${version}";
- inherit majorVersion version src patches buildInputs;
+ inherit majorVersion version src patches buildInputs preConfigure;
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
configureFlags = "--enable-shared --with-threads --enable-unicode";
- preConfigure =
- ''
- # Purity.
- for i in /usr /sw /opt /pkg; do
- substituteInPlace ./setup.py --replace $i /no-such-path
- done
- '' + optionalString (stdenv ? gcc && stdenv.gcc.libc != null) ''
- for i in Lib/plat-*/regen; do
- substituteInPlace $i --replace /usr/include/ ${stdenv.gcc.libc}/include/
- done
- '';
-
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
setupHook = ./setup-hook.sh;
postInstall =
''
- rm -rf "$out/lib/python${majorVersion}/test"
+ # needed for some packages, especially packages that backport
+ # functionality to 2.x from 3.x
+ for item in $out/lib/python${majorVersion}/test/*; do
+ if [[ "$item" != */test_support.py* ]]; then
+ rm -rf "$item"
+ fi
+ done
+ touch $out/lib/python${majorVersion}/test/__init__.py
ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb
ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion}
mv $out/share/man/man1/{python.1,python2.6.1}
ln -s $out/share/man/man1/{python2.6.1,python.1}
+
+ paxmark E $out/bin/python${majorVersion}
+
+ ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"}
'';
passthru = rec {
inherit zlibSupport;
isPy2 = true;
isPy26 = true;
+ buildEnv = callPackage ../wrapper.nix { python = self; };
libPrefix = "python${majorVersion}";
executable = libPrefix;
sitePackages = "lib/${libPrefix}/site-packages";
+ interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
@@ -96,7 +112,7 @@ let
'';
license = stdenv.lib.licenses.psfl;
platforms = stdenv.lib.platforms.all;
- maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+ maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric ];
};
};
@@ -108,25 +124,18 @@ let
, internalName ? "_" + moduleName
, deps
}:
- stdenv.mkDerivation rec {
+ if includeModules then null else stdenv.mkDerivation rec {
name = "python-${moduleName}-${python.version}";
- inherit src patches;
+ inherit src patches preConfigure;
buildInputs = [ python ] ++ deps;
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
- configurePhase = "true";
-
buildPhase =
''
- # Fake the build environment that setup.py expects.
- ln -s ${python}/include/python*/pyconfig.h .
- ln -s ${python}/lib/python*/config/Setup Modules/
- ln -s ${python}/lib/python*/config/Setup.local Modules/
-
substituteInPlace setup.py --replace 'self.extensions = extensions' \
'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]'
@@ -178,8 +187,6 @@ let
deps = [ sqlite ];
};
- ssl = null;
-
tkinter = buildInternalPythonModule {
moduleName = "tkinter";
deps = [ tcl tk x11 ];
diff --git a/pkgs/development/interpreters/python/2.6/setup-hook.sh b/pkgs/development/interpreters/python/2.6/setup-hook.sh
index 290525c3571..4caff9c9d84 100644
--- a/pkgs/development/interpreters/python/2.6/setup-hook.sh
+++ b/pkgs/development/interpreters/python/2.6/setup-hook.sh
@@ -12,4 +12,4 @@ toPythonPath() {
echo $result
}
-envHooks=(${envHooks[@]} addPythonPath)
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index c19430862c2..3201d7520d1 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11 }:
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false
+, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11, self, callPackage }:
assert zlibSupport -> zlib != null;
with stdenv.lib;
let
-
majorVersion = "2.7";
version = "${majorVersion}.8";
@@ -28,33 +27,39 @@ let
# patch python to put zero timestamp into pyc
# if DETERMINISTIC_BUILD env var is set
./deterministic-build.patch
+
+ # http://bugs.python.org/issue21963
+ ./remove-avoid-daemon-thread-shutdown.patch
];
-
- postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
- substituteInPlace ./Lib/plat-generic/regen \
- --replace /usr/include/netinet/in.h \
- ${stdenv.gcc.libc}/include/netinet/in.h
- '';
-
- buildInputs =
- optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
- [ bzip2 openssl ]
- ++ optional zlibSupport zlib;
-
- ensurePurity =
- ''
+
+ preConfigure = ''
# Purity.
for i in /usr /sw /opt /pkg; do
substituteInPlace ./setup.py --replace $i /no-such-path
done
+ '' + optionalString (stdenv ? gcc && stdenv.gcc.libc != null) ''
+ for i in Lib/plat-*/regen; do
+ substituteInPlace $i --replace /usr/include/ ${stdenv.gcc.libc}/include/
+ done
+ '' + optionalString stdenv.isCygwin ''
+ # On Cygwin, `make install' tries to read this Makefile.
+ mkdir -p $out/lib/python${majorVersion}/config
+ touch $out/lib/python${majorVersion}/config/Makefile
+ mkdir -p $out/include/python${majorVersion}
+ touch $out/include/python${majorVersion}/pyconfig.h
'';
+ buildInputs =
+ optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
+ [ bzip2 openssl ] ++ optionals includeModules [ db openssl ncurses gdbm libX11 readline x11 tcl tk sqlite ]
+ ++ optional zlibSupport zlib;
+
# Build the basic Python interpreter without modules that have
# external dependencies.
python = stdenv.mkDerivation {
name = "python-${version}";
- inherit majorVersion version src patches postPatch buildInputs;
+ inherit majorVersion version src patches buildInputs preConfigure;
LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
@@ -62,36 +67,41 @@ let
configureFlags = "--enable-shared --with-threads --enable-unicode";
- preConfigure = "${ensurePurity}" + optionalString stdenv.isCygwin
- ''
- # On Cygwin, `make install' tries to read this Makefile.
- mkdir -p $out/lib/python${majorVersion}/config
- touch $out/lib/python${majorVersion}/config/Makefile
- mkdir -p $out/include/python${majorVersion}
- touch $out/include/python${majorVersion}/pyconfig.h
- '';
-
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
+ DETERMINISTIC_BUILD = 1;
setupHook = ./setup-hook.sh;
postInstall =
''
- rm -rf "$out/lib/python${majorVersion}/test"
+ # needed for some packages, especially packages that backport
+ # functionality to 2.x from 3.x
+ for item in $out/lib/python${majorVersion}/test/*; do
+ if [[ "$item" != */test_support.py* ]]; then
+ rm -rf "$item"
+ else
+ echo $item
+ fi
+ done
+ touch $out/lib/python${majorVersion}/test/__init__.py
ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb
ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion}
ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
paxmark E $out/bin/python${majorVersion}
+
+ ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"}
'';
passthru = rec {
inherit zlibSupport;
isPy2 = true;
isPy27 = true;
+ buildEnv = callPackage ../wrapper.nix { python = self; };
libPrefix = "python${majorVersion}";
executable = libPrefix;
sitePackages = "lib/${libPrefix}/site-packages";
+ interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
@@ -110,7 +120,7 @@ let
'';
license = stdenv.lib.licenses.psfl;
platforms = stdenv.lib.platforms.all;
- maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+ maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric ];
};
};
@@ -122,25 +132,17 @@ let
, internalName ? "_" + moduleName
, deps
}:
- stdenv.mkDerivation rec {
+ if includeModules then null else stdenv.mkDerivation rec {
name = "python-${moduleName}-${python.version}";
- inherit src patches postPatch;
+ inherit src patches preConfigure;
buildInputs = [ python ] ++ deps;
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
- configurePhase = "${ensurePurity}";
-
- buildPhase =
- ''
- # Fake the build environment that setup.py expects.
- ln -s ${python}/include/python*/pyconfig.h .
- ln -s ${python}/lib/python*/config/Setup Modules/
- ln -s ${python}/lib/python*/config/Setup.local Modules/
-
+ buildPhase = ''
substituteInPlace setup.py --replace 'self.extensions = extensions' \
'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]'
@@ -192,8 +194,6 @@ let
deps = [ sqlite ];
};
- ssl = null;
-
tkinter = buildInternalPythonModule {
moduleName = "tkinter";
deps = [ tcl tk x11 libX11 ];
diff --git a/pkgs/development/interpreters/python/2.7/remove-avoid-daemon-thread-shutdown.patch b/pkgs/development/interpreters/python/2.7/remove-avoid-daemon-thread-shutdown.patch
new file mode 100644
index 00000000000..650f276f08a
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.7/remove-avoid-daemon-thread-shutdown.patch
@@ -0,0 +1,170 @@
+changeset: 93046:61ad2208a5ce
+branch: 2.7
+tag: tip
+user: William A. Kennington III
+date: Mon Oct 13 13:57:12 2014 -0700
+summary: Revert: 91229:7741d0dd66ca to fix i21963
+
+diff -r ed4098380799 -r 61ad2208a5ce Include/pythonrun.h
+--- a/Include/pythonrun.h Mon Oct 13 12:58:03 2014 -0700
++++ b/Include/pythonrun.h Mon Oct 13 13:57:12 2014 -0700
+@@ -147,8 +147,6 @@
+ PyAPI_FUNC(void) PyByteArray_Fini(void);
+ PyAPI_FUNC(void) _PyRandom_Fini(void);
+
+-PyAPI_DATA(PyThreadState *) _Py_Finalizing;
+-
+ /* Stuff with no proper home (yet) */
+ PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, char *);
+ PyAPI_DATA(int) (*PyOS_InputHook)(void);
+diff -r ed4098380799 -r 61ad2208a5ce Lib/test/test_threading.py
+--- a/Lib/test/test_threading.py Mon Oct 13 12:58:03 2014 -0700
++++ b/Lib/test/test_threading.py Mon Oct 13 13:57:12 2014 -0700
+@@ -700,49 +700,6 @@
+ output = "end of worker thread\nend of main thread\n"
+ self.assertScriptHasOutput(script, output)
+
+- @unittest.skipIf(sys.platform in platforms_to_skip, "due to known OS bug")
+- def test_6_daemon_threads(self):
+- # Check that a daemon thread cannot crash the interpreter on shutdown
+- # by manipulating internal structures that are being disposed of in
+- # the main thread.
+- script = """if True:
+- import os
+- import random
+- import sys
+- import time
+- import threading
+-
+- thread_has_run = set()
+-
+- def random_io():
+- '''Loop for a while sleeping random tiny amounts and doing some I/O.'''
+- while True:
+- in_f = open(os.__file__, 'rb')
+- stuff = in_f.read(200)
+- null_f = open(os.devnull, 'wb')
+- null_f.write(stuff)
+- time.sleep(random.random() / 1995)
+- null_f.close()
+- in_f.close()
+- thread_has_run.add(threading.current_thread())
+-
+- def main():
+- count = 0
+- for _ in range(40):
+- new_thread = threading.Thread(target=random_io)
+- new_thread.daemon = True
+- new_thread.start()
+- count += 1
+- while len(thread_has_run) < count:
+- time.sleep(0.001)
+- # Trigger process shutdown
+- sys.exit(0)
+-
+- main()
+- """
+- rc, out, err = assert_python_ok('-c', script)
+- self.assertFalse(err)
+-
+ @unittest.skipUnless(hasattr(os, 'fork'), "needs os.fork()")
+ @unittest.skipIf(sys.platform in platforms_to_skip, "due to known OS bug")
+ def test_reinit_tls_after_fork(self):
+diff -r ed4098380799 -r 61ad2208a5ce Misc/NEWS
+--- a/Misc/NEWS Mon Oct 13 12:58:03 2014 -0700
++++ b/Misc/NEWS Mon Oct 13 13:57:12 2014 -0700
+@@ -96,10 +96,6 @@
+ - Issue #21831: Avoid integer overflow when large sizes and offsets are given to
+ the buffer type.
+
+-- Issue #1856: Avoid crashes and lockups when daemon threads run while the
+- interpreter is shutting down; instead, these threads are now killed when they
+- try to take the GIL.
+-
+ - Issue #19656: Running Python with the -3 option now also warns about
+ non-ascii bytes literals.
+
+diff -r ed4098380799 -r 61ad2208a5ce Python/ceval.c
+--- a/Python/ceval.c Mon Oct 13 12:58:03 2014 -0700
++++ b/Python/ceval.c Mon Oct 13 13:57:12 2014 -0700
+@@ -355,12 +355,6 @@
+ if (interpreter_lock) {
+ int err = errno;
+ PyThread_acquire_lock(interpreter_lock, 1);
+- /* _Py_Finalizing is protected by the GIL */
+- if (_Py_Finalizing && tstate != _Py_Finalizing) {
+- PyThread_release_lock(interpreter_lock);
+- PyThread_exit_thread();
+- assert(0); /* unreachable */
+- }
+ errno = err;
+ }
+ #endif
+@@ -1024,13 +1018,6 @@
+ /* Other threads may run now */
+
+ PyThread_acquire_lock(interpreter_lock, 1);
+-
+- /* Check if we should make a quick exit. */
+- if (_Py_Finalizing && _Py_Finalizing != tstate) {
+- PyThread_release_lock(interpreter_lock);
+- PyThread_exit_thread();
+- }
+-
+ if (PyThreadState_Swap(tstate) != NULL)
+ Py_FatalError("ceval: orphan tstate");
+
+diff -r ed4098380799 -r 61ad2208a5ce Python/pythonrun.c
+--- a/Python/pythonrun.c Mon Oct 13 12:58:03 2014 -0700
++++ b/Python/pythonrun.c Mon Oct 13 13:57:12 2014 -0700
+@@ -91,8 +91,6 @@
+ int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
+ int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
+
+-PyThreadState *_Py_Finalizing = NULL;
+-
+
+ /* Hack to force loading of object files */
+ int (*_PyOS_mystrnicmp_hack)(const char *, const char *, Py_ssize_t) = \
+@@ -165,7 +163,6 @@
+ if (initialized)
+ return;
+ initialized = 1;
+- _Py_Finalizing = NULL;
+
+ if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0')
+ Py_DebugFlag = add_flag(Py_DebugFlag, p);
+@@ -425,16 +422,12 @@
+ * the threads created via Threading.
+ */
+ call_sys_exitfunc();
++ initialized = 0;
+
+ /* Get current thread state and interpreter pointer */
+ tstate = PyThreadState_GET();
+ interp = tstate->interp;
+
+- /* Remaining threads (e.g. daemon threads) will automatically exit
+- after taking the GIL (in PyEval_RestoreThread()). */
+- _Py_Finalizing = tstate;
+- initialized = 0;
+-
+ /* Disable signal handling */
+ PyOS_FiniInterrupts();
+
+diff -r ed4098380799 -r 61ad2208a5ce Python/thread_pthread.h
+--- a/Python/thread_pthread.h Mon Oct 13 12:58:03 2014 -0700
++++ b/Python/thread_pthread.h Mon Oct 13 13:57:12 2014 -0700
+@@ -242,9 +242,9 @@
+ PyThread_exit_thread(void)
+ {
+ dprintf(("PyThread_exit_thread called\n"));
+- if (!initialized)
++ if (!initialized) {
+ exit(0);
+- pthread_exit(0);
++ }
+ }
+
+ #ifdef USE_SEMAPHORES
+
diff --git a/pkgs/development/interpreters/python/2.7/setup-hook.sh b/pkgs/development/interpreters/python/2.7/setup-hook.sh
index a393b70afe1..4770eea886f 100644
--- a/pkgs/development/interpreters/python/2.7/setup-hook.sh
+++ b/pkgs/development/interpreters/python/2.7/setup-hook.sh
@@ -12,4 +12,4 @@ toPythonPath() {
echo $result
}
-envHooks=(${envHooks[@]} addPythonPath)
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch
deleted file mode 100644
index c69efd17f96..00000000000
--- a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly.
-# It added the following line to NEWS:
-# - Issue #20246: Fix buffer overflow in socket.recvfrom_into.
-
-
-# HG changeset patch
-# User Benjamin Peterson
-# Date 1389671978 18000
-# Node ID 9c56217e5c793685eeaf0ee224848c402bdf1e4c
-# Parent 2b5cd6d4d149dea6c6941b7e07ada248b29fc9f6
-complain when nbytes > buflen to fix possible buffer overflow (closes #20246)
-
-diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
---- a/Lib/test/test_socket.py
-+++ b/Lib/test/test_socket.py
-@@ -1968,6 +1968,14 @@ class BufferIOTest(SocketConnectedTest):
-
- _testRecvFromIntoMemoryview = _testRecvFromIntoArray
-
-+ def testRecvFromIntoSmallBuffer(self):
-+ # See issue #20246.
-+ buf = bytearray(8)
-+ self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024)
-+
-+ def _testRecvFromIntoSmallBuffer(self):
-+ self.serv_conn.send(MSG*2048)
-+
-
- TIPC_STYPE = 2000
- TIPC_LOWER = 200
-diff --git a/Misc/ACKS b/Misc/ACKS
---- a/Misc/ACKS
-+++ b/Misc/ACKS
-@@ -1020,6 +1020,7 @@ Eric V. Smith
- Christopher Smith
- Gregory P. Smith
- Roy Smith
-+Ryan Smith-Roberts
- Rafal Smotrzyk
- Dirk Soede
- Paul Sokolovsky
-diff --git a/Misc/NEWS b/Misc/NEWS
---- a/Modules/socketmodule.c
-+++ b/Modules/socketmodule.c
-@@ -2598,6 +2598,11 @@ sock_recvfrom_into(PySocketSockObject *s
- if (recvlen == 0) {
- /* If nbytes was not specified, use the buffer's length */
- recvlen = buflen;
-+ } else if (recvlen > buflen) {
-+ PyBuffer_Release(&pbuf);
-+ PyErr_SetString(PyExc_ValueError,
-+ "nbytes is greater than the length of the buffer");
-+ return NULL;
- }
-
- readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
-
diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix
index 489d0509c1a..d3f5c6e1f13 100644
--- a/pkgs/development/interpreters/python/3.2/default.nix
+++ b/pkgs/development/interpreters/python/3.2/default.nix
@@ -9,6 +9,8 @@
, sqlite
, tcl, tk
, zlib
+, callPackage
+, self
}:
assert readline != null -> ncurses != null;
@@ -17,7 +19,7 @@ with stdenv.lib;
let
majorVersion = "3.2";
- version = "${majorVersion}.5";
+ version = "${majorVersion}.6";
buildInputs = filter (p: p != null) [
zlib bzip2 gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
@@ -28,16 +30,10 @@ stdenv.mkDerivation {
inherit majorVersion version;
src = fetchurl {
- url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
- sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v";
+ url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
+ sha256 = "1p3vvvh3qw8avq959hdl6bq5d6r7mbhrnigqzgx6mllzh40va4hx";
};
- patches =
- [
- # See http://bugs.python.org/issue20246
- ./CVE-2014-1912.patch
- ];
-
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
preConfigure = ''
@@ -56,14 +52,25 @@ stdenv.mkDerivation {
setupHook = ./setup-hook.sh;
postInstall = ''
- rm -rf "$out/lib/python${majorVersion}/test"
+ # needed for some packages, especially packages that backport functionality
+ # to 2.x from 3.x
+ for item in $out/lib/python${majorVersion}/test/*; do
+ if [[ "$item" != */test_support.py* ]]; then
+ rm -rf "$item"
+ else
+ echo $item
+ fi
+ done
+ touch $out/lib/python${majorVersion}/test/__init__.py
ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
+ paxmark E $out/bin/python${majorVersion}
'';
passthru = rec {
zlibSupport = zlib != null;
sqliteSupport = sqlite != null;
dbSupport = db != null;
+ buildEnv = callPackage ../wrapper.nix { python = self; };
readlineSupport = readline != null;
opensslSupport = openssl != null;
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
@@ -73,6 +80,7 @@ stdenv.mkDerivation {
isPy32 = true;
is_py3k = true; # deprecated
sitePackages = "lib/${libPrefix}/site-packages";
+ interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.2/setup-hook.sh b/pkgs/development/interpreters/python/3.2/setup-hook.sh
index e6fa34bf54b..e8215ef9877 100644
--- a/pkgs/development/interpreters/python/3.2/setup-hook.sh
+++ b/pkgs/development/interpreters/python/3.2/setup-hook.sh
@@ -12,4 +12,4 @@ toPythonPath() {
echo $result
}
-envHooks=(${envHooks[@]} addPythonPath)
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix
index fcc03380349..1f91d1bbaf4 100644
--- a/pkgs/development/interpreters/python/3.3/default.nix
+++ b/pkgs/development/interpreters/python/3.3/default.nix
@@ -10,6 +10,8 @@
, sqlite
, tcl, tk
, zlib
+, callPackage
+, self
}:
assert readline != null -> ncurses != null;
@@ -18,7 +20,7 @@ with stdenv.lib;
let
majorVersion = "3.3";
- version = "${majorVersion}.5";
+ version = "${majorVersion}.6";
buildInputs = filter (p: p != null) [
zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
@@ -30,7 +32,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
- sha256 = "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb";
+ sha256 = "0gsxpgd5p4mwd01gw501vsyahncyw3h9836ypkr3y32kgazy89jj";
};
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
@@ -51,9 +53,17 @@ stdenv.mkDerivation {
setupHook = ./setup-hook.sh;
postInstall = ''
- rm -rf "$out/lib/python${majorVersion}/test"
+ # needed for some packages, especially packages that backport functionality
+ # to 2.x from 3.x
+ for item in $out/lib/python${majorVersion}/test/*; do
+ if [[ "$item" != */test_support.py* ]]; then
+ rm -rf "$item"
+ else
+ echo $item
+ fi
+ done
+ touch $out/lib/python${majorVersion}/test/__init__.py
ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
-
paxmark E $out/bin/python${majorVersion}
'';
@@ -66,10 +76,12 @@ stdenv.mkDerivation {
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
libPrefix = "python${majorVersion}";
executable = "python3.3m";
+ buildEnv = callPackage ../wrapper.nix { python = self; };
isPy3 = true;
isPy33 = true;
is_py3k = true; # deprecated
sitePackages = "lib/${libPrefix}/site-packages";
+ interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.3/setup-hook.sh b/pkgs/development/interpreters/python/3.3/setup-hook.sh
index c272c87daf1..82a8c0abd32 100644
--- a/pkgs/development/interpreters/python/3.3/setup-hook.sh
+++ b/pkgs/development/interpreters/python/3.3/setup-hook.sh
@@ -12,4 +12,4 @@ toPythonPath() {
echo $result
}
-envHooks=(${envHooks[@]} addPythonPath)
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix
index 312bf247de7..3cadfc2d22f 100644
--- a/pkgs/development/interpreters/python/3.4/default.nix
+++ b/pkgs/development/interpreters/python/3.4/default.nix
@@ -10,6 +10,8 @@
, sqlite
, tcl, tk
, zlib
+, callPackage
+, self
}:
assert readline != null -> ncurses != null;
@@ -18,7 +20,7 @@ with stdenv.lib;
let
majorVersion = "3.4";
- version = "${majorVersion}.1";
+ version = "${majorVersion}.2";
fullVersion = "${version}";
buildInputs = filter (p: p != null) [
@@ -31,13 +33,11 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
- sha256 = "1i7dgbzyvj24i6gfhb5q2zwr9nn1ni6w1ig1rcgh96a321is35f5";
+ sha256 = "1vrd9gqdqw7rw0kiiprqvng7ywnfc2hbyys7gr9mdh25s619cv8w";
};
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
- patches = [ ./issue21121-3.patch ];
-
preConfigure = ''
for i in /usr /sw /opt /pkg; do # improve purity
substituteInPlace ./setup.py --replace $i /no-such-path
@@ -54,9 +54,18 @@ stdenv.mkDerivation {
setupHook = ./setup-hook.sh;
postInstall = ''
- rm -rf "$out/lib/python${majorVersion}/test"
- ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
+ # needed for some packages, especially packages that backport functionality
+ # to 2.x from 3.x
+ for item in $out/lib/python${majorVersion}/test/*; do
+ if [[ "$item" != */test_support.py* ]]; then
+ rm -rf "$item"
+ else
+ echo $item
+ fi
+ done
+ touch $out/lib/python${majorVersion}/test/__init__.py
+ ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
paxmark E $out/bin/python${majorVersion}
'';
@@ -69,10 +78,12 @@ stdenv.mkDerivation {
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
libPrefix = "python${majorVersion}";
executable = "python3.4m";
+ buildEnv = callPackage ../wrapper.nix { python = self; };
isPy3 = true;
isPy34 = true;
is_py3k = true; # deprecated
sitePackages = "lib/${libPrefix}/site-packages";
+ interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.4/issue21121-3.patch b/pkgs/development/interpreters/python/3.4/issue21121-3.patch
deleted file mode 100644
index 506d9ea9b3d..00000000000
--- a/pkgs/development/interpreters/python/3.4/issue21121-3.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -71,12 +71,17 @@
- BASECFLAGS= @BASECFLAGS@
- BASECPPFLAGS= @BASECPPFLAGS@
- CONFIGURE_CFLAGS= @CFLAGS@
-+# CFLAGS_NODIST is used for building the interpreter and stdlib C extensions.
-+# Use it when a compiler flag should _not_ be part of the distutils CFLAGS
-+# once Python is installed (Issue #21121).
-+CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
- CONFIGURE_CPPFLAGS= @CPPFLAGS@
- CONFIGURE_LDFLAGS= @LDFLAGS@
- # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
- # command line to append to these values without stomping the pre-set
- # values.
- PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
-+PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
- # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
- # be able to build extension modules using the directories specified in the
- # environment variables
-@@ -91,7 +96,7 @@
- # Extra C flags added for building the interpreter object files.
- CFLAGSFORSHARED=@CFLAGSFORSHARED@
- # C flags used for building the interpreter object files
--PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
-+PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
-
-
- # Machine-dependent subdirectories
-diff --git a/configure b/configure
---- a/configure
-+++ b/configure
-@@ -662,6 +662,7 @@
- LIBTOOL_CRUFT
- OTHER_LIBTOOL_OPT
- UNIVERSAL_ARCH_FLAGS
-+CFLAGS_NODIST
- BASECFLAGS
- OPT
- ABIFLAGS
-@@ -6504,7 +6505,7 @@
-
- if test $ac_cv_declaration_after_statement_warning = yes
- then
-- BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement"
-+ CFLAGS_NODIST="$CFLAGS_NODIST -Werror=declaration-after-statement"
- fi
-
- # if using gcc on alpha, use -mieee to get (near) full IEEE 754
-diff --git a/configure.ac b/configure.ac
---- a/configure.ac
-+++ b/configure.ac
-@@ -1147,6 +1147,7 @@
- fi
-
- AC_SUBST(BASECFLAGS)
-+AC_SUBST(CFLAGS_NODIST)
-
- # The -arch flags for universal builds on OSX
- UNIVERSAL_ARCH_FLAGS=
-@@ -1231,7 +1232,7 @@
-
- if test $ac_cv_declaration_after_statement_warning = yes
- then
-- BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement"
-+ CFLAGS_NODIST="$CFLAGS_NODIST -Werror=declaration-after-statement"
- fi
-
- # if using gcc on alpha, use -mieee to get (near) full IEEE 754
-diff --git a/setup.py b/setup.py
---- a/setup.py
-+++ b/setup.py
-@@ -19,6 +19,12 @@
-
- cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ
-
-+# Add special CFLAGS reserved for building the interpreter and the stdlib
-+# modules (Issue #21121).
-+cflags = sysconfig.get_config_var('CFLAGS')
-+py_cflags_nodist = sysconfig.get_config_var('PY_CFLAGS_NODIST')
-+sysconfig.get_config_vars()['CFLAGS'] = cflags + ' ' + py_cflags_nodist
-+
- def get_platform():
- # cross build
- if "_PYTHON_HOST_PLATFORM" in os.environ:
diff --git a/pkgs/development/interpreters/python/3.4/setup-hook.sh b/pkgs/development/interpreters/python/3.4/setup-hook.sh
index ae71b4147ab..fddcc0b73fe 100644
--- a/pkgs/development/interpreters/python/3.4/setup-hook.sh
+++ b/pkgs/development/interpreters/python/3.4/setup-hook.sh
@@ -12,4 +12,4 @@ toPythonPath() {
echo $result
}
-envHooks=(${envHooks[@]} addPythonPath)
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
deleted file mode 100644
index 040dd7531a2..00000000000
--- a/pkgs/development/interpreters/python/python-linkme-wrapper.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv }:
-
-stdenv.mkDerivation {
- name = "python-linkme-wrapper-1.0";
-
- unpackPhase = "true";
-
- installPhase = ''
- mkdir -p $out/bin
- cat ${./python-linkme-wrapper.sh} > $out/bin/.python-linkme-wrapper
- chmod +x $out/bin/.python-linkme-wrapper
- '';
-
- preferLocalBuild = true;
-}
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.sh b/pkgs/development/interpreters/python/python-linkme-wrapper.sh
deleted file mode 100644
index 42674aa83b0..00000000000
--- a/pkgs/development/interpreters/python/python-linkme-wrapper.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-#
-# Install it into a nix profile and from there build symlink chains.
-# The chain will be followed to set the PYTHONPATH
-# A/bin/foo -> B/bin/bar -> NIXENV/bin/.python-linkme-wrapper.sh
-#
-
-if test ! -L "$0"; then
- echo "Link me!"
- exit 1
-fi
-
-PROG=$(basename "$0")
-SITES=
-
-pypath() {
- BIN=$(realpath -s "$(dirname "$1")")
- ENV=$(dirname "$BIN")
- SITE="$ENV/lib/python2.7/site-packages"
- SITES="$SITES${SITES:+:}$SITE"
-
- PRG="$BIN"/$(readlink "$1")
-
- if test -L "$PRG"; then
- pypath "$PRG"
- fi
-}
-
-pypath $(realpath -s "$0")
-
-export PYTHONPATH="$PYTHONPATH${PYTHONPATH:+:}$SITES"
-
-exec "$BIN/$PROG" "$@"
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index ccfbcfcdd42..163e8d7194b 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,12 +1,15 @@
-{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
-, stdLibs ? stdenv.lib.attrValues python.modules, ignoreCollisions ? false
-}:
+{ stdenv, python, buildEnv, makeWrapper
+, extraLibs ? []
+, postBuild ? ""
+, ignoreCollisions ? false }:
# Create a python executable that knows about additional packages.
-
+let
+ recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
+in
(buildEnv {
- name = "python-${python.version}-wrapper";
- paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ];
+ name = "${python.name}-env";
+ paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ [ python recursivePthLoader ];
inherit ignoreCollisions;
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 469ef118310..b626c8a1539 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,38 +1,48 @@
-{ stdenv, fetchurl, cairo, file, pango, glib, gtk
-, which, libtool, makeWrapper, libjpeg, libpng
-, fontconfig, liberation_ttf, sqlite, openssl } :
+{ stdenv, fetchurl, cairo, file, fontconfig, glib, gtk, freefont_ttf
+, libjpeg, libpng, libtool, makeWrapper, openssl, pango, sqlite, which, readline } :
stdenv.mkDerivation rec {
pname = "racket";
- version = "6.0.1";
+ version = "6.1.1";
name = "${pname}-${version}";
src = fetchurl {
url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
- sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d";
+ sha256 = "090269522d20e7a5ce85d2251a126745746ebf5e87554c05efe03f3b7173da75";
};
- # Various racket executables do run-time searches for these.
- ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib:${openssl}/lib";
+ # Various Racket executables do runtime searches for these.
+ ffiSharedLibs = "${cairo}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${libjpeg}/lib:"
+ + "${libpng}/lib:${openssl}/lib:${pango}/lib:${sqlite}/lib:"
+ + "${readline}/lib";
- buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf sqlite ];
+ buildInputs = [ file fontconfig freefont_ttf libtool makeWrapper sqlite which ];
preConfigure = ''
export LD_LIBRARY_PATH=${ffiSharedLibs}:$LD_LIBRARY_PATH
- # Chroot builds do not have access to /etc/fonts/fonts.conf, but the Racket bootstrap
- # needs a working fontconfig, so here a simple standin is used.
+ # Chroot builds do not have access to /etc/fonts/fonts.conf,
+ # but the Racket bootstrap needs a working fontconfig,
+ # so here a simple temporary stand-in is used.
mkdir chroot-fontconfig
cat ${fontconfig}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf
sed -e 's@@@' -i chroot-fontconfig/fonts.conf
- echo "${liberation_ttf}" >> chroot-fontconfig/fonts.conf
+ echo "${freefont_ttf}" >> chroot-fontconfig/fonts.conf
echo "" >> chroot-fontconfig/fonts.conf
+ # remove extraneous directories from temporary fonts.conf
+ sed -e 's@@@g' \
+ -e 's@fonts@@g' \
+ -e 's@~/.fonts@@g' \
+ -e 's@fontconfig@@g' \
+ -e 's@~/.fontconfig@@g' \
+ -i chroot-fontconfig/fonts.conf
+
export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf
cd src
sed -e 's@/usr/bin/uname@'"$(which uname)"'@g' -i configure
- sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure
+ sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure
'';
configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
@@ -41,25 +51,25 @@ stdenv.mkDerivation rec {
postInstall = ''
for p in $(ls $out/bin/) ; do
- wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ;
+ wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}";
done
'';
meta = {
- description = "Programming language derived from Scheme (formerly called PLT Scheme)";
+ description = "A programmable programming language";
longDescription = ''
- Racket (formerly called PLT Scheme) is a programming language derived
- from Scheme. The Racket project has four primary components: the
- implementation of Racket, a JIT compiler; DrRacket, the Racket program
- development environment; the TeachScheme! outreach, an attempt to turn
- Computing and Programming into "an indispensable part of the liberal
- arts curriculum"; and PLaneT, Racket's web-based package
- distribution system for user-contributed packages.
+ Racket is a full-spectrum programming language. It goes beyond
+ Lisp and Scheme with dialects that support objects, types,
+ laziness, and more. Racket enables programmers to link
+ components written in different dialects, and it empowers
+ programmers to create new, project-specific dialects. Racket's
+ libraries support applications from web servers and databases to
+ GUIs and charts.
'';
homepage = http://racket-lang.org/;
- license = stdenv.lib.licenses.lgpl2Plus; # and licenses of contained libraries
- maintainers = [ stdenv.lib.maintainers.kkallio ];
+ license = stdenv.lib.licenses.lgpl3;
+ maintainers = with stdenv.lib.maintainers; [ kkallio henrytill ];
platforms = stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/development/interpreters/regina/default.nix
index 992f7281554..e6c84edacaf 100644
--- a/pkgs/development/interpreters/regina/default.nix
+++ b/pkgs/development/interpreters/regina/default.nix
@@ -12,7 +12,7 @@ let
sourceInfo = rec {
baseName="Regina-REXX";
pname="regina-rexx";
- version = "3.8.2";
+ version = "3.9.0";
name="${baseName}-${version}";
url="mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz";
};
@@ -20,7 +20,7 @@ in
rec {
src = a.fetchurl {
url = sourceInfo.url;
- sha256 = "06vr6p9pqr5zzsxm1l9iwb2w9z8qkm971c2knh0vf5bbm6znjz35";
+ sha256 = "051w6i5xyjq7j9yrhw4r14kw105gpylby6z5x9v31f5g824n4mfr";
};
inherit (sourceInfo) name version;
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index 78567b1979f..f3b47025547 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -3,30 +3,30 @@
g: # Get dependencies from patched gems
{
aliases = {
- ZenTest = g.ZenTest_4_10_1;
- actionmailer = g.actionmailer_4_1_6;
- actionpack = g.actionpack_4_1_6;
- actionview = g.actionview_4_1_6;
- activemodel = g.activemodel_4_1_6;
- activerecord = g.activerecord_4_1_6;
- activesupport = g.activesupport_4_1_6;
+ ZenTest = g.ZenTest_4_11_0;
+ actionmailer = g.actionmailer_4_1_8;
+ actionpack = g.actionpack_4_1_8;
+ actionview = g.actionview_4_1_8;
+ activemodel = g.activemodel_4_1_8;
+ activerecord = g.activerecord_4_1_8;
+ activesupport = g.activesupport_4_1_8;
addressable = g.addressable_2_3_6;
arel = g.arel_5_0_1_20140414130214;
- atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
+ atoulme_Antwrap = g.atoulme_Antwrap_0_7_5;
autotest_rails = g.autotest_rails_4_2_1;
- aws_sdk = g.aws_sdk_1_53_0;
- aws_sdk_v1 = g.aws_sdk_v1_1_53_0;
- backports = g.backports_3_6_1;
+ aws_sdk = g.aws_sdk_1_59_0;
+ aws_sdk_v1 = g.aws_sdk_v1_1_59_0;
+ backports = g.backports_3_6_4;
bitbucket_backup = g.bitbucket_backup_0_3_1;
blankslate = g.blankslate_2_1_2_4;
builder = g.builder_3_2_2;
buildr = g.buildr_1_4_20;
- bundler = g.bundler_1_7_3;
+ bundler = g.bundler_1_7_7;
celluloid = g.celluloid_0_16_0;
- childprocess = g.childprocess_0_5_3;
+ childprocess = g.childprocess_0_5_5;
chronic = g.chronic_0_10_2;
- chunky_png = g.chunky_png_1_3_1;
- classifier_reborn = g.classifier_reborn_2_0_1;
+ chunky_png = g.chunky_png_1_3_3;
+ classifier_reborn = g.classifier_reborn_2_0_2;
coderay = g.coderay_1_1_0;
coffee_script = g.coffee_script_2_3_0;
coffee_script_source = g.coffee_script_source_1_8_0;
@@ -38,28 +38,27 @@ g: # Get dependencies from patched gems
daemons = g.daemons_1_1_9;
diff_lcs = g.diff_lcs_1_2_5;
dimensions = g.dimensions_1_2_0;
- domain_name = g.domain_name_0_5_21;
- dotenv = g.dotenv_0_11_1;
- dotenv_deployment = g.dotenv_deployment_0_0_2;
+ domain_name = g.domain_name_0_5_22;
+ dotenv = g.dotenv_1_0_2;
em_resolv_replace = g.em_resolv_replace_1_1_3;
erubis = g.erubis_2_7_0;
ethon = g.ethon_0_7_1;
eventmachine = g.eventmachine_1_0_3;
eventmachine_tail = g.eventmachine_tail_0_6_4;
- excon = g.excon_0_39_5;
- execjs = g.execjs_2_2_1;
- fakes3 = g.fakes3_0_1_5_2;
+ excon = g.excon_0_41_0;
+ execjs = g.execjs_2_2_2;
+ fakes3 = g.fakes3_0_1_6_1;
faraday = g.faraday_0_9_0;
faraday_middleware = g.faraday_middleware_0_9_1;
fast_stemmer = g.fast_stemmer_1_0_2;
- ffi = g.ffi_1_9_3;
- file_tail = g.file_tail_1_0_12;
- foreman = g.foreman_0_75_0;
+ ffi = g.ffi_1_9_6;
+ file_tail = g.file_tail_1_1_0;
+ foreman = g.foreman_0_76_0;
gettext = g.gettext_3_1_4;
gh = g.gh_0_13_2;
gherkin = g.gherkin_2_12_2;
- heroku = g.heroku_3_10_3;
- heroku_api = g.heroku_api_0_3_19;
+ heroku = g.heroku_3_16_2;
+ heroku_api = g.heroku_api_0_3_20;
highline = g.highline_1_6_21;
hike = g.hike_1_2_3;
hitimes = g.hitimes_1_2_2;
@@ -67,30 +66,30 @@ g: # Get dependencies from patched gems
http_cookie = g.http_cookie_1_0_2;
i18n = g.i18n_0_6_11;
iconv = g.iconv_1_0_4;
- jekyll = g.jekyll_2_4_0;
+ jekyll = g.jekyll_2_5_2;
jekyll_coffeescript = g.jekyll_coffeescript_1_0_1;
jekyll_gist = g.jekyll_gist_1_1_0;
- jekyll_paginate = g.jekyll_paginate_1_0_0;
+ jekyll_paginate = g.jekyll_paginate_1_1_0;
jekyll_sass_converter = g.jekyll_sass_converter_1_2_1;
- jekyll_watch = g.jekyll_watch_1_1_1;
+ jekyll_watch = g.jekyll_watch_1_1_2;
jsduck = g.jsduck_5_3_4;
json = g.json_1_8_1;
json_pure = g.json_pure_1_8_0;
- kramdown = g.kramdown_1_4_2;
- launchy = g.launchy_2_4_2;
+ kramdown = g.kramdown_1_5_0;
+ launchy = g.launchy_2_4_3;
liquid = g.liquid_2_6_1;
- listen = g.listen_2_7_9;
+ listen = g.listen_2_8_3;
locale = g.locale_2_1_0;
lockfile = g.lockfile_2_1_3;
macaddr = g.macaddr_1_7_1;
- mail = g.mail_2_6_1;
+ mail = g.mail_2_6_3;
mechanize = g.mechanize_2_7_3;
- mercenary = g.mercenary_0_3_4;
+ mercenary = g.mercenary_0_3_5;
method_source = g.method_source_0_8_2;
- mime_types = g.mime_types_2_3;
- mini_portile = g.mini_portile_0_6_0;
+ mime_types = g.mime_types_2_4_3;
+ mini_portile = g.mini_portile_0_6_1;
minitar = g.minitar_0_5_4;
- minitest = g.minitest_5_4_1;
+ minitest = g.minitest_5_4_3;
multi_json = g.multi_json_1_10_1;
multi_test = g.multi_test_0_1_1;
multipart_post = g.multipart_post_2_0_0;
@@ -99,12 +98,12 @@ g: # Get dependencies from patched gems
net_http_pipeline = g.net_http_pipeline_1_0_1;
net_sftp = g.net_sftp_2_1_2;
net_ssh = g.net_ssh_2_9_1;
- netrc = g.netrc_0_7_7;
+ netrc = g.netrc_0_7_9;
nix = g.nix_0_1_1;
- nokogiri = g.nokogiri_1_6_3_1;
+ nokogiri = g.nokogiri_1_6_5;
ntlm_http = g.ntlm_http_0_1_1;
orderedhash = g.orderedhash_0_0_6;
- papertrail = g.papertrail_0_9_10;
+ papertrail = g.papertrail_0_9_11;
papertrail_cli = g.papertrail_cli_0_9_3;
parallel = g.parallel_0_7_1;
parslet = g.parslet_1_5_0;
@@ -115,20 +114,20 @@ g: # Get dependencies from patched gems
rack = g.rack_1_5_2;
rack_protection = g.rack_protection_1_5_3;
rack_test = g.rack_test_0_6_2;
- rails = g.rails_4_1_6;
- railties = g.railties_4_1_6;
- rake = g.rake_10_3_2;
+ rails = g.rails_4_1_8;
+ railties = g.railties_4_1_8;
+ rake = g.rake_10_4_0;
rb_fsevent = g.rb_fsevent_0_9_4;
rb_inotify = g.rb_inotify_0_9_5;
rdiscount = g.rdiscount_2_1_7_1;
rdoc = g.rdoc_4_1_2;
- redcarpet = g.redcarpet_3_1_2;
+ redcarpet = g.redcarpet_3_2_1;
remote_syslog = g.remote_syslog_1_6_14;
rest_client = g.rest_client_1_6_7;
riemann_dash = g.riemann_dash_0_2_9;
right_aws = g.right_aws_3_1_0;
right_http_connection = g.right_http_connection_1_5_0;
- rjb = g.rjb_1_5_0;
+ rjb = g.rjb_1_5_1;
rkelly_remix = g.rkelly_remix_0_0_6;
rmail = g.rmail_1_0_0;
rspec = g.rspec_2_14_1;
@@ -136,28 +135,29 @@ g: # Get dependencies from patched gems
rspec_expectations = g.rspec_expectations_2_14_5;
rspec_mocks = g.rspec_mocks_2_14_6;
rubyzip = g.rubyzip_1_1_6;
- safe_yaml = g.safe_yaml_1_0_3;
- sass = g.sass_3_4_5;
- selenium_webdriver = g.selenium_webdriver_2_43_0;
+ safe_yaml = g.safe_yaml_1_0_4;
+ sass = g.sass_3_4_9;
+ selenium_webdriver = g.selenium_webdriver_2_44_0;
servolux = g.servolux_0_10_0;
sinatra = g.sinatra_1_4_5;
slop = g.slop_3_6_0;
- sprockets = g.sprockets_2_12_2;
- sprockets_rails = g.sprockets_rails_2_1_4;
+ sprockets = g.sprockets_2_12_3;
+ sprockets_rails = g.sprockets_rails_2_2_2;
syslog_protocol = g.syslog_protocol_0_9_2;
systemu = g.systemu_2_6_4;
taskjuggler = g.taskjuggler_3_5_0;
term_ansicolor = g.term_ansicolor_1_3_0;
- terminal_notifier = g.terminal_notifier_1_6_1;
+ terminal_notifier = g.terminal_notifier_1_6_2;
text = g.text_1_3_0;
- thin = g.thin_1_6_2;
+ thin = g.thin_1_6_3;
thor = g.thor_0_19_1;
thread_safe = g.thread_safe_0_3_4;
tilt = g.tilt_1_4_1;
timers = g.timers_4_0_1;
tins = g.tins_1_3_3;
- toml = g.toml_0_1_1;
- travis = g.travis_1_7_2;
+ tmuxinator = g.tmuxinator_0_6_9;
+ toml = g.toml_0_1_2;
+ travis = g.travis_1_7_4;
trollop = g.trollop_2_0;
typhoeus = g.typhoeus_0_6_9;
tzinfo = g.tzinfo_1_2_2;
@@ -173,9 +173,9 @@ g: # Get dependencies from patched gems
xml_simple = g.xml_simple_1_1_2;
yajl_ruby = g.yajl_ruby_1_2_1;
};
- gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''compass'' ''cucumber'' ''erubis'' ''execjs'' ''fakes3'' ''foreman'' ''gettext'' ''heroku'' ''iconv'' ''jekyll'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''rdoc'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uglifier'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ''yajl-ruby'' ];
+ gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''compass'' ''cucumber'' ''erubis'' ''execjs'' ''fakes3'' ''foreman'' ''gettext'' ''heroku'' ''iconv'' ''jekyll'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''rdoc'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''tmuxinator'' ''travis'' ''trollop'' ''uglifier'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ''yajl-ruby'' ];
gems = {
- ZenTest_4_10_1 = {
+ ZenTest_4_11_0 = {
basename = ''ZenTest'';
meta = {
description = ''ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby'';
@@ -202,75 +202,75 @@ multiruby runs anything you want on multiple versions of ruby. Great
for compatibility checking! Use multiruby_setup to manage your
installed versions.'';
};
- name = ''ZenTest-4.10.1'';
+ name = ''ZenTest-4.11.0'';
requiredGems = [ ];
- sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1'';
+ sha256 = ''0pm0kxrcbcg787jgd9z6cq0p0mg1v2m27n6sgs3pj0v219f526y8'';
};
- actionmailer_4_1_6 = {
+ actionmailer_4_1_8 = {
basename = ''actionmailer'';
meta = {
description = ''Email composition, delivery, and receiving framework (part of Rails).'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
};
- name = ''actionmailer-4.1.6'';
- requiredGems = [ g.actionpack_4_1_6 g.actionview_4_1_6 g.mail_2_6_1 ];
- sha256 = ''1lsw9h0wm7pwdzm9jdq3y5b8b1cf56fd4dcgx4s91qf0lc0dw0wv'';
+ name = ''actionmailer-4.1.8'';
+ requiredGems = [ g.actionpack_4_1_8 g.actionview_4_1_8 g.mail_2_6_3 ];
+ sha256 = ''1x2jd4vbymkvikdaribgi12mbhbxnfvy54bi4wcilh2a0222m46s'';
};
- actionpack_4_1_6 = {
+ actionpack_4_1_8 = {
basename = ''actionpack'';
meta = {
description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
};
- name = ''actionpack-4.1.6'';
- requiredGems = [ g.activesupport_4_1_6 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_6 ];
- sha256 = ''07a95iahv04gikk4qbgpi9is709ynkpcd4g00kqm629jaffrsyj2'';
+ name = ''actionpack-4.1.8'';
+ requiredGems = [ g.activesupport_4_1_8 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_8 ];
+ sha256 = ''19q0z7rkc7mrqapikyi4qzcxkl8bzy8dxipqq19gskrk2aqyrbsg'';
};
- actionview_4_1_6 = {
+ actionview_4_1_8 = {
basename = ''actionview'';
meta = {
description = ''Rendering framework putting the V in MVC (part of Rails).'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Simple, battle-tested conventions and helpers for building web pages.'';
};
- name = ''actionview-4.1.6'';
- requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 g.erubis_2_7_0 ];
- sha256 = ''1r06r4zsaqsq1wyqy2g29nnycw50v37ab7zmnvzjhy24y53rv9w7'';
+ name = ''actionview-4.1.8'';
+ requiredGems = [ g.activesupport_4_1_8 g.builder_3_2_2 g.erubis_2_7_0 ];
+ sha256 = ''1a870vq2r6q4rxand0nwvq52rwakp9l4p6a834i2rjz5rildmigk'';
};
- activemodel_4_1_6 = {
+ activemodel_4_1_8 = {
basename = ''activemodel'';
meta = {
description = ''A toolkit for building modeling frameworks (part of Rails).'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.'';
};
- name = ''activemodel-4.1.6'';
- requiredGems = [ g.activesupport_4_1_6 g.builder_3_2_2 ];
- sha256 = ''14mw7d0jax7sky4nc2a7rspcf2inb3m6mxhx653i00v0xjrxa3x6'';
+ name = ''activemodel-4.1.8'';
+ requiredGems = [ g.activesupport_4_1_8 g.builder_3_2_2 ];
+ sha256 = ''1zvj66715rmfzf2zwwc8jyk4s21gggxvykvb6fqsny3hlhc1axq5'';
};
- activerecord_4_1_6 = {
+ activerecord_4_1_8 = {
basename = ''activerecord'';
meta = {
description = ''Object-relational mapper framework (part of Rails).'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
};
- name = ''activerecord-4.1.6'';
- requiredGems = [ g.activesupport_4_1_6 g.activemodel_4_1_6 g.arel_5_0_1_20140414130214 ];
- sha256 = ''15s72gawgvd7msa2i7hmjw81znif8zh1v57pmans8vmphfg2n9l7'';
+ name = ''activerecord-4.1.8'';
+ requiredGems = [ g.activesupport_4_1_8 g.activemodel_4_1_8 g.arel_5_0_1_20140414130214 ];
+ sha256 = ''0nmgyskdpp59jpq51bc5jnahxs30ik08qld57p1hmy0arh39yc2g'';
};
- activesupport_4_1_6 = {
+ activesupport_4_1_8 = {
basename = ''activesupport'';
meta = {
description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
};
- name = ''activesupport-4.1.6'';
- requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_1 g.thread_safe_0_3_4 ];
- sha256 = ''0crwl6rlxpv5fvvnvcbrjc7iygj8nklj83v1734h5lrhjzirxc22'';
+ name = ''activesupport-4.1.8'';
+ requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_3 g.thread_safe_0_3_4 ];
+ sha256 = ''012w64jqmkkhcah4rzmcmmd53ihrxdn81nifi6dgrg8i40cxqb8r'';
};
addressable_2_3_6 = {
basename = ''addressable'';
@@ -304,7 +304,7 @@ database compatibility and query generation.'';
requiredGems = [ ];
sha256 = ''0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9'';
};
- atoulme_Antwrap_0_7_4 = {
+ atoulme_Antwrap_0_7_5 = {
basename = ''atoulme_Antwrap'';
meta = {
description = ''A Ruby module that wraps the Apache Ant build tool. Antwrap can be used to invoke Ant Tasks from a Ruby or a JRuby script.'';
@@ -313,18 +313,18 @@ database compatibility and query generation.'';
== FEATURES/PROBLEMS:
- Antwrap runs on the native Ruby interpreter via the RJB (Ruby Java Bridge gem) and on the JRuby interpreter. Antwrap is compatible with Ant versions 1.5.4,
- 1.6.5 and 1.7.0. For more information, see the Project Info (http://rubyforge.org/projects/antwrap/) page.
-
+ Antwrap runs on the native Ruby interpreter via the RJB (Ruby Java Bridge gem) and on the JRuby interpreter. Antwrap is compatible with Ant versions 1.5.4,
+ 1.6.5 and 1.7.0. For more information, see the Project Info (http://rubyforge.org/projects/antwrap/) page.
+
== SYNOPSIS:
- Antwrap is a Ruby library that can be used to invoke Ant tasks. It is being used in the Buildr (http://incubator.apache.org/buildr/) project to execute
- Ant (http://ant.apache.org/) tasks in a Java project. If you are tired of fighting with Ant or Maven XML files in your Java project, take some time to
+ Antwrap is a Ruby library that can be used to invoke Ant tasks. It is being used in the Buildr (http://incubator.apache.org/buildr/) project to execute
+ Ant (http://ant.apache.org/) tasks in a Java project. If you are tired of fighting with Ant or Maven XML files in your Java project, take some time to
check out Buildr!'';
};
- name = ''atoulme-Antwrap-0.7.4'';
- requiredGems = [ g.rjb_1_5_0 ];
- sha256 = ''0sh9capkya88qm9mvixwly32fwb2c4nzif9j9vv0f73rqw8kz4j4'';
+ name = ''atoulme-Antwrap-0.7.5'';
+ requiredGems = [ g.rjb_1_5_1 ];
+ sha256 = ''05s3iw44lqa81f8nfy5f0xjj808600h82zb9bsh46b9kcq2w2kmz'';
};
autotest_rails_4_2_1 = {
basename = ''autotest_rails'';
@@ -335,10 +335,10 @@ database compatibility and query generation.'';
rails support and extra plugins for migrations and fixtures.'';
};
name = ''autotest-rails-4.2.1'';
- requiredGems = [ g.ZenTest_4_10_1 ];
+ requiredGems = [ g.ZenTest_4_11_0 ];
sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l'';
};
- aws_sdk_1_53_0 = {
+ aws_sdk_1_59_0 = {
basename = ''aws_sdk'';
meta = {
description = ''AWS SDK for Ruby V1'';
@@ -347,11 +347,11 @@ rails support and extra plugins for migrations and fixtures.'';
Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
application.'';
};
- name = ''aws-sdk-1.53.0'';
- requiredGems = [ g.aws_sdk_v1_1_53_0 ];
- sha256 = ''1jwvzlpyh5hpa3qn972wmn2pmhqpzw5vjal2n5i14qplvafmj7p2'';
+ name = ''aws-sdk-1.59.0'';
+ requiredGems = [ g.aws_sdk_v1_1_59_0 ];
+ sha256 = ''0vv3w326mz601970a16vbhmllfja1lk64a6dfb1lqrcx83g9v49f'';
};
- aws_sdk_v1_1_53_0 = {
+ aws_sdk_v1_1_59_0 = {
basename = ''aws_sdk_v1'';
meta = {
description = ''AWS SDK for Ruby V1'';
@@ -360,20 +360,20 @@ application.'';
Use `aws-sdk-v1` if you want to load v1 and v2 of the Ruby SDK in the same
application.'';
};
- name = ''aws-sdk-v1-1.53.0'';
- requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ];
- sha256 = ''00yagrm2d5agwkfgkv4rqbxymwmgjmv5n8hah3xhrc90q1ywr7hw'';
+ name = ''aws-sdk-v1-1.59.0'';
+ requiredGems = [ g.nokogiri_1_6_5 g.json_1_8_1 ];
+ sha256 = ''1y07wbbxhhgl2j30mq7bs2hljfpjf0b38iaajlrzi93y577xwxfa'';
};
- backports_3_6_1 = {
+ backports_3_6_4 = {
basename = ''backports'';
meta = {
description = ''Backports of Ruby features for older Ruby.'';
homepage = ''http://github.com/marcandre/backports'';
longDescription = ''Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.1.0 for earlier versions.'';
};
- name = ''backports-3.6.1'';
+ name = ''backports-3.6.4'';
requiredGems = [ ];
- sha256 = ''182fzzmzhjknnh8r6196lnws5fik86wnsn64a382w0fqb2vz98bq'';
+ sha256 = ''0x2i84g14v5k63i1i2hwzpc2i8h1vkcjz7gr6gicdwsxbvnszwsc'';
};
bitbucket_backup_0_3_1 = {
basename = ''bitbucket_backup'';
@@ -425,19 +425,19 @@ for those one-off tasks, with a language that's a joy to use.
'';
};
name = ''buildr-1.4.20'';
- requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_9 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_3 g.orderedhash_0_0_6 ];
+ requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_9 g.atoulme_Antwrap_0_7_5 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_7 g.orderedhash_0_0_6 ];
sha256 = ''0x4ffblw7jg0z49ywfm5abfxgg23di3d661czndwi904cvmghrkv'';
};
- bundler_1_7_3 = {
+ bundler_1_7_7 = {
basename = ''bundler'';
meta = {
description = ''The best way to manage your application's dependencies'';
homepage = ''http://bundler.io'';
longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
};
- name = ''bundler-1.7.3'';
+ name = ''bundler-1.7.7'';
requiredGems = [ ];
- sha256 = ''00r3b4bchiqbd12y896hmrp5sa6n4391fygg1jmvljx1635x5kyj'';
+ sha256 = ''1911jd33nlzr89dapbkllxfwi63c06zg93cmwsx17l2hh5zzggdh'';
};
celluloid_0_16_0 = {
basename = ''celluloid'';
@@ -450,16 +450,16 @@ for those one-off tasks, with a language that's a joy to use.
requiredGems = [ g.timers_4_0_1 ];
sha256 = ''044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3'';
};
- childprocess_0_5_3 = {
+ childprocess_0_5_5 = {
basename = ''childprocess'';
meta = {
description = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
homepage = ''http://github.com/jarib/childprocess'';
longDescription = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
};
- name = ''childprocess-0.5.3'';
- requiredGems = [ g.ffi_1_9_3 ];
- sha256 = ''12djpdr487fddq55sav8gw1pjglcbb0ab0s6npga0ywgsqdyvsww'';
+ name = ''childprocess-0.5.5'';
+ requiredGems = [ g.ffi_1_9_6 ];
+ sha256 = ''0cxzh17vjlmpqfcas4815x50dc1gzfwgbs51zzpd4chrl6ak4n4v'';
};
chronic_0_10_2 = {
basename = ''chronic'';
@@ -472,42 +472,42 @@ for those one-off tasks, with a language that's a joy to use.
requiredGems = [ ];
sha256 = ''1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn'';
};
- chunky_png_1_3_1 = {
+ chunky_png_1_3_3 = {
basename = ''chunky_png'';
meta = {
description = ''Pure ruby library for read/write, chunk-level access to PNG files'';
homepage = ''http://wiki.github.com/wvanbergen/chunky_png'';
- longDescription = '' This pure Ruby library can read and write PNG images without depending on an external
+ longDescription = '' This pure Ruby library can read and write PNG images without depending on an external
image library, like RMagick. It tries to be memory efficient and reasonably fast.
-
- It supports reading and writing all PNG variants that are defined in the specification,
- with one limitation: only 8-bit color depth is supported. It supports all transparency,
- interlacing and filtering options the PNG specifications allows. It can also read and
+
+ It supports reading and writing all PNG variants that are defined in the specification,
+ with one limitation: only 8-bit color depth is supported. It supports all transparency,
+ interlacing and filtering options the PNG specifications allows. It can also read and
write textual metadata from PNG files. Low-level read/write access to PNG chunks is
also possible.
-
+
This library supports simple drawing on the image canvas and simple operations like
- alpha composition and cropping. Finally, it can import from and export to RMagick for
+ alpha composition and cropping. Finally, it can import from and export to RMagick for
interoperability.
-
- Also, have a look at OilyPNG at http://github.com/wvanbergen/oily_png. OilyPNG is a
- drop in mixin module that implements some of the ChunkyPNG algorithms in C, which
+
+ Also, have a look at OilyPNG at http://github.com/wvanbergen/oily_png. OilyPNG is a
+ drop in mixin module that implements some of the ChunkyPNG algorithms in C, which
provides a massive speed boost to encoding and decoding.
'';
};
- name = ''chunky_png-1.3.1'';
+ name = ''chunky_png-1.3.3'';
requiredGems = [ ];
- sha256 = ''1kpcv2wrx3zyfi5jbsnd9da1wmkjwidnmpshq6vhzz0r8hp7ai8a'';
+ sha256 = ''1lc25p87ljn9r62wps32bq88d8i292kda9fs2m05x15zjm3r6y20'';
};
- classifier_reborn_2_0_1 = {
+ classifier_reborn_2_0_2 = {
basename = ''classifier_reborn'';
meta = {
description = ''A general classifier module to allow Bayesian and other types of classifications.'';
homepage = ''https://github.com/jekyll/classifier-reborn'';
};
- name = ''classifier-reborn-2.0.1'';
+ name = ''classifier-reborn-2.0.2'';
requiredGems = [ g.fast_stemmer_1_0_2 ];
- sha256 = ''1p90lwn6x2akg882h597vb6fdbw6zmiw7pqlpqsc1dj243zf0pks'';
+ sha256 = ''0adp6hchmlhzjkai9z482cyfnbv4ywks4dlly5hhiaxrn1aybpzh'';
};
coderay_1_1_0 = {
basename = ''coderay'';
@@ -529,7 +529,7 @@ for those one-off tasks, with a language that's a joy to use.
'';
};
name = ''coffee-script-2.3.0'';
- requiredGems = [ g.coffee_script_source_1_8_0 g.execjs_2_2_1 ];
+ requiredGems = [ g.coffee_script_source_1_8_0 g.execjs_2_2_2 ];
sha256 = ''0i0p52f2s7hk8sq3q9342and3whjnhjhc7ldg8zmnjjcm44asm3d'';
};
coffee_script_source_1_8_0 = {
@@ -567,7 +567,7 @@ for those one-off tasks, with a language that's a joy to use.
longDescription = ''Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintenance of CSS.'';
};
name = ''compass-1.0.1'';
- requiredGems = [ g.sass_3_4_5 g.compass_core_1_0_1 g.compass_import_once_1_0_5 g.chunky_png_1_3_1 g.rb_fsevent_0_9_4 g.rb_inotify_0_9_5 ];
+ requiredGems = [ g.sass_3_4_9 g.compass_core_1_0_1 g.compass_import_once_1_0_5 g.chunky_png_1_3_3 g.rb_fsevent_0_9_4 g.rb_inotify_0_9_5 ];
sha256 = ''0cxb6nbj37wz2zwwb4pkbvg9pg0ymamxx9v400h9ibvlb5n0ri40'';
};
compass_core_1_0_1 = {
@@ -578,7 +578,7 @@ for those one-off tasks, with a language that's a joy to use.
longDescription = ''The Compass core stylesheet library and minimum required ruby extensions. This library can be used stand-alone without the compass ruby configuration file or compass command line tools.'';
};
name = ''compass-core-1.0.1'';
- requiredGems = [ g.sass_3_4_5 g.multi_json_1_10_1 ];
+ requiredGems = [ g.sass_3_4_9 g.multi_json_1_10_1 ];
sha256 = ''0zhbmgjq6s9j2qdx3cz0v8s216mh8g0ymk4fzmq3c4an9rryl1zx'';
};
compass_import_once_1_0_5 = {
@@ -589,7 +589,7 @@ for those one-off tasks, with a language that's a joy to use.
longDescription = ''Changes the behavior of Sass's @import directive to only import a file once.'';
};
name = ''compass-import-once-1.0.5'';
- requiredGems = [ g.sass_3_4_5 ];
+ requiredGems = [ g.sass_3_4_9 ];
sha256 = ''0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq'';
};
cucumber_1_3_17 = {
@@ -669,7 +669,7 @@ We are happy to report that this issue has been resolved.'';
requiredGems = [ ];
sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
};
- domain_name_0_5_21 = {
+ domain_name_0_5_22 = {
basename = ''domain_name'';
meta = {
description = ''Domain Name manipulation library for Ruby'';
@@ -680,30 +680,20 @@ It can also be used for cookie domain validation based on the Public
Suffix List.
'';
};
- name = ''domain_name-0.5.21'';
+ name = ''domain_name-0.5.22'';
requiredGems = [ g.unf_0_1_4 ];
- sha256 = ''1ryb2gmryzcrqm9gl19658m1kcjkjz5m0r24mzq4j0zfrs95nfnq'';
+ sha256 = ''0r3kj0hjibv5y7z3m46xdjrc19pkhnkhzr4xmvq9gypr2h7vz2yb'';
};
- dotenv_0_11_1 = {
+ dotenv_1_0_2 = {
basename = ''dotenv'';
meta = {
description = ''Loads environment variables from `.env`.'';
homepage = ''https://github.com/bkeepers/dotenv'';
longDescription = ''Loads environment variables from `.env`.'';
};
- name = ''dotenv-0.11.1'';
- requiredGems = [ g.dotenv_deployment_0_0_2 ];
- sha256 = ''09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m'';
- };
- dotenv_deployment_0_0_2 = {
- basename = ''dotenv_deployment'';
- meta = {
- description = ''Deployment concerns for dotenv'';
- homepage = ''https://github.com/bkeepers/dotenv-deployment'';
- };
- name = ''dotenv-deployment-0.0.2'';
+ name = ''dotenv-1.0.2'';
requiredGems = [ ];
- sha256 = ''1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c'';
+ sha256 = ''1g6sdv55842a7iv11wawrbfrx8x5k7gl598nl6my55jb2nbynkmw'';
};
em_resolv_replace_1_1_3 = {
basename = ''em_resolv_replace'';
@@ -746,7 +736,7 @@ Suffix List.
longDescription = ''Very lightweight libcurl wrapper.'';
};
name = ''ethon-0.7.1'';
- requiredGems = [ g.ffi_1_9_3 ];
+ requiredGems = [ g.ffi_1_9_6 ];
sha256 = ''0b762cmnj20fjlrlzk5vsndzv4ac3ybdi4vikx5c11abl7x5wbg6'';
};
eventmachine_1_0_3 = {
@@ -780,37 +770,38 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ g.eventmachine_1_0_3 ];
sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
};
- excon_0_39_5 = {
+ excon_0_41_0 = {
basename = ''excon'';
meta = {
description = ''speed, persistence, http(s)'';
homepage = ''https://github.com/excon/excon'';
longDescription = ''EXtended http(s) CONnections'';
};
- name = ''excon-0.39.5'';
+ name = ''excon-0.41.0'';
requiredGems = [ ];
- sha256 = ''04dgrjq6b955bv2bps0g59gvn089mz8339nhlqksjf9jimgjglcq'';
+ sha256 = ''136cffvp65ng50idp323v1sdpydl16csf287ylanrvfv0nbmmhi0'';
};
- execjs_2_2_1 = {
+ execjs_2_2_2 = {
basename = ''execjs'';
meta = {
description = ''Run JavaScript code from Ruby'';
homepage = ''https://github.com/sstephenson/execjs'';
longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
};
- name = ''execjs-2.2.1'';
+ name = ''execjs-2.2.2'';
requiredGems = [ ];
- sha256 = ''1s41g9qwq0h4452q4gp934lnkzfkxh4wrg8fd4bcynba86bf3j8b'';
+ sha256 = ''05m41mnxn4b2p133qzbz5cy9cc5rn57aa0pp2943hxmzbk379z1f'';
};
- fakes3_0_1_5_2 = {
+ fakes3_0_1_6_1 = {
basename = ''fakes3'';
meta = {
description = ''FakeS3 is a server that simulates S3 commands so you can test your S3 functionality in your projects'';
+ homepage = ''https://github.com/jubos/fake-s3'';
longDescription = ''Use FakeS3 to test basic S3 functionality without actually connecting to S3'';
};
- name = ''fakes3-0.1.5.2'';
+ name = ''fakes3-0.1.6.1'';
requiredGems = [ g.thor_0_19_1 g.builder_3_2_2 ];
- sha256 = ''1gmg428s1jpdwn7bd9pi4ikxg8440nq9yqs22wv0k355z5cqb8by'';
+ sha256 = ''1s2w06lgwlhsr3q7b58qnjdqqi6x3ksl3hjqq54d57gb0y65s0p3'';
};
faraday_0_9_0 = {
basename = ''faraday'';
@@ -844,38 +835,38 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ ];
sha256 = ''0688clyk4xxh3kdb18vi089k90mca8ji5fwaknh3da5wrzcrzanh'';
};
- ffi_1_9_3 = {
+ ffi_1_9_6 = {
basename = ''ffi'';
meta = {
description = ''Ruby FFI'';
homepage = ''http://wiki.github.com/ffi/ffi'';
longDescription = ''Ruby FFI library'';
};
- name = ''ffi-1.9.3'';
+ name = ''ffi-1.9.6'';
requiredGems = [ ];
- sha256 = ''0873h6jp3v65mll7av9bxlzp9m9l1cc66j0krg0llchwbh4pv5sp'';
+ sha256 = ''1ckw1336rnyv9yvvl614qgkqqi477g4hljv6xsws2vz14ynlvzhj'';
};
- file_tail_1_0_12 = {
+ file_tail_1_1_0 = {
basename = ''file_tail'';
meta = {
description = ''File::Tail for Ruby'';
homepage = ''http://github.com/flori/file-tail'';
longDescription = ''Library to tail files in Ruby'';
};
- name = ''file-tail-1.0.12'';
- requiredGems = [ g.tins_0_13_2 ];
- sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
+ name = ''file-tail-1.1.0'';
+ requiredGems = [ g.tins_1_3_3 ];
+ sha256 = ''0idypaigk7l8kzhhnjfhz84mrvqd905njyycgqdq6v23jgif9n64'';
};
- foreman_0_75_0 = {
+ foreman_0_76_0 = {
basename = ''foreman'';
meta = {
description = ''Process manager for applications with multiple components'';
homepage = ''http://github.com/ddollar/foreman'';
longDescription = ''Process manager for applications with multiple components'';
};
- name = ''foreman-0.75.0'';
- requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ];
- sha256 = ''0iicqdjwwms86nchk80ia7x4wjcd3p5c8s53bc0z0h063i0ks9ha'';
+ name = ''foreman-0.76.0'';
+ requiredGems = [ g.thor_0_19_1 g.dotenv_1_0_2 ];
+ sha256 = ''1akr7gjnzbjpp71gf4hw6hd7hrl9fnm9ggazkkvnz84l9l36cgm2'';
};
gettext_3_1_4 = {
basename = ''gettext'';
@@ -899,7 +890,7 @@ So you can use GNU gettext tools for maintaining.
longDescription = ''multi-layer client for the github api v3'';
};
name = ''gh-0.13.2'';
- requiredGems = [ g.faraday_0_9_0 g.backports_3_6_1 g.multi_json_1_10_1 g.addressable_2_3_6 g.net_http_persistent_2_9_4 g.net_http_pipeline_1_0_1 ];
+ requiredGems = [ g.faraday_0_9_0 g.backports_3_6_4 g.multi_json_1_10_1 g.addressable_2_3_6 g.net_http_persistent_2_9_4 g.net_http_pipeline_1_0_1 ];
sha256 = ''17scqa35j6ghpykzk986gnd6dvbrh8nn60ib04hb2gbyh9dns1dj'';
};
gherkin_2_12_2 = {
@@ -913,27 +904,27 @@ So you can use GNU gettext tools for maintaining.
requiredGems = [ g.multi_json_1_10_1 ];
sha256 = ''1mxfgw15pii1jmq00xxbyp77v71mh3bp99ndgwzfwkxvbcisha25'';
};
- heroku_3_10_3 = {
+ heroku_3_16_2 = {
basename = ''heroku'';
meta = {
description = ''Client library and CLI to deploy apps on Heroku.'';
homepage = ''http://heroku.com/'';
longDescription = ''Client library and command-line tool to deploy and manage apps on Heroku.'';
};
- name = ''heroku-3.10.3'';
- requiredGems = [ g.heroku_api_0_3_19 g.launchy_2_4_2 g.netrc_0_7_7 g.rest_client_1_6_7 g.rubyzip_0_9_9 ];
- sha256 = ''04j9rndygkf5gkv2w5a29wvn683viskhaqyj4fsvnj02qfhfrvnr'';
+ name = ''heroku-3.16.2'';
+ requiredGems = [ g.heroku_api_0_3_20 g.launchy_2_4_3 g.netrc_0_7_9 g.rest_client_1_6_7 g.rubyzip_0_9_9 g.multi_json_1_10_1 ];
+ sha256 = ''0p21qfcpkgf35s3hwpc94lrdib85rirsdl31nqsrw9wifjqiabc4'';
};
- heroku_api_0_3_19 = {
+ heroku_api_0_3_20 = {
basename = ''heroku_api'';
meta = {
description = ''Ruby Client for the Heroku API'';
homepage = ''http://github.com/heroku/heroku.rb'';
longDescription = ''Ruby Client for the Heroku API'';
};
- name = ''heroku-api-0.3.19'';
- requiredGems = [ g.excon_0_39_5 g.multi_json_1_10_1 ];
- sha256 = ''08wddhsnvjyb2a1wl85gbb00rjb1xs26pjlkd068635hi6wmx2id'';
+ name = ''heroku-api-0.3.20'';
+ requiredGems = [ g.excon_0_41_0 g.multi_json_1_10_1 ];
+ sha256 = ''0c8dfjxzx3prgw7c3xmwzik268wziplv9jhzg0b70mpambvj0h18'';
};
highline_1_6_21 = {
basename = ''highline'';
@@ -989,7 +980,7 @@ below.
For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
};
name = ''hoe-3.7.1'';
- requiredGems = [ g.rake_10_3_2 ];
+ requiredGems = [ g.rake_10_4_0 ];
sha256 = ''0lyrdbzxj4isxzyfp93w0q1g9sqw6grkjp91xirzlw1z1714qsw3'';
};
http_cookie_1_0_2 = {
@@ -1000,7 +991,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265. It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers. It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.'';
};
name = ''http-cookie-1.0.2'';
- requiredGems = [ g.domain_name_0_5_21 ];
+ requiredGems = [ g.domain_name_0_5_22 ];
sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw'';
};
i18n_0_6_11 = {
@@ -1025,16 +1016,16 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
requiredGems = [ ];
sha256 = ''16sgj6gqs4bgwv6q4vv811fb43908psr33dz7sphn1z8la3y7m2v'';
};
- jekyll_2_4_0 = {
+ jekyll_2_5_2 = {
basename = ''jekyll'';
meta = {
description = ''A simple, blog aware, static site generator.'';
homepage = ''https://github.com/jekyll/jekyll'';
longDescription = ''Jekyll is a simple, blog aware, static site generator.'';
};
- name = ''jekyll-2.4.0'';
- requiredGems = [ g.liquid_2_6_1 g.kramdown_1_4_2 g.mercenary_0_3_4 g.safe_yaml_1_0_3 g.colorator_0_1 g.pygments_rb_0_6_0 g.redcarpet_3_1_2 g.toml_0_1_1 g.jekyll_paginate_1_0_0 g.jekyll_gist_1_1_0 g.jekyll_coffeescript_1_0_1 g.jekyll_sass_converter_1_2_1 g.jekyll_watch_1_1_1 g.classifier_reborn_2_0_1 ];
- sha256 = ''1n8m0cw91yayvcspqi3x9y9y0nahagg0sy8r6pn0zplqg1vh7y1l'';
+ name = ''jekyll-2.5.2'';
+ requiredGems = [ g.liquid_2_6_1 g.kramdown_1_5_0 g.mercenary_0_3_5 g.safe_yaml_1_0_4 g.colorator_0_1 g.pygments_rb_0_6_0 g.redcarpet_3_2_1 g.toml_0_1_2 g.jekyll_paginate_1_1_0 g.jekyll_gist_1_1_0 g.jekyll_coffeescript_1_0_1 g.jekyll_sass_converter_1_2_1 g.jekyll_watch_1_1_2 g.classifier_reborn_2_0_2 ];
+ sha256 = ''03ka7jcfk5byvphy5ks35w75i78ahshrrgm3zbnsxj8xvbxg9bgi'';
};
jekyll_coffeescript_1_0_1 = {
basename = ''jekyll_coffeescript'';
@@ -1056,15 +1047,15 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
requiredGems = [ ];
sha256 = ''06d4jwf64fl7x3dqfimnfqzr4d3wbsdz2l4fif35j91mmh37nmq9'';
};
- jekyll_paginate_1_0_0 = {
+ jekyll_paginate_1_1_0 = {
basename = ''jekyll_paginate'';
meta = {
description = ''Built-in Pagination Generator for Jekyll'';
homepage = ''https://github.com/jekyll/jekyll-paginate'';
};
- name = ''jekyll-paginate-1.0.0'';
+ name = ''jekyll-paginate-1.1.0'';
requiredGems = [ ];
- sha256 = ''1p01c3mncqrzyiskggdxd4cka1fl4ydlphhzbcfx9pylhrishkjk'';
+ sha256 = ''0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8'';
};
jekyll_sass_converter_1_2_1 = {
basename = ''jekyll_sass_converter'';
@@ -1073,18 +1064,18 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
homepage = ''https://github.com/jekyll/jekyll-sass-converter'';
};
name = ''jekyll-sass-converter-1.2.1'';
- requiredGems = [ g.sass_3_4_5 ];
+ requiredGems = [ g.sass_3_4_9 ];
sha256 = ''1w221nzcpaqh2llflciwhbzw1sqxjavwwzbri9n4qkj057a73ar1'';
};
- jekyll_watch_1_1_1 = {
+ jekyll_watch_1_1_2 = {
basename = ''jekyll_watch'';
meta = {
description = ''Rebuild your Jekyll site when a file changes with the `--watch` switch.'';
homepage = ''https://github.com/jekyll/jekyll-watch'';
};
- name = ''jekyll-watch-1.1.1'';
- requiredGems = [ g.listen_2_7_9 ];
- sha256 = ''0q0skw4fjfrjaskfdvkknfy81a1pbr0mlhc2lrbpb533l5xm3gwz'';
+ name = ''jekyll-watch-1.1.2'';
+ requiredGems = [ g.listen_2_8_3 ];
+ sha256 = ''0pgyl015akxslrj7d89gc0z61d6s7iqz5kiba5c4sal6vh0w5ckm'';
};
jsduck_5_3_4 = {
basename = ''jsduck'';
@@ -1119,7 +1110,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
requiredGems = [ ];
sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83'';
};
- kramdown_1_4_2 = {
+ kramdown_1_5_0 = {
basename = ''kramdown'';
meta = {
description = ''kramdown is a fast, pure-Ruby Markdown-superset converter.'';
@@ -1128,20 +1119,20 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
using a strict syntax definition and supporting several common extensions.
'';
};
- name = ''kramdown-1.4.2'';
+ name = ''kramdown-1.5.0'';
requiredGems = [ ];
- sha256 = ''1a1y2a7aysx45qhc6dpbfnlcs1syp04ix12q62f6z84zqrb996xf'';
+ sha256 = ''1max2dyap3lwi6ssaqi5gbzpmb0nlx1qy47bwc1bpls3y18hd6hm'';
};
- launchy_2_4_2 = {
+ launchy_2_4_3 = {
basename = ''launchy'';
meta = {
description = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner.'';
homepage = ''http://github.com/copiousfreetime/launchy'';
longDescription = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.'';
};
- name = ''launchy-2.4.2'';
+ name = ''launchy-2.4.3'';
requiredGems = [ g.addressable_2_3_6 ];
- sha256 = ''0i1nmlrqpnk2q6f7iq85cqaa7b8fw4bmqm57w60g92lsfmszs8iv'';
+ sha256 = ''190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2'';
};
liquid_2_6_1 = {
basename = ''liquid'';
@@ -1153,16 +1144,16 @@ using a strict syntax definition and supporting several common extensions.
requiredGems = [ ];
sha256 = ''0fc67cx36x05hsw0cc56la4qr3939g34cdgqmqgdi8yzs72cbv7x'';
};
- listen_2_7_9 = {
+ listen_2_8_3 = {
basename = ''listen'';
meta = {
description = ''Listen to file modifications'';
homepage = ''https://github.com/guard/listen'';
longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!'';
};
- name = ''listen-2.7.9'';
+ name = ''listen-2.8.3'';
requiredGems = [ g.celluloid_0_16_0 g.rb_fsevent_0_9_4 g.rb_inotify_0_9_5 ];
- sha256 = ''1i9m8fc1w8khwpjxfv9430bqbl4df128i4r8gskgvi3pd4678llf'';
+ sha256 = ''1cvnr8p6kq7z63a32lwcx24ama6rsyh501pzmlpd2gvi891jxbgw'';
};
locale_2_1_0 = {
basename = ''locale'';
@@ -1198,16 +1189,16 @@ using a strict syntax definition and supporting several common extensions.
requiredGems = [ g.systemu_2_6_4 ];
sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b'';
};
- mail_2_6_1 = {
+ mail_2_6_3 = {
basename = ''mail'';
meta = {
description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
- homepage = ''http://github.com/mikel/mail'';
+ homepage = ''https://github.com/mikel/mail'';
longDescription = ''A really Ruby Mail handler.'';
};
- name = ''mail-2.6.1'';
- requiredGems = [ g.mime_types_2_3 ];
- sha256 = ''17gsw57nc7ihk4xnbq9lidzv6h1ivh4l5m16hy790vs219n22mhx'';
+ name = ''mail-2.6.3'';
+ requiredGems = [ g.mime_types_2_4_3 ];
+ sha256 = ''1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp'';
};
mechanize_2_7_3 = {
basename = ''mechanize'';
@@ -1221,19 +1212,19 @@ submitted. Mechanize also keeps track of the sites that you have visited as
a history.'';
};
name = ''mechanize-2.7.3'';
- requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_21 ];
+ requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_4_3 g.http_cookie_1_0_2 g.nokogiri_1_6_5 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_22 ];
sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx'';
};
- mercenary_0_3_4 = {
+ mercenary_0_3_5 = {
basename = ''mercenary'';
meta = {
description = ''Lightweight and flexible library for writing command-line apps in Ruby.'';
homepage = ''https://github.com/jekyll/mercenary'';
longDescription = ''Lightweight and flexible library for writing command-line apps in Ruby.'';
};
- name = ''mercenary-0.3.4'';
+ name = ''mercenary-0.3.5'';
requiredGems = [ ];
- sha256 = ''0fg8pbixs68aqx6slp7cpbl0cwa8c4x8rf1s66f7icqa6i9ifcfn'';
+ sha256 = ''0ls7z086v4xl02g4ia5jhl9s76d22crgmplpmj0c383liwbqi9pb'';
};
method_source_0_8_2 = {
basename = ''method_source'';
@@ -1246,7 +1237,7 @@ a history.'';
requiredGems = [ ];
sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2'';
};
- mime_types_2_3 = {
+ mime_types_2_4_3 = {
basename = ''mime_types'';
meta = {
description = ''The mime-types library provides a library and registry for information about MIME content type definitions'';
@@ -1266,12 +1257,28 @@ add additional type definitions (see Contributing.rdoc). The primary sources
for MIME type definitions found in mime-types is the IANA collection of
registrations (see below for the link), RFCs, and W3C recommendations.
-This is release 2.2, mostly changing how the MIME type registry is updated from
-the IANA registry (the format of which was incompatibly changed shortly before
-this release) and taking advantage of the extra data available from IANA
-registry in the form of MIME::Type#xrefs. In addition, the {LTSW
-list}[http://www.ltsw.se/knbase/internet/mime.htp] has been dropped as a
-supported list.
+This is release 2.4.3, restoring full compatibility with Ruby 1.9.2 (which will
+be dropped in mime-types 3.0). It also includes the performance improvements
+from mime-types 2.4.2 (since yanked because of the broken Ruby 1.9.2 support)
+and the 2.4.1 fix of a bug in observed use of the mime-types library where
+extensions were not previously sorted, such that
+
+ MIME::Types.of('image.jpg').first.extensions.first
+
+returned a value of +jpeg+ in mime-types 1, but +jpe+ in mime-types 2. This was
+introduced because extensions were sorted during assignment
+(MIME::Type#extensions=). This behaviour has been reverted to protect clients
+that work as noted above. The preferred way to express this is the new method:
+
+ MIME::Type.of('image.jpg').first.preferred_extension
+
+Łukasz Śliwa created the
+{friendly_mime}[https://github.com/lukaszsliwa/friendly_mime] gem, which offers
+friendly descriptive names for MIME types. This functionality and
+English-language data has been added to mime-types as MIME::Type#friendly. To
+make it easy for internationalization, MIME::Type#i18n_key has been added,
+which will return a key suitable for use with the
+{I18n}[https://github.com/svenfuchs/i18n] library.
As a reminder, mime-types 2.x is no longer compatible with Ruby 1.8 and
mime-types 1.x is only being maintained for security issues. No new MIME types
@@ -1283,20 +1290,20 @@ conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA Media
Types registry}[https://www.iana.org/assignments/media-types/media-types.xhtml]
with some types added by the users of mime-types.'';
};
- name = ''mime-types-2.3'';
+ name = ''mime-types-2.4.3'';
requiredGems = [ ];
- sha256 = ''0j0mwzr2q9fmisp3r8rp7j95dns2gw7sd8c5sb5y6z0dfj56a4vd'';
+ sha256 = ''16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq'';
};
- mini_portile_0_6_0 = {
+ mini_portile_0_6_1 = {
basename = ''mini_portile'';
meta = {
description = ''Simplistic port-like solution for developers'';
homepage = ''http://github.com/luislavena/mini_portile'';
longDescription = ''Simplistic port-like solution for developers. It provides a standard and simplified way to compile against dependency libraries without messing up your system.'';
};
- name = ''mini_portile-0.6.0'';
+ name = ''mini_portile-0.6.1'';
requiredGems = [ ];
- sha256 = ''09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn'';
+ sha256 = ''07gah4k84sar9d850v9gip9b323pw74vwwndh3bbzxpw5iiwsd3l'';
};
minitar_0_5_4 = {
basename = ''minitar'';
@@ -1309,7 +1316,7 @@ with some types added by the users of mime-types.'';
requiredGems = [ ];
sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka'';
};
- minitest_5_4_1 = {
+ minitest_5_4_3 = {
basename = ''minitest'';
meta = {
description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking'';
@@ -1368,9 +1375,9 @@ classes, modules, inheritance, methods. This means you only have to
learn ruby to use minitest and all of your regular OO practices like
extract-method refactorings still apply.'';
};
- name = ''minitest-5.4.1'';
+ name = ''minitest-5.4.3'';
requiredGems = [ ];
- sha256 = ''04iqz25v8vngw4z5pzhwnsf72fb8gf2vzhidrfcbphwsqqik5s4r'';
+ sha256 = ''1ws2cphg9jh45nrvs43s2ww5r14nb026bwlbwwpi0jz6qsqm86x4'';
};
multi_json_1_10_1 = {
basename = ''multi_json'';
@@ -1499,16 +1506,16 @@ The server will respond in-order.'';
requiredGems = [ ];
sha256 = ''1vscp4r58jisiigqc6d6752w19m1m6hmi3jkzmp3ydxai7h3jb2j'';
};
- netrc_0_7_7 = {
+ netrc_0_7_9 = {
basename = ''netrc'';
meta = {
description = ''Library to read and write netrc files.'';
homepage = ''https://github.com/geemus/netrc'';
longDescription = ''This library can read and update netrc files, preserving formatting including comments and whitespace.'';
};
- name = ''netrc-0.7.7'';
+ name = ''netrc-0.7.9'';
requiredGems = [ ];
- sha256 = ''1y64v93hsxdwgx3dfkyzdki3zqd1slm42dmi23v0zy3kap4vpard'';
+ sha256 = ''11622ccf1gp1m0bkw6y1h5mgsajwszng4rhrfiii264gz4rhhwp5'';
};
nix_0_1_1 = {
basename = ''nix'';
@@ -1521,7 +1528,7 @@ The server will respond in-order.'';
requiredGems = [ ];
sha256 = ''0kwrbkkg0gxibhsz9dpd5zabcf2wqsicg28yiazyb3dc9dslk26k'';
};
- nokogiri_1_6_3_1 = {
+ nokogiri_1_6_5 = {
basename = ''nokogiri'';
meta = {
description = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser'';
@@ -1532,9 +1539,9 @@ many features is the ability to search documents via XPath or CSS3 selectors.
XML is like violence - if it doesn’t solve your problems, you are not using
enough of it.'';
};
- name = ''nokogiri-1.6.3.1'';
- requiredGems = [ g.mini_portile_0_6_0 ];
- sha256 = ''11958hlfd8i3i9y0wk1b6ck9x0j95l4zdbbixmdnnh1r8ijilxli'';
+ name = ''nokogiri-1.6.5'';
+ requiredGems = [ g.mini_portile_0_6_1 ];
+ sha256 = ''1xmxz6fa0m4p7c7ngpgz6gjgv65lzz63dsf0b6vh7gs2fkiw8j7l'';
};
ntlm_http_0_1_1 = {
basename = ''ntlm_http'';
@@ -1557,16 +1564,16 @@ enough of it.'';
requiredGems = [ ];
sha256 = ''0fryy7f9jbpx33jq5m402yqj01zcg563k9fsxlqbhmq638p4bzd7'';
};
- papertrail_0_9_10 = {
+ papertrail_0_9_11 = {
basename = ''papertrail'';
meta = {
description = ''Command-line client for Papertrail hosted log management service.'';
homepage = ''http://github.com/papertrail/papertrail-cli'';
longDescription = ''Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).'';
};
- name = ''papertrail-0.9.10'';
+ name = ''papertrail-0.9.11'';
requiredGems = [ g.chronic_0_10_2 ];
- sha256 = ''1v2acc896w5q72m5pfxc8rx36gzih4fivyiqp0kxwypgyh0f0x58'';
+ sha256 = ''15wbj0yik5j853r1cap8s9f08z5slvx83lxaq6bsvh5kb47hbb0i'';
};
papertrail_cli_0_9_3 = {
basename = ''papertrail_cli'';
@@ -1576,7 +1583,7 @@ enough of it.'';
longDescription = ''Placeholder gem to point to new papertrail gem.'';
};
name = ''papertrail-cli-0.9.3'';
- requiredGems = [ g.papertrail_0_9_10 ];
+ requiredGems = [ g.papertrail_0_9_11 ];
sha256 = ''1914dcfqsmw5rl4xd1zwjrfbgwglyncxm8km06bgxaqn4wnaq5iv'';
};
parallel_0_7_1 = {
@@ -1686,27 +1693,27 @@ request helpers feature.'';
requiredGems = [ g.rack_1_5_2 ];
sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
};
- rails_4_1_6 = {
+ rails_4_1_8 = {
basename = ''rails'';
meta = {
description = ''Full-stack web application framework.'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
};
- name = ''rails-4.1.6'';
- requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.actionview_4_1_6 g.activemodel_4_1_6 g.activerecord_4_1_6 g.actionmailer_4_1_6 g.railties_4_1_6 g.bundler_1_7_3 g.sprockets_rails_2_1_4 ];
- sha256 = ''187g903gmni3prd5i768yfgszc4ak5kmrazavr93d0ybfdbcjlgk'';
+ name = ''rails-4.1.8'';
+ requiredGems = [ g.activesupport_4_1_8 g.actionpack_4_1_8 g.actionview_4_1_8 g.activemodel_4_1_8 g.activerecord_4_1_8 g.actionmailer_4_1_8 g.railties_4_1_8 g.bundler_1_7_7 g.sprockets_rails_2_2_2 ];
+ sha256 = ''17ar4gvnvkcw233cn77x4ps3q6ln3i5kpbqwfa2hbi6s61na9x10'';
};
- railties_4_1_6 = {
+ railties_4_1_8 = {
basename = ''railties'';
meta = {
description = ''Tools for creating, working with, and running Rails applications.'';
homepage = ''http://www.rubyonrails.org'';
longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
};
- name = ''railties-4.1.6'';
- requiredGems = [ g.activesupport_4_1_6 g.actionpack_4_1_6 g.rake_10_3_2 g.thor_0_19_1 ];
- sha256 = ''11valflllkrrz06bsflz78h5nmxhrhm7hdpm1lwmgm8hwd4ybl0c'';
+ name = ''railties-4.1.8'';
+ requiredGems = [ g.activesupport_4_1_8 g.actionpack_4_1_8 g.rake_10_4_0 g.thor_0_19_1 ];
+ sha256 = ''171h23zr4135qynz74n61zly2pr0pzvspdi48dwxvc9xrzgzhznm'';
};
rake_0_9_2_2 = {
basename = ''rake'';
@@ -1719,11 +1726,11 @@ request helpers feature.'';
requiredGems = [ ];
sha256 = ''19n4qp5gzbcqy9ajh56kgwqv9p9w2hnczhyvaqz0nlvk9diyng6q'';
};
- rake_10_3_2 = {
+ rake_10_4_0 = {
basename = ''rake'';
meta = {
description = ''Rake is a Make-like program implemented in Ruby'';
- homepage = ''https://github.com/jimweirich/rake'';
+ homepage = ''https://github.com/ruby/rake'';
longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
specified in standard Ruby syntax.
@@ -1747,9 +1754,9 @@ Rake has the following features:
* Supports parallel execution of tasks.'';
};
- name = ''rake-10.3.2'';
+ name = ''rake-10.4.0'';
requiredGems = [ ];
- sha256 = ''0nvpkjrpsk8xxnij2wd1cdn6arja9q11sxx4aq4fz18bc6fss15m'';
+ sha256 = ''0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8'';
};
rb_fsevent_0_9_4 = {
basename = ''rb_fsevent'';
@@ -1770,7 +1777,7 @@ Rake has the following features:
longDescription = ''A Ruby wrapper for Linux's inotify, using FFI'';
};
name = ''rb-inotify-0.9.5'';
- requiredGems = [ g.ffi_1_9_3 ];
+ requiredGems = [ g.ffi_1_9_6 ];
sha256 = ''0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9'';
};
rdiscount_2_1_7_1 = {
@@ -1796,16 +1803,16 @@ from the command-line.'';
requiredGems = [ g.json_1_8_1 ];
sha256 = ''0cqhjidw657d8irkypxsrv6dr4y9r8csg9inaq40c3iz110cc8w6'';
};
- redcarpet_3_1_2 = {
+ redcarpet_3_2_1 = {
basename = ''redcarpet'';
meta = {
description = ''Markdown that smells nice'';
homepage = ''http://github.com/vmg/redcarpet'';
longDescription = ''A fast, safe and extensible Markdown to (X)HTML parser'';
};
- name = ''redcarpet-3.1.2'';
+ name = ''redcarpet-3.2.1'';
requiredGems = [ ];
- sha256 = ''076p52lkns90hqs27rs4kns2bg7maz8qxr87bl34yd6in319flzz'';
+ sha256 = ''194gm78cj5kzy60yx8lng26rqgn1qyl4kxhvj60a3f7s1ymssnk7'';
};
remote_syslog_1_6_14 = {
basename = ''remote_syslog'';
@@ -1815,7 +1822,7 @@ from the command-line.'';
longDescription = ''Lightweight daemon to tail one or more log files and transmit UDP syslog messages to a remote syslog host (centralized log aggregation). Generates UDP packets itself instead of depending on a system syslog daemon, so it doesn't affect system-wide logging configuration.'';
};
name = ''remote_syslog-1.6.14'';
- requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
+ requiredGems = [ g.servolux_0_10_0 g.file_tail_1_1_0 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr'';
};
rest_client_1_6_7 = {
@@ -1826,7 +1833,7 @@ from the command-line.'';
longDescription = ''A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.'';
};
name = ''rest-client-1.6.7'';
- requiredGems = [ g.mime_types_2_3 ];
+ requiredGems = [ g.mime_types_2_4_3 ];
sha256 = ''0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853'';
};
riemann_dash_0_2_9 = {
@@ -1837,7 +1844,7 @@ from the command-line.'';
longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
};
name = ''riemann-dash-0.2.9'';
- requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_5 g.webrick_1_3_1 g.multi_json_1_3_6 ];
+ requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_9 g.webrick_1_3_1 g.multi_json_1_3_6 ];
sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3'';
};
right_aws_3_1_0 = {
@@ -1919,7 +1926,7 @@ algorithm for low-level network errors.
requiredGems = [ ];
sha256 = ''062f7bjwz6iz6da49nzzbbx4xn8ahqqha2smqvqhbf0i7kd5v0yz'';
};
- rjb_1_5_0 = {
+ rjb_1_5_1 = {
basename = ''rjb'';
meta = {
description = ''Ruby Java bridge'';
@@ -1927,9 +1934,9 @@ algorithm for low-level network errors.
longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
'';
};
- name = ''rjb-1.5.0'';
+ name = ''rjb-1.5.1'';
requiredGems = [ ];
- sha256 = ''0hjc0l3241lqrfracgb7gmsyd54v0lzplqfv9kfzk8km61pkjlfb'';
+ sha256 = ''1mfmx80r00ka5zn4qa3bnwsvapsnn4g0xr13g1kf95f2fgymy0yv'';
};
rkelly_remix_0_0_6 = {
basename = ''rkelly_remix'';
@@ -2051,18 +2058,18 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
requiredGems = [ ];
sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
};
- safe_yaml_1_0_3 = {
+ safe_yaml_1_0_4 = {
basename = ''safe_yaml'';
meta = {
description = ''SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.'';
homepage = ''https://github.com/dtao/safe_yaml'';
longDescription = ''Parse YAML safely'';
};
- name = ''safe_yaml-1.0.3'';
+ name = ''safe_yaml-1.0.4'';
requiredGems = [ ];
- sha256 = ''063bykyk40s3rhy1dxfbvl69s179n1iny418z4wqjbvhrmjn18wl'';
+ sha256 = ''1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094'';
};
- sass_3_4_5 = {
+ sass_3_4_9 = {
basename = ''sass'';
meta = {
description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -2073,20 +2080,20 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
command line tool or a web-framework plugin.
'';
};
- name = ''sass-3.4.5'';
+ name = ''sass-3.4.9'';
requiredGems = [ ];
- sha256 = ''1rd07m2gprzgd6a4vnrlnyx5lkslfn30hcgfav86rb82a8zqmxah'';
+ sha256 = ''0vg81irnrlgsgf1xl2cvh7nx7qbq6wbi8qq7avqzzfh9bx8mp7ff'';
};
- selenium_webdriver_2_43_0 = {
+ selenium_webdriver_2_44_0 = {
basename = ''selenium_webdriver'';
meta = {
description = ''The next generation developer focused tool for automated testing of webapps'';
homepage = ''http://selenium.googlecode.com'';
longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
};
- name = ''selenium-webdriver-2.43.0'';
- requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_2_1 ];
- sha256 = ''06jjkb4hcyh8mwsqc8c5p6pz6ac1v313h4md0dab872ls5s47zh9'';
+ name = ''selenium-webdriver-2.44.0'';
+ requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_5 g.websocket_1_2_1 ];
+ sha256 = ''06bm0c5cdskbcv27j60ff4cgxa5jwdvw2ys2sca9ycvyd4a5s44w'';
};
servolux_0_10_0 = {
basename = ''servolux'';
@@ -2135,26 +2142,26 @@ interpreters.'';
requiredGems = [ ];
sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n'';
};
- sprockets_2_12_2 = {
+ sprockets_2_12_3 = {
basename = ''sprockets'';
meta = {
description = ''Rack-based asset packaging system'';
homepage = ''http://getsprockets.org/'';
longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
};
- name = ''sprockets-2.12.2'';
+ name = ''sprockets-2.12.3'';
requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ];
- sha256 = ''0sclb5nqs5hhr7qfp42rgpasy0f9k4c3jcr3hz89amf2bg5v7slx'';
+ sha256 = ''1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2'';
};
- sprockets_rails_2_1_4 = {
+ sprockets_rails_2_2_2 = {
basename = ''sprockets_rails'';
meta = {
description = ''Sprockets Rails integration'';
homepage = ''https://github.com/rails/sprockets-rails'';
};
- name = ''sprockets-rails-2.1.4'';
- requiredGems = [ g.sprockets_2_12_2 g.actionpack_4_1_6 g.activesupport_4_1_6 ];
- sha256 = ''1difqidflj71qh8a84lcfdfg9vy4rw5hkgf2j0jis8bcczcq54l3'';
+ name = ''sprockets-rails-2.2.2'';
+ requiredGems = [ g.sprockets_2_12_3 g.actionpack_4_1_8 g.activesupport_4_1_8 ];
+ sha256 = ''192d4vfl1gjz6phli6sqk98364x6v4jkpl5imajvimsinvgyv81b'';
};
syslog_protocol_0_9_2 = {
basename = ''syslog_protocol'';
@@ -2195,7 +2202,7 @@ management.
'';
};
name = ''taskjuggler-3.5.0'';
- requiredGems = [ g.mail_2_6_1 g.term_ansicolor_1_3_0 ];
+ requiredGems = [ g.mail_2_6_3 g.term_ansicolor_1_3_0 ];
sha256 = ''0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2'';
};
term_ansicolor_1_3_0 = {
@@ -2209,15 +2216,15 @@ management.
requiredGems = [ g.tins_1_3_3 ];
sha256 = ''1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b'';
};
- terminal_notifier_1_6_1 = {
+ terminal_notifier_1_6_2 = {
basename = ''terminal_notifier'';
meta = {
description = ''Send User Notifications on Mac OS X 10.8 or higher.'';
homepage = ''https://github.com/alloy/terminal-notifier'';
};
- name = ''terminal-notifier-1.6.1'';
+ name = ''terminal-notifier-1.6.2'';
requiredGems = [ ];
- sha256 = ''0j14sblviiypzc9vb508ldd78winba4vhnm9nhg3zpq07p3528g7'';
+ sha256 = ''0v0bqpmnyivn0dqqkbzq0xcmas2l1msbwlpp2iclkninkmcqg9sf'';
};
text_1_3_0 = {
basename = ''text'';
@@ -2230,16 +2237,16 @@ management.
requiredGems = [ ];
sha256 = ''1bfn0rm2a7gpsxplx3dii3a7q16hi7idsqp54fh92b3j9sqgidj7'';
};
- thin_1_6_2 = {
+ thin_1_6_3 = {
basename = ''thin'';
meta = {
description = ''A thin and fast web server'';
homepage = ''http://code.macournoyer.com/thin/'';
longDescription = ''A thin and fast web server'';
};
- name = ''thin-1.6.2'';
+ name = ''thin-1.6.3'';
requiredGems = [ g.rack_1_5_2 g.eventmachine_1_0_3 g.daemons_1_1_9 ];
- sha256 = ''0v90rnnai8sc40c02dxj9aawj2mi1mhjnmi4ws0rg4yrkc6fxvmq'';
+ sha256 = ''1m56aygh5rh8ncp3s2gnn8ghn5ibkk0bg6s3clmh1vzaasw2lj4i'';
};
thor_0_19_1 = {
basename = ''thor'';
@@ -2285,17 +2292,6 @@ management.
requiredGems = [ g.hitimes_1_2_2 ];
sha256 = ''03ahv07wn1f2g3c5843q7sf03a81518lq5624s9f49kbrswa2p7l'';
};
- tins_0_13_2 = {
- basename = ''tins'';
- meta = {
- description = ''Useful stuff.'';
- homepage = ''http://flori.github.com/tins'';
- longDescription = ''All the stuff that isn't good/big enough for a real library.'';
- };
- name = ''tins-0.13.2'';
- requiredGems = [ ];
- sha256 = ''1ygkm4ava7x6ap61qz6pn79193g6g29248fa04mwknsz6acfjs2y'';
- };
tins_1_3_3 = {
basename = ''tins'';
meta = {
@@ -2307,27 +2303,38 @@ management.
requiredGems = [ ];
sha256 = ''14jnsg15wakdk1ljh2iv9yvzk8nb7gpzd2zw4yvjikmffqjyqvna'';
};
- toml_0_1_1 = {
+ tmuxinator_0_6_9 = {
+ basename = ''tmuxinator'';
+ meta = {
+ description = ''Create and manage complex tmux sessions easily.'';
+ homepage = ''https://github.com/aziz/tmuxinator'';
+ longDescription = ''Create and manage complex tmux sessions easily.'';
+ };
+ name = ''tmuxinator-0.6.9'';
+ requiredGems = [ g.thor_0_19_1 g.erubis_2_7_0 ];
+ sha256 = ''0q0ld82dznjsan7ciblfsxz59brcc16fwmvr9n3c7vdcndj8rd27'';
+ };
+ toml_0_1_2 = {
basename = ''toml'';
meta = {
description = ''Parse your TOML.'';
homepage = ''http://github.com/jm/toml'';
longDescription = ''Parse your TOML, seriously.'';
};
- name = ''toml-0.1.1'';
+ name = ''toml-0.1.2'';
requiredGems = [ g.parslet_1_5_0 ];
- sha256 = ''1m5dv66qnbbg0r2zpp45hzq2nkmc4qaq0xmqw8j1kwkrpiwihwp8'';
+ sha256 = ''1wnvi1g8id1sg6776fvzf98lhfbscchgiy1fp5pvd58a8ds2fq9v'';
};
- travis_1_7_2 = {
+ travis_1_7_4 = {
basename = ''travis'';
meta = {
description = ''Travis CI client'';
homepage = ''https://github.com/travis-ci/travis.rb'';
longDescription = ''CLI and Ruby client library for Travis CI'';
};
- name = ''travis-1.7.2'';
- requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_1 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
- sha256 = ''0zl9b48dv0v0gmrj6xyprhysa4g0r3yz8a6f99h0qgwiw2l2xxcc'';
+ name = ''travis-1.7.4'';
+ requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_4 g.gh_0_13_2 g.launchy_2_4_3 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
+ sha256 = ''12c1ghki28qs45j1aw5ihcblh5s45wkzayfv6zjpj282z3q0ygnz'';
};
trollop_2_0 = {
basename = ''trollop'';
@@ -2374,7 +2381,7 @@ specify.'';
longDescription = ''Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby'';
};
name = ''uglifier-2.5.3'';
- requiredGems = [ g.execjs_2_2_1 g.json_1_8_1 ];
+ requiredGems = [ g.execjs_2_2_2 g.json_1_8_1 ];
sha256 = ''0rlx9nrcavpfffyacsrh7xyvz3adv7jvylz0sv0jnix1mj5rkpd9'';
};
unf_0_1_4 = {
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 438aaf7ba54..029e5cf18a5 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -1,6 +1,6 @@
{ fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick
-, pkgconfig, libiconv }:
+, pkgconfig }:
let
@@ -83,8 +83,8 @@ in
buildInputs = [ libxml2 ];
buildFlags =
[ "--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2"
- "--with-xslt-dir=${libxslt} --with-iconv-dir=${libiconv} --use-system-libraries"
- ];
+ "--with-xslt-dir=${libxslt} --use-system-libraries"
+ ] ++ libiconvOrEmpty;
};
pry = { gemFlags = "--no-ri --no-rdoc"; };
diff --git a/pkgs/development/interpreters/ruby/ruby-1.8.7.nix b/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
index 9b43368c617..9f2945dfb76 100644
--- a/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
+++ b/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
'';
meta = {
- license = "Ruby";
+ license = stdenv.lib.licenses.ruby;
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
};
diff --git a/pkgs/development/interpreters/ruby/ruby-1.9.3.nix b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
index e361824bb53..c812abc70fe 100644
--- a/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
+++ b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
@@ -80,6 +80,8 @@ stdenv.mkDerivation rec {
installFlags = stdenv.lib.optionalString docSupport "install-doc";
+ CFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.7";
+
postInstall = ''
# Bundler tries to create this directory
mkdir -pv $out/${passthru.gemPath}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.0.0.nix b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
index 22b13717cfc..ea8fcc327ee 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
@@ -5,6 +5,7 @@
, ncurses, readline, cursesSupport ? false
, groff, docSupport ? false
, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
, ruby_2_0_0, autoreconfHook, bison, useRailsExpress ? true
}:
@@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
NROFF = "${groff}/bin/nroff";
buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+ ++ (op fiddleSupport libffi)
++ (ops cursesSupport [ ncurses readline ] )
++ (op docSupport groff )
++ (op zlibSupport zlib)
@@ -49,11 +51,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
patches = ops useRailsExpress [
- "${patchSet}/patches/ruby/2.0.0/p481/01-zero-broken-tests.patch"
- "${patchSet}/patches/ruby/2.0.0/p481/02-railsexpress-gc.patch"
- "${patchSet}/patches/ruby/2.0.0/p481/03-display-more-detailed-stack-trace.patch"
- "${patchSet}/patches/ruby/2.0.0/p481/04-show-full-backtrace-on-stack-overflow.patch"
- "${patchSet}/patches/ruby/2.0.0/p481/05-fix-missing-c-return-event.patch"
+ "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/01-zero-broken-tests.patch"
+ "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/02-railsexpress-gc.patch"
+ "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/03-display-more-detailed-stack-trace.patch"
+ "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+ "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/05-fix-missing-c-return-event.patch"
];
configureFlags = ["--enable-shared" ]
@@ -78,7 +80,7 @@ stdenv.mkDerivation rec {
'';
meta = {
- license = "Ruby";
+ license = stdenv.lib.licenses.ruby;
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.0.nix b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
index fd0c278133b..8467bc4eb38 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
@@ -5,6 +5,7 @@
, ncurses, readline, cursesSupport ? false
, groff, docSupport ? false
, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
, ruby_2_1_0, autoreconfHook, bison, useRailsExpress ? true
}:
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
NROFF = "${groff}/bin/nroff";
buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+ ++ (op fiddleSupport libffi)
++ (ops cursesSupport [ ncurses readline ] )
++ (op docSupport groff )
++ (op zlibSupport zlib)
@@ -93,7 +95,7 @@ stdenv.mkDerivation rec {
'';
meta = {
- license = "Ruby";
+ license = stdenv.lib.licenses.ruby;
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.1.nix b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
index c60a6cb313d..6a53c2d93ea 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
@@ -5,6 +5,7 @@
, ncurses, readline, cursesSupport ? false
, groff, docSupport ? false
, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
, ruby_2_1_1, autoreconfHook, bison, useRailsExpress ? true
}:
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
NROFF = "${groff}/bin/nroff";
buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+ ++ (op fiddleSupport libffi)
++ (ops cursesSupport [ ncurses readline ] )
++ (op docSupport groff )
++ (op zlibSupport zlib)
@@ -55,12 +57,12 @@ stdenv.mkDerivation rec {
"${patchSet}/patches/ruby/2.1.0/railsexpress/03-display-more-detailed-stack-trace.patch"
"${patchSet}/patches/ruby/2.1.0/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
"${patchSet}/patches/ruby/2.1.0/railsexpress/05-fix-missing-c-return-event.patch"
- "${patchSet}/patches/ruby/2.1.0/railsexpress/06-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
- "${patchSet}/patches/ruby/2.1.0/railsexpress/07-funny-falcon-stc-density.patch"
- "${patchSet}/patches/ruby/2.1.0/railsexpress/08-funny-falcon-stc-pool-allocation.patch"
- "${patchSet}/patches/ruby/2.1.0/railsexpress/09-aman-opt-aset-aref-str.patch"
- "${patchSet}/patches/ruby/2.1.0/railsexpress/10-funny-falcon-method-cache.patch"
- "${patchSet}/patches/ruby/2.1.0/railsexpress/11-backport-r44370.patch"
+ "${patchSet}/patches/ruby/2.1.0/railsexpress/07-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+ "${patchSet}/patches/ruby/2.1.0/railsexpress/08-funny-falcon-stc-density.patch"
+ "${patchSet}/patches/ruby/2.1.0/railsexpress/09-funny-falcon-stc-pool-allocation.patch"
+ "${patchSet}/patches/ruby/2.1.0/railsexpress/10-aman-opt-aset-aref-str.patch"
+ "${patchSet}/patches/ruby/2.1.0/railsexpress/11-funny-falcon-method-cache.patch"
+ "${patchSet}/patches/ruby/2.1.0/railsexpress/12-backport-r44370.patch"
];
# Ruby >= 2.1.0 tries to download config.{guess,sub}
@@ -92,7 +94,7 @@ stdenv.mkDerivation rec {
'';
meta = {
- license = "Ruby";
+ license = stdenv.lib.licenses.ruby;
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
index 1738606bf14..fe03b86d86d 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
@@ -5,6 +5,7 @@
, ncurses, readline, cursesSupport ? false
, groff, docSupport ? false
, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
, ruby_2_1_2, autoreconfHook, bison, useRailsExpress ? true
}:
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
NROFF = "${groff}/bin/nroff";
buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+ ++ (op fiddleSupport libffi)
++ (ops cursesSupport [ ncurses readline ] )
++ (op docSupport groff )
++ (op zlibSupport zlib)
@@ -91,7 +93,7 @@ stdenv.mkDerivation rec {
'';
meta = {
- license = "Ruby";
+ license = stdenv.lib.licenses.ruby;
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.3.nix b/pkgs/development/interpreters/ruby/ruby-2.1.3.nix
new file mode 100644
index 00000000000..9609a8758f9
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.3.nix
@@ -0,0 +1,114 @@
+{ stdenv, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? false
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_3, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+ op = stdenv.lib.optional;
+ ops = stdenv.lib.optionals;
+ patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+ config = import ./config.nix fetchgit;
+ baseruby = ruby_2_1_3.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+ version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+ name = "ruby-${version}";
+
+ src = if useRailsExpress then fetchFromGitHub {
+ owner = "ruby";
+ repo = "ruby";
+ rev = "v2_1_3";
+ sha256 = "1pnam9jry2l2mbji3gvrbb7jyisxl99xjz6l1qrccwnfinxxbmhv";
+ } else fetchurl {
+ url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz";
+ sha256 = "00bz6jcbxgnllplk4b9lnyc3w8yd3pz5rn11rmca1s8cn6vvw608";
+ };
+
+ # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+ NROFF = "${groff}/bin/nroff";
+
+ buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+ ++ (op fiddleSupport libffi)
+ ++ (ops cursesSupport [ ncurses readline ])
+ ++ (op docSupport groff)
+ ++ (op zlibSupport zlib)
+ ++ (op opensslSupport openssl)
+ ++ (op gdbmSupport gdbm)
+ ++ (op yamlSupport libyaml)
+ # Looks like ruby fails to build on darwin without readline even if curses
+ # support is not enabled, so add readline to the build inputs if curses
+ # support is disabled (if it's enabled, we already have it) and we're
+ # running on darwin
+ ++ (op (!cursesSupport && stdenv.isDarwin) readline);
+
+ enableParallelBuilding = true;
+
+ # Fix a build failure on systems with nix store optimisation.
+ # (The build process attempted to copy file a overwriting file b, where a and
+ # b are hard-linked, which results in cp returning a non-zero exit code.)
+ # https://github.com/NixOS/nixpkgs/issues/4266
+ postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
+ patches = ops useRailsExpress [
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/01-zero-broken-tests.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/02-improve-gc-stats.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/03-display-more-detailed-stack-trace.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/05-funny-falcon-stc-density.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/06-funny-falcon-stc-pool-allocation.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/07-aman-opt-aset-aref-str.patch"
+ "${patchSet}/patches/ruby/2.1.3/railsexpress/08-funny-falcon-method-cache.patch"
+ ];
+
+ # Ruby >= 2.1.0 tries to download config.{guess,sub}
+ postPatch = ''
+ rm tool/config_files.rb
+ cp ${config}/config.guess tool/
+ cp ${config}/config.sub tool/
+ '';
+
+ configureFlags = ["--enable-shared" ]
+ ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+ # on darwin, we have /usr/include/tk.h -- so the configure script detects
+ # that tk is installed
+ ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+ installFlags = stdenv.lib.optionalString docSupport "install-doc";
+ # Bundler tries to create this directory
+ postInstall = ''
+ # Bundler tries to create this directory
+ mkdir -pv $out/${passthru.gemPath}
+ mkdir -p $out/nix-support
+ cat > $out/nix-support/setup-hook <**20141128223227
+ Ignore-this: 31d3f5e4fdd6fbfad9758d9bfd0d3a3e
+]
+
+[Updated the code in response to changes to Agda and the library.
+Nils Anders Danielsson **20141128223205
+ Ignore-this: 6392ec67aab2c534a7195abed55be47
+]
+
[Updated code to reflect changes to Agda.
Nils Anders Danielsson **20140425121055
Ignore-this: 54d80fd647cb897eef85f57e9172f7db
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
index 6b0a63066b2..4a261e07cfd 100644
--- a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
@@ -1,13 +1,13 @@
{ stdenv, agda, fetchdarcs, AgdaStdlib }:
agda.mkDerivation (self: rec {
- version = "2014-09-27";
+ version = "2014-11-28";
name = "TotalParserCombinators-${version}";
src = fetchdarcs {
url = "http://www.cse.chalmers.se/~nad/repos/parser-combinators.code/";
context = ./contextfile;
- sha256 = "1rb8prqqp4dnz9s83ays7xfvpqs0n20vl1bg2zlg5si171j9rd4i";
+ sha256 = "03fjrgj0749929h5zz6yfz5x9h7fln95c8ydrm44550350n4xjvk";
};
buildDepends = [ AgdaStdlib ];
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index fa8ed9e80a7..2c76c2f4350 100644
--- a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -1,13 +1,13 @@
{ stdenv, agda, fetchsvn }:
agda.mkDerivation (self: rec {
- version = "18437";
+ version = "18734";
name = "agda-iowa-stdlib-${version}";
src = fetchsvn {
url = "https://svn.divms.uiowa.edu/repos/clc/projects/agda/lib";
rev = version;
- sha256 = "1g6pwvrcir53ppf6wd8s62gizc3qy35mp229b66mh53abg4brik2";
+ sha256 = "0aqib88m5n6aqb5lmns9nl62x40yqhg6zpj0zjxibbn4s4qjw9ky";
};
sourceDirectories = [ "./." ];
diff --git a/pkgs/development/libraries/agda/pretty/contextfile b/pkgs/development/libraries/agda/pretty/contextfile
index 4ad31c2e7fa..12079515f66 100644
--- a/pkgs/development/libraries/agda/pretty/contextfile
+++ b/pkgs/development/libraries/agda/pretty/contextfile
@@ -1,7 +1,17 @@
Context:
-[TAG Correct-by-Construction Pretty-Printing (2013-06-14)
-Nils Anders Danielsson **20130614153155
- Ignore-this: a64ae32de9e22d60d64ef3da19847e00
+[Modified the copyright year range.
+Nils Anders Danielsson