1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00
Commit graph

34111 commits

Author SHA1 Message Date
Peter Simons 9dd8579769 haskell-utility-ht: update to version 0.0.10 2014-03-03 22:12:28 +01:00
Peter Simons e74767282c haskell-shelly: update to version 1.4.4.2 2014-03-03 22:12:28 +01:00
Peter Simons e84bb182b2 haskell-poppler: update to version 0.12.3 2014-03-03 22:12:28 +01:00
Peter Simons 18f1e8df59 haskell-pango: update to version 0.12.5.3 2014-03-03 22:12:28 +01:00
Peter Simons 867b2cb42f haskell-multiarg: update to version 0.26.0.0 2014-03-03 22:12:28 +01:00
Peter Simons be693f08cb haskell-mono-traversable: update to version 0.3.1 2014-03-03 22:12:28 +01:00
Peter Simons b6c59de551 haskell-miniutter: update to version 0.4.3.0 2014-03-03 22:12:28 +01:00
Peter Simons 011ca0210b haskell-http-reverse-proxy: update to version 0.3.0.1 2014-03-03 22:12:28 +01:00
Peter Simons 1095825fd2 haskell-gtk: update to version 0.12.5.4 2014-03-03 22:12:28 +01:00
Peter Simons 7e7dc6feff haskell-glib: update to version 0.12.5.3 2014-03-03 22:12:27 +01:00
Peter Simons f488349682 haskell-gio: update to version 0.12.5.3 2014-03-03 22:12:27 +01:00
Peter Simons b6c93edded haskell-crypto-pubkey-types: update to version 0.4.2.2 2014-03-03 22:12:27 +01:00
Peter Simons 2978b1c334 haskell-cairo: update to version 0.12.5.3 2014-03-03 22:12:27 +01:00
Peter Simons eeb8e36bad haskell-base-compat: update to version 0.4.0 2014-03-03 22:12:27 +01:00
Peter Simons a72f47b2f8 haskell-assert-failure: update to version 0.1.1.0 2014-03-03 22:12:27 +01:00
Peter Simons 9597c8f8fe haskell-SVGFonts: update to version 1.4.0.2 2014-03-03 22:12:27 +01:00
mornfall 17e32945a1 Merge pull request #1864 from ttuegel/arpack
arpack: version 3.1.5, fix pkgconfig
2014-03-03 20:37:56 +01:00
mornfall 528b600ec6 Merge pull request #1867 from thoughtpolice/fixes
Some minor fixes for my packages - ktap, cb0cat, etc
2014-03-03 20:36:08 +01:00
Domen Kožar bca6feea00 Merge pull request #1872 from wkennington/cache.python
Add python paypalrestsdk and sorl_thumbnail
2014-03-03 19:32:30 +01:00
William A. Kennington III 347681ef74 sorl: Describe test failures 2014-03-03 12:30:58 -06:00
William A. Kennington III ea5d87fedf sorl_thumbnail: Add package 2014-03-03 10:36:49 -06:00
William A. Kennington III f0125f019e paypalrestsdk: Add package 2014-03-03 10:34:33 -06:00
William A. Kennington III a19cf91652 wpa_supplicant: Update 2.0 -> 2.1 2014-03-03 10:26:04 -06:00
Oliver Charles ef7a5deaee haskellPackages.stripe: New expression 2014-03-03 15:40:09 +00:00
Domen Kožar 6c12e8d2bd pythonPackages.mrbob: 0.1a9 -> 0.1.1 2014-03-03 14:58:34 +01:00
Domen Kožar 83771bd926 add python 3.4.0rc2 2014-03-03 14:21:28 +01:00
Dario Bertini 38d69b08fe
Added pew and virtualenv-clone 2014-03-03 14:06:12 +01:00
Eelco Dolstra 497997cc38 Move generation of coverage reports from nixos/lib/testing to releaseTools
Also, turn some stdenv adapters into setup hooks.
2014-03-03 13:57:08 +01:00
Peter Simons b0c2354809 bind: update to version 9.9.5-W1 (fixes CVE-2013-6230 and CVE 2014-0591) 2014-03-03 13:10:05 +01:00
Jason "Don" O'Conal f068044019 texLiveFull: fix build on Darwin
Added --with-system-icu=no, --with-system-harfbuzz=no (looks like the
omission of --with-system-icu was not sufficient to force the builder
not to look for system ICU libs).

Disable building bibtex-x: complains about missing ICU directory.

Disable building dvisvgm: a test fails (and I can't work out how to
prevent the tests from running just for this).

Disable building devnag: failing tests.
2014-03-03 21:58:52 +11:00
Jason "Don" O'Conal 30da769098 upgrade texlive-base, texlive-lang
Upgraded to 2013.20140215. The old version (2013.20131112) was no longer
available on the debian FTP server, so building from source was
impossible.
2014-03-03 21:58:19 +11:00
Jason "Don" O'Conal 13979ab58c upgrade texlive-extra to 2013.20140215
The old version (2013.20131112) was no longer available on the debian
mirrors, hence building from source was impossible.
2014-03-03 21:58:00 +11:00
Jason "Don" O'Conal a577082e5e re-enable au debian mirror 2014-03-03 21:57:38 +11:00
Jason "Don" O'Conal de6792a460 graphite2: enable build on Darwin
This builds on Darwin without any modifications, so it has been added to
the platforms array
2014-03-03 21:57:37 +11:00
Pascal Wittmann af3cf0dbeb Add structured-haskell-mode 2014-03-03 11:55:26 +01:00
Peter Simons 6422bd7ecd Merge pull request #1863 from ttuegel/gnuplot
Add haskell-gnuplot-0.5.2
2014-03-03 11:39:35 +01:00
Jason "Don" O'Conal ff4ec6d5f0 t1lib: fix build on Darwin
* x11 = xlibsWrapper on non-Darwin systems, but is darwinX11AndOpenGL on
  Darwin systems, so pass in xlibsWrapper to the t1lib build instead
2014-03-03 21:13:37 +11:00
Jason "Don" O'Conal 7bf77e413d lesstif: fix build on Darwin
* x11 = xlibsWrapper on non-Darwin systems, but is darwinX11AndOpenGL on
  Darwin systems, so pass in xlibsWrapper to the lesstif build instead
2014-03-03 21:13:36 +11:00
Peter Simons 9c2c002a3b gparted: update from 0.15.0 to 0.18.0 2014-03-03 11:10:27 +01:00
Peter Simons aa8ef327e4 gitAndTools.gitflow: update from 1.6.1 to 1.7.0 2014-03-03 11:10:27 +01:00
Peter Simons 97298922e5 gitAndTools.hub: update from 1.11.1 to 1.12.0 2014-03-03 11:10:27 +01:00
Peter Simons db2776ee8a feh: update from 2.9.3 to 2.10 2014-03-03 11:10:27 +01:00
Peter Simons c4873add80 youtubeDL: update from 2014.02.26 to 2014.02.28 2014-03-03 11:10:27 +01:00
Peter Simons 98cb9c073f xsel: update from 0.9.6 to 1.2.0 2014-03-03 11:10:27 +01:00
Peter Simons 34ef383d45 xterm: update from 300 to 301 2014-03-03 11:10:26 +01:00
Peter Simons 0968d527fa xlockmore: update from 5.38 to 5.43 2014-03-03 11:10:26 +01:00
Peter Simons dd3f07e0f2 skype: update from 4.2.0.11 to 4.2.0.13 2014-03-03 11:10:26 +01:00
Peter Simons bc3008846d scons: update from 2.3.0 to 2.3.1 2014-03-03 11:10:26 +01:00
Peter Simons 19cb32a36c root: update from 5.34.14 to 5.34.15 2014-03-03 11:10:25 +01:00
Peter Simons 506da15579 pv: update from 1.4.12 to 1.5.2 2014-03-03 11:10:25 +01:00
Peter Simons e816a7fe53 pstoedit: update from 3.50 to 3.62 2014-03-03 11:10:25 +01:00
Peter Simons d14df722a7 plan9port: update from 20110103 to 20140228 2014-03-03 11:10:25 +01:00
Peter Simons 65cce5c38b opensmtpd: update from 201307151923p1 to 201402281146p1 2014-03-03 11:10:25 +01:00
Peter Simons 43eb9e6d53 mpg123: update from 1.16.0 to 1.18.1 2014-03-03 11:10:25 +01:00
Peter Simons 05c7578c3d lout: update from 3.39 to 3.40 2014-03-03 11:10:25 +01:00
Peter Simons f9af98f1fd ipsecTools: update from 0.8.1 to 0.8.2 2014-03-03 11:10:24 +01:00
Peter Simons 691df2ab83 imlib2: update from 1.4.5 to 1.4.6 2014-03-03 11:10:24 +01:00
Peter Simons 669e3520fd gtypist: update from 2.9.3 to 2.9.4 2014-03-03 11:10:24 +01:00
Ricardo M. Correia 69a83ba99f grsecurity: Update stable and test patches
stable: 3.0-3.2.55-201402221305 -> 3.0-3.2.55-201402241936
test:   3.0-3.13.4-201402221308 -> 3.0-3.13.5-201402241943
2014-03-03 02:16:58 +01:00
Ricardo M. Correia 8109de905a linux: Update to 3.13.5 2014-03-03 02:16:50 +01:00
Thomas Tuegel bb2d066140 Add haskell-gnuplot-0.5.2 2014-03-02 10:25:15 -06:00
Austin Seipp 812d17f177 ktap: don't use FFI by default
It's not yet supported on i386 - instead, make it optional and
controlled by a `useFFI` attribute.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-03-02 06:16:56 -06:00
Austin Seipp 73bcce319b ktap: Update to 0.5-e7a38ef0
This adds a new, useful net library as well.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-03-02 05:52:36 -06:00
Austin Seipp 6a88b95ac7 checksec: add homepage
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-03-02 05:51:49 -06:00
Austin Seipp 7d561c5ba9 spark: Remove unneeded whitespace.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-03-02 05:51:22 -06:00
Austin Seipp 433257ad94 cb0cat: add 'unix' to platforms list
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-03-02 05:50:35 -06:00
Song Wenwu 08d739ea4c libass: update to 0.11.1, add more meta attributes
Close #1865.
2014-03-02 12:35:57 +01:00
Mathijs Kwik cba5d36df1 haskell-parsers: remove old versions 2014-03-02 08:41:45 +01:00
Mathijs Kwik 13f8c07b54 haskell-trifecta: remove old versions 2014-03-02 08:41:45 +01:00
Mathijs Kwik 3a7e38eb1a idris: no longer depends on old versions of trifecta and parsers 2014-03-02 08:41:45 +01:00
Mathijs Kwik d2dd22651d idris-mode: upgrade to current version 2014-03-02 08:41:45 +01:00
Song Wenwu 2e99141805 renpy: update to 6.17.2 2014-03-02 12:46:47 +08:00
Thomas Tuegel 2bd2747a50 arpack: version 3.1.5, fix pkgconfig 2014-03-01 18:46:53 -06:00
Matej Cotman f4a3ea123b fix torbrowser build by adding /lib64 for 64 bit systems 2014-03-01 22:37:39 +01:00
Thomas Tuegel 90759ebf63 Add pcmanfm-1.2.0 2014-03-01 12:39:11 -06:00
Arseniy Seroka 350277d9c5 dwb: update version 2014-03-01 22:23:52 +04:00
Eelco Dolstra 405ea01e67 Add aangifte-2013 2014-03-01 16:54:16 +01:00
Evgeny Egorochkin 031a44a817 inetutils: update from 1.9.1 to 1.9.2 2014-03-01 05:29:14 +02:00
Evgeny Egorochkin 399269e6e0 help2man: update from 1.43.3 to 1.44.1 2014-03-01 05:26:44 +02:00
Evgeny Egorochkin 2291ae241c homebank: update from 4.5.4 to 4.5.5 2014-03-01 05:25:28 +02:00
Evgeny Egorochkin 26514f98d0 libinfinity: update from 0.5.4 to 0.5.5 2014-03-01 05:19:40 +02:00
Evgeny Egorochkin e346341b95 libmemcached: update from 1.0.8 to 1.0.18 2014-03-01 05:17:16 +02:00
Evgeny Egorochkin e38341fee2 manpages: update from 3.60 to 3.61 2014-03-01 05:13:49 +02:00
Thomas Tuegel c2e26097a7 openresolv: wrap resolvconf to set PATH 2014-02-28 23:30:19 +01:00
Thomas Tuegel f3e23d60ef NetworkManager: correct resolvconf executable name 2014-02-28 23:30:19 +01:00
Domen Kožar 7f01311f53 networkmanager: add opensresolv 2014-02-28 23:30:19 +01:00
Peter Simons 2bbe313090 haskell-Chart: jailbreak to fix build with lens 4.x
Fixes <https://github.com/timbod7/haskell-chart/issues/21>.
2014-02-28 19:49:50 +01:00
Peter Simons 6478f4da81 haskell-largeword: update to version 1.1.1 2014-02-28 19:48:19 +01:00
Peter Simons 6180ed8af3 haskell-packages.nix: switch default versions to aeson 0.7.x and lens 4.x
The only package remaining user of lens 3.x is the 'diagrams' package.
2014-02-28 19:48:19 +01:00
Kirill Elagin 72783a8c5b Add Symbola font 2014-02-28 21:55:07 +04:00
Eelco Dolstra 6c77e15f19 doxygen: Remove 1.7
Current 1.8 seems to generate LaTeX output fine.
2014-02-28 18:33:45 +01:00
Moritz Maxeiner 997fffb54e Set meta.platforms attribute to platforms.linux for Seafile packages and their prerequisites 2014-02-28 17:24:43 +01:00
Moritz Maxeiner 0fef1c502b Add indentation for multi-line strings in seafile-client expression 2014-02-28 17:06:18 +01:00
Domen Kožar 037684283a typo 2014-02-28 16:47:15 +01:00
Eelco Dolstra 4c2d1184fa flashtool: Fix evaluation 2014-02-28 16:18:31 +01:00
Eelco Dolstra ed4fd067bc doxygen: Update to 1.8.6 2014-02-28 16:18:31 +01:00
Domen Kožar 9f67bfe7d2 pythonPackages.pytz: 2012c -> 2013.9, fix Babel 2014-02-28 16:11:53 +01:00
Peter Simons 2438017f30 haskell-yesod-form: update to version 1.3.5.2 2014-02-28 13:01:01 +01:00
Peter Simons 5b49774651 haskell-text-stream-decode: update to version 0.1.0.4 2014-02-28 13:01:01 +01:00
Peter Simons cbc1e6fa6f haskell-shake: update to version 0.11.3 2014-02-28 13:01:01 +01:00
Peter Simons 8d5a80645e haskell-pipes-postgresql-simple: update to version 0.1.2.0 2014-02-28 13:01:01 +01:00
Peter Simons 057bbc47a2 haskell-network-conduit-tls: update to version 1.0.4.2 2014-02-28 13:01:01 +01:00
Peter Simons 648adb5447 haskell-mono-traversable: update to version 0.3.0.3 2014-02-28 13:01:01 +01:00
Peter Simons 56201a4996 haskell-mime: update to version 0.4.0.1 2014-02-28 13:01:01 +01:00
Peter Simons 40d3105e81 haskell-iproute: update to version 1.2.12 2014-02-28 13:01:01 +01:00
Peter Simons e515209b0d haskell-hamlet: update to version 1.1.9.2 2014-02-28 13:01:01 +01:00
Peter Simons 417d6bd4f6 haskell-conduit: update to version 1.0.15.1 2014-02-28 13:01:00 +01:00
Peter Simons dfa12250a6 haskell-MemoTrie: update to version 0.6.2 2014-02-28 13:01:00 +01:00
Peter Simons f9fd012c03 haskell-JuicyPixels: update to version 3.1.4.1 2014-02-28 13:01:00 +01:00
Peter Simons 8cd17a8b03 haskell-git-annex: update to version 5.20140227 2014-02-28 13:01:00 +01:00
Peter Simons 861061cf65 haskell-yi: update to version 0.7.1 2014-02-28 13:01:00 +01:00
Peter Simons fbd5795852 haskell-yi-contrib: update to version 0.7.1 2014-02-28 13:01:00 +01:00
Peter Simons 849b16129c haskell-largeword: update to version 1.1.0
The latest version of largeword needs "jailbreak" to fix inconsistent version
requirements within its own Cabal file:

  https://github.com/idontgetoutmuch/largeword/issues/6
2014-02-28 13:01:00 +01:00
Peter Simons 723f85d293 haskell-singletons: re-generate with cabal2nix 2014-02-28 13:01:00 +01:00
Peter Simons e5b65b7f1d haskell-scotty: re-generate with cabal2nix 2014-02-28 13:01:00 +01:00
Peter Simons f019d8e101 haskell-libjenkins: re-generate with cabal2nix 2014-02-28 13:01:00 +01:00
Arseniy Seroka dbafe00eba haskell-lushtags: add version 0.0.1 2014-02-28 12:20:33 +01:00
Peter Simons 893fc5e2f3 flashtool: add a license tag 2014-02-28 12:13:46 +01:00
Peter Simons 88078e4379 flashtool: clean up the build some more 2014-02-28 12:13:46 +01:00
Eelco Dolstra 34874dac7a google-talk-plugin: Update to 5.1.5.0 2014-02-28 11:05:47 +01:00
Eelco Dolstra 19350fac66 nixUnstable: Update to 1.7pre3520_1017bd6 2014-02-28 11:05:47 +01:00
Peter Simons 6c6c145ffc all-packages.nix: strip trailing whitespace 2014-02-28 11:02:46 +01:00
Peter Simons 21234d5f1a flashtool: add version 0.9.14.0 2014-02-28 11:02:31 +01:00
Domen Kožar 9fc9fcde6c gnome3.gitg, gnome3.empathy: fix icons 2014-02-28 10:17:49 +01:00
Peter Simons 12e00cbaa7 Merge pull request #1846 from klao/agda-mode
Byte-compile Agda's elisp files
2014-02-28 10:14:43 +01:00
Peter Simons 639374f32d Merge pull request #1843 from ocharles/haskellPackages.singletons
haskellPackages.singletons: New expression
2014-02-28 10:14:09 +01:00
Domen Kožar a8c77b6084 fix eval 2014-02-28 09:11:50 +01:00
Domen Kožar e9f3199973 add gstreamer 1.0 setup-hook and use it where appropriate 2014-02-28 02:03:07 +01:00
Domen Kožar b192f9ee13 gnome3 apps: correctly render icons 2014-02-28 01:40:21 +01:00
Luca Bruno 53fbbe3262 gnome3: Setup hook for gdk-pixbuf and gnome-icon-theme
Add necessary paths to the environment so that
applications can find icons.
2014-02-28 01:40:21 +01:00
Ricardo M. Correia 84011efb74 paxctl: Use http instead of https
This is needed since paxctl is going to be added to stdenv but
early stdenv curl does not support https.
2014-02-28 00:15:55 +01:00
Sander van der Burg 70449b220d androidsdk: fix activity launching 2014-02-27 23:08:13 +01:00
mornfall d74c40d6bf Merge pull request #1848 from thoughtpolice/cb0cat
cb0cat: version 20131216153906
2014-02-27 19:50:40 +01:00
mornfall 5fe6abc099 Merge pull request #1824 from thoughtpolice/ktap
ktap: add v0.5-dev from git
2014-02-27 19:48:29 +01:00
mornfall 3b41a4ef0e Merge pull request #1822 from thoughtpolice/spark
spark: version 0.9.0
2014-02-27 19:47:53 +01:00
mornfall 2d9492b14d Merge pull request #1793 from thoughtpolice/reptyr
reptyr: version 0.5
2014-02-27 19:47:19 +01:00
Sander van der Burg 9d7b1dca8f androidsdk: only create AVD if needed + some fixes 2014-02-27 19:26:18 +01:00
Matthew Sackman 5e09175765 add serfdom (close #1672) 2014-02-27 19:18:28 +01:00
Sander van der Burg 416db1de92 androidsdk: Make AVD storage dir configurable and make activation step optional 2014-02-27 18:46:06 +01:00
Evgeny Egorochkin fb448ba4a1 p11_kit: update from 0.20.1 to 0.20.2 2014-02-27 18:56:09 +02:00
Evgeny Egorochkin 3b6d3eebc5 nodejs: update from 0.10.25 to 0.10.26 2014-02-27 18:53:48 +02:00
Evgeny Egorochkin 6eecf5f03f parallel: update from 20130422 to 20140222 2014-02-27 18:52:05 +02:00
Evgeny Egorochkin d189a57fd7 ncdu: update from 1.8 to 1.10 2014-02-27 18:49:28 +02:00
Evgeny Egorochkin 6ef0c3220e mpd: update from 0.18.5 to 0.18.8 2014-02-27 18:48:22 +02:00
Evgeny Egorochkin 638957269b mjpegtools: update from 2.0.0 to 2.1.0 2014-02-27 18:45:04 +02:00
Evgeny Egorochkin de2de21e4a libmicrohttpd: update from 0.9.33 to 0.9.34 2014-02-27 18:41:00 +02:00
Evgeny Egorochkin 8121dc2aa6 libtorrentRasterbar: update from 0.16.14 to 0.16.15 2014-02-27 18:37:44 +02:00
Evgeny Egorochkin d380290640 vlc: update from 2.1.3 to 2.1.4 2014-02-27 18:35:34 +02:00
Domen Kožar 65a34b7f85 add kazam 2014-02-27 16:37:35 +01:00
Domen Kožar 9019998576 refactor cython into pythonPackages, fixes #1803 2014-02-27 16:37:35 +01:00
Mihaly Barasz d7df8b41a3 Byte-compile Agda's elisp files 2014-02-27 15:05:29 +01:00
Domen Kožar ab0aae42a4 couchdb: remove redundant customConfigFile 2014-02-27 14:34:19 +01:00
Rok Garbas a6a3b22bc0 removing unused couchdb files 2014-02-27 13:34:11 +01:00
Rok Garbas 62438c09f7 update couchdb to 1.5.0(current latest) and add service for it 2014-02-27 13:34:11 +01:00
Domen Kožar c23ec33c77 Add selenium-server-standalone (submitted by coreyoconnor) 2014-02-27 13:06:33 +01:00
Austin Seipp 2059d4c339 cb0cat: version 20131216153906
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-02-27 00:01:59 -06:00
Evgeny Egorochkin 05c19ced9b linuxPackages_3_12.perf: update from 3.12.12 to 3.12.13 2014-02-26 20:49:27 +02:00
Evgeny Egorochkin 68e9829134 youtubeDL: update from 2014.02.19.1 to 2014.02.26 2014-02-26 20:47:30 +02:00
Oliver Charles 08dfbebbf1 haskellPackages.singletons: New expression
Haddock's are disabled for the singletons library as it can't yet
understand some of the extensions that this library uses.
2014-02-26 16:21:47 +00:00
Shea Levy 1ce6fff4e2 Merge mysql55 module into mysql
This also removes the default for services.mysql.package, as this should
not generally be updated automatically if we change the mysql attribute
2014-02-26 07:54:12 -05:00
Song Wenwu 687fe45582 renpy: update to 6.17.1 2014-02-26 19:21:46 +08:00
Shea Levy 2fd60ee948 Add graph-wrapper haskell package 2014-02-26 06:07:22 -05:00
Pascal Wittmann 78e7d5db00 calibre: upgrade from 1.23.0 to 1.25.0 2014-02-26 09:36:14 +01:00
aszlig b5de8156cb
Merge branch 'vmtools-windows-vm'.
This adds a new function in vmTools, called runInWindowsVM, which allows
to run a derivation within a Windows + Cygwin environment.

To use it, you need to pass a Windows ISO and product key, for example:

------------------------------------------------------
vmTools.runInWindowsVM (stdenv.mkDerivation {
  name = "hello-from-windows";

  windowsImage = {
    isoFile = /path/to/windows/image.iso;
    productKey = "ABCDE-FGHIJ-KLMNO-PQRST-UVWXY";
  };

  buildCommand = ''
    echo 'Look, I am running inside Windoze!'
    uname -a > "$out"
  '';
})
------------------------------------------------------

The derivation is then run within a special build process, which roughly
does something like this:

                ____________
               |            |
               | controller |
               |____________|
              /      |       \
  _________ /    ____|____     \___________      _______
 |         |    |         |    |           |    |       |
 | install | -> | suspend | -> | suspended | -> | build |
 |_________|    |_________|    |___________|    |_______|

There are three steps necessary to produce the builder, which in the end
is just a suspended Windows VM, running Cygwin and OpenSSH.

Those steps are essentially:

 * install: Install the base Windows VM with Cygwin and OpenSSH.
 * suspend: Run the installed VM and dump the memory into a state file.
 * suspended: Resume from the state file and execute the build.

Every build is based on the "suspended" step, which throws away all
changes except to the resulting output store path(s).

All of these steps are based on the controller, which is described in
greater detail in commit 276b72fb93.

The reason I'm merging this right in is because it actually adds a
feature that doesn't break existing functionality and only hooks into
vmTools with a single line.

To the contrary it even duplicates a bit of the code from vmTools, which
might be a good start for refactoring. I didn't do that within that
branch, because it otherwise *could* break existing functionality - VM
tests in particular.

Also, this implementation currently *only* supports Windows XP, because
the implementation was originally made for building a Software where the
majority of the users are using Windows XP and we need to do extensive
testing on that platform.

However, adding support for more recent versions is rather trivial. All
there needs to be done is adding a new unattended installation config in
unattended-image.nix.
2014-02-26 06:24:56 +01:00
aszlig 88ea17284e
vmTools: Hook in runInWindowsVM function.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 06:21:48 +01:00
aszlig 895a683d39
vm/windows: Add setup.ini for 32bit architecture.
Also update 64bit setup.ini and check whether we have a 64 bit stdenv in
order to choose the proper Cygwin version. Otherwise we now have the
setup.ini for 32bit available as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 06:20:24 +01:00
aszlig 623f1940c0
vm/windows: Make list of dependencies explicit.
So far, the VMs have always been using the native architecture, because
it was reimporting <nixpkgs> several times. Now, we propagate a list of
packages down to all sub-imports, which not only makes clearer which
dependencies a part actually has, but also will make it easier in case
we want to refactor those parts to use callPackage.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 05:43:34 +01:00
aszlig d8e66722a3
vm/windows: Factor out bootstrapping process.
This now isolates the vmTools integration from the bootstrap process and
thus removes our fixed Windows ISO and product key. The latter can now
be provided by an attribute "windowsImage" to runInWindowsVM.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:01 +01:00
aszlig e40f41e505
vm/windows: Collect exit code from xchg.
This is the last item that was missing to get a fully working
runInWindowsVM function. Apart from checking exit codes, we also now
have preVM/postVM hooks which we can use to write arbitrary constructs
around this architecture, without the need to worry about specific
details.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:00 +01:00
aszlig b01c9624cf
vm/windows: Add new runInWindowsVM function.
This function is quite similar to runInLinuxVM, but also ensures that
the builder is run decoupled of the Nix store and using the userland
inside the VM.

We're now picking up the environment variables saved in the previous
commit.

The reason we suppress all errors from the source operation is that it
would emit a ton of errors because we're trying to set read-only
variables.

Also, detecting whether the origBuilder is using the default builder
from the stdenv is currently a bit of a workaround until we have a
specialized pseudo-cross-stdenv someday in the future[TM].

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:00 +01:00
aszlig dd8b0fcf52
vm/windows: Save envirenoment before running VM.
Later, when we start the actual builder, we're going to restore those
environment variables. We're using "(set; declare -p)", here, because
the former is just printing _all_ environment variables, even those not
supported, and the latter only lists specifically declared variables,
which also encludes exports.

The "declare -p" command also emits those variables in a format similar
to the "export" command.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:00 +01:00
aszlig 707b7ad1bd
vm/windows: Generate mounts from an attribute set.
This is mainly to make it easier to quickly change mappings, without
making room for errors such as typos.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig 5258bbe4c9
vm/windows: Create fstab entries in suspended VM.
Cygwin initializes mounts on _every_ login via SSH and doesn't keep them
consistently like on Unix systems, that's why we need to also add fstab
entries for the bind mounts to the store and xchg shares.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig d16dae8d32
vm/windows: Use &&, not set -e in runAndSuspend.
We now have proper quoting, so we no longer need the workaround using
"set -e".

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig 084238c6ec
vm/windows: Fix perms of the Samba shares.
We now map all guest accounts to the root user, because in the end the
permissions of the current user boil down to the build user of the Nix
builder of the host. That way it's not possible to gain more permissions
at all and just makes the VM communication a lot easier.

However, setting "writable" to yes instead of "read only" to no doesn't
change anything here, I just found it to be clearer.

Also, we now no longer need to have a "nobody" user.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig 5241bb1d5e
vm/windows: Avoid shadowing the Nix store.
This is done by putting the non-initrd /nix/store into a subdirectory,
which we then chroot to and pass along the SSH command.

Also, we now collect the exit code after the chroot command and power
off the VM thereafter, because the store is no longer shadowed and we
have still access to the busybox inside the initrd.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:58 +01:00
aszlig a1d7974acd
vm/windows: Remove Samba from installMode.
This should trim down possible dependencies on the base installation and
hereby reduce the need for reinstallation of the damn VM to only changes
that affect the Windows installation and the base Cygwin + OpenSSH
setup.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:58 +01:00
aszlig fedf13e6cf
vm/windows: Implement and use "xchg" share.
This now finally introduces our xchg share and also uses it for
exchanging state while suspending a VM. However, accessing the _real_
Nix store still isn't possible because we're shadowing the directory in
the initrd.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:58 +01:00
aszlig 0ce1fd07fe
vm/windows: Reintroduce setting up /nix/store.
Now we're doing this at the point where we're saving the VM state.
Unfortunately it's not quite right, because the controller VM is shut
down _before_ we're saving the state, so the share gets disconnected
despite autodisconnect being deactivated during setup.

We can get around this issue by finally introducing the xchg share,
which is the last item to be implemented before we can merge to master.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:57 +01:00
aszlig aa65a7057f
vm/windows: Properly escape shell command.
Security-wise it's not a big issue because we're still sandboxed, but I
really don't want to write something like \\\\\\\\192.168.0.2\\\\share
in order to set up network shares.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:57 +01:00
aszlig cfa859d792
vm/windows: Don't init /nix/store on install.
We're going to do this during the suspendedVM phase, so we're able to
more easily change the shares without reinstalling the whole VM.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:57 +01:00
aszlig 3e91192f07
vm/windows: Wait for VDE switch to startup.
This could possibly cause flapping whenever qemu is too fast in starting
up. As we are running with the shell's -e flag, the socat check also
ensures that the VDE switch is properly started and causes the whole
build to fail, should it not start up within 20 seconds.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:56 +01:00
aszlig c731467e2c
vm/windows: Split install into several stages.
These stages are in particular:

 * Install of the bare Windows VM with Cygwin and shut down.
 * Boot up the same VM again without the installation media and dump the
   VMs memory to state.gz.
 * Resume from state.gz and build whatever we want to build.

Every single stage involves a new "controller", which is more like an
abstraction on the Nix side that constructs the madness described in
276b72fb93.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:56 +01:00
aszlig 5105e7f0bf
vm/windows: Update sha256 of Cygwin's setup.ini.
This is kinda stupid to do every little time the file is automatically
regenerated upstream. But let's see how often that happens and whether
it will become a major annoyance or not, and if yes, we might be forced
to include it in our source tree.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:55 +01:00
aszlig 9b1862ca1f
vm/windows: Move creating SSH key into install/.
This SSH key is specifically only for accessing the installed Cygwin
within the Windows VM, so we only need to expose the private key. Yes,
you heard right, the private key. It's not security-relevant because the
machine is completely read-only, only exposed to the filesystem and
networking is not available.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:54 +01:00
aszlig 4e21215d52
vm/windows: Move the installer into install/.
At least the largest portion of the installer, because in the end we
don't want the installer to *actually* save the state but only prepare
the base image.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:54 +01:00
aszlig 276b72fb93
vm: Introduce new Windows VM installer for Cygwin.
After quite a lot of fighting against Windows and its various
limitations, this new is the base architecture for installing and
accessing the Windows VM and thus the Cygwin environment inside it:

                .------------.
          .---> | vde_switch |
          |     `-[#]----[#]-'
          |        |      |
         ,'       .'      `---.___
       ,'    192.168.0.1          `.
       |          |            192.168.0.2
      ,'    _____[#]____           |
    ,'     |            |   ______[#]______
    |      | Windows VM |  |    .--'       |
    |      |____________|  |    |          |
    |             |  /|\   |  .-|          |
    | .---------. |   |    |  | |          |
  .-|-| manager |-'   |    |  | |          |
  | | `---------'     |    |  | |          |
  | |                 |    |  | |          |
  | | .-------------. |    | Samba         |
  | | | BOOTSTRAP   | |    |  | |          |
  | | |-------------| |    |  | |   .------|
  | `-| spawn VMs   |-+--> |  | `---| xchg | <-------.
  |   |-------------|      |  | .---^------|         |
  |   | install     |---.  |  `-| nixstore | <----.  |
  |   |-------------|   |  |    `----------|      |  |
  |---| suspend VM  |   |  |               |      |  |
  |   `------.------'   |  | Controller VM |      |  |
  |          |          |  |_______________|      |  |
  |       .--'          |         /|\            VirtIO
  |       |           __|__________:____________  |  |
  |      \|/         |  |          `.           | |  |
  | .------------.   |  |           :           | |  |
  | | REAL BUILD |   |  |   .-------^--------.  | |  |
  | |------------|   |  `-> | serial console |  | |  |
  `-| revive VM  |   |      `----------------'  | |  |
    |------------|   |------------.             | |  |
    | build      |-->| /nix/store >>>-----------|-'  |
    |------------|   |------------|             |    |
    | collect    |<--| xchg       >>>-----------|----'
    `-----.------'   |------------'             |
          |          |                          |
         \|/         |    |  |  __   ___  |     |
                     |    |--| |  | (__  -|-    |
    F I N I S H E D  |    |  | |__| ___)  |     |
                     |__________________________|

This might look a bit overwhelming, but let me try to explain:

We're starting at the base derivation ("BOOTSTRAP" above), where we
actually install the Cygwin envirenment. Over there we basically fire up
a vde_switch process and two virtual machines: One is the Windows
machine, the other is a NixOS machine, which serves as some kind of
proxy between the host and the Windows machine.

The reason we're doing this, is because we don't have a lot of options
for sharing files between a stock Windows machine and the host. In
earlier experiments, I've tried to communicate with the Windows guest by
using pipes and OpenSSH, but obviously this wasn't a big speed rush (or
to say it bluntly: It was fucking slow).

Using TCP/IP directly for accessing the guest would have been another
option, but it could lead to possible errors when the port or a range of
ports are in use at the Host system. Also, we would need to punch a hole
into the sandbox of the Nix builder (as it doesn't allow networking),
which in turn will possibly undermine deterministic builds/runs (well,
at least as deterministic as it can be, we're running Windows,
remember?).

So, let's continue: The responsibility of the NixOS (controller) VM is
to just wait until an SSH port becomes available on the Windows VM,
whereas the Windows VM itself is installed using an unattended
installation file provided via a virtual floppy image.

With the installation of the basic Windows OS, we directly install
Cygwin and start up an OpenSSH service.

At this point the bootstrapping is almost finished and as soon as the
port is available, the controller VM sets up Samba shares and makes it
available as drive letters within Windows and as bind mounts (for
example /nix/store) within Cygwin.

Finally we're making a snapshot of the memory of the Windows VM in order
to revive it within a few seconds when we want to build something.

Now, the build process itself is fairly straightforward: Revive VM and
build based on existing store derivations and collect the result _and_
the exit code from the xchg share/directory.

Conclusion: This architecture may sound a bit complicated, but we're
trying to achieve deterministic and reproducable builds and/or test
runs.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:53 +01:00
Shea Levy c11f32acdf scotty: jailbreak
Needed when overriding aeson to the new version, which in turn is needed
if using scotty on a project that also uses lens 4.0.
2014-02-25 11:14:07 -05:00
Shea Levy 9ef06bd387 Add libjenkins haskell package 2014-02-25 11:09:26 -05:00
Shea Levy 1f42fa7cc0 Add hspec-expectations-lens haskell package 2014-02-25 10:49:15 -05:00
Peter Simons ec09c7d34e haskell-cpphs: update to version 1.18.2 2014-02-25 00:25:28 +01:00
Peter Simons f49ce8adc7 haskell-threepenny-gui: update to version 0.4.1.0 2014-02-25 00:25:28 +01:00
Peter Simons 38d51bdf3b haskell-multirec: update to version 0.7.4 2014-02-25 00:25:28 +01:00
Peter Simons e4f4e42896 haskell-multiarg: update to version 0.24.0.4 2014-02-25 00:25:28 +01:00
Peter Simons 7fc5eea0f3 haskell-x509: update to version 1.4.9 2014-02-25 00:25:28 +01:00
Peter Simons 3b3afdce57 haskell-shakespeare-text: update to version 1.0.2 2014-02-25 00:25:28 +01:00
Peter Simons 3912c15aa8 haskell-io-streams: update to version 1.1.4.2 2014-02-25 00:25:28 +01:00
Peter Simons efcaa15444 haskell-hoogle: update to version 4.2.29 2014-02-25 00:25:28 +01:00
Peter Simons 75a2d1b2f0 haskell-crypto-pubkey-types: update to version 0.4.2.1 2014-02-25 00:25:28 +01:00
Peter Simons eedfd78218 haskell-asn1-encoding: update to version 0.8.1.3 2014-02-25 00:25:28 +01:00