Merge branch 'master' into patch-2

This commit is contained in:
butterflya 2017-03-16 23:05:04 +01:00 committed by GitHub
commit ba126daace
291 changed files with 6197 additions and 3763 deletions

View File

@ -18,3 +18,8 @@ matrix:
env:
global:
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
notifications:
email:
on_success: never
on_failure: change

View File

@ -823,10 +823,10 @@ alternative implemention for Integer called
[integer-simple](http://hackage.haskell.org/package/integer-simple).
To get a GHC compiler build with `integer-simple` instead of `integer-gmp` use
the attribute: `pkgs.haskell.compiler.integer-simple."${ghcVersion}"`.
the attribute: `haskell.compiler.integer-simple."${ghcVersion}"`.
For example:
$ nix-build -E '(import <nixpkgs> {}).pkgs.haskell.compiler.integer-simple.ghc802'
$ nix-build -E '(import <nixpkgs> {}).haskell.compiler.integer-simple.ghc802'
...
$ result/bin/ghc-pkg list | grep integer
integer-simple-0.1.1.1
@ -838,7 +838,6 @@ The following command displays the complete list of GHC compilers build with `in
haskell.compiler.integer-simple.ghc7103 ghc-7.10.3
haskell.compiler.integer-simple.ghc722 ghc-7.2.2
haskell.compiler.integer-simple.ghc742 ghc-7.4.2
haskell.compiler.integer-simple.ghc763 ghc-7.6.3
haskell.compiler.integer-simple.ghc783 ghc-7.8.3
haskell.compiler.integer-simple.ghc784 ghc-7.8.4
haskell.compiler.integer-simple.ghc801 ghc-8.0.1
@ -846,10 +845,10 @@ The following command displays the complete list of GHC compilers build with `in
haskell.compiler.integer-simple.ghcHEAD ghc-8.1.20170106
To get a package set supporting `integer-simple` use the attribute:
`pkgs.haskell.packages.integer-simple."${ghcVersion}"`. For example
`haskell.packages.integer-simple."${ghcVersion}"`. For example
use the following to get the `scientific` package build with `integer-simple`:
$ nix-build -A pkgs.haskell.packages.integer-simple.ghc802.scientific
$ nix-build -A haskell.packages.integer-simple.ghc802.scientific
## Other resources

View File

@ -1,4 +1,4 @@
{lib, pkgs} :
{lib, pkgs}:
let inherit (lib) nv nvs; in
{
@ -19,7 +19,7 @@ let inherit (lib) nv nvs; in
# * vim_configurable
#
# A minimal example illustrating most features would look like this:
# let base = composableDerivation { (fixed : let inherit (fixed.fixed) name in {
# let base = composableDerivation { (fixed: let inherit (fixed.fixed) name in {
# src = fetchurl {
# }
# buildInputs = [A];
@ -79,7 +79,7 @@ let inherit (lib) nv nvs; in
# consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
removeAttrs ? ["cfg" "flags"]
}: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)
}: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)
{
inherit applyPreTidy removeAttrs;
}).merge;

View File

@ -24,10 +24,10 @@ rec {
traceValSeq = v: traceVal (builtins.deepSeq v v);
# this can help debug your code as well - designed to not produce thousands of lines
traceShowVal = x : trace (showVal x) x;
traceShowVal = x: trace (showVal x) x;
traceShowValMarked = str: x: trace (str + showVal x) x;
attrNamesToStr = a : lib.concatStringsSep "; " (map (x : "${x}=") (attrNames a));
showVal = x :
attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
showVal = x:
if isAttrs x then
if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
else "x is attr set { ${attrNamesToStr x} }"
@ -43,9 +43,9 @@ rec {
# trace the arguments passed to function and its result
# maybe rewrite these functions in a traceCallXml like style. Then one function is enough
traceCall = n : f : a : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
traceCall3 = n : f : a : b : c : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
traceCall = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
# FIXME: rename this?
traceValIfNot = c: x:
@ -71,7 +71,7 @@ rec {
# create a test assuming that list elements are true
# usage: { testX = allTrue [ true ]; }
testAllTrue = expr : { inherit expr; expected = map (x: true) expr; };
testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };
strict = v:
trace "Warning: strict is deprecated and will be removed in the next release"

View File

@ -16,23 +16,23 @@ rec {
defaultMergeArg = x : y: if builtins.isAttrs y then
y
else
else
(y x);
defaultMerge = x: y: x // (defaultMergeArg x y);
foldArgs = merger: f: init: x:
let arg=(merger init (defaultMergeArg init x));
# now add the function with composed args already applied to the final attrs
base = (setAttrMerge "passthru" {} (f arg)
( z : z // rec {
function = foldArgs merger f arg;
args = (lib.attrByPath ["passthru" "args"] {} z) // x;
foldArgs = merger: f: init: x:
let arg = (merger init (defaultMergeArg init x));
# now add the function with composed args already applied to the final attrs
base = (setAttrMerge "passthru" {} (f arg)
( z: z // rec {
function = foldArgs merger f arg;
args = (lib.attrByPath ["passthru" "args"] {} z) // x;
} ));
withStdOverrides = base // {
override = base.passthru.function;
} ;
withStdOverrides = base // {
override = base.passthru.function;
};
in
withStdOverrides;
withStdOverrides;
# predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice)
# the naming "overridableDelayableArgs" tries to express that you can
@ -49,35 +49,35 @@ rec {
#
# examples: see test cases "res" below;
overridableDelayableArgs =
f : # the function applied to the arguments
initial : # you pass attrs, the functions below are passing a function taking the fix argument
f: # the function applied to the arguments
initial: # you pass attrs, the functions below are passing a function taking the fix argument
let
takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
tidy = args :
tidy = args:
let # apply all functions given in "applyPreTidy" in sequence
applyPreTidyFun = fold ( n : a : x : n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
in removeAttrs (applyPreTidyFun args) ( ["applyPreTidy"] ++ (maybeAttr "removeAttrs" [] args) ); # tidy up args before applying them
fun = n : x :
let newArgs = fixed :
let args = takeFixed fixed;
mergeFun = args.${n};
in if isAttrs x then (mergeFun args x)
else assert isFunction x;
mergeFun args (x ( args // { inherit fixed; }));
in overridableDelayableArgs f newArgs;
fun = n: x:
let newArgs = fixed:
let args = takeFixed fixed;
mergeFun = args.${n};
in if isAttrs x then (mergeFun args x)
else assert isFunction x;
mergeFun args (x ( args // { inherit fixed; }));
in overridableDelayableArgs f newArgs;
in
(f (tidy (lib.fix takeFixed))) // {
merge = fun "mergeFun";
replace = fun "keepFun";
};
defaultOverridableDelayableArgs = f :
defaultOverridableDelayableArgs = f:
let defaults = {
mergeFun = mergeAttrByFunc; # default merge function. merge strategie (concatenate lists, strings) is given by mergeAttrBy
keepFun = a : b : { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
keepFun = a: b: { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
applyPreTidy = []; # list of functions applied to args before args are tidied up (usage case : prepareDerivationArgs)
mergeAttrBy = mergeAttrBy // {
applyPreTidy = a : b : a ++ b;
removeAttrs = a : b: a ++ b;
applyPreTidy = a: b: a ++ b;
removeAttrs = a: b: a ++ b;
};
removeAttrs = ["mergeFun" "keepFun" "mergeAttrBy" "removeAttrs" "fixed" ]; # before applying the arguments to the function make sure these names are gone
};
@ -86,7 +86,7 @@ rec {
# rec { # an example of how composedArgsAndFun can be used
# a = composedArgsAndFun (x : x) { a = ["2"]; meta = { d = "bar";}; };
# a = composedArgsAndFun (x: x) { a = ["2"]; meta = { d = "bar";}; };
# # meta.d will be lost ! It's your task to preserve it (eg using a merge function)
# b = a.passthru.function { a = [ "3" ]; meta = { d2 = "bar2";}; };
# # instead of passing/ overriding values you can use a merge function:
@ -119,7 +119,7 @@ rec {
else if val == true || val == false then false
else null;
# Return true only if there is an attribute and it is true.
checkFlag = attrSet: name:
if name == "true" then true else
@ -134,29 +134,29 @@ rec {
( attrByPath [name] (if checkFlag attrSet name then true else
if argList == [] then null else
let x = builtins.head argList; in
if (head x) == name then
if (head x) == name then
(head (tail x))
else (getValue attrSet
else (getValue attrSet
(tail argList) name)) attrSet );
# Input : attrSet, [[name default] ...], [ [flagname reqs..] ... ]
# Output : are reqs satisfied? It's asserted.
checkReqs = attrSet : argList : condList :
checkReqs = attrSet: argList: condList:
(
fold lib.and true
(map (x: let name = (head x) ; in
((checkFlag attrSet name) ->
fold lib.and true
(map (x: let name = (head x); in
((checkFlag attrSet name) ->
(fold lib.and true
(map (y: let val=(getValue attrSet argList y); in
(val!=null) && (val!=false))
(tail x))))) condList)) ;
(val!=null) && (val!=false))
(tail x))))) condList));
# This function has O(n^2) performance.
uniqList = {inputList, acc ? []} :
let go = xs : acc :
uniqList = { inputList, acc ? [] }:
let go = xs: acc:
if xs == []
then []
else let x = head xs;
@ -164,26 +164,26 @@ rec {
in y ++ go (tail xs) (y ++ acc);
in go inputList acc;
uniqListExt = {inputList, outputList ? [],
getter ? (x : x), compare ? (x: y: x==y)}:
uniqListExt = { inputList,
outputList ? [],
getter ? (x: x),
compare ? (x: y: x==y) }:
if inputList == [] then outputList else
let x=head inputList;
isX = y: (compare (getter y) (getter x));
newOutputList = outputList ++
(if any isX outputList then [] else [x]);
in uniqListExt {outputList=newOutputList;
inputList = (tail inputList);
inherit getter compare;
};
let x = head inputList;
isX = y: (compare (getter y) (getter x));
newOutputList = outputList ++
(if any isX outputList then [] else [x]);
in uniqListExt { outputList = newOutputList;
inputList = (tail inputList);
inherit getter compare;
};
condConcat = name: list: checker:
if list == [] then name else
if checker (head list) then
condConcat
(name + (head (tail list)))
(tail (tail list))
if checker (head list) then
condConcat
(name + (head (tail list)))
(tail (tail list))
checker
else condConcat
name (tail (tail list)) checker;
@ -202,12 +202,12 @@ rec {
in
work startSet [] [];
innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else
innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else
innerModifySumArgs f x (a // b);
modifySumArgs = f: x: innerModifySumArgs f x {};
innerClosePropagation = acc : xs :
innerClosePropagation = acc: xs:
if xs == []
then acc
else let y = head xs;
@ -227,31 +227,31 @@ rec {
closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
# calls a function (f attr value ) for each record item. returns a list
mapAttrsFlatten = f : r : map (attr: f attr r.${attr}) (attrNames r);
mapAttrsFlatten = f: r: map (attr: f attr r.${attr}) (attrNames r);
# attribute set containing one attribute
nvs = name : value : listToAttrs [ (nameValuePair name value) ];
nvs = name: value: listToAttrs [ (nameValuePair name value) ];
# adds / replaces an attribute of an attribute set
setAttr = set : name : v : set // (nvs name v);
setAttr = set: name: v: set // (nvs name v);
# setAttrMerge (similar to mergeAttrsWithFunc but only merges the values of a particular name)
# setAttrMerge "a" [] { a = [2];} (x : x ++ [3]) -> { a = [2 3]; }
# setAttrMerge "a" [] { } (x : x ++ [3]) -> { a = [ 3]; }
setAttrMerge = name : default : attrs : f :
# setAttrMerge "a" [] { a = [2];} (x: x ++ [3]) -> { a = [2 3]; }
# setAttrMerge "a" [] { } (x: x ++ [3]) -> { a = [ 3]; }
setAttrMerge = name: default: attrs: f:
setAttr attrs name (f (maybeAttr name default attrs));
# Using f = a : b = b the result is similar to //
# Using f = a: b = b the result is similar to //
# merge attributes with custom function handling the case that the attribute
# exists in both sets
mergeAttrsWithFunc = f : set1 : set2 :
fold (n: set : if set ? ${n}
mergeAttrsWithFunc = f: set1: set2:
fold (n: set: if set ? ${n}
then setAttr set n (f set.${n} set2.${n})
else set )
(set2 // set1) (attrNames set2);
# merging two attribute set concatenating the values of same attribute names
# eg { a = 7; } { a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) );
mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a: b: (toList a) ++ (toList b) );
# merges attributes using //, if a name exisits in both attributes
# an error will be triggered unless its listed in mergeLists
@ -262,10 +262,10 @@ rec {
# ! deprecated, use mergeAttrByFunc instead
mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
overrideSnd ? [ "buildPhase" ]
} : attrs1 : attrs2 :
fold (n: set :
}: attrs1: attrs2:
fold (n: set:
setAttr set n ( if set ? ${n}
then # merge
then # merge
if elem n mergeLists # attribute contains list, merge them by concatenating
then attrs2.${n} ++ attrs1.${n}
else if elem n overrideSnd
@ -286,14 +286,14 @@ rec {
# { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; }
# is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using
# foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
mergeAttrByFunc = x : y :
mergeAttrByFunc = x: y:
let
mergeAttrBy2 = { mergeAttrBy=lib.mergeAttrs; }
mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
// (maybeAttr "mergeAttrBy" {} x)
// (maybeAttr "mergeAttrBy" {} y); in
fold lib.mergeAttrs {} [
x y
(mapAttrs ( a : v : # merge special names using given functions
(mapAttrs ( a: v: # merge special names using given functions
if x ? ${a}
then if y ? ${a}
then v x.${a} y.${a} # both have attr, use merge func
@ -313,9 +313,9 @@ rec {
#
# This function is best explained by an example:
#
# {version ? "2.x"} :
# {version ? "2.x"}:
#
# mkDerivation (mergeAttrsByVersion "package-name" version
# mkDerivation (mergeAttrsByVersion "package-name" version
# { # version specific settings
# "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool]; };
# "2.x" = { src = ..; };
@ -346,21 +346,24 @@ rec {
# See misc.nix -> versionedDerivation
# discussion: nixpkgs: pull/310
mergeAttrsByVersion = name: version: attrsByVersion: base:
mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; } base (maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)];
mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; }
base
(maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)
];
# sane defaults (same name as attr name so that inherit can be used)
mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
listToAttrs (map (n : nameValuePair n lib.concat)
listToAttrs (map (n: nameValuePair n lib.concat)
[ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
// listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
// listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
// listToAttrs (map (n: nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
// listToAttrs (map (n: nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
;
# prepareDerivationArgs tries to make writing configurable derivations easier
# example:
# prepareDerivationArgs {
# mergeAttrBy = {
# myScript = x : y : x ++ "\n" ++ y;
# myScript = x: y: x ++ "\n" ++ y;
# };
# cfg = {
# readlineSupport = true;
@ -392,10 +395,10 @@ rec {
# TODO use args.mergeFun here as well?
prepareDerivationArgs = args:
let args2 = { cfg = {}; flags = {}; } // args;
flagName = name : "${name}Support";
cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags)))
flagName = name: "${name}Support";
cfgWithDefaults = (listToAttrs (map (n: nameValuePair (flagName n) false) (attrNames args2.flags)))
// args2.cfg;
opts = attrValues (mapAttrs (a : v :
opts = attrValues (mapAttrs (a: v:
let v2 = if v ? set || v ? unset then v else { set = v; };
n = if cfgWithDefaults.${flagName a} then "set" else "unset";
attr = maybeAttr n {} v2; in

View File

@ -71,6 +71,7 @@
bjg = "Brian Gough <bjg@gnu.org>";
bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
bobakker = "Bo Bakker <bobakk3r@gmail.com>";
bobvanderlinden = "Bob van der Linden <bobvanderlinden@gmail.com>";
bodil = "Bodil Stokke <nix@bodil.org>";
boothead = "Ben Ford <ben@perurbis.com>";
@ -203,6 +204,7 @@
havvy = "Ryan Scheel <ryan.havvy@gmail.com>";
hbunke = "Hendrik Bunke <bunke.hendrik@gmail.com>";
hce = "Hans-Christian Esperer <hc@hcesperer.org>";
heel = "Sergii Paryzhskyi <parizhskiy@gmail.com>";
henrytill = "Henry Till <henrytill@gmail.com>";
hinton = "Tom Hinton <t@larkery.com>";
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";

View File

@ -114,7 +114,7 @@ rec {
/* Massage a module into canonical form, that is, a set consisting
of options, config and imports attributes. */
unifyModuleSyntax = file: key: m:
let metaSet = if m ? meta
let metaSet = if m ? meta
then { meta = m.meta; }
else {};
in
@ -595,7 +595,7 @@ rec {
functionality
This show a warning if any a.b.c or d.e.f is set, and set the value of
x.y.z to the result of the merge function
x.y.z to the result of the merge function
*/
mkMergedOptionModule = from: to: mergeFn:
{ config, options, ... }:
@ -611,12 +611,12 @@ rec {
let val = getAttrFromPath f config;
opt = getAttrFromPath f options;
in
optionalString
optionalString
(val != "_mkMergedOptionModule")
"The option `${showOption f}' defined in ${showFiles opt.files} has been changed to `${showOption to}' that has a different type. Please read `${showOption to}' documentation and update your configuration accordingly."
) from);
} // setAttrByPath to (mkMerge
(optional
(optional
(any (f: (getAttrFromPath f config) != "_mkMergedOptionModule") from)
(mergeFn config)));
};

View File

@ -80,7 +80,7 @@ runTests {
y = x.merge {};
in (y.merge) { a = 10; };
resRem7 = res6.replace (a : removeAttrs a ["a"]);
resRem7 = res6.replace (a: removeAttrs a ["a"]);
resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
x2 = x.merge { a = 20; }; # now we have 27
@ -88,10 +88,10 @@ runTests {
# fixed tests (delayed args): (when using them add some comments, please)
resFixed1 =
let x = defaultOverridableDelayableArgs id ( x : { a = 7; c = x.fixed.b; });
y = x.merge (x : { name = "name-${builtins.toString x.fixed.c}"; });
let x = defaultOverridableDelayableArgs id ( x: { a = 7; c = x.fixed.b; });
y = x.merge (x: { name = "name-${builtins.toString x.fixed.c}"; });
in (y.merge) { b = 10; };
strip = attrs : removeAttrs attrs ["merge" "replace"];
strip = attrs: removeAttrs attrs ["merge" "replace"];
in all id
[ ((strip res1) == { })
((strip res2) == { a = 7; })

View File

@ -81,7 +81,7 @@ rec {
# name: name of the type
# type: type function.
# wrapped: the type wrapped in case of compound types.
# payload: values of the type, two payloads of the same type must be
# payload: values of the type, two payloads of the same type must be
# combinable with the binOp binary operation.
# binOp: binary operation that merge two payloads of the same type.
functor ? defaultFunctor name

View File

@ -1,14 +0,0 @@
*~
,*
.*.swp
.*.swo
result
result-*
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
.version-suffix
.DS_Store
.git

View File

@ -1,12 +0,0 @@
FROM busybox
RUN dir=`mktemp -d` && trap 'rm -rf "$dir"' EXIT && \
wget -O- https://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

View File

@ -74,13 +74,13 @@ def cli(jobset):
# TODO: dependency failed without propagated builds
for tr in d('img[alt="Failed"]').parents('tr'):
a = pq(tr)('a')[1]
print "- [ ] [{}]({})".format(a.text, a.get('href'))
print("- [ ] [{}]({})".format(a.text, a.get('href')))
sys.stdout.flush()
maintainers = get_maintainers(a.text)
if maintainers:
print " - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers)))
print(" - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers))))
# TODO: print last three persons that touched this file
# TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?

View File

@ -177,7 +177,7 @@ foreach my $u (@{$spec->{users}}) {
}
# Create a home directory.
if ($u->{createHome} && ! -e $u->{home}) {
if ($u->{createHome}) {
make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
chown $u->{uid}, $u->{gid}, $u->{home};
}

View File

@ -0,0 +1,30 @@
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
hardware.sensor.iio = {
enable = mkOption {
description = "Enable this option to support IIO sensors.";
type = types.bool;
default = false;
};
};
};
###### implementation
config = mkIf config.hardware.sensor.iio.enable {
boot.initrd.availableKernelModules = [ "hid-sensor-hub" ];
environment.systemPackages = with pkgs; [ iio-sensor-proxy ];
services.dbus.packages = with pkgs; [ iio-sensor-proxy ];
services.udev.packages = with pkgs; [ iio-sensor-proxy ];
systemd.packages = with pkgs; [ iio-sensor-proxy ];
};
}

View File

@ -29,6 +29,7 @@
./hardware/ckb.nix
./hardware/cpu/amd-microcode.nix
./hardware/cpu/intel-microcode.nix
./hardware/sensor/iio.nix
./hardware/ksm.nix
./hardware/mcelog.nix
./hardware/network/b43.nix
@ -328,6 +329,7 @@
./services/monitoring/prometheus/default.nix
./services/monitoring/prometheus/alertmanager.nix
./services/monitoring/prometheus/blackbox-exporter.nix
./services/monitoring/prometheus/fritzbox-exporter.nix
./services/monitoring/prometheus/json-exporter.nix
./services/monitoring/prometheus/nginx-exporter.nix
./services/monitoring/prometheus/node-exporter.nix

View File

@ -312,7 +312,7 @@
Overflows in boot critical code (e.g., the root filesystem module) can
render the system unbootable. Work around by setting
<programlisting>
boot.kernel.kernelParams = [ "pax_size_overflow_report_only" ];
boot.kernelParams = [ "pax_size_overflow_report_only" ];
</programlisting>
</para></listitem>

View File

@ -4,20 +4,29 @@ with lib;
let
cfg = config.services.couchdb;
configFile = pkgs.writeText "couchdb.ini"
useVersion2 = strings.versionAtLeast (strings.getVersion cfg.package) "2.0";
configFile = pkgs.writeText "couchdb.ini" (
''
[couchdb]
database_dir = ${cfg.databaseDir}
uri_file = ${cfg.uriFile}
view_index_dir = ${cfg.viewIndexDir}
'' + (if useVersion2 then
''
[chttpd]
'' else
''
[httpd]
'') +
''
port = ${toString cfg.port}
bind_address = ${cfg.bindAddress}
[log]
file = ${cfg.logFile}
'';
'');
executable = if useVersion2 then "${cfg.package}/bin/couchdb"
else ''${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}'';
in {
@ -130,7 +139,6 @@ in {
configFile = mkOption {
type = types.string;
default = "/var/lib/couchdb/couchdb.ini";
description = ''
Configuration file for persisting runtime changes. File
needs to be readable and writable from couchdb user/group.
@ -147,6 +155,9 @@ in {
environment.systemPackages = [ cfg.package ];
services.couchdb.configFile = mkDefault
(if useVersion2 then "/var/lib/couchdb/local.ini" else "/var/lib/couchdb/couchdb.ini");
systemd.services.couchdb = {
description = "CouchDB Server";
wantedBy = [ "multi-user.target" ];
@ -170,11 +181,20 @@ in {
fi
'';
environment = mkIf useVersion2 {
# we are actually specifying 4 configuration files:
# 1. the preinstalled default.ini
# 2. the module configuration
# 3. the extraConfig from the module options
# 4. the locally writable config file, which couchdb itself writes to
ERL_FLAGS= ''-couch_ini ${cfg.package}/etc/default.ini ${configFile} ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} ${cfg.configFile}'';
};
serviceConfig = {
PermissionsStartOnly = true;
User = cfg.user;
Group = cfg.group;
ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}";
ExecStart = executable;
};
};

View File

@ -18,7 +18,7 @@ let
footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}";
createList = d: l: ''
${pkgs.coreutils}/bin/mkdir -p ${listCtl d l}
echo ${listAddress d l} > ${listCtl d l}/listadress
echo ${listAddress d l} > ${listCtl d l}/listaddress
echo "${lib.concatStringsSep "\n" (customHeaders d l)}" > ${listCtl d l}/customheaders
echo ${footer d l} > ${listCtl d l}/footer
echo ${subjectPrefix l} > ${listCtl d l}/prefix

View File

@ -41,7 +41,7 @@ let
entry = "${manual.manual}/share/doc/nixos/index.html";
help = pkgs.writeScriptBin "nixos-help"
helpScript = pkgs.writeScriptBin "nixos-help"
''
#! ${pkgs.stdenv.shell} -e
browser="$BROWSER"
@ -58,6 +58,15 @@ let
exec "$browser" ${entry}
'';
desktopItem = pkgs.makeDesktopItem {
name = "nixos-manual";
desktopName = "NixOS Manual";
genericName = "View NixOS documentation in a web browser";
# TODO: find a better icon (Nix logo + help overlay?)
icon = "system-help";
exec = "${helpScript}/bin/nixos-help";
categories = "System";
};
in
{
@ -105,7 +114,8 @@ in
system.build.manual = manual;
environment.systemPackages =
[ manual.manual help ]
[ manual.manual helpScript ]
++ optional config.services.xserver.enable desktopItem
++ optional config.programs.man.enable manual.manpages;
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];

View File

@ -0,0 +1,76 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.prometheus.fritzboxExporter;
in {
options = {
services.prometheus.fritzboxExporter = {
enable = mkEnableOption "prometheus fritzbox exporter";
port = mkOption {
type = types.int;
default = 9133;
description = ''
Port to listen on.
'';
};
gatewayAddress = mkOption {
type = types.str;
default = "fritz.box";
description = ''
The hostname or IP of the FRITZ!Box.
'';
};
gatewayPort = mkOption {
type = types.int;
default = 49000;
description = ''
The port of the FRITZ!Box UPnP service.
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Extra commandline options when launching the fritzbox exporter.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open port in firewall for incoming connections.
'';
};
};
};
config = mkIf cfg.enable {
networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
systemd.services.prometheus-fritzbox-exporter = {
description = "Prometheus exporter for FRITZ!Box via UPnP";
unitConfig.Documentation = "https://github.com/ndecker/fritzbox_exporter";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "nobody";
Restart = "always";
PrivateTmp = true;
WorkingDirectory = /tmp;
ExecStart = ''
${pkgs.prometheus-fritzbox-exporter}/bin/fritzbox_exporter \
-listen-address :${toString cfg.port} \
-gateway-address ${cfg.gatewayAddress} \
-gateway-port ${toString cfg.gatewayPort} \
${concatStringsSep " \\\n " cfg.extraFlags}
'';
};
};
};
}

View File

@ -2,14 +2,10 @@
with lib;
let
apparmorEnabled = config.security.apparmor.enable;
cfg = config.services.dnscrypt-proxy;
stateDirectory = "/var/lib/dnscrypt-proxy";
localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
# The minisign public key used to sign the upstream resolver list.
# This is somewhat more flexible than preloading the key as an
# embedded string.
@ -18,31 +14,33 @@ let
sha256 = "18lnp8qr6ghfc2sd46nn1rhcpr324fqlvgsp4zaigw396cd7vnnh";
};
# Internal flag indicating whether the upstream resolver list is used
useUpstreamResolverList = cfg.resolverList == null && cfg.customResolver == null;
# Internal flag indicating whether the upstream resolver list is used.
useUpstreamResolverList = cfg.customResolver == null;
resolverList =
if (cfg.resolverList != null)
then cfg.resolverList
else "${stateDirectory}/dnscrypt-resolvers.csv";
# The final local address.
localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
resolverArgs = if (cfg.customResolver != null)
then
[ "--resolver-address=${cfg.customResolver.address}:${toString cfg.customResolver.port}"
"--provider-name=${cfg.customResolver.name}"
"--provider-key=${cfg.customResolver.key}"
]
else
[ "--resolvers-list=${resolverList}"
"--resolver-name=${cfg.resolverName}"
];
# The final resolvers list path.
resolverList = "${stateDirectory}/dnscrypt-resolvers.csv";
# Build daemon command line
resolverArgs =
if (cfg.customResolver == null)
then
[ "-L ${resolverList}"
"-R ${cfg.resolverName}"
]
else with cfg.customResolver;
[ "-N ${name}"
"-k ${key}"
"-r ${address}:${toString port}"
];
# The final command line arguments passed to the daemon
daemonArgs =
[ "--local-address=${localAddress}" ]
++ optional cfg.tcpOnly "--tcp-only"
++ optional cfg.ephemeralKeys "-E"
++ resolverArgs;
[ "-a ${localAddress}" ]
++ resolverArgs
++ cfg.extraArgs;
in
{
@ -52,6 +50,9 @@ in
};
options = {
# Before adding another option, consider whether it could
# equally well be passed via extraArgs.
services.dnscrypt-proxy = {
enable = mkOption {
default = false;
@ -84,19 +85,11 @@ in
default = "dnscrypt.eu-nl";
type = types.nullOr types.str;
description = ''
The name of the upstream DNSCrypt resolver to use, taken from
<filename>${resolverList}</filename>. The default resolver is
located in Holland, supports DNS security extensions, and
<emphasis>claims</emphasis> to not keep logs.
'';
};
resolverList = mkOption {
default = null;
type = types.nullOr types.path;
description = ''
List of DNSCrypt resolvers. The default is to use the list of
public resolvers provided by upstream.
The name of the DNSCrypt resolver to use, taken from
<filename>${resolverList}</filename>. The default
resolver is located in Holland, supports DNS security
extensions, and <emphasis>claims</emphasis> to not
keep logs.
'';
};
@ -133,25 +126,15 @@ in
}; }));
};
tcpOnly = mkOption {
default = false;
type = types.bool;
extraArgs = mkOption {
default = [];
type = types.listOf types.str;
description = ''
Force sending encrypted DNS queries to the upstream resolver over
TCP instead of UDP (on port 443). Use only if the UDP port is blocked.
'';
};
ephemeralKeys = mkOption {
default = false;
type = types.bool;
description = ''
Compute a new key pair for every query. Enabling this option
increases CPU usage, but makes it more difficult for the upstream
resolver to track your usage of their service across IP addresses.
The default is to re-use the public key pair for all queries, making
tracking trivial.
Additional command-line arguments passed verbatim to the daemon.
See <citerefentry><refentrytitle>dnscrypt-proxy</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> for details.
'';
example = [ "-X libdcplugin_example_cache.so,--min-ttl=60" ];
};
};
};
@ -187,16 +170,13 @@ in
documentation = [ "man:dnscrypt-proxy(8)" ];
before = [ "nss-lookup.target" ];
after = [ "network.target" ]
++ optional apparmorEnabled "apparmor.service";
requires = [ "dnscrypt-proxy.socket "]
++ optional apparmorEnabled "apparmor.service";
after = [ "network.target" ];
requires = [ "dnscrypt-proxy.socket "];
serviceConfig = {
NonBlocking = "true";
ExecStart = "${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
User = "dnscrypt-proxy";
@ -207,7 +187,9 @@ in
};
}
(mkIf apparmorEnabled {
(mkIf config.security.apparmor.enable {
systemd.services.dnscrypt-proxy.after = [ "apparmor.service" ];
security.apparmor.profiles = singleton (pkgs.writeText "apparmor-dnscrypt-proxy" ''
${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy {
/dev/null rw,
@ -272,15 +254,18 @@ in
path = with pkgs; [ curl diffutils dnscrypt-proxy minisign ];
script = ''
cd ${stateDirectory}
domain=download.dnscrypt.org
domain=raw.githubusercontent.com
get="curl -fSs --resolve $domain:443:$(hostip -r 8.8.8.8 $domain | head -1)"
$get -o dnscrypt-resolvers.csv.tmp \
https://$domain/dnscrypt-proxy/dnscrypt-resolvers.csv
https://$domain/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv
$get -o dnscrypt-resolvers.csv.minisig.tmp \
https://$domain/dnscrypt-proxy/dnscrypt-resolvers.csv.minisig
https://$domain/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv.minisig
mv dnscrypt-resolvers.csv.minisig{.tmp,}
minisign -q -V -p ${upstreamResolverListPubKey} \
-m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig
if ! minisign -q -V -p ${upstreamResolverListPubKey} \
-m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig ; then
echo "failed to verify resolver list!" >&2
exit 1
fi
[[ -f dnscrypt-resolvers.csv ]] && mv dnscrypt-resolvers.csv{,.old}
mv dnscrypt-resolvers.csv{.tmp,}
if cmp dnscrypt-resolvers.csv{,.old} ; then
@ -312,5 +297,24 @@ in
imports = [
(mkRenamedOptionModule [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ])
(mkChangedOptionModule
[ "services" "dnscrypt-proxy" "tcpOnly" ]
[ "services" "dnscrypt-proxy" "extraArgs" ]
(config:
let val = getAttrFromPath [ "services" "dnscrypt-proxy" "tcpOnly" ] config; in
optional val "-T"))
(mkChangedOptionModule
[ "services" "dnscrypt-proxy" "ephemeralKeys" ]
[ "services" "dnscrypt-proxy" "extraArgs" ]
(config:
let val = getAttrFromPath [ "services" "dnscrypt-proxy" "ephemeralKeys" ] config; in
optional val "-E"))
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" "resolverList" ] ''
The current resolver listing from upstream is always used
unless a custom resolver is specified.
'')
];
}

View File

@ -26,17 +26,7 @@ in
This will switch to a new virtual terminal, turn off console
switching and disable SysRq mechanism (when
<option>services.physlock.disableSysRq</option> is set)
until the root or <option>services.physlock.user</option>
password is given.
'';
};
user = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
User whose password will be used to unlock the screen on par
with the root password.
until the root or user password is given.
'';
};
@ -105,7 +95,7 @@ in
++ cfg.lockOn.extraTargets;
serviceConfig.Type = "forking";
script = ''
${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}${optionalString (cfg.user != null) " -u ${cfg.user}"}
${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}
'';
};

View File

@ -0,0 +1,23 @@
var fs = require('fs');
var opts = JSON.parse(fs.readFileSync("/dev/stdin").toString());
var config = opts.config;
var readSecret = function(filename) {
return fs.readFileSync(filename).toString().trim();
};
if (opts.secretFile) {
config.secret = readSecret(opts.secretFile);
}
if (opts.dbPasswordFile) {
config.params.dbpass = readSecret(opts.dbPasswordFile);
}
if (opts.smtpPasswordFile) {
config.smtppass = readSecret(opts.smtpPasswordFile);
}
if (opts.spamClientSecretFile) {
config.spamclientsecret = readSecret(opts.opts.spamClientSecretFile);
}
fs.writeFileSync(opts.outputFile, JSON.stringify(config));

View File

@ -5,71 +5,74 @@ with lib;
let
cfg = config.services.pumpio;
dataDir = "/var/lib/pump.io";
runDir = "/run/pump.io";
user = "pumpio";
optionalSet = condition: value: if condition then value else {};
configScript = ./pump.io-configure.js;
configOptions = {
driver = if cfg.driver == "disk" then null else cfg.driver;
params = ({ } //
(if cfg.driver == "disk" then {
dir = dataDir;
} else { }) //
(if cfg.driver == "mongodb" || cfg.driver == "redis" then {
host = cfg.dbHost;
port = cfg.dbPort;
dbname = cfg.dbName;
dbuser = cfg.dbUser;
dbpass = cfg.dbPassword;
} else { }) //
(if cfg.driver == "memcached" then {
host = cfg.dbHost;
port = cfg.dbPort;
} else { }) //
cfg.driverParams);
outputFile = "${runDir}/config.json";
config =
(optionalSet (cfg.driver != "disk") {
driver = cfg.driver;
}) //
{
params = (optionalSet (cfg.driver == "disk") { dir = dataDir; }) //
(optionalSet (cfg.driver == "mongodb" || cfg.driver == "redis") {
host = cfg.dbHost;
port = cfg.dbPort;
dbname = cfg.dbName;
dbuser = cfg.dbUser;
dbpass = cfg.dbPassword;
}) //
(optionalSet (cfg.driver == "memcached") {
host = cfg.dbHost;
port = cfg.dbPort;
}) // cfg.driverParams;
secret = cfg.secret;
secret = cfg.secret;
address = cfg.address;
port = cfg.port;
address = cfg.address;
port = cfg.port;
noweb = false;
urlPort = cfg.urlPort;
hostname = cfg.hostname;
favicon = cfg.favicon;
noweb = false;
urlPort = cfg.urlPort;
hostname = cfg.hostname;
favicon = cfg.favicon;
site = cfg.site;
owner = cfg.owner;
ownerURL = cfg.ownerURL;
site = cfg.site;
owner = cfg.owner;
ownerURL = cfg.ownerURL;
key = cfg.sslKey;
cert = cfg.sslCert;
bounce = false;
key = cfg.sslKey;
cert = cfg.sslCert;
bounce = false;
spamhost = cfg.spamHost;
spamclientid = cfg.spamClientId;
spamclientsecret = cfg.spamClientSecret;
spamhost = cfg.spamHost;
spamclientid = cfg.spamClientId;
spamclientsecret = cfg.spamClientSecret;
requireEmail = cfg.requireEmail;
smtpserver = cfg.smtpHost;
smtpport = cfg.smtpPort;
smtpuser = cfg.smtpUser;
smtppass = cfg.smtpPassword;
smtpusessl = cfg.smtpUseSSL;
smtpfrom = cfg.smtpFrom;
requireEmail = cfg.requireEmail;
smtpserver = cfg.smtpHost;
smtpport = cfg.smtpPort;
smtpuser = cfg.smtpUser;
smtppass = cfg.smtpPassword;
smtpusessl = cfg.smtpUseSSL;
smtpfrom = cfg.smtpFrom;
nologger = false;
enableUploads = cfg.enableUploads;
datadir = dataDir;
debugClient = false;
firehose = cfg.firehose;
disableRegistration = cfg.disableRegistration;
nologger = false;
uploaddir = "${dataDir}/uploads";
debugClient = false;
firehose = cfg.firehose;
disableRegistration = cfg.disableRegistration;
} //
(if cfg.port < 1024 then {
serverUser = user; # have pump.io listen then drop privileges
} else { }) //
cfg.extraConfig;
in
{
inherit (cfg) secretFile dbPasswordFile smtpPasswordFile spamClientSecretFile;
} //
(optionalSet (cfg.port < 1024) {
serverUser = user; # have pump.io listen then drop privileges
}) // cfg.extraConfig;
}; in {
options = {
services.pumpio = {
@ -77,7 +80,8 @@ in
enable = mkEnableOption "Pump.io social streams server";
secret = mkOption {
type = types.str;
type = types.nullOr types.str;
default = null;
example = "my dog has fleas";
description = ''
A session-generating secret, server-wide password. Warning:
@ -85,6 +89,16 @@ in
'';
};
secretFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/pump.io-secret";
description = ''
A file containing the session-generating secret,
server-wide password.
'';
};
site = mkOption {
type = types.str;
example = "Awesome Sauce";
@ -125,7 +139,7 @@ in
hostname = mkOption {
type = types.nullOr types.str;
default = null;
default = "localhost";
description = ''
The hostname of the server, used for generating
URLs. Defaults to "localhost" which doesn't do much for you.
@ -152,6 +166,15 @@ in
'';
};
enableUploads = mkOption {
type = types.bool;
default = true;
description = ''
If you want to disable file uploads, set this to false. Uploaded files will be stored
in ${dataDir}/uploads.
'';
};
sslKey = mkOption {
type = types.path;
example = "${dataDir}/myserver.key";
@ -253,6 +276,15 @@ in
'';
};
dbPasswordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/pump.io-dbpassword";
description = ''
A file containing the password corresponding to dbUser.
'';
};
smtpHost = mkOption {
type = types.nullOr types.str;
default = null;
@ -291,6 +323,17 @@ in
'';
};
smtpPasswordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/pump.io-smtppassword";
description = ''
A file containing the password used to connect to SMTP
server. Might not be necessary for some servers.
'';
};
smtpUseSSL = mkOption {
type = types.bool;
default = false;
@ -332,24 +375,55 @@ in
stored in cleartext in the Nix store!
'';
};
spamClientSecretFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/pump.io-spamclientsecret";
description = ''
A file containing the OAuth key for the spam server.
'';
};
};
};
config = mkIf cfg.enable {
warnings = let warn = k: optional (cfg.${k} != null)
"config.services.pumpio.${k} is insecure. Use ${k}File instead.";
in concatMap warn [ "secret" "dbPassword" "smtpPassword" "spamClientSecret" ];
assertions = [
{ assertion = !(isNull cfg.secret && isNull cfg.secretFile);
message = "pump.io needs a secretFile configured";
}
];
systemd.services."pump.io" =
{ description = "pump.io social network stream server";
{ description = "Pump.io - stream server that does most of what people really want from a social network";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.pumpio}/bin/pump -c /etc/pump.io.json";
serviceConfig.User = if cfg.port < 1024 then "root" else user;
serviceConfig.Group = user;
};
environment.etc."pump.io.json" = {
mode = "0440";
gid = config.ids.gids.pumpio;
text = builtins.toJSON configOptions;
preStart = ''
mkdir -p ${dataDir}/uploads
mkdir -p ${runDir}
chown pumpio:pumpio ${dataDir}/uploads ${runDir}
chmod 770 ${dataDir}/uploads ${runDir}
${pkgs.nodejs}/bin/node ${configScript} <<EOF
${builtins.toJSON configOptions}
EOF
chgrp pumpio ${configOptions.outputFile}
chmod 640 ${configOptions.outputFile}
'';
serviceConfig = {
ExecStart = "${pkgs.pumpio}/bin/pump -c ${configOptions.outputFile}";
PermissionsStartOnly = true;
User = if cfg.port < 1024 then "root" else user;
Group = user;
};
environment = { NODE_ENV = "production"; };
};
users.extraGroups.pumpio.gid = config.ids.gids.pumpio;

View File

@ -4,11 +4,6 @@
with lib;
let
# Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix
version = "4.7.2";
fullversion = "${version}";
# Our bare-bones wp-config.php file using the above settings
wordpressConfig = pkgs.writeText "wp-config.php" ''
<?php
@ -71,12 +66,7 @@ let
# The wordpress package itself
wordpressRoot = pkgs.stdenv.mkDerivation rec {
name = "wordpress";
src = pkgs.fetchFromGitHub {
owner = "WordPress";
repo = "WordPress";
rev = "${fullversion}";
sha256 = "0vph12708drf8ww0xd05hpdvbyy7n5gj9ca598lhdhy2i1j6wy32";
};
src = config.package;
installPhase = ''
mkdir -p $out
# copy all the wordpress files we downloaded
@ -122,6 +112,14 @@ in
enablePHP = true;
options = {
package = mkOption {
type = types.path;
default = pkgs.wordpress;
description = ''
Path to the wordpress sources.
Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix
'';
};
dbHost = mkOption {
default = "localhost";
description = "The location of the database server.";

View File

@ -25,7 +25,7 @@ in
enable = mkOption {
default = false;
description = "Whether to enable jboss";
description = "Whether to enable JBoss. WARNING : this package is outdated and is known to have vulnerabilities.";
};
tempDir = mkOption {

View File

@ -434,8 +434,8 @@ in
chmod +x $out/bin/cryptsetup-askpass
${optionalString luks.yubikeySupport ''
copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp
copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo
copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykchalresp
copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykinfo
copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl
cc -O3 -I${pkgs.openssl.dev}/include -L${pkgs.openssl.out}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto

View File

@ -71,6 +71,7 @@ in
environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
environment.etc."lxc/default.conf".text = cfg.defaultConfig;
systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ];
security.apparmor.packages = [ pkgs.lxc ];
security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];

View File

@ -4,7 +4,7 @@
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
, stableBranch ? false
, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
}:
let

View File

@ -1,6 +1,6 @@
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
, stableBranch ? false
, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
}:
with import ../lib;

View File

@ -51,16 +51,6 @@ import ./make-test.nix ({ pkgs, ...} : let
Vd5WD2HJhLb9u0UxVp9vfWIUDgydopV5ZmWCQ5YvNepb1w==
-----END CERTIFICATE-----
'';
makePump = { opts ? { } }:
{
enable = true;
sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
secret = "test";
site = "test";
} // opts;
in {
name = "pumpio";
meta = with pkgs.stdenv.lib.maintainers; {
@ -72,9 +62,14 @@ in {
{ config, pkgs, ... }:
{
services = {
pumpio = makePump { opts = {
pumpio = {
port = 443;
}; };
enable = true;
sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
secretFile = pkgs.writeText "secretFile" "test123";
site = "test";
};
mongodb.enable = true;
mongodb.extraConfig = ''
storage.journal.enabled: false

View File

@ -10,14 +10,10 @@ import ./make-test.nix ({ pkgs, ... }:
{ web =
{ config, pkgs, ... }:
{
services.mysql.enable = true;
services.mysql.package = pkgs.mysql;
services.mysql.initialScript = pkgs.writeText "start.sql" ''
CREATE DATABASE wordpress;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';
GRANT ALL on wordpress.* TO 'wordpress'@'localhost';
'';
services.mysql = {
enable = true;
package = pkgs.mysql;
};
services.httpd = {
enable = true;
logPerVirtualHost = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, libsndfile, flex, bison
{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost
, alsaLib ? null
, libpulseaudio ? null
, tcltk ? null
@ -11,26 +11,30 @@
# , wiiuse ? null
}:
stdenv.mkDerivation {
name = "csound-6.04";
stdenv.mkDerivation rec {
name = "csound-6.08.1";
version = "6.08.1";
enableParallelBuilding = true;
hardeningDisable = [ "format" ];
src = fetchurl {
url = mirror://sourceforge/csound/Csound6.04.tar.gz;
sha256 = "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g";
src = fetchFromGitHub {
owner = "csound";
repo = "csound";
rev = version;
sha256 = "03xnva17sw35ga3n96x1zdfgw913dga1hccly85wzfn0kxz4rld9";
};
buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ];
nativeBuildInputs = [ cmake flex bison ];
buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost ];
meta = {
meta = with stdenv.lib; {
description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
homepage = http://www.csounds.com/;
license = stdenv.lib.licenses.gpl2;
maintainers = [stdenv.lib.maintainers.marcweber];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
maintainers = [maintainers.marcweber];
platforms = platforms.linux;
};
}

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation {
src =
fetchurl {
url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "0l008x06d257vcw6gq3q90hvv93cq6mxpj11by1np6bzzg61qv8x";
};

View File

@ -0,0 +1,25 @@
Disable openpty() and forkpty() prototypes when needed.
--- a/yasr/yasr.h
+++ b/yasr/yasr.h
@@ -308,8 +308,10 @@ extern void opt_set(int num, void *val);
extern void opt_queue_empty(int ll);
extern void opt_write(FILE * fp);
+#ifndef HAVE_OPENPTY
/* openpty.c prototypes */
extern int openpty(int *, int *, char *, struct termios *, struct winsize *);
+#endif
/* cfmakeraw.c prototypes */
extern void cfmakeraw(struct termios *);
@@ -317,8 +319,10 @@ extern void cfmakeraw(struct termios *);
/* login_tty.c prototypes */
extern int login_tty(int);
+#ifndef HAVE_FORKPTY
/* forkpty.c prototypes */
extern int forkpty(int *, char *, struct termios *, struct winsize *);
+#endif
/* tbc - Would it be more efficient to ensure that "blank" grids always held
ascii 0x20 rather than ascii 0x00? */

View File

@ -0,0 +1,11 @@
--- a/yasr/config.c.orig 2011-11-28 03:56:58.764995828 +0100
+++ a/yasr/config.c 2011-11-28 03:57:00.048967703 +0100
@@ -60,7 +60,7 @@
int args, arg[16], *argp;
int i, key, ln = 0, mode = 0;
char *home, *ptr, *s;
- char confname[MAXPATHLEN];
+ char confname[strlen(PACKAGE_DATA_DIR) + 10 + 1];
if ((home = getenv("HOME")) != NULL)
{

View File

@ -0,0 +1,18 @@
diff --git a/yasr.conf b/yasr.conf
index 1e07fc6..72f5922 100644
--- a/yasr.conf
+++ b/yasr.conf
@@ -59,11 +59,11 @@ synthesizer=emacspeak server
#synthesizer=speech dispatcher
#synthesizer port=S0
#synthesizer port=l0
-synthesizer port=|/usr/local/bin/eflite
+synthesizer port=|eflite
# Below line appropriate for Speech Dispatcher in its default configuration
#synthesizer port=127.0.0.1:6560
key echo=off
-shell=/bin/bash
+shell=/bin/sh
special=off
up and down arrows=speak line
DisableKey=6925

View File

@ -0,0 +1,14 @@
Index: yasr-0.6.9/yasr/tts.c
===================================================================
--- yasr-0.6.9.orig/yasr/tts.c 2008-02-03 00:10:07.000000000 +1100
+++ yasr-0.6.9/yasr/tts.c 2012-02-05 10:59:06.059007839 +1100
@@ -281,6 +281,9 @@
char *p = synth[tts.synth].unspeakable;
if (ch < 32) return 1;
+ /* characters with high bit set cause DECTALK to crash */
+ if (tts.synth == TTS_DECTALK && ch & 0x80)
+ return 1;
while (*p)
{
if (*p++ == ch) return 1;

View File

@ -0,0 +1,28 @@
{stdenv,fetchurl}:
stdenv.mkDerivation rec {
name = "yasr-${version}";
version = "0.6.9";
src = fetchurl {
url = "https://sourceforge.net/projects/yasr/files/yasr/${version}/${name}.tar.gz";
sha256 = "1prv9r9y6jb5ga5578ldiw507fa414m60xhlvjl29278p3x7rwa1";
};
patches = [
./10_fix_openpty_forkpty_declarations
./20_maxpathlen
./30_conf
./40_dectalk_extended_chars
]; # taken from the debian yasr package
meta = {
homepage = "http://yasr.sourceforge.net";
description = "A general-purpose console screen reader";
longDescription = "Yasr is a general-purpose console screen reader for GNU/Linux and other Unix-like operating systems.";
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [ jhhuh ];
};
}

View File

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "bluefish-2.2.9";
name = "bluefish-2.2.10";
src = fetchurl {
url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
sha256 = "1l7pg6h485yj84i34jr09y8qzc1yr4ih6w5jdhmnrg156db7nwav";
sha256 = "1ciygj79q6i3ga5x1j8aivc05nh6rhhnm7hrq8q8xd9vd4ms3v5g";
};
nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];

View File

@ -1,4 +1,6 @@
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender, zlib, jdk, glib, gtk2, libXtst, webkitgtk2, makeWrapper, ... }:
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
, zlib, jdk, glib, gtk2, libXtst, gsettings_desktop_schemas, webkitgtk2
, makeWrapper, ... }:
{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
@ -15,7 +17,10 @@ stdenv.mkDerivation rec {
categories = "Application;Development;";
};
buildInputs = [ makeWrapper ];
buildInputs = [
fontconfig freetype glib gsettings_desktop_schemas gtk2 jdk libX11
libXrender libXtst makeWrapper zlib
] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2;
buildCommand = ''
# Unpack tarball.
@ -37,6 +42,7 @@ stdenv.mkDerivation rec {
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2)} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
# Create desktop item.

View File

@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
, freetype, fontconfig, libX11, libXext, libXrender, zlib
, glib, gtk2, libXtst, jdk
, glib, gtk2, libXtst, jdk, gsettings_desktop_schemas
, webkitgtk2 ? null # for internal web browser
, buildEnv, writeText, runCommand
, callPackage
@ -12,7 +12,8 @@ rec {
buildEclipse = import ./build-eclipse.nix {
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
jdk glib gtk2 libXtst webkitgtk2 makeWrapper;
jdk glib gtk2 libXtst gsettings_desktop_schemas webkitgtk2
makeWrapper;
};
### Eclipse CPP

View File

@ -645,10 +645,10 @@
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
elpaBuild {
pname = "el-search";
version = "1.2.3";
version = "1.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/el-search-1.2.3.tar";
sha256 = "1d7iqr4fr0kr171fnjcm2n0bgcwzdh6jl585mwjf2zqnqszv13h0";
url = "https://elpa.gnu.org/packages/el-search-1.3.tar";
sha256 = "0hg7jppdsaxy285bdaban1i096bjx21pqmczz7w9f3nr34n28pyn";
};
packageRequires = [ emacs stream ];
meta = {
@ -821,10 +821,10 @@
gnorb = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "gnorb";
version = "1.1.2";
version = "1.1.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/gnorb-1.1.2.tar";
sha256 = "18d5wdv33lcg96m3ljnv9zn98in27apm7bjycgq0asd2f31dvcvx";
url = "https://elpa.gnu.org/packages/gnorb-1.1.5.tar";
sha256 = "128ag8zkfxspf6szxfd7dcscm1zzzcibx7p9dpbpk036cr7m5i1p";
};
packageRequires = [ cl-lib ];
meta = {

File diff suppressed because it is too large Load Diff

View File

@ -1477,6 +1477,27 @@
license = lib.licenses.free;
};
}) {};
anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "anything-tramp";
version = "0.2";
src = fetchFromGitHub {
owner = "masasam";
repo = "emacs-anything-tramp";
rev = "75df15ac263701f921649fefb29f03f6b7d49b9f";
sha256 = "0al2k5az5x6idnhkhckjxr4vh52f0n9fi20ranwid9ac8k6kspvz";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5be5351cb187dff8388865ac424f8e5be71639/recipes/anything-tramp";
sha256 = "1dpah5c35j552ixbd9mw2400vnfbibwhk1ihyz2n8b1c06syfny1";
name = "anything-tramp";
};
packageRequires = [ anything emacs ];
meta = {
homepage = "https://melpa.org/#/anything-tramp";
license = lib.licenses.free;
};
}) {};
anzu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "anzu";
@ -2284,12 +2305,12 @@
base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "base16-theme";
version = "2.0";
version = "2.1";
src = fetchFromGitHub {
owner = "belak";
repo = "base16-emacs";
rev = "b50e90a39344402d169b8fdd5d18cc43fb16a256";
sha256 = "13b9ccm7yw95zc8v8sri762fgqdp2hp107nj5b40yv90g3y4fwby";
rev = "f6d3d45a88d8fa2d70eaa26d8ebcef741b370dd1";
sha256 = "19jbvz07qc325mqdzk0q1ycvpibndw0mb7s7bpr0f0nblla0l0sv";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@ -4458,12 +4479,12 @@
company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "company-ansible";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "krzysztof-magosa";
repo = "company-ansible";
rev = "2e3264670c861ecbe862f7618241367ab497b5ff";
sha256 = "0a0pb3amsxj6m8ka12ny1w9qjy3dg7vsxdsy1wg3qzanj2pdsk4l";
rev = "f08c19e95e67c852512c30b6825dae3dbd3005a0";
sha256 = "0qypfla1j7c34syphh21nyswr363v6vwi87614wx9d1rz5v4h24n";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@ -5115,12 +5136,12 @@
copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "copy-as-format";
version = "0.0.4";
version = "0.0.5";
src = fetchFromGitHub {
owner = "sshaw";
repo = "copy-as-format";
rev = "a77b914ba99729ef618e9e86543da24a46be315a";
sha256 = "181d0fxzy228vvgjmfhfnxh9djyjhq4bpf4lklv0mxhzay03pzdx";
rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@ -5721,22 +5742,22 @@
license = lib.licenses.free;
};
}) {};
darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "darktooth-theme";
version = "0.2.100";
version = "0.3.5";
src = fetchFromGitHub {
owner = "emacsfodder";
repo = "emacs-theme-darktooth";
rev = "380fdcff12f44faf099bc5a38984d88784b495a2";
sha256 = "1pragypiv59rrvq2xjzmldkf1v007viwwcvr3f5iyv31n0bmd0cn";
rev = "dde50661210d8610cd03526a6c9a922bb0e494a6";
sha256 = "1mab28rm175ylg17ziha2kndcqb9a23f8wrpydypa8k7iirhadp6";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
sha256 = "1vss0mg1vz4wvsal1r0ya8lid2c18ig11ip5v9nc80b5slbixzvs";
name = "darktooth-theme";
};
packageRequires = [];
packageRequires = [ autothemer ];
meta = {
homepage = "https://melpa.org/#/darktooth-theme";
license = lib.licenses.free;
@ -6349,6 +6370,27 @@
license = lib.licenses.free;
};
}) {};
dired-hide-dotfiles = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "dired-hide-dotfiles";
version = "0.1";
src = fetchFromGitHub {
owner = "mattiasb";
repo = "dired-hide-dotfiles";
rev = "32cf3b6f90dc56f6ff271c28d827aab303bc6221";
sha256 = "1fpzgmvbgfgl6wdrynlpvvdlbm8npgrmnzfz2133zvf5x3zfzq6r";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ba64a50f85fdb0ad54149dfed4051b4c1a719cbb/recipes/dired-hide-dotfiles";
sha256 = "0yy131cvj9a9sz02ari7pzwf22r5y7acyg757h3jvih317v6jyp0";
name = "dired-hide-dotfiles";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/dired-hide-dotfiles";
license = lib.licenses.free;
};
}) {};
dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "dired-icon";
@ -6496,6 +6538,27 @@
license = lib.licenses.free;
};
}) {};
direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
melpaBuild {
pname = "direnv";
version = "1.1.0";
src = fetchFromGitHub {
owner = "wbolster";
repo = "emacs-direnv";
rev = "cc8fbcc9c71f120c45c3363ed6ad202352e9a6d5";
sha256 = "03m4c2x7d7hmsgx3ma4z0ra5y6s7fyfsxmzwz618pfa94nbx3qny";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
sha256 = "0zzmi5m6fh42kyf8dyjrjyrl03pkbipnh4mnssrhp83ljczxkyhd";
name = "direnv";
};
packageRequires = [ dash emacs with-editor ];
meta = {
homepage = "https://melpa.org/#/direnv";
license = lib.licenses.free;
};
}) {};
direx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "direx";
@ -8099,12 +8162,12 @@
elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild {
pname = "elmacro";
version = "1.0.1";
version = "1.1.0";
src = fetchFromGitHub {
owner = "Silex";
repo = "elmacro";
rev = "d712c8efc01646117097e061e1b14933b822b9c7";
sha256 = "00fry1gjsrx4dv9d9rjf5pd8w3709mn0052al0l948vhwz4wys9z";
rev = "9ed19a362b63d9c7436a78feb91bc694194cfefe";
sha256 = "00qqa9p9z50gxna4qrsvph4nj41gldl1qj210ywk3lgwn0jjm0k9";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
@ -9419,6 +9482,27 @@
license = lib.licenses.free;
};
}) {};
eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "eslintd-fix";
version = "1.0.0";
src = fetchFromGitHub {
owner = "aaronjensen";
repo = "eslintd-fix";
rev = "555fdad8ebee4ca0d990b8c80151c77c8bd6b773";
sha256 = "0xmlr98gyq56vas02nnjdfv7x6zjddy4b1qpy3zz770jnpnrgq33";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
sha256 = "0lv4xpp9bm1yyn9mj7hpgw1v46yyxr0nlwggbav78jbg4v7ai04v";
name = "eslintd-fix";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/eslintd-fix";
license = lib.licenses.free;
};
}) {};
espuds = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild {
pname = "espuds";
@ -9947,12 +10031,12 @@
evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "evil-nerd-commenter";
version = "3.0.1";
version = "3.0.2";
src = fetchFromGitHub {
owner = "redguardtoo";
repo = "evil-nerd-commenter";
rev = "7c274dbb7ed4102ee06b998fa6f529c0f816fe9d";
sha256 = "0997szqya4ljjgmsx1w9zbj6h21wq6l46qk1bs0027zvqwcylsv8";
rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03";
sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@ -12647,12 +12731,12 @@
gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "gams-mode";
version = "6.1.2";
version = "6.2";
src = fetchFromGitHub {
owner = "ShiroTakeda";
repo = "gams-mode";
rev = "a803f9e4509b8f8fed17ef25737d941bbe846c96";
sha256 = "1avbdfw3hvwqnrlg3hv8p64m9gqgvwl9ggqzn6rhxh1zlr7i5cwy";
rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@ -13046,12 +13130,12 @@
git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
melpaBuild {
pname = "git-commit";
version = "2.10.2";
version = "2.10.3";
src = fetchFromGitHub {
owner = "magit";
repo = "magit";
rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@ -16306,6 +16390,27 @@
license = lib.licenses.free;
};
}) {};
helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
melpaBuild {
pname = "helm-tramp";
version = "0.2";
src = fetchFromGitHub {
owner = "masasam";
repo = "emacs-helm-tramp";
rev = "87d323306a79bf5d71b0f556a7aefdfe5824f523";
sha256 = "08rzgfzd70xf1hh54py325p9kf5war40qi5w21anzs4wwg86rz1v";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4a69f0a17c4efbaea012be8e878af4060fa0c93b/recipes/helm-tramp";
sha256 = "1113qxl34sf27a88vpvckrfrigp8vnm42nmfrcxz156maa1g9cbv";
name = "helm-tramp";
};
packageRequires = [ emacs helm ];
meta = {
homepage = "https://melpa.org/#/helm-tramp";
license = lib.licenses.free;
};
}) {};
helm-unicode = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
melpaBuild {
pname = "helm-unicode";
@ -17170,12 +17275,12 @@
ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ido-completing-read-plus";
version = "3.14";
version = "3.15";
src = fetchFromGitHub {
owner = "DarwinAwardWinner";
repo = "ido-ubiquitous";
rev = "397a43309c0405009cc6961053c54dedebdc83a2";
sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-completing-read+";
@ -17275,12 +17380,12 @@
ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
melpaBuild {
pname = "ido-ubiquitous";
version = "3.14";
version = "3.15";
src = fetchFromGitHub {
owner = "DarwinAwardWinner";
repo = "ido-ubiquitous";
rev = "397a43309c0405009cc6961053c54dedebdc83a2";
sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous";
@ -18550,6 +18655,27 @@
license = lib.licenses.free;
};
}) {};
jinja2-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "jinja2-mode";
version = "0.2";
src = fetchFromGitHub {
owner = "paradoxxxzero";
repo = "jinja2-mode";
rev = "cfaa7bbe7bb290cc500440124ce89686f3e26f86";
sha256 = "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b79196cf0dc0b436ff75eabea369a62f92825d9f/recipes/jinja2-mode";
sha256 = "0480fh719r4v7xdwyf4jlg1k36y54i5zrv7gxlhfm66pil75zafx";
name = "jinja2-mode";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/jinja2-mode";
license = lib.licenses.free;
};
}) {};
jpop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "jpop";
@ -19796,6 +19922,27 @@
license = lib.licenses.free;
};
}) {};
literal-string = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
melpaBuild {
pname = "literal-string";
version = "0.1";
src = fetchFromGitHub {
owner = "joodie";
repo = "literal-string-mode";
rev = "46dd2b620df70d681261616f1a26afa4a032e2d5";
sha256 = "02a1jvxk2m1lb21p3281cr9xyhzix31cn8a9la53w90sz569i66r";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/6519bb53f409eeb0d557809b338849e473c193c4/recipes/literal-string";
sha256 = "0ylv9dpw17w272f92vn5cldklyz1d8daihi1fsh5ylvxqpinyrkn";
name = "literal-string";
};
packageRequires = [ emacs markdown-mode ];
meta = {
homepage = "https://melpa.org/#/literal-string";
license = lib.licenses.free;
};
}) {};
literate-coffee-mode = callPackage ({ coffee-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "literate-coffee-mode";
@ -20135,12 +20282,12 @@
magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
melpaBuild {
pname = "magit";
version = "2.10.2";
version = "2.10.3";
src = fetchFromGitHub {
owner = "magit";
repo = "magit";
rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@ -20289,12 +20436,12 @@
magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "magit-popup";
version = "2.10.2";
version = "2.10.3";
src = fetchFromGitHub {
owner = "magit";
repo = "magit";
rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@ -20951,8 +21098,8 @@
src = fetchFromGitHub {
owner = "the-lambda-church";
repo = "merlin";
rev = "afc398a9e6787b9a8ece385f23bd94ae0ef71805";
sha256 = "0899yjw3zm8c0xrv1nk3vcn4rzng68kw5dlns4w6pmzv0pc3cq7q";
rev = "89f9643c08211a770454919551a7fd8605d1fca8";
sha256 = "13x0zjd297ssqmbvba32zk2p588kznd5ag4wh3nqb6fdgyzy4d63";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
@ -21238,6 +21385,27 @@
license = lib.licenses.free;
};
}) {};
mmm-jinja2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }:
melpaBuild {
pname = "mmm-jinja2";
version = "0.1";
src = fetchFromGitHub {
owner = "glynnforrest";
repo = "mmm-jinja2";
rev = "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f";
sha256 = "0big2i3bg4cm14f68ncaiz2h6dk6zqiisrz4l0bv10q9kaa9q2sj";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/721b9a6f16fb8efd4d339ac7953cc07d7a234b53/recipes/mmm-jinja2";
sha256 = "0zg4psrgikb8644x3vmsns0id71ni9fcpm591zn16b4j64llvgsi";
name = "mmm-jinja2";
};
packageRequires = [ mmm-mode ];
meta = {
homepage = "https://melpa.org/#/mmm-jinja2";
license = lib.licenses.free;
};
}) {};
mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }:
melpaBuild {
pname = "mmm-mako";
@ -22392,11 +22560,11 @@
}) {};
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
pname = "notmuch";
version = "0.24pre0";
version = "0.24";
src = fetchgit {
url = "git://git.notmuchmail.org/git/notmuch";
rev = "990f8cd03203c7a19cef4e3edbec823cc99fa701";
sha256 = "06135xc3i839hw4sa9gmvnb7qq4llv67q8h537vfgb9gixr40f1q";
rev = "e60b44ecf8bd5934959727496c7ef3016ff80cf6";
sha256 = "1q81ibvhjvnz4hbwmdna3a1xjkik21avy5im89fnkhq068kwac2j";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@ -22769,12 +22937,12 @@
ocp-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ocp-indent";
version = "1.5.3";
version = "1.6.0";
src = fetchFromGitHub {
owner = "OCamlPro";
repo = "ocp-indent";
rev = "8c349c5531d3bc90b00df875b6cd3c64110f59f1";
sha256 = "1c4fdm6r3r3fqjflqjncfmx0ps52b5f17vq957g0b3pcaql5n63d";
rev = "032599b162624a4b65c82c20be06433f24b00e8f";
sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@ -23815,12 +23983,12 @@
org-table-sticky-header = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
melpaBuild {
pname = "org-table-sticky-header";
version = "0.1.0";
version = "0.1.1";
src = fetchFromGitHub {
owner = "cute-jumper";
repo = "org-table-sticky-header";
rev = "1fca19fbccbb21159086970b82af56a81f78e247";
sha256 = "1swhsspa5yz68hl2449l9hk1d6r9c32z19z4mrdxw4nimdxhxmqp";
rev = "4dba2dc9a3ed63f58aa946aeec84a52d46ca4043";
sha256 = "0az4lzd9qk4cx7jjfj36r2fvlkwyrhn3xqhha5d1pydglnhd9amy";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5dd0e18bf4c3f3263eff8aff6d7c743a554243b5/recipes/org-table-sticky-header";
@ -24379,6 +24547,27 @@
license = lib.licenses.free;
};
}) {};
ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
melpaBuild {
pname = "ox-epub";
version = "0.1.6";
src = fetchFromGitHub {
owner = "ofosos";
repo = "ox-epub";
rev = "edc253b6f7397ac89a3a0b2d2a05e650baa483f8";
sha256 = "0kvs5kpkly45fqdb7mka1w2yn7pks95gxgiy2ayx12cgvn3inyw6";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
sha256 = "15q6vsmgv76c0qfdxa3prqvgmr6n7k4rd4bpi05574ibi23y0ynh";
name = "ox-epub";
};
packageRequires = [ emacs org ];
meta = {
homepage = "https://melpa.org/#/ox-epub";
license = lib.licenses.free;
};
}) {};
ox-ioslide = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
melpaBuild {
pname = "ox-ioslide";
@ -24842,12 +25031,12 @@
parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "parsebib";
version = "1.0.5";
version = "2.0.3";
src = fetchFromGitHub {
owner = "joostkremers";
repo = "parsebib";
rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
rev = "748d6a179fcbbc4af77c7b96059a66d579f34dc8";
sha256 = "0f8rcifzfp4fs52pjgfly39vqz54kgjb3yqyxlh4adq12zbq11cd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
@ -25260,12 +25449,12 @@
persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "persp-mode";
version = "2.9.5";
version = "2.9.6";
src = fetchFromGitHub {
owner = "Bad-ptr";
repo = "persp-mode.el";
rev = "1116ead88123a11efef346db0045ee8389250bd2";
sha256 = "11xncsvzy13xc939qfvlzplsz2izvf16hy45k500h44g2dxcvq3m";
rev = "1dfea0de788f6d25ee47b5c62ddbeaf9e8e92f06";
sha256 = "11ww8hg9p8qlmr8zpir0m5xzzbvd1faiqjx6vn4b05d4ll03rnhm";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
@ -28131,22 +28320,22 @@
license = lib.licenses.free;
};
}) {};
rubocop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
rubocop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "rubocop";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "bbatsov";
repo = "rubocop-emacs";
rev = "405e0fd4c57adb125e3d04208bc86081e3e78d4c";
sha256 = "10djjp1520xc05qkciaiaiiciscaln6c74h7ymba40mvzlf67y9q";
rev = "980bedb455e3551d35a212fae515c054888907c1";
sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q";
name = "rubocop";
};
packageRequires = [ dash emacs ];
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/rubocop";
license = lib.licenses.free;
@ -28425,6 +28614,27 @@
license = lib.licenses.free;
};
}) {};
salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
melpaBuild {
pname = "salt-mode";
version = "0.1";
src = fetchFromGitHub {
owner = "glynnforrest";
repo = "salt-mode";
rev = "e14ed8f2ce0ab7a783c4341879ec8c003e2b5c81";
sha256 = "19gw35qv13f2r4wif5fgqfhrph2r320n81faxx8980zds28x2q0x";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
sha256 = "1n7i9d6qpjsdcgbzmbf63y4c7ggxh5wsim8fd0casnrq9bl7ssym";
name = "salt-mode";
};
packageRequires = [ mmm-jinja2 mmm-mode yaml-mode ];
meta = {
homepage = "https://melpa.org/#/salt-mode";
license = lib.licenses.free;
};
}) {};
sass-mode = callPackage ({ fetchFromGitHub, fetchurl, haml-mode, lib, melpaBuild }:
melpaBuild {
pname = "sass-mode";
@ -28488,22 +28698,22 @@
license = lib.licenses.free;
};
}) {};
sayid = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "sayid";
version = "0.0.13";
version = "0.0.14";
src = fetchFromGitHub {
owner = "bpiel";
repo = "sayid";
rev = "01bf777cb15a4f236bc44842712e9ca82fed7f55";
sha256 = "0lh4mmdm5vizr08lyz2jc131991dqmyx29n8njgpxa1vjzqd08az";
rev = "3e5456cade044f01eb0753aabc9e50868000bd14";
sha256 = "1asphbijh5y4ax03x1cn02l4ya8v44s23ani91a0d52msdaxbnyw";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs";
name = "sayid";
};
packageRequires = [];
packageRequires = [ cider ];
meta = {
homepage = "https://melpa.org/#/sayid";
license = lib.licenses.free;
@ -30040,22 +30250,22 @@
license = lib.licenses.free;
};
}) {};
sparql-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "sparql-mode";
version = "0.11.2";
version = "2.0.0";
src = fetchFromGitHub {
owner = "ljos";
repo = "sparql-mode";
rev = "303858e7f91829ec720141482c777460e66f310b";
sha256 = "1gk2ps7fn9z8n6r923qzn518gz9mrj7mb6j726cz8qb585ndjbij";
rev = "33da09b3895e03e64959005678d448ab82e527b6";
sha256 = "17fpfc0hc39y9h12mj62fwfga4mhk0c9fm2qnbnzf4i3ajhp7r2w";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
name = "sparql-mode";
};
packageRequires = [ cl-lib ];
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://melpa.org/#/sparql-mode";
license = lib.licenses.free;
@ -34335,12 +34545,12 @@
zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "zenburn-theme";
version = "2.4";
version = "2.5";
src = fetchFromGitHub {
owner = "bbatsov";
repo = "zenburn-emacs";
rev = "e5dc3962fd30005914b79b14e9821d298f2c305a";
sha256 = "1n7ka608lk0xp7vg4zcw282zna0cwvcwvmhic6ym1ag7lq5cjrhc";
rev = "f031c785b469cf4356fddb997eccf60399e34235";
sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";

View File

@ -9,8 +9,8 @@
let
pname = "kdevelop";
version = "5.0.3";
dirVersion = "5.0.3";
version = "5.0.4";
dirVersion = "5.0.4";
in
stdenv.mkDerivation rec {
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz";
sha256 = "17a58dfc38b853c6c5987084e8973b4f7f5015a6c2c20f94c2a9f96b0c13f601";
sha256 = "191142b2bdb14837c82721fdfeb15e852329f2c4c0d48fd479c57514c3235d55";
};
nativeBuildInputs = [

View File

@ -1,55 +0,0 @@
From e84645d1694bdad7f179cd41babce723fe07aa63 Mon Sep 17 00:00:00 2001
From: Kevin Funk <kfunk@kde.org>
Date: Mon, 5 Dec 2016 15:20:53 +0100
Subject: Hotfix for restoring build with newer KConfig
https://phabricator.kde.org/D3386 is a SIC change, handle that
---
project/projectconfigskeleton.cpp | 4 ++++
project/projectconfigskeleton.h | 14 +++++---------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/project/projectconfigskeleton.cpp b/project/projectconfigskeleton.cpp
index 0e06149..c4c9767 100644
--- a/project/projectconfigskeleton.cpp
+++ b/project/projectconfigskeleton.cpp
@@ -46,6 +46,10 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString & configname )
ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
: KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
{
+ // FIXME: Check if that does the right thing.
+ // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus requiring us to make this ctor public
+ Q_ASSERT(config);
+ d->m_developerTempFile = config->name();
}
void ProjectConfigSkeleton::setDeveloperTempFile( const QString& cfg )
diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
index ed17ed0..c8314df 100644
--- a/project/projectconfigskeleton.h
+++ b/project/projectconfigskeleton.h
@@ -55,16 +55,12 @@ public:
Path projectFile() const;
Path developerFile() const;
+
+protected:
+ explicit ProjectConfigSkeleton( KSharedConfigPtr config );
+
private:
- /**
- * There's no way in KDE4 API to find out the file that the config object
- * was created from, so we can't apply defaults when using this
- * constructors. Thus I'm making this private, so we can find out when
- * this constructor is used and see if we need to add appropriate API to
- * kdelibs
- */
- explicit ProjectConfigSkeleton( KSharedConfigPtr config );
- struct ProjectConfigSkeletonPrivate * const d;
+ struct ProjectConfigSkeletonPrivate * const d;
};
}
--
cgit v0.11.2

View File

@ -6,8 +6,8 @@
let
pname = "kdevplatform";
version = "5.0.3";
dirVersion = "5.0.3";
version = "5.0.4";
dirVersion = "5.0.4";
in
stdenv.mkDerivation rec {
@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://kde/stable/kdevelop/${dirVersion}/src/${name}.tar.xz";
sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4";
sha256 = "01abfcd71383048d017fe989ccce0e7590010a3975bbe6e161f55ababe2ad471";
};
patches = [ ./kdevplatform-projectconfigskeleton.patch ];
nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ];
propagatedBuildInputs = [ ];

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2,
pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
gksuSupport ? false, gksu}:
gksuSupport ? false, gksu, unzip, zip, bash }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
assert gksuSupport -> gksu != null;
@ -33,6 +33,21 @@ in let
dontPatchELF = true;
buildInputs = [ makeWrapper ];
# make exec.py in Default.sublime-package use own bash with
# an LD_PRELOAD instead of "/bin/bash"
patchPhase = ''
mkdir Default.sublime-package-fix
( cd Default.sublime-package-fix
${unzip}/bin/unzip ../Packages/Default.sublime-package > /dev/null
substituteInPlace "exec.py" --replace \
"[\"/bin/bash\"" \
"[\"$out/sublime_bash\""
)
${zip}/bin/zip -j Default.sublime-package.zip Default.sublime-package-fix/* > /dev/null
mv Default.sublime-package.zip Packages/Default.sublime-package
rm -r Default.sublime-package-fix
'';
buildPhase = ''
for i in sublime_text plugin_host crash_reporter; do
patchelf \
@ -52,6 +67,12 @@ in let
mkdir -p $out
cp -prvd * $out/
# We can't just call /usr/bin/env bash because a relocation error occurs
# when trying to run a build from within Sublime Text
ln -s ${bash}/bin/bash $out/sublime_bash
wrapProgram $out/sublime_bash \
--set LD_PRELOAD "${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1"
wrapProgram $out/sublime_text \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects}
@ -66,6 +87,7 @@ in stdenv.mkDerivation {
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin
ln -s ${sublime}/sublime_text $out/bin/subl
ln -s ${sublime}/sublime_text $out/bin/sublime
ln -s ${sublime}/sublime_text $out/bin/sublime3
mkdir -p $out/share/applications

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
{ stdenv, fetchurl, fetchpatch, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
, qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
, qjson, qca2, txt2tags, openssl
, withGrass ? false, grass
@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake makeWrapper ];
patches = [
# See https://hub.qgis.org/issues/16071
(fetchpatch {
name = "fix-build-against-recent-sip";
url = "https://github.com/qgis/QGIS/commit/85a0db24f32351f6096cd8282f03ad5c2f4e6ef5.patch";
sha256 = "0snspzdrpawd7j5b69i8kk7pmmy6ij8bn02bzg94qznfpf9ihf30";
})
];
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
#enableParallelBuilding = true;

View File

@ -1,25 +1,26 @@
{stdenv, fetchgit, flex, bison, cmake, git, zlib}:
{stdenv, fetchFromGitHub, flex, bison, cmake, git, zlib}:
stdenv.mkDerivation rec {
version = "2016-05-19";
version = "2017-01-12";
name = "pbrt-v3-${version}";
src = fetchgit {
url = "https://github.com/mmp/pbrt-v3.git";
rev = "638249e5cf4596e129695c8df8525d43f11573ff";
sha256 = "10ykqrg4zcfb4sfsg3z793c6vld6b6g8bzfyk7ya3yvvc9sdlr5g";
};
fetchSubmodules = true;
src = fetchFromGitHub {
rev = "35b6da3429526f2026fe5e5ebaf36d593e113028";
owner = "mmp";
repo = "pbrt-v3";
sha256 = "10lvbph13p6ilzqb8sgrvn9gg1zmi8wpy3hhjbqp8dnsa4x0mhj7";
fetchSubmodules = true;
};
buildInputs = [ git flex bison cmake zlib ];
meta = {
meta = with stdenv.lib; {
homepage = "http://pbrt.org";
description = "The renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
platforms = stdenv.lib.platforms.linux ;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.juliendehos ];
platforms = platforms.linux ;
license = licenses.bsd2;
maintainers = [ maintainers.juliendehos ];
priority = 10;
};
}

View File

@ -62,6 +62,7 @@ let
kate = callPackage ./kate.nix {};
kdenlive = callPackage ./kdenlive.nix {};
kcalc = callPackage ./kcalc.nix {};
kcachegrind = callPackage ./kcachegrind.nix {};
kcolorchooser = callPackage ./kcolorchooser.nix {};
kcontacts = callPackage ./kcontacts.nix {};
kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
@ -76,6 +77,7 @@ let
kmix = callPackage ./kmix.nix {};
kompare = callPackage ./kompare.nix {};
konsole = callPackage ./konsole.nix {};
krfb = callPackage ./krfb.nix {};
kwalletmanager = callPackage ./kwalletmanager.nix {};
libkdcraw = callPackage ./libkdcraw.nix {};
libkexiv2 = callPackage ./libkexiv2.nix {};

View File

@ -0,0 +1,27 @@
{
kdeApp, lib, kdeWrapper,
cmake, automoc4,
kdelibs, perl, python, php
}:
kdeWrapper {
unwrapped = kdeApp {
name = "kcachegrind";
meta = {
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ orivej ];
};
nativeBuildInputs = [ cmake automoc4 ];
buildInputs = [ kdelibs perl python php ];
enableParallelBuilding = true;
};
targets = [
"bin/kcachegrind"
"bin/dprof2calltree" # perl
"bin/hotshot2calltree" # python
"bin/memprof2calltree" # perl
"bin/op2calltree" # perl
"bin/pprof2calltree" # php
];
}

View File

@ -0,0 +1,22 @@
{
kdeApp, lib, kdeWrapper,
extra-cmake-modules, kdoctools,
kdelibs4support, kdnssd, libvncserver, libXtst
}:
let
unwrapped =
kdeApp {
name = "krfb";
meta = {
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = with lib.maintainers; [ jerith666 ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ kdelibs4support kdnssd libvncserver libXtst ];
};
in
kdeWrapper {
inherit unwrapped;
targets = [ "bin/krfb" ];
}

View File

@ -2,11 +2,11 @@
python2Packages.buildPythonApplication rec {
name = "electrum-${version}";
version = "2.7.18";
version = "2.8.1";
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "1l9krc7hqhqrm5bwp999bpykkcq4958qwvx8v0l5mxcxw8k7fkab";
sha256 = "1398s9d8j04is24il2xjb6xkj666pj21bsr90xglpsmfa1js9z7g";
};
propagatedBuildInputs = with python2Packages; [
@ -15,22 +15,22 @@ python2Packages.buildPythonApplication rec {
jsonrpclib
pbkdf2
protobuf3_0
pyasn1
pyasn1-modules
pyaes
pycrypto
pyqt4
pysocks
qrcode
requests
slowaes
tlslite
# plugins
trezor
keepkey
trezor
# TODO plugins
# matplotlib
# btchip
# amodem
# btchip
# matplotlib
];
preBuild = ''
@ -43,8 +43,11 @@ python2Packages.buildPythonApplication rec {
postInstall = ''
# Despite setting usr_share above, these files are installed under
# $out/nix ...
mv $out/lib/python2.7/site-packages/nix/store/*/share $out
mv $out/lib/python2.7/site-packages/nix/store"/"*/share $out
rm -rf $out/lib/python2.7/site-packages/nix
substituteInPlace $out/share/applications/electrum.desktop \
--replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
'';
doInstallCheck = true;

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
pname = "emem";
version = "0.2.34";
version = "0.2.41";
name = "${pname}-${version}";
inherit jdk;
src = fetchurl {
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
sha256 = "19dslv632qyz3hcycx22w6x96nwph7cxl1yjprir2w2c692dq06x";
sha256 = "0pg7m4fyrcbm8d5nj96xvvh1cvml501rw34hniqq384waifr2kqs";
};
buildInputs = [ ];
@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
phases = [ "buildPhase" "installPhase" ];
buildPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/java
mkdir -p $out/bin $out/share/java
'';
installPhase = ''

View File

@ -0,0 +1,31 @@
{ stdenv, buildEnv, fetchzip, mono }:
let
version = "0.8.1";
drv = stdenv.mkDerivation {
name = "keeagent-${version}";
src = fetchzip {
url = http://lechnology.com/wp-content/uploads/2016/07/KeeAgent_v0.8.1.zip;
sha256 = "16x1qrnzg0xkvi7w29wj3z0ldmql2vcbwxksbsmnidzmygwg98hk";
stripRoot = false;
};
meta = {
description = "KeePass plugin to allow other programs to access SSH keys stored in a KeePass database for authentication";
homepage = http://lechnology.com/software/keeagent;
platforms = with stdenv.lib.platforms; linux;
license = stdenv.lib.licenses.gpl2;
maintainers = [ ];
};
pluginFilename = "KeeAgent.plgx";
installPhase = ''
mkdir -p $out/lib/dotnet/keepass/
cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
'';
};
in
# Mono is required to compile plugin at runtime, after loading.
buildEnv { name = drv.name; paths = [ mono drv ]; }

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst
, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, ykpers
, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, yubikey-personalization
}:
stdenv.mkDerivation rec {
@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
};
makefile = "Makefile.linux";
makeFlags = "YBPERS_LIBPATH=${ykpers}/lib";
makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib";
buildFlags = "unicoderelease";
buildInputs = [ wxGTK libuuid gettext perl zip
xercesc libXt libXtst libXi xextproto
pkgconfig libyubikey ykpers ];
pkgconfig libyubikey yubikey-personalization ];
postPatch = ''
# Fix perl scripts used during the build.

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
stdenv.mkDerivation rec {
name = "${project}-${version}";
project = "qmetro";
version = "0.7.1";
src = fetchurl {
url = "mirror://sourceforge/${project}/${name}.zip";
sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
};
nativeBuildInputs = [ qmake4Hook unzip ];
buildInputs = [ qt4 ];
postPatch = ''
sed -e 's#Exec=/usr/bin/qmetro#Exec=qmetro#' -i rc/qmetro.desktop
echo 'LIBS += -lz' >> qmetro.pro
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://sourceforge.net/projects/qmetro/;
description = "Worldwide transit maps viewer";
license = licenses.gpl3;
maintainter = with maintainers; [ orivej ];
platforms = platforms.unix;
};
}

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
buildInputs = [ qtbase qtwebengine ];
nativeBuildInputs = [ qmakeHook ];
enableParallelBuilding = true;
postInstall = ''
mkdir -p $out/bin
cp binary/QSyncthingTray $out/bin
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
license = licenses.lgpl3;
maintainers = with maintainers; [ zraexy ];
platforms = platforms.all;
broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
};
}

View File

@ -1,23 +1,25 @@
{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, pkgconfig }:
{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, libzip, libxls, pkgconfig }:
stdenv.mkDerivation rec {
version = "0.4.0";
version = "0.5.0";
name = "sc-im-${version}";
src = fetchFromGitHub {
owner = "andmarti1424";
repo = "sc-im";
rev = "v${version}";
sha256 = "1v1cfmfqs5997bqlirp6p7smc3qrinq8dvsi33sk09r33zkzyar0";
sha256 = "1vdn9p9srvdksxznrn65pfigwrd7brlq8bac3pjfqsvf8gjnzq61";
};
buildInputs = [ yacc ncurses libxml2 pkgconfig ];
buildInputs = [ yacc ncurses libxml2 libzip libxls pkgconfig ];
buildPhase = ''
cd src
sed -i "s,prefix=/usr,prefix=$out," Makefile
sed -i "s,-I/usr/include/libxml2,-I$libxml2," Makefile
sed -e "\|^prefix = /usr/local| s|/usr/local|$out|" \
-e "\|^#LDLIBS += -lxlsreader| s|^#|| " \
-e "\|^#CFLAGS += -DXLS| s|^#|| " \
-i Makefile
make
export DESTDIR=$out

View File

@ -1,76 +0,0 @@
{stdenv, fetchurl,
zlib, libpng, libjpeg, perl, expat, qt3,
libX11, libXext, libSM, libICE,
}:
stdenv.mkDerivation rec {
name = "taskjuggler-2.4.3";
src = fetchurl {
url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
};
buildInputs =
[zlib libpng libX11 libXext libSM libICE perl expat libjpeg]
;
patches = [ ./timezone-glibc.patch ];
preConfigure = ''
for i in $(grep -R "/bin/bash" . | sed 's/:.*//'); do
substituteInPlace $i --replace /bin/bash $(type -Pp bash)
done
for i in $(grep -R "/usr/bin/perl" . | sed 's/:.*//'); do
substituteInPlace $i --replace /usr/bin/perl ${perl}/bin/perl
done
# Fix install
for i in docs/en/Makefile.in Examples/BigProject/Common/Makefile.in Examples/BigProject/Makefile.in Examples/BigProject/Project1/Makefile.in Examples/BigProject/Project2/Makefile.in Examples/FirstProject/Makefile.in Examples/ShiftSchedule/Makefile.in; do
# Do not use variable substitution because there is some text after the last '@'
substituteInPlace $i --replace 'docprefix = @PACKAGES_DIR@' 'docprefix = $(docdir)/'
done
# Comment because the ical export need the KDE support.
for i in Examples/FirstProject/AccountingSoftware.tjp; do
substituteInPlace $i --replace "icalreport" "# icalreport"
done
for i in TestSuite/testdir TestSuite/createrefs \
TestSuite/Scheduler/Correct/Expression.sh; do
substituteInPlace $i --replace '/bin/rm' 'rm'
done
# Some tests require writing at $HOME
HOME=$TMPDIR
'';
configureFlags = "
--without-arts --disable-docs
--x-includes=${libX11.dev}/include
--x-libraries=${libX11.out}/lib
--with-qt-dir=${qt3}
";
preInstall = ''
mkdir -p $out/share/emacs/site-lisp/
cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
'';
installFlags =
# kde_locale is not defined when installing without kde.
"kde_locale=\${out}/share/locale";
meta = {
homepage = "http://www.taskjuggler.org";
license = stdenv.lib.licenses.gpl2;
description = "Project management tool";
longDescription = ''
TaskJuggler is a modern and powerful, Open Source project management
tool. Its new approach to project planing and tracking is more
flexible and superior to the commonly used Gantt chart editing
tools. It has already been successfully used in many projects and
scales easily to projects with hundreds of resources and thousands of
tasks.
'';
};
}

View File

@ -1,48 +0,0 @@
From the discussion in http://groups.google.com/group/taskjuggler-users/browse_thread/thread/f65a3efd4dcae2fc/a44c711a9d28ebee?show_docid=a44c711a9d28ebee
From: Chris Schlaeger <cs@kde.org>
Date: Sat, 27 Feb 2010 06:33:35 +0000 (+0100)
Subject: Try to fix time zone check for glibc 2.11.
X-Git-Url: http://www.taskjuggler.org/cgi-bin/gitweb.cgi?p=taskjuggler.git;a=commitdiff_plain;h=2382ed54f90c3c899badb3f56aaa2b3b5dba361e;hp=c666c5068312fec7db75e17d1c567d94127d1dda
Try to fix time zone check for glibc 2.11.
Reported-by: Lee <pFQh8RQn4fqB@dyweni.com>
---
diff --git a/taskjuggler/Utility.cpp b/taskjuggler/Utility.cpp
index 5e2bf21..9b7fce2 100644
--- a/taskjuggler/Utility.cpp
+++ b/taskjuggler/Utility.cpp
@@ -206,16 +206,28 @@ setTimezone(const char* tZone)
/* To validate the tZone value we call tzset(). It will convert the zone
* into a three-letter acronym in case the tZone value is good. If not, it
- * will just copy the wrong value to tzname[0] (glibc < 2.5) or fall back
- * to UTC. */
+ * will
+ * - copy the wrong value to tzname[0] (glibc < 2.5)
+ * - or fall back to UTC (glibc >= 2.5 && < 2.11)
+ * - copy the part before the '/' to tzname[0] (glibc >= 2.11).
+ */
tzset();
+ char* region = new(char[strlen(tZone) + 1]);
+ region[0] = 0;
+ if (strchr(tZone, '/'))
+ {
+ strcpy(region, tZone);
+ *strchr(region, '/') = 0;
+ }
if (timezone2tz(tZone) == 0 &&
- (strcmp(tzname[0], tZone) == 0 ||
+ (strcmp(tzname[0], tZone) == 0 || strcmp(tzname[0], region) == 0 ||
(strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0)))
{
UtilityError = QString(i18n("Illegal timezone '%1'")).arg(tZone);
+ delete region;
return false;
}
+ delete region;
if (!LtHashTab)
return true;

View File

@ -13,11 +13,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
installPhase = ''
mkdir -p $out/{bin,share/man/man1}
cp -rv doc/man/*.1 $out/share/man/man1
cp src/timew $out/bin/
'';
patches = [ ./install-all-themes.patch ];
meta = with stdenv.lib; {
description = "A command-line time tracker";

View File

@ -0,0 +1,27 @@
From e4a14c61bff3a55de42718dc11b282c4d5342995 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Tue, 14 Mar 2017 07:51:02 -0500
Subject: [PATCH] doc/themes: install all themes, not just 'dark.theme'.
---
doc/themes/CMakeLists.txt | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/doc/themes/CMakeLists.txt b/doc/themes/CMakeLists.txt
index a954576..3a3b453 100644
--- a/doc/themes/CMakeLists.txt
+++ b/doc/themes/CMakeLists.txt
@@ -2,5 +2,8 @@ cmake_minimum_required (VERSION 2.8)
message ("-- Configuring theme documentation")
-install (FILES README DESTINATION ${TIMEW_DOCDIR}/doc/themes)
-install (FILES dark.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+install (FILES README DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+install (FILES dark.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+install (FILES dark_blue.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+install (FILES dark_green.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
+install (FILES dark_red.theme DESTINATION ${TIMEW_DOCDIR}/doc/themes)
--
2.12.0

View File

@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
license = licenses.bsd3;
maintainers = with maintainers; [ offline peterhoeg ];
broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
};
}

View File

@ -1,24 +0,0 @@
{stdenv, fetchurl, pkgconfig, libusb1, libyubikey}:
stdenv.mkDerivation rec
{
version = "1.17.2";
name = "ykpers-${version}";
src = fetchurl
{
url = "http://opensource.yubico.com/yubikey-personalization/releases/${name}.tar.gz";
sha256 = "1z6ybpdhl74phwzg2lhxhipqf7xnfhg52dykkzb3fbx21m0i4jkh";
};
buildInputs = [pkgconfig libusb1 libyubikey];
meta =
{
homepage = "http://opensource.yubico.com/yubikey-personalization/";
description = "YubiKey Personalization cross-platform library and tool";
license = "bsd";
maintainers = [ stdenv.lib.maintainers.calrama ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -94,12 +94,12 @@ let
flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "24.0.0.221";
version = "25.0.0.127";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "0vqvb098wms9v2r1xm9yq4cpn1h9dr1y7izfy2rwg3y7gr8ycv80";
sha256 = "1gf0ncclkk3h4vj9kkhbqj1nnnm54gwm5mdcs4p4pl8i339scs14";
stripRoot = false;
};

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "0mwwscybips1kazl0rva3jdswfzfb7yp90ggqgk27z2ndp0qj8b3";
sha256bin64 = "17n0jcysxi99v8hwlg7f69nrs2y5z87644145a8r53l809hkvkrk";
version = "57.0.2987.21";
sha256 = "0bbr5wr5icrw5101dlhyn20pg28mah7w4vk365i4gf6a1zvyrd8n";
sha256bin64 = "0dx9ivjc7avm0zgw0jcx5mmlzapwc2lp1sdjpwgd4y0iai1zr3yw";
version = "57.0.2987.98";
};
dev = {
sha256 = "18gsj415cdlllp95q8pv1s3hhjg8cmjb6kwrvbr5mjdvsvj0ianf";
sha256bin64 = "0z58rwz00bq61d24h8jynhzxanbh0m9wi04jbczci3681b4zyiyh";
version = "58.0.3000.4";
sha256 = "1i6qr1ypjww3q59lqg60xpns8xqxxrkd0yrpyx96alb1bp22x85p";
sha256bin64 = "1ahp99p4hi8r2bvkdpnkakwkpmmnndjn299axc7cafz85zs6z9vl";
version = "58.0.3029.14";
};
stable = {
sha256 = "1q2kg85pd6lv036w7lsss5mhiiva9rx4f0410sbn9bnazhghib4s";
sha256bin64 = "1s64smkpjmnlw7ym14v3g3lcpagsgavmnlq6wkgci80kyvwasd3w";
version = "56.0.2924.87";
sha256 = "0bbr5wr5icrw5101dlhyn20pg28mah7w4vk365i4gf6a1zvyrd8n";
sha256bin64 = "1qs8pmfasf3j84pjf4fnf6yb0pfa2hdgicskvfmr1sqy7c7yg348";
version = "57.0.2987.98";
};
}

View File

@ -30,6 +30,10 @@ common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec {
inherit sha512;
};
# this patch should no longer be needed in 53
# from https://bugzilla.mozilla.org/show_bug.cgi?id=1013882
patches = lib.optional debugBuild ./fix-debug.patch;
buildInputs =
[ pkgconfig gtk2 perl zip libIDL libjpeg zlib bzip2
python dbus dbus_glib pango freetype fontconfig xorg.libXi

View File

@ -0,0 +1,77 @@
# HG changeset patch
# User Michelangelo De Simone <mdesimone@mozilla.com>
# Date 1479198095 28800
# Node ID fde6e9ccfc72fbc0fcd93af7a40436b216e7ea1a
# Parent 687eac6845a77d2cac5505da9c8912885c2a9e57
Bug 1013882 - TestInterfaceJS should be packaged only if it's available. r=glandium, a=jcristau
MozReview-Commit-ID: IEHesdoU4Sz
diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in
--- a/b2g/installer/package-manifest.in
+++ b/b2g/installer/package-manifest.in
@@ -570,17 +570,17 @@
@RESPATH@/components/InputMethod.manifest
#ifdef MOZ_B2G
@RESPATH@/components/inputmethod.xpt
#endif
@RESPATH@/components/SystemUpdate.manifest
@RESPATH@/components/SystemUpdateManager.js
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/TestInterfaceJS.js
@RESPATH@/components/TestInterfaceJS.manifest
@RESPATH@/components/TestInterfaceJSMaplike.js
#endif
; Modules
@RESPATH@/modules/*
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -554,17 +554,17 @@
@RESPATH@/components/PresentationControlService.js
@RESPATH@/components/PresentationDataChannelSessionTransport.js
@RESPATH@/components/PresentationDataChannelSessionTransport.manifest
; InputMethod API
@RESPATH@/components/MozKeyboard.js
@RESPATH@/components/InputMethod.manifest
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/TestInterfaceJS.js
@RESPATH@/components/TestInterfaceJS.manifest
@RESPATH@/components/TestInterfaceJSMaplike.js
#endif
; [Extensions]
@RESPATH@/components/extensions-toolkit.manifest
@RESPATH@/browser/components/extensions-browser.manifest
diff --git a/mobile/android/installer/package-manifest.in b/mobile/android/installer/package-manifest.in
--- a/mobile/android/installer/package-manifest.in
+++ b/mobile/android/installer/package-manifest.in
@@ -381,17 +381,17 @@
@BINPATH@/components/CaptivePortalDetectComponents.manifest
@BINPATH@/components/captivedetect.js
#ifdef MOZ_WEBSPEECH
@BINPATH@/components/dom_webspeechsynth.xpt
#endif
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@BINPATH@/components/TestInterfaceJS.js
@BINPATH@/components/TestInterfaceJS.manifest
@BINPATH@/components/TestInterfaceJSMaplike.js
#endif
@BINPATH@/components/nsAsyncShutdown.manifest
@BINPATH@/components/nsAsyncShutdown.js

View File

@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
sha256 = "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp";
};
buildInputs =
[ libev librsvg libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
++ stdenv.lib.optional enableDirectFB [ directfb ];
buildInputs = with stdenv.lib;
[ libev librsvg libpng libjpeg libtiff openssl xz bzip2 zlib ]
++ optionals stdenv.isLinux [ gpm ]
++ optionals enableX11 [ libX11 libXau libXt ]
++ optional enableDirectFB [ directfb ];
nativeBuildInputs = [ pkgconfig bzip2 ];
@ -39,6 +40,6 @@ stdenv.mkDerivation rec {
homepage = http://links.twibright.com/;
description = "A small browser with some graphics support";
maintainers = with maintainers; [ raskin urkud viric ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -73,25 +73,25 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
version = "24.0.0.221";
version = "25.0.0.127";
src = fetchurl {
url =
if debug then
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_npapi_linux_debug.${arch}.tar.gz"
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_npapi_linux_debug.${arch}.tar.gz"
else
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
sha256 =
if debug then
if arch == "x86_64" then
"10f8m5zc8p4xbhihbl785lws1kpv6smnbhx4ydzf8ai3mlv3y241"
"0d37rwbqszl593pggph8pm8jwn05fppys7q8vk1jrk9jaz262iva"
else
"1rz9rkbvln8wdkfmsnnq936xs6969qma141jc4qx408419q7v3hg"
"0lhngdx1q51kfpw3a961h9p9n1fnspk9pmg21i069hvd0h143arx"
else
if arch == "x86_64" then
"1cb4mvslphj3bcchgr7lcswz8kk8si0s60rl5266mi53byplhw08"
"1yasj9xzmb6ly9209b1hmrqrzxrr1bafsfjszsr3yf994hql6nzn"
else
"1vcyp9041171xkcnz05dlk3n7bnbcb9qbh4sy5wfgjkqsyd6i5bl";
"02vs12cm6fpl2fif1lij9y15m89wk6aizc8sbjiw6w59wixn3p9d";
};
nativeBuildInputs = [ unzip ];

View File

@ -57,19 +57,19 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}";
version = "24.0.0.221";
version = "25.0.0.127";
src = fetchurl {
url =
if debug then
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_sa_linux_debug.x86_64.tar.gz"
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_sa_linux_debug.x86_64.tar.gz"
else
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/24/flash_player_sa_linux.x86_64.tar.gz";
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"0cy81cml72ayx2wa0fd9vgp2wzny866jasahndg01v0jfxcxw5rz"
"07a8x1n997lmkxj74bkygh60shwzxzcvfxpz07pxj1nmvakmin51"
else
"0xgiycd47mzmwvmhbi0ig3rd7prksfdpcd4h62as1m9gs1ax4d7l";
"0rzxfcvjjwbd1m6pyby8km4g5834zy5d5sih7xq3czds9x0a2jp2";
};
nativeBuildInputs = [ unzip ];

View File

@ -24,12 +24,12 @@ let
in buildPythonApplication rec {
name = "qutebrowser-${version}";
version = "0.9.1";
version = "0.10.1";
namePrefix = "";
src = fetchurl {
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
sha256 = "0pf91nc0xcykahc3x7ww525c9czm8zpg80nxl8n2mrzc4ilgvass";
sha256 = "57f4915f0f2b1509f3aa1cb9c47117fdaad35b4c895e9223c4eb0a6e8af51917";
};
# Needs tox

View File

@ -27,5 +27,6 @@ buildGoPackage rec {
homepage = https://github.com/kubernetes/kops;
license = licenses.asl20;
maintainers = with maintainers; [offline];
platforms = platforms.unix;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, which, go, go-bindata, makeWrapper, rsync
{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
, iptables, coreutils
, components ? [
"cmd/kubeadm"
@ -18,16 +18,16 @@ with lib;
stdenv.mkDerivation rec {
name = "kubernetes-${version}";
version = "1.5.2";
version = "1.5.4";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
sha256 = "1ps9bn5gqknyjv0b9jvp7xg3cyd4anq11j785p22347al0b8w81v";
sha256 = "1xhz6m6ly6ffj60id9ms1liijlrik8n2pxyzb5m77ym3zf7rxlpl";
};
buildInputs = [ makeWrapper which go rsync go-bindata ];
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
outputs = ["out" "man" "pause"];
@ -59,12 +59,7 @@ stdenv.mkDerivation rec {
'';
preFixup = ''
# Remove references to go compiler
while read file; do
cat $file | sed "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" > $file.tmp
mv $file.tmp $file
chmod +x $file
done < <(find $out/bin $pause/bin -type f 2>/dev/null)
find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
'';
meta = {

View File

@ -1,47 +1,77 @@
{ stdenv, lib, fetchurl, makeWrapper, docker-machine-kvm, kubernetes, libvirt, qemu }:
{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm, makeWrapper }:
let
arch = if stdenv.isLinux
then "linux-amd64"
else "darwin-amd64";
checksum = if stdenv.isLinux
then "0cdcabsx5l4jbpyj3zzyz5bnzks6wl64bmzdsnk41x92ar5y5yal"
else "12f3b7s5lwpvzx4wj6i6h62n4zjshqf206fxxwpwx9kpsdaw6xdi";
binPath = [ kubernetes ]
++ stdenv.lib.optionals stdenv.isLinux [ libvirt qemu docker-machine-kvm ]
++ stdenv.lib.optionals stdenv.isDarwin [];
# TODO: compile from source
in stdenv.mkDerivation rec {
pname = "minikube";
# Normally, minikube bundles localkube in its own binary via go-bindata. Unfortunately, it needs to make that localkube
# a static linux binary, and our Linux nixpkgs go compiler doesn't seem to work when asking for a cgo binary that's static
# (presumably because we don't have some static system libraries it wants), and cross-compiling cgo on Darwin is a nightmare.
#
# Note that minikube can download (and cache) versions of localkube it needs on demand. Unfortunately, minikube's knowledge
# of where it can download versions of localkube seems to rely on a json file that doesn't get updated as often as we'd like,
# so for example it doesn't know about v1.5.3 even though there's a perfectly good version of localkube hosted there. So
# instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
# currently https://storage.googleapis.com/minikube/k8s_releases.json. Note that we can't use 1.5.3 with minikube 0.17.1
# expects to be able to pass it a command-line argument that it doesn't understand. v1.5.4 and higher should be fine. There
# doesn't seem to ae any official release of localkube for 1.5.4 yet so I'm temporarily grabbing a version built from the
# minikube CI server.
localkube-binary = fetchurl {
url = "https://storage.googleapis.com/minikube-builds/1216/localkube";
# url = "https://storage.googleapis.com/minikube/k8sReleases/v${kubernetes.version}/localkube-linux-amd64";
sha256 = "1vqrsak7n045ci6af3rpgs2qwjnrqk8k7c3ax6wzli4m8vhsiv57";
};
in buildGoPackage rec {
pname = "minikube";
name = "${pname}-${version}";
version = "0.17.1";
name = "${pname}-${version}";
src = fetchurl {
url = "https://storage.googleapis.com/minikube/releases/v${version}/minikube-${arch}";
sha256 = "${checksum}";
goPackagePath = "k8s.io/minikube";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "minikube";
rev = "v${version}";
sha256 = "1m61yipn0p3cfavjddhrg1rcmr0hv6k3zxvqqd9fisl79g0sdfsr";
};
phases = [ "installPhase" "fixupPhase" ];
# kubernetes is here only to shut up a loud warning when generating the completions below. minikube checks very eagerly
# that kubectl is on the $PATH, even if it doesn't use it at all to generate the completions
buildInputs = [ go-bindata makeWrapper kubernetes ];
subPackages = [ "cmd/minikube" ];
buildInputs = [ makeWrapper ];
preBuild = ''
pushd go/src/${goPackagePath} >/dev/null
binPath = lib.makeBinPath [ docker-machine-kvm kubernetes libvirt qemu ];
mkdir -p out
cp ${localkube-binary} out/localkube
installPhase = ''
install -Dm755 ${src} $out/bin/${pname}
go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets ./out/localkube deploy/addons/...
ISO_VERSION=$(grep "^ISO_VERSION" Makefile | sed "s/^.*\s//")
ISO_BUCKET=$(grep "^ISO_BUCKET" Makefile | sed "s/^.*\s//")
export buildFlagsArray="-ldflags=\
-X k8s.io/minikube/pkg/version.version=v${version} \
-X k8s.io/minikube/pkg/version.isoVersion=$ISO_VERSION \
-X k8s.io/minikube/pkg/version.isoPath=$ISO_BUCKET"
popd >/dev/null
'';
fixupPhase = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/bin/minikube"
wrapProgram $out/bin/${pname} \
--prefix PATH : ${binPath}
postInstall = ''
mkdir -p $bin/share/bash-completion/completions/
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
'';
postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
meta = with stdenv.lib; {
homepage = https://github.com/kubernetes/minikube;
homepage = https://github.com/kubernetes/minikube;
description = "A tool that makes it easy to run Kubernetes locally";
license = licenses.asl20;
maintainers = with maintainers; [ ebzzry ];
platforms = with platforms; linux ++ darwin;
license = licenses.asl20;
maintainers = with maintainers; [ ebzzry copumpkin ];
platforms = with platforms; unix;
};
}

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "nomad-${version}";
version = "0.5.4";
version = "0.5.5";
rev = "v${version}";
goPackagePath = "github.com/hashicorp/nomad";
@ -12,7 +12,7 @@ buildGoPackage rec {
owner = "hashicorp";
repo = "nomad";
inherit rev;
sha256 = "0x7bi6wq7kpqv3wfhk5mqikj4hsb0f6lx867xz5l9cq3i39b5gj3";
sha256 = "17xq88ymm77b6y27l4v49i9hm6yjyrk61rdb2v7nvn8fa4bn6b65";
};
meta = with stdenv.lib; {

View File

@ -0,0 +1,34 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "terraform-${version}";
version = "0.8.5";
goPackagePath = "github.com/hashicorp/terraform";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "terraform";
rev = "v${version}";
sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09";
};
postInstall = ''
# remove all plugins, they are part of the main binary now
for i in $bin/bin/*; do
if [[ $(basename $i) != terraform ]]; then
rm "$i"
fi
done
'';
meta = with stdenv.lib; {
description = "Tool for building, changing, and versioning infrastructure";
homepage = "https://www.terraform.io/";
license = licenses.mpl20;
maintainers = with maintainers; [
jgeerds
zimbatm
];
};
}

View File

@ -0,0 +1,35 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }:
buildGoPackage rec {
name = "terragrunt-${version}";
version = "0.9.8";
goPackagePath = "github.com/gruntwork-io/terragrunt";
src = fetchFromGitHub {
rev = "v${version}";
owner = "gruntwork-io";
repo = "terragrunt";
sha256 = "0aakr17yzh5jzvlmg3pzpnsfwl31njg27bpck541492shqcqmkiz";
};
goDeps = ./deps.nix;
buildInputs = [ makeWrapper ];
preBuild = ''
buildFlagsArray+=("-ldflags" "-X main.VERSION=v${version}")
'';
postInstall = ''
wrapProgram $bin/bin/terragrunt \
--set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
'';
meta = with stdenv.lib; {
description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices.";
homepage = https://github.com/gruntwork-io/terragrunt/;
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg ];
};
}

View File

@ -17,6 +17,10 @@ buildGoPackage rec {
buildInputs = [ makeWrapper ];
preBuild = ''
buildFlagsArray+=("-ldflags" "-X main.VERSION=v${version}")
'';
postInstall = ''
wrapProgram $bin/bin/terragrunt \
--set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
stdenv.mkDerivation {
name = "esniper-2.32.0";
stdenv.mkDerivation rec {
name = "esniper-2.33.0";
src = fetchurl {
url = "mirror://sourceforge/esniper/esniper-2-32-0.tgz";
sha256 = "04lka4d0mnrwc369yzvq28n8qi1qbm8810ykx6d0a4kaghiybqsy";
url = "mirror://sourceforge/esniper/${stdenv.lib.replaceStrings ["."] ["-"] name}.tgz";
sha256 = "1pck2x7mp7ip0b21v2sjvq86fz12gzw6kig4vvbrghz5xw5b3f69";
};
buildInputs = [ openssl curl ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
let version = "3.24.0"; in
let version = "3.25.0"; in
stdenv.mkDerivation {
name = "filezilla-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "1bacrl8lj90hqbh129hpbgqj78k1i84j83rkzn507jnykj4x8p9x";
sha256 = "1b1lb1zvm887xy3q9i5ziqvwk4ww2pd81a1msbwjrxzy5lq5ykhh";
};
configureFlags = [

View File

@ -4,7 +4,7 @@
let
version = "2.5.1";
version = "2.5.2";
rpath = stdenv.lib.makeLibraryPath [
alsaLib
@ -45,7 +45,7 @@ let
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
sha256 = "1rrhgqmz0ajv2135bzykv3dq0mifzf5kiycgrisk2sfxn6nwyyvj";
sha256 = "0mg8js18lnnwyvqksrhpym7d04bin16bh7sdmxbm36iijb9ajxmi";
}
else
throw "Slack is not supported on ${stdenv.system}";

View File

@ -2,14 +2,14 @@
, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
stdenv.mkDerivation rec {
version = "20170128";
version = "20170306";
name = "neomutt-${version}";
src = fetchFromGitHub {
owner = "neomutt";
repo = "neomutt";
rev = "neomutt-${version}";
sha256 = "082ksn4fsj48nkz61ia0hcxz3396p6a4p9q8738w15qkycq23c20";
sha256 = "0nlazabwj4czi30m84ppga275hkr51glyndizqzg540q9wp1acz4";
};
nativeBuildInputs = [ which autoconf automake ];

View File

@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null);
with stdenv.lib;
stdenv.mkDerivation rec {
name = "qbittorrent-${version}";
version = "3.3.10";
version = "3.3.11";
src = fetchurl {
url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
sha256 = "1lm8y5k9363gajbw0k9jb1cb7zg0lz5rw2ja0kd36h68rpm7qr9c";
sha256 = "0q57ahhlx7r5k1ji87gbp4rvjfvhirlmcx5nbwrfvqmxsigar4j8";
};
nativeBuildInputs = [ pkgconfig which ];

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
, gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
, libssh, zlib, cmake, extra-cmake-modules
, withGtk ? false, gtk3 ? null, pango ? null, cairo ? null, gdk_pixbuf ? null
, withGtk ? false, gtk3 ? null, librsvg ? null, gsettings_desktop_schemas ? null, wrapGAppsHook ? null
, withQt ? false, qt5 ? null
, ApplicationServices, SystemConfiguration, gmp
}:
@ -23,11 +23,15 @@ in stdenv.mkDerivation {
sha256 = "049r5962yrajhhz9r4dsnx403dab50d6091y2mw298ymxqszp9s2";
};
nativeBuildInputs = [
bison cmake extra-cmake-modules flex
] ++ optional withGtk wrapGAppsHook;
buildInputs = [
bison cmake extra-cmake-modules flex gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt libgpgerror gnutls
geoip c-ares python glib zlib
] ++ (optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ]))
++ (optionals withGtk [ gtk3 pango cairo gdk_pixbuf ])
gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt
libgpgerror gnutls geoip c-ares python glib zlib
] ++ optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
++ optionals withGtk [ gtk3 librsvg gsettings_desktop_schemas ]
++ optionals stdenv.isLinux [ libcap libnl ]
++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ];

View File

@ -2,7 +2,7 @@
let
version = "1.3.1";
version = "1.3.3";
in
stdenv.mkDerivation {
name = "money-manager-ex-${version}";
@ -10,7 +10,7 @@ in
src = fetchgit {
url = "https://github.com/moneymanagerex/moneymanagerex.git";
rev = "refs/tags/v${version}";
sha256 = "1cmwmvlzg7r85qq23lbbmq2y91vhf9f5pblpja5ph98bsd218pc0";
sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
};
buildInputs = [ sqlite wxGTK30 gettext ];

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, readline, perl, libX11, libpng, libXt, zlib}:
{stdenv, fetchurl, readline, perl, libharu, libX11, libpng, libXt, zlib}:
stdenv.mkDerivation {
name = "emboss-6.6.0";
@ -6,16 +6,14 @@ stdenv.mkDerivation {
url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz";
sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e";
};
# patch = fetchurl {
# url = ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-9.gz;
# sha256 = "1pfn5zdxrr71c3kwpdkzmmsqvdwkmynkvcr707vqh73h9cjhk3c1";
# };
buildInputs = [readline perl libpng libX11 libXt zlib];
buildInputs = [ readline perl libharu libpng libX11 libXt zlib ];
# preConfigure = ''
# gzip -d $patch | patch -p1
# '';
configureFlags = [ "--with-hpdf=${libharu}" "--with-pngdriver=${zlib}" ];
postConfigure = ''
sed -i 's@$(bindir)/embossupdate@true@' Makefile
'';
meta = {
description = "The European Molecular Biology Open Software Suite";

View File

@ -83,5 +83,6 @@ stdenv.mkDerivation {
license = licenses.bsd3;
maintainers = with maintainers; [ mudri ];
platforms = with platforms; linux;
broken = true;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "geogebra-${version}";
version = "5-0-331-0";
version = "5-0-338-0";
preferLocalBuild = true;
src = fetchurl {
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
sha256 = "135g2xqafgs1gv98vqq2jpfwyi1aflyiynx1gmsgs23jxbr218v2";
sha256 = "1namwib3912zjizgl9swan0fwgmq9kvfq5k5y8lz818vh4lv88kx";
};
srcIcon = fetchurl {

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk
, imagemagick, liblapack, python, openssl, libpng
{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk, gnused_422
, imagemagick, liblapack, python, openssl, libpng
, which
}:
@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://old.files.sagemath.org/src-old/${name}.tar.gz";
sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
};
buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg tk imagemagick liblapack
python openssl libpng which];
buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg gnused_422 tk imagemagick liblapack
python openssl libpng which ];
patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];

View File

@ -66,6 +66,8 @@ rec {
git-imerge = callPackage ./git-imerge { };
git-octopus = callPackage ./git-octopus { };
git-radar = callPackage ./git-radar { };
git-remote-hg = callPackage ./git-remote-hg { };

View File

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub, git, perl, makeWrapper }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "git-octopus-${version}";
version = "1.4";
installFlags = [ "prefix=$(out)" ];
buildInputs = [ makeWrapper ];
# perl provides shasum
postInstall = ''
for f in $out/bin/*; do
wrapProgram $f --prefix PATH : ${makeBinPath [ git perl ]}
done
'';
src = fetchFromGitHub {
owner = "lesfurets";
repo = "git-octopus";
rev = "v${version}";
sha256 = "14p61xk7jankp6gc26xciag9fnvm7r9vcbhclcy23f4ghf4q4sj1";
};
meta = {
homepage = https://github.com/lesfurets/git-octopus;
description = "The continuous merge workflow";
license = licenses.lgpl3;
platforms = platforms.unix;
maintainers = [maintainers.mic92];
};
}

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
name = "gitkraken-${version}";
version = "2.1.0";
version = "2.2.0";
src = fetchurl {
url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
sha256 = "56b5657f5c13fa1d8f6b7b9331194cbc8c48c0b913e5f0fb561d0e9af82f7999";
sha256 = "0a3ed917e6e937af4dd180144fbb4ad8b99b35b5d8c1f0684a55de38189a812d";
};
libPath = stdenv.lib.makeLibraryPath [
@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
license = licenses.unfree;
platforms = platforms.linux;
maintainers = [ ];
maintainers = with maintainers; [ xnwdd ];
};
}

Some files were not shown because too many files have changed in this diff Show More