diff options
author | Minijackson <minijackson@riseup.net> | 2018-08-23 09:55:34 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2018-08-23 09:55:34 +0200 |
commit | dcdba0983b847c31e67f09b3e9eded9e7ba49030 (patch) | |
tree | 13acc789b062ff50c0e8892d890a87f4723450eb /default.nix | |
parent | 0968525c194ef5bac2fb4021b80661febbd41451 (diff) | |
download | nix_repo-dcdba0983b847c31e67f09b3e9eded9e7ba49030.tar.gz nix_repo-dcdba0983b847c31e67f09b3e9eded9e7ba49030.zip |
Add real Release and Debug mode
Diffstat (limited to 'default.nix')
-rw-r--r-- | default.nix | 101 |
1 files changed, 44 insertions, 57 deletions
diff --git a/default.nix b/default.nix index a9095ef..6b30e6f 100644 --- a/default.nix +++ b/default.nix | |||
@@ -44,7 +44,7 @@ let | |||
44 | pkgs = import nixpkgs {}; | 44 | pkgs = import nixpkgs {}; |
45 | stdenv = pkgs.overrideCC pkgs.stdenv pkgs.${compiler}; | 45 | stdenv = pkgs.overrideCC pkgs.stdenv pkgs.${compiler}; |
46 | 46 | ||
47 | in rec { | 47 | repo = rec { |
48 | kasync = stdenv.mkDerivation { | 48 | kasync = stdenv.mkDerivation { |
49 | name = "kasync"; | 49 | name = "kasync"; |
50 | nativeBuildInputs = with pkgs; [ cmake ninja ccache ]; | 50 | nativeBuildInputs = with pkgs; [ cmake ninja ccache ]; |
@@ -90,12 +90,7 @@ in rec { | |||
90 | kasync kimap2 kdav2 | 90 | kasync kimap2 kdav2 |
91 | ]; | 91 | ]; |
92 | 92 | ||
93 | cmakeFlags = [ | 93 | postInstall = pkgs.lib.optionalString (cmakeBuildType == "Debug") '' |
94 | "-DCMAKE_CXX_FLAGS=-fdiagnostics-color=always" | ||
95 | "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" | ||
96 | ]; | ||
97 | |||
98 | postInstall = '' | ||
99 | mkdir -p $out/tests | 94 | mkdir -p $out/tests |
100 | mkdir -p $out/bin | 95 | mkdir -p $out/bin |
101 | cp ./tests/clientapitest ./tests/resourceconfigtest ./tests/storagetest ./tests/domainadaptortest ./tests/messagequeuetest ./tests/indextest ./tests/resourcecommunicationtest ./tests/pipelinetest ./tests/querytest ./tests/modelinteractivitytest ./tests/inspectiontest ./tests/accountstest ./tests/testaccounttest ./tests/dummyresourcemailtest ./tests/interresourcemovetest ./tests/notificationtest ./tests/entitystoretest ./tests/upgradetest ./tests/resourcecontroltest ./tests/dummyresourcetest $out/tests | 96 | cp ./tests/clientapitest ./tests/resourceconfigtest ./tests/storagetest ./tests/domainadaptortest ./tests/messagequeuetest ./tests/indextest ./tests/resourcecommunicationtest ./tests/pipelinetest ./tests/querytest ./tests/modelinteractivitytest ./tests/inspectiontest ./tests/accountstest ./tests/testaccounttest ./tests/dummyresourcemailtest ./tests/interresourcemovetest ./tests/notificationtest ./tests/entitystoretest ./tests/upgradetest ./tests/resourcecontroltest ./tests/dummyresourcetest $out/tests |
@@ -107,45 +102,6 @@ in rec { | |||
107 | inherit cmakeBuildType; | 102 | inherit cmakeBuildType; |
108 | }; | 103 | }; |
109 | 104 | ||
110 | sinkTest = pkgs.runCommand "sinkTest" | ||
111 | { | ||
112 | buildInputs = [ sink pkgs.qt5.qtbase pkgs.xvfb_run ]; | ||
113 | realTests = pkgs.writeScript "sinkRealTests" '' | ||
114 | sinksh selftest && | ||
115 | clientapitest && | ||
116 | resourceconfigtest && | ||
117 | storagetest && | ||
118 | domainadaptortest && | ||
119 | messagequeuetest && | ||
120 | indextest && | ||
121 | resourcecommunicationtest && | ||
122 | pipelinetest && | ||
123 | querytest && | ||
124 | modelinteractivitytest && | ||
125 | inspectiontest && | ||
126 | accountstest && | ||
127 | testaccounttest && | ||
128 | dummyresourcemailtest && | ||
129 | interresourcemovetest && | ||
130 | notificationtest && | ||
131 | entitystoretest && | ||
132 | upgradetest && | ||
133 | dummyresourcetest | ||
134 | ''; | ||
135 | } | ||
136 | '' | ||
137 | export HOME="$(mktemp -d)" | ||
138 | export QT_PLUGIN_PATH=${sink}/lib/qt-5.10/plugins/:${pkgs.qt5.qtbase}/lib/qt-5.10/plugins/:$QT_PLUGIN_PATH | ||
139 | export LD_LIBRARY_PATH=${sink}/lib/qt-5.10/plugins/sink/resources:$LD_LIBRARY_PATH | ||
140 | export PATH=${sink}/tests:${sink}/bin:$PATH | ||
141 | cd "$HOME" | ||
142 | xvfb-run "$realTests" | ||
143 | ret=$? | ||
144 | rm -rf $HOME | ||
145 | touch $out | ||
146 | return $ret | ||
147 | ''; | ||
148 | |||
149 | kube = stdenv.mkDerivation { | 105 | kube = stdenv.mkDerivation { |
150 | name = "kube"; | 106 | name = "kube"; |
151 | nativeBuildInputs = with pkgs; [ cmake ninja ccache ]; | 107 | nativeBuildInputs = with pkgs; [ cmake ninja ccache ]; |
@@ -157,20 +113,51 @@ in rec { | |||
157 | sink kasync | 113 | sink kasync |
158 | ]; | 114 | ]; |
159 | 115 | ||
160 | CCACHE_COMPRESS = 1; | ||
161 | CCACHE_DIR = "/var/cache/ccache"; | ||
162 | CCACHE_UMASK = "007"; | ||
163 | |||
164 | cmakeFlags = [ | ||
165 | #"-DCMAKE_CXX_COMPILER_LAUNCHER=${pkgs.ccache}/bin/ccache" | ||
166 | "-DCMAKE_CXX_FLAGS=-fdiagnostics-color=always" | ||
167 | "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" | ||
168 | ]; | ||
169 | |||
170 | dontStrip = if (cmakeBuildType == "Debug") then 1 else 0; | 116 | dontStrip = if (cmakeBuildType == "Debug") then 1 else 0; |
171 | 117 | ||
172 | src = kubeSrc; | 118 | src = kubeSrc; |
173 | 119 | ||
174 | inherit cmakeBuildType; | 120 | inherit cmakeBuildType; |
175 | }; | 121 | }; |
176 | } | 122 | }; |
123 | |||
124 | sinkTest = pkgs.runCommand "sinkTest" | ||
125 | { | ||
126 | buildInputs = [ repo.sink pkgs.qt5.qtbase pkgs.xvfb_run ]; | ||
127 | realTests = pkgs.writeScript "sinkRealTests" '' | ||
128 | sinksh selftest && | ||
129 | clientapitest && | ||
130 | resourceconfigtest && | ||
131 | storagetest && | ||
132 | domainadaptortest && | ||
133 | messagequeuetest && | ||
134 | indextest && | ||
135 | resourcecommunicationtest && | ||
136 | pipelinetest && | ||
137 | querytest && | ||
138 | modelinteractivitytest && | ||
139 | inspectiontest && | ||
140 | accountstest && | ||
141 | testaccounttest && | ||
142 | dummyresourcemailtest && | ||
143 | interresourcemovetest && | ||
144 | notificationtest && | ||
145 | entitystoretest && | ||
146 | upgradetest && | ||
147 | dummyresourcetest | ||
148 | ''; | ||
149 | } | ||
150 | '' | ||
151 | export HOME="$(mktemp -d)" | ||
152 | export QT_PLUGIN_PATH=${repo.sink}/lib/qt-5.10/plugins/:${pkgs.qt5.qtbase}/lib/qt-5.10/plugins/:$QT_PLUGIN_PATH | ||
153 | export LD_LIBRARY_PATH=${repo.sink}/lib/qt-5.10/plugins/sink/resources:$LD_LIBRARY_PATH | ||
154 | export PATH=${repo.sink}/tests:${repo.sink}/bin:$PATH | ||
155 | cd "$HOME" | ||
156 | xvfb-run "$realTests" | ||
157 | ret=$? | ||
158 | rm -rf $HOME | ||
159 | touch $out | ||
160 | return $ret | ||
161 | ''; | ||
162 | |||
163 | in repo // (if (cmakeBuildType == "Debug") then {inherit sinkTest;} else {}) | ||