blob: ccf6ff34925cb204f32dcf6136a46463be919059 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
pkgs:
with pkgs.lib;
let
allPackages = newPackages // misc;
everything = pkgs // allPackages // drvOverrides // argOverrides;
callPackage = callPackageWith everything;
mapOverride = overrideFun: includePackages: let
packages = pkgs // allPackages // includePackages;
overrideName = name: overrideFun (getAttr name packages);
in mapAttrs overrideName;
# input attrset overrides using pkg.override
argOverrides = mapOverride (getAttr "override") drvOverrides {
netrw.checksumType = "mhash";
pulseaudio.useSystemd = true;
w3m.graphicsSupport = true;
};
# derivation overrides
drvOverrides = let
tkabberRev = 2010;
in mapOverride overrideDerivation argOverrides {
tkabber = o: {
name = "tkabber-1.0pre";
src = everything.fetchsvn {
url = "http://svn.xmpp.ru/repos/tkabber/trunk/tkabber";
rev = tkabberRev;
sha256 = "0ixvp3frpx7zhb7jyi0w463n78kafdzgmspkm2jhh6x28rimj0lz";
};
};
tkabber_plugins = o: {
name = "tkabber-plugins-1.0pre";
src = everything.fetchsvn {
url = "http://svn.xmpp.ru/repos/tkabber/trunk/tkabber-plugins";
rev = tkabberRev;
sha256 = "181jxd7iwpcl7wllwciqshzznahdw69fy7r604gj4m2kq6qmynqf";
};
};
};
# new packages
newPackages = {
axbo = callPackage ./axbo { };
blop = callPackage ./blop { };
libCMT = callPackage ./libcmt { };
librxtx_java = callPackage ./librxtx-java { };
pvolctrl = callPackage ./pvolctrl { };
tkabber_urgent_plugin = callPackage ./tkabber-urgent-plugin { };
};
# misc
misc = {
kernelSourceAszlig = {
version = "3.10.0-rc1";
src = everything.fetchgit {
url = /home/aszlig/linux;
rev = "d5fe85af85367d5892e4308f596de4e2a5fb9017";
sha256 = "0kpnh0hj4x07dp565mki4slk0sdycph6sd4ijxbpa8xq2pmwsan6";
};
};
testChromiumBuild = let
buildChannels = [ "stable" "beta" "dev" ];
buildChromium = chan: everything.chromium.override {
channel = chan;
gnomeSupport = true;
gnomeKeyringSupport = true;
proprietaryCodecs = true;
cupsSupport = true;
pulseSupport = true;
};
mkTest = chan: everything.writeScript "test-chromium-${chan}.sh" ''
#!${everything.stdenv.shell}
if datadir="$(${everything.coreutils}/bin/mktemp -d)"; then
${buildChromium chan}/bin/chromium --user-data-dir="$datadir"
rm -rf "$datadir"
fi
'';
in everything.stdenv.mkDerivation {
name = "test-chromium-build";
buildCommand = let
chanResults = flip map buildChannels (chan: ''
echo "Test script for ${chan}: ${mkTest chan}"
'');
in ''
echo "Builds finished, the following derivations have been built:"
${concatStrings chanResults}
false
'';
};
};
in allPackages // drvOverrides // argOverrides
|