Merge branch 'master' into patch-2
This commit is contained in:
commit
ba126daace
@ -18,3 +18,8 @@ matrix:
|
|||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
|
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
email:
|
||||||
|
on_success: never
|
||||||
|
on_failure: change
|
||||||
|
@ -823,10 +823,10 @@ alternative implemention for Integer called
|
|||||||
[integer-simple](http://hackage.haskell.org/package/integer-simple).
|
[integer-simple](http://hackage.haskell.org/package/integer-simple).
|
||||||
|
|
||||||
To get a GHC compiler build with `integer-simple` instead of `integer-gmp` use
|
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:
|
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
|
$ result/bin/ghc-pkg list | grep integer
|
||||||
integer-simple-0.1.1.1
|
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.ghc7103 ghc-7.10.3
|
||||||
haskell.compiler.integer-simple.ghc722 ghc-7.2.2
|
haskell.compiler.integer-simple.ghc722 ghc-7.2.2
|
||||||
haskell.compiler.integer-simple.ghc742 ghc-7.4.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.ghc783 ghc-7.8.3
|
||||||
haskell.compiler.integer-simple.ghc784 ghc-7.8.4
|
haskell.compiler.integer-simple.ghc784 ghc-7.8.4
|
||||||
haskell.compiler.integer-simple.ghc801 ghc-8.0.1
|
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
|
haskell.compiler.integer-simple.ghcHEAD ghc-8.1.20170106
|
||||||
|
|
||||||
To get a package set supporting `integer-simple` use the attribute:
|
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`:
|
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
|
## Other resources
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{lib, pkgs} :
|
{lib, pkgs}:
|
||||||
let inherit (lib) nv nvs; in
|
let inherit (lib) nv nvs; in
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ let inherit (lib) nv nvs; in
|
|||||||
# * vim_configurable
|
# * vim_configurable
|
||||||
#
|
#
|
||||||
# A minimal example illustrating most features would look like this:
|
# 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 {
|
# src = fetchurl {
|
||||||
# }
|
# }
|
||||||
# buildInputs = [A];
|
# buildInputs = [A];
|
||||||
@ -79,7 +79,7 @@ let inherit (lib) nv nvs; in
|
|||||||
# consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
|
# consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
|
||||||
removeAttrs ? ["cfg" "flags"]
|
removeAttrs ? ["cfg" "flags"]
|
||||||
|
|
||||||
}: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)
|
}: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)
|
||||||
{
|
{
|
||||||
inherit applyPreTidy removeAttrs;
|
inherit applyPreTidy removeAttrs;
|
||||||
}).merge;
|
}).merge;
|
||||||
|
@ -24,10 +24,10 @@ rec {
|
|||||||
traceValSeq = v: traceVal (builtins.deepSeq v v);
|
traceValSeq = v: traceVal (builtins.deepSeq v v);
|
||||||
|
|
||||||
# this can help debug your code as well - designed to not produce thousands of lines
|
# 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;
|
traceShowValMarked = str: x: trace (str + showVal x) x;
|
||||||
attrNamesToStr = a : lib.concatStringsSep "; " (map (x : "${x}=") (attrNames a));
|
attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
|
||||||
showVal = x :
|
showVal = x:
|
||||||
if isAttrs x then
|
if isAttrs x then
|
||||||
if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
|
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} }"
|
else "x is attr set { ${attrNamesToStr x} }"
|
||||||
@ -43,9 +43,9 @@ rec {
|
|||||||
|
|
||||||
# trace the arguments passed to function and its result
|
# trace the arguments passed to function and its result
|
||||||
# maybe rewrite these functions in a traceCallXml like style. Then one function is enough
|
# 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));
|
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));
|
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));
|
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?
|
# FIXME: rename this?
|
||||||
traceValIfNot = c: x:
|
traceValIfNot = c: x:
|
||||||
@ -71,7 +71,7 @@ rec {
|
|||||||
|
|
||||||
# create a test assuming that list elements are true
|
# create a test assuming that list elements are true
|
||||||
# usage: { testX = allTrue [ 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:
|
strict = v:
|
||||||
trace "Warning: strict is deprecated and will be removed in the next release"
|
trace "Warning: strict is deprecated and will be removed in the next release"
|
||||||
|
@ -16,23 +16,23 @@ rec {
|
|||||||
|
|
||||||
defaultMergeArg = x : y: if builtins.isAttrs y then
|
defaultMergeArg = x : y: if builtins.isAttrs y then
|
||||||
y
|
y
|
||||||
else
|
else
|
||||||
(y x);
|
(y x);
|
||||||
defaultMerge = x: y: x // (defaultMergeArg x y);
|
defaultMerge = x: y: x // (defaultMergeArg x y);
|
||||||
foldArgs = merger: f: init: x:
|
foldArgs = merger: f: init: x:
|
||||||
let arg=(merger init (defaultMergeArg init x));
|
let arg = (merger init (defaultMergeArg init x));
|
||||||
# now add the function with composed args already applied to the final attrs
|
# now add the function with composed args already applied to the final attrs
|
||||||
base = (setAttrMerge "passthru" {} (f arg)
|
base = (setAttrMerge "passthru" {} (f arg)
|
||||||
( z : z // rec {
|
( z: z // rec {
|
||||||
function = foldArgs merger f arg;
|
function = foldArgs merger f arg;
|
||||||
args = (lib.attrByPath ["passthru" "args"] {} z) // x;
|
args = (lib.attrByPath ["passthru" "args"] {} z) // x;
|
||||||
} ));
|
} ));
|
||||||
withStdOverrides = base // {
|
withStdOverrides = base // {
|
||||||
override = base.passthru.function;
|
override = base.passthru.function;
|
||||||
} ;
|
};
|
||||||
in
|
in
|
||||||
withStdOverrides;
|
withStdOverrides;
|
||||||
|
|
||||||
|
|
||||||
# predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice)
|
# predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice)
|
||||||
# the naming "overridableDelayableArgs" tries to express that you can
|
# the naming "overridableDelayableArgs" tries to express that you can
|
||||||
@ -49,35 +49,35 @@ rec {
|
|||||||
#
|
#
|
||||||
# examples: see test cases "res" below;
|
# examples: see test cases "res" below;
|
||||||
overridableDelayableArgs =
|
overridableDelayableArgs =
|
||||||
f : # the function applied to the arguments
|
f: # the function applied to the arguments
|
||||||
initial : # you pass attrs, the functions below are passing a function taking the fix argument
|
initial: # you pass attrs, the functions below are passing a function taking the fix argument
|
||||||
let
|
let
|
||||||
takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
|
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
|
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
|
in removeAttrs (applyPreTidyFun args) ( ["applyPreTidy"] ++ (maybeAttr "removeAttrs" [] args) ); # tidy up args before applying them
|
||||||
fun = n : x :
|
fun = n: x:
|
||||||
let newArgs = fixed :
|
let newArgs = fixed:
|
||||||
let args = takeFixed fixed;
|
let args = takeFixed fixed;
|
||||||
mergeFun = args.${n};
|
mergeFun = args.${n};
|
||||||
in if isAttrs x then (mergeFun args x)
|
in if isAttrs x then (mergeFun args x)
|
||||||
else assert isFunction x;
|
else assert isFunction x;
|
||||||
mergeFun args (x ( args // { inherit fixed; }));
|
mergeFun args (x ( args // { inherit fixed; }));
|
||||||
in overridableDelayableArgs f newArgs;
|
in overridableDelayableArgs f newArgs;
|
||||||
in
|
in
|
||||||
(f (tidy (lib.fix takeFixed))) // {
|
(f (tidy (lib.fix takeFixed))) // {
|
||||||
merge = fun "mergeFun";
|
merge = fun "mergeFun";
|
||||||
replace = fun "keepFun";
|
replace = fun "keepFun";
|
||||||
};
|
};
|
||||||
defaultOverridableDelayableArgs = f :
|
defaultOverridableDelayableArgs = f:
|
||||||
let defaults = {
|
let defaults = {
|
||||||
mergeFun = mergeAttrByFunc; # default merge function. merge strategie (concatenate lists, strings) is given by mergeAttrBy
|
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)
|
applyPreTidy = []; # list of functions applied to args before args are tidied up (usage case : prepareDerivationArgs)
|
||||||
mergeAttrBy = mergeAttrBy // {
|
mergeAttrBy = mergeAttrBy // {
|
||||||
applyPreTidy = a : b : a ++ b;
|
applyPreTidy = a: b: a ++ b;
|
||||||
removeAttrs = 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
|
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
|
# 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)
|
# # 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";}; };
|
# b = a.passthru.function { a = [ "3" ]; meta = { d2 = "bar2";}; };
|
||||||
# # instead of passing/ overriding values you can use a merge function:
|
# # 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 if val == true || val == false then false
|
||||||
else null;
|
else null;
|
||||||
|
|
||||||
|
|
||||||
# Return true only if there is an attribute and it is true.
|
# Return true only if there is an attribute and it is true.
|
||||||
checkFlag = attrSet: name:
|
checkFlag = attrSet: name:
|
||||||
if name == "true" then true else
|
if name == "true" then true else
|
||||||
@ -134,29 +134,29 @@ rec {
|
|||||||
( attrByPath [name] (if checkFlag attrSet name then true else
|
( attrByPath [name] (if checkFlag attrSet name then true else
|
||||||
if argList == [] then null else
|
if argList == [] then null else
|
||||||
let x = builtins.head argList; in
|
let x = builtins.head argList; in
|
||||||
if (head x) == name then
|
if (head x) == name then
|
||||||
(head (tail x))
|
(head (tail x))
|
||||||
else (getValue attrSet
|
else (getValue attrSet
|
||||||
(tail argList) name)) attrSet );
|
(tail argList) name)) attrSet );
|
||||||
|
|
||||||
|
|
||||||
# Input : attrSet, [[name default] ...], [ [flagname reqs..] ... ]
|
# Input : attrSet, [[name default] ...], [ [flagname reqs..] ... ]
|
||||||
# Output : are reqs satisfied? It's asserted.
|
# Output : are reqs satisfied? It's asserted.
|
||||||
checkReqs = attrSet : argList : condList :
|
checkReqs = attrSet: argList: condList:
|
||||||
(
|
(
|
||||||
fold lib.and true
|
fold lib.and true
|
||||||
(map (x: let name = (head x) ; in
|
(map (x: let name = (head x); in
|
||||||
|
|
||||||
((checkFlag attrSet name) ->
|
((checkFlag attrSet name) ->
|
||||||
(fold lib.and true
|
(fold lib.and true
|
||||||
(map (y: let val=(getValue attrSet argList y); in
|
(map (y: let val=(getValue attrSet argList y); in
|
||||||
(val!=null) && (val!=false))
|
(val!=null) && (val!=false))
|
||||||
(tail x))))) condList)) ;
|
(tail x))))) condList));
|
||||||
|
|
||||||
|
|
||||||
# This function has O(n^2) performance.
|
# This function has O(n^2) performance.
|
||||||
uniqList = {inputList, acc ? []} :
|
uniqList = { inputList, acc ? [] }:
|
||||||
let go = xs : acc :
|
let go = xs: acc:
|
||||||
if xs == []
|
if xs == []
|
||||||
then []
|
then []
|
||||||
else let x = head xs;
|
else let x = head xs;
|
||||||
@ -164,26 +164,26 @@ rec {
|
|||||||
in y ++ go (tail xs) (y ++ acc);
|
in y ++ go (tail xs) (y ++ acc);
|
||||||
in go inputList acc;
|
in go inputList acc;
|
||||||
|
|
||||||
uniqListExt = {inputList, outputList ? [],
|
uniqListExt = { inputList,
|
||||||
getter ? (x : x), compare ? (x: y: x==y)}:
|
outputList ? [],
|
||||||
|
getter ? (x: x),
|
||||||
|
compare ? (x: y: x==y) }:
|
||||||
if inputList == [] then outputList else
|
if inputList == [] then outputList else
|
||||||
let x=head inputList;
|
let x = head inputList;
|
||||||
isX = y: (compare (getter y) (getter x));
|
isX = y: (compare (getter y) (getter x));
|
||||||
newOutputList = outputList ++
|
newOutputList = outputList ++
|
||||||
(if any isX outputList then [] else [x]);
|
(if any isX outputList then [] else [x]);
|
||||||
in uniqListExt {outputList=newOutputList;
|
in uniqListExt { outputList = newOutputList;
|
||||||
inputList = (tail inputList);
|
inputList = (tail inputList);
|
||||||
inherit getter compare;
|
inherit getter compare;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
condConcat = name: list: checker:
|
condConcat = name: list: checker:
|
||||||
if list == [] then name else
|
if list == [] then name else
|
||||||
if checker (head list) then
|
if checker (head list) then
|
||||||
condConcat
|
condConcat
|
||||||
(name + (head (tail list)))
|
(name + (head (tail list)))
|
||||||
(tail (tail list))
|
(tail (tail list))
|
||||||
checker
|
checker
|
||||||
else condConcat
|
else condConcat
|
||||||
name (tail (tail list)) checker;
|
name (tail (tail list)) checker;
|
||||||
@ -202,12 +202,12 @@ rec {
|
|||||||
in
|
in
|
||||||
work startSet [] [];
|
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);
|
innerModifySumArgs f x (a // b);
|
||||||
modifySumArgs = f: x: innerModifySumArgs f x {};
|
modifySumArgs = f: x: innerModifySumArgs f x {};
|
||||||
|
|
||||||
|
|
||||||
innerClosePropagation = acc : xs :
|
innerClosePropagation = acc: xs:
|
||||||
if xs == []
|
if xs == []
|
||||||
then acc
|
then acc
|
||||||
else let y = head xs;
|
else let y = head xs;
|
||||||
@ -227,31 +227,31 @@ rec {
|
|||||||
closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
|
closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
|
||||||
|
|
||||||
# calls a function (f attr value ) for each record item. returns a 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
|
# 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
|
# 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 (similar to mergeAttrsWithFunc but only merges the values of a particular name)
|
||||||
# setAttrMerge "a" [] { a = [2];} (x : x ++ [3]) -> { a = [2 3]; }
|
# setAttrMerge "a" [] { a = [2];} (x: x ++ [3]) -> { a = [2 3]; }
|
||||||
# setAttrMerge "a" [] { } (x : x ++ [3]) -> { a = [ 3]; }
|
# setAttrMerge "a" [] { } (x: x ++ [3]) -> { a = [ 3]; }
|
||||||
setAttrMerge = name : default : attrs : f :
|
setAttrMerge = name: default: attrs: f:
|
||||||
setAttr attrs name (f (maybeAttr name default attrs));
|
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
|
# merge attributes with custom function handling the case that the attribute
|
||||||
# exists in both sets
|
# exists in both sets
|
||||||
mergeAttrsWithFunc = f : set1 : set2 :
|
mergeAttrsWithFunc = f: set1: set2:
|
||||||
fold (n: set : if set ? ${n}
|
fold (n: set: if set ? ${n}
|
||||||
then setAttr set n (f set.${n} set2.${n})
|
then setAttr set n (f set.${n} set2.${n})
|
||||||
else set )
|
else set )
|
||||||
(set2 // set1) (attrNames set2);
|
(set2 // set1) (attrNames set2);
|
||||||
|
|
||||||
# merging two attribute set concatenating the values of same attribute names
|
# merging two attribute set concatenating the values of same attribute names
|
||||||
# eg { a = 7; } { a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
|
# 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
|
# merges attributes using //, if a name exisits in both attributes
|
||||||
# an error will be triggered unless its listed in mergeLists
|
# an error will be triggered unless its listed in mergeLists
|
||||||
@ -262,10 +262,10 @@ rec {
|
|||||||
# ! deprecated, use mergeAttrByFunc instead
|
# ! deprecated, use mergeAttrByFunc instead
|
||||||
mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
|
mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
|
||||||
overrideSnd ? [ "buildPhase" ]
|
overrideSnd ? [ "buildPhase" ]
|
||||||
} : attrs1 : attrs2 :
|
}: attrs1: attrs2:
|
||||||
fold (n: set :
|
fold (n: set:
|
||||||
setAttr set n ( if set ? ${n}
|
setAttr set n ( if set ? ${n}
|
||||||
then # merge
|
then # merge
|
||||||
if elem n mergeLists # attribute contains list, merge them by concatenating
|
if elem n mergeLists # attribute contains list, merge them by concatenating
|
||||||
then attrs2.${n} ++ attrs1.${n}
|
then attrs2.${n} ++ attrs1.${n}
|
||||||
else if elem n overrideSnd
|
else if elem n overrideSnd
|
||||||
@ -286,14 +286,14 @@ rec {
|
|||||||
# { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; }
|
# { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; }
|
||||||
# is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using
|
# is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using
|
||||||
# foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
|
# foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
|
||||||
mergeAttrByFunc = x : y :
|
mergeAttrByFunc = x: y:
|
||||||
let
|
let
|
||||||
mergeAttrBy2 = { mergeAttrBy=lib.mergeAttrs; }
|
mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
|
||||||
// (maybeAttr "mergeAttrBy" {} x)
|
// (maybeAttr "mergeAttrBy" {} x)
|
||||||
// (maybeAttr "mergeAttrBy" {} y); in
|
// (maybeAttr "mergeAttrBy" {} y); in
|
||||||
fold lib.mergeAttrs {} [
|
fold lib.mergeAttrs {} [
|
||||||
x y
|
x y
|
||||||
(mapAttrs ( a : v : # merge special names using given functions
|
(mapAttrs ( a: v: # merge special names using given functions
|
||||||
if x ? ${a}
|
if x ? ${a}
|
||||||
then if y ? ${a}
|
then if y ? ${a}
|
||||||
then v x.${a} y.${a} # both have attr, use merge func
|
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:
|
# 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
|
# { # version specific settings
|
||||||
# "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool]; };
|
# "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool]; };
|
||||||
# "2.x" = { src = ..; };
|
# "2.x" = { src = ..; };
|
||||||
@ -346,21 +346,24 @@ rec {
|
|||||||
# See misc.nix -> versionedDerivation
|
# See misc.nix -> versionedDerivation
|
||||||
# discussion: nixpkgs: pull/310
|
# discussion: nixpkgs: pull/310
|
||||||
mergeAttrsByVersion = name: version: attrsByVersion: base:
|
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)
|
# sane defaults (same name as attr name so that inherit can be used)
|
||||||
mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
|
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" ])
|
[ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
|
||||||
// listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
|
// 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 (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
|
||||||
;
|
;
|
||||||
|
|
||||||
# prepareDerivationArgs tries to make writing configurable derivations easier
|
# prepareDerivationArgs tries to make writing configurable derivations easier
|
||||||
# example:
|
# example:
|
||||||
# prepareDerivationArgs {
|
# prepareDerivationArgs {
|
||||||
# mergeAttrBy = {
|
# mergeAttrBy = {
|
||||||
# myScript = x : y : x ++ "\n" ++ y;
|
# myScript = x: y: x ++ "\n" ++ y;
|
||||||
# };
|
# };
|
||||||
# cfg = {
|
# cfg = {
|
||||||
# readlineSupport = true;
|
# readlineSupport = true;
|
||||||
@ -392,10 +395,10 @@ rec {
|
|||||||
# TODO use args.mergeFun here as well?
|
# TODO use args.mergeFun here as well?
|
||||||
prepareDerivationArgs = args:
|
prepareDerivationArgs = args:
|
||||||
let args2 = { cfg = {}; flags = {}; } // args;
|
let args2 = { cfg = {}; flags = {}; } // args;
|
||||||
flagName = name : "${name}Support";
|
flagName = name: "${name}Support";
|
||||||
cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags)))
|
cfgWithDefaults = (listToAttrs (map (n: nameValuePair (flagName n) false) (attrNames args2.flags)))
|
||||||
// args2.cfg;
|
// args2.cfg;
|
||||||
opts = attrValues (mapAttrs (a : v :
|
opts = attrValues (mapAttrs (a: v:
|
||||||
let v2 = if v ? set || v ? unset then v else { set = v; };
|
let v2 = if v ? set || v ? unset then v else { set = v; };
|
||||||
n = if cfgWithDefaults.${flagName a} then "set" else "unset";
|
n = if cfgWithDefaults.${flagName a} then "set" else "unset";
|
||||||
attr = maybeAttr n {} v2; in
|
attr = maybeAttr n {} v2; in
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
bjg = "Brian Gough <bjg@gnu.org>";
|
bjg = "Brian Gough <bjg@gnu.org>";
|
||||||
bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
|
bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
|
||||||
bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
|
bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
|
||||||
|
bobakker = "Bo Bakker <bobakk3r@gmail.com>";
|
||||||
bobvanderlinden = "Bob van der Linden <bobvanderlinden@gmail.com>";
|
bobvanderlinden = "Bob van der Linden <bobvanderlinden@gmail.com>";
|
||||||
bodil = "Bodil Stokke <nix@bodil.org>";
|
bodil = "Bodil Stokke <nix@bodil.org>";
|
||||||
boothead = "Ben Ford <ben@perurbis.com>";
|
boothead = "Ben Ford <ben@perurbis.com>";
|
||||||
@ -203,6 +204,7 @@
|
|||||||
havvy = "Ryan Scheel <ryan.havvy@gmail.com>";
|
havvy = "Ryan Scheel <ryan.havvy@gmail.com>";
|
||||||
hbunke = "Hendrik Bunke <bunke.hendrik@gmail.com>";
|
hbunke = "Hendrik Bunke <bunke.hendrik@gmail.com>";
|
||||||
hce = "Hans-Christian Esperer <hc@hcesperer.org>";
|
hce = "Hans-Christian Esperer <hc@hcesperer.org>";
|
||||||
|
heel = "Sergii Paryzhskyi <parizhskiy@gmail.com>";
|
||||||
henrytill = "Henry Till <henrytill@gmail.com>";
|
henrytill = "Henry Till <henrytill@gmail.com>";
|
||||||
hinton = "Tom Hinton <t@larkery.com>";
|
hinton = "Tom Hinton <t@larkery.com>";
|
||||||
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
|
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
|
||||||
|
@ -114,7 +114,7 @@ rec {
|
|||||||
/* Massage a module into canonical form, that is, a set consisting
|
/* Massage a module into canonical form, that is, a set consisting
|
||||||
of ‘options’, ‘config’ and ‘imports’ attributes. */
|
of ‘options’, ‘config’ and ‘imports’ attributes. */
|
||||||
unifyModuleSyntax = file: key: m:
|
unifyModuleSyntax = file: key: m:
|
||||||
let metaSet = if m ? meta
|
let metaSet = if m ? meta
|
||||||
then { meta = m.meta; }
|
then { meta = m.meta; }
|
||||||
else {};
|
else {};
|
||||||
in
|
in
|
||||||
@ -595,7 +595,7 @@ rec {
|
|||||||
functionality
|
functionality
|
||||||
|
|
||||||
This show a warning if any a.b.c or d.e.f is set, and set the value of
|
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:
|
mkMergedOptionModule = from: to: mergeFn:
|
||||||
{ config, options, ... }:
|
{ config, options, ... }:
|
||||||
@ -611,12 +611,12 @@ rec {
|
|||||||
let val = getAttrFromPath f config;
|
let val = getAttrFromPath f config;
|
||||||
opt = getAttrFromPath f options;
|
opt = getAttrFromPath f options;
|
||||||
in
|
in
|
||||||
optionalString
|
optionalString
|
||||||
(val != "_mkMergedOptionModule")
|
(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."
|
"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);
|
) from);
|
||||||
} // setAttrByPath to (mkMerge
|
} // setAttrByPath to (mkMerge
|
||||||
(optional
|
(optional
|
||||||
(any (f: (getAttrFromPath f config) != "_mkMergedOptionModule") from)
|
(any (f: (getAttrFromPath f config) != "_mkMergedOptionModule") from)
|
||||||
(mergeFn config)));
|
(mergeFn config)));
|
||||||
};
|
};
|
||||||
|
@ -80,7 +80,7 @@ runTests {
|
|||||||
y = x.merge {};
|
y = x.merge {};
|
||||||
in (y.merge) { a = 10; };
|
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; }; };
|
resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
|
||||||
x2 = x.merge { a = 20; }; # now we have 27
|
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)
|
# fixed tests (delayed args): (when using them add some comments, please)
|
||||||
resFixed1 =
|
resFixed1 =
|
||||||
let x = defaultOverridableDelayableArgs id ( x : { a = 7; c = x.fixed.b; });
|
let x = defaultOverridableDelayableArgs id ( x: { a = 7; c = x.fixed.b; });
|
||||||
y = x.merge (x : { name = "name-${builtins.toString x.fixed.c}"; });
|
y = x.merge (x: { name = "name-${builtins.toString x.fixed.c}"; });
|
||||||
in (y.merge) { b = 10; };
|
in (y.merge) { b = 10; };
|
||||||
strip = attrs : removeAttrs attrs ["merge" "replace"];
|
strip = attrs: removeAttrs attrs ["merge" "replace"];
|
||||||
in all id
|
in all id
|
||||||
[ ((strip res1) == { })
|
[ ((strip res1) == { })
|
||||||
((strip res2) == { a = 7; })
|
((strip res2) == { a = 7; })
|
||||||
|
@ -81,7 +81,7 @@ rec {
|
|||||||
# name: name of the type
|
# name: name of the type
|
||||||
# type: type function.
|
# type: type function.
|
||||||
# wrapped: the type wrapped in case of compound types.
|
# 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.
|
# combinable with the binOp binary operation.
|
||||||
# binOp: binary operation that merge two payloads of the same type.
|
# binOp: binary operation that merge two payloads of the same type.
|
||||||
functor ? defaultFunctor name
|
functor ? defaultFunctor name
|
||||||
|
@ -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
|
|
@ -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
|
|
@ -74,13 +74,13 @@ def cli(jobset):
|
|||||||
# TODO: dependency failed without propagated builds
|
# TODO: dependency failed without propagated builds
|
||||||
for tr in d('img[alt="Failed"]').parents('tr'):
|
for tr in d('img[alt="Failed"]').parents('tr'):
|
||||||
a = pq(tr)('a')[1]
|
a = pq(tr)('a')[1]
|
||||||
print "- [ ] [{}]({})".format(a.text, a.get('href'))
|
print("- [ ] [{}]({})".format(a.text, a.get('href')))
|
||||||
|
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
maintainers = get_maintainers(a.text)
|
maintainers = get_maintainers(a.text)
|
||||||
if maintainers:
|
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: 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?
|
# TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ foreach my $u (@{$spec->{users}}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Create a home directory.
|
# Create a home directory.
|
||||||
if ($u->{createHome} && ! -e $u->{home}) {
|
if ($u->{createHome}) {
|
||||||
make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
|
make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
|
||||||
chown $u->{uid}, $u->{gid}, $u->{home};
|
chown $u->{uid}, $u->{gid}, $u->{home};
|
||||||
}
|
}
|
||||||
|
30
nixos/modules/hardware/sensor/iio.nix
Normal file
30
nixos/modules/hardware/sensor/iio.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -29,6 +29,7 @@
|
|||||||
./hardware/ckb.nix
|
./hardware/ckb.nix
|
||||||
./hardware/cpu/amd-microcode.nix
|
./hardware/cpu/amd-microcode.nix
|
||||||
./hardware/cpu/intel-microcode.nix
|
./hardware/cpu/intel-microcode.nix
|
||||||
|
./hardware/sensor/iio.nix
|
||||||
./hardware/ksm.nix
|
./hardware/ksm.nix
|
||||||
./hardware/mcelog.nix
|
./hardware/mcelog.nix
|
||||||
./hardware/network/b43.nix
|
./hardware/network/b43.nix
|
||||||
@ -328,6 +329,7 @@
|
|||||||
./services/monitoring/prometheus/default.nix
|
./services/monitoring/prometheus/default.nix
|
||||||
./services/monitoring/prometheus/alertmanager.nix
|
./services/monitoring/prometheus/alertmanager.nix
|
||||||
./services/monitoring/prometheus/blackbox-exporter.nix
|
./services/monitoring/prometheus/blackbox-exporter.nix
|
||||||
|
./services/monitoring/prometheus/fritzbox-exporter.nix
|
||||||
./services/monitoring/prometheus/json-exporter.nix
|
./services/monitoring/prometheus/json-exporter.nix
|
||||||
./services/monitoring/prometheus/nginx-exporter.nix
|
./services/monitoring/prometheus/nginx-exporter.nix
|
||||||
./services/monitoring/prometheus/node-exporter.nix
|
./services/monitoring/prometheus/node-exporter.nix
|
||||||
|
@ -312,7 +312,7 @@
|
|||||||
Overflows in boot critical code (e.g., the root filesystem module) can
|
Overflows in boot critical code (e.g., the root filesystem module) can
|
||||||
render the system unbootable. Work around by setting
|
render the system unbootable. Work around by setting
|
||||||
<programlisting>
|
<programlisting>
|
||||||
boot.kernel.kernelParams = [ "pax_size_overflow_report_only" ];
|
boot.kernelParams = [ "pax_size_overflow_report_only" ];
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
|
|
||||||
|
@ -4,20 +4,29 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.couchdb;
|
cfg = config.services.couchdb;
|
||||||
configFile = pkgs.writeText "couchdb.ini"
|
useVersion2 = strings.versionAtLeast (strings.getVersion cfg.package) "2.0";
|
||||||
|
configFile = pkgs.writeText "couchdb.ini" (
|
||||||
''
|
''
|
||||||
[couchdb]
|
[couchdb]
|
||||||
database_dir = ${cfg.databaseDir}
|
database_dir = ${cfg.databaseDir}
|
||||||
uri_file = ${cfg.uriFile}
|
uri_file = ${cfg.uriFile}
|
||||||
view_index_dir = ${cfg.viewIndexDir}
|
view_index_dir = ${cfg.viewIndexDir}
|
||||||
|
'' + (if useVersion2 then
|
||||||
|
''
|
||||||
|
[chttpd]
|
||||||
|
'' else
|
||||||
|
''
|
||||||
[httpd]
|
[httpd]
|
||||||
|
'') +
|
||||||
|
''
|
||||||
port = ${toString cfg.port}
|
port = ${toString cfg.port}
|
||||||
bind_address = ${cfg.bindAddress}
|
bind_address = ${cfg.bindAddress}
|
||||||
|
|
||||||
[log]
|
[log]
|
||||||
file = ${cfg.logFile}
|
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 {
|
in {
|
||||||
|
|
||||||
@ -130,7 +139,6 @@ in {
|
|||||||
|
|
||||||
configFile = mkOption {
|
configFile = mkOption {
|
||||||
type = types.string;
|
type = types.string;
|
||||||
default = "/var/lib/couchdb/couchdb.ini";
|
|
||||||
description = ''
|
description = ''
|
||||||
Configuration file for persisting runtime changes. File
|
Configuration file for persisting runtime changes. File
|
||||||
needs to be readable and writable from couchdb user/group.
|
needs to be readable and writable from couchdb user/group.
|
||||||
@ -147,6 +155,9 @@ in {
|
|||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
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 = {
|
systemd.services.couchdb = {
|
||||||
description = "CouchDB Server";
|
description = "CouchDB Server";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
@ -170,11 +181,20 @@ in {
|
|||||||
fi
|
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 = {
|
serviceConfig = {
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}";
|
ExecStart = executable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ let
|
|||||||
footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}";
|
footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}";
|
||||||
createList = d: l: ''
|
createList = d: l: ''
|
||||||
${pkgs.coreutils}/bin/mkdir -p ${listCtl 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 "${lib.concatStringsSep "\n" (customHeaders d l)}" > ${listCtl d l}/customheaders
|
||||||
echo ${footer d l} > ${listCtl d l}/footer
|
echo ${footer d l} > ${listCtl d l}/footer
|
||||||
echo ${subjectPrefix l} > ${listCtl d l}/prefix
|
echo ${subjectPrefix l} > ${listCtl d l}/prefix
|
||||||
|
@ -41,7 +41,7 @@ let
|
|||||||
|
|
||||||
entry = "${manual.manual}/share/doc/nixos/index.html";
|
entry = "${manual.manual}/share/doc/nixos/index.html";
|
||||||
|
|
||||||
help = pkgs.writeScriptBin "nixos-help"
|
helpScript = pkgs.writeScriptBin "nixos-help"
|
||||||
''
|
''
|
||||||
#! ${pkgs.stdenv.shell} -e
|
#! ${pkgs.stdenv.shell} -e
|
||||||
browser="$BROWSER"
|
browser="$BROWSER"
|
||||||
@ -58,6 +58,15 @@ let
|
|||||||
exec "$browser" ${entry}
|
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
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -105,7 +114,8 @@ in
|
|||||||
system.build.manual = manual;
|
system.build.manual = manual;
|
||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[ manual.manual help ]
|
[ manual.manual helpScript ]
|
||||||
|
++ optional config.services.xserver.enable desktopItem
|
||||||
++ optional config.programs.man.enable manual.manpages;
|
++ optional config.programs.man.enable manual.manpages;
|
||||||
|
|
||||||
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
|
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
|
||||||
|
@ -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}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -2,14 +2,10 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
apparmorEnabled = config.security.apparmor.enable;
|
|
||||||
|
|
||||||
cfg = config.services.dnscrypt-proxy;
|
cfg = config.services.dnscrypt-proxy;
|
||||||
|
|
||||||
stateDirectory = "/var/lib/dnscrypt-proxy";
|
stateDirectory = "/var/lib/dnscrypt-proxy";
|
||||||
|
|
||||||
localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
|
|
||||||
|
|
||||||
# The minisign public key used to sign the upstream resolver list.
|
# The minisign public key used to sign the upstream resolver list.
|
||||||
# This is somewhat more flexible than preloading the key as an
|
# This is somewhat more flexible than preloading the key as an
|
||||||
# embedded string.
|
# embedded string.
|
||||||
@ -18,31 +14,33 @@ let
|
|||||||
sha256 = "18lnp8qr6ghfc2sd46nn1rhcpr324fqlvgsp4zaigw396cd7vnnh";
|
sha256 = "18lnp8qr6ghfc2sd46nn1rhcpr324fqlvgsp4zaigw396cd7vnnh";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Internal flag indicating whether the upstream resolver list is used
|
# Internal flag indicating whether the upstream resolver list is used.
|
||||||
useUpstreamResolverList = cfg.resolverList == null && cfg.customResolver == null;
|
useUpstreamResolverList = cfg.customResolver == null;
|
||||||
|
|
||||||
resolverList =
|
# The final local address.
|
||||||
if (cfg.resolverList != null)
|
localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
|
||||||
then cfg.resolverList
|
|
||||||
else "${stateDirectory}/dnscrypt-resolvers.csv";
|
|
||||||
|
|
||||||
resolverArgs = if (cfg.customResolver != null)
|
# The final resolvers list path.
|
||||||
then
|
resolverList = "${stateDirectory}/dnscrypt-resolvers.csv";
|
||||||
[ "--resolver-address=${cfg.customResolver.address}:${toString cfg.customResolver.port}"
|
|
||||||
"--provider-name=${cfg.customResolver.name}"
|
# Build daemon command line
|
||||||
"--provider-key=${cfg.customResolver.key}"
|
|
||||||
]
|
resolverArgs =
|
||||||
else
|
if (cfg.customResolver == null)
|
||||||
[ "--resolvers-list=${resolverList}"
|
then
|
||||||
"--resolver-name=${cfg.resolverName}"
|
[ "-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 =
|
daemonArgs =
|
||||||
[ "--local-address=${localAddress}" ]
|
[ "-a ${localAddress}" ]
|
||||||
++ optional cfg.tcpOnly "--tcp-only"
|
++ resolverArgs
|
||||||
++ optional cfg.ephemeralKeys "-E"
|
++ cfg.extraArgs;
|
||||||
++ resolverArgs;
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -52,6 +50,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
# Before adding another option, consider whether it could
|
||||||
|
# equally well be passed via extraArgs.
|
||||||
|
|
||||||
services.dnscrypt-proxy = {
|
services.dnscrypt-proxy = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
@ -84,19 +85,11 @@ in
|
|||||||
default = "dnscrypt.eu-nl";
|
default = "dnscrypt.eu-nl";
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
description = ''
|
description = ''
|
||||||
The name of the upstream DNSCrypt resolver to use, taken from
|
The name of the DNSCrypt resolver to use, taken from
|
||||||
<filename>${resolverList}</filename>. The default resolver is
|
<filename>${resolverList}</filename>. The default
|
||||||
located in Holland, supports DNS security extensions, and
|
resolver is located in Holland, supports DNS security
|
||||||
<emphasis>claims</emphasis> to not keep logs.
|
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.
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -133,25 +126,15 @@ in
|
|||||||
}; }));
|
}; }));
|
||||||
};
|
};
|
||||||
|
|
||||||
tcpOnly = mkOption {
|
extraArgs = mkOption {
|
||||||
default = false;
|
default = [];
|
||||||
type = types.bool;
|
type = types.listOf types.str;
|
||||||
description = ''
|
description = ''
|
||||||
Force sending encrypted DNS queries to the upstream resolver over
|
Additional command-line arguments passed verbatim to the daemon.
|
||||||
TCP instead of UDP (on port 443). Use only if the UDP port is blocked.
|
See <citerefentry><refentrytitle>dnscrypt-proxy</refentrytitle>
|
||||||
'';
|
<manvolnum>8</manvolnum></citerefentry> for details.
|
||||||
};
|
|
||||||
|
|
||||||
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.
|
|
||||||
'';
|
'';
|
||||||
|
example = [ "-X libdcplugin_example_cache.so,--min-ttl=60" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -187,16 +170,13 @@ in
|
|||||||
documentation = [ "man:dnscrypt-proxy(8)" ];
|
documentation = [ "man:dnscrypt-proxy(8)" ];
|
||||||
|
|
||||||
before = [ "nss-lookup.target" ];
|
before = [ "nss-lookup.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
after = [ "network.target" ]
|
requires = [ "dnscrypt-proxy.socket "];
|
||||||
++ optional apparmorEnabled "apparmor.service";
|
|
||||||
|
|
||||||
requires = [ "dnscrypt-proxy.socket "]
|
|
||||||
++ optional apparmorEnabled "apparmor.service";
|
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
NonBlocking = "true";
|
NonBlocking = "true";
|
||||||
ExecStart = "${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
|
ExecStart = "${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
|
||||||
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
|
|
||||||
User = "dnscrypt-proxy";
|
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" ''
|
security.apparmor.profiles = singleton (pkgs.writeText "apparmor-dnscrypt-proxy" ''
|
||||||
${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy {
|
${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy {
|
||||||
/dev/null rw,
|
/dev/null rw,
|
||||||
@ -272,15 +254,18 @@ in
|
|||||||
path = with pkgs; [ curl diffutils dnscrypt-proxy minisign ];
|
path = with pkgs; [ curl diffutils dnscrypt-proxy minisign ];
|
||||||
script = ''
|
script = ''
|
||||||
cd ${stateDirectory}
|
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="curl -fSs --resolve $domain:443:$(hostip -r 8.8.8.8 $domain | head -1)"
|
||||||
$get -o dnscrypt-resolvers.csv.tmp \
|
$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 \
|
$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,}
|
mv dnscrypt-resolvers.csv.minisig{.tmp,}
|
||||||
minisign -q -V -p ${upstreamResolverListPubKey} \
|
if ! minisign -q -V -p ${upstreamResolverListPubKey} \
|
||||||
-m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig
|
-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}
|
[[ -f dnscrypt-resolvers.csv ]] && mv dnscrypt-resolvers.csv{,.old}
|
||||||
mv dnscrypt-resolvers.csv{.tmp,}
|
mv dnscrypt-resolvers.csv{.tmp,}
|
||||||
if cmp dnscrypt-resolvers.csv{,.old} ; then
|
if cmp dnscrypt-resolvers.csv{,.old} ; then
|
||||||
@ -312,5 +297,24 @@ in
|
|||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
(mkRenamedOptionModule [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ])
|
(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.
|
||||||
|
'')
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -26,17 +26,7 @@ in
|
|||||||
This will switch to a new virtual terminal, turn off console
|
This will switch to a new virtual terminal, turn off console
|
||||||
switching and disable SysRq mechanism (when
|
switching and disable SysRq mechanism (when
|
||||||
<option>services.physlock.disableSysRq</option> is set)
|
<option>services.physlock.disableSysRq</option> is set)
|
||||||
until the root or <option>services.physlock.user</option>
|
until the root or user password is given.
|
||||||
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.
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -105,7 +95,7 @@ in
|
|||||||
++ cfg.lockOn.extraTargets;
|
++ cfg.lockOn.extraTargets;
|
||||||
serviceConfig.Type = "forking";
|
serviceConfig.Type = "forking";
|
||||||
script = ''
|
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"}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
23
nixos/modules/services/web-apps/pump.io-configure.js
Normal file
23
nixos/modules/services/web-apps/pump.io-configure.js
Normal 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));
|
@ -5,71 +5,74 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.pumpio;
|
cfg = config.services.pumpio;
|
||||||
dataDir = "/var/lib/pump.io";
|
dataDir = "/var/lib/pump.io";
|
||||||
|
runDir = "/run/pump.io";
|
||||||
user = "pumpio";
|
user = "pumpio";
|
||||||
|
|
||||||
|
optionalSet = condition: value: if condition then value else {};
|
||||||
|
|
||||||
|
configScript = ./pump.io-configure.js;
|
||||||
configOptions = {
|
configOptions = {
|
||||||
driver = if cfg.driver == "disk" then null else cfg.driver;
|
outputFile = "${runDir}/config.json";
|
||||||
params = ({ } //
|
config =
|
||||||
(if cfg.driver == "disk" then {
|
(optionalSet (cfg.driver != "disk") {
|
||||||
dir = dataDir;
|
driver = cfg.driver;
|
||||||
} else { }) //
|
}) //
|
||||||
(if cfg.driver == "mongodb" || cfg.driver == "redis" then {
|
{
|
||||||
host = cfg.dbHost;
|
params = (optionalSet (cfg.driver == "disk") { dir = dataDir; }) //
|
||||||
port = cfg.dbPort;
|
(optionalSet (cfg.driver == "mongodb" || cfg.driver == "redis") {
|
||||||
dbname = cfg.dbName;
|
host = cfg.dbHost;
|
||||||
dbuser = cfg.dbUser;
|
port = cfg.dbPort;
|
||||||
dbpass = cfg.dbPassword;
|
dbname = cfg.dbName;
|
||||||
} else { }) //
|
dbuser = cfg.dbUser;
|
||||||
(if cfg.driver == "memcached" then {
|
dbpass = cfg.dbPassword;
|
||||||
host = cfg.dbHost;
|
}) //
|
||||||
port = cfg.dbPort;
|
(optionalSet (cfg.driver == "memcached") {
|
||||||
} else { }) //
|
host = cfg.dbHost;
|
||||||
cfg.driverParams);
|
port = cfg.dbPort;
|
||||||
|
}) // cfg.driverParams;
|
||||||
|
secret = cfg.secret;
|
||||||
|
|
||||||
secret = cfg.secret;
|
address = cfg.address;
|
||||||
|
port = cfg.port;
|
||||||
|
|
||||||
address = cfg.address;
|
noweb = false;
|
||||||
port = cfg.port;
|
urlPort = cfg.urlPort;
|
||||||
|
hostname = cfg.hostname;
|
||||||
|
favicon = cfg.favicon;
|
||||||
|
|
||||||
noweb = false;
|
site = cfg.site;
|
||||||
urlPort = cfg.urlPort;
|
owner = cfg.owner;
|
||||||
hostname = cfg.hostname;
|
ownerURL = cfg.ownerURL;
|
||||||
favicon = cfg.favicon;
|
|
||||||
|
|
||||||
site = cfg.site;
|
key = cfg.sslKey;
|
||||||
owner = cfg.owner;
|
cert = cfg.sslCert;
|
||||||
ownerURL = cfg.ownerURL;
|
bounce = false;
|
||||||
|
|
||||||
key = cfg.sslKey;
|
spamhost = cfg.spamHost;
|
||||||
cert = cfg.sslCert;
|
spamclientid = cfg.spamClientId;
|
||||||
bounce = false;
|
spamclientsecret = cfg.spamClientSecret;
|
||||||
|
|
||||||
spamhost = cfg.spamHost;
|
requireEmail = cfg.requireEmail;
|
||||||
spamclientid = cfg.spamClientId;
|
smtpserver = cfg.smtpHost;
|
||||||
spamclientsecret = cfg.spamClientSecret;
|
smtpport = cfg.smtpPort;
|
||||||
|
smtpuser = cfg.smtpUser;
|
||||||
|
smtppass = cfg.smtpPassword;
|
||||||
|
smtpusessl = cfg.smtpUseSSL;
|
||||||
|
smtpfrom = cfg.smtpFrom;
|
||||||
|
|
||||||
requireEmail = cfg.requireEmail;
|
nologger = false;
|
||||||
smtpserver = cfg.smtpHost;
|
enableUploads = cfg.enableUploads;
|
||||||
smtpport = cfg.smtpPort;
|
datadir = dataDir;
|
||||||
smtpuser = cfg.smtpUser;
|
debugClient = false;
|
||||||
smtppass = cfg.smtpPassword;
|
firehose = cfg.firehose;
|
||||||
smtpusessl = cfg.smtpUseSSL;
|
disableRegistration = cfg.disableRegistration;
|
||||||
smtpfrom = cfg.smtpFrom;
|
|
||||||
|
|
||||||
nologger = false;
|
inherit (cfg) secretFile dbPasswordFile smtpPasswordFile spamClientSecretFile;
|
||||||
uploaddir = "${dataDir}/uploads";
|
} //
|
||||||
debugClient = false;
|
(optionalSet (cfg.port < 1024) {
|
||||||
firehose = cfg.firehose;
|
serverUser = user; # have pump.io listen then drop privileges
|
||||||
disableRegistration = cfg.disableRegistration;
|
}) // cfg.extraConfig;
|
||||||
} //
|
}; in {
|
||||||
(if cfg.port < 1024 then {
|
|
||||||
serverUser = user; # have pump.io listen then drop privileges
|
|
||||||
} else { }) //
|
|
||||||
cfg.extraConfig;
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
services.pumpio = {
|
services.pumpio = {
|
||||||
@ -77,7 +80,8 @@ in
|
|||||||
enable = mkEnableOption "Pump.io social streams server";
|
enable = mkEnableOption "Pump.io social streams server";
|
||||||
|
|
||||||
secret = mkOption {
|
secret = mkOption {
|
||||||
type = types.str;
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
example = "my dog has fleas";
|
example = "my dog has fleas";
|
||||||
description = ''
|
description = ''
|
||||||
A session-generating secret, server-wide password. Warning:
|
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 {
|
site = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = "Awesome Sauce";
|
example = "Awesome Sauce";
|
||||||
@ -125,7 +139,7 @@ in
|
|||||||
|
|
||||||
hostname = mkOption {
|
hostname = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = "localhost";
|
||||||
description = ''
|
description = ''
|
||||||
The hostname of the server, used for generating
|
The hostname of the server, used for generating
|
||||||
URLs. Defaults to "localhost" which doesn't do much for you.
|
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 {
|
sslKey = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
example = "${dataDir}/myserver.key";
|
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 {
|
smtpHost = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
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 {
|
smtpUseSSL = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@ -332,24 +375,55 @@ in
|
|||||||
stored in cleartext in the Nix store!
|
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 {
|
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" =
|
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" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.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" = {
|
preStart = ''
|
||||||
mode = "0440";
|
mkdir -p ${dataDir}/uploads
|
||||||
gid = config.ids.gids.pumpio;
|
mkdir -p ${runDir}
|
||||||
text = builtins.toJSON configOptions;
|
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;
|
users.extraGroups.pumpio.gid = config.ids.gids.pumpio;
|
||||||
|
@ -4,11 +4,6 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
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
|
# Our bare-bones wp-config.php file using the above settings
|
||||||
wordpressConfig = pkgs.writeText "wp-config.php" ''
|
wordpressConfig = pkgs.writeText "wp-config.php" ''
|
||||||
<?php
|
<?php
|
||||||
@ -71,12 +66,7 @@ let
|
|||||||
# The wordpress package itself
|
# The wordpress package itself
|
||||||
wordpressRoot = pkgs.stdenv.mkDerivation rec {
|
wordpressRoot = pkgs.stdenv.mkDerivation rec {
|
||||||
name = "wordpress";
|
name = "wordpress";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = config.package;
|
||||||
owner = "WordPress";
|
|
||||||
repo = "WordPress";
|
|
||||||
rev = "${fullversion}";
|
|
||||||
sha256 = "0vph12708drf8ww0xd05hpdvbyy7n5gj9ca598lhdhy2i1j6wy32";
|
|
||||||
};
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
# copy all the wordpress files we downloaded
|
# copy all the wordpress files we downloaded
|
||||||
@ -122,6 +112,14 @@ in
|
|||||||
enablePHP = true;
|
enablePHP = true;
|
||||||
|
|
||||||
options = {
|
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 {
|
dbHost = mkOption {
|
||||||
default = "localhost";
|
default = "localhost";
|
||||||
description = "The location of the database server.";
|
description = "The location of the database server.";
|
||||||
|
@ -25,7 +25,7 @@ in
|
|||||||
|
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
default = false;
|
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 {
|
tempDir = mkOption {
|
||||||
|
@ -434,8 +434,8 @@ in
|
|||||||
chmod +x $out/bin/cryptsetup-askpass
|
chmod +x $out/bin/cryptsetup-askpass
|
||||||
|
|
||||||
${optionalString luks.yubikeySupport ''
|
${optionalString luks.yubikeySupport ''
|
||||||
copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp
|
copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykchalresp
|
||||||
copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo
|
copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykinfo
|
||||||
copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl
|
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
|
cc -O3 -I${pkgs.openssl.dev}/include -L${pkgs.openssl.out}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
|
||||||
|
@ -71,6 +71,7 @@ in
|
|||||||
environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
|
environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
|
||||||
environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
|
environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
|
||||||
environment.etc."lxc/default.conf".text = cfg.defaultConfig;
|
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.packages = [ pkgs.lxc ];
|
||||||
security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];
|
security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
|
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
|
||||||
, stableBranch ? false
|
, stableBranch ? false
|
||||||
, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
|
, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
|
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
|
||||||
, stableBranch ? false
|
, stableBranch ? false
|
||||||
, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
|
, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with import ../lib;
|
with import ../lib;
|
||||||
|
@ -51,16 +51,6 @@ import ./make-test.nix ({ pkgs, ...} : let
|
|||||||
Vd5WD2HJhLb9u0UxVp9vfWIUDgydopV5ZmWCQ5YvNepb1w==
|
Vd5WD2HJhLb9u0UxVp9vfWIUDgydopV5ZmWCQ5YvNepb1w==
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makePump = { opts ? { } }:
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
|
|
||||||
sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
|
|
||||||
secret = "test";
|
|
||||||
site = "test";
|
|
||||||
} // opts;
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
name = "pumpio";
|
name = "pumpio";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
@ -72,9 +62,14 @@ in {
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
pumpio = makePump { opts = {
|
pumpio = {
|
||||||
port = 443;
|
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.enable = true;
|
||||||
mongodb.extraConfig = ''
|
mongodb.extraConfig = ''
|
||||||
storage.journal.enabled: false
|
storage.journal.enabled: false
|
||||||
|
@ -10,14 +10,10 @@ import ./make-test.nix ({ pkgs, ... }:
|
|||||||
{ web =
|
{ web =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
services.mysql.enable = true;
|
services.mysql = {
|
||||||
services.mysql.package = pkgs.mysql;
|
enable = true;
|
||||||
services.mysql.initialScript = pkgs.writeText "start.sql" ''
|
package = pkgs.mysql;
|
||||||
CREATE DATABASE wordpress;
|
};
|
||||||
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';
|
|
||||||
GRANT ALL on wordpress.* TO 'wordpress'@'localhost';
|
|
||||||
'';
|
|
||||||
|
|
||||||
services.httpd = {
|
services.httpd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
logPerVirtualHost = true;
|
logPerVirtualHost = true;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, cmake, libsndfile, flex, bison
|
{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost
|
||||||
, alsaLib ? null
|
, alsaLib ? null
|
||||||
, libpulseaudio ? null
|
, libpulseaudio ? null
|
||||||
, tcltk ? null
|
, tcltk ? null
|
||||||
@ -11,26 +11,30 @@
|
|||||||
# , wiiuse ? null
|
# , wiiuse ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "csound-6.04";
|
name = "csound-6.08.1";
|
||||||
|
version = "6.08.1";
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = mirror://sourceforge/csound/Csound6.04.tar.gz;
|
owner = "csound";
|
||||||
sha256 = "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g";
|
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";
|
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/;
|
homepage = http://www.csounds.com/;
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [stdenv.lib.maintainers.marcweber];
|
maintainers = [maintainers.marcweber];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
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";
|
sha256 = "0l008x06d257vcw6gq3q90hvv93cq6mxpj11by1np6bzzg61qv8x";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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? */
|
11
pkgs/applications/audio/yasr/20_maxpathlen
Normal file
11
pkgs/applications/audio/yasr/20_maxpathlen
Normal 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)
|
||||||
|
{
|
18
pkgs/applications/audio/yasr/30_conf
Normal file
18
pkgs/applications/audio/yasr/30_conf
Normal 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
|
14
pkgs/applications/audio/yasr/40_dectalk_extended_chars
Normal file
14
pkgs/applications/audio/yasr/40_dectalk_extended_chars
Normal 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;
|
28
pkgs/applications/audio/yasr/default.nix
Normal file
28
pkgs/applications/audio/yasr/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -3,11 +3,11 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "bluefish-2.2.9";
|
name = "bluefish-2.2.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
|
url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
|
||||||
sha256 = "1l7pg6h485yj84i34jr09y8qzc1yr4ih6w5jdhmnrg156db7nwav";
|
sha256 = "1ciygj79q6i3ga5x1j8aivc05nh6rhhnm7hrq8q8xd9vd4ms3v5g";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
|
nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
|
||||||
|
@ -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 }:
|
{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
|
||||||
|
|
||||||
@ -15,7 +17,10 @@ stdenv.mkDerivation rec {
|
|||||||
categories = "Application;Development;";
|
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 = ''
|
buildCommand = ''
|
||||||
# Unpack tarball.
|
# Unpack tarball.
|
||||||
@ -37,6 +42,7 @@ stdenv.mkDerivation rec {
|
|||||||
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
||||||
--prefix PATH : ${jdk}/bin \
|
--prefix PATH : ${jdk}/bin \
|
||||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2)} \
|
--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"
|
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
|
||||||
|
|
||||||
# Create desktop item.
|
# Create desktop item.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
|
{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
|
||||||
, freetype, fontconfig, libX11, libXext, libXrender, zlib
|
, freetype, fontconfig, libX11, libXext, libXrender, zlib
|
||||||
, glib, gtk2, libXtst, jdk
|
, glib, gtk2, libXtst, jdk, gsettings_desktop_schemas
|
||||||
, webkitgtk2 ? null # for internal web browser
|
, webkitgtk2 ? null # for internal web browser
|
||||||
, buildEnv, writeText, runCommand
|
, buildEnv, writeText, runCommand
|
||||||
, callPackage
|
, callPackage
|
||||||
@ -12,7 +12,8 @@ rec {
|
|||||||
|
|
||||||
buildEclipse = import ./build-eclipse.nix {
|
buildEclipse = import ./build-eclipse.nix {
|
||||||
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
|
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
|
||||||
jdk glib gtk2 libXtst webkitgtk2 makeWrapper;
|
jdk glib gtk2 libXtst gsettings_desktop_schemas webkitgtk2
|
||||||
|
makeWrapper;
|
||||||
};
|
};
|
||||||
|
|
||||||
### Eclipse CPP
|
### Eclipse CPP
|
||||||
|
@ -645,10 +645,10 @@
|
|||||||
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
|
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "el-search";
|
pname = "el-search";
|
||||||
version = "1.2.3";
|
version = "1.3";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/el-search-1.2.3.tar";
|
url = "https://elpa.gnu.org/packages/el-search-1.3.tar";
|
||||||
sha256 = "1d7iqr4fr0kr171fnjcm2n0bgcwzdh6jl585mwjf2zqnqszv13h0";
|
sha256 = "0hg7jppdsaxy285bdaban1i096bjx21pqmczz7w9f3nr34n28pyn";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs stream ];
|
packageRequires = [ emacs stream ];
|
||||||
meta = {
|
meta = {
|
||||||
@ -821,10 +821,10 @@
|
|||||||
gnorb = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
gnorb = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "gnorb";
|
pname = "gnorb";
|
||||||
version = "1.1.2";
|
version = "1.1.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/gnorb-1.1.2.tar";
|
url = "https://elpa.gnu.org/packages/gnorb-1.1.5.tar";
|
||||||
sha256 = "18d5wdv33lcg96m3ljnv9zn98in27apm7bjycgq0asd2f31dvcvx";
|
sha256 = "128ag8zkfxspf6szxfd7dcscm1zzzcibx7p9dpbpk036cr7m5i1p";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib ];
|
packageRequires = [ cl-lib ];
|
||||||
meta = {
|
meta = {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1477,6 +1477,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
anzu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "anzu";
|
pname = "anzu";
|
||||||
@ -2284,12 +2305,12 @@
|
|||||||
base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "base16-theme";
|
pname = "base16-theme";
|
||||||
version = "2.0";
|
version = "2.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "belak";
|
owner = "belak";
|
||||||
repo = "base16-emacs";
|
repo = "base16-emacs";
|
||||||
rev = "b50e90a39344402d169b8fdd5d18cc43fb16a256";
|
rev = "f6d3d45a88d8fa2d70eaa26d8ebcef741b370dd1";
|
||||||
sha256 = "13b9ccm7yw95zc8v8sri762fgqdp2hp107nj5b40yv90g3y4fwby";
|
sha256 = "19jbvz07qc325mqdzk0q1ycvpibndw0mb7s7bpr0f0nblla0l0sv";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
|
||||||
@ -4458,12 +4479,12 @@
|
|||||||
company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "company-ansible";
|
pname = "company-ansible";
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "krzysztof-magosa";
|
owner = "krzysztof-magosa";
|
||||||
repo = "company-ansible";
|
repo = "company-ansible";
|
||||||
rev = "2e3264670c861ecbe862f7618241367ab497b5ff";
|
rev = "f08c19e95e67c852512c30b6825dae3dbd3005a0";
|
||||||
sha256 = "0a0pb3amsxj6m8ka12ny1w9qjy3dg7vsxdsy1wg3qzanj2pdsk4l";
|
sha256 = "0qypfla1j7c34syphh21nyswr363v6vwi87614wx9d1rz5v4h24n";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
|
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 }:
|
copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "copy-as-format";
|
pname = "copy-as-format";
|
||||||
version = "0.0.4";
|
version = "0.0.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sshaw";
|
owner = "sshaw";
|
||||||
repo = "copy-as-format";
|
repo = "copy-as-format";
|
||||||
rev = "a77b914ba99729ef618e9e86543da24a46be315a";
|
rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
|
||||||
sha256 = "181d0fxzy228vvgjmfhfnxh9djyjhq4bpf4lklv0mxhzay03pzdx";
|
sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
|
||||||
@ -5721,22 +5742,22 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "darktooth-theme";
|
pname = "darktooth-theme";
|
||||||
version = "0.2.100";
|
version = "0.3.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "emacsfodder";
|
owner = "emacsfodder";
|
||||||
repo = "emacs-theme-darktooth";
|
repo = "emacs-theme-darktooth";
|
||||||
rev = "380fdcff12f44faf099bc5a38984d88784b495a2";
|
rev = "dde50661210d8610cd03526a6c9a922bb0e494a6";
|
||||||
sha256 = "1pragypiv59rrvq2xjzmldkf1v007viwwcvr3f5iyv31n0bmd0cn";
|
sha256 = "1mab28rm175ylg17ziha2kndcqb9a23f8wrpydypa8k7iirhadp6";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
|
||||||
sha256 = "1vss0mg1vz4wvsal1r0ya8lid2c18ig11ip5v9nc80b5slbixzvs";
|
sha256 = "1vss0mg1vz4wvsal1r0ya8lid2c18ig11ip5v9nc80b5slbixzvs";
|
||||||
name = "darktooth-theme";
|
name = "darktooth-theme";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [ autothemer ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://melpa.org/#/darktooth-theme";
|
homepage = "https://melpa.org/#/darktooth-theme";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
@ -6349,6 +6370,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "dired-icon";
|
pname = "dired-icon";
|
||||||
@ -6496,6 +6538,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
direx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "direx";
|
pname = "direx";
|
||||||
@ -8099,12 +8162,12 @@
|
|||||||
elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "elmacro";
|
pname = "elmacro";
|
||||||
version = "1.0.1";
|
version = "1.1.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Silex";
|
owner = "Silex";
|
||||||
repo = "elmacro";
|
repo = "elmacro";
|
||||||
rev = "d712c8efc01646117097e061e1b14933b822b9c7";
|
rev = "9ed19a362b63d9c7436a78feb91bc694194cfefe";
|
||||||
sha256 = "00fry1gjsrx4dv9d9rjf5pd8w3709mn0052al0l948vhwz4wys9z";
|
sha256 = "00qqa9p9z50gxna4qrsvph4nj41gldl1qj210ywk3lgwn0jjm0k9";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
|
||||||
@ -9419,6 +9482,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
espuds = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "espuds";
|
pname = "espuds";
|
||||||
@ -9947,12 +10031,12 @@
|
|||||||
evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "evil-nerd-commenter";
|
pname = "evil-nerd-commenter";
|
||||||
version = "3.0.1";
|
version = "3.0.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "redguardtoo";
|
owner = "redguardtoo";
|
||||||
repo = "evil-nerd-commenter";
|
repo = "evil-nerd-commenter";
|
||||||
rev = "7c274dbb7ed4102ee06b998fa6f529c0f816fe9d";
|
rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03";
|
||||||
sha256 = "0997szqya4ljjgmsx1w9zbj6h21wq6l46qk1bs0027zvqwcylsv8";
|
sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
|
||||||
@ -12647,12 +12731,12 @@
|
|||||||
gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "gams-mode";
|
pname = "gams-mode";
|
||||||
version = "6.1.2";
|
version = "6.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ShiroTakeda";
|
owner = "ShiroTakeda";
|
||||||
repo = "gams-mode";
|
repo = "gams-mode";
|
||||||
rev = "a803f9e4509b8f8fed17ef25737d941bbe846c96";
|
rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
|
||||||
sha256 = "1avbdfw3hvwqnrlg3hv8p64m9gqgvwl9ggqzn6rhxh1zlr7i5cwy";
|
sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
|
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 }:
|
git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "git-commit";
|
pname = "git-commit";
|
||||||
version = "2.10.2";
|
version = "2.10.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magit";
|
owner = "magit";
|
||||||
repo = "magit";
|
repo = "magit";
|
||||||
rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
|
rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
|
||||||
sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
|
sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
|
||||||
@ -16306,6 +16390,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
helm-unicode = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "helm-unicode";
|
pname = "helm-unicode";
|
||||||
@ -17170,12 +17275,12 @@
|
|||||||
ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ido-completing-read-plus";
|
pname = "ido-completing-read-plus";
|
||||||
version = "3.14";
|
version = "3.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "DarwinAwardWinner";
|
owner = "DarwinAwardWinner";
|
||||||
repo = "ido-ubiquitous";
|
repo = "ido-ubiquitous";
|
||||||
rev = "397a43309c0405009cc6961053c54dedebdc83a2";
|
rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
|
||||||
sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
|
sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-completing-read+";
|
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 }:
|
ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ido-ubiquitous";
|
pname = "ido-ubiquitous";
|
||||||
version = "3.14";
|
version = "3.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "DarwinAwardWinner";
|
owner = "DarwinAwardWinner";
|
||||||
repo = "ido-ubiquitous";
|
repo = "ido-ubiquitous";
|
||||||
rev = "397a43309c0405009cc6961053c54dedebdc83a2";
|
rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
|
||||||
sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
|
sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous";
|
||||||
@ -18550,6 +18655,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
jpop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "jpop";
|
pname = "jpop";
|
||||||
@ -19796,6 +19922,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
literate-coffee-mode = callPackage ({ coffee-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "literate-coffee-mode";
|
pname = "literate-coffee-mode";
|
||||||
@ -20135,12 +20282,12 @@
|
|||||||
magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
|
magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "magit";
|
pname = "magit";
|
||||||
version = "2.10.2";
|
version = "2.10.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magit";
|
owner = "magit";
|
||||||
repo = "magit";
|
repo = "magit";
|
||||||
rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
|
rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
|
||||||
sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
|
sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
|
||||||
@ -20289,12 +20436,12 @@
|
|||||||
magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "magit-popup";
|
pname = "magit-popup";
|
||||||
version = "2.10.2";
|
version = "2.10.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magit";
|
owner = "magit";
|
||||||
repo = "magit";
|
repo = "magit";
|
||||||
rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
|
rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
|
||||||
sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
|
sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
|
||||||
@ -20951,8 +21098,8 @@
|
|||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "the-lambda-church";
|
owner = "the-lambda-church";
|
||||||
repo = "merlin";
|
repo = "merlin";
|
||||||
rev = "afc398a9e6787b9a8ece385f23bd94ae0ef71805";
|
rev = "89f9643c08211a770454919551a7fd8605d1fca8";
|
||||||
sha256 = "0899yjw3zm8c0xrv1nk3vcn4rzng68kw5dlns4w6pmzv0pc3cq7q";
|
sha256 = "13x0zjd297ssqmbvba32zk2p588kznd5ag4wh3nqb6fdgyzy4d63";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
|
||||||
@ -21238,6 +21385,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "mmm-mako";
|
pname = "mmm-mako";
|
||||||
@ -22392,11 +22560,11 @@
|
|||||||
}) {};
|
}) {};
|
||||||
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
|
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
|
||||||
pname = "notmuch";
|
pname = "notmuch";
|
||||||
version = "0.24pre0";
|
version = "0.24";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.notmuchmail.org/git/notmuch";
|
url = "git://git.notmuchmail.org/git/notmuch";
|
||||||
rev = "990f8cd03203c7a19cef4e3edbec823cc99fa701";
|
rev = "e60b44ecf8bd5934959727496c7ef3016ff80cf6";
|
||||||
sha256 = "06135xc3i839hw4sa9gmvnb7qq4llv67q8h537vfgb9gixr40f1q";
|
sha256 = "1q81ibvhjvnz4hbwmdna3a1xjkik21avy5im89fnkhq068kwac2j";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
|
||||||
@ -22769,12 +22937,12 @@
|
|||||||
ocp-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
ocp-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ocp-indent";
|
pname = "ocp-indent";
|
||||||
version = "1.5.3";
|
version = "1.6.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OCamlPro";
|
owner = "OCamlPro";
|
||||||
repo = "ocp-indent";
|
repo = "ocp-indent";
|
||||||
rev = "8c349c5531d3bc90b00df875b6cd3c64110f59f1";
|
rev = "032599b162624a4b65c82c20be06433f24b00e8f";
|
||||||
sha256 = "1c4fdm6r3r3fqjflqjncfmx0ps52b5f17vq957g0b3pcaql5n63d";
|
sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
|
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 }:
|
org-table-sticky-header = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "org-table-sticky-header";
|
pname = "org-table-sticky-header";
|
||||||
version = "0.1.0";
|
version = "0.1.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cute-jumper";
|
owner = "cute-jumper";
|
||||||
repo = "org-table-sticky-header";
|
repo = "org-table-sticky-header";
|
||||||
rev = "1fca19fbccbb21159086970b82af56a81f78e247";
|
rev = "4dba2dc9a3ed63f58aa946aeec84a52d46ca4043";
|
||||||
sha256 = "1swhsspa5yz68hl2449l9hk1d6r9c32z19z4mrdxw4nimdxhxmqp";
|
sha256 = "0az4lzd9qk4cx7jjfj36r2fvlkwyrhn3xqhha5d1pydglnhd9amy";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/5dd0e18bf4c3f3263eff8aff6d7c743a554243b5/recipes/org-table-sticky-header";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/5dd0e18bf4c3f3263eff8aff6d7c743a554243b5/recipes/org-table-sticky-header";
|
||||||
@ -24379,6 +24547,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
ox-ioslide = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ox-ioslide";
|
pname = "ox-ioslide";
|
||||||
@ -24842,12 +25031,12 @@
|
|||||||
parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "parsebib";
|
pname = "parsebib";
|
||||||
version = "1.0.5";
|
version = "2.0.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "joostkremers";
|
owner = "joostkremers";
|
||||||
repo = "parsebib";
|
repo = "parsebib";
|
||||||
rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
|
rev = "748d6a179fcbbc4af77c7b96059a66d579f34dc8";
|
||||||
sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
|
sha256 = "0f8rcifzfp4fs52pjgfly39vqz54kgjb3yqyxlh4adq12zbq11cd";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
|
||||||
@ -25260,12 +25449,12 @@
|
|||||||
persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "persp-mode";
|
pname = "persp-mode";
|
||||||
version = "2.9.5";
|
version = "2.9.6";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Bad-ptr";
|
owner = "Bad-ptr";
|
||||||
repo = "persp-mode.el";
|
repo = "persp-mode.el";
|
||||||
rev = "1116ead88123a11efef346db0045ee8389250bd2";
|
rev = "1dfea0de788f6d25ee47b5c62ddbeaf9e8e92f06";
|
||||||
sha256 = "11xncsvzy13xc939qfvlzplsz2izvf16hy45k500h44g2dxcvq3m";
|
sha256 = "11ww8hg9p8qlmr8zpir0m5xzzbvd1faiqjx6vn4b05d4ll03rnhm";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
|
||||||
@ -28131,22 +28320,22 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
rubocop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
rubocop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "rubocop";
|
pname = "rubocop";
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bbatsov";
|
owner = "bbatsov";
|
||||||
repo = "rubocop-emacs";
|
repo = "rubocop-emacs";
|
||||||
rev = "405e0fd4c57adb125e3d04208bc86081e3e78d4c";
|
rev = "980bedb455e3551d35a212fae515c054888907c1";
|
||||||
sha256 = "10djjp1520xc05qkciaiaiiciscaln6c74h7ymba40mvzlf67y9q";
|
sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
|
||||||
sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q";
|
sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q";
|
||||||
name = "rubocop";
|
name = "rubocop";
|
||||||
};
|
};
|
||||||
packageRequires = [ dash emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://melpa.org/#/rubocop";
|
homepage = "https://melpa.org/#/rubocop";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
@ -28425,6 +28614,27 @@
|
|||||||
license = lib.licenses.free;
|
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 }:
|
sass-mode = callPackage ({ fetchFromGitHub, fetchurl, haml-mode, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "sass-mode";
|
pname = "sass-mode";
|
||||||
@ -28488,22 +28698,22 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
sayid = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "sayid";
|
pname = "sayid";
|
||||||
version = "0.0.13";
|
version = "0.0.14";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bpiel";
|
owner = "bpiel";
|
||||||
repo = "sayid";
|
repo = "sayid";
|
||||||
rev = "01bf777cb15a4f236bc44842712e9ca82fed7f55";
|
rev = "3e5456cade044f01eb0753aabc9e50868000bd14";
|
||||||
sha256 = "0lh4mmdm5vizr08lyz2jc131991dqmyx29n8njgpxa1vjzqd08az";
|
sha256 = "1asphbijh5y4ax03x1cn02l4ya8v44s23ani91a0d52msdaxbnyw";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
|
||||||
sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs";
|
sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs";
|
||||||
name = "sayid";
|
name = "sayid";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [ cider ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://melpa.org/#/sayid";
|
homepage = "https://melpa.org/#/sayid";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
@ -30040,22 +30250,22 @@
|
|||||||
license = lib.licenses.free;
|
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 {
|
melpaBuild {
|
||||||
pname = "sparql-mode";
|
pname = "sparql-mode";
|
||||||
version = "0.11.2";
|
version = "2.0.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ljos";
|
owner = "ljos";
|
||||||
repo = "sparql-mode";
|
repo = "sparql-mode";
|
||||||
rev = "303858e7f91829ec720141482c777460e66f310b";
|
rev = "33da09b3895e03e64959005678d448ab82e527b6";
|
||||||
sha256 = "1gk2ps7fn9z8n6r923qzn518gz9mrj7mb6j726cz8qb585ndjbij";
|
sha256 = "17fpfc0hc39y9h12mj62fwfga4mhk0c9fm2qnbnzf4i3ajhp7r2w";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
|
||||||
sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
|
sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
|
||||||
name = "sparql-mode";
|
name = "sparql-mode";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib ];
|
packageRequires = [ cl-lib emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://melpa.org/#/sparql-mode";
|
homepage = "https://melpa.org/#/sparql-mode";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
@ -34335,12 +34545,12 @@
|
|||||||
zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "zenburn-theme";
|
pname = "zenburn-theme";
|
||||||
version = "2.4";
|
version = "2.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bbatsov";
|
owner = "bbatsov";
|
||||||
repo = "zenburn-emacs";
|
repo = "zenburn-emacs";
|
||||||
rev = "e5dc3962fd30005914b79b14e9821d298f2c305a";
|
rev = "f031c785b469cf4356fddb997eccf60399e34235";
|
||||||
sha256 = "1n7ka608lk0xp7vg4zcw282zna0cwvcwvmhic6ym1ag7lq5cjrhc";
|
sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "kdevelop";
|
pname = "kdevelop";
|
||||||
version = "5.0.3";
|
version = "5.0.4";
|
||||||
dirVersion = "5.0.3";
|
dirVersion = "5.0.4";
|
||||||
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz";
|
url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz";
|
||||||
sha256 = "17a58dfc38b853c6c5987084e8973b4f7f5015a6c2c20f94c2a9f96b0c13f601";
|
sha256 = "191142b2bdb14837c82721fdfeb15e852329f2c4c0d48fd479c57514c3235d55";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -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
|
|
||||||
|
|
@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "kdevplatform";
|
pname = "kdevplatform";
|
||||||
version = "5.0.3";
|
version = "5.0.4";
|
||||||
dirVersion = "5.0.3";
|
dirVersion = "5.0.4";
|
||||||
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kde/stable/kdevelop/${dirVersion}/src/${name}.tar.xz";
|
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 ];
|
nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ ];
|
propagatedBuildInputs = [ ];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2,
|
{ fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2,
|
||||||
pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
|
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 stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
||||||
assert gksuSupport -> gksu != null;
|
assert gksuSupport -> gksu != null;
|
||||||
@ -33,6 +33,21 @@ in let
|
|||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
buildInputs = [ makeWrapper ];
|
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 = ''
|
buildPhase = ''
|
||||||
for i in sublime_text plugin_host crash_reporter; do
|
for i in sublime_text plugin_host crash_reporter; do
|
||||||
patchelf \
|
patchelf \
|
||||||
@ -52,6 +67,12 @@ in let
|
|||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -prvd * $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 \
|
wrapProgram $out/sublime_text \
|
||||||
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
|
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
|
||||||
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects}
|
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects}
|
||||||
@ -66,6 +87,7 @@ in stdenv.mkDerivation {
|
|||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
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/sublime
|
||||||
ln -s ${sublime}/sublime_text $out/bin/sublime3
|
ln -s ${sublime}/sublime_text $out/bin/sublime3
|
||||||
mkdir -p $out/share/applications
|
mkdir -p $out/share/applications
|
||||||
|
@ -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
|
, qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
|
||||||
, qjson, qca2, txt2tags, openssl
|
, qjson, qca2, txt2tags, openssl
|
||||||
, withGrass ? false, grass
|
, withGrass ? false, grass
|
||||||
@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ cmake makeWrapper ];
|
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
|
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
|
||||||
#enableParallelBuilding = true;
|
#enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -1,25 +1,26 @@
|
|||||||
{stdenv, fetchgit, flex, bison, cmake, git, zlib}:
|
{stdenv, fetchFromGitHub, flex, bison, cmake, git, zlib}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
version = "2016-05-19";
|
version = "2017-01-12";
|
||||||
name = "pbrt-v3-${version}";
|
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 ];
|
buildInputs = [ git flex bison cmake zlib ];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = "http://pbrt.org";
|
homepage = "http://pbrt.org";
|
||||||
description = "The renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
|
description = "The renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
|
||||||
platforms = stdenv.lib.platforms.linux ;
|
platforms = platforms.linux ;
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = licenses.bsd2;
|
||||||
maintainers = [ stdenv.lib.maintainers.juliendehos ];
|
maintainers = [ maintainers.juliendehos ];
|
||||||
priority = 10;
|
priority = 10;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -62,6 +62,7 @@ let
|
|||||||
kate = callPackage ./kate.nix {};
|
kate = callPackage ./kate.nix {};
|
||||||
kdenlive = callPackage ./kdenlive.nix {};
|
kdenlive = callPackage ./kdenlive.nix {};
|
||||||
kcalc = callPackage ./kcalc.nix {};
|
kcalc = callPackage ./kcalc.nix {};
|
||||||
|
kcachegrind = callPackage ./kcachegrind.nix {};
|
||||||
kcolorchooser = callPackage ./kcolorchooser.nix {};
|
kcolorchooser = callPackage ./kcolorchooser.nix {};
|
||||||
kcontacts = callPackage ./kcontacts.nix {};
|
kcontacts = callPackage ./kcontacts.nix {};
|
||||||
kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
|
kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
|
||||||
@ -76,6 +77,7 @@ let
|
|||||||
kmix = callPackage ./kmix.nix {};
|
kmix = callPackage ./kmix.nix {};
|
||||||
kompare = callPackage ./kompare.nix {};
|
kompare = callPackage ./kompare.nix {};
|
||||||
konsole = callPackage ./konsole.nix {};
|
konsole = callPackage ./konsole.nix {};
|
||||||
|
krfb = callPackage ./krfb.nix {};
|
||||||
kwalletmanager = callPackage ./kwalletmanager.nix {};
|
kwalletmanager = callPackage ./kwalletmanager.nix {};
|
||||||
libkdcraw = callPackage ./libkdcraw.nix {};
|
libkdcraw = callPackage ./libkdcraw.nix {};
|
||||||
libkexiv2 = callPackage ./libkexiv2.nix {};
|
libkexiv2 = callPackage ./libkexiv2.nix {};
|
||||||
|
27
pkgs/applications/kde/kcachegrind.nix
Normal file
27
pkgs/applications/kde/kcachegrind.nix
Normal 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
|
||||||
|
];
|
||||||
|
}
|
22
pkgs/applications/kde/krfb.nix
Normal file
22
pkgs/applications/kde/krfb.nix
Normal 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" ];
|
||||||
|
}
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
python2Packages.buildPythonApplication rec {
|
||||||
name = "electrum-${version}";
|
name = "electrum-${version}";
|
||||||
version = "2.7.18";
|
version = "2.8.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||||
sha256 = "1l9krc7hqhqrm5bwp999bpykkcq4958qwvx8v0l5mxcxw8k7fkab";
|
sha256 = "1398s9d8j04is24il2xjb6xkj666pj21bsr90xglpsmfa1js9z7g";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python2Packages; [
|
propagatedBuildInputs = with python2Packages; [
|
||||||
@ -15,22 +15,22 @@ python2Packages.buildPythonApplication rec {
|
|||||||
jsonrpclib
|
jsonrpclib
|
||||||
pbkdf2
|
pbkdf2
|
||||||
protobuf3_0
|
protobuf3_0
|
||||||
pyasn1
|
pyaes
|
||||||
pyasn1-modules
|
|
||||||
pycrypto
|
pycrypto
|
||||||
pyqt4
|
pyqt4
|
||||||
|
pysocks
|
||||||
qrcode
|
qrcode
|
||||||
requests
|
requests
|
||||||
slowaes
|
|
||||||
tlslite
|
tlslite
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
trezor
|
|
||||||
keepkey
|
keepkey
|
||||||
|
trezor
|
||||||
|
|
||||||
# TODO plugins
|
# TODO plugins
|
||||||
# matplotlib
|
|
||||||
# btchip
|
|
||||||
# amodem
|
# amodem
|
||||||
|
# btchip
|
||||||
|
# matplotlib
|
||||||
];
|
];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
@ -43,8 +43,11 @@ python2Packages.buildPythonApplication rec {
|
|||||||
postInstall = ''
|
postInstall = ''
|
||||||
# Despite setting usr_share above, these files are installed under
|
# Despite setting usr_share above, these files are installed under
|
||||||
# $out/nix ...
|
# $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
|
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;
|
doInstallCheck = true;
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "emem";
|
pname = "emem";
|
||||||
version = "0.2.34";
|
version = "0.2.41";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
inherit jdk;
|
inherit jdk;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
|
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
|
||||||
sha256 = "19dslv632qyz3hcycx22w6x96nwph7cxl1yjprir2w2c692dq06x";
|
sha256 = "0pg7m4fyrcbm8d5nj96xvvh1cvml501rw34hniqq384waifr2kqs";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ];
|
buildInputs = [ ];
|
||||||
@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
phases = [ "buildPhase" "installPhase" ];
|
phases = [ "buildPhase" "installPhase" ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin $out/share/java
|
||||||
mkdir -p $out/share/java
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
31
pkgs/applications/misc/keepass-plugins/keeagent/default.nix
Normal file
31
pkgs/applications/misc/keepass-plugins/keeagent/default.nix
Normal 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 ]; }
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst
|
{ 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 {
|
stdenv.mkDerivation rec {
|
||||||
@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
makefile = "Makefile.linux";
|
makefile = "Makefile.linux";
|
||||||
makeFlags = "YBPERS_LIBPATH=${ykpers}/lib";
|
makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib";
|
||||||
|
|
||||||
buildFlags = "unicoderelease";
|
buildFlags = "unicoderelease";
|
||||||
buildInputs = [ wxGTK libuuid gettext perl zip
|
buildInputs = [ wxGTK libuuid gettext perl zip
|
||||||
xercesc libXt libXtst libXi xextproto
|
xercesc libXt libXtst libXi xextproto
|
||||||
pkgconfig libyubikey ykpers ];
|
pkgconfig libyubikey yubikey-personalization ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# Fix perl scripts used during the build.
|
# Fix perl scripts used during the build.
|
||||||
|
32
pkgs/applications/misc/qmetro/default.nix
Normal file
32
pkgs/applications/misc/qmetro/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ qtbase qtwebengine ];
|
buildInputs = [ qtbase qtwebengine ];
|
||||||
nativeBuildInputs = [ qmakeHook ];
|
nativeBuildInputs = [ qmakeHook ];
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp binary/QSyncthingTray $out/bin
|
cp binary/QSyncthingTray $out/bin
|
||||||
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.lgpl3;
|
license = licenses.lgpl3;
|
||||||
maintainers = with maintainers; [ zraexy ];
|
maintainers = with maintainers; [ zraexy ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,25 @@
|
|||||||
{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, pkgconfig }:
|
{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, libzip, libxls, pkgconfig }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
name = "sc-im-${version}";
|
name = "sc-im-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "andmarti1424";
|
owner = "andmarti1424";
|
||||||
repo = "sc-im";
|
repo = "sc-im";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1v1cfmfqs5997bqlirp6p7smc3qrinq8dvsi33sk09r33zkzyar0";
|
sha256 = "1vdn9p9srvdksxznrn65pfigwrd7brlq8bac3pjfqsvf8gjnzq61";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ yacc ncurses libxml2 pkgconfig ];
|
buildInputs = [ yacc ncurses libxml2 libzip libxls pkgconfig ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
cd src
|
cd src
|
||||||
|
|
||||||
sed -i "s,prefix=/usr,prefix=$out," Makefile
|
sed -e "\|^prefix = /usr/local| s|/usr/local|$out|" \
|
||||||
sed -i "s,-I/usr/include/libxml2,-I$libxml2," Makefile
|
-e "\|^#LDLIBS += -lxlsreader| s|^#|| " \
|
||||||
|
-e "\|^#CFLAGS += -DXLS| s|^#|| " \
|
||||||
|
-i Makefile
|
||||||
|
|
||||||
make
|
make
|
||||||
export DESTDIR=$out
|
export DESTDIR=$out
|
||||||
|
@ -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.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -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;
|
|
@ -13,11 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
installPhase = ''
|
patches = [ ./install-all-themes.patch ];
|
||||||
mkdir -p $out/{bin,share/man/man1}
|
|
||||||
cp -rv doc/man/*.1 $out/share/man/man1
|
|
||||||
cp src/timew $out/bin/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A command-line time tracker";
|
description = "A command-line time tracker";
|
||||||
|
27
pkgs/applications/misc/timewarrior/install-all-themes.patch
Normal file
27
pkgs/applications/misc/timewarrior/install-all-themes.patch
Normal 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
|
||||||
|
|
@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
|
|||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ offline peterhoeg ];
|
maintainers = with maintainers; [ offline peterhoeg ];
|
||||||
|
broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
@ -94,12 +94,12 @@ let
|
|||||||
|
|
||||||
flash = stdenv.mkDerivation rec {
|
flash = stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-ppapi-${version}";
|
name = "flashplayer-ppapi-${version}";
|
||||||
version = "24.0.0.221";
|
version = "25.0.0.127";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
||||||
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||||
sha256 = "0vqvb098wms9v2r1xm9yq4cpn1h9dr1y7izfy2rwg3y7gr8ycv80";
|
sha256 = "1gf0ncclkk3h4vj9kkhbqj1nnnm54gwm5mdcs4p4pl8i339scs14";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "0mwwscybips1kazl0rva3jdswfzfb7yp90ggqgk27z2ndp0qj8b3";
|
sha256 = "0bbr5wr5icrw5101dlhyn20pg28mah7w4vk365i4gf6a1zvyrd8n";
|
||||||
sha256bin64 = "17n0jcysxi99v8hwlg7f69nrs2y5z87644145a8r53l809hkvkrk";
|
sha256bin64 = "0dx9ivjc7avm0zgw0jcx5mmlzapwc2lp1sdjpwgd4y0iai1zr3yw";
|
||||||
version = "57.0.2987.21";
|
version = "57.0.2987.98";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "18gsj415cdlllp95q8pv1s3hhjg8cmjb6kwrvbr5mjdvsvj0ianf";
|
sha256 = "1i6qr1ypjww3q59lqg60xpns8xqxxrkd0yrpyx96alb1bp22x85p";
|
||||||
sha256bin64 = "0z58rwz00bq61d24h8jynhzxanbh0m9wi04jbczci3681b4zyiyh";
|
sha256bin64 = "1ahp99p4hi8r2bvkdpnkakwkpmmnndjn299axc7cafz85zs6z9vl";
|
||||||
version = "58.0.3000.4";
|
version = "58.0.3029.14";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "1q2kg85pd6lv036w7lsss5mhiiva9rx4f0410sbn9bnazhghib4s";
|
sha256 = "0bbr5wr5icrw5101dlhyn20pg28mah7w4vk365i4gf6a1zvyrd8n";
|
||||||
sha256bin64 = "1s64smkpjmnlw7ym14v3g3lcpagsgavmnlq6wkgci80kyvwasd3w";
|
sha256bin64 = "1qs8pmfasf3j84pjf4fnf6yb0pfa2hdgicskvfmr1sqy7c7yg348";
|
||||||
version = "56.0.2924.87";
|
version = "57.0.2987.98";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,10 @@ common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec {
|
|||||||
inherit sha512;
|
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 =
|
buildInputs =
|
||||||
[ pkgconfig gtk2 perl zip libIDL libjpeg zlib bzip2
|
[ pkgconfig gtk2 perl zip libIDL libjpeg zlib bzip2
|
||||||
python dbus dbus_glib pango freetype fontconfig xorg.libXi
|
python dbus dbus_glib pango freetype fontconfig xorg.libXi
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp";
|
sha256 = "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = with stdenv.lib;
|
||||||
[ libev librsvg libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
|
[ libev librsvg libpng libjpeg libtiff openssl xz bzip2 zlib ]
|
||||||
++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
|
++ optionals stdenv.isLinux [ gpm ]
|
||||||
++ stdenv.lib.optional enableDirectFB [ directfb ];
|
++ optionals enableX11 [ libX11 libXau libXt ]
|
||||||
|
++ optional enableDirectFB [ directfb ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig bzip2 ];
|
nativeBuildInputs = [ pkgconfig bzip2 ];
|
||||||
|
|
||||||
@ -39,6 +40,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://links.twibright.com/;
|
homepage = http://links.twibright.com/;
|
||||||
description = "A small browser with some graphics support";
|
description = "A small browser with some graphics support";
|
||||||
maintainers = with maintainers; [ raskin urkud viric ];
|
maintainers = with maintainers; [ raskin urkud viric ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -73,25 +73,25 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-${version}";
|
name = "flashplayer-${version}";
|
||||||
version = "24.0.0.221";
|
version = "25.0.0.127";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
if debug then
|
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
|
else
|
||||||
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
|
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
|
||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"10f8m5zc8p4xbhihbl785lws1kpv6smnbhx4ydzf8ai3mlv3y241"
|
"0d37rwbqszl593pggph8pm8jwn05fppys7q8vk1jrk9jaz262iva"
|
||||||
else
|
else
|
||||||
"1rz9rkbvln8wdkfmsnnq936xs6969qma141jc4qx408419q7v3hg"
|
"0lhngdx1q51kfpw3a961h9p9n1fnspk9pmg21i069hvd0h143arx"
|
||||||
else
|
else
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"1cb4mvslphj3bcchgr7lcswz8kk8si0s60rl5266mi53byplhw08"
|
"1yasj9xzmb6ly9209b1hmrqrzxrr1bafsfjszsr3yf994hql6nzn"
|
||||||
else
|
else
|
||||||
"1vcyp9041171xkcnz05dlk3n7bnbcb9qbh4sy5wfgjkqsyd6i5bl";
|
"02vs12cm6fpl2fif1lij9y15m89wk6aizc8sbjiw6w59wixn3p9d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -57,19 +57,19 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-standalone-${version}";
|
name = "flashplayer-standalone-${version}";
|
||||||
version = "24.0.0.221";
|
version = "25.0.0.127";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
if debug then
|
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
|
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 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
"0cy81cml72ayx2wa0fd9vgp2wzny866jasahndg01v0jfxcxw5rz"
|
"07a8x1n997lmkxj74bkygh60shwzxzcvfxpz07pxj1nmvakmin51"
|
||||||
else
|
else
|
||||||
"0xgiycd47mzmwvmhbi0ig3rd7prksfdpcd4h62as1m9gs1ax4d7l";
|
"0rzxfcvjjwbd1m6pyby8km4g5834zy5d5sih7xq3czds9x0a2jp2";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -24,12 +24,12 @@ let
|
|||||||
|
|
||||||
in buildPythonApplication rec {
|
in buildPythonApplication rec {
|
||||||
name = "qutebrowser-${version}";
|
name = "qutebrowser-${version}";
|
||||||
version = "0.9.1";
|
version = "0.10.1";
|
||||||
namePrefix = "";
|
namePrefix = "";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
|
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
|
||||||
sha256 = "0pf91nc0xcykahc3x7ww525c9czm8zpg80nxl8n2mrzc4ilgvass";
|
sha256 = "57f4915f0f2b1509f3aa1cb9c47117fdaad35b4c895e9223c4eb0a6e8af51917";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Needs tox
|
# Needs tox
|
||||||
|
@ -27,5 +27,6 @@ buildGoPackage rec {
|
|||||||
homepage = https://github.com/kubernetes/kops;
|
homepage = https://github.com/kubernetes/kops;
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [offline];
|
maintainers = with maintainers; [offline];
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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
|
, iptables, coreutils
|
||||||
, components ? [
|
, components ? [
|
||||||
"cmd/kubeadm"
|
"cmd/kubeadm"
|
||||||
@ -18,16 +18,16 @@ with lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "kubernetes-${version}";
|
name = "kubernetes-${version}";
|
||||||
version = "1.5.2";
|
version = "1.5.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
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"];
|
outputs = ["out" "man" "pause"];
|
||||||
|
|
||||||
@ -59,12 +59,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
# Remove references to go compiler
|
find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
|
||||||
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)
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -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
|
let
|
||||||
arch = if stdenv.isLinux
|
binPath = [ kubernetes ]
|
||||||
then "linux-amd64"
|
++ stdenv.lib.optionals stdenv.isLinux [ libvirt qemu docker-machine-kvm ]
|
||||||
else "darwin-amd64";
|
++ stdenv.lib.optionals stdenv.isDarwin [];
|
||||||
checksum = if stdenv.isLinux
|
|
||||||
then "0cdcabsx5l4jbpyj3zzyz5bnzks6wl64bmzdsnk41x92ar5y5yal"
|
|
||||||
else "12f3b7s5lwpvzx4wj6i6h62n4zjshqf206fxxwpwx9kpsdaw6xdi";
|
|
||||||
|
|
||||||
# TODO: compile from source
|
# 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
|
||||||
in stdenv.mkDerivation rec {
|
# (presumably because we don't have some static system libraries it wants), and cross-compiling cgo on Darwin is a nightmare.
|
||||||
pname = "minikube";
|
#
|
||||||
|
# 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";
|
version = "0.17.1";
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
goPackagePath = "k8s.io/minikube";
|
||||||
url = "https://storage.googleapis.com/minikube/releases/v${version}/minikube-${arch}";
|
|
||||||
sha256 = "${checksum}";
|
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 = ''
|
go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets ./out/localkube deploy/addons/...
|
||||||
install -Dm755 ${src} $out/bin/${pname}
|
|
||||||
|
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 = ''
|
postInstall = ''
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/bin/minikube"
|
mkdir -p $bin/share/bash-completion/completions/
|
||||||
|
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
|
||||||
wrapProgram $out/bin/${pname} \
|
|
||||||
--prefix PATH : ${binPath}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
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";
|
description = "A tool that makes it easy to run Kubernetes locally";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ ebzzry ];
|
maintainers = with maintainers; [ ebzzry copumpkin ];
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = with platforms; unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "nomad-${version}";
|
name = "nomad-${version}";
|
||||||
version = "0.5.4";
|
version = "0.5.5";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
|
|
||||||
goPackagePath = "github.com/hashicorp/nomad";
|
goPackagePath = "github.com/hashicorp/nomad";
|
||||||
@ -12,7 +12,7 @@ buildGoPackage rec {
|
|||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = "nomad";
|
repo = "nomad";
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "0x7bi6wq7kpqv3wfhk5mqikj4hsb0f6lx867xz5l9cq3i39b5gj3";
|
sha256 = "17xq88ymm77b6y27l4v49i9hm6yjyrk61rdb2v7nvn8fa4bn6b65";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
34
pkgs/applications/networking/cluster/terraform/0.8.5.nix
Normal file
34
pkgs/applications/networking/cluster/terraform/0.8.5.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
35
pkgs/applications/networking/cluster/terragrunt/0.9.8.nix
Normal file
35
pkgs/applications/networking/cluster/terragrunt/0.9.8.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -17,6 +17,10 @@ buildGoPackage rec {
|
|||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
buildFlagsArray+=("-ldflags" "-X main.VERSION=v${version}")
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $bin/bin/terragrunt \
|
wrapProgram $bin/bin/terragrunt \
|
||||||
--set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
|
--set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
|
{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "esniper-2.32.0";
|
name = "esniper-2.33.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/esniper/esniper-2-32-0.tgz";
|
url = "mirror://sourceforge/esniper/${stdenv.lib.replaceStrings ["."] ["-"] name}.tgz";
|
||||||
sha256 = "04lka4d0mnrwc369yzvq28n8qi1qbm8810ykx6d0a4kaghiybqsy";
|
sha256 = "1pck2x7mp7ip0b21v2sjvq86fz12gzw6kig4vvbrghz5xw5b3f69";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openssl curl ];
|
buildInputs = [ openssl curl ];
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
|
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
|
||||||
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
|
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
|
||||||
|
|
||||||
let version = "3.24.0"; in
|
let version = "3.25.0"; in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "filezilla-${version}";
|
name = "filezilla-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
|
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
|
||||||
sha256 = "1bacrl8lj90hqbh129hpbgqj78k1i84j83rkzn507jnykj4x8p9x";
|
sha256 = "1b1lb1zvm887xy3q9i5ziqvwk4ww2pd81a1msbwjrxzy5lq5ykhh";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "2.5.1";
|
version = "2.5.2";
|
||||||
|
|
||||||
rpath = stdenv.lib.makeLibraryPath [
|
rpath = stdenv.lib.makeLibraryPath [
|
||||||
alsaLib
|
alsaLib
|
||||||
@ -45,7 +45,7 @@ let
|
|||||||
if stdenv.system == "x86_64-linux" then
|
if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
|
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
|
||||||
sha256 = "1rrhgqmz0ajv2135bzykv3dq0mifzf5kiycgrisk2sfxn6nwyyvj";
|
sha256 = "0mg8js18lnnwyvqksrhpym7d04bin16bh7sdmxbm36iijb9ajxmi";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw "Slack is not supported on ${stdenv.system}";
|
throw "Slack is not supported on ${stdenv.system}";
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
|
, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20170128";
|
version = "20170306";
|
||||||
name = "neomutt-${version}";
|
name = "neomutt-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neomutt";
|
owner = "neomutt";
|
||||||
repo = "neomutt";
|
repo = "neomutt";
|
||||||
rev = "neomutt-${version}";
|
rev = "neomutt-${version}";
|
||||||
sha256 = "082ksn4fsj48nkz61ia0hcxz3396p6a4p9q8738w15qkycq23c20";
|
sha256 = "0nlazabwj4czi30m84ppga275hkr51glyndizqzg540q9wp1acz4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ which autoconf automake ];
|
nativeBuildInputs = [ which autoconf automake ];
|
||||||
|
@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null);
|
|||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qbittorrent-${version}";
|
name = "qbittorrent-${version}";
|
||||||
version = "3.3.10";
|
version = "3.3.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
|
url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
|
||||||
sha256 = "1lm8y5k9363gajbw0k9jb1cb7zg0lz5rw2ja0kd36h68rpm7qr9c";
|
sha256 = "0q57ahhlx7r5k1ji87gbp4rvjfvhirlmcx5nbwrfvqmxsigar4j8";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig which ];
|
nativeBuildInputs = [ pkgconfig which ];
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, lib, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
|
{ stdenv, lib, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
|
||||||
, gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
|
, gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
|
||||||
, libssh, zlib, cmake, extra-cmake-modules
|
, 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
|
, withQt ? false, qt5 ? null
|
||||||
, ApplicationServices, SystemConfiguration, gmp
|
, ApplicationServices, SystemConfiguration, gmp
|
||||||
}:
|
}:
|
||||||
@ -23,11 +23,15 @@ in stdenv.mkDerivation {
|
|||||||
sha256 = "049r5962yrajhhz9r4dsnx403dab50d6091y2mw298ymxqszp9s2";
|
sha256 = "049r5962yrajhhz9r4dsnx403dab50d6091y2mw298ymxqszp9s2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
bison cmake extra-cmake-modules flex
|
||||||
|
] ++ optional withGtk wrapGAppsHook;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
bison cmake extra-cmake-modules flex gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt libgpgerror gnutls
|
gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt
|
||||||
geoip c-ares python glib zlib
|
libgpgerror gnutls geoip c-ares python glib zlib
|
||||||
] ++ (optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ]))
|
] ++ optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
|
||||||
++ (optionals withGtk [ gtk3 pango cairo gdk_pixbuf ])
|
++ optionals withGtk [ gtk3 librsvg gsettings_desktop_schemas ]
|
||||||
++ optionals stdenv.isLinux [ libcap libnl ]
|
++ optionals stdenv.isLinux [ libcap libnl ]
|
||||||
++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ];
|
++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ];
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.3.1";
|
version = "1.3.3";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "money-manager-ex-${version}";
|
name = "money-manager-ex-${version}";
|
||||||
@ -10,7 +10,7 @@ in
|
|||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/moneymanagerex/moneymanagerex.git";
|
url = "https://github.com/moneymanagerex/moneymanagerex.git";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "1cmwmvlzg7r85qq23lbbmq2y91vhf9f5pblpja5ph98bsd218pc0";
|
sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ sqlite wxGTK30 gettext ];
|
buildInputs = [ sqlite wxGTK30 gettext ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchurl, readline, perl, libX11, libpng, libXt, zlib}:
|
{stdenv, fetchurl, readline, perl, libharu, libX11, libpng, libXt, zlib}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "emboss-6.6.0";
|
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";
|
url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz";
|
||||||
sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e";
|
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 = ''
|
configureFlags = [ "--with-hpdf=${libharu}" "--with-pngdriver=${zlib}" ];
|
||||||
# gzip -d $patch | patch -p1
|
|
||||||
# '';
|
postConfigure = ''
|
||||||
|
sed -i 's@$(bindir)/embossupdate@true@' Makefile
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "The European Molecular Biology Open Software Suite";
|
description = "The European Molecular Biology Open Software Suite";
|
||||||
|
@ -83,5 +83,6 @@ stdenv.mkDerivation {
|
|||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ mudri ];
|
maintainers = with maintainers; [ mudri ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "geogebra-${version}";
|
name = "geogebra-${version}";
|
||||||
version = "5-0-331-0";
|
version = "5-0-338-0";
|
||||||
|
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
|
url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
|
||||||
sha256 = "135g2xqafgs1gv98vqq2jpfwyi1aflyiynx1gmsgs23jxbr218v2";
|
sha256 = "1namwib3912zjizgl9swan0fwgmq9kvfq5k5y8lz818vh4lv88kx";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcIcon = fetchurl {
|
srcIcon = fetchurl {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk
|
{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk, gnused_422
|
||||||
, imagemagick, liblapack, python, openssl, libpng
|
, imagemagick, liblapack, python, openssl, libpng
|
||||||
, which
|
, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
|
|||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://old.files.sagemath.org/src-old/${name}.tar.gz";
|
url = "http://old.files.sagemath.org/src-old/${name}.tar.gz";
|
||||||
sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
|
sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg tk imagemagick liblapack
|
buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg gnused_422 tk imagemagick liblapack
|
||||||
python openssl libpng which];
|
python openssl libpng which ];
|
||||||
|
|
||||||
patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
|
patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
|
||||||
|
|
||||||
|
@ -66,6 +66,8 @@ rec {
|
|||||||
|
|
||||||
git-imerge = callPackage ./git-imerge { };
|
git-imerge = callPackage ./git-imerge { };
|
||||||
|
|
||||||
|
git-octopus = callPackage ./git-octopus { };
|
||||||
|
|
||||||
git-radar = callPackage ./git-radar { };
|
git-radar = callPackage ./git-radar { };
|
||||||
|
|
||||||
git-remote-hg = callPackage ./git-remote-hg { };
|
git-remote-hg = callPackage ./git-remote-hg { };
|
||||||
|
@ -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];
|
||||||
|
};
|
||||||
|
}
|
@ -6,11 +6,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gitkraken-${version}";
|
name = "gitkraken-${version}";
|
||||||
version = "2.1.0";
|
version = "2.2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
|
url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
|
||||||
sha256 = "56b5657f5c13fa1d8f6b7b9331194cbc8c48c0b913e5f0fb561d0e9af82f7999";
|
sha256 = "0a3ed917e6e937af4dd180144fbb4ad8b99b35b5d8c1f0684a55de38189a812d";
|
||||||
};
|
};
|
||||||
|
|
||||||
libPath = stdenv.lib.makeLibraryPath [
|
libPath = stdenv.lib.makeLibraryPath [
|
||||||
@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
|
description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ ];
|
maintainers = with maintainers; [ xnwdd ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user