From 2281d6c651d13e743c48596ae9a8a77efccffb53 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 5 Oct 2013 18:13:27 +0200 Subject: [PATCH 001/157] Make glib_networking available for dwbem --- pkgs/applications/networking/browsers/dwb/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index dd0cbc4eb4e1..e1c58acef441 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation { wrapProgram "$out/bin/dwb" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" + wrapProgram "$out/bin/dwbem" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" ''; meta = { From 1a062d1456c37cb45d58fb3325b4db39f96ca118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 6 Oct 2013 21:36:18 +0200 Subject: [PATCH 002/157] flightgear: 2.10.0 -> 2.12.0 (and make it run again) The current FlightGear expression doesn't work: bash$ nix-build -A flightgear /nix/store/3c47sibzb9h1vhnn0gnh692hkpjc5p5v-flightgear-2.10.0 bash$ ./result/bin/fgfs ERROR: The path '/nix/store/3c47sibzb9h1vhnn0gnh692hkpjc5p5v-flightgear-2.10.0/lib/FlightGear' does not exist in the file system. Base package check failed: Version [none] found at: /nix/store/3c47sibzb9h1vhnn0gnh692hkpjc5p5v-flightgear-2.10.0/lib/FlightGear Version 2.10.0 is required. Please upgrade/downgrade base package and set the path to your fgdata with --fg-root=path_to_your_fgdata We could probably make the 2.10.0 version run, but I had already upgraded it to 2.12.0 before I made it work. It seems only the data dir configuration was wrong/missing: FG_DATA_DIR="$out/share/FlightGear/". Simgear must be in version sync with flightgear, hence the upgrade. Most of the diff is because I rewrote the flightgear expression to what I think is the "new style". I wanted to add a preConfigure phase but didn't understand why this expression had custom phases. So I just rewrote the whole thing to something I consider more readable. --- .../development/libraries/simgear/default.nix | 6 +- pkgs/games/flightgear/default.nix | 80 ++++++++----------- 2 files changed, 35 insertions(+), 51 deletions(-) diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix index de8e1d1df1da..cb534cfbf313 100644 --- a/pkgs/development/libraries/simgear/default.nix +++ b/pkgs/development/libraries/simgear/default.nix @@ -1,7 +1,7 @@ x@{builderDefsPackage , plib, freeglut, xproto, libX11, libXext, xextproto, libXi , inputproto , libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg , freealut - , openscenegraph, openal, expat, cmake + , openscenegraph, openal, expat, cmake, apr , ...}: builderDefsPackage (a : @@ -13,11 +13,11 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="simgear"; - version="2.10.0"; + version="2.12.0"; name="${baseName}-${version}"; extension="tar.bz2"; url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}"; - hash="0pb148hb35p1c5iz0kpiclmswjl9bax9xfm087ldpxsqg9a0sb2q"; + hash="0spl6afk8rm96ss4lh7zy5561m5m2qgwsnqjyp35jr1gyyrc944f"; }; in rec { diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix index 9b9e7ab96806..c81bb23ccce6 100644 --- a/pkgs/games/flightgear/default.nix +++ b/pkgs/games/flightgear/default.nix @@ -1,58 +1,42 @@ -x@{builderDefsPackage - , freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib - , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto - , libXmu, libXt, simgear, zlib, boost, cmake, libpng - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl +, freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib +, libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto +, libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr +}: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="flightgear"; - version="2.10.0"; - name="${baseName}-${version}"; - extension="tar.bz2"; - url="http://ftp.linux.kiev.ua/pub/fgfs/Source/${name}.${extension}"; - hash="0pq5nwyxwp8ar5rr0jh8p04bv0i9i841m374jwd748csnsn28zh6"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +stdenv.mkDerivation rec { + version = "2.12.0"; + name = "flightgear-${version}"; + + src = fetchurl { + url = "http://ftp.linux.kiev.ua/pub/fgfs/Source/${name}.tar.bz2"; + sha256 = "0h9ka4pa2njxbvy5jlmnsjy5ynzms504ygqn7hd80g3c58drsjc4"; }; - datasrc = a.fetchurl { - url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-2.0.0.tar.bz2"; - sha256 = "0kvmvh5qycbpdjx12l20cbhljwimmcgww2dg4lkc2sky0kg14ic1"; + datasrc = fetchurl { + url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz"; + sha256 = "0qjvcj2cz7ypa91v95lws44fg8c1p0pazv24ljkai2m2r0jgsv8k"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ + freeglut freealut mesa libICE libjpeg openal openscenegraph plib + libSM libunwind libX11 xproto libXext xextproto libXi inputproto + libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr + ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doCmake" "doMakeInstall" "deployData"]; + preConfigure = '' + export cmakeFlagsArray=(-DFG_DATA_DIR="$out/share/FlightGear/") + ''; - deployData = a.fullDepEntry '' + postInstall = '' mkdir -p "$out/share/FlightGear" - cd "$out/share/FlightGear" - tar xvf ${datasrc} - '' ["minInit" "defEnsureDir"]; + tar xvf "${datasrc}" -C "$out/share/FlightGear/" --strip-components=1 + ''; - meta = { - description = "A flight simulator"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - #platforms = a.lib.platforms.linux; - license = a.lib.licenses.gpl2; + meta = with stdenv.lib; { + description = "Flight simulator"; + maintainers = with maintainers; [ raskin ]; + #platforms = platforms.linux; # disabled from hydra because it's so big + license = licenses.gpl2; }; - passthru = { - }; -}) x - +} From 97d79f95f9b93afc140913d4de06da0b15de60b0 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Wed, 9 Oct 2013 21:00:04 +0200 Subject: [PATCH 003/157] update dwb to the latest revision --- pkgs/applications/networking/browsers/dwb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index e1c58acef441..d8a7a23d50dc 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -6,8 +6,8 @@ stdenv.mkDerivation { src = fetchgit { url = "https://bitbucket.org/portix/dwb.git"; - rev = "4a4c3adb8fbc680a0a2b8c9d3d3a4105c07c2514"; - sha256 = "93e8f2c82609447d54a3c139c153cc66d37d3c6aa8922cd09717caa95fd8b1d5"; + rev = "84a8621787baded72e84afdd5cdda278cb81e007"; + sha256 = "5a32f3c21ad59b43935a16108244f84d260fafaea9b93d41e8de9ba9089ee7b0"; }; buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; From 4683774277854a5408fa271f7200c4ae79192365 Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Sat, 12 Oct 2013 01:04:59 +0200 Subject: [PATCH 004/157] experimental/vsftpd vsftpd improvements: - intorduce one declarative list of options - make docummentation strings more understandable and add missing options such as SSL/TLS support - Use environment.etc."vsftpd".text because I can't think about any reason why a shell script should be used. That code was written in 2009. --- nixos/.topmsg | 1 + nixos/modules/services/networking/vsftpd.nix | 183 +++++++++++++------ 2 files changed, 124 insertions(+), 60 deletions(-) create mode 100644 nixos/.topmsg diff --git a/nixos/.topmsg b/nixos/.topmsg new file mode 100644 index 000000000000..9632e5926312 --- /dev/null +++ b/nixos/.topmsg @@ -0,0 +1 @@ +improvements to vsftpd module diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 1b2432401def..265afb3618ca 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -4,12 +4,92 @@ with pkgs.lib; let + /* minimal secure setup: + + enable = true; + forceLocalLoginsSSL = true; + forceLocalDataSSL = true; + userlistDeny = false; + localUsers = true; + userlist = ["non-root-user" "other-non-root-user"]; + rsaCertFile = "/var/vsftpd/vsftpd.pem"; + + */ + cfg = config.services.vsftpd; inherit (pkgs) vsftpd; - yesNoOption = p : name : - "${name}=${if p then "YES" else "NO"}"; + yesNoOption = nixosName: vsftpdName: default: description: { + cfgText = "${vsftpdName}=${if getAttr nixosName cfg then "YES" else "NO"}"; + + nixosOption = { + name = nixosName; + value = mkOption { + inherit description default; + type = types.bool; + }; + }; + }; + + optionDescription = [ + + (yesNoOption "anonymousUser" "anonymous_enable" false '' + Whether to enable the anonymous FTP user. + '') + (yesNoOption "localUsers" "local_enable" false '' + Whether to enable FTP for local users. + '') + (yesNoOption "writeEnable" "write_enable" false '' + Whether any write activity is permitted to users. + '') + (yesNoOption "anonymousUploadEnable" "anon_upload_enable" false '' + Whether any uploads are permitted to anonymous users. + '') + (yesNoOption "anonymousMkdirEnable" "anon_mkdir_write_enable" false '' + Whether any uploads are permitted to anonymous users. + '') + (yesNoOption "chrootlocalUser" "chroot_local_user" false '' + Whether local users are confined to their home directory. + '') + (yesNoOption "userlistEnable" "userlist_enable" false '' + Whether users are included. + '') + (yesNoOption "userlistDeny" "userlist_deny" false '' + Specifies whether is a list of user + names to allow or deny access. + The default false means whitelist/allow. + '') + (yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" true '' + Only applies if is true. Non anonymous (local) users + must use a secure SSL connection to send a password. + '') + (yesNoOption "forceLocalDataSSL" "force_local_data_ssl" true '' + Only applies if is true. Non anonymous (local) users + must use a secure SSL connection for sending/receiving data on data connection. + '') + (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true '' '') + (yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '') + (yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '') + + { + cfgText = if cfg.rsaCertFile == null then "" + else '' + sslEnable=YES + rsa_cert_file=${cfg.rsaCertFile} + ''; + + nixosOption = { + name = "rsaCertFile"; + value = mkOption { + default = null; + description = '' + rsa certificate file. + ''; + }; + }; + } + ]; in @@ -26,52 +106,27 @@ in description = "Whether to enable the vsftpd FTP server."; }; - anonymousUser = mkOption { - default = false; - description = "Whether to enable the anonymous FTP user."; + userlist = mkOption { + default = []; + + description = '' + See . + ''; }; - anonymousUserHome = mkOption { - default = "/home/ftp"; - description = "Path to anonymous user data."; + userlistFile = mkOption { + default = pkgs.writeText "userlist" (concatMapStrings (x: "${x}\n") cfg.userlist); + description = '' + Newline separated list of names to be allowed/denied if + is true. Meaning see . + + The default is a file containing the users from . + + If explicitely set to null userlist_file will not be set in vsftpd's config file. + ''; }; - localUsers = mkOption { - default = false; - description = "Whether to enable FTP for local users."; - }; - - writeEnable = mkOption { - default = false; - description = "Whether any write activity is permitted to users."; - }; - - anonymousUploadEnable = mkOption { - default = false; - description = "Whether any uploads are permitted to anonymous users."; - }; - - anonymousMkdirEnable = mkOption { - default = false; - description = "Whether mkdir is permitted to anonymous users."; - }; - - chrootlocalUser = mkOption { - default = false; - description = "Whether local users are confined to their home directory."; - }; - - userlistEnable = mkOption { - default = false; - description = "Whether users are included."; - }; - - userlistDeny = mkOption { - default = false; - description = "Whether users are excluded."; - }; - - }; + } // (listToAttrs (catAttrs "nixosOption" optionDescription)) ; }; @@ -80,6 +135,15 @@ in config = mkIf cfg.enable { + assertions = [ + { + assertion = + (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null) + && (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null); + message = "vsftpd: If forceLocalLoginsSSL or forceLocalDataSSL is true then a rsaCertFile must be provided!"; + } + ]; + users.extraUsers = [ { name = "vsftpd"; uid = config.ids.uids.vsftpd; @@ -99,6 +163,21 @@ in gid = config.ids.gids.ftp; }; + # If you really have to access root via FTP use mkOverride or userlistDeny + # = false and whitelist root + services.vsftpd.userlist = if cfg.userlistDeny then ["root"] else []; + + environment.etc."vsftpd.conf".text = + concatMapStrings (x: "${x.cfgText}\n") optionDescription + + '' + ${if cfg.userlistFile == null then "" + else "userlist_file=${cfg.userlistFile}"} + background=NO + listen=YES + nopriv_user=vsftpd + secure_chroot_dir=/var/empty + ''; + jobs.vsftpd = { description = "vsftpd server"; @@ -107,22 +186,6 @@ in preStart = '' - # !!! Why isn't this generated in the normal way? - cat > /etc/vsftpd.conf < Date: Wed, 4 Sep 2013 21:29:37 +0200 Subject: [PATCH 005/157] Adding FriBID browser plugin FriBID is an open source software for the Swedish e-id system called BankID. FriBID also supports processor architectures and Linux/BSD distributions that the official software doesn't support. https://fribid.se/index.en.html FriBID plugin is a firefoxWrapper plugin. Enabled by setting: nixpkgs.config.enableFriBIDPlugin = true --- .../mozilla-plugins/fribid/builder.sh | 4 +++ .../mozilla-plugins/fribid/default.nix | 31 +++++++++++++++++++ .../fribid/emulated-version.patch | 12 +++++++ .../fribid/ipc-lazytrace.patch | 10 ++++++ .../fribid/plugin-linkfix.patch | 11 +++++++ .../translation-xgettext-to-intltool.patch | 16 ++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 7 files changed, 87 insertions(+) create mode 100644 pkgs/applications/networking/browsers/mozilla-plugins/fribid/builder.sh create mode 100644 pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix create mode 100644 pkgs/applications/networking/browsers/mozilla-plugins/fribid/emulated-version.patch create mode 100644 pkgs/applications/networking/browsers/mozilla-plugins/fribid/ipc-lazytrace.patch create mode 100644 pkgs/applications/networking/browsers/mozilla-plugins/fribid/plugin-linkfix.patch create mode 100644 pkgs/applications/networking/browsers/mozilla-plugins/fribid/translation-xgettext-to-intltool.patch diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/builder.sh b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/builder.sh new file mode 100644 index 000000000000..fb36125b3a17 --- /dev/null +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/builder.sh @@ -0,0 +1,4 @@ +source $stdenv/setup +export PREFIX=$out +configureFlags="--plugin-path=$out/lib/mozilla/plugins" +genericBuild diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix new file mode 100644 index 000000000000..7422654ec985 --- /dev/null +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk3, gettext, intltool }: + +let version = "1.0.2"; in +stdenv.mkDerivation rec { + name = "fribid-${version}"; + builder = ./builder.sh; + + src = fetchurl { + url = "https://fribid.se/releases/source/${name}.tar.bz2"; + sha256 = "d7cd9adf04fedf50b266a5c14ddb427cbb263d3bc160ee0ade03aca9d5356e5c"; + }; + + buildInputs = [ pkgconfig openssl libX11 gtk3 glib gettext intltool ]; + patches = [ + ./translation-xgettext-to-intltool.patch + ./plugin-linkfix.patch + ./emulated-version.patch + ./ipc-lazytrace.patch + ]; + + passthru.mozillaPlugin = "/lib/mozilla/plugins"; + + meta = { + description = "A browser plugin to manage Swedish BankID:s"; + homepage = http://fribid.se; + licenses = [ "GPLv2" "MPLv1" ]; + maintainers = [ stdenv.lib.maintainers.edwtjo ]; + platforms = with stdenv.lib.platforms; linux; + }; +} + diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/emulated-version.patch b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/emulated-version.patch new file mode 100644 index 000000000000..f730ad017b1d --- /dev/null +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/emulated-version.patch @@ -0,0 +1,12 @@ +--- a/common/defines.h 2012-11-14 18:02:43.000000000 +0100 ++++ b/common/defines.h 2013-09-20 19:17:45.669290630 +0200 +@@ -39,7 +39,7 @@ + #define RELEASE_TIME 1352912534 + #define IPCVERSION "10" + +-#define EMULATED_VERSION "4.15.0.14" ++#define EMULATED_VERSION "4.17.0.11" // Was 4.15.0.14 + #define DNSVERSION "2" + #define STATUSDOMAIN ".status.fribid.se" + + diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/ipc-lazytrace.patch b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/ipc-lazytrace.patch new file mode 100644 index 000000000000..b7d05ddd0ef5 --- /dev/null +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/ipc-lazytrace.patch @@ -0,0 +1,10 @@ +--- a/plugin/ipc.c 2012-11-14 18:02:43.000000000 +0100 ++++ b/plugin/ipc.c 2013-09-21 08:55:39.960265058 +0200 +@@ -74,6 +74,7 @@ + //close(pipeOut[PIPE_READ_END]); + + execvp(mainBinary, (char *const *)argv); ++ fprintf(stderr, "Wanted signing executable\t<%s>\n", mainBinary); + perror(BINNAME ": Failed to execute main binary"); + exit(1); + } else { diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/plugin-linkfix.patch b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/plugin-linkfix.patch new file mode 100644 index 000000000000..1128381238b4 --- /dev/null +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/plugin-linkfix.patch @@ -0,0 +1,11 @@ +--- a/plugin/Makefile 2013-09-18 13:55:11.091652553 +0200 ++++ b/plugin/Makefile 2013-09-18 13:58:27.513618750 +0200 +@@ -60,7 +60,7 @@ + for path in $(NPAPI_PLUGIN_PATHS); do \ + (../configure --internal--remove-link $(DESTDIR)$$path/libfribidplugin.so $(NPAPI_PLUGIN_LIB) || exit 1) && \ + install -d $(DESTDIR)$$path && \ +- ln -sf $(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \ ++ ln -sf $(DESTDIR)$(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \ + done + + uninstall: diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/translation-xgettext-to-intltool.patch b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/translation-xgettext-to-intltool.patch new file mode 100644 index 000000000000..dcac4f17928b --- /dev/null +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/translation-xgettext-to-intltool.patch @@ -0,0 +1,16 @@ +--- a/translations/Makefile 2013-09-18 07:25:16.503800613 +0200 ++++ b/translations/Makefile 2013-09-18 07:25:29.495869405 +0200 +@@ -38,7 +38,7 @@ + all: template.pot $(MOFILES) + + template.pot: $(POTFILES) $(DEFINES) +- xgettext -k_ -ktranslatable -d $(DOMAIN) --package-name=$(PACKAGENAME) --package-version=$(PACKAGEVERSION) --copyright-holder='YOUR NAME' -o $@ $(POTFILES) ++ intltool-update --gettext-package=$(PACKAGENAME) -o $@ sv + + .po.mo: + msgfmt $< -o $@ +--- a/translations/POTFILES.in 2013-09-16 20:28:56.766106014 +0200 ++++ b/translations/POTFILES.in 2013-09-18 13:15:05.252689648 +0200 +@@ -0,0 +1,2 @@ ++client/gtk.c ++client/gtk/sign.glade diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6cfc58204532..23d218e7654d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7727,6 +7727,8 @@ let fossil = callPackage ../applications/version-management/fossil { }; + fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { }; + fvwm = callPackage ../applications/window-managers/fvwm { }; geany = callPackage ../applications/editors/geany { }; @@ -8939,6 +8941,7 @@ let ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin + ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid ); libs = if cfg.enableQuakeLive or false From e6f2ac65e27d5f845a84be876680eed7e1a33b84 Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Sun, 15 Sep 2013 21:07:11 -0700 Subject: [PATCH 006/157] Gratuitous Space Battles. Needs libcurl.so.3, so put an old version of that in, too --- pkgs/games/gsb/default.nix | 68 ++++++++++++++++++++++++++ pkgs/tools/networking/curl/7.15.nix | 75 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 +++ 3 files changed, 150 insertions(+) create mode 100644 pkgs/games/gsb/default.nix create mode 100644 pkgs/tools/networking/curl/7.15.nix diff --git a/pkgs/games/gsb/default.nix b/pkgs/games/gsb/default.nix new file mode 100644 index 000000000000..b740fc026d97 --- /dev/null +++ b/pkgs/games/gsb/default.nix @@ -0,0 +1,68 @@ +{ stdenv, config, requireFile +, curl3, SDL, SDL_image, libpng12, libjpeg62, libvorbis, libogg, openal, mesa +, libX11, libXext, libXft, fontconfig, zlib }: + +# TODO: add i686 support + +stdenv.mkDerivation rec { + name = "gsb-1.56.0"; + + goBuyItNow = '' + We cannot download the full version automatically, as you require a license. + Once you bought a license, you need to add your downloaded version to the nix store. + You can do this by using "nix-prefetch-url file://gsb1324679796.tar.gz" in the + directory where you saved it. + ''; + + src = requireFile { + message = goBuyItNow; + name = "gsb1324679796.tar.gz"; + sha256 = "12jsz9v55w9zxwiz4kbm6phkv60q3c2kyv5imsls13385pzwcs8i"; + }; + + phases = "unpackPhase installPhase"; + + # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64 + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] + + ":" + stdenv.lib.makeLibraryPath [ SDL SDL_image libjpeg62 libpng12 mesa ] + + ":" + stdenv.lib.makeLibraryPath [ curl3 openal libvorbis libogg ] + + ":" + stdenv.lib.makeLibraryPath [ libX11 libXext libXft fontconfig zlib ] + + ":" + stdenv.gcc.gcc + "/lib64"; + + installPhase = '' + ensureDir $out/libexec/positech/GSB/ + ensureDir $out/bin + + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath $libPath ./GSB.bin.x86_64 + + cp -r * $out/libexec/positech/GSB/ + rm -rf $out/libexec/positech/GSB/lib64/ + + #makeWrapper doesn't do cd. :( + + cat > $out/bin/GSB << EOF + #!/bin/sh + cd $out/libexec/positech/GSB + exec ./GSB.bin.x86_64 + EOF + chmod +x $out/bin/GSB + ''; + + meta = { + description = "Gratuitous Space Battles"; + longDescription = '' + a strategy / management / simulation game that does away with all the + base building and delays and gets straight to the meat and potatoes of + science-fiction games : The big space battles fought by huge spaceships with + tons of laser beams and things going 'zap!', 'ka-boom!' and 'ka-pow!'. In GSB + you put your ships together from modular components, arrange them into fleets, + give your ships orders of engagement and then hope they emerge victorious from + battle (or at least blow to bits in aesthetically pleasing ways). + ''; + homepage = http://www.positech.co.uk/gratuitousspacebattles/index.html; + license = [ "unfree" ]; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + platforms = [ "x86_64-linux"] ; + }; + +} diff --git a/pkgs/tools/networking/curl/7.15.nix b/pkgs/tools/networking/curl/7.15.nix new file mode 100644 index 000000000000..0a87eaa944cd --- /dev/null +++ b/pkgs/tools/networking/curl/7.15.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchurl +, zlibSupport ? false, zlib ? null +, sslSupport ? false, openssl ? null +, scpSupport ? false, libssh2 ? null +, gssSupport ? false, gss ? null +, c-aresSupport ? false, c-ares ? null +, linkStatic ? false +}: + +assert zlibSupport -> zlib != null; +assert sslSupport -> openssl != null; +assert scpSupport -> libssh2 != null; +assert c-aresSupport -> c-ares != null; + +stdenv.mkDerivation rec { + name = "curl-7.15.0"; + + src = fetchurl { + url = "http://curl.haxx.se/download/archeology/${name}.tar.gz"; + sha256 = "061bgjm6rv0l9804vmm4jvr023l52qvmy9qq4zjv4lgqhlljvhz3"; + }; + + # Zlib and OpenSSL must be propagated because `libcurl.la' contains + # "-lz -lssl", which aren't necessary direct build inputs of + # applications that use Curl. + propagatedBuildInputs = with stdenv.lib; + optional zlibSupport zlib ++ + optional gssSupport gss ++ + optional c-aresSupport c-ares ++ + optional sslSupport openssl; + + preConfigure = '' + sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure + ''; + configureFlags = [ + ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" ) + ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) + ] + ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}" + ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}" + ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] + ; + + dontDisableStatic = linkStatic; + + CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else ""; + LDFLAGS = if linkStatic then "-static" else ""; + CXX = "g++"; + CXXCPP = "g++ -E"; + + # libtool hack to get a static binary. Notice that to 'configure' I passed + # other LDFLAGS, because it doesn't use libtool for linking in the tests. + makeFlags = if linkStatic then "LDFLAGS=-all-static" else ""; + + crossAttrs = { + # We should refer to the cross built openssl + # For the 'urandom', maybe it should be a cross-system option + configureFlags = [ + ( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" ) + "--with-random /dev/urandom" + ] + ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] + ; + }; + + passthru = { + inherit sslSupport openssl; + }; + + meta = { + homepage = "http://curl.haxx.se/"; + description = "A command line tool for transferring files with URL syntax"; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3bfa1e815eef..9ff6461998a7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -712,6 +712,11 @@ let scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin; }; + curl3 = callPackage ../tools/networking/curl/7.15.nix rec { + zlibSupport = true; + sslSupport = zlibSupport; + }; + cunit = callPackage ../tools/misc/cunit { }; curlftpfs = callPackage ../tools/filesystems/curlftpfs { }; @@ -4112,6 +4117,8 @@ let gav = callPackage ../games/gav { }; + gsb = callPackage ../games/gsb { }; + gdome2 = callPackage ../development/libraries/gdome2 { inherit (gnome) gtkdoc; }; From 1dd072f70d824b803d4e18d787ae26eef8bb598f Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Mon, 30 Sep 2013 22:45:43 -0700 Subject: [PATCH 007/157] i686 support for GSB --- pkgs/games/gsb/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/games/gsb/default.nix b/pkgs/games/gsb/default.nix index b740fc026d97..52c3830c22a4 100644 --- a/pkgs/games/gsb/default.nix +++ b/pkgs/games/gsb/default.nix @@ -2,7 +2,7 @@ , curl3, SDL, SDL_image, libpng12, libjpeg62, libvorbis, libogg, openal, mesa , libX11, libXext, libXft, fontconfig, zlib }: -# TODO: add i686 support +assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { name = "gsb-1.56.0"; @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { sha256 = "12jsz9v55w9zxwiz4kbm6phkv60q3c2kyv5imsls13385pzwcs8i"; }; + arch = if stdenv.system == "i686-linux" then "x86" else "x86_64"; + phases = "unpackPhase installPhase"; # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64 @@ -33,17 +35,21 @@ stdenv.mkDerivation rec { ensureDir $out/libexec/positech/GSB/ ensureDir $out/bin - patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath $libPath ./GSB.bin.x86_64 + patchelf \ + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $libPath \ + ./GSB.bin.$arch cp -r * $out/libexec/positech/GSB/ rm -rf $out/libexec/positech/GSB/lib64/ + rm -rf $out/libexec/positech/GSB/lib/ #makeWrapper doesn't do cd. :( cat > $out/bin/GSB << EOF #!/bin/sh cd $out/libexec/positech/GSB - exec ./GSB.bin.x86_64 + exec ./GSB.bin.$arch EOF chmod +x $out/bin/GSB ''; @@ -62,7 +68,7 @@ stdenv.mkDerivation rec { homepage = http://www.positech.co.uk/gratuitousspacebattles/index.html; license = [ "unfree" ]; maintainers = with stdenv.lib.maintainers; [ jcumming ]; - platforms = [ "x86_64-linux"] ; + platforms = [ "x86_64-linux" "i686-linux" ] ; }; } From ab744d2053a64ca13506e1533a3e69c00162c32b Mon Sep 17 00:00:00 2001 From: Malcolm Matalka Date: Sat, 12 Oct 2013 12:03:14 +0200 Subject: [PATCH 008/157] Add Ocaml 4.01.0. Close #1065. --- pkgs/development/compilers/ocaml/4.01.0.nix | 63 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/compilers/ocaml/4.01.0.nix diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix new file mode 100644 index 000000000000..c11bb7536be1 --- /dev/null +++ b/pkgs/development/compilers/ocaml/4.01.0.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchurl, ncurses, x11 }: + +let + useX11 = !stdenv.isArm && !stdenv.isMips; + useNativeCompilers = !stdenv.isMips; + inherit (stdenv.lib) optionals optionalString; +in + +stdenv.mkDerivation rec { + + name = "ocaml-4.01.0"; + + src = fetchurl { + url = "http://caml.inria.fr/pub/distrib/ocaml-4.01/${name}.tar.bz2"; + sha256 = "b1ca708994180236917ae79e17606da5bd334ca6acd6873a550027e1c0ec874a"; + }; + + prefixKey = "-prefix "; + configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ]; + buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; + buildInputs = [ncurses] ++ optionals useX11 [ x11 ]; + installTargets = "install" + optionalString useNativeCompilers " installopt"; + preConfigure = '' + CAT=$(type -tp cat) + sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang + ''; + postBuild = '' + mkdir -p $out/include + ln -sv $out/lib/ocaml/caml $out/include/caml + ''; + + passthru = { + nativeCompilers = useNativeCompilers; + }; + + meta = { + homepage = http://caml.inria.fr/ocaml; + licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + description = "OCaml, the most popular variant of the Caml language"; + + longDescription = + '' + OCaml is the most popular variant of the Caml language. From a + language standpoint, it extends the core Caml language with a + fully-fledged object-oriented layer, as well as a powerful module + system, all connected by a sound, polymorphic type system featuring + type inference. + + The OCaml system is an industrial-strength implementation of this + language, featuring a high-performance native-code compiler (ocamlopt) + for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, + Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) + and an interactive read-eval-print loop (ocaml) for quick development + and portability. The OCaml distribution includes a comprehensive + standard library, a replay debugger (ocamldebug), lexer (ocamllex) and + parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) + and a documentation generator (ocamldoc). + ''; + + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ff6461998a7..4ed374ef8255 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2862,6 +2862,8 @@ let ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; + ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { }; + orc = callPackage ../development/compilers/orc { }; metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; From 9653d9bbbd3b3744683a78e8e822e70f61fab2e0 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 16 Oct 2013 01:51:58 +0200 Subject: [PATCH 009/157] virt-manager: add vte as build input, so console works for lxc --- pkgs/applications/virtualization/virt-manager/default.nix | 6 ++++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index d1e2a8b7883d..de3e5c98d36b 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc}: +{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, + python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}: with stdenv.lib; @@ -18,7 +19,8 @@ stdenv.mkDerivation rec { distutils_extra simplejson readline glance cheetah lockfile httplib2 # !!! should libvirt be a build-time dependency? Note that # libxml2Python is a dependency of libvirt.py. - libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python gtkvnc + libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python + gtkvnc vte ]; buildInputs = diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4ed374ef8255..425adf2be438 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8849,6 +8849,7 @@ let virtviewer = callPackage ../applications/virtualization/virt-viewer {}; virtmanager = callPackage ../applications/virtualization/virt-manager { inherit (gnome) gnome_python; + vte = gnome.vte.override { pythonSupport = true; }; }; virtinst = callPackage ../applications/virtualization/virtinst {}; From c01a5b54429864c3b925928f825fa796f784cc3c Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 19 Oct 2013 19:49:10 +0200 Subject: [PATCH 010/157] synergy: Update to version 1.4.14. This new upstream release comes with the following changes: New features: * Drag and drop between computers (Windows and Mac) Fixed bugs: * Mac does not wake up * Unstable service (synergyd) * Exploit: C:\Program.exe (if it exists) is run by service (elevated) * Encryption broken (GCM, CTR and OFB) * Start button is visible when Synergy is running * Apply button is disabled for Mac and Linux Release announcement with links to detailed descriptions about each change can be found here: http://synergy-foss.org/blog/synergy-1-4-14/ Signed-off-by: aszlig --- pkgs/applications/misc/synergy/cryptopp.patch | 12 ++++++------ pkgs/applications/misc/synergy/default.nix | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/misc/synergy/cryptopp.patch b/pkgs/applications/misc/synergy/cryptopp.patch index f20ef9544a22..d0aebb872610 100644 --- a/pkgs/applications/misc/synergy/cryptopp.patch +++ b/pkgs/applications/misc/synergy/cryptopp.patch @@ -20,10 +20,10 @@ index 3b61fc0..2206646 100644 if (WIN32) # add /analyze in order to unconver potential bugs in the source code -diff --git a/src/lib/synergy/CCryptoMode.h b/src/lib/synergy/CCryptoMode.h +diff --git a/src/lib/io/CCryptoMode.h b/src/lib/io/CCryptoMode.h index 9b7e8ad..0d659ac 100644 ---- a/src/lib/synergy/CCryptoMode.h -+++ b/src/lib/synergy/CCryptoMode.h +--- a/src/lib/io/CCryptoMode.h ++++ b/src/lib/io/CCryptoMode.h @@ -17,9 +17,9 @@ #pragma once @@ -37,10 +37,10 @@ index 9b7e8ad..0d659ac 100644 #include "ECryptoMode.h" #include "CString.h" -diff --git a/src/lib/synergy/CCryptoStream.h b/src/lib/synergy/CCryptoStream.h +diff --git a/src/lib/io/CCryptoStream.h b/src/lib/io/CCryptoStream.h index 104b1f6..09c4dc4 100644 ---- a/src/lib/synergy/CCryptoStream.h -+++ b/src/lib/synergy/CCryptoStream.h +--- a/src/lib/io/CCryptoStream.h ++++ b/src/lib/io/CCryptoStream.h @@ -20,8 +20,8 @@ #include "BasicTypes.h" #include "CStreamFilter.h" diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 0b3734ea147a..72282ad0f3eb 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -7,11 +7,11 @@ assert !stdenv.isLinux -> unzip != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "synergy-1.4.12"; + name = "synergy-1.4.14"; src = fetchurl { - url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; - sha256 = "0j884skwqy8r8ckj9a4rlwsbjwb1yrj9wqma1nwhr2inff6hrdim"; + url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; + sha256 = "1sprg3yb0gjhl2927l4c5nymmqhg318ar6dpki8dr42dgvx3d2ir"; }; patches = optional stdenv.isLinux ./cryptopp.patch; From 4b06b42bc32026e448479764791ef6e05e0da5bc Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 19 Oct 2013 21:49:12 +0200 Subject: [PATCH 011/157] chromium: Update all channels to latest versions. This introduces version 32 as the new version for the development channel. Also, stable got a few security fixes, which are described here: http://googlechromereleases.blogspot.de/2013/10/stable-channel-update_15.html Overview of the updated channels: stable: 30.0.1599.66 -> 30.0.1599.101 beta: 30.0.1599.66 -> 31.0.1650.26 dev: 31.0.1650.4 -> 32.0.1671.3 Builds are passing and running fine. Apologies to everyone for the delayed update, real life sometimes becomes a major distraction ;-) Signed-off-by: aszlig --- .../networking/browsers/chromium/sources.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index 96c58ef8e9c9..ae49890caf34 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { dev = { - version = "31.0.1650.4"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.4.tar.xz"; - sha256 = "1i61izfn06ldxkgdrisdibbn5hrghyjslf81yszpw69k0z87k3lm"; + version = "32.0.1671.3"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1671.3.tar.xz"; + sha256 = "0bv86ig3mrd95zh78880bcyh9b8w46s7slxq3mwwmrmqp0s8qaq0"; }; beta = { - version = "30.0.1599.66"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.66.tar.xz"; - sha256 = "092ps4y4s544lswrqqk8qij5n7ax4bsfl5vdj5cwfncvsqpjds4g"; + version = "31.0.1650.26"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.26.tar.xz"; + sha256 = "14jvbjn7nsc4psi7n6rjsb5d930k4jawbgqlx3hkhmkz5nhbrplx"; }; stable = { - version = "30.0.1599.66"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.66.tar.xz"; - sha256 = "092ps4y4s544lswrqqk8qij5n7ax4bsfl5vdj5cwfncvsqpjds4g"; + version = "30.0.1599.101"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.101.tar.xz"; + sha256 = "0bd49k9qpycpp4z230pqwsi22565lzhyq59js34baawjqql6ynfr"; }; } From 1fc7d6ddb245ef78980df79333cd8b35de8a38bd Mon Sep 17 00:00:00 2001 From: aszlig Date: Sat, 19 Oct 2013 23:34:20 +0200 Subject: [PATCH 012/157] nixos/tests: Temporarily deactivate nixpart tests. Those tests are flapping and redundant to some degree, as two configurations are tested in NixOps as well. So, let's deactivate them until the 1.0 release of nixpart, which has a more general approach for automatically partitioning NixOS installations. Signed-off-by: aszlig --- nixos/tests/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index 16d45126de13..0c971f1b712b 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -25,7 +25,7 @@ with import ../lib/testing.nix { inherit system minimal; }; nfs3 = makeTest (import ./nfs.nix { version = 3; }); #nfs4 = makeTest (import ./nfs.nix { version = 4; }); openssh = makeTest (import ./openssh.nix); - partition = makeTest (import ./partition.nix); + #partition = makeTest (import ./partition.nix); printing = makeTest (import ./printing.nix); proxy = makeTest (import ./proxy.nix); quake3 = makeTest (import ./quake3.nix); From af0e2ccf45126ed0fb1999287b6af7bfac57a820 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sun, 20 Oct 2013 01:35:09 +0200 Subject: [PATCH 013/157] zope2 service... indentation fix --- nixos/modules/services/web-servers/zope2.nix | 185 ++++++++++--------- 1 file changed, 94 insertions(+), 91 deletions(-) diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix index 19afa55d7fef..f75b62b219a7 100644 --- a/nixos/modules/services/web-servers/zope2.nix +++ b/nixos/modules/services/web-servers/zope2.nix @@ -37,14 +37,14 @@ let default = '' - mount-point / - cache-size 30000 - - blob-dir /var/lib/zope2/${name}/blobstorage - - path /var/lib/zope2/${name}/filestorage/Data.fs - - + mount-point / + cache-size 30000 + + blob-dir /var/lib/zope2/${name}/blobstorage + + path /var/lib/zope2/${name}/filestorage/Data.fs + + ''; type = types.string; @@ -76,14 +76,14 @@ in extra = '' - mount-point / - cache-size 30000 - - blob-dir /var/lib/zope2/plone01/blobstorage - - path /var/lib/zope2/plone01/filestorage/Data.fs - - + mount-point / + cache-size 30000 + + blob-dir /var/lib/zope2/plone01/blobstorage + + path /var/lib/zope2/plone01/filestorage/Data.fs + + ''; @@ -107,32 +107,32 @@ in let interpreter = pkgs.writeScript "interpreter" '' -import sys + import sys -_interactive = True -if len(sys.argv) > 1: - _options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:') - _interactive = False - for (_opt, _val) in _options: - if _opt == '-i': - _interactive = True - elif _opt == '-c': - exec _val - elif _opt == '-m': - sys.argv[1:] = _args - _args = [] - __import__("runpy").run_module( - _val, {}, "__main__", alter_sys=True) + _interactive = True + if len(sys.argv) > 1: + _options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:') + _interactive = False + for (_opt, _val) in _options: + if _opt == '-i': + _interactive = True + elif _opt == '-c': + exec _val + elif _opt == '-m': + sys.argv[1:] = _args + _args = [] + __import__("runpy").run_module( + _val, {}, "__main__", alter_sys=True) - if _args: - sys.argv[:] = _args - __file__ = _args[0] - del _options, _args - execfile(__file__) + if _args: + sys.argv[:] = _args + __file__ = _args[0] + del _options, _args + execfile(__file__) -if _interactive: - del _interactive - __import__("code").interact(banner="", local=globals()) + if _interactive: + del _interactive + __import__("code").interact(banner="", local=globals()) ''; env = pkgs.buildEnv { name = "zope2-${name}-env"; @@ -149,73 +149,76 @@ if _interactive: ''; }; conf = pkgs.writeText "zope2-${name}-conf" - ''%define INSTANCEHOME ${env} -instancehome $INSTANCEHOME -%define CLIENTHOME /var/lib/zope2/${name} -clienthome $CLIENTHOME + '' + %define INSTANCEHOME ${env} + instancehome $INSTANCEHOME + %define CLIENTHOME /var/lib/zope2/${name} + clienthome $CLIENTHOME -debug-mode off -security-policy-implementation C -verbose-security off -default-zpublisher-encoding utf-8 -zserver-threads ${toString opts.threads} -effective-user ${opts.user} + debug-mode off + security-policy-implementation C + verbose-security off + default-zpublisher-encoding utf-8 + zserver-threads ${toString opts.threads} + effective-user ${opts.user} -pid-filename /var/lib/zope2/${name}/pid -lock-filename /var/lib/zope2/${name}/lock -python-check-interval 1000 -enable-product-installation off + pid-filename /var/lib/zope2/${name}/pid + lock-filename /var/lib/zope2/${name}/lock + python-check-interval 1000 + enable-product-installation off - - zope_i18n_compile_mo_files false - + + zope_i18n_compile_mo_files false + - -level INFO - - path /var/log/zope2/${name}.log - level INFO - - + + level INFO + + path /var/log/zope2/${name}.log + level INFO + + - -level WARN - - path /var/log/zope2/${name}-Z2.log - format %(message)s - - + + level WARN + + path /var/log/zope2/${name}-Z2.log + format %(message)s + + - -address ${opts.http_address} - + + address ${opts.http_address} + - - - name temporary storage for sessioning - -mount-point /temp_folder -container-class Products.TemporaryFolder.TemporaryContainer - + + + name temporary storage for sessioning + + mount-point /temp_folder + container-class Products.TemporaryFolder.TemporaryContainer + -${opts.extra} + ${opts.extra} ''; ctlScript = pkgs.writeScript "zope2-${name}-ctl-script" - ''#!${env}/bin/python + '' + #!${env}/bin/python -import sys -import plone.recipe.zope2instance.ctl + import sys + import plone.recipe.zope2instance.ctl -if __name__ == '__main__': - sys.exit(plone.recipe.zope2instance.ctl.main( - ["-C", "${conf}"] - + sys.argv[1:])) + if __name__ == '__main__': + sys.exit(plone.recipe.zope2instance.ctl.main( + ["-C", "${conf}"] + + sys.argv[1:])) ''; ctl = pkgs.writeScript "zope2-${name}-ctl" - ''#!${pkgs.bash}/bin/bash -e -export PYTHONHOME=${env} -exec ${ctlScript} "$@" + '' + #!${pkgs.bash}/bin/bash -e + export PYTHONHOME=${env} + exec ${ctlScript} "$@" ''; in { description = "zope2 ${name} instance"; From 90a234130076f425d38588d101370ff975805a2b Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Mon, 5 Aug 2013 18:09:12 +0000 Subject: [PATCH 014/157] grsecurity: generate linuxPackages and declare that apparmor is included --- pkgs/os-specific/linux/kernel/patches.nix | 2 ++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 73533104ca9a..d642c139f6ec 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -137,6 +137,8 @@ rec { url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309101928.patch; sha256 = "90f9ddc74d56f4525b8faa8505a95f45c23a2e763c7519ba5ae953069a51aca2"; }; + # The grsec kernel patch seems to include the apparmor patches as of 2.9.1-3.2.51 + features.apparmor = true; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 425adf2be438..2790b1796840 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6779,6 +6779,7 @@ let linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0); linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor; + linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity; linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor; From d32636dac4d1025a8934f5f055eb09dee25f4da9 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Tue, 17 Sep 2013 03:14:21 +0200 Subject: [PATCH 015/157] grsecurity: Update to 2.9.1-3.2.51-201309281102 --- pkgs/os-specific/linux/kernel/patches.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index d642c139f6ec..5bda5b1f263c 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -134,8 +134,8 @@ rec { grsecurity_2_9_1_3_2_51 = { name = "grsecurity-2.9.1-3.2.51"; patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309101928.patch; - sha256 = "90f9ddc74d56f4525b8faa8505a95f45c23a2e763c7519ba5ae953069a51aca2"; + url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309281102.patch; + sha256 = "0mwwdmccihzhl25c9q92x0k33c5kxbz6mikid9diramvki7sk0l8"; }; # The grsec kernel patch seems to include the apparmor patches as of 2.9.1-3.2.51 features.apparmor = true; From ee6e45ad4bbaf82611fdbadae0da8981b2432c66 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Thu, 26 Sep 2013 19:44:56 +0200 Subject: [PATCH 016/157] grsecurity: Enable gcc plugins --- pkgs/top-level/all-packages.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2790b1796840..8633e9fe7400 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6579,7 +6579,22 @@ let linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: { kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_51 ]; - })) (args: { makeFlags = "DISABLE_PAX_PLUGINS=y";})); + })) (args: { + # Install gcc plugins. These are needed for compiling dependant packages. + postInstall = '' + ${args.postInstall or ""} + cp tools/gcc/*.so $out/lib/modules/$version/build/tools/gcc/ + ''; + # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) + # include libgmp headers, so we need these extra tweaks + buildInputs = args.buildInputs ++ [ gmp ]; + preConfigure = '' + ${args.preConfigure or ""} + sed -i 's|-I|-I${gmp}/include -I|' scripts/gcc-plugin.sh + sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile + sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile + ''; + })); linux_3_2_apparmor = lowPrio (linux_3_2.override { kernelPatches = [ kernelPatches.apparmor_3_2 ]; From 9338780b6dee788bb207e2e04a3c8717cb4383cc Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Thu, 26 Sep 2013 19:54:01 +0200 Subject: [PATCH 017/157] grsecurity: Add clarifying note. close #1015. --- pkgs/top-level/all-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8633e9fe7400..6fe6ee466caa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6577,6 +6577,9 @@ let ]; }; + # Note: grsec is not enabled automatically, you need to specify which kernel + # config options you need (e.g. by overriding extraConfig). See list of options here: + # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: { kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_51 ]; })) (args: { From ba31f05600a151e4f47be0c8a55be139d60b2601 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sat, 5 Oct 2013 18:13:27 +0200 Subject: [PATCH 018/157] dwb: make glib_networking available for dwbem --- pkgs/applications/networking/browsers/dwb/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index b120ebcac54e..02fbbf7e1160 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation { wrapProgram "$out/bin/dwb" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" + wrapProgram "$out/bin/dwbem" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" ''; meta = { From f6a96f71127b031590e1e50e311af7f1da6a4de5 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Wed, 9 Oct 2013 21:00:04 +0200 Subject: [PATCH 019/157] dwb: update to the latest revision --- pkgs/applications/networking/browsers/dwb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index 02fbbf7e1160..0421a8a6c6a8 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -6,8 +6,8 @@ stdenv.mkDerivation { src = fetchgit { url = "https://bitbucket.org/portix/dwb.git"; - rev = "4a4c3adb8fbc680a0a2b8c9d3d3a4105c07c2514"; - sha256 = "93e8f2c82609447d54a3c139c153cc66d37d3c6aa8922cd09717caa95fd8b1d5"; + rev = "84a8621787baded72e84afdd5cdda278cb81e007"; + sha256 = "5a32f3c21ad59b43935a16108244f84d260fafaea9b93d41e8de9ba9089ee7b0"; }; buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; From 81ef604ae037925ae23133df140a2c38026f530a Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sun, 20 Oct 2013 11:42:31 +0200 Subject: [PATCH 020/157] linux 3.11.6 --- pkgs/os-specific/linux/kernel/linux-3.11.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix index 6a3320669a51..6531895d8a7b 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.11.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.11.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.11.4"; + version = "3.11.6"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1kv6j7mc5r5qw43kirc0fv83khpnwy8m7158qf8ar08p3r01i3mi"; + sha256 = "0klbyx6qy3ifwrwh5w7yzk6m6jd32flkk73z95bih3ihmbnbzlvs"; }; features.iwlwifi = true; From 9230ae652240080276e9ffc3033b244b987e4387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 15 Oct 2013 03:16:10 +0200 Subject: [PATCH 021/157] munin: refactor package and add nixos service --- nixos/modules/module-list.nix | 1 + nixos/modules/services/monitoring/munin.nix | 216 ++++++++++++++++++ .../munin/adding_servicedir_munin-node.patch | 84 +++++++ pkgs/servers/monitoring/munin/default.nix | 48 +++- ...dont_preserve_source_dir_permissions.patch | 18 ++ 5 files changed, 358 insertions(+), 9 deletions(-) create mode 100644 nixos/modules/services/monitoring/munin.nix create mode 100644 pkgs/servers/monitoring/munin/adding_servicedir_munin-node.patch create mode 100644 pkgs/servers/monitoring/munin/dont_preserve_source_dir_permissions.patch diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b835907c82f6..06dbdc215a53 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -128,6 +128,7 @@ ./services/monitoring/dd-agent.nix ./services/monitoring/graphite.nix ./services/monitoring/monit.nix + ./services/monitoring/munin.nix ./services/monitoring/nagios/default.nix ./services/monitoring/smartd.nix ./services/monitoring/statsd.nix diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix new file mode 100644 index 000000000000..fea52fa56081 --- /dev/null +++ b/nixos/modules/services/monitoring/munin.nix @@ -0,0 +1,216 @@ +{ config, pkgs, ... }: + +# TODO: support munin-async +# TODO: LWP/Pg perl libs aren't recognized + +# TODO: support fastcgi +# http://munin-monitoring.org/wiki/CgiHowto2 +# spawn-fcgi -s /var/run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph +# spawn-fcgi -s /var/run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html +# https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum +# nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html + + +with pkgs.lib; + +let + nodeCfg = config.services.munin-node; + cronCfg = config.services.munin-cron; + + muninPlugins = pkgs.stdenv.mkDerivation { + name = "munin-available-plugins"; + buildCommand = '' + mkdir -p $out + + cp --preserve=mode ${pkgs.munin}/lib/plugins/* $out/ + + for file in $out/*; do + case "$file" in + plugin.sh) continue;; + esac + + # read magic makers from the file + family=$(sed -nr 's/.*#%#\s+family\s*=\s*(\S+)\s*/\1/p' $file) + cap=$(sed -nr 's/.*#%#\s+capabilities\s*=\s*(.+)/\1/p' $file) + + wrapProgram $file \ + --set PATH "/run/current-system/sw/bin:/run/current-system/sw/sbin" \ + --set MUNIN_LIBDIR "${pkgs.munin}/lib" \ + --set MUNIN_PLUGSTATE "/var/run/munin" + + # munin uses markers to tell munin-node-configure what a plugin can do + echo "#%# family=$family" >> $file + echo "#%# capabilities=$cap" >> $file + done + + # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak) + rm -f $out/diskstats + ''; + buildInputs = [ pkgs.makeWrapper ]; + }; + + muninConf = pkgs.writeText "munin.conf" + '' + dbdir /var/lib/munin + htmldir /var/www/munin + logdir /var/log/munin + rundir /var/run/munin + + ${cronCfg.extraGlobalConfig} + + ${cronCfg.hosts} + ''; + + nodeConf = pkgs.writeText "munin-node.conf" + '' + log_level 3 + log_file Sys::Syslog + port 4949 + host * + background 0 + user root + group root + host_name ${config.networking.hostName} + setsid 0 + + # wrapped plugins by makeWrapper being with dots + ignore_file ^\. + + allow ^127\.0\.0\.1$ + + ${nodeCfg.extraConfig} + ''; +in + +{ + + options = { + + services.munin-node = { + + enable = mkOption { + default = false; + description = '' + Enable Munin Node agent. Munin node listens on 0.0.0.0 and + by default accepts connections only from 127.0.0.1 for security reasons. + + See . + ''; + }; + + extraConfig = mkOption { + default = ""; + description = '' + munin-node.conf extra configuration. See + + ''; + }; + + # TODO: add option to add additional plugins + + }; + + services.munin-cron = { + + enable = mkOption { + default = false; + description = '' + Enable munin-cron. Takes care of all heavy lifting to collect data from + nodes and draws graphs to html. Runs munin-update, munin-limits, + munin-graphs and munin-html in that order. + + HTML output is in /var/www/munin/, configure your + favourite webserver to serve static files. + ''; + example = literalExample '' + services = { + munin-node.enable = true; + munin-cron = { + enable = true; + hosts = ''' + [''${config.networking.hostName}] + address localhost + '''; + extraGlobalConfig = ''' + contact.email.command mail -s "Munin notification for ''${var:host}" someone@example.com + '''; + }; + }; + ''; + }; + + extraGlobalConfig = mkOption { + default = ""; + description = '' + munin.conf extra global configuration. + See . + Useful to setup notifications, see + + ''; + }; + + hosts = mkOption { + example = '' + [''${config.networking.hostName}] + address localhost + ''; + description = '' + Definitions of hosts of nodes to collect data from. Needs at least one + hosts for cron to succeed. See + + ''; + }; + + }; + + }; + + config = mkMerge [ (mkIf (nodeCfg.enable || cronCfg.enable) { + + environment.systemPackages = [ pkgs.munin ]; + + users.extraUsers = [{ + name = "munin"; + description = "Munin monitoring user"; + group = "munin"; + }]; + + users.extraGroups = [{ + name = "munin"; + }]; + + }) (mkIf nodeCfg.enable { + + systemd.services.munin-node = { + description = "Munin node, the agent process"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.munin ]; + environment.MUNIN_PLUGSTATE = "/var/run/munin"; + serviceConfig = { + ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/"; + }; + }; + + system.activationScripts.munin-node = '' + echo "updating munin plugins..." + + export PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin"; + mkdir -p /etc/munin/plugins + rm -rf /etc/munin/plugins/* + ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash + ''; + + }) (mkIf cronCfg.enable { + + services.cron.systemCronJobs = [ + "*/5 * * * * munin ${pkgs.munin}/bin/munin-cron --config ${muninConf}" + ]; + + system.activationScripts.munin-cron = stringAfter [ "users" "groups" ] '' + mkdir -p /var/{run,log,www,lib}/munin + chown -R munin:munin /var/{run,log,www,lib}/munin + ''; + + })]; +} diff --git a/pkgs/servers/monitoring/munin/adding_servicedir_munin-node.patch b/pkgs/servers/monitoring/munin/adding_servicedir_munin-node.patch new file mode 100644 index 000000000000..856f3d73011e --- /dev/null +++ b/pkgs/servers/monitoring/munin/adding_servicedir_munin-node.patch @@ -0,0 +1,84 @@ +From 75a3ec48814e7b9a9b22259a04009076363be3f1 Mon Sep 17 00:00:00 2001 +From: Igor Kolar +Date: Thu, 17 Oct 2013 00:48:23 +0200 +Subject: [PATCH 1/2] node: added --servicedir switch to munin-node + +This code is copied over from munin-node-config, that already does the same +--- + node/sbin/munin-node | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/node/sbin/munin-node b/node/sbin/munin-node +index 7b2e180..0a93450 100755 +--- a/node/sbin/munin-node ++++ b/node/sbin/munin-node +@@ -35,7 +35,7 @@ use Munin::Node::OS; + use Munin::Node::Service; + use Munin::Node::Server; + +-my $servicedir; ++my $servicedir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugins"; + my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d"; + my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf"; + my $DEBUG = 0; +@@ -101,6 +101,7 @@ sub parse_args + + print_usage_and_exit() unless GetOptions( + "config=s" => \$conffile, ++ "servicedir=s" => \$servicedir, + "debug!" => \$DEBUG, + "pidebug!" => \$PIDEBUG, + "paranoia!" => \$paranoia, +@@ -166,6 +167,10 @@ and returning the output they produce. + + Use EfileE as configuration file. [@@CONFDIR@@/munin-node.conf] + ++=item B<< --servicedir >> ++ ++Override plugin directory [@@CONFDIR@@/plugins/] ++ + =item B< --[no]paranoia > + + Only run plugins owned by root. Check permissions as well. [--noparanoia] +-- +1.8.4 + + +From b8e17cbe73ae4c71b93ff5687ba86db1d0c1f5bd Mon Sep 17 00:00:00 2001 +From: Steve Schnepp +Date: Thu, 17 Oct 2013 11:52:10 +0200 +Subject: [PATCH 2/2] node: untaint the service-dir args + +--- + node/sbin/munin-node | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/node/sbin/munin-node b/node/sbin/munin-node +index 0a93450..909c8c4 100755 +--- a/node/sbin/munin-node ++++ b/node/sbin/munin-node +@@ -99,9 +99,10 @@ sub parse_args + { + my @ORIG_ARGV = @ARGV; + ++ my $servicedir_cmdline; + print_usage_and_exit() unless GetOptions( + "config=s" => \$conffile, +- "servicedir=s" => \$servicedir, ++ "servicedir=s" => \$servicedir_cmdline, + "debug!" => \$DEBUG, + "pidebug!" => \$PIDEBUG, + "paranoia!" => \$paranoia, +@@ -109,6 +110,9 @@ sub parse_args + "help" => \&print_usage_and_exit, + ); + ++ # We untaint the args brutally, since the sysadm should know what he does ++ $servicedir = $1 if defined $servicedir_cmdline && $servicedir_cmdline =~ m/(.*)/; ++ + # Reset ARGV (for HUPing) + @ARGV = @ORIG_ARGV; + +-- +1.8.4 + diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index d7da0f658e22..4f16ab35527b 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -1,9 +1,5 @@ { stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages -, python, ruby, openjdk }: - -# TODO: split into server/node derivations - -# FIXME: munin tries to write log files and web graphs to its installation path. +, python, ruby, openjdk, nettools }: stdenv.mkDerivation rec { version = "2.0.17"; @@ -19,6 +15,7 @@ stdenv.mkDerivation rec { which coreutils rrdtool + nettools perl perlPackages.ModuleBuild perlPackages.HTMLTemplate @@ -36,17 +33,49 @@ stdenv.mkDerivation rec { perlPackages.NetServer perlPackages.ListMoreUtils perlPackages.TimeHiRes + perlPackages.LWPUserAgent + perlPackages.DBDPg python ruby openjdk + # tests + perlPackages.TestLongString + perlPackages.TestDifferences + perlPackages.TestDeep + perlPackages.TestMockModule + perlPackages.TestMockObject + perlPackages.FileSlurp + perlPackages.IOStringy + ]; + + # TODO: tests are failing http://munin-monitoring.org/ticket/1390#comment:1 + # NOTE: important, test command always exits with 0, think of a way to abort the build once tests pass + doCheck = false; + + checkPhase = '' + export PERL5LIB="$PERL5LIB:${rrdtool}/lib/perl" + LC_ALL=C make -j1 test + ''; + + patches = [ + # https://rt.cpan.org/Public/Bug/Display.html?id=75112 + ./dont_preserve_source_dir_permissions.patch + + # https://github.com/munin-monitoring/munin/pull/134 + ./adding_servicedir_munin-node.patch ]; preBuild = '' + substituteInPlace "Makefile" \ + --replace "/bin/pwd" "pwd" + + # munin checks at build time if user/group exists, unpure sed -i '/CHECKUSER/d' Makefile sed -i '/CHOWN/d' Makefile sed -i '/CHECKGROUP/d' Makefile - substituteInPlace "Makefile" \ - --replace "/usr/pwd" "pwd" + + # munin hardcodes PATH, we need it to obey $PATH + sed -i '/ENV{PATH}/d' node/lib/Munin/Node/Service.pm ''; # DESTDIR shouldn't be needed (and shouldn't have worked), but munin @@ -60,7 +89,7 @@ stdenv.mkDerivation rec { PYTHON=${python}/bin/python RUBY=${ruby}/bin/ruby JAVARUN=${openjdk}/bin/java - HOSTNAME=default + PLUGINUSER=munin ''; postFixup = '' @@ -78,7 +107,8 @@ stdenv.mkDerivation rec { case "$file" in *.jar) continue;; esac - wrapProgram "$file" --set PERL5LIB $out/lib/perl5/site_perl:${perlPackages.Log4Perl}/lib/perl5/site_perl:${perlPackages.IOSocketInet6}/lib/perl5/site_perl:${perlPackages.Socket6}/lib/perl5/site_perl:${perlPackages.URI}/lib/perl5/site_perl:${perlPackages.DBFile}/lib/perl5/site_perl:${perlPackages.DateManip}/lib/perl5/site_perl:${perlPackages.HTMLTemplate}/lib/perl5/site_perl:${perlPackages.FileCopyRecursive}/lib/perl5/site_perl:${perlPackages.FCGI}/lib/perl5/site_perl:${perlPackages.NetSNMP}/lib/perl5/site_perl:${perlPackages.NetServer}/lib/perl5/site_perl:${perlPackages.ListMoreUtils}/lib/perl5/site_perl:${perlPackages.TimeHiRes}/lib/perl5/site_perl:${rrdtool}/lib/perl + wrapProgram "$file" \ + --set PERL5LIB "$out/lib/perl5/site_perl:${perlPackages.Log4Perl}/lib/perl5/site_perl:${perlPackages.IOSocketInet6}/lib/perl5/site_perl:${perlPackages.Socket6}/lib/perl5/site_perl:${perlPackages.URI}/lib/perl5/site_perl:${perlPackages.DBFile}/lib/perl5/site_perl:${perlPackages.DateManip}/lib/perl5/site_perl:${perlPackages.HTMLTemplate}/lib/perl5/site_perl:${perlPackages.FileCopyRecursive}/lib/perl5/site_perl:${perlPackages.FCGI}/lib/perl5/site_perl:${perlPackages.NetSNMP}/lib/perl5/site_perl:${perlPackages.NetServer}/lib/perl5/site_perl:${perlPackages.ListMoreUtils}/lib/perl5/site_perl:${perlPackages.TimeHiRes}/lib/perl5/site_perl:${rrdtool}/lib/perl:${perlPackages.DBDPg}/lib/perl5/site_perl:${perlPackages.LWPUserAgent}/lib/perl5/site_perl" done ''; diff --git a/pkgs/servers/monitoring/munin/dont_preserve_source_dir_permissions.patch b/pkgs/servers/monitoring/munin/dont_preserve_source_dir_permissions.patch new file mode 100644 index 000000000000..78eac7283051 --- /dev/null +++ b/pkgs/servers/monitoring/munin/dont_preserve_source_dir_permissions.patch @@ -0,0 +1,18 @@ +# https://rt.cpan.org/Public/Bug/Display.html?id=75112 +diff --git a/master/lib/Munin/Master/HTMLOld.pm b/master/lib/Munin/Master/HTMLOld.pm +index 2b6e71f..c0aa2c0 100644 +--- a/master/lib/Munin/Master/HTMLOld.pm ++++ b/master/lib/Munin/Master/HTMLOld.pm +@@ -711,10 +711,12 @@ sub emit_main_index { + + sub copy_web_resources { + my ($staticdir, $htmldir) = @_; ++ local $File::Copy::Recursive::KeepMode = 0; + unless(dircopy($staticdir, "$htmldir/static")){ + ERROR "[ERROR] Could not copy contents from $staticdir to $htmldir"; + die "[ERROR] Could not copy contents from $staticdir to $htmldir"; + } ++ local $File::Copy::Recursive::KeepMode = 1; + } + + sub instanciate_comparison_templates { From 69128628afa04c5e54ac6e45d08ae9cc1b1c8410 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 17:34:42 +0400 Subject: [PATCH 022/157] Fix Linux detection in libvncserver to build linuxvnc --- .../libraries/libvncserver/default.nix | 49 +++++++++++-------- .../libraries/libvncserver/default.upstream | 4 ++ pkgs/top-level/all-packages.nix | 7 +-- 3 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 pkgs/development/libraries/libvncserver/default.upstream diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix index 7856183e5e9b..35adb4600414 100644 --- a/pkgs/development/libraries/libvncserver/default.nix +++ b/pkgs/development/libraries/libvncserver/default.nix @@ -1,29 +1,38 @@ -args : -let - lib = args.lib; - fetchurl = args.fetchurl; - - version = lib.attrByPath ["version"] "0.9.9" args; - buildInputs = with args; [ +{stdenv, fetchurl, + libtool, libjpeg, openssl, libX11, libXdamage, xproto, damageproto, + xextproto, libXext, fixesproto, libXfixes, xineramaproto, libXinerama, + libXrandr, randrproto, libXtst, zlib +}: +let + s = # Generated upstream information + rec { + baseName="libvncserver"; + version="0.9.9"; + name="${baseName}-${version}"; + hash="1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; + url="mirror://sourceforge/project/libvncserver/libvncserver/0.9.9/LibVNCServer-0.9.9.tar.gz"; + sha256="1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; + }; + buildInputs = [ libtool libjpeg openssl libX11 libXdamage xproto damageproto xextproto libXext fixesproto libXfixes xineramaproto libXinerama libXrandr randrproto libXtst zlib ]; in -rec { - src = fetchurl { - url = "mirror://sourceforge/libvncserver/LibVNCServer-${version}.tar.gz"; - sha256 = "1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; - }; - +stdenv.mkDerivation { + inherit (s) name version; inherit buildInputs; - configureFlags = []; - - /* doConfigure should be specified separately */ - phaseNames = ["doConfigure" "doMakeInstall"]; - - name = "libvncserver-" + version; + src = fetchurl { + inherit (s) url sha256; + }; + preConfigure = '' + sed -e 's@/usr/include/linux@${stdenv.gcc.libc}/include/linux@g' -i configure + ''; meta = { - description = "VNC server library"; + inherit (s) version; + description = "VNC server library"; + license = stdenv.lib.licenses.gpl2Plus ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/libvncserver/default.upstream b/pkgs/development/libraries/libvncserver/default.upstream new file mode 100644 index 000000000000..eae481974398 --- /dev/null +++ b/pkgs/development/libraries/libvncserver/default.upstream @@ -0,0 +1,4 @@ +url http://sourceforge.net/projects/libvncserver/files/libvncserver/ +SF_version_dir +version_link '[.]tar[.][bgx]z[0-9]*/download$' +SF_redirect diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6fe6ee466caa..5deb63fc8f9d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5058,12 +5058,7 @@ let libvisual = callPackage ../development/libraries/libvisual { }; - libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) { - inherit libtool libjpeg openssl zlib; - inherit (xlibs) xproto libX11 damageproto libXdamage - libXext xextproto fixesproto libXfixes xineramaproto - libXinerama libXrandr randrproto libXtst; - }; + libvncserver = callPackage ../development/libraries/libvncserver {}; libviper = callPackage ../development/libraries/libviper { }; From e5e17e73e3a9b70c09dcab6057c4118311228d78 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 18:02:07 +0400 Subject: [PATCH 023/157] Add conspy Linux console proxy --- .../upstream-updater/urls-from-page.sh | 2 +- pkgs/os-specific/linux/conspy/default.nix | 37 +++++++++++++++++++ .../os-specific/linux/conspy/default.upstream | 1 + 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/conspy/default.nix create mode 100644 pkgs/os-specific/linux/conspy/default.upstream diff --git a/pkgs/build-support/upstream-updater/urls-from-page.sh b/pkgs/build-support/upstream-updater/urls-from-page.sh index d456794a563d..aecf645eb817 100755 --- a/pkgs/build-support/upstream-updater/urls-from-page.sh +++ b/pkgs/build-support/upstream-updater/urls-from-page.sh @@ -9,6 +9,6 @@ relpath="${path#$server}" echo "URL: $url" >&2 -curl -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \ +curl -A 'text/html; text/xhtml; text/xml; */*' -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \ sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \ sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`" diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix new file mode 100644 index 000000000000..44689cd5d62d --- /dev/null +++ b/pkgs/os-specific/linux/conspy/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, autoconf, automake, ncurses}: +let + s = # Generated upstream information + rec { + baseName="conspy"; + version="1.8"; + name="${baseName}-${version}"; + hash=sha256; + url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.8.tar.gz"; + sha256="1jc2maqp4w4mzlr3s8yni03w1p9sir5hb7gha3ffxj4n32nx42dq"; + }; + buildInputs = [ + autoconf automake ncurses + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + curlOpts = " -A application/octet-stream "; + }; + preConfigure = '' + touch NEWS + echo "EPL 1.0" > COPYING + aclocal + automake --add-missing + autoconf + ''; + meta = { + inherit (s) version; + description = "Linux text console viewer"; + license = stdenv.lib.licenses.epl10 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/conspy/default.upstream b/pkgs/os-specific/linux/conspy/default.upstream new file mode 100644 index 000000000000..db0c0fd96802 --- /dev/null +++ b/pkgs/os-specific/linux/conspy/default.upstream @@ -0,0 +1 @@ +url http://ace-host.stuart.id.au/russell/files/conspy/ From cb82eaffb8c218e13d2b9fb7ab31bf78c1ca63e5 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 18:42:53 +0400 Subject: [PATCH 024/157] Adding ttysnoop pty redirector --- pkgs/os-specific/linux/ttysnoop/default.nix | 38 +++++++++++++++++++ .../linux/ttysnoop/default.upstream | 3 ++ pkgs/top-level/all-packages.nix | 4 ++ 3 files changed, 45 insertions(+) create mode 100644 pkgs/os-specific/linux/ttysnoop/default.nix create mode 100644 pkgs/os-specific/linux/ttysnoop/default.upstream diff --git a/pkgs/os-specific/linux/ttysnoop/default.nix b/pkgs/os-specific/linux/ttysnoop/default.nix new file mode 100644 index 000000000000..f2bf2bdd31b0 --- /dev/null +++ b/pkgs/os-specific/linux/ttysnoop/default.nix @@ -0,0 +1,38 @@ +{stdenv, fetchurl}: +let + s = # Generated upstream information + rec { + baseName="ttysnoop"; + version="0.12d.k26"; + name="${baseName}-${version}"; + hash="0jb2zchaiqmmickj0la7wjw3sf9vy65qfhhs11yrzx4mmwkp0395"; + url="http://sysd.org/stas/files/active/0/ttysnoop-0.12d.k26.tar.gz"; + sha256="0jb2zchaiqmmickj0la7wjw3sf9vy65qfhhs11yrzx4mmwkp0395"; + }; + buildInputs = [ + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + preBuild = '' + sed -e "s@/sbin@$out/sbin@g" -i Makefile + sed -e "s@/usr/man@$out/share/man@g" -i Makefile + mkdir -p "$out/share/man/man8" + mkdir -p "$out/sbin" + ''; + postInstall = '' + mkdir -p "$out/etc" + cp snooptab.dist "$out/etc/snooptab" + ''; + meta = { + inherit (s) version; + description = "A tool to clone input and output of another tty/pty to the current one"; + license = stdenv.lib.licenses.gpl ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/ttysnoop/default.upstream b/pkgs/os-specific/linux/ttysnoop/default.upstream new file mode 100644 index 000000000000..905a639c31e7 --- /dev/null +++ b/pkgs/os-specific/linux/ttysnoop/default.upstream @@ -0,0 +1,3 @@ +url http://sysd.org/stas/node/35 +ensure_choice +version '.*-([0-9a-z.]+)[.]tar[.].*' '\1' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5deb63fc8f9d..a27dcb9bbeed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -661,6 +661,8 @@ let connect = callPackage ../tools/networking/connect { }; + conspy = callPackage ../os-specific/linux/conspy {}; + convertlit = callPackage ../tools/text/convertlit { }; collectd = callPackage ../tools/system/collectd { }; @@ -1885,6 +1887,8 @@ let ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; + ttysnoop = callPackage ../os-specific/linux/ttysnoop {}; + twitterBootstrap = callPackage ../development/web/twitter-bootstrap {}; txt2man = callPackage ../tools/misc/txt2man { }; From be5b32e7981a10d5adee8cb87449b535aa3da694 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 19:15:11 +0400 Subject: [PATCH 025/157] Apparently fix texinfo5 with fresh TeXLive --- pkgs/data/fonts/lmodern/lmmath.nix | 4 ++-- pkgs/development/tools/misc/texinfo/5.1.nix | 2 +- pkgs/tools/typesetting/tex/tex4ht/default.nix | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/data/fonts/lmodern/lmmath.nix b/pkgs/data/fonts/lmodern/lmmath.nix index 651a84726af6..90132272dd10 100644 --- a/pkgs/data/fonts/lmodern/lmmath.nix +++ b/pkgs/data/fonts/lmodern/lmmath.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation { sourceRoot = "."; installPhase = '' - mkdir -p $out/texmf/fonts/opentype + mkdir -p $out/texmf-dist/fonts/opentype mkdir -p $out/share/fonts/opentype - cp *.{OTF,otf} $out/texmf/fonts/opentype/lmmath-regular.otf + cp *.{OTF,otf} $out/texmf-dist/fonts/opentype/lmmath-regular.otf cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf ln -s $out/texmf* $out/share/ diff --git a/pkgs/development/tools/misc/texinfo/5.1.nix b/pkgs/development/tools/misc/texinfo/5.1.nix index cca368f619a6..2f318f18d542 100644 --- a/pkgs/development/tools/misc/texinfo/5.1.nix +++ b/pkgs/development/tools/misc/texinfo/5.1.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses perl ]; preInstall = '' - installFlags="TEXMF=$out/texmf"; + installFlags="TEXMF=$out/texmf-dist"; installTargets="install install-tex"; ''; diff --git a/pkgs/tools/typesetting/tex/tex4ht/default.nix b/pkgs/tools/typesetting/tex/tex4ht/default.nix index 24612de549e0..f903ef5792f4 100644 --- a/pkgs/tools/typesetting/tex/tex4ht/default.nix +++ b/pkgs/tools/typesetting/tex/tex4ht/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { for f in src/tex4ht src/t4ht src/htcmd "bin/unix/"*; do mv $f $out/bin/ done - mv texmf $out/ + mv texmf $out/texmf-dist ''; meta = { From e8773c41392dba9177e4d9cc0717bda637c9fa52 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 20:26:36 +0400 Subject: [PATCH 026/157] Adding forktty terminal connection/disconnection helper --- pkgs/os-specific/linux/forktty/default.nix | 36 +++++++++++++++++++ .../linux/forktty/default.upstream | 2 ++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 40 insertions(+) create mode 100644 pkgs/os-specific/linux/forktty/default.nix create mode 100644 pkgs/os-specific/linux/forktty/default.upstream diff --git a/pkgs/os-specific/linux/forktty/default.nix b/pkgs/os-specific/linux/forktty/default.nix new file mode 100644 index 000000000000..6402b5c69d82 --- /dev/null +++ b/pkgs/os-specific/linux/forktty/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl}: +let + s = # Generated upstream information + rec { + baseName="forktty"; + version="1.3"; + name="${baseName}-${version}"; + hash="0nd55zdqly6nl98k9lc7j751x86cw9hayx1qn0725f22r1x3j5zb"; + url="http://sunsite.unc.edu/pub/linux/utils/terminal/forktty-1.3.tgz"; + sha256="0nd55zdqly6nl98k9lc7j751x86cw9hayx1qn0725f22r1x3j5zb"; + }; + buildInputs = [ + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + preBuild = '' + sed -e s@/usr/bin/ginstall@install@g -i Makefile + ''; + preInstall = '' + mkdir -p "$out/bin" + mkdir -p "$out/share/man/man8" + ''; + makeFlags='' prefix="''${out}" manprefix="''${out}/share/" ''; + meta = { + inherit (s) version; + description = ''Tool to detach from controlling TTY and attach to another''; + license = stdenv.lib.licenses.gpl2 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/forktty/default.upstream b/pkgs/os-specific/linux/forktty/default.upstream new file mode 100644 index 000000000000..45cb775a0ae3 --- /dev/null +++ b/pkgs/os-specific/linux/forktty/default.upstream @@ -0,0 +1,2 @@ +url http://sunsite.unc.edu/pub/linux/utils/terminal/ +version_link 'forktty.*tgz' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21749465d9b9..4dc3958ddaf3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -898,6 +898,8 @@ let withX11 = true; }; + forktty = callPackage ../os-specific/linux/forktty {}; + fortune = callPackage ../tools/misc/fortune { }; fox = callPackage ../development/libraries/fox/default.nix { From 655ba1e418f72317b86f540dc75ffc9dfc6fdebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 20 Oct 2013 18:08:15 +0200 Subject: [PATCH 027/157] freeciv: update to 2.4.0 --- pkgs/games/freeciv/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index de62b4a669a2..3eda4e8d88d5 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, bzip2, pkgconfig +{ stdenv, fetchurl, zlib, bzip2, pkgconfig, curl, lzma, gettext , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype , gtkClient ? false, gtk , server ? true, readline }: @@ -8,16 +8,16 @@ let client = sdlClient || gtkClient; in stdenv.mkDerivation rec { - name = "freeciv-2.3.1"; + name = "freeciv-2.4.0"; src = fetchurl { url = "mirror://sourceforge/freeciv/${name}.tar.bz2"; - sha256 = "1n3ak0y9hj9kha0r3cdbi8zb47vrgal1jsbblamqgwwwgzy8cri3"; + sha256 = "1bc01pyihsrby6w95n49gi90ggp40dyxsy4kmlmwcakxfxprwakv"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ zlib bzip2 ] + buildInputs = [ zlib bzip2 curl lzma gettext ] ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype ] ++ optional gtkClient gtk ++ optional server readline; From 8818dbedbfba7e61dfe95cdb3462999c242f0d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 20 Oct 2013 18:26:32 +0200 Subject: [PATCH 028/157] Adding an attribute for the gtk freeciv too. --- pkgs/games/freeciv/default.nix | 11 ++++++++--- pkgs/top-level/all-packages.nix | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index 3eda4e8d88d5..ac1fc7395ae2 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -6,12 +6,17 @@ let inherit (stdenv.lib) optional optionals; client = sdlClient || gtkClient; + + sdlName = if sdlClient then "-sdl" else ""; + gtkName = if gtkClient then "-gtk" else ""; + + baseName = "freeciv-2.4.0"; in -stdenv.mkDerivation rec { - name = "freeciv-2.4.0"; +stdenv.mkDerivation { + name = baseName + sdlName + gtkName; src = fetchurl { - url = "mirror://sourceforge/freeciv/${name}.tar.bz2"; + url = "mirror://sourceforge/freeciv/${baseName}.tar.bz2"; sha256 = "1bc01pyihsrby6w95n49gi90ggp40dyxsy4kmlmwcakxfxprwakv"; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4dc3958ddaf3..851deff3a3cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9186,6 +9186,11 @@ let freeciv = callPackage ../games/freeciv { }; + freeciv_gtk = callPackage ../games/freeciv { + gtkClient = true; + sdlClient = false; + }; + freedink = callPackage ../games/freedink { }; fsg = callPackage ../games/fsg { From a0bbc3e83814f19709f2c63af3df2e7f6563a2e9 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 20:39:08 +0400 Subject: [PATCH 029/157] Add apparently missing option to vsftpd configuration --- nixos/modules/services/networking/vsftpd.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 265afb3618ca..088dbc859ec0 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -126,6 +126,13 @@ in ''; }; + anonymousUserHome = mkOption { + default = "/home/ftp/"; + description = '' + Directory to consider the HOME of the anonymous user. + ''; + }; + } // (listToAttrs (catAttrs "nixosOption" optionDescription)) ; }; From 70f609acbf5690f3265a4156dcf60c61cd9805f1 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:02:37 +0400 Subject: [PATCH 030/157] Updating Ekrhyper --- pkgs/applications/science/logic/ekrhyper/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/logic/ekrhyper/default.nix b/pkgs/applications/science/logic/ekrhyper/default.nix index 7ff1acb062be..c90099f495a2 100644 --- a/pkgs/applications/science/logic/ekrhyper/default.nix +++ b/pkgs/applications/science/logic/ekrhyper/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="ekrhyper"; - version="1_4_08022013"; + version="1_4_30072013"; name="${baseName}-${version}"; - hash="0vni5pq1p99428ii3g13chiqxcs8k1fm6jlvg1jqh4qdcs42w7yb"; - url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_08022013.tar.gz"; - sha256="0vni5pq1p99428ii3g13chiqxcs8k1fm6jlvg1jqh4qdcs42w7yb"; + hash="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663"; + url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_30072013.tar.gz"; + sha256="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663"; }; buildInputs = [ ocaml perl From 6944de0f9422ab9915a92a100c10e90b4d59e401 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:03:04 +0400 Subject: [PATCH 031/157] Updating EProver to 1.8 --- pkgs/applications/science/logic/eprover/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/logic/eprover/default.nix b/pkgs/applications/science/logic/eprover/default.nix index d36956d1375f..35e70a4b0d73 100644 --- a/pkgs/applications/science/logic/eprover/default.nix +++ b/pkgs/applications/science/logic/eprover/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="eprover"; - version="1.7"; + version="1.8"; name="${baseName}-${version}"; - hash="1prkgjpg8lajcylz9nj2hfjxl3l42cqbfvilg30z9b5br14l36rh"; - url="http://www4.in.tum.de/~schulz/WORK/E_DOWNLOAD/V_1.7/E.tgz"; - sha256="1prkgjpg8lajcylz9nj2hfjxl3l42cqbfvilg30z9b5br14l36rh"; + hash="0bl4dr7k6simwdvdyxhnjkiz4nm5y0nr8bfhc34zk0360i9m6sk3"; + url="http://www4.in.tum.de/~schulz/WORK/E_DOWNLOAD/V_1.8/E.tgz"; + sha256="0bl4dr7k6simwdvdyxhnjkiz4nm5y0nr8bfhc34zk0360i9m6sk3"; }; in stdenv.mkDerivation { From 764508874e0aff888d1cca518289d3914542b2df Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:06:48 +0400 Subject: [PATCH 032/157] Updating Compiz --- pkgs/applications/window-managers/compiz/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix index 46aa6e4d77eb..02b7b9987bdb 100644 --- a/pkgs/applications/window-managers/compiz/default.nix +++ b/pkgs/applications/window-managers/compiz/default.nix @@ -15,10 +15,11 @@ let s = # Generated upstream information rec { baseName="compiz"; - version="0.9.9.0"; - name="compiz-${version}"; - url="https://launchpad.net/compiz/0.9.9/${version}/+download/${name}.tar.bz2"; - sha256="0nxv9lv0zwzs82p2d5g38sbvzbqgfs837xdgwc26lh5wdv31d93s"; + version="0.9.10.0"; + name="${baseName}-${version}"; + hash="0kvjib0ns02cikpsjq5hlf746yjx2gkfh373pvrb25lzv3rs1qax"; + url="https://launchpad.net/compiz/0.9.10/0.9.10.0/+download/compiz-0.9.10.0.tar.bz2"; + sha256="0kvjib0ns02cikpsjq5hlf746yjx2gkfh373pvrb25lzv3rs1qax"; }; buildInputs = [cmake pkgconfig libXrender renderproto gtk libwnck pango cairo From d977593ee29da97820c1b7d15c31cafd8c1e0384 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:07:15 +0400 Subject: [PATCH 033/157] Updating Sodium cryptography library to 0.4.3 --- pkgs/development/libraries/sodium/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix index 0d40df405744..13248753105f 100644 --- a/pkgs/development/libraries/sodium/default.nix +++ b/pkgs/development/libraries/sodium/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="sodium"; - version="0.3"; + version="0.4.3"; name="${baseName}-${version}"; - hash="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh"; - url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.3.tar.gz"; - sha256="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh"; + hash="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r"; + url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.3.tar.gz"; + sha256="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r"; }; buildInputs = [ ]; From c55398c6c64047fe7ff734dd086ada90a9e64e78 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:07:33 +0400 Subject: [PATCH 034/157] Updating ASDF to 3.0.2.4 --- pkgs/development/lisp-modules/asdf/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix index c615573ae3ec..48b49ee3583b 100644 --- a/pkgs/development/lisp-modules/asdf/default.nix +++ b/pkgs/development/lisp-modules/asdf/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="asdf"; - version="3.0.2.1"; + version="3.0.2.4"; name="${baseName}-${version}"; - hash="1npd4dxsgk06ayhln56mwwky0vdpf7i77mkxfh105pld8w5xs4r4"; - url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.1.tar.gz"; - sha256="1npd4dxsgk06ayhln56mwwky0vdpf7i77mkxfh105pld8w5xs4r4"; + hash="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag"; + url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.4.tar.gz"; + sha256="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag"; }; buildInputs = [ texinfo texLive From 96585205d77ebbab8fd4e817ded30f40e4fcfc1f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:07:48 +0400 Subject: [PATCH 035/157] Updating CL-Launch to 3.22.1 --- pkgs/development/tools/misc/cl-launch/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix index 63c585b00a95..3978d96400cd 100644 --- a/pkgs/development/tools/misc/cl-launch/default.nix +++ b/pkgs/development/tools/misc/cl-launch/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="cl-launch"; - version="3.21.1"; + version="3.22.1"; name="${baseName}-${version}"; - hash="1241lyn2a3ry06ii9zlns0cj462bi7rih41vlbbmra1chj4c21ij"; - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.21.1.tar.gz"; - sha256="1241lyn2a3ry06ii9zlns0cj462bi7rih41vlbbmra1chj4c21ij"; + hash="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.22.1.tar.gz"; + sha256="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; }; buildInputs = [ ]; From 20e8f4602272579253283adee8cb3f05f9b5b3c2 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:08:09 +0400 Subject: [PATCH 036/157] Updating luarocks to 2.1.0 --- pkgs/development/tools/misc/luarocks/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index 7681c8153dbb..d905d078d40b 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="luarocks"; - version="2.0.13-rc1"; + version="2.1.0"; name="${baseName}-${version}"; - hash="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y"; - url="http://luarocks.org/releases/luarocks-2.0.13-rc1.tar.gz"; - sha256="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y"; + hash="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c"; + url="http://luarocks.org/releases/luarocks-2.1.0-rc3.tar.gz"; + sha256="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c"; }; buildInputs = [ lua curl From d79b3e599865cbc4ba2b85903802681d0d30ce16 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:08:25 +0400 Subject: [PATCH 037/157] Updating XBoard to 4.7.2 --- pkgs/games/xboard/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix index 7e73bfad5403..454112638768 100644 --- a/pkgs/games/xboard/default.nix +++ b/pkgs/games/xboard/default.nix @@ -5,11 +5,11 @@ let s = # Generated upstream information rec { baseName="xboard"; - version="4.7.1"; + version="4.7.2"; name="${baseName}-${version}"; - hash="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry"; - url="mirror://gnu/xboard/xboard-4.7.1.tar.gz"; - sha256="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry"; + hash="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; + url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.2.tar.gz"; + sha256="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; }; buildInputs = [ libX11 xproto libXt libXaw libSM libICE libXmu From c4d78d376abea958427623240bb964e7522adf92 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:08:42 +0400 Subject: [PATCH 038/157] Updating Wine to 1.7.4 --- pkgs/misc/emulators/wine/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index 4e6ef5af00db..789cb47932b8 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -8,7 +8,7 @@ assert stdenv.gcc.gcc != null; let gecko = fetchurl { url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; - sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh"; + sha256 = "0sb9zfrvlrjx1icfb94clgac239i9yfhyv48zv9iddgmvdjk8ysi"; }; gecko64 = fetchurl { @@ -22,7 +22,7 @@ let gecko = fetchurl { }; in stdenv.mkDerivation rec { - version = "1.6"; + version = "1.7.4"; name = "wine-${version}"; src = fetchurl { From bf721764ac1a992da9c66a02e340c98c8845e4ef Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:09:45 +0400 Subject: [PATCH 039/157] Updating ZPAQ to 642 --- pkgs/tools/archivers/zpaq/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index 6b04fe172687..b26120bcb5c5 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaq"; - version="625"; + version="642"; name="${baseName}-${version}"; - hash="0d3ly8l6mzbqxkg68yz7mid3dr056fgr5n49rlkjwcfg533c5gwx"; - url="http://mattmahoney.net/dc/zpaq625.zip"; - sha256="0d3ly8l6mzbqxkg68yz7mid3dr056fgr5n49rlkjwcfg533c5gwx"; + hash="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5"; + url="http://mattmahoney.net/dc/zpaq642.zip"; + sha256="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5"; }; buildInputs = [ unzip From 8c94c3ad082d1b8659786727cef5f4593111747c Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:10:02 +0400 Subject: [PATCH 040/157] Updating lrzip to 0.616 --- pkgs/tools/compression/lrzip/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix index 23b516e32e4d..6fd1ae97d960 100644 --- a/pkgs/tools/compression/lrzip/default.nix +++ b/pkgs/tools/compression/lrzip/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}: stdenv.mkDerivation rec { - version = "0.614"; + version = "0.616"; name = "lrzip-${version}"; src = fetchurl { url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2"; - sha256 = "16i6mz2z6gx8xiva7zb0j78yvkwq1bjbdkl7w3i10195ll097ad8"; + sha256 = "1bimlbsfzjvippbma08ifm1grcy9i7avryrkdvnvrfyqnj6mlbcq"; }; buildInputs = [ zlib lzo bzip2 nasm perl ]; From e38f86a887d3f778a4da0169eb6bc6ed3559f4d7 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:10:25 +0400 Subject: [PATCH 041/157] Updating GlusterFS to 3.4.1 --- pkgs/tools/filesystems/glusterfs/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 7cae84a19c71..9d4168b2d7da 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="glusterfs"; - version="3.3.1"; - name="glusterfs-3.3.1"; - hash="06bmnyl3vh8s21kk98idm2fl7kq38na94k5l67l9l1grl3iyzahr"; - url="http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/glusterfs-3.3.1.tar.gz"; - sha256="06bmnyl3vh8s21kk98idm2fl7kq38na94k5l67l9l1grl3iyzahr"; + version="3.4.1"; + name="${baseName}-${version}"; + hash="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.1/glusterfs-3.4.1.tar.gz"; + sha256="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; }; buildInputs = [ fuse bison flex openssl python ncurses readline From de3aada0fafe9f447088952315d0beade0d6af4b Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:10:49 +0400 Subject: [PATCH 042/157] Making Cuneiform package export version --- pkgs/tools/graphics/cuneiform/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix index 3c75af4bcf38..2638594903ab 100644 --- a/pkgs/tools/graphics/cuneiform/default.nix +++ b/pkgs/tools/graphics/cuneiform/default.nix @@ -36,6 +36,7 @@ rec { name = "cuneiform-" + version; meta = { + inherit version; description = "Cuneiform OCR"; }; } From 6e3b2c49e0852ac53625d6b90fb8bc6c253037e6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:15:14 +0400 Subject: [PATCH 043/157] Fix license attribute in ttysnoop --- pkgs/os-specific/linux/ttysnoop/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/ttysnoop/default.nix b/pkgs/os-specific/linux/ttysnoop/default.nix index f2bf2bdd31b0..670c96083443 100644 --- a/pkgs/os-specific/linux/ttysnoop/default.nix +++ b/pkgs/os-specific/linux/ttysnoop/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { meta = { inherit (s) version; description = "A tool to clone input and output of another tty/pty to the current one"; - license = stdenv.lib.licenses.gpl ; + license = stdenv.lib.licenses.gpl2 ; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.linux; }; From f88aa227068da5d9db62fea0c0e0d8fe5f14c364 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 21:16:12 +0400 Subject: [PATCH 044/157] Allow non-SSL connections to vsftpd by default to let tests not specify certificate --- nixos/modules/services/networking/vsftpd.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 088dbc859ec0..d9f1e96b1d23 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -60,11 +60,11 @@ let names to allow or deny access. The default false means whitelist/allow. '') - (yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" true '' + (yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" false '' Only applies if is true. Non anonymous (local) users must use a secure SSL connection to send a password. '') - (yesNoOption "forceLocalDataSSL" "force_local_data_ssl" true '' + (yesNoOption "forceLocalDataSSL" "force_local_data_ssl" false '' Only applies if is true. Non anonymous (local) users must use a secure SSL connection for sending/receiving data on data connection. '') From 6f3e7d17d370516621ce03392af746781029da9d Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 22:02:02 +0400 Subject: [PATCH 045/157] Fix Wine source --- pkgs/misc/emulators/wine/default.nix | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index 789cb47932b8..02ce076ce0fd 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -6,11 +6,20 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; -let gecko = fetchurl { - url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; +let + version = "1.7.4"; + name = "wine-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/wine/${name}.tar.bz2"; sha256 = "0sb9zfrvlrjx1icfb94clgac239i9yfhyv48zv9iddgmvdjk8ysi"; }; + gecko = fetchurl { + url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; + sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh"; + }; + gecko64 = fetchurl { url = "mirror://sourceforge/wine/wine_gecko-2.21-x86_64.msi"; sha256 = "0grc86dkq90i59zw43hakh62ra1ajnk11m64667xjrlzi7f0ndxw"; @@ -22,13 +31,7 @@ let gecko = fetchurl { }; in stdenv.mkDerivation rec { - version = "1.7.4"; - name = "wine-${version}"; - - src = fetchurl { - url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1"; - }; + inherit version name src; buildInputs = [ xlibs.xlibs flex bison xlibs.libXi mesa From 9eba67dbcd45dfe897899ac8a8e32d6510712adc Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 20 Oct 2013 22:30:40 +0400 Subject: [PATCH 046/157] Fix/split ZPAQ after upgrade --- pkgs/tools/archivers/zpaq/default.nix | 7 ++-- pkgs/tools/archivers/zpaq/zpaqd.nix | 49 ++++++++++++++++++++++++ pkgs/tools/archivers/zpaq/zpaqd.upstream | 5 +++ pkgs/top-level/all-packages.nix | 1 + 4 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 pkgs/tools/archivers/zpaq/zpaqd.nix create mode 100644 pkgs/tools/archivers/zpaq/zpaqd.upstream diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index b26120bcb5c5..3159bae1826f 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -29,14 +29,13 @@ stdenv.mkDerivation { }; sourceRoot = "."; buildPhase = '' - g++ -shared -O3 libzpaq.cpp divsufsort.c ${compileFlags} -o libzpaq.so - g++ -O3 -L. -L"$out/lib" -lzpaq zpaq.cpp -o zpaq - g++ -O3 -L. -L"$out/lib" -lzpaq zpaqd.cpp -o zpaqd + g++ -shared -O3 libzpaq.cpp ${compileFlags} -o libzpaq.so + g++ -O3 -L. -L"$out/lib" -lzpaq divsufsort.c zpaq.cpp -o zpaq ''; installPhase = '' mkdir -p "$out"/{bin,include,lib,share/doc/zpaq} cp libzpaq.so "$out/lib" - cp zpaq zpaqd "$out/bin" + cp zpaq "$out/bin" cp libzpaq.h divsufsort.h "$out/include" cp readme.txt "$out/share/doc/zpaq" ''; diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix new file mode 100644 index 000000000000..cfb76d2ff9bf --- /dev/null +++ b/pkgs/tools/archivers/zpaq/zpaqd.nix @@ -0,0 +1,49 @@ +{stdenv, fetchurl, unzip}: +let + s = # Generated upstream information + rec { + baseName="zpaqd"; + version="633"; + name="${baseName}-${version}"; + hash="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; + url="http://mattmahoney.net/dc/zpaqd633.zip"; + sha256="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; + }; + buildInputs = [ + unzip + ]; + isUnix = stdenv.isLinux || stdenv.isGNU || stdenv.isDarwin || stdenv.isBSD; + isx86 = stdenv.isi686 || stdenv.isx86_64; + compileFlags = "" + + (stdenv.lib.optionalString isUnix " -Dunix -pthread ") + + (stdenv.lib.optionalString (!isx86) " -DNOJIT ") + + " -DNDEBUG " + + " -fPIC " + ; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + sourceRoot = "."; + buildPhase = '' + g++ -shared -O3 libzpaq.cpp ${compileFlags} -o libzpaq.so + g++ -O3 -L. -L"$out/lib" -lzpaq zpaqd.cpp -o zpaqd + ''; + installPhase = '' + mkdir -p "$out"/{bin,include,lib,share/doc/zpaq} + cp libzpaq.so "$out/lib" + cp zpaqd "$out/bin" + cp libzpaq.h "$out/include" + cp readme_zpaqd.txt "$out/share/doc/zpaq" + ''; + meta = { + inherit (s) version; + description = ''ZPAQ archiver decompressor and algorithm development tool''; + license = stdenv.lib.licenses.gpl3Plus ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/archivers/zpaq/zpaqd.upstream b/pkgs/tools/archivers/zpaq/zpaqd.upstream new file mode 100644 index 000000000000..ef83c58e4600 --- /dev/null +++ b/pkgs/tools/archivers/zpaq/zpaqd.upstream @@ -0,0 +1,5 @@ +url http://mattmahoney.net/dc/zpaqutil.html +version_link 'zpaqd[0-9]+[.]zip' +version "[^0-9]*([0-9]+)[^0-9]*" '\1' +name zpaqd +attribute_name zpaqd diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 851deff3a3cd..f71b6a0be043 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2159,6 +2159,7 @@ let zip = callPackage ../tools/archivers/zip { }; zpaq = callPackage ../tools/archivers/zpaq { }; + zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; zsync = callPackage ../tools/compression/zsync { }; From 4ec63832fd152c326c35ff6e33fc26daa94375cb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 20 Oct 2013 16:06:39 +0200 Subject: [PATCH 047/157] haskell-data-pprint: update to version 0.2.3 --- .../libraries/haskell/data-pprint/default.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/data-pprint/default.nix b/pkgs/development/libraries/haskell/data-pprint/default.nix index 351f1d834776..b78096a18357 100644 --- a/pkgs/development/libraries/haskell/data-pprint/default.nix +++ b/pkgs/development/libraries/haskell/data-pprint/default.nix @@ -1,15 +1,10 @@ -{ cabal, deepseq, mtl, parallel, time, fetchurl }: +{ cabal, deepseq, mtl, parallel, time }: cabal.mkDerivation (self: { pname = "data-pprint"; - version = "0.2.2"; - sha256 = "0cr69qv2j8fmmlir8rzlafcxk1cg3lg1z0zrwkz0lb7idm25fy36"; + version = "0.2.3"; + sha256 = "1ygbhn399d4hlrdjmg7gxbr5akydb78p6qa80rv7m6j0fsqzbf6y"; buildDepends = [ deepseq mtl parallel time ]; - patches = [ (fetchurl { url = "https://github.com/divipp/ActiveHs-misc/pull/3.patch"; - sha256 = "0wxvc7cbv4qpjl5zxy41863qpzda2ma75pmnnqx29qyh3rxp7biw"; - }) - ]; - patchFlags = "-p2"; meta = { description = "Prettyprint and compare Data values"; license = self.stdenv.lib.licenses.bsd3; From 562f4253d12b97fe8af63b6b0e1d861a8f347625 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 20 Oct 2013 16:06:39 +0200 Subject: [PATCH 048/157] haskell-pandoc-citeproc: update to version 0.1.2.1 --- .../libraries/haskell/pandoc-citeproc/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix index 4960e16202ec..dd400ef550d1 100644 --- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "pandoc-citeproc"; - version = "0.1.2"; - sha256 = "055msvrcqjkijkhzws48scpc4z90g0qjjsdcd0fhy309da6vax57"; + version = "0.1.2.1"; + sha256 = "13i4shpbd9swbsrpmkpb7jx79m12z12m9f3x167fs78509dak3iv"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -15,7 +15,9 @@ cabal.mkDerivation (self: { pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text time utf8String vector yaml ]; - testDepends = [ aeson aesonPretty Diff pandoc pandocTypes ]; + testDepends = [ + aeson aesonPretty Diff filepath pandoc pandocTypes yaml + ]; doCheck = false; meta = { description = "Supports using pandoc with citeproc"; From 4bdeec032743cecc078ca4708f8fbdf457d60623 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 20 Oct 2013 16:06:39 +0200 Subject: [PATCH 049/157] haskell-pandoc-types: update to version 1.12.3 --- pkgs/development/libraries/haskell/pandoc-types/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix index e1e7ac54d4ca..41024c6b7d2a 100644 --- a/pkgs/development/libraries/haskell/pandoc-types/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pandoc-types"; - version = "1.12.2.3"; - sha256 = "05xbpsx44sys0rkf2aqs4fcv4bg02ffhicp49jgnjyw9jiynhzzj"; + version = "1.12.3"; + sha256 = "1klfplpn2faw9da7xw5h5sx44annc2g7himyzyvb436wjnkjan0j"; buildDepends = [ aeson syb ]; meta = { homepage = "http://johnmacfarlane.net/pandoc"; From 172f5ed061ca36b0517de2ee295c73b8ea5699de Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 20 Oct 2013 16:06:40 +0200 Subject: [PATCH 050/157] haskell-path-pieces: update to version 0.1.3 --- .../development/libraries/haskell/path-pieces/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/path-pieces/default.nix b/pkgs/development/libraries/haskell/path-pieces/default.nix index 14b9f8d70813..cdfe320a0609 100644 --- a/pkgs/development/libraries/haskell/path-pieces/default.nix +++ b/pkgs/development/libraries/haskell/path-pieces/default.nix @@ -1,11 +1,11 @@ -{ cabal, fileLocation, hspec, HUnit, QuickCheck, text, time }: +{ cabal, hspec, HUnit, QuickCheck, text, time }: cabal.mkDerivation (self: { pname = "path-pieces"; - version = "0.1.2"; - sha256 = "1cxsa8lq1f2jf86iv6f17nraiav8k2vzjxln1y7z45qhcp1sbbaa"; + version = "0.1.3"; + sha256 = "03x9kfcaz1zsdpdzs05pcl0hv4hffgsl2js8xiy5slba6n841v4l"; buildDepends = [ text time ]; - testDepends = [ fileLocation hspec HUnit QuickCheck text ]; + testDepends = [ hspec HUnit QuickCheck text ]; meta = { description = "Components of paths"; license = self.stdenv.lib.licenses.bsd3; From de419ca920b1a40a47f001ec197930658b89c15e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 20 Oct 2013 16:06:40 +0200 Subject: [PATCH 051/157] haskell-uuid: update to version 1.3.0 --- .../libraries/haskell/uuid/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/uuid/default.nix b/pkgs/development/libraries/haskell/uuid/default.nix index 37ef38da4e2e..a3896b4b8c6f 100644 --- a/pkgs/development/libraries/haskell/uuid/default.nix +++ b/pkgs/development/libraries/haskell/uuid/default.nix @@ -1,16 +1,18 @@ -{ cabal, binary, criterion, cryptohash, deepseq, HUnit, maccatcher -, mersenneRandomPure64, QuickCheck, random, testFramework -, testFrameworkHunit, testFrameworkQuickcheck2, time +{ cabal, binary, cryptohash, deepseq, hashable, HUnit, networkInfo +, QuickCheck, random, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, time }: cabal.mkDerivation (self: { pname = "uuid"; - version = "1.2.14"; - sha256 = "13r2yzhb9nj1h6wfy7w9k59d27z9iza5r4apmf72zby2fi9vdnwy"; - buildDepends = [ binary cryptohash maccatcher random time ]; + version = "1.3.0"; + sha256 = "0bzgprrag170j55vwi03lc6h4lk6cl9jsbawcp9nc7hivkqib26j"; + buildDepends = [ + binary cryptohash deepseq hashable networkInfo random time + ]; testDepends = [ - criterion deepseq HUnit mersenneRandomPure64 QuickCheck random - testFramework testFrameworkHunit testFrameworkQuickcheck2 + HUnit QuickCheck random testFramework testFrameworkHunit + testFrameworkQuickcheck2 ]; jailbreak = true; doCheck = false; From aeff0028bfbef56796a6d8eb126a664ca8350893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 20 Oct 2013 21:16:13 +0200 Subject: [PATCH 052/157] munin: add test and fix a bug --- nixos/modules/services/monitoring/munin.nix | 3 +- nixos/tests/default.nix | 1 + nixos/tests/munin.nix | 31 +++++++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 nixos/tests/munin.nix diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index fea52fa56081..c2299cfefef8 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -195,10 +195,9 @@ in system.activationScripts.munin-node = '' echo "updating munin plugins..." - export PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin"; mkdir -p /etc/munin/plugins rm -rf /etc/munin/plugins/* - ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash + PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash ''; }) (mkIf cronCfg.enable { diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index 0c971f1b712b..ce5776c8e465 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -21,6 +21,7 @@ with import ../lib/testing.nix { inherit system minimal; }; #mpich = makeTest (import ./mpich.nix); mysql = makeTest (import ./mysql.nix); mysql_replication = makeTest (import ./mysql-replication.nix); + munin = makeTest (import ./munin.nix); nat = makeTest (import ./nat.nix); nfs3 = makeTest (import ./nfs.nix { version = 3; }); #nfs4 = makeTest (import ./nfs.nix { version = 4; }); diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix new file mode 100644 index 000000000000..66ae1c0d87f7 --- /dev/null +++ b/nixos/tests/munin.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: + +# This test runs basic munin setup with node and cron job running on the same +# machine. + +{ + nodes = { + one = + { config, pkgs, ... }: + { + services = { + munin-node.enable = true; + munin-cron = { + enable = true; + hosts = '' + [${config.networking.hostName}] + address localhost + ''; + }; + }; + }; + }; + + testScript = '' + startAll; + + $one->waitForUnit("munin-node.service"); + $one->waitForFile("/var/lib/munin/one/one-uptime-uptime-g.rrd"); + $one->waitForFile("/var/www/munin/one/index.html"); + ''; +} From 5de7170aa55c999a7743c30b9288951f4ebe5332 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 10 Oct 2013 02:38:47 +0200 Subject: [PATCH 053/157] nginx: Add optional patch for syslog support. close #1055. --- pkgs/servers/http/nginx/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index 8e77d07e5c59..28390aa38da0 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false }: +{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false, syslog ? false }: let dav-ext = fetchgit { @@ -6,6 +6,12 @@ let rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d"; sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq"; }; + + syslog-ext = fetchgit { + url = https://github.com/yaoweibin/nginx_syslog_patch.git; + rev = "165affd9741f0e30c4c8225da5e487d33832aca3"; + sha256 = "14dkkafjnbapp6jnvrjg9ip46j00cr8pqc2g7374z9aj7hrvdvhs"; + }; in stdenv.mkDerivation rec { @@ -18,6 +24,8 @@ stdenv.mkDerivation rec { buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat; + patches = if syslog then [ "${syslog-ext}/syslog_1.4.0.patch" ] else []; + configureFlags = [ "--with-http_ssl_module" "--with-http_xslt_module" @@ -27,7 +35,8 @@ stdenv.mkDerivation rec { "--with-http_secure_link_module" # Install destination problems # "--with-http_perl_module" - ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"; + ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}" + ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}"; preConfigure = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2" From 5bbb1f77b2dff7f96814d1f997a501e1a22f99f8 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 21 Oct 2013 00:30:11 +0400 Subject: [PATCH 054/157] =?UTF-8?q?Adding=20SlimerJS=20=E2=80=94=20script-?= =?UTF-8?q?driven=20Gecko=20browser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/licenses.nix | 6 +++ pkgs/development/tools/slimerjs/default.nix | 38 +++++++++++++++++++ .../tools/slimerjs/default.upstream | 2 + pkgs/top-level/all-packages.nix | 2 + 4 files changed, 48 insertions(+) create mode 100644 pkgs/development/tools/slimerjs/default.nix create mode 100644 pkgs/development/tools/slimerjs/default.upstream diff --git a/lib/licenses.nix b/lib/licenses.nix index 55517c5e1e5e..b13a72f3f644 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -186,6 +186,12 @@ url = http://www.mozilla.org/MPL/MPL-1.1.html; }; + mpl20 = { + shortName = "MPL2.0"; + fullName = "Mozilla Public License version 2.0"; + url = https://www.mozilla.org/MPL/2.0; + }; + openssl = { shortName = "openssl"; fullName = "OpenSSL license"; diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix new file mode 100644 index 000000000000..23aae157f093 --- /dev/null +++ b/pkgs/development/tools/slimerjs/default.nix @@ -0,0 +1,38 @@ +{stdenv, fetchurl, unzip, xulrunner, bash}: +let + s = # Generated upstream information + rec { + baseName="slimerjs"; + version="0.8.3"; + name="${baseName}-${version}"; + hash="07gwiay2pbzyscn8gnwb8i92xffjahhinlswc1z4h8dbjk837d8h"; + url="http://download.slimerjs.org/v0.8/slimerjs-0.8.3.zip"; + sha256="07gwiay2pbzyscn8gnwb8i92xffjahhinlswc1z4h8dbjk837d8h"; + }; + buildInputs = [ + unzip + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + installPhase = '' + mkdir -p "$out"/{bin,share/doc/slimerjs,lib/slimerjs} + cp LICENSE README* "$out/share/doc/slimerjs" + cp * "$out/lib/slimerjs" + echo '#!${bash}/bin/bash' >> "$out/bin/slimerjs" + echo 'export SLIMERJSLAUNCHER=${xulrunner}/bin/xulrunner' >> "$out/bin/slimerjs" + echo "'$out/lib/slimerjs/slimerjs' \"\$@\"" >> "$out/bin/slimerjs" + chmod a+x "$out/bin/slimerjs" + ''; + meta = { + inherit (s) version; + description = ''Gecko-based programmatically-driven browser''; + license = stdenv.lib.licenses.mpl20 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/slimerjs/default.upstream b/pkgs/development/tools/slimerjs/default.upstream new file mode 100644 index 000000000000..f2d6b89e51b4 --- /dev/null +++ b/pkgs/development/tools/slimerjs/default.upstream @@ -0,0 +1,2 @@ +url http://slimerjs.org/download.html +version_link '/slimerjs-[0-9.]+[.]zip$' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f71b6a0be043..66417c3a6aff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3740,6 +3740,8 @@ let simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; + slimerjs = callPackage ../development/tools/slimerjs {}; + sloccount = callPackage ../development/tools/misc/sloccount { }; smatch = callPackage ../development/tools/analysis/smatch { From 3c3c631a450106e7936b717d0170b4eadd3b0fb3 Mon Sep 17 00:00:00 2001 From: "Jason \"Don\" O'Conal" Date: Mon, 16 Sep 2013 21:34:49 +1000 Subject: [PATCH 055/157] vimPlugins.vimshell: add expression vimPlugins.vimproc: add expression close #978 --- pkgs/misc/vim-plugins/default.nix | 62 +++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index af4363f9217e..b17b8490a0b1 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip }: +{ fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip, which }: /* About Vim and plugins @@ -90,14 +90,13 @@ let vimHelpTags = '' installPhase = '' target=$out/vim-plugins/$path ensureDir $out/vim-plugins - ls -l cp -r . $target ${vimHelpTags} vimHelpTags $target ''; }); -in +in rec { @@ -251,4 +250,61 @@ in path = "xdebug"; postInstall = false; }; + + vimshell = simpleDerivation rec { + version = "9.2"; + name = "vimshell-${version}"; + + meta = with stdenv.lib; { + description = "An extreme shell that doesn't depend on external shells and is written completely in Vim script"; + homepage = https://github.com/Shougo/vimshell.vim; + repositories.git = https://github.com/Shougo/vimshell.vim.git; + license = licenses.gpl3; + maintainers = with maintainers; [ lovek323 ]; + platforms = platforms.unix; + }; + + src = fetchurl { + url = "https://github.com/Shougo/vimshell.vim/archive/ver.${version}.tar.gz"; + sha256 = "1pbwxdhpv6pr09b6hwkgy7grpmpwlqpsgsawl38r40q6yib8zb4a"; + }; + + buildInputs = [ vimproc ]; + + preBuild = '' + sed -ie '1 i\ + set runtimepath+=${vimproc}/vim-plugins/vimproc\ + ' autoload/vimshell.vim + ''; + + path = "vimshell"; + }; + + vimproc = simpleDerivation rec { + version = "5cf4c6bfe9bf0649159b5648d736d54c96e99b3e"; + name = "vimproc-${version}"; + + meta = with stdenv.lib; { + description = "An asynchronous execution library for Vim"; + homepage = https://github.com/Shougo/vimproc.vim; + repositories.git = https://github.com/Shougo/vimproc.vim.git; + license = licenses.gpl3; + maintainers = with maintainers; [ lovek323 ]; + platforms = platforms.unix; + }; + + src = fetchurl { + url = "${meta.homepage}/archive/${version}.tar.gz"; + sha256 = "0f76mc7v3656sf9syaq1rxzk3dqz6i5w190wgj15sjjnapzd956p"; + }; + + buildInputs = [ which ]; + + buildPhase = '' + sed -i 's/vimproc_mac\.so/vimproc_unix\.so/' autoload/vimproc.vim + make -f make_unix.mak + ''; + + path = "vimproc"; + }; } From 8c0982232ec89777556efa326c8f996e4bcc56e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 20 Oct 2013 23:08:35 +0200 Subject: [PATCH 056/157] Net-SNMP: disable tests --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 461dc0c1f6ea..8b2c0bd510ea 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6116,6 +6116,7 @@ rec { url = "mirror://cpan/authors/id/D/DT/DTOWN/${name}.tar.gz"; sha256 = "0hdpn1cw52x8cw24m9ayzpf4rwarm0khygn1sv3wvwxkrg0pphql"; }; + doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799 }; NetSSLeay = buildPerlPackage rec { From b6823c28cd84d8e20747850b04a743cbbdde2495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 21 Oct 2013 10:40:30 +0200 Subject: [PATCH 057/157] fix tarball test --- pkgs/development/libraries/libvncserver/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix index 35adb4600414..da9e1dc31482 100644 --- a/pkgs/development/libraries/libvncserver/default.nix +++ b/pkgs/development/libraries/libvncserver/default.nix @@ -3,6 +3,9 @@ xextproto, libXext, fixesproto, libXfixes, xineramaproto, libXinerama, libXrandr, randrproto, libXtst, zlib }: + +assert stdenv.isLinux; + let s = # Generated upstream information rec { From 375c395d124ad282e92c8e3b87c92ede4c045557 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 21 Oct 2013 10:46:24 +0200 Subject: [PATCH 058/157] Manual: Update installation section --- nixos/doc/manual/configuration.xml | 9 ++++ nixos/doc/manual/installation.xml | 86 ++++++++++++++++++++---------- nixos/doc/manual/manual.xml | 4 +- 3 files changed, 69 insertions(+), 30 deletions(-) diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml index e93c49d1ccec..b0b1da71184a 100644 --- a/nixos/doc/manual/configuration.xml +++ b/nixos/doc/manual/configuration.xml @@ -11,6 +11,15 @@ NixOS machine through the configuration file effect after you run nixos-rebuild. + + +
Configuration syntax + +TODO + +
+ +
Package management diff --git a/nixos/doc/manual/installation.xml b/nixos/doc/manual/installation.xml index 3068fa5cb944..d274cfc6908d 100644 --- a/nixos/doc/manual/installation.xml +++ b/nixos/doc/manual/installation.xml @@ -44,7 +44,7 @@ Wiki. The NixOS manual is available on virtual console 8 (press Alt+F8 to access). - Login as root, empty + Login as root and the empty password. If you downloaded the graphical ISO image, you can @@ -89,7 +89,13 @@ $ lvcreate --size 1G --name smalldisk MyVolGroup Mount the target file system on which NixOS should - be installed on /mnt. + be installed on /mnt, e.g. + + +$ mount /dev/disk/by-label/nixos /mnt + + + @@ -97,40 +103,56 @@ $ lvcreate --size 1G --name smalldisk MyVolGroup /mnt/etc/nixos/configuration.nix that specifies the intended configuration of the system. This is because NixOS has a declarative configuration - model: you create or edit a description of the configuration that - you want to be built and activated, and then NixOS takes care of - realising that configuration. The command - nixos-option can generate an initial - configuration file for you: + model: you create or edit a description of the desired + configuration of your system, and then NixOS takes care of making + it happen. The syntax of the NixOS configuration file is + described in , while a + list of available configuration options appears in . A minimal example is shown in . + + The command nixos-generate-config can + generate an initial configuration file for you: -$ nixos-option --install +$ nixos-generate-config --root /mnt - It tries to figure out the kernel modules necessary for mounting - the root device, as well as various other hardware - characteristics. However, it doesn’t try to figure out the - option yet. - - You should edit + You should then edit /mnt/etc/nixos/configuration.nix to suit your - needs. The text editors nano and - vim are available. + needs: - You need to specify a root file system in - and the target device for the Grub boot - loader in . See - for a list of the available configuration - options. + +$ nano /mnt/etc/nixos/configuration.nix + - It is very important that you specify in the option - all kernel modules that - are necessary for mounting the root file system, otherwise the - installed system will not be able to boot. (If this happens, boot - from the CD again, mount the target file system on + The vim text editor is also available. + + You must set the option + to specify on which disk + the GRUB boot loader is to be installed. Without it, NixOS cannot + boot. + + Another critical option is , + specifying the file systems that need to be mounted by NixOS. + However, you typically don’t need to set it yourself, because + nixos-generate-config sets it automatically in + /mnt/etc/nixos/hardware-configuration.nix + from your currently mounted file systems. (The configuration file + hardware-configuration.nix is included from + configuration.nix and will be overwritten by + future invocations of nixos-generate-config; + thus, you generally should not modify it.) + + Depending on your hardware configuration or type of + file system, you may need to set the option + to include the kernel + modules that are necessary for mounting the root file system, + otherwise the installed system will not be able to boot. (If this + happens, boot from the CD again, mount the target file system on /mnt, fix /mnt/etc/nixos/configuration.nix and rerun nixos-install.) In most cases, - nixos-option --install will figure out the + nixos-generate-config will figure out the required modules. Examples of real-world NixOS configuration files can be @@ -218,7 +240,7 @@ $ fdisk /dev/sda (or whatever device you want to install on)(idem) $ mkswap -L swap /dev/sda2 (idem) $ mount LABEL=nixos /mnt -$ nixos-option --install +$ nixos-generate-config $ nano /mnt/etc/nixos/configuration.nix (in particular, set the fileSystems and swapDevices options) $ nixos-install @@ -228,8 +250,16 @@ $ reboot NixOS configuration { + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + boot.loader.grub.device = "/dev/sda"; + # Note: setting fileSystems and swapDevices is generally not + # necessary, since nixos-generate-config has set them automatically + # in hardware-configuration.nix. fileSystems."/".device = "/dev/disk/by-label/nixos"; swapDevices = diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index 7d6634bf0931..dfbd865b505b 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -42,7 +42,7 @@ xlink:href="irc://irc.freenode.net/#nixos"> #nixos channel on Freenode. Bugs should be reported in NixOS’ GitHub + xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’ GitHub issue tracker. @@ -55,7 +55,7 @@ - List of Options + List of options From 65277727e89ef7cd8657eca1c0fda4c2892d3fea Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 21 Oct 2013 11:17:20 +0200 Subject: [PATCH 059/157] nix-gc: Revert to "script" instead of ExecStart There is an assumption that cfg.options can contain shell code, so ExecStart doesn't work here. --- nixos/modules/services/misc/nix-gc.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix index dfdc4db65d54..ad6889ce1428 100644 --- a/nixos/modules/services/misc/nix-gc.nix +++ b/nixos/modules/services/misc/nix-gc.nix @@ -52,7 +52,7 @@ in systemd.services.nix-gc = { description = "Nix Garbage Collector"; - serviceConfig.ExecStart = "${config.environment.nix}/bin/nix-collect-garbage ${cfg.options}"; + script = "exec ${config.environment.nix}/bin/nix-collect-garbage ${cfg.options}"; startAt = optionalString cfg.automatic cfg.dates; }; From d43d1aa0d0b7c6c5f6c2f2bd265642404a990614 Mon Sep 17 00:00:00 2001 From: James Cook Date: Fri, 18 Oct 2013 21:30:42 -0700 Subject: [PATCH 060/157] e2fsprogs: Update to 1.42.8. --- pkgs/tools/filesystems/e2fsprogs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index 712cd32d9c33..c01342511cc0 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libuuid }: stdenv.mkDerivation rec { - name = "e2fsprogs-1.42.7"; + name = "e2fsprogs-1.42.8"; src = fetchurl { url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; - sha256 = "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw"; + sha256 = "b984aaf1fe888d6a4cf8c2e8d397207879599b5368f1d33232c1ec9d68d00c97"; }; buildInputs = [ pkgconfig libuuid ]; From 3af6415ab89cb5465ff9fd8f801561313cb85916 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 21 Oct 2013 15:02:35 +0200 Subject: [PATCH 061/157] mailman: add version 2.1.16 --- pkgs/servers/mail/mailman/default.nix | 26 +++++++++++++++ .../servers/mail/mailman/fix-var-prefix.patch | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++- 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 pkgs/servers/mail/mailman/default.nix create mode 100644 pkgs/servers/mail/mailman/fix-var-prefix.patch diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix new file mode 100644 index 000000000000..cda5dba32e0c --- /dev/null +++ b/pkgs/servers/mail/mailman/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, python }: + +stdenv.mkDerivation rec { + name = "mailman-2.1.16"; + + src = fetchurl { + url = "mirror://gnu/mailman/${name}.tgz"; + sha256 = "0qsgnqjfi07kdiwzik0i78a5q3q5kcw1r61g48abix9qjc32n5ax"; + }; + + buildInputs = [ python ]; + + patches = [ ./fix-var-prefix.patch ]; + + configureFlags = "--without-permcheck --with-cgi-ext=.cgi --with-var-prefix=/var/lib/mailman"; + + installTargets = "doinstall"; # Leave out the 'update' target that's implied by 'install'. + + meta = { + homepage = "http://www.gnu.org/software/mailman/"; + description = "Free software for managing electronic mail discussion and e-newsletter lists"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/servers/mail/mailman/fix-var-prefix.patch b/pkgs/servers/mail/mailman/fix-var-prefix.patch new file mode 100644 index 000000000000..9bb735ecbed7 --- /dev/null +++ b/pkgs/servers/mail/mailman/fix-var-prefix.patch @@ -0,0 +1,33 @@ +diff -ubr mailman-2.1.16-orig/contrib/redhat_fhs.patch mailman-2.1.16/contrib/redhat_fhs.patch +--- mailman-2.1.16-orig/contrib/redhat_fhs.patch 2013-10-21 14:55:48.797631434 +0200 ++++ mailman-2.1.16/contrib/redhat_fhs.patch 2013-10-21 14:56:42.534310378 +0200 +@@ -197,7 +197,7 @@ + + else true; \ + + fi; \ + + done +- chmod o-r $(DESTDIR)$(var_prefix)/archives/private ++ chmod o-r $(prefix)$(var_prefix)/archives/private + @for d in $(ARCH_INDEP_DIRS); \ + do \ + Only in mailman-2.1.5.FHS: Makefile.in~ +diff -ubr mailman-2.1.16-orig/Makefile.in mailman-2.1.16/Makefile.in +--- mailman-2.1.16-orig/Makefile.in 2013-10-21 14:55:48.798631519 +0200 ++++ mailman-2.1.16/Makefile.in 2013-10-21 14:56:42.562313220 +0200 +@@ -87,7 +87,7 @@ + @echo "Creating architecture independent directories..." + @for d in $(VAR_DIRS); \ + do \ +- dir=$(DESTDIR)$(var_prefix)/$$d; \ ++ dir=$(prefix)$(var_prefix)/$$d; \ + if test ! -d $$dir; then \ + echo "Creating directory hierarchy $$dir"; \ + $(srcdir)/mkinstalldirs $$dir; \ +@@ -96,7 +96,7 @@ + else true; \ + fi; \ + done +- chmod o-r $(DESTDIR)$(var_prefix)/archives/private ++ chmod o-r $(prefix)$(var_prefix)/archives/private + @for d in $(ARCH_INDEP_DIRS); \ + do \ + dir=$(DESTDIR)$(prefix)/$$d; \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 66417c3a6aff..fe87160c718a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4470,7 +4470,7 @@ let heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; - harfbuzz = callPackage ../development/libraries/harfbuzz { + harfbuzz = callPackage ../development/libraries/harfbuzz { icu = null; graphite2 = null; }; @@ -6157,6 +6157,8 @@ let lighttpd = callPackage ../servers/http/lighttpd { }; + mailman = callPackage ../servers/mail/mailman { }; + mediatomb = callPackage ../servers/mediatomb { ffmpeg = ffmpeg_0_6_90; }; From 4732f59226a21b01d630c7ef4fb884bbfbe7dc83 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Mon, 21 Oct 2013 19:10:37 +0300 Subject: [PATCH 062/157] xserver.s3tcSupport: fix typo, improve description. --- nixos/modules/services/x11/xserver.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 02ba680255bf..e391da5c5721 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -232,8 +232,11 @@ in s3tcSupport = mkOption { default = false; description = '' - Make S2TC via libtxc_dxtn available to OpenGL drivers. Using - this library may require a patent license depending on your location. + Make S3TC(S3 Texture Compression) via libtxc_dxtn available + to OpenGL drivers. It is essential for many games to work + with FOSS GPU drivers. + + Using this library may require a patent license depending on your location. ''; }; From d2f612b1b648cb8af74d5be4a31b2d3a9092fb3a Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Mon, 21 Oct 2013 19:26:26 +0300 Subject: [PATCH 063/157] postgresql.authMethod: remove unimplemented option. close #1104. --- nixos/modules/services/databases/postgresql.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index fc6b5b167b88..1c43dad1d508 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -95,14 +95,6 @@ in ''; }; - authMethod = mkOption { - default = " ident sameuser "; - description = '' - How to authorize users. - Note: ident needs absolute trust to all allowed client hosts. - ''; - }; - enableTCPIP = mkOption { default = false; description = '' From 7fe15b8a1ad006197980a2eed91b8c160ffba9a2 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Mon, 21 Oct 2013 11:10:23 +0100 Subject: [PATCH 064/157] perlPackages.GnuPG: new expression --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8b2c0bd510ea..febe9ce9e42e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3633,6 +3633,19 @@ rec { }; }; + GnuPG = buildPerlPackage { + name = "GnuPG-0.19"; + src = fetchurl { + url = mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz; + sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b"; + }; + buildInputs = [ pkgs.gnupg1orig ]; + meta = { + platforms = stdenv.lib.platforms.linux; + maintainers = with maintainers; [ ocharles ]; + }; + }; + GoogleProtocolBuffers = buildPerlPackage rec { name = "Google-ProtocolBuffers-0.08"; src = fetchurl { From 34e4849c687a883edca0bcc78c30db946afaa56a Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Mon, 21 Oct 2013 11:10:38 +0100 Subject: [PATCH 065/157] perlPackages.LocalePO: new expression --- pkgs/top-level/perl-packages.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index febe9ce9e42e..60ff4ab7b836 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4603,6 +4603,21 @@ rec { }; }; + LocalePO = buildPerlPackage { + name = "Locale-PO-0.23"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.23.tar.gz; + sha256 = "52e5fdc88ec4eb00512418a938dc5089476ea66c9e744fee3c6bbfdf17a0d302"; + }; + propagatedBuildInputs = [ FileSlurp ]; + meta = { + description = "Perl module for manipulating .po entries from GNU gettext"; + license = "unknown"; + platforms = stdenv.lib.platforms.linux; + maintainers = with maintainers; [ ocharles ]; + }; + }; + LockFileSimple = buildPerlPackage rec { name = "LockFile-Simple-0.207"; src = fetchurl { From d685ba717d7d7d9ba2363c05a4882eb59da798c0 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Mon, 21 Oct 2013 11:10:58 +0100 Subject: [PATCH 066/157] perlPackages.TAPParserSourceHandlerpgTAP: New expression --- pkgs/top-level/perl-packages.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 60ff4ab7b836..74c6d5efc0b2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7638,6 +7638,21 @@ rec { doCheck = false; # no `hostname' in stdenv }; + TAPParserSourceHandlerpgTAP = buildPerlModule { + name = "TAP-Parser-SourceHandler-pgTAP-3.29"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.29.tar.gz; + sha256 = "918aa9ada7a05334ace7304e7b9e002bbf0b569bfcf8fb06118777bdabd60e1b"; + }; + meta = { + homepage = http://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP/; + description = "Stream TAP from pgTAP test scripts"; + license = "perl"; + platforms = stdenv.lib.platforms.linux; + maintainers = with maintainers; [ ocharles ]; + }; + }; + TaskCatalystTutorial = buildPerlPackage rec { name = "Task-Catalyst-Tutorial-0.06"; src = fetchurl { From 3eebabb90a922afcf50b01b15242e2e2f4a1ff14 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Mon, 21 Oct 2013 11:11:12 +0100 Subject: [PATCH 067/157] perlPackages.TemplatePluginJSONEscape: new expression Close #1103. --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 74c6d5efc0b2..6f1ddd226e1d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7723,6 +7723,19 @@ rec { }; }; + TemplatePluginJSONEscape = buildPerlPackage { + name = "Template-Plugin-JSON-Escape-0.02"; + src = fetchurl { + url = mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz; + sha256 = "051a8b1d3bc601d58fc51e246067d36450cfe970278a0456e8ab61940f13cd86"; + }; + propagatedBuildInputs = [ JSON TemplateToolkit ]; + meta = { + maintainers = with maintainers; [ ocharles ]; + platforms = stdenv.lib.platforms.unix; + }; + }; + TemplateTimer = buildPerlPackage { name = "Template-Timer-1.00"; src = fetchurl { From ae39f6c0cb986f15f83d6609b9689372d0d6580a Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 21 Oct 2013 21:25:56 +0400 Subject: [PATCH 068/157] Make 1.6 the default Wine version and call 1.7.4 wineUnstable --- pkgs/misc/emulators/wine/stable.nix | 77 +++++++++++++++++++ pkgs/misc/emulators/wine/stable.upstream | 8 ++ .../wine/{default.nix => unstable.nix} | 0 .../{default.upstream => unstable.upstream} | 1 + pkgs/top-level/all-packages.nix | 4 +- 5 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 pkgs/misc/emulators/wine/stable.nix create mode 100644 pkgs/misc/emulators/wine/stable.upstream rename pkgs/misc/emulators/wine/{default.nix => unstable.nix} (100%) rename pkgs/misc/emulators/wine/{default.upstream => unstable.upstream} (88%) diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix new file mode 100644 index 000000000000..9c1f7fd24ae0 --- /dev/null +++ b/pkgs/misc/emulators/wine/stable.nix @@ -0,0 +1,77 @@ +{ stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib +, ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge +, libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper +}: + +assert stdenv.isLinux; +assert stdenv.gcc.gcc != null; + +let + version = "1.6"; + name = "wine-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/wine/${name}.tar.bz2"; + sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1"; + }; + + gecko = fetchurl { + url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; + sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh"; + }; + + gecko64 = fetchurl { + url = "mirror://sourceforge/wine/wine_gecko-2.21-x86_64.msi"; + sha256 = "0grc86dkq90i59zw43hakh62ra1ajnk11m64667xjrlzi7f0ndxw"; + }; + + mono = fetchurl { + url = "mirror://sourceforge/wine/wine-mono-0.0.8.msi"; + sha256 = "00jl24qp7vh3hlqv7wsw1s529lr5p0ybif6s73jy85chqaxj7z1x"; + }; + +in stdenv.mkDerivation rec { + inherit version name src; + + buildInputs = [ + xlibs.xlibs flex bison xlibs.libXi mesa + xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr + xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite + alsaLib ncurses libpng libjpeg lcms fontforge + libxml2 libxslt openssl gnutls cups makeWrapper + ]; + + # Wine locates a lot of libraries dynamically through dlopen(). Add + # them to the RPATH so that the user doesn't have to set them in + # LD_LIBRARY_PATH. + NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [ + freetype fontconfig stdenv.gcc.gcc mesa libdrm + xlibs.libXinerama xlibs.libXrender xlibs.libXrandr + xlibs.libXcursor xlibs.libXcomposite libpng libjpeg + openssl gnutls cups + ]; + + # Don't shrink the ELF RPATHs in order to keep the extra RPATH + # elements specified above. + dontPatchELF = true; + + postInstall = '' + install -D ${gecko} $out/share/wine/gecko/${gecko.name} + '' + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' + install -D ${gecko} $out/share/wine/gecko/${gecko64.name} + '' + '' + install -D ${mono} $out/share/wine/mono/${mono.name} + wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib + ''; + + enableParallelBuilding = true; + + meta = { + homepage = "http://www.winehq.org/"; + license = "LGPL"; + inherit version; + description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix"; + maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/misc/emulators/wine/stable.upstream b/pkgs/misc/emulators/wine/stable.upstream new file mode 100644 index 000000000000..b5913798a886 --- /dev/null +++ b/pkgs/misc/emulators/wine/stable.upstream @@ -0,0 +1,8 @@ +url http://sourceforge.net/projects/wine/files/Source/ +version_link '[-][0-9]+[.][0-9]*[24680][.]([0-9]+[.])*tar[.][^./]+/download$' +SF_redirect +do_overwrite () { + ensure_hash + set_var_value version "$CURRENT_VERSION" + set_var_value sha256 "$CURRENT_HASH" +} diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/unstable.nix similarity index 100% rename from pkgs/misc/emulators/wine/default.nix rename to pkgs/misc/emulators/wine/unstable.nix diff --git a/pkgs/misc/emulators/wine/default.upstream b/pkgs/misc/emulators/wine/unstable.upstream similarity index 88% rename from pkgs/misc/emulators/wine/default.upstream rename to pkgs/misc/emulators/wine/unstable.upstream index e23f341c28a2..e3616df76802 100644 --- a/pkgs/misc/emulators/wine/default.upstream +++ b/pkgs/misc/emulators/wine/unstable.upstream @@ -1,4 +1,5 @@ url http://sourceforge.net/projects/wine/files/Source/ +attribute_name wine_unstable version_link '[.]tar[.][^./]+/download$' SF_redirect do_overwrite () { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe87160c718a..6e379079dd8d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10164,7 +10164,9 @@ let VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; # Wine cannot be built in 64-bit; use a 32-bit build instead. - wine = callPackage_i686 ../misc/emulators/wine { }; + wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { }; + wineUnstable = callPackage_i686 ../misc/emulators/wine/unstable.nix { }; + wine = wineStable; # winetricks is a shell script with no binary components. Safe to just use the current platforms # build instead of the i686 specific build. From 6cb91c33d0a66fe66e8f23206795e55b65735c0c Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Fri, 11 Oct 2013 17:18:40 +0200 Subject: [PATCH 069/157] Firebird service: * simplify directory layout * clean up option descriptions * let the user override Firebird package * create firebird user * clarify TODO comment Close # 1061. --- nixos/modules/services/databases/firebird.nix | 89 +++++++++++-------- 1 file changed, 51 insertions(+), 38 deletions(-) diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix index aca0d58900b1..213320d5c54a 100644 --- a/nixos/modules/services/databases/firebird.nix +++ b/nixos/modules/services/databases/firebird.nix @@ -1,9 +1,18 @@ { config, pkgs, ... }: -# TODO: this file needs some additional work - at least you can connect to -# firebird .. -# Example how to connect: -# isql /var/db/firebird/data/your-db.fdb -u sysdba -p +# TODO: This may file may need additional review, eg which configuartions to +# expose to the user. +# +# I only used it to access some simple databases. + +# test: +# isql, then type the following commands: +# CREATE DATABASE '/var/db/firebird/data/test.fdb' USER 'SYSDBA' PASSWORD 'masterkey'; +# CONNECT '/var/db/firebird/data/test.fdb' USER 'SYSDBA' PASSWORD 'masterkey'; +# CREATE TABLE test ( text varchar(100) ); +# DROP DATABASE; +# +# Be careful, virtuoso-opensource also provides a different isql command ! # There are at least two ways to run firebird. superserver has been choosen # however there are no strong reasons to prefer this or the other one AFAIK @@ -18,7 +27,8 @@ let firebird = cfg.package; - pidFile = "${cfg.pidDir}/firebirdd.pid"; + dataDir = "${cfg.baseDir}/data"; + systemDir = "${cfg.baseDir}/system"; in @@ -32,9 +42,9 @@ in enable = mkOption { default = false; - description = " - Whether to enable the firebird super server. - "; + description = '' + Whether to enable the Firebird super server. + ''; }; package = mkOption { @@ -45,29 +55,31 @@ in reasons. See comments at the firebirdSuper derivation */ - description = " + description = '' Which firebird derivation to use. - "; + ''; }; port = mkOption { default = "3050"; - description = "Port of Firebird."; + description = '' + Port Firebird uses. + ''; }; user = mkOption { default = "firebird"; - description = "User account under which firebird runs."; + description = '' + User account under which firebird runs. + ''; }; - dataDir = mkOption { - default = "/var/db/firebird/data"; # ubuntu is using /var/lib/firebird/2.1/data/.. ? - description = "Location where firebird databases are stored."; - }; - - pidDir = mkOption { - default = "/run/firebird"; - description = "Location of the file which stores the PID of the firebird server."; + baseDir = mkOption { + default = "/var/db/firebird"; # ubuntu is using /var/lib/firebird/2.1/data/.. ? + description = '' + Location containing data/ and system/ directories. + data/ stores the databases, system/ stores the password database security2.fdb. + ''; }; }; @@ -79,12 +91,10 @@ in config = mkIf config.services.firebird.enable { - users.extraUsers.firebird.description = "Firebird server user"; - - environment.systemPackages = [firebird]; + environment.systemPackages = [cfg.package]; systemd.services.firebird = - { description = "firebird super server"; + { description = "Firebird Super-Server"; wantedBy = [ "multi-user.target" ]; @@ -92,20 +102,17 @@ in # is a better way preStart = '' - secureDir="${cfg.dataDir}/../system" - mkdir -m 0700 -p \ - "${cfg.dataDir}" \ - "${cfg.pidDir}" \ - /var/log/firebird \ - "$secureDir" + "${dataDir}" \ + "${systemDir}" \ + /var/log/firebird - if ! test -e "$secureDir/security2.fdb"; then - cp ${firebird}/security2.fdb "$secureDir" + if ! test -e "${systemDir}/security2.fdb"; then + cp ${firebird}/security2.fdb "${systemDir}" fi - chown -R ${cfg.user} "${cfg.pidDir}" "${cfg.dataDir}" "$secureDir" /var/log/firebird - chmod -R 700 "${cfg.pidDir}" "${cfg.dataDir}" "$secureDir" /var/log/firebird + chown -R ${cfg.user} "${dataDir}" "${systemDir}" /var/log/firebird + chmod -R 700 "${dataDir}" "${systemDir}" /var/log/firebird ''; serviceConfig.PermissionsStartOnly = true; # preStart must be run as root @@ -119,9 +126,9 @@ in # think about this again - and eventually make it an option environment.etc."firebird/firebird.conf".text = '' - # RootDirectory = Restrict ${cfg.dataDir} - DatabaseAccess = Restrict ${cfg.dataDir} - ExternalFileAccess = Restrict ${cfg.dataDir} + # RootDirectory = Restrict ${dataDir} + DatabaseAccess = Restrict ${dataDir} + ExternalFileAccess = Restrict ${dataDir} # what is this? is None allowed? UdfAccess = None # "Native" = traditional interbase/firebird, "mixed" is windows only @@ -142,8 +149,14 @@ in #RemoteAuxPort = 0 # rsetrict connections to a network card: #RemoteBindAddress = - # there are some more settings .. + # there are some additional settings which should be reviewed ''; }; + users.extraUsers.firebird = { + description = "firebird server user"; + group = "firebird"; + uid = config.ids.uids.firebird; + }; + } From a917b7b0112ddb8473bb27eae16f943ef63ba9f2 Mon Sep 17 00:00:00 2001 From: Jonas Hoersch Date: Fri, 4 Oct 2013 10:02:30 +0200 Subject: [PATCH 070/157] my-env: pull --norc shell flag out into shell parameter As zsh's corresponding flag is called --no-rcs, the build environment couldn't be configured to use zsh at all. Even then the custom PS1 won't work on zsh, but it's usable enough. Close #1040. --- pkgs/misc/my-env/default.nix | 6 +++--- pkgs/misc/my-env/loadenv.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix index ac2dc7f8cda5..1c0dc0cbfe9b 100644 --- a/pkgs/misc/my-env/default.nix +++ b/pkgs/misc/my-env/default.nix @@ -59,7 +59,7 @@ { mkDerivation, substituteAll, pkgs }: { stdenv ? pkgs.stdenv, name, buildInputs ? [] , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? "" - , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash"}: + , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash --norc"}: mkDerivation { # The setup.sh script from stdenv will expect the native build inputs in @@ -146,8 +146,8 @@ mkDerivation { EOF mkdir -p $out/bin - sed -e s,@shell@,${shell}, -e s,@myenvpath@,$out/dev-envs/${name}, \ - -e s,@name@,${name}, ${./loadenv.sh} > $out/bin/load-env-${name} + sed -e 's,@shell@,${shell},' -e s,@myenvpath@,$out/dev-envs/${name}, \ + -e 's,@name@,${name},' ${./loadenv.sh} > $out/bin/load-env-${name} chmod +x $out/bin/load-env-${name} ''; } diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh index 5d126f0c29bb..6752d1c03b5f 100644 --- a/pkgs/misc/my-env/loadenv.sh +++ b/pkgs/misc/my-env/loadenv.sh @@ -10,5 +10,5 @@ export buildInputs export NIX_STRIP_DEBUG=0 export TZ="$OLDTZ" -@shell@ --norc +@shell@ From 9aa4c9fd843c47956564bf4bb2e34d72da65563b Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Mon, 21 Oct 2013 18:16:27 +0000 Subject: [PATCH 071/157] Update fossil to 1.27, and enable the JSON API. --- pkgs/applications/version-management/fossil/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix index a1959eedba2f..2a669729a9c6 100644 --- a/pkgs/applications/version-management/fossil/default.nix +++ b/pkgs/applications/version-management/fossil/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite}: +{stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}: stdenv.mkDerivation { - name = "fossil-1.24"; + name = "fossil-1.27"; src = fetchurl { - url = http://www.fossil-scm.org/download/fossil-src-20121022124804.tar.gz; - sha256 = "0gcvcrd368acxd79gh7p7caicgqd0f076n0i2if63mg3b8ivz9im"; + url = http://www.fossil-scm.org/download/fossil-src-20130911114349.tar.gz; + sha256 = "0n40z8bx2311i11zjx2x15lw3q8vzjwvfqzikrjlqnpal4vzd72f"; }; buildInputs = [ zlib openssl readline sqlite ]; @@ -14,6 +14,7 @@ stdenv.mkDerivation { doCheck = true; checkTarget = "test"; + configureFlags = if withJson then "--json" else ""; preBuild='' export USER=nonexistent-but-specified-user From dc70f314846a86b1d82cb064570ac20a0946bdf6 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Mon, 21 Oct 2013 21:30:14 +0300 Subject: [PATCH 072/157] sauerbraten: SVN repository has moved --- pkgs/games/sauerbraten/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix index ff99b428cef7..8bec0f7b1a95 100644 --- a/pkgs/games/sauerbraten/default.nix +++ b/pkgs/games/sauerbraten/default.nix @@ -14,7 +14,7 @@ let baseName="sauerbraten"; version="3331"; name="${baseName}-r${version}"; - url="https://sauerbraten.svn.sourceforge.net/svnroot/sauerbraten"; + url="https://svn.code.sf.net/p/sauerbraten/code"; hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y"; }; in From b23741da34144bf2e7cf987e2035ee1563111bd6 Mon Sep 17 00:00:00 2001 From: Song Wenwu Date: Thu, 10 Oct 2013 23:17:28 +0800 Subject: [PATCH 073/157] Add smlnj-110.76 Based on patch by Marc Weber: http://lists.science.uu.nl/pipermail/nix-dev/2010-December/005625.html Close #1058. --- pkgs/development/compilers/smlnj/default.nix | 66 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 68 insertions(+) create mode 100644 pkgs/development/compilers/smlnj/default.nix diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix new file mode 100644 index 000000000000..b3a29a1e1c72 --- /dev/null +++ b/pkgs/development/compilers/smlnj/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchurl }: +let + version = "110.76"; + baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; + + sources = map fetchurl [ + { url = "${baseurl}/config.tgz"; sha256 = "0mx5gib1jq5hl3j6gvkkfh60x2hx146xiisclaz4jgy452ywikj1"; } + { url = "${baseurl}/cm.tgz"; sha256 = "14y1pqqw5p5va3rvpk2jddx2gcm37z5hwp5zdm43z02afscq37jk"; } + { url = "${baseurl}/compiler.tgz"; sha256 = "10gn7cwqzbnh4k3l6brb9hp59k9vz2m9fcaarv2fw1gilfw5a9rj"; } + { url = "${baseurl}/runtime.tgz"; sha256 = "0zqajizayzrlrxm47q492mqgfxya7rwqrq4faafai8qfwga6q27n"; } + { url = "${baseurl}/system.tgz"; sha256 = "0dys0f0cdgnivk1niam9g736c3mzrjf9r29051g0579an8yi8slg"; } + { url = "${baseurl}/MLRISC.tgz"; sha256 = "00n1zk65cwf2kf669mn09lp0ya6bfap1czhyq0nfza409vm4v54x"; } + { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "1mx1vjxbpfgcq6fkmh2qirjfqzn3wcnjf4a9ijr7k2bwgnh99sc1"; } + { url = "${baseurl}/ckit.tgz"; sha256 = "1fqdxs2cgzffj0i9rmzv1aljwnhx98hyvj3c2kivw3ligxp4wly4"; } + { url = "${baseurl}/nlffi.tgz"; sha256 = "08dmvs95xmbas3hx7n0csxxl0d0bmhxg7gav1ay02gy9n8iw3g87"; } + { url = "${baseurl}/cml.tgz"; sha256 = "1qc1hs2k2xmn03ldyz2zf0pzbryd1n4bwix226ch8z9pnfimglyb"; } + { url = "${baseurl}/eXene.tgz"; sha256 = "01z69rgmshh694wkcwrzi72z5d5glpijj7mqxb17yz106xyzmgim"; } + { url = "${baseurl}/ml-lpt.tgz"; sha256 = "13gw4197ivzvd6qcbg5pzclhv1f2jy2c433halh021d60qjv4w4r"; } + { url = "${baseurl}/ml-lex.tgz"; sha256 = "0sqa533zca1l7p79qhkb7lspvhk4k2r3839745sci32fzwy1804x"; } + { url = "${baseurl}/ml-yacc.tgz"; sha256 = "1kzi0dpybd9hkklk460mgbwfkixjhav225kkmwnk3jxby3zgflci"; } + { url = "${baseurl}/ml-burg.tgz"; sha256 = "0kjrba8l0v6jn3g6gv9dvrklpvxx9x57b7czwnrrd33pi28sv7fm"; } + { url = "${baseurl}/pgraph.tgz"; sha256 = "174n22m7zibgk68033qql86kyk6mxjni4j0kcadafs0g2xmh6i6z"; } + { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1pq4wwx5ad7zx1306ka06lqwnjv446zz6ndpq6s9ak6ha79f2s9p"; } + { url = "${baseurl}/heap2asm.tgz"; sha256 = "0p91fzwkfr7hng7c026gy5ggl5l9isxpm007iq6ivpjrfjy547wc"; } + { url = "${baseurl}/smlnj-c.tgz"; sha256 = "0vra4gi91w0cjsw3rm162hgz5xsqbr7yds44q7zhs27kccsirpqc"; } + { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "0qcvdhlvpr02c1ssk4jz6175lb9pkdg7zrfscqz6f7crnsgmc5nx"; } + ]; +in stdenv.mkDerivation { + name = "smlnj-${version}"; + + inherit sources; + + patchPhase = '' + sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh + echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl + ''; + + unpackPhase = '' + for s in $sources; do + b=$(basename $s) + cp $s ''${b#*-} + done + unpackFile config.tgz + mkdir base + ./config/unpack $TMP runtime + ''; + + buildPhase = '' + ./config/install.sh + ''; + + installPhase = '' + mkdir -pv $out + cp -rv bin lib $out + + for i in $out/bin/*; do + sed -i "2iSMLNJ_HOME=$out/" $i + done + ''; + + meta = { + description = "Standard ML of New Jersey, a compiler"; + homepage = http://smlnj.org; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6e379079dd8d..a5c1fd11016b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3029,6 +3029,8 @@ let boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53 }; + smlnj = callPackage_i686 ../development/compilers/smlnj { }; + stalin = callPackage ../development/compilers/stalin { }; strategoPackages = recurseIntoAttrs strategoPackages018; From 0a4d53cc5eec4cd5b88866652fc9d6daf3fb29c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 21 Oct 2013 22:22:24 +0200 Subject: [PATCH 074/157] flightgear: add .desktop file --- pkgs/games/flightgear/default.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix index c81bb23ccce6..71183d0ea2ad 100644 --- a/pkgs/games/flightgear/default.nix +++ b/pkgs/games/flightgear/default.nix @@ -2,6 +2,7 @@ , freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr +, makeDesktopItem }: stdenv.mkDerivation rec { @@ -18,6 +19,23 @@ stdenv.mkDerivation rec { sha256 = "0qjvcj2cz7ypa91v95lws44fg8c1p0pazv24ljkai2m2r0jgsv8k"; }; + # Of all the files in the source and data archives, there doesn't seem to be + # a decent icon :-) + iconsrc = fetchurl { + url = "http://wiki.flightgear.org/images/6/62/FlightGear_logo.png"; + sha256 = "1ikz413jia55vfnmx8iwrlxvx8p16ggm81mbrj66wam3q7s2dm5p"; + }; + + desktopItem = makeDesktopItem { + name = "flightgear"; + exec = "fgfs"; + icon = "${iconsrc}"; + comment = "FlightGear Flight Simulator"; + desktopName = "FlightGear"; + genericName = "Flight simulator"; + categories = "Game;Simulation"; + }; + buildInputs = [ freeglut freealut mesa libICE libjpeg openal openscenegraph plib libSM libunwind libX11 xproto libXext xextproto libXi inputproto @@ -31,6 +49,9 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$out/share/FlightGear" tar xvf "${datasrc}" -C "$out/share/FlightGear/" --strip-components=1 + + mkdir -p "$out/share/applications/" + cp "${desktopItem}"/share/applications/* "$out/share/applications/" ''; meta = with stdenv.lib; { From fc687b393f24e3a014d935b04e5860fb19bb36e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 21 Oct 2013 21:56:45 +0200 Subject: [PATCH 075/157] Small fix in handling of "unfree" meta.license attributes meta.license is can be a string or a list of strings. But there is one unhandled case where "unfree" (or "unfree-redistributable") is a part of a list. It will currently not be detected as an "unfree" package and Hydra will attempt to build it. This should fix it. Example: http://hydra.nixos.org/build/6553461 --- pkgs/stdenv/generic/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 0b1003a73921..f8aff33a327f 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -49,7 +49,7 @@ let # Add a utility function to produce derivations that use this # stdenv and its shell. mkDerivation = attrs: - if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable") then + if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate" else lib.addPassthru (derivation ( From 5c88bfaca9b1f288c79d8d4c7b5ffde1d1ba17d8 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Tue, 22 Oct 2013 01:08:05 +0200 Subject: [PATCH 076/157] Add text-format haskell library --- .../libraries/haskell/text-format/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/text-format/default.nix diff --git a/pkgs/development/libraries/haskell/text-format/default.nix b/pkgs/development/libraries/haskell/text-format/default.nix new file mode 100644 index 000000000000..b9507d7777ab --- /dev/null +++ b/pkgs/development/libraries/haskell/text-format/default.nix @@ -0,0 +1,14 @@ +{ cabal, doubleConversion, text, time, transformers }: + +cabal.mkDerivation (self: { + pname = "text-format"; + version = "0.3.1.0"; + sha256 = "13k5a1kfmapd4yckm2vcrwz4vrrf32c2dpisdw0hyvzvmdib3n60"; + buildDepends = [ doubleConversion text time transformers ]; + meta = { + homepage = "https://github.com/bos/text-format"; + description = "Text formatting"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index abd8522b1bc1..cd46ff9ff049 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2079,6 +2079,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {}; text = self.text_0_11_3_1; + textFormat = callPackage ../development/libraries/haskell/text-format {}; + textIcu = callPackage ../development/libraries/haskell/text-icu {}; thespian = callPackage ../development/libraries/haskell/thespian {}; From 23479e1e25b3fee4483db1cee1164dd55260a64f Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 22 Oct 2013 09:30:49 +0400 Subject: [PATCH 077/157] Adding desktop side of GfxTablet tablet-as-input-device Android app --- pkgs/os-specific/linux/gfxtablet/default.nix | 35 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/os-specific/linux/gfxtablet/default.nix diff --git a/pkgs/os-specific/linux/gfxtablet/default.nix b/pkgs/os-specific/linux/gfxtablet/default.nix new file mode 100644 index 000000000000..394defdb19ae --- /dev/null +++ b/pkgs/os-specific/linux/gfxtablet/default.nix @@ -0,0 +1,35 @@ +{stdenv, fetchgit, linuxHeaders}: +let + s = # Generated upstream information + rec { + version="git-2013-10-21"; + name = "gfxtablet-uinput-driver-${version}"; + rev = "c4e337ae0b53a8ccdfe11b904ff129714bd25ec4"; + sha256 = "19d96r2vw9xv82fnfwdyyyf0fja6n06mgg14va996knsn2x5l4la"; + url = "https://github.com/rfc2822/GfxTablet.git"; + }; + buildInputs = [ + linuxHeaders + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchgit { + inherit (s) url sha256 rev; + }; + preBuild = ''cd driver-uinput''; + installPhase = '' + mkdir -p "$out/bin" + cp networktablet "$out/bin" + mkdir -p "$out/share/doc/gfxtablet/" + cp ../*.md "$out/share/doc/gfxtablet/" + ''; + meta = { + inherit (s) version; + description = ''Uinput driver for Android GfxTablet tablet-as-input-device app''; + license = stdenv.lib.licenses.mit ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5c1fd11016b..44562a165ff2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6491,6 +6491,8 @@ let fxload = callPackage ../os-specific/linux/fxload { }; + gfxtablet = callPackage ../os-specific/linux/gfxtablet {}; + gpm = callPackage ../servers/gpm { }; hdparm = callPackage ../os-specific/linux/hdparm { }; From 351c9e310d04e38ae87e0e37ab82de61b319d043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sat, 19 Oct 2013 21:06:26 +0200 Subject: [PATCH 078/157] Emacs: Fix TRAMP by adjusting its path so that it finds ls and other binaries on NixOS systems Close #1094. --- pkgs/applications/editors/emacs-24/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix index 0dcb585e12e9..18e263dae67e 100644 --- a/pkgs/applications/editors/emacs-24/default.nix +++ b/pkgs/applications/editors/emacs-24/default.nix @@ -46,11 +46,12 @@ stdenv.mkDerivation rec { (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) (split-string (getenv "NIX_PROFILES")))) load-path))) + + ;; make tramp work for NixOS machines + (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) EOF ''; - - doCheck = true; meta = with stdenv.lib; { From d7925448022bc1e84e0003953eae57f5f05ab8b8 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Mon, 21 Oct 2013 17:08:42 +0100 Subject: [PATCH 079/157] services.redshift: New service --- nixos/modules/module-list.nix | 1 + nixos/modules/services/x11/redshift.nix | 51 +++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 nixos/modules/services/x11/redshift.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index fff7a0cfad5c..62e5b8e49c2c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -238,6 +238,7 @@ ./services/x11/window-managers/twm.nix ./services/x11/window-managers/wmii.nix ./services/x11/window-managers/xmonad.nix + ./services/x11/redshift.nix ./services/x11/xfs.nix ./services/x11/xserver.nix ./system/activation/activation-script.nix diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix new file mode 100644 index 000000000000..bf7f974edc7b --- /dev/null +++ b/nixos/modules/services/x11/redshift.nix @@ -0,0 +1,51 @@ +{ config, pkgs, ... }: +with pkgs.lib; +let + cfg = config.services.redshift; + +in { + options = { + services.redshift.enable = mkOption { + type = types.bool; + default = false; + example = true; + description = "Enable Redshift to change your screen's colour temperature depending on the time of day"; + }; + + services.redshift.latitude = mkOption { + description = "Your current latitude"; + type = types.string; + }; + + services.redshift.longitude = mkOption { + description = "Your current longitude"; + type = types.string; + }; + + services.redshift.temperature = { + day = mkOption { + description = "Colour temperature to use during day time"; + default = 5500; + type = types.int; + }; + night = mkOption { + description = "Colour temperature to use during night time"; + default = 3700; + type = types.int; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.redshift = { + description = "Redshift colour temperature adjuster"; + requires = [ "display-manager.service" ]; + script = '' + ${pkgs.redshift}/bin/redshift \ + -l ${cfg.latitude}:${cfg.longitude} \ + -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} + ''; + environment = { DISPLAY = ":0"; }; + }; + }; +} From 757161cb8136ba4e004c92e2c82eec7971b2eea9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 22 Oct 2013 13:01:41 +0200 Subject: [PATCH 080/157] xpdf: fix configure-time bug that prevented the man pages from being installed --- pkgs/applications/misc/xpdf/default.nix | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix index 5218df775955..fdcdd4770d0e 100644 --- a/pkgs/applications/misc/xpdf/default.nix +++ b/pkgs/applications/misc/xpdf/default.nix @@ -18,26 +18,20 @@ stdenv.mkDerivation { }; buildInputs = - (if enableGUI then [x11 motif] else []) ++ - (if useT1Lib then [t1lib] else []); + stdenv.lib.optionals enableGUI [x11 motif] ++ + stdenv.lib.optional useT1Lib t1lib ++ + stdenv.lib.optional enablePDFtoPPM freetype; # Debian uses '-fpermissive' to bypass some errors on char* constantness. CXXFLAGS = "-O2 -fpermissive"; - configureFlags = - "--infodir=$out/share/info --mandir=$out/share/man --enable-a4-paper" - + (if enablePDFtoPPM then - " --with-freetype2-library=${freetype}/lib" - + " --with-freetype2-includes=${freetype}/include/freetype2" - else ""); + configureFlags = "--enable-a4-paper"; - postInstall = " - if test -n \"${base14Fonts}\"; then - substituteInPlace $out/etc/xpdfrc \\ - --replace /usr/local/share/ghostscript/fonts ${base14Fonts} \\ - --replace '#fontFile' fontFile - fi - "; + postInstall = stdenv.lib.optionalString (base14Fonts != null) '' + substituteInPlace $out/etc/xpdfrc \ + --replace /usr/local/share/ghostscript/fonts ${base14Fonts} \ + --replace '#fontFile' fontFile + ''; meta = { homepage = "http://www.foolabs.com/xpdf/"; From 6eba129774d6bfecfa7c779977514ed8b6bfef46 Mon Sep 17 00:00:00 2001 From: "Jason \"Don\" O'Conal" Date: Mon, 14 Oct 2013 21:12:39 +0000 Subject: [PATCH 081/157] spotify: update to latest version --- pkgs/applications/audio/spotify/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index f4d264c0d8f8..deda180c883b 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -3,7 +3,7 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; let - version = "0.9.1.55"; + version = "0.9.4.183"; qt4webkit = if stdenv.system == "i686-linux" then fetchurl { @@ -25,13 +25,13 @@ stdenv.mkDerivation { src = if stdenv.system == "i686-linux" then fetchurl { - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_i386.deb"; - sha256 = "1sls4gb85700126bbk4sz73ipa2rjcinmpnsi78q0bsdj365y2wc"; + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_i386.deb"; + sha256 = "1wl6v5x8vm74h5lxp8fhvmih8l122aadsf1qxvpk0k3y6mbx0ifa"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_amd64.deb"; - sha256 = "10pzj3p8bjbxh9nnm4qc5s1hn9nh7hgh3vbwm0xblj9rn71wl03y"; + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_amd64.deb"; + sha256 = "1yniln6iswrrrny01qr2w5zcvam0vnrvy9mwbnk9i14i2ch0f3fx"; } else throw "Spotify not supported on this platform."; From d4e469d3075cf372cb503ee95c596edc1520d2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Tue, 22 Oct 2013 19:56:30 +0200 Subject: [PATCH 082/157] spotify: unbreak it Spotify doesn't start: $ ./result/bin/spotify /nix/store/yx05s6irqil8a24ilyvjvhnjljmm8f15-spotify-0.9.4.183/bin/.spotify-wrapped: error while loading shared libraries: libcef.so: cannot open shared object file: No such file or directory That is fixed with adding $out/spotify-client/Data to RPATH. Then Spotify errors out trying to open libudev.so.0. We don't have that in nixpkgs, so I'm making a symlink to libudev.so.1 instead. Tested on NixOS x86_64-linux. --- pkgs/applications/audio/spotify/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index deda180c883b..31cdbf9c6cec 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,4 +1,6 @@ -{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer }: +{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype +, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf +, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; @@ -57,12 +59,15 @@ stdenv.mkDerivation { ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d + # Work around Spotify trying to open libudev.so.0 (which we don't have) + ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0 + mkdir -p $out/bin ln -s $out/spotify-client/spotify $out/bin/spotify patchelf \ --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath $out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite]}:${stdenv.gcc.gcc}/lib64 \ + --set-rpath $out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite]}:${stdenv.gcc.gcc}/lib64 \ $out/spotify-client/spotify dpkg-deb -x ${qt4webkit} ./ From fc8f8932e1733b0b1044bd74759514a1d0694aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Tue, 22 Oct 2013 20:10:23 +0200 Subject: [PATCH 083/157] spotify: remove outdated info Spotify for Linux works with free accounts since the end of 2011. I verified this myself today. Ref: http://www.omgubuntu.co.uk/2011/12/spotify-on-linux-works-for-free-accounts-offers-15-million-tracks --- pkgs/applications/audio/spotify/default.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 31cdbf9c6cec..1b97270bbf21 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -89,13 +89,5 @@ stdenv.mkDerivation { description = "Spotify for Linux allows you to play music from the Spotify music service"; license = "unfree"; maintainers = [ stdenv.lib.maintainers.eelco ]; - - longDescription = - '' - Spotify is a digital music streaming service. This package - provides the Spotify client for Linux. At present, it does not - work with free Spotify accounts; it requires a Premium or - Unlimited account. - ''; }; } From 82fdd91543641eeb1a5b3d516eba73f47f072f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Tue, 22 Oct 2013 20:13:24 +0200 Subject: [PATCH 084/157] spotify: update meta.homepage --- pkgs/applications/audio/spotify/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 1b97270bbf21..f9a9ebb37048 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation { dontPatchELF = true; meta = { - homepage = https://www.spotify.com/download/previews/; + homepage = https://www.spotify.com/; description = "Spotify for Linux allows you to play music from the Spotify music service"; license = "unfree"; maintainers = [ stdenv.lib.maintainers.eelco ]; From 4acb16af4eae9608fde0a6c8b3cb6339c28b4454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Tue, 22 Oct 2013 20:42:42 +0200 Subject: [PATCH 085/157] spotify: install .desktop file --- pkgs/applications/audio/spotify/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index f9a9ebb37048..615ee6a93cc9 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -79,6 +79,11 @@ stdenv.mkDerivation { gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng cups libgcrypt sqlite gst_plugins_base gstreamer]}:$out/lib" + + # Desktop file + mkdir -p "$out/share/applications/" + cp "$out/spotify-client/spotify.desktop" "$out/share/applications/" + sed -i "s|Icon=.*|Icon=$out/spotify-client/Icons/spotify-linux-512.png|" "$out/share/applications/spotify.desktop" ''; # */ dontStrip = true; From da55e2c18620cff6aa316c450adc9557f8400fdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 4 Oct 2013 21:02:17 +0200 Subject: [PATCH 086/157] audacious: small update, fix crashes due to gsettings schemas Close #1037. --- pkgs/applications/audio/audacious/default.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index 6846607d61db..f9a8d0752415 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -1,28 +1,28 @@ { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg -, libvorbis, libcdio, libcddb, flac, ffmpeg +, libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper }: let - version = "3.3.4"; + version = "3.4.1"; in stdenv.mkDerivation { name = "audacious-${version}"; src = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; - sha256 = "19zw4yj8g4fvxkv0ql8v8vgxzldxl1fzig239zzv88mpnvwxn737"; + sha256 = "0wf99b0nrk90fyak4gpwi076qnsrmv1j8958cvi57rxig21lvvap"; }; pluginsSrc = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; - sha256 = "1l5g0zq73qp1hlrf4xsaj0n3hg0asrp7169531jgpncjn15dhvdn"; + sha256 = "02ivrxs6109nmmz9pkbf9dkm36s2lyp9vfv59sm0acxxd4db71md"; }; buildInputs = [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio - libcddb ffmpeg + libcddb ffmpeg makeWrapper ]; # Here we build bouth audacious and audacious-plugins in one @@ -44,7 +44,16 @@ stdenv.mkDerivation { src=$pluginsSrc genericBuild ) + + ( + source $stdenv/setup + # gsettings schemas for file dialogues + for file in "$out"/bin/*; do + wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD" + done + ) ''; + XDG_ADD = gtk3 + "/share"; enableParallelBuilding = true; From a730be118810297d8a8fe65a0c4839eb9ffab114 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 23 Oct 2013 08:01:24 +0400 Subject: [PATCH 087/157] Make Wine unstable lowPrio --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 44562a165ff2..0f03e3482bb0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10169,7 +10169,7 @@ let # Wine cannot be built in 64-bit; use a 32-bit build instead. wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { }; - wineUnstable = callPackage_i686 ../misc/emulators/wine/unstable.nix { }; + wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { }); wine = wineStable; # winetricks is a shell script with no binary components. Safe to just use the current platforms From f007850b6e6be404d72c9f413b5c47b2efb1edc3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 22 Oct 2013 11:31:33 +0200 Subject: [PATCH 088/157] man-pages: Update to 3.54 --- pkgs/data/documentation/man-pages/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index 15b49a2a99e2..1b3454c8ce5a 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "man-pages-3.53"; + name = "man-pages-3.54"; src = fetchurl { url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; - sha256 = "0kzkjfrw65f7bv6laz3jism4yqajmfh3vdq2jb5d6gyp4n14sxnl"; + sha256 = "0rb75dl9hh4v2s95bcssy12j8qrbd2dmlzry68gphyxk5c7yipbl"; }; preBuild = From 34fcf33c0b0615a629a512cbedc9e08f8524eba2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 11:08:12 +0200 Subject: [PATCH 089/157] Add Ubuntu 13.10 --- pkgs/build-support/vm/default.nix | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 996770d2fcc2..59a0e6156464 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1335,6 +1335,40 @@ rec { packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; }; + ubuntu1310i386 = { + name = "ubuntu-13.10-saucy-i386"; + fullName = "Ubuntu 13.10 Saucy (i386)"; + packagesLists = + [ (fetchurl { + url = mirror://ubuntu/dists/saucy/main/binary-i386/Packages.bz2; + sha256 = "9b35d44a737e6aa7e1cb5e2b52ba0ed8717c8820b3950c2e7ade07024db9c138"; + }) + (fetchurl { + url = mirror://ubuntu/dists/saucy/universe/binary-i386/Packages.bz2; + sha256 = "84ff81ef23bcece68bfc3dd4b0b1fd38e5b81ac90ad48b4e4210396b425da500"; + }) + ]; + urlPrefix = mirror://ubuntu; + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; + }; + + ubuntu1310x86_64 = { + name = "ubuntu-13.10-saucy-amd64"; + fullName = "Ubuntu 13.10 Saucy (amd64)"; + packagesList = + [ (fetchurl { + url = mirror://ubuntu/dists/saucy/main/binary-amd64/Packages.bz2; + sha256 = "d000968f9653d7c25928002b0850fe2da97607682f63a351eb2c89896a219a12"; + }) + (fetchurl { + url = mirror://ubuntu/dists/saucy/universe/binary-amd64/Packages.bz2; + sha256 = "06ec77f2f5d6ee70ffb805affe3a6b3e8d5b6463fbfe42ba6588295c7e1f65bc"; + }) + ]; + urlPrefix = mirror://ubuntu; + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; + }; + debian40i386 = { name = "debian-4.0r9-etch-i386"; fullName = "Debian 4.0r9 Etch (i386)"; @@ -1515,6 +1549,7 @@ rec { "curl" "patch" "locales" + "coreutils" # Needed by checkinstall: "util-linux" "file" From 27e91e0044988300999317c801032499334061a4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 11:15:45 +0200 Subject: [PATCH 090/157] Add Fedora 19 --- pkgs/build-support/vm/default.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 59a0e6156464..6a023f8f620f 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -937,6 +937,32 @@ rec { unifiedSystemDir = true; }; + fedora19i386 = { + name = "fedora-19-i386"; + fullName = "Fedora 19 (i386)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/19/Everything/i386/os/repodata/b72220bcdefff8b38de1c9029a630db4813e073f88c4b080ca274d133e0460d1-primary.xml.gz; + sha256 = "b72220bcdefff8b38de1c9029a630db4813e073f88c4b080ca274d133e0460d1"; + }; + urlPrefix = mirror://fedora/linux/releases/19/Everything/i386/os; + archs = ["noarch" "i386" "i586" "i686"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + + fedora19x86_64 = { + name = "fedora-19-x86_64"; + fullName = "Fedora 19 (x86_64)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/19/Everything/x86_64/os/repodata/d3f67da6461748f57a06459e6877fd07858828e256f58f032704186a65430fd3-primary.xml.gz; + sha256 = "d3f67da6461748f57a06459e6877fd07858828e256f58f032704186a65430fd3"; + }; + urlPrefix = mirror://fedora/linux/releases/19/Everything/x86_64/os; + archs = ["noarch" "x86_64"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + opensuse103i386 = { name = "opensuse-10.3-i586"; fullName = "openSUSE 10.3 (i586)"; From d6f97c3601be3aa7d36e797fac4e0a57e2147667 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 11:17:20 +0200 Subject: [PATCH 091/157] Debian 6: Update to 6.0.8 --- pkgs/build-support/vm/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 6a023f8f620f..0ee5377b1912 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1440,22 +1440,22 @@ rec { }; debian60i386 = { - name = "debian-6.0.7-squeeze-i386"; - fullName = "Debian 6.0.7 Squeeze (i386)"; + name = "debian-6.0.8-squeeze-i386"; + fullName = "Debian 6.0.8 Squeeze (i386)"; packagesList = fetchurl { url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; - sha256 = "a770f26b5fce1a16460b68f135dfe97f4f4a9894b538ece0104a508c83ec65d5"; + sha256 = "c850339aaf46a4ed4abc7c1789c29ea58c3a152aa173ee004578fda86b28391f"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian60x86_64 = { - name = "debian-6.0.7-squeeze-amd64"; - fullName = "Debian 6.0.7 Squeeze (amd64)"; + name = "debian-6.0.8-squeeze-amd64"; + fullName = "Debian 6.0.8 Squeeze (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; - sha256 = "b2bb561bde59ac67e07c70aa7c86a33f237436e6891796a93c6ed6ffb032080e"; + sha256 = "1506ab7de3ad5a2c706183536d2ee88589d7cb922d9e0de36ac062d464082dda"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; From 391de89913dbe8e412af35898f78263c4bc0a2d9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 11:30:51 +0200 Subject: [PATCH 092/157] Debian 7: Update to 7.2 Also rename "debian70" to "debian7" to reflect the Wheezy's new versioning scheme. --- pkgs/build-support/vm/default.nix | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 0ee5377b1912..ce35832d78cd 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1052,7 +1052,7 @@ rec { /* The set of supported Dpkg-based distributions. */ - debDistros = { + debDistros = rec { # Interestingly, the SHA-256 hashes provided by Ubuntu in # http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are @@ -1461,23 +1461,27 @@ rec { packages = commonDebianPackages; }; - debian70i386 = { - name = "debian-7.1.0-wheezy-i386"; - fullName = "Debian 7.1.0 Wheezy (i386)"; + # Backward compatibility. + debian70i386 = debian7i386; + debian70x86_64 = debian7x86_64; + + debian7i386 = { + name = "debian-7.2-wheezy-i386"; + fullName = "Debian 7.2 Wheezy (i386)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; - sha256 = "c2751c48805b41c3eddd31cfe92ffa46df13a7d6ce7896b8dc5ce4b2f7f329c5"; + sha256 = "2e80242e323f233c40b3020b0f1a57d12df8a120ee82af88ff7032ba4688f97d"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; - debian70x86_64 = { - name = "debian-7.1.0-wheezy-amd64"; - fullName = "Debian 7.1.0 Wheezy (amd64)"; + debian7x86_64 = { + name = "debian-7.2-wheezy-amd64"; + fullName = "Debian 7.2 Wheezy (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; - sha256 = "9b15b4348cadbcf170c9e83d6fbcb64efac2b787ebdfef16ba21dd70dfca0001"; + sha256 = "adfc4cd3d3b855c73c9e2e12163a33c193f98c9bad25765080fa6136378a6e3b"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; From 531ff5a43fd0275a97216dd4ea15aa13b36974af Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 11:31:29 +0200 Subject: [PATCH 093/157] Remove currently broken Debian mirror --- pkgs/build-support/fetchurl/mirrors.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index c4841c50d94c..c6c294d55042 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -159,7 +159,7 @@ rec { # Debian. debian = [ - ftp://ftp.au.debian.org/debian/ + #ftp://ftp.au.debian.org/debian/ ftp://ftp.de.debian.org/debian/ ftp://ftp.es.debian.org/debian/ ftp://ftp.fr.debian.org/debian/ From e5129a04dc48304f9a0bdee05fcc19d9cf29d411 Mon Sep 17 00:00:00 2001 From: Kim Simmons Date: Wed, 23 Oct 2013 12:05:59 +0200 Subject: [PATCH 094/157] Dropbox: updated to v2.4.3 Update fixed the missing tray icon. Still works with the dropbox-cli currently in the repository if you re-install the cli. --- pkgs/applications/networking/dropbox/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index 4e911bc33452..99589a3d71b5 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -2,7 +2,7 @@ , libSM, libX11, libXext, libXcomposite, libXcursor, libXdamage , libXfixes, libXi, libXinerama, libXrandr, libXrender , dbus, dbus_glib, fontconfig, gcc, patchelf -, atk, glib, gdk_pixbuf, gtk, pango +, atk, glib, gdk_pixbuf, gtk, pango, zlib }: # this package contains the daemon version of dropbox @@ -20,14 +20,14 @@ let arch = if stdenv.system == "x86_64-linux" then "x86_64" else if stdenv.system == "i686-linux" then "x86" else throw "Dropbox client for: ${stdenv.system} not supported!"; - + interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else if stdenv.system == "i686-linux" then "ld-linux.so.2" else throw "Dropbox client for: ${stdenv.system} not supported!"; - version = "1.4.21"; - sha256 = if stdenv.system == "x86_64-linux" then "94073842f4a81feee80bca590e1df73fc3cab47ba879407ceba2de48f30d84e2" - else if stdenv.system == "i686-linux" then "121v92m20l73xjmzng3vmcp4zsp9mlbcfia73f5py5y74kndb2ap" + version = "2.4.3"; + sha256 = if stdenv.system == "x86_64-linux" then "0g8iqgc18qbw8fvdjf0fhbal34rvwr5izrf5acfzqjg99dgih81r" + else if stdenv.system == "i686-linux" then "1nhmk319whj6cil6wg9hrfln9bxin3fnf6sxb0zg2ycfpnnqi0la" else throw "Dropbox client for: ${stdenv.system} not supported!"; # relative location where the dropbox libraries are stored @@ -40,7 +40,7 @@ let libSM libX11 libXext libXcomposite libXcursor libXdamage libXfixes libXi libXinerama libXrandr libXrender atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf - gtk pango + gtk pango zlib ]; desktopItem = makeDesktopItem { From 4747796a9ec0c1310111b3cf3b9a624bba48359c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 12:49:28 +0200 Subject: [PATCH 095/157] Build RPMs for i686 rather than i386 The default target (i386-linux) causes flags like "-march i386" to be added, which breaks on recent Fedora releases (18 and up), resulting in errors like: /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/ext/atomicity.h:48: undefined reference to `__atomic_fetch_add_4' So set the target to i686-linux. http://hydra.nixos.org/build/6567357 --- pkgs/build-support/vm/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index ce35832d78cd..0296c434d6f6 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -514,7 +514,8 @@ rec { echo "%_topdir $rpmout" >> $HOME/.rpmmacros - rpmbuild -vv -ta "$srcName" + if [ `uname -m` = i686 ]; then extra="--target i686-linux"; fi + rpmbuild -vv $extra -ta "$srcName" eval "$postBuild" ''; From 03e1178f805455578819752caa1a9420728eec08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 23 Oct 2013 13:54:46 +0200 Subject: [PATCH 096/157] munin: fix documentation links --- nixos/modules/services/monitoring/munin.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index c2299cfefef8..42d5f61af308 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -94,7 +94,7 @@ in Enable Munin Node agent. Munin node listens on 0.0.0.0 and by default accepts connections only from 127.0.0.1 for security reasons. - See . + See . ''; }; @@ -143,7 +143,7 @@ in default = ""; description = '' munin.conf extra global configuration. - See . + See . Useful to setup notifications, see ''; From a546069ad34f72ac0ae57ae87b76fe26350494ad Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 23 Oct 2013 15:55:27 +0200 Subject: [PATCH 097/157] nixos-generate-config: Add --no-filesystems flag. This is to get back the old behavior of nixos-hardware-scan, which didn't include fileSystems and swapDevices. Signed-off-by: aszlig --- nixos/doc/manual/man-nixos-generate-config.xml | 8 ++++++++ .../installer/tools/nixos-generate-config.pl | 14 +++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml index ff69d8d91701..0771753f6893 100644 --- a/nixos/doc/manual/man-nixos-generate-config.xml +++ b/nixos/doc/manual/man-nixos-generate-config.xml @@ -110,6 +110,14 @@ + + + + Omit everything concerning file system information + (which includes swap devices) from the hardware configuration. + + + diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 3418b0122de1..03ee0041a5f5 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -23,6 +23,7 @@ sub uniq { my $outDir = "/etc/nixos"; my $rootDir = ""; # = / my $force = 0; +my $noFilesystems = 0; for (my $n = 0; $n < scalar @ARGV; $n++) { my $arg = $ARGV[$n]; @@ -43,6 +44,9 @@ for (my $n = 0; $n < scalar @ARGV; $n++) { elsif ($arg eq "--force") { $force = 1; } + elsif ($arg eq "--no-filesystems") { + $noFilesystems = 1; + } else { die "$0: unrecognized argument ‘$arg’\n"; } @@ -338,6 +342,12 @@ my $fn = "$outDir/hardware-configuration.nix"; print STDERR "writing $fn...\n"; mkpath($outDir, 0, 0755); +my $fsAndSwap = ""; +if (!$noFilesystems) { + $fsAndSwap = "\n${fileSystems} "; + $fsAndSwap .= "swapDevices = " . multiLineList(" ", @swapDevices) . ";\n"; +} + write_file($fn, < Date: Wed, 23 Oct 2013 16:00:39 +0200 Subject: [PATCH 098/157] nixos-generate-config: Remove unnecessary spaces. The attributes swapDevices and imports add a space character after the eqals sign, which is unnecessary. I know, I'm a pedantic douche bag but it hurts my eyes. Signed-off-by: aszlig --- nixos/modules/installer/tools/nixos-generate-config.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 03ee0041a5f5..a4d224108061 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -345,7 +345,7 @@ mkpath($outDir, 0, 0755); my $fsAndSwap = ""; if (!$noFilesystems) { $fsAndSwap = "\n${fileSystems} "; - $fsAndSwap .= "swapDevices = " . multiLineList(" ", @swapDevices) . ";\n"; + $fsAndSwap .= "swapDevices =" . multiLineList(" ", @swapDevices) . ";\n"; } write_file($fn, < Date: Wed, 23 Oct 2013 16:42:34 +0200 Subject: [PATCH 099/157] nixos-generate-config: Add --show-hardware-config. So, we get the old behaviour of nixos-hardware-scane if we run the following command: nixos-generate-config --no-filesystems --show-hardware-config This allows to use scripts in order to fetch NixOS specific hardware information, without the need to duplicate code elsewhere. Signed-off-by: aszlig --- .../doc/manual/man-nixos-generate-config.xml | 9 ++++ .../installer/tools/nixos-generate-config.pl | 49 +++++++++++-------- 2 files changed, 38 insertions(+), 20 deletions(-) diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml index 0771753f6893..e4fba4a40a97 100644 --- a/nixos/doc/manual/man-nixos-generate-config.xml +++ b/nixos/doc/manual/man-nixos-generate-config.xml @@ -118,6 +118,15 @@ + + + + Don't generate configuration.nix or + hardware-configuration.nix and print the + hardware configuration to stdout only. + + + diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index a4d224108061..c6ac72e113be 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -24,6 +24,7 @@ my $outDir = "/etc/nixos"; my $rootDir = ""; # = / my $force = 0; my $noFilesystems = 0; +my $showHardwareConfig = 0; for (my $n = 0; $n < scalar @ARGV; $n++) { my $arg = $ARGV[$n]; @@ -47,6 +48,9 @@ for (my $n = 0; $n < scalar @ARGV; $n++) { elsif ($arg eq "--no-filesystems") { $noFilesystems = 1; } + elsif ($arg eq "--show-hardware-config") { + $showHardwareConfig = 1; + } else { die "$0: unrecognized argument ‘$arg’\n"; } @@ -336,19 +340,13 @@ my $initrdAvailableKernelModules = toNixExpr(uniq @initrdAvailableKernelModules) my $kernelModules = toNixExpr(uniq @kernelModules); my $modulePackages = toNixExpr(uniq @modulePackages); -$outDir = "$rootDir$outDir"; - -my $fn = "$outDir/hardware-configuration.nix"; -print STDERR "writing $fn...\n"; -mkpath($outDir, 0, 0755); - my $fsAndSwap = ""; if (!$noFilesystems) { $fsAndSwap = "\n${fileSystems} "; $fsAndSwap .= "swapDevices =" . multiLineList(" ", @swapDevices) . ";\n"; } -write_file($fn, <= 3.10 boot.kernelPackages = pkgs.linuxPackages_3_10; EOF - } else { - $bootLoaderConfig = < Date: Wed, 23 Oct 2013 16:48:47 +0200 Subject: [PATCH 100/157] synergy: Update to new upstream version 1.4.15. This is a bugfix release which fixes the following bugs: * Synergy Service - Error 87: The parameter is incorrect. * Option not supported on Linux: --enable-drag-drop (server not starting) Bug IDs and the announcement can be found at: http://synergy-foss.org/blog/synergy-1-4-15-released/ Signed-off-by: aszlig --- pkgs/applications/misc/synergy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 72282ad0f3eb..c01d67943e57 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -7,11 +7,11 @@ assert !stdenv.isLinux -> unzip != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "synergy-1.4.14"; + name = "synergy-1.4.15"; src = fetchurl { url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; - sha256 = "1sprg3yb0gjhl2927l4c5nymmqhg318ar6dpki8dr42dgvx3d2ir"; + sha256 = "0l1mxxky9hacyva0npzkgkwg4wkmihzq3abdrds0w5f6is44adv4"; }; patches = optional stdenv.isLinux ./cryptopp.patch; From 19b00be0a0bd6e95673eeada831ec54f376ac54c Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 23 Oct 2013 16:53:09 +0200 Subject: [PATCH 101/157] nixos-rebuild: Drop references to . Commit 31203732b3104125e107a3141578399cab5d478f dropped the reference to from NIX_PATH (nixos/modules/programs/environment.nix) and thus prevents systems that are not using channels from rebuilding. Signed-off-by: aszlig --- nixos/modules/installer/tools/nixos-rebuild.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 6b747bc1a2be..d655210c90ee 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -109,8 +109,8 @@ fi # more conservative. if [ "$action" != dry-run -a -n "$buildNix" ]; then echo "building Nix..." >&2 - if ! nix-build '' -A config.environment.nix -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then - if ! nix-build '' -A nixFallback -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then + if ! nix-build '' -A config.environment.nix -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then + if ! nix-build '' -A nixFallback -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then nix-build '' -A nixUnstable -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null fi fi @@ -139,16 +139,16 @@ fi if [ -z "$rollback" ]; then echo "building the system configuration..." >&2 if [ "$action" = switch -o "$action" = boot ]; then - nix-env "${extraBuildFlags[@]}" -p "$profile" -f '' --set -A system + nix-env "${extraBuildFlags[@]}" -p "$profile" -f '' --set -A system pathToConfig="$profile" elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then - nix-build '' -A system -K -k "${extraBuildFlags[@]}" > /dev/null + nix-build '' -A system -K -k "${extraBuildFlags[@]}" > /dev/null pathToConfig=./result elif [ "$action" = build-vm ]; then - nix-build '' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null + nix-build '' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null pathToConfig=./result elif [ "$action" = build-vm-with-bootloader ]; then - nix-build '' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null + nix-build '' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null pathToConfig=./result else showSyntax From ab701322dccce5af14475093618cce88449abb42 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 23 Oct 2013 17:11:27 +0200 Subject: [PATCH 102/157] zabbix20: Update to now upstream version 2.0.9. This drops the patch for ZBX-7091, because it hase been fixed upstream. Other upstream changes can be found at the following URL: http://www.zabbix.com/rn2.0.9.php Signed-off-by: aszlig --- pkgs/servers/monitoring/zabbix/2.0.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix index 8752f54647f0..1386e1609eb9 100644 --- a/pkgs/servers/monitoring/zabbix/2.0.nix +++ b/pkgs/servers/monitoring/zabbix/2.0.nix @@ -5,11 +5,11 @@ assert enableJabber -> minmay != null; let - version = "2.0.8"; + version = "2.0.9"; src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "16jiwjw4041j3qn1cs4k812mih8mjwz5022ac0h0n78avrh4kff4"; + sha256 = "057fjqww0qzs56nm8m3c36kbrhwriysvjvqzgwm9j2bg9ylixvym"; }; preConfigure = @@ -31,14 +31,6 @@ in inherit src preConfigure; - patchFlags = "-p0"; - patches = - [ (fetchurl { - url = "https://support.zabbix.com/secure/attachment/24449/ZBX-7091-2.0.8.patch"; - sha256 = "1rlk3812dd12imk29i0fw6bzpgi44a8231kiq3bl5yryx18qh580"; - }) - ]; - configureFlags = [ "--enable-agent" "--enable-server" From a21f0b604a6c853bc83491219f8bda9025692010 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Wed, 23 Oct 2013 17:15:37 +0100 Subject: [PATCH 103/157] haskellPackages.linear: Update to 1.3.1 --- .../libraries/haskell/linear/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix index b68558cf914e..feeeaed3be54 100644 --- a/pkgs/development/libraries/haskell/linear/default.nix +++ b/pkgs/development/libraries/haskell/linear/default.nix @@ -1,19 +1,19 @@ -{ cabal, distributive, doctest, filepath, hashable, HUnit, lens -, reflection, semigroupoids, semigroups, simpleReflect, tagged -, testFramework, testFrameworkHunit, transformers +{ cabal, binary, distributive, doctest, filepath, hashable, HUnit +, lens, reflection, semigroupoids, semigroups, simpleReflect +, tagged, testFramework, testFrameworkHunit, transformers , unorderedContainers, vector }: cabal.mkDerivation (self: { pname = "linear"; - version = "1.3"; - sha256 = "0b5qjsbdkqv0h1236lv2nisjh9yz7gc5bd6xv6i8q5jryzs43pi9"; + version = "1.3.1"; + sha256 = "1s07qbdi12rc4djk4s0ds5sh79qcqfmgrbwfj1ygskq3ra88qqsa"; buildDepends = [ - distributive hashable reflection semigroupoids semigroups tagged - transformers unorderedContainers vector + binary distributive hashable reflection semigroupoids semigroups + tagged transformers unorderedContainers vector ]; testDepends = [ - doctest filepath HUnit lens simpleReflect testFramework + binary doctest filepath HUnit lens simpleReflect testFramework testFrameworkHunit ]; meta = { @@ -21,5 +21,6 @@ cabal.mkDerivation (self: { description = "Linear Algebra"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; }) From 441dcd68d88a2e82aebd3572eae8032fb33d8eaf Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 16:34:38 +0200 Subject: [PATCH 104/157] Get rid of special-casing of system.path in the manual generation --- nixos/doc/manual/default.nix | 8 +---- nixos/modules/config/system-path.nix | 48 +++++++++++++--------------- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 56ad652c60ed..c887e7f03171 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -7,14 +7,8 @@ with pkgs.lib; let - # To prevent infinite recursion, remove system.path from the - # options. Not sure why this happens. - options_ = - options // - { system = removeAttrs options.system ["path"]; }; - optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext - (builtins.toXML (optionAttrSetToDocList options_))); + (builtins.toXML (optionAttrSetToDocList options))); optionsDocBook = pkgs.runCommand "options-db.xml" {} '' ${pkgs.libxslt}/bin/xsltproc \ diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index e65be03afaca..e640592a97eb 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -7,8 +7,6 @@ with pkgs.lib; let - cfg = config.environment; - extraManpages = pkgs.runCommand "extra-manpages" { buildInputs = [ pkgs.help2man ]; } '' mkdir -p $out/share/man/man1 @@ -87,33 +85,9 @@ in system = { path = mkOption { - default = cfg.systemPackages; description = '' The packages you want in the boot environment. ''; - - apply = list: pkgs.buildEnv { - name = "system-path"; - paths = list; - inherit (cfg) pathsToLink; - ignoreCollisions = true; - # !!! Hacky, should modularise. - postBuild = - '' - if [ -x $out/bin/update-mime-database -a -w $out/share/mime/packages ]; then - $out/bin/update-mime-database -V $out/share/mime - fi - - if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then - $out/bin/gtk-update-icon-cache $out/share/icons/hicolor - fi - - if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then - $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas - fi - ''; - }; - }; }; @@ -138,5 +112,27 @@ in "/share/man" ]; + system.path = pkgs.buildEnv { + name = "system-path"; + paths = config.environment.systemPackages; + inherit (config.environment) pathsToLink; + ignoreCollisions = true; + # !!! Hacky, should modularise. + postBuild = + '' + if [ -x $out/bin/update-mime-database -a -w $out/share/mime/packages ]; then + $out/bin/update-mime-database -V $out/share/mime + fi + + if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then + $out/bin/gtk-update-icon-cache $out/share/icons/hicolor + fi + + if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then + $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas + fi + ''; + }; + }; } From e29b51bfb1eefe2f8d2dcac4fba8ea734115804c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 16:59:15 +0200 Subject: [PATCH 105/157] Improve option description --- nixos/modules/system/activation/activation-script.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index dc0175632174..ff3c844030b6 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -44,8 +44,12 @@ in }; description = '' - Activate the new configuration (i.e., update /etc, make accounts, - and so on). + A set of shell script fragments that are executed when a NixOS + system configuration is activated. Examples are updating + /etc, creating accounts, and so on. Since these are executed + every time you boot the system or run + nixos-rebuild, it's important that they are + idempotent and fast. ''; merge = mergeTypedOption "script" builtins.isAttrs (fold mergeAttrs {}); From 29014a47fb9302e8b86d4cd6698298a50e8f3b25 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 16:59:33 +0200 Subject: [PATCH 106/157] Allow options to be marked as "internal" This means they're not for end users. Currently they're filtered from the manual, but we could include them in a separate section. --- lib/options.nix | 1 + nixos/doc/manual/default.nix | 5 +++-- nixos/modules/config/system-path.nix | 1 + nixos/modules/misc/assertions.nix | 1 + nixos/modules/misc/version.nix | 3 +++ nixos/modules/system/activation/top-level.nix | 5 ++++- 6 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/options.nix b/lib/options.nix index a91115287e45..20ffc61c1ad1 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -275,6 +275,7 @@ rec { description = opt.description or (throw "Option ${opt.name}: No description."); declarations = map (x: toString x.source) opt.declarations; #definitions = map (x: toString x.source) opt.definitions; + internal = opt.internal or false; } // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; } diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index c887e7f03171..02732949b7c4 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -7,8 +7,9 @@ with pkgs.lib; let - optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext - (builtins.toXML (optionAttrSetToDocList options))); + options' = filter (x: !x.internal) (optionAttrSetToDocList options); + + optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options')); optionsDocBook = pkgs.runCommand "options-db.xml" {} '' ${pkgs.libxslt}/bin/xsltproc \ diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index e640592a97eb..0610ad54da34 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -85,6 +85,7 @@ in system = { path = mkOption { + internal = true; description = '' The packages you want in the boot environment. ''; diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix index 9cd58550adc9..7ded9785bc10 100644 --- a/nixos/modules/misc/assertions.nix +++ b/nixos/modules/misc/assertions.nix @@ -13,6 +13,7 @@ in options = { assertions = mkOption { + internal = true; default = []; example = [ { assertion = false; message = "you can't enable this for that reason"; } ]; merge = pkgs.lib.mergeListOption; diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 1b519d3e6eef..14437228c746 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -7,16 +7,19 @@ with pkgs.lib; options = { system.nixosVersion = mkOption { + internal = true; type = types.uniq types.string; description = "NixOS version."; }; system.nixosVersionSuffix = mkOption { + internal = true; type = types.uniq types.string; description = "NixOS version suffix."; }; system.nixosCodeName = mkOption { + internal = true; type = types.uniq types.string; description = "NixOS release code name."; }; diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 32157e419856..a04914bedaf7 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -122,6 +122,7 @@ in options = { system.build = mkOption { + internal = true; default = {}; description = '' Attribute set of derivations used to setup the system. @@ -144,6 +145,7 @@ in }; system.boot.loader.id = mkOption { + internal = true; default = ""; description = '' Id string of the used bootloader. @@ -151,6 +153,7 @@ in }; system.boot.loader.kernelFile = mkOption { + internal = true; default = pkgs.stdenv.platform.kernelTarget; type = types.uniq types.string; description = '' @@ -169,8 +172,8 @@ in }; system.extraSystemBuilderCmds = mkOption { - default = ""; internal = true; + default = ""; merge = concatStringsSep "\n"; description = '' This code will be added to the builder creating the system store path. From ec0911ce7f4aabed0b7fc5a8697e004ef16cbd71 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 17:03:46 +0200 Subject: [PATCH 107/157] Manual: Don't show obsolete/deprecated options --- lib/options.nix | 1 + nixos/doc/manual/default.nix | 2 +- nixos/modules/rename.nix | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/options.nix b/lib/options.nix index 20ffc61c1ad1..efb32efc6356 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -276,6 +276,7 @@ rec { declarations = map (x: toString x.source) opt.declarations; #definitions = map (x: toString x.source) opt.definitions; internal = opt.internal or false; + visible = opt.visible or true; } // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; } diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 02732949b7c4..7aa59ffdf5dd 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -7,7 +7,7 @@ with pkgs.lib; let - options' = filter (x: !x.internal) (optionAttrSetToDocList options); + options' = filter (x: x.visible && !x.internal) (optionAttrSetToDocList options); optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options')); diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 27b6f01c71fb..7ddca7a52128 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -50,6 +50,7 @@ let options = setFrom (mkOption { description = "${status.name} of ."; apply = x: status.msg.use (toOf config); + visible = false; }); }] ++ [{ From 0ec10c57df93f38b69df73ec1bb91457e657cb7b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 17:50:55 +0200 Subject: [PATCH 108/157] Fix style --- nixos/modules/rename.nix | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 7ddca7a52128..3e3f6dd10c10 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -1,4 +1,6 @@ -{pkgs, options, config, ...}: +{ config, pkgs, options, ... }: + +with pkgs.lib; let @@ -24,8 +26,7 @@ let abort "Deprecated option `${from}' is defined instead of `${to}'."; }; - - zipModules = list: with pkgs.lib; + zipModules = list: zipAttrsWith (n: v: if tail v != [] then if n == "_type" then (head v) @@ -36,7 +37,7 @@ let else head v ) list; - rename = statusTemplate: from: to: with pkgs.lib; + rename = statusTemplate: from: to: let status = statusTemplate from to; setTo = setAttrByPath (splitString "." to); @@ -46,21 +47,20 @@ let fromOf = attrByPath (splitString "." from) (abort "Internal error: option `${from}' should be declared."); in - [{ - options = setFrom (mkOption { - description = "${status.name} of ."; - apply = x: status.msg.use (toOf config); - visible = false; - }); - }] ++ - [{ - options = setTo (mkOption { - extraConfigs = - let externalDefs = (fromOf options).definitions; in - if externalDefs == [] then [] - else map (def: def.value) (status.msg.define externalDefs); - }); - }]; + [ { options = setFrom (mkOption { + description = "${status.name} of ."; + apply = x: status.msg.use (toOf config); + visible = false; + }); + } + { options = setTo (mkOption { + extraConfigs = + let externalDefs = (fromOf options).definitions; in + if externalDefs == [] then [] + else map (def: def.value) (status.msg.define externalDefs); + }); + } + ]; in zipModules ([] From 6de7886fb80fde29437d8b519d6bbe743794deeb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 18:20:39 +0200 Subject: [PATCH 109/157] Slightly improve option type error messages --- lib/options.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/options.nix b/lib/options.nix index efb32efc6356..b6a88008bb7a 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -11,10 +11,7 @@ with import ./properties.nix; rec { - inherit (lib) isType; - - - isOption = isType "option"; + isOption = lib.isType "option"; mkOption = attrs: attrs // { _type = "option"; # name (this is the name of the attributem it is automatically generated by the traversal) @@ -66,7 +63,7 @@ rec { if all opt.check list then opt.merge list else - throw "One of option ${name} values has a bad type."; + throw "A value of the option `${name}' has a bad type."; } else opt; @@ -77,7 +74,7 @@ rec { if opt.check opt.default then opt.default else - throw "The default value of option ${name} has a bad type."; + throw "The default value of the option `${name}' has a bad type."; } else opt; From b5d5afd99a7ff24de036885364f7a7bbe90dd405 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 18:21:15 +0200 Subject: [PATCH 110/157] Allow modules to define warnings to be shown during evaluation --- nixos/modules/misc/assertions.nix | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix index 7ded9785bc10..229f8f278608 100644 --- a/nixos/modules/misc/assertions.nix +++ b/nixos/modules/misc/assertions.nix @@ -6,6 +6,8 @@ let failed = map (x: x.message) (filter (x: !x.assertion) config.assertions); + showWarnings = res: fold (w: x: builtins.trace "warning: ${w}" x) res config.warnings; + in { @@ -24,14 +26,26 @@ in ''; }; + warnings = mkOption { + internal = true; + default = []; + type = types.listOf types.string; + example = [ "The `foo' service is deprecated and will go away soon!" ]; + description = '' + This option allows modules to show warnings to users during + the evaluation of the system configuration. + ''; + }; + }; config = { - # This option is evaluated always. Thus the assertions are checked as well. hacky! - environment.systemPackages = + # This option is evaluated always. Thus the assertions are checked + # as well. Hacky! + environment.systemPackages = showWarnings ( if [] == failed then [] - else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"; + else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"); }; From 8f4c5b05d5639c1577ce92c9e42a5d59b8be4cda Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 18:22:26 +0200 Subject: [PATCH 111/157] Add a way to define obsolete options that have no replacement --- nixos/lib/eval-config.nix | 3 +-- nixos/modules/rename.nix | 16 +++++++++++++++- nixos/modules/system/boot/loader/grub/grub.nix | 6 ------ nixos/modules/system/boot/luksroot.nix | 8 ++++---- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index 72ba66cdbac4..cd543c958ff6 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -66,7 +66,6 @@ rec { # Optionally check wether all config values have corresponding # option declarations. config = - let doCheck = optionDefinitions.environment.checkConfigurationOptions; in - assert doCheck -> pkgs.lib.checkModule "" systemModule; + assert optionDefinitions.environment.checkConfigurationOptions -> pkgs.lib.checkModule "" systemModule; systemModule.config; } diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 3e3f6dd10c10..ca3bdc08a8d8 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -30,7 +30,8 @@ let zipAttrsWith (n: v: if tail v != [] then if n == "_type" then (head v) - else if n == "extraConfigs" then (concatLists v) + else if n == "extraConfigs" then concatLists v + else if n == "warnings" then concatLists v else if n == "description" || n == "apply" then abort "Cannot rename an option to multiple options." else zipModules v @@ -62,6 +63,15 @@ let } ]; + obsolete' = option: let option' = splitString "." option; in singleton + { options = setAttrByPath option' (mkOption { + default = null; + visible = false; + }); + config.warnings = optional (getAttrFromPath option' config != null) + "The option `${option}' set in your configuration no longer has any effect; please remove it."; + }; + in zipModules ([] # usage example: @@ -108,4 +118,8 @@ in zipModules ([] # !!! this hardcodes bash, could we detect from config which shell is actually used? ++ rename obsolete "environment.promptInit" "programs.bash.promptInit" +# Options that are obsolete and have no replacement. +++ obsolete' "boot.loader.grub.bootDevice" +++ obsolete' "boot.initrd.luks.enable" + ) # do not add renaming after this. diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index c7c1f675c778..48d16b1c520e 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -86,12 +86,6 @@ in ''; }; - # !!! How can we mark options as obsolete? - bootDevice = mkOption { - default = ""; - description = "Obsolete."; - }; - configurationName = mkOption { default = ""; example = "Stable 2.6.21"; diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 29f5eb4fd771..ba357f5d2de3 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -44,12 +44,9 @@ in { options = { - boot.initrd.luks.enable = mkOption { - default = false; - description = "Obsolete."; - }; boot.initrd.luks.mitigateDMAAttacks = mkOption { + type = types.bool; default = true; description = '' Unless enabled, encryption keys can be easily recovered by an attacker with physical @@ -62,6 +59,7 @@ in }; boot.initrd.luks.cryptoModules = mkOption { + type = types.listOf types.string; default = [ "aes" "aes_generic" "blowfish" "twofish" "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" @@ -142,7 +140,9 @@ in }; }; + }; + }; config = mkIf (luks.devices != []) { From b218c02a3cbdf23e536250bd3ef4eb7bc88a5de1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 18:51:55 +0200 Subject: [PATCH 112/157] rename.nix: Don't use splitString It's very slow. --- nixos/modules/rename.nix | 115 +++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index ca3bdc08a8d8..ac3da119fe6b 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -4,28 +4,29 @@ with pkgs.lib; let - alias = from: to: { + alias = from: to: rename { + inherit from to; name = "Alias"; - msg.use = x: x; - msg.define = x: x; + use = id; + define = id; }; - obsolete = from: to: { + obsolete = from: to: rename { + inherit from to; name = "Obsolete name"; - msg.use = x: - builtins.trace "Obsolete option `${from}' is used instead of `${to}'." x; - msg.define = x: - builtins.trace "Obsolete option `${from}' is defined instead of `${to}'." x; + use = x: builtins.trace "Obsolete option ${showOption from} is used instead of ${showOption to}." x; + define = x: builtins.trace "Obsolete option ${showOption from} is defined instead of ${showOption to}." x; }; - deprecated = from: to: { + deprecated = from: to: rename { + inherit from to; name = "Deprecated name"; - msg.use = x: - abort "Deprecated option `${from}' is used instead of `${to}'."; - msg.define = x: - abort "Deprecated option `${from}' is defined instead of `${to}'."; + use = x: abort "Deprecated option ${showOption from} is used instead of ${showOption to}."; + define = x: abort "Deprecated option ${showOption from} is defined instead of ${showOption to}."; }; + showOption = name: "`${concatStringsSep "." name}'"; + zipModules = list: zipAttrsWith (n: v: if tail v != [] then @@ -38,19 +39,17 @@ let else head v ) list; - rename = statusTemplate: from: to: + rename = { from, to, name, use, define }: let - status = statusTemplate from to; - setTo = setAttrByPath (splitString "." to); - setFrom = setAttrByPath (splitString "." from); - toOf = attrByPath (splitString "." to) - (abort "Renaming error: option `${to}' does not exists."); - fromOf = attrByPath (splitString "." from) - (abort "Internal error: option `${from}' should be declared."); + setTo = setAttrByPath to; + setFrom = setAttrByPath from; + toOf = attrByPath to + (abort "Renaming error: option ${showOption to} does not exists."); + fromOf = attrByPath from + (abort "Internal error: option ${showOption from} should be declared."); in [ { options = setFrom (mkOption { - description = "${status.name} of ."; - apply = x: status.msg.use (toOf config); + apply = x: use (toOf config); visible = false; }); } @@ -58,68 +57,68 @@ let extraConfigs = let externalDefs = (fromOf options).definitions; in if externalDefs == [] then [] - else map (def: def.value) (status.msg.define externalDefs); + else map (def: def.value) (define externalDefs); }); } ]; - obsolete' = option: let option' = splitString "." option; in singleton - { options = setAttrByPath option' (mkOption { + obsolete' = option: singleton + { options = setAttrByPath option (mkOption { default = null; visible = false; }); - config.warnings = optional (getAttrFromPath option' config != null) - "The option `${option}' set in your configuration no longer has any effect; please remove it."; + config.warnings = optional (getAttrFromPath option config != null) + "The option ${showOption option} defined in your configuration no longer has any effect; please remove it."; }; in zipModules ([] # usage example: -# ++ rename alias "services.xserver.slim.theme" "services.xserver.displayManager.slim.theme" -++ rename obsolete "environment.extraPackages" "environment.systemPackages" -++ rename obsolete "environment.enableBashCompletion" "programs.bash.enableCompletion" +# ++ alias [ "services" "xserver" "slim" "theme" ] [ "services" "xserver" "displayManager" "slim" "theme" ] +++ obsolete [ "environment" "extraPackages" ] [ "environment" "systemPackages" ] +++ obsolete [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ] -++ rename obsolete "security.extraSetuidPrograms" "security.setuidPrograms" -++ rename obsolete "networking.enableWLAN" "networking.wireless.enable" -++ rename obsolete "networking.enableRT73Firmware" "networking.enableRalinkFirmware" +++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ] +++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ] +++ obsolete [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ] # FIXME: Remove these eventually. -++ rename obsolete "boot.systemd.sockets" "systemd.sockets" -++ rename obsolete "boot.systemd.targets" "systemd.targets" -++ rename obsolete "boot.systemd.services" "systemd.services" +++ obsolete [ "boot" "systemd" "sockets" ] [ "systemd" "sockets" ] +++ obsolete [ "boot" "systemd" "targets" ] [ "systemd" "targets" ] +++ obsolete [ "boot" "systemd" "services" ] [ "systemd" "services" ] # Old Grub-related options. -++ rename obsolete "boot.copyKernels" "boot.loader.grub.copyKernels" -++ rename obsolete "boot.extraGrubEntries" "boot.loader.grub.extraEntries" -++ rename obsolete "boot.extraGrubEntriesBeforeNixos" "boot.loader.grub.extraEntriesBeforeNixOS" -++ rename obsolete "boot.grubDevice" "boot.loader.grub.device" -++ rename obsolete "boot.bootMount" "boot.loader.grub.bootDevice" -++ rename obsolete "boot.grubSplashImage" "boot.loader.grub.splashImage" +++ obsolete [ "boot" "copyKernels" ] [ "boot" "loader" "grub" "copyKernels" ] +++ obsolete [ "boot" "extraGrubEntries" ] [ "boot" "loader" "grub" "extraEntries" ] +++ obsolete [ "boot" "extraGrubEntriesBeforeNixos" ] [ "boot" "loader" "grub" "extraEntriesBeforeNixOS" ] +++ obsolete [ "boot" "grubDevice" ] [ "boot" "loader" "grub" "device" ] +++ obsolete [ "boot" "bootMount" ] [ "boot" "loader" "grub" "bootDevice" ] +++ obsolete [ "boot" "grubSplashImage" ] [ "boot" "loader" "grub" "splashImage" ] -++ rename obsolete "boot.initrd.extraKernelModules" "boot.initrd.kernelModules" +++ obsolete [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ] # OpenSSH -++ rename obsolete "services.sshd.ports" "services.openssh.ports" -++ rename alias "services.sshd.enable" "services.openssh.enable" -++ rename obsolete "services.sshd.allowSFTP" "services.openssh.allowSFTP" -++ rename obsolete "services.sshd.forwardX11" "services.openssh.forwardX11" -++ rename obsolete "services.sshd.gatewayPorts" "services.openssh.gatewayPorts" -++ rename obsolete "services.sshd.permitRootLogin" "services.openssh.permitRootLogin" -++ rename obsolete "services.xserver.startSSHAgent" "services.xserver.startOpenSSHAgent" +++ obsolete [ "services" "sshd" "ports" ] [ "services" "openssh" "ports" ] +++ alias [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ] +++ obsolete [ "services" "sshd" "allowSFTP" ] [ "services" "openssh" "allowSFTP" ] +++ obsolete [ "services" "sshd" "forwardX11" ] [ "services" "openssh" "forwardX11" ] +++ obsolete [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ] +++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ] +++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ] # KDE -++ rename deprecated "kde.extraPackages" "environment.kdePackages" -# ++ rename obsolete "environment.kdePackages" "environment.systemPackages" # !!! doesn't work! +++ deprecated [ "kde" "extraPackages" ] [ "environment" "kdePackages" ] +# ++ obsolete [ "environment" "kdePackages" ] [ "environment" "systemPackages" ] # !!! doesn't work! # Multiple efi bootloaders now -++ rename obsolete "boot.loader.efi.efibootmgr.enable" "boot.loader.efi.canTouchEfiVariables" +++ obsolete [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ] # NixOS environment changes # !!! this hardcodes bash, could we detect from config which shell is actually used? -++ rename obsolete "environment.promptInit" "programs.bash.promptInit" +++ obsolete [ "environment" "promptInit" ] [ "programs" "bash" "promptInit" ] # Options that are obsolete and have no replacement. -++ obsolete' "boot.loader.grub.bootDevice" -++ obsolete' "boot.initrd.luks.enable" +++ obsolete' [ "boot" "loader" "grub" "bootDevice" ] +++ obsolete' [ "boot" "initrd" "luks" "enable" ] -) # do not add renaming after this. +) From caf18545a495d1fd3021522211c598abfa5e500d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 18:58:05 +0200 Subject: [PATCH 113/157] Do show aliases in the manual. --- nixos/modules/rename.nix | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index ac3da119fe6b..1d19fe6da76d 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -9,23 +9,24 @@ let name = "Alias"; use = id; define = id; + visible = true; }; obsolete = from: to: rename { inherit from to; name = "Obsolete name"; - use = x: builtins.trace "Obsolete option ${showOption from} is used instead of ${showOption to}." x; - define = x: builtins.trace "Obsolete option ${showOption from} is defined instead of ${showOption to}." x; + use = x: builtins.trace "Obsolete option `${showOption from}' is used instead of `${showOption to}'." x; + define = x: builtins.trace "Obsolete option `${showOption from}' is defined instead of `${showOption to}'." x; }; deprecated = from: to: rename { inherit from to; name = "Deprecated name"; - use = x: abort "Deprecated option ${showOption from} is used instead of ${showOption to}."; - define = x: abort "Deprecated option ${showOption from} is defined instead of ${showOption to}."; + use = x: abort "Deprecated option `${showOption from}' is used instead of `${showOption to}'."; + define = x: abort "Deprecated option `${showOption from}' is defined instead of `${showOption to}'."; }; - showOption = name: "`${concatStringsSep "." name}'"; + showOption = concatStringsSep "."; zipModules = list: zipAttrsWith (n: v: @@ -39,18 +40,19 @@ let else head v ) list; - rename = { from, to, name, use, define }: + rename = { from, to, name, use, define, visible ? false }: let setTo = setAttrByPath to; setFrom = setAttrByPath from; toOf = attrByPath to - (abort "Renaming error: option ${showOption to} does not exists."); + (abort "Renaming error: option `${showOption to}' does not exists."); fromOf = attrByPath from - (abort "Internal error: option ${showOption from} should be declared."); + (abort "Internal error: option `${showOption from}' should be declared."); in [ { options = setFrom (mkOption { + description = "${name} of ."; apply = x: use (toOf config); - visible = false; + inherit visible; }); } { options = setTo (mkOption { @@ -68,7 +70,7 @@ let visible = false; }); config.warnings = optional (getAttrFromPath option config != null) - "The option ${showOption option} defined in your configuration no longer has any effect; please remove it."; + "The option `${showOption option}' defined in your configuration no longer has any effect; please remove it."; }; in zipModules ([] From 0def73f39074f7a0699b8362a313e16abf291b31 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 19:32:19 +0200 Subject: [PATCH 114/157] Manual: Don't depend on the absolute path of modules This ensures that the manual has the same store path regardless of the directory in which Nixpkgs is stored, and thus can be fetched from the channel. --- nixos/doc/manual/default.nix | 18 ++++++++++++++++-- nixos/doc/manual/options-to-docbook.xsl | 15 +++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 7aa59ffdf5dd..52dda551f1ed 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -7,9 +7,23 @@ with pkgs.lib; let - options' = filter (x: x.visible && !x.internal) (optionAttrSetToDocList options); + # Remove invisible and internal options. + options' = filter (opt: opt.visible && !opt.internal) (optionAttrSetToDocList options); - optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options')); + # Clean up declaration sites to not refer to the NixOS source tree. + options'' = flip map options' (opt: opt // { + declarations = map (fn: stripPrefix fn) opt.declarations; + }); + + prefix = toString pkgs.path; + + stripPrefix = fn: + if substring 0 (stringLength prefix) fn == prefix then + substring (add (stringLength prefix) 1) 1000 fn + else + fn; + + optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options'')); optionsDocBook = pkgs.runCommand "options-db.xml" {} '' ${pkgs.libxslt}/bin/xsltproc \ diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index adc6c93c7223..c799eecc0c10 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -155,8 +155,15 @@ repository (if it’s a module and we have a revision number), or to the local filesystem. --> - - https://github.com/NixOS/nixos/blob//modules/ + + + + https://github.com/NixOS/nixpkgs/blob/master/ + + + https://github.com/NixOS/nixpkgs/blob// + + https://github.com/NixOS/nixops/blob//nix/ @@ -169,8 +176,8 @@ /nix/store/ prefix by the default location of nixos sources. --> - - <nixos/modules/> + + <nixpkgs/> <nixops/> From fad83a95609a90ece7dc0f3dd14c6be468812085 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 19:46:11 +0200 Subject: [PATCH 115/157] Allow literalExample in subexpressions of examples --- nixos/doc/manual/options-to-docbook.xsl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index c799eecc0c10..73c905fbca16 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -125,6 +125,11 @@ + + + + + { From 8166b12f0c861f442014433f2e3077522da7dd55 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 20:06:17 +0200 Subject: [PATCH 116/157] Manual: Check that we don't depend on the Nixpkgs location --- nixos/doc/manual/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 52dda551f1ed..a46ec06dac00 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -16,7 +16,7 @@ let }); prefix = toString pkgs.path; - + stripPrefix = fn: if substring 0 (stringLength prefix) fn == prefix then substring (add (stringLength prefix) 1) 1000 fn @@ -26,6 +26,13 @@ let optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options'')); optionsDocBook = pkgs.runCommand "options-db.xml" {} '' + if grep /nixpkgs/nixos/modules ${optionsXML}; then + echo "The manual appears to depend on the location of Nixpkgs, which is bad" + echo "since this prevents sharing via the NixOS channel. This is typically" + echo "caused by an option default that refers to a relative path (see above" + echo "for hints about the offending path)." + exit 1 + fi ${pkgs.libxslt}/bin/xsltproc \ --stringparam revision '${revision}' \ -o $out ${./options-to-docbook.xsl} ${optionsXML} From a3777ba4f959ae7fa10561b953c6e10add125fa8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2013 20:06:39 +0200 Subject: [PATCH 117/157] Remove dependencies on the Nixpkgs location --- nixos/modules/services/audio/fuppes.nix | 5 +++-- nixos/modules/services/databases/mysql.nix | 4 ++-- nixos/modules/services/databases/mysql55.nix | 4 ++-- nixos/modules/services/networking/ejabberd.nix | 2 +- nixos/modules/services/networking/ssh/sshd.nix | 4 ++-- nixos/modules/system/boot/loader/grub/grub.nix | 18 +++++++++--------- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/nixos/modules/services/audio/fuppes.nix b/nixos/modules/services/audio/fuppes.nix index df73e62fc942..9c8849e525b3 100644 --- a/nixos/modules/services/audio/fuppes.nix +++ b/nixos/modules/services/audio/fuppes.nix @@ -60,8 +60,7 @@ with pkgs.lib; }; vfolder = mkOption { - default = ./fuppes/vfolder.cfg; - example = /etc/fuppes/vfolder.cfg; + example = literalExample "/etc/fuppes/vfolder.cfg"; description = '' XML file describing the layout of virtual folder visible by the client. @@ -109,6 +108,8 @@ with pkgs.lib; services.fuppesd.name = mkDefault config.networking.hostName; + services.fuppesd.vfolder = mkDefault ./fuppes/vfolder.cfg; + security.sudo.enable = true; }; } diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 663c2cc4505a..8be05a27cdcb 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -93,8 +93,8 @@ in default = []; description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; example = [ - { name = "foodatabase"; schema = ./foodatabase.sql; } - { name = "bardatabase"; schema = ./bardatabase.sql; } + { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } + { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } ]; }; diff --git a/nixos/modules/services/databases/mysql55.nix b/nixos/modules/services/databases/mysql55.nix index 46148d68f4c6..fe8b29e3c6b7 100644 --- a/nixos/modules/services/databases/mysql55.nix +++ b/nixos/modules/services/databases/mysql55.nix @@ -86,8 +86,8 @@ in default = []; description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; example = [ - { name = "foodatabase"; schema = ./foodatabase.sql; } - { name = "bardatabase"; schema = ./bardatabase.sql; } + { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } + { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } ]; }; diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix index 05e0aba7d70e..75950f55a279 100644 --- a/nixos/modules/services/networking/ejabberd.nix +++ b/nixos/modules/services/networking/ejabberd.nix @@ -44,7 +44,7 @@ in loadDumps = mkOption { default = []; description = "Configuration dump that should be loaded on the first startup"; - example = [ ./myejabberd.dump ]; + example = literalExample "[ ./myejabberd.dump ]"; }; }; diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index c85c9307e3e4..f5670ccdcbfa 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -181,11 +181,11 @@ in example = [ { hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ]; - publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub; + publicKeyFile = literalExample "./pubkeys/myhost_ssh_host_dsa_key.pub"; } { hostNames = [ "myhost2" ]; - publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub; + publicKeyFile = literalExample "./pubkeys/myhost2_ssh_host_dsa_key.pub"; } ]; options = { diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 48d16b1c520e..97ea6100d717 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -167,15 +167,7 @@ in }; splashImage = mkOption { - default = - if cfg.version == 1 - then pkgs.fetchurl { - url = http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz; - sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; - } - # GRUB 1.97 doesn't support gzipped XPMs. - else ./winkler-gnu-blue-640x480.png; - example = null; + example = literalExample "./my-background.png"; description = '' Background image used for GRUB. It must be a 640x480, 14-colour image in XPM format, optionally compressed with @@ -231,6 +223,14 @@ in boot.loader.grub.devices = optional (cfg.device != "") cfg.device; + boot.loader.grub.splashImage = mkDefault ( + if cfg.version == 1 then pkgs.fetchurl { + url = http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz; + sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; + } + # GRUB 1.97 doesn't support gzipped XPMs. + else ./winkler-gnu-blue-640x480.png); + system.build.installBootLoader = if cfg.devices == [] then throw "You must set the ‘boot.loader.grub.device’ option to make the system bootable." From 1d6b939676e58477e42750e685b7a7fa07b52cf1 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 23 Oct 2013 21:16:38 +0200 Subject: [PATCH 118/157] python-ecdsa: Update to new version 0.10. This is only a very minor update: * Make the secp256k1 available in __init__.py too. Signed-off-by: aszlig --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8baaa25d3031..6f6c52a1b0d7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2271,11 +2271,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { ecdsa = buildPythonPackage rec { name = "ecdsa-${version}"; - version = "0.9"; + version = "0.10"; src = fetchurl { url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz"; - md5 = "2b9c35245ce391d6b7d8f991aad5c630"; + md5 = "e95941b3bcbf1726472bb724d7478551"; }; # Only needed for tests From c4149c7b564010ddcb74006db7000513a4d637a7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 01:48:07 +0200 Subject: [PATCH 119/157] Fix evaluation error in the ISOs --- .../modules/system/boot/loader/grub/grub.nix | 55 ++++++++++--------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 97ea6100d717..955235da70fe 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -219,38 +219,43 @@ in ###### implementation - config = mkIf cfg.enable { + config = mkMerge [ - boot.loader.grub.devices = optional (cfg.device != "") cfg.device; + { boot.loader.grub.splashImage = mkDefault ( + if cfg.version == 1 then pkgs.fetchurl { + url = http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz; + sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; + } + # GRUB 1.97 doesn't support gzipped XPMs. + else ./winkler-gnu-blue-640x480.png); + } - boot.loader.grub.splashImage = mkDefault ( - if cfg.version == 1 then pkgs.fetchurl { - url = http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz; - sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; - } - # GRUB 1.97 doesn't support gzipped XPMs. - else ./winkler-gnu-blue-640x480.png); + (mkIf cfg.enable { - system.build.installBootLoader = - if cfg.devices == [] then - throw "You must set the ‘boot.loader.grub.device’ option to make the system bootable." - else - "PERL5LIB=${makePerlPath [ pkgs.perlPackages.XMLLibXML pkgs.perlPackages.XMLSAX ]} " + - "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}"; + boot.loader.grub.devices = optional (cfg.device != "") cfg.device; - system.build.grub = grub; + system.build.installBootLoader = + if cfg.devices == [] then + throw "You must set the ‘boot.loader.grub.device’ option to make the system bootable." + else + "PERL5LIB=${makePerlPath [ pkgs.perlPackages.XMLLibXML pkgs.perlPackages.XMLSAX ]} " + + "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}"; - # Common attribute for boot loaders so only one of them can be - # set at once. - system.boot.loader.id = "grub"; + system.build.grub = grub; - environment.systemPackages = [ grub ]; + # Common attribute for boot loaders so only one of them can be + # set at once. + system.boot.loader.id = "grub"; - boot.loader.grub.extraPrepareConfig = - concatStrings (mapAttrsToList (n: v: '' - ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" - '') config.boot.loader.grub.extraFiles); + environment.systemPackages = [ grub ]; - }; + boot.loader.grub.extraPrepareConfig = + concatStrings (mapAttrsToList (n: v: '' + ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" + '') config.boot.loader.grub.extraFiles); + + }) + + ]; } From d49f141a7937399fd2feeffa37eb9726d84d0e31 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 02:02:04 +0200 Subject: [PATCH 120/157] Manual: When building from the channel, link to the exact Git revision --- lib/default.nix | 2 ++ lib/lists.nix | 4 ++-- nixos/doc/manual/default.nix | 3 +-- nixos/modules/misc/version.nix | 4 ++-- nixos/modules/services/misc/nixos-manual.nix | 14 +++----------- nixos/release.nix | 1 + 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/lib/default.nix b/lib/default.nix index dea82ee077eb..033269e6b609 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -22,6 +22,8 @@ let in { inherit trivial lists strings stringsWithDeps attrsets sources options properties modules types meta debug maintainers licenses platforms systems; + # Pull in some builtins not included elsewhere. + inherit (builtins) pathExists readFile; } # !!! don't include everything at top-level; perhaps only the most # commonly used functions. diff --git a/lib/lists.nix b/lib/lists.nix index 578686ae3668..262a529b2b6e 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -1,14 +1,14 @@ # General list operations. let + inherit (import ./trivial.nix) deepSeq; inc = builtins.add 1; dec = n: builtins.sub n 1; - inherit (builtins) elemAt; in rec { - inherit (builtins) head tail length isList add sub lessThan; + inherit (builtins) head tail length isList add sub lessThan elemAt; # Create a list consisting of a single element. `singleton x' is diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index a46ec06dac00..3e075529be8a 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -1,6 +1,5 @@ { pkgs, options -# revision can have multiple values: local, HEAD or any revision number. -, revision ? "HEAD" +, revision ? "master" }: with pkgs.lib; diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 14437228c746..489fcaeb9896 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -29,11 +29,11 @@ with pkgs.lib; config = { system.nixosVersion = - mkDefault (builtins.readFile "${toString pkgs.path}/.version" + config.system.nixosVersionSuffix); + mkDefault (readFile "${toString pkgs.path}/.version" + config.system.nixosVersionSuffix); system.nixosVersionSuffix = let suffixFile = "${toString pkgs.path}/.version-suffix"; in - mkDefault (if builtins.pathExists suffixFile then builtins.readFile suffixFile else "pre-git"); + mkDefault (if pathExists suffixFile then readFile suffixFile else "pre-git"); # Note: code names must only increase in alphabetical order. system.nixosCodeName = "Aardvark"; diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 1260272b68e9..c522868c1d98 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -12,8 +12,10 @@ let cfg = config.services.nixosManual; manual = import ../../../doc/manual { - inherit (cfg) revision; inherit pkgs; + revision = + let fn = "${toString pkgs.path}/.git-revision"; + in if pathExists fn then readFile fn else "master"; options = (fixMergeModules baseModules (removeAttrs extraArgs ["config" "options"]) // { modules = [ ]; @@ -75,16 +77,6 @@ in ''; }; - services.nixosManual.revision = mkOption { - default = "local"; - type = types.uniq types.string; - description = '' - Revision of the targeted source file. This value can either be - "local", "HEAD" or any - revision number embedded in a string. - ''; - }; - }; diff --git a/nixos/release.nix b/nixos/release.nix index e19403eccb66..d6135a6e1e9a 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -91,6 +91,7 @@ in { distPhase = '' rm -rf .git echo -n $VERSION_SUFFIX > .version-suffix + echo -n ${nixpkgs.rev or nixpkgs.shortRev} > .git-revision releaseName=nixos-$VERSION$VERSION_SUFFIX mkdir -p $out/tarballs mkdir ../$releaseName From 49e73ea117231a5b54fc796e29082bbc83cd4522 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 05:28:37 +0200 Subject: [PATCH 121/157] nixos-generate-config: Don't suggest setting fileSystems in configuration.nix It's already set in hardware-configuration.nix so this just confuses people. Also get rid of boot.initrd.kernelModules, since hardware-configuration.nix is supposed to figure that out as well. --- .../installer/tools/nixos-generate-config.pl | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index c6ac72e113be..0f9142990ec1 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -413,29 +413,10 @@ EOF ./hardware-configuration.nix ]; - boot.initrd.kernelModules = - [ # Specify all kernel modules that are necessary for mounting the root - # filesystem. - # "xfs" "ata_piix" - # fbcon # Uncomment this when EFI booting to see the console before the root partition is mounted - ]; - $bootLoaderConfig # networking.hostName = "nixos"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless. - # Add filesystem entries for each partition that you want to see - # mounted at boot time. This should include at least the root - # filesystem. - - # fileSystems."/".device = "/dev/disk/by-label/nixos"; - - # fileSystems."/data" = # where you want to mount the device - # { device = "/dev/sdb"; # the device - # fsType = "ext3"; # the type of the partition - # options = "data=journal"; - # }; - # Select internationalisation properties. # i18n = { # consoleFont = "lat9w-16"; From 427798268c57dac4ee0938abeac996bf310b8e93 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 17 Oct 2013 14:14:46 +0200 Subject: [PATCH 122/157] Add netcat-openbsd, TCP/IP swiss army knife, openbsd variant --- .../networking/netcat-openbsd/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/networking/netcat-openbsd/default.nix diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix new file mode 100644 index 000000000000..c7bbf3892d29 --- /dev/null +++ b/pkgs/tools/networking/netcat-openbsd/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, pkgconfig, libbsd}: + +stdenv.mkDerivation rec { + name = "netcat-openbsd-1.105"; + version = "1.105"; + + srcs = [ + (fetchurl { + url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_1.105.orig.tar.gz"; + md5 = "7e67b22f1ad41a1b7effbb59ff28fca1"; + }) + (fetchurl { + url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_1.105-7.debian.tar.gz"; + md5 = "e914f8eb7eda5c75c679dd77787ac76b"; + }) + ]; + + buildInputs = [ pkgconfig libbsd ]; + sourceRoot = name; + patches = [ "../debian/patches/*.patch" ]; + + installPhase = '' + install -Dm0755 nc $out/bin/nc + ''; + + meta = { + homepage = "http://packages.debian.org/netcat-openbsd"; + description = "TCP/IP swiss army knife. OpenBSD variant."; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f03e3482bb0..42bcd3202556 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1381,6 +1381,8 @@ let netcat = callPackage ../tools/networking/netcat { }; + netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { }; + netkittftp = callPackage ../tools/networking/netkit/tftp { }; netpbm = callPackage ../tools/graphics/netpbm { }; From ad3a0dd8fb5ada5313c8ccfb2b99e54b46d008f8 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 17 Oct 2013 14:17:29 +0200 Subject: [PATCH 123/157] nixos/libvirtd: fix remote ssh managment by adding netcat-openbsd in system packages Virsh/virt-manager uses ssh to connect to master, there it expects openbsd netcat(which has support for unix sockets) to be avalible, to make a tunnel. Close #1087. --- nixos/modules/virtualisation/libvirtd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index 52dab153094d..280143d4e3f2 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -61,7 +61,7 @@ in config = mkIf cfg.enable { environment.systemPackages = - [ pkgs.libvirt ] + [ pkgs.libvirt pkgs.netcat-openbsd ] ++ optional cfg.enableKVM pkgs.qemu_kvm; boot.kernelModules = [ "tun" ]; From b66e1808ef44142fc4c65dd6c6d58904ce93f49f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Tue, 22 Oct 2013 17:42:06 +0200 Subject: [PATCH 124/157] Add JsonCpp v0.6.0 Close #1112. --- .../development/libraries/jsoncpp/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/libraries/jsoncpp/default.nix diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix new file mode 100644 index 000000000000..b1aa03991bd9 --- /dev/null +++ b/pkgs/development/libraries/jsoncpp/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, scons}: + +let + basename = "jsoncpp"; + version = "0.6.0-rc2"; + pkgname = "${basename}-src-${version}.tar.gz"; +in +stdenv.mkDerivation rec { + name = "${basename}-${version}"; + src = fetchurl { + url = "mirror://sourceforge/${basename}/${pkgname}"; + sha256 = "10xj15nziqpwc6r3yznpb49wm4jqc5wakjsmj65v087mcg8r7lfl"; + }; + + buildInputs = [ scons ]; + + buildPhase = '' + mkdir -p $out + scons platform=linux-gcc check + ''; + + installPhase = '' + cp -r include $out + cp -r libs/* $out/lib + ''; + + meta = { + homepage = http://jsoncpp.sourceforge.net; + repositories.svn = svn://svn.code.sf.net/p/jsoncpp/code; + description = "A simple API to manipulate JSON data in C++"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42bcd3202556..54e7359722a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4559,6 +4559,8 @@ let json_c = callPackage ../development/libraries/json-c { }; + jsoncpp = callPackage ../development/libraries/jsoncpp { }; + libjson = callPackage ../development/libraries/libjson { }; judy = callPackage ../development/libraries/judy { }; From 23d3c30f553e9f362b8031c71bafdde6ca81b10f Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 24 Oct 2013 12:10:43 +0300 Subject: [PATCH 125/157] alienarena: update to 7.65, fix build. Close #1095. --- pkgs/games/alienarena/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix index 856d9afe0f92..d9852971adfc 100644 --- a/pkgs/games/alienarena/default.nix +++ b/pkgs/games/alienarena/default.nix @@ -2,11 +2,11 @@ , libvorbis, freetype, openal, mesa }: stdenv.mkDerivation rec { - name = "alienarena-7.52"; + name = "alienarena-7.65"; src = fetchurl { - url = "http://icculus.org/alienarena/Files/alienarena-7_52-linux20110929.tar.gz"; - sha256 = "1s1l3apxsxnd8lyi568y38a1fcdr0gwmc3lkgq2nkc676k4gki3m"; + url = "http://icculus.org/alienarena/Files/alienarena-7.65-linux20130207.tar.gz"; + sha256 = "03nnv4m2xmswr0020hssajncdb8sy95jp5yccsm53sgxga4r8igg"; }; buildInputs = [ pkgconfig libjpeg libX11 curl libogg libvorbis @@ -14,7 +14,8 @@ stdenv.mkDerivation rec { patchPhase = '' substituteInPlace ./configure \ - --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 + --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \ + --replace libGL.so.1 ${mesa}/lib/libGL.so.1 ''; meta = { From 0d76e1cb94ffda0412da9e33e1fd554198248732 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 24 Oct 2013 13:01:53 +0300 Subject: [PATCH 126/157] glew: install glewinfo and visualinfo --- pkgs/development/libraries/glew/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix index 14b44801e76e..313eec0bc7de 100644 --- a/pkgs/development/libraries/glew/default.nix +++ b/pkgs/development/libraries/glew/default.nix @@ -8,6 +8,7 @@ stdenv.mkDerivation rec { sha256 = "11xpmsw7m5qn7y8fa2ihhqcislz1bdd83mp99didd5ac84756dlv"; }; + buildInputs = [ x11 libXmu libXi ]; propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h @@ -15,8 +16,9 @@ stdenv.mkDerivation rec { sed -i 's|lib64|lib|' config/Makefile.linux ''; +buildPhase = "make all"; installPhase = '' - GLEW_DEST=$out make install + GLEW_DEST=$out make install.all mkdir -pv $out/share/doc/glew mkdir -p $out/lib/pkgconfig cp glew*.pc $out/lib/pkgconfig From a4f1f4b3673727ddbc5758ea5f0836d013fcc111 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 14:48:02 +0200 Subject: [PATCH 127/157] Small cleanup --- lib/misc.nix | 4 +--- lib/modules.nix | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/misc.nix b/lib/misc.nix index 19e5081009de..c128b9af9d8c 100644 --- a/lib/misc.nix +++ b/lib/misc.nix @@ -206,9 +206,7 @@ rec { in work startSet [] []; - genericClosure = - if builtins ? genericClosure then builtins.genericClosure - else lazyGenericClosure; + genericClosure = builtins.genericClosure or lazyGenericClosure; innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else innerModifySumArgs f x (a // b); diff --git a/lib/modules.nix b/lib/modules.nix index acd10e7bf576..f914947e7849 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -185,8 +185,7 @@ rec { ) funs; - moduleMerge = path: modules: - let modules_ = modules; in + moduleMerge = path: modules_: let addName = name: if path == "" then name else path + "." + name; From 8c65a2a18167072d46349ed23c5466174345e691 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 14:52:09 +0200 Subject: [PATCH 128/157] linux: Update to 3.4.67 --- pkgs/os-specific/linux/kernel/linux-3.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index d37ca172479d..47393b0ae744 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.66"; + version = "3.4.67"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "09jrj989mqk76klrg5zq1z8qrx3gif69bqi78ywq3jky8dmrwz3y"; + sha256 = "1ndzlwhxvlm4lr86240h3ysxhmdkgdcp0n6qhid5nwrmxf5fpb1d"; }; features.iwlwifi = true; From 373c14614b5e97f64b1c86523f85762aedc72698 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 15:09:00 +0200 Subject: [PATCH 129/157] Put the NixOS channel in an option --- nixos/modules/misc/version.nix | 7 +++++++ nixos/modules/programs/shell.nix | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 489fcaeb9896..2a0b95ebeb60 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -24,6 +24,13 @@ with pkgs.lib; description = "NixOS release code name."; }; + system.defaultChannel = mkOption { + internal = true; + type = types.uniq types.string; + default = https://nixos.org/channels/nixos-unstable; + description = "Default NixOS channel to which the root user is subscribed."; + }; + }; config = { diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 679c4979dfa9..8052502c21ea 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -39,7 +39,7 @@ in # Subscribe the root user to the NixOS channel by default. if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then - echo "http://nixos.org/channels/nixos-unstable nixos" > $HOME/.nix-channels + echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels fi # Create the per-user garbage collector roots directory. From d5af9bc5831b73b87c2d20b014f03b416a981327 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 19:31:51 +0200 Subject: [PATCH 130/157] Simplify manual generation --- nixos/release.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/nixos/release.nix b/nixos/release.nix index d6135a6e1e9a..8e87fbf8e5f7 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -73,7 +73,7 @@ let }; -in { +in rec { channel = pkgs.releaseTools.makeSourceTarball { @@ -107,18 +107,7 @@ in { }; - manual = - (import ./doc/manual { - inherit pkgs; - options = - (import lib/eval-config.nix { - modules = [ - { fileSystems = []; - boot.loader.grub.device = "/dev/sda"; - } ]; - }).options; - revision = toString (nixpkgs.rev or nixpkgs.shortRev); - }).manual; + manual = iso_minimal.x86_64-linux.config.system.build.manual.manual; iso_minimal = pkgs.lib.genAttrs systems (system: makeIso { From 20150b1cee1ec86e50e2e1c2a75d45499ccd80d4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 19:58:34 +0200 Subject: [PATCH 131/157] Ensure that the manual job gets build with the right revision info --- nixos/modules/misc/version.nix | 10 ++++++++++ nixos/modules/services/misc/nixos-manual.nix | 11 +++++++---- nixos/release.nix | 4 +++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 2a0b95ebeb60..5ab24686152e 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -18,6 +18,12 @@ with pkgs.lib; description = "NixOS version suffix."; }; + system.nixosRevision = mkOption { + internal = true; + type = types.uniq types.string; + description = "NixOS Git revision hash."; + }; + system.nixosCodeName = mkOption { internal = true; type = types.uniq types.string; @@ -42,6 +48,10 @@ with pkgs.lib; let suffixFile = "${toString pkgs.path}/.version-suffix"; in mkDefault (if pathExists suffixFile then readFile suffixFile else "pre-git"); + system.nixosRevision = + let fn = "${toString pkgs.path}/.git-revision"; in + mkDefault (if pathExists fn then readFile fn else "master"); + # Note: code names must only increase in alphabetical order. system.nixosCodeName = "Aardvark"; diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index c522868c1d98..a593d05ee628 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -11,12 +11,15 @@ let cfg = config.services.nixosManual; + versionModule = + { system.nixosVersionSuffix = config.system.nixosVersionSuffix; + system.nixosRevision = config.system.nixosRevision; + }; + manual = import ../../../doc/manual { inherit pkgs; - revision = - let fn = "${toString pkgs.path}/.git-revision"; - in if pathExists fn then readFile fn else "master"; - options = (fixMergeModules baseModules + revision = config.system.nixosRevision; + options = (fixMergeModules ([ versionModule ] ++ baseModules) (removeAttrs extraArgs ["config" "options"]) // { modules = [ ]; }).options; diff --git a/nixos/release.nix b/nixos/release.nix index 8e87fbf8e5f7..07cc20eb1e54 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -16,7 +16,9 @@ let versionModule = - { system.nixosVersionSuffix = versionSuffix; }; + { system.nixosVersionSuffix = versionSuffix; + system.nixosRevision = nixpkgs.rev or nixpkgs.shortRev; + }; makeIso = From b5cfb8c12060d1132e83ee6eaa459be865ed862d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 20:06:02 +0200 Subject: [PATCH 132/157] Put the manual in the NixOS channel --- nixos/doc/manual/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 3e075529be8a..db3245fcc07d 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -79,9 +79,12 @@ in rec { cp ${./style.css} $dst/style.css - ensureDir $out/nix-support + mkdir -p $out/nix-support + echo "nix-build out $out" >> $out/nix-support/hydra-build-products echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products ''; # */ + + meta.description = "The NixOS manual in HTML format"; }; # Generate the NixOS manpages. @@ -102,7 +105,7 @@ in rec { ./man-pages.xml # Generate manpages. - ensureDir $out/share/man + mkdir -p $out/share/man xsltproc --nonet --xinclude \ --param man.output.in.separate.dir 1 \ --param man.output.base.dir "'$out/share/man/'" \ From 6f911ede89389d433b7814de75d2c7fa6f8e402d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 Oct 2013 20:20:13 +0200 Subject: [PATCH 133/157] nix: Update to 1.7pre3267_2d9bb56 --- pkgs/tools/package-management/nix/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index a548a9f13bdd..7bdc8d1aefb6 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.7pre3252_792fd51"; + name = "nix-1.7pre3267_2d9bb56"; src = fetchurl { - url = "http://hydra.nixos.org/build/6500161/download/5/${name}.tar.xz"; - sha256 = "f99c1996292ea1a20068f0a6d58d3dc4775f30fdd22cdd756ac4d749acb2c20e"; + url = "http://hydra.nixos.org/build/6611474/download/5/${name}.tar.xz"; + sha256 = "f62b48910651c4651cd4473a0bb433d65cf60c93c0f80d589b26fec52b3b82b3"; }; nativeBuildInputs = [ perl pkgconfig ]; From be4d957a9c2b5b085afa2dfb44b0ea97e704fb18 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:23:53 +0200 Subject: [PATCH 134/157] haskell-case-insensitive: update to version 1.1.0.1 --- .../haskell/case-insensitive/{1.1.nix => 1.1.0.1.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename pkgs/development/libraries/haskell/case-insensitive/{1.1.nix => 1.1.0.1.nix} (84%) diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix similarity index 84% rename from pkgs/development/libraries/haskell/case-insensitive/1.1.nix rename to pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix index fb3a9d271011..4f63796850a0 100644 --- a/pkgs/development/libraries/haskell/case-insensitive/1.1.nix +++ b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "case-insensitive"; - version = "1.1"; - sha256 = "1likcqdlhbbk78s887n5g9a4jjxxyh46hj4wc7l7snf6f9ygd5lj"; + version = "1.1.0.1"; + sha256 = "1hwkdkpr88r3s7c8w1msw1pawz8cfi0lwj1z9dcsp0xs788yzapp"; buildDepends = [ deepseq hashable text ]; testDepends = [ HUnit testFramework testFrameworkHunit text ]; meta = { diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index abd8522b1bc1..77cfef947055 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -143,7 +143,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x inherit (self) cabal ghc; async = self.async_2_0_1_4; attoparsec = self.attoparsec_0_10_4_0; - caseInsensitive = self.caseInsensitive_1_1; + caseInsensitive = self.caseInsensitive_1_1_0_1; cgi = self.cgi_3001_1_7_5; fgl = self.fgl_5_4_2_4; GLUT = self.GLUT_2_5_0_1; @@ -679,7 +679,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x carray = callPackage ../development/libraries/haskell/carray {}; caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {}; - caseInsensitive_1_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.nix {}; + caseInsensitive_1_1_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.1.nix {}; caseInsensitive = self.caseInsensitive_1_1; cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; From 5efa7019c7b86e6e67968b54399ca79724c1ea4f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:28:57 +0200 Subject: [PATCH 135/157] haskell-xmlgen: add version 0.6.2.0 --- .../libraries/haskell/xmlgen/default.nix | 15 +++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/libraries/haskell/xmlgen/default.nix diff --git a/pkgs/development/libraries/haskell/xmlgen/default.nix b/pkgs/development/libraries/haskell/xmlgen/default.nix new file mode 100644 index 000000000000..f45b7b4a6a0e --- /dev/null +++ b/pkgs/development/libraries/haskell/xmlgen/default.nix @@ -0,0 +1,15 @@ +{ cabal, blazeBuilder, filepath, HUnit, hxt, mtl, QuickCheck, text +}: + +cabal.mkDerivation (self: { + pname = "xmlgen"; + version = "0.6.2.0"; + sha256 = "0b6fyg6mlm068f2jjmil52az4hk144pryf1c0wr1gx6ddx9yzjy4"; + buildDepends = [ blazeBuilder mtl text ]; + testDepends = [ filepath HUnit hxt QuickCheck text ]; + meta = { + description = "Fast XML generation library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 77cfef947055..c6cec9d4b013 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2278,6 +2278,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {}; + xmlgen = callPackage ../development/libraries/haskell/xmlgen {}; + xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {}; xmlhtml = callPackage ../development/libraries/haskell/xmlhtml {}; From fadca15b2e09daca919a5ff80f354accbb3ce6f4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:07 +0200 Subject: [PATCH 136/157] haskell-language-ecmascript: add version 0.15.2 --- .../haskell/language-ecmascript/default.nix | 23 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/libraries/haskell/language-ecmascript/default.nix diff --git a/pkgs/development/libraries/haskell/language-ecmascript/default.nix b/pkgs/development/libraries/haskell/language-ecmascript/default.nix new file mode 100644 index 000000000000..8fc147191ada --- /dev/null +++ b/pkgs/development/libraries/haskell/language-ecmascript/default.nix @@ -0,0 +1,23 @@ +{ cabal, dataDefaultClass, Diff, filepath, HUnit, mtl, parsec +, QuickCheck, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, uniplate +}: + +cabal.mkDerivation (self: { + pname = "language-ecmascript"; + version = "0.15.2"; + sha256 = "1iszs9f2jryddcz36a6anfyfxpwjhzn49xjqvnd5m6rjdq6y403w"; + buildDepends = [ + dataDefaultClass Diff mtl parsec QuickCheck uniplate + ]; + testDepends = [ + dataDefaultClass Diff filepath HUnit mtl parsec QuickCheck + testFramework testFrameworkHunit testFrameworkQuickcheck2 + ]; + meta = { + homepage = "http://github.com/jswebtools/language-ecmascript"; + description = "JavaScript parser and pretty-printer library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c6cec9d4b013..bf17d70a7e8f 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1370,6 +1370,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {}; + languageEcmascript = callPackage ../development/libraries/haskell/language-ecmascript {}; + languageJava = callPackage ../development/libraries/haskell/language-java {}; languageJavascript = callPackage ../development/libraries/haskell/language-javascript {}; From a773bf439881585d2087564d0897ecc656f12cdf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:15 +0200 Subject: [PATCH 137/157] haskell-HTF: add version 0.11.0.1 --- .../libraries/haskell/HTF/default.nix | 26 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/libraries/haskell/HTF/default.nix diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix new file mode 100644 index 000000000000..7abdc9b4730a --- /dev/null +++ b/pkgs/development/libraries/haskell/HTF/default.nix @@ -0,0 +1,26 @@ +{ cabal, aeson, cpphs, Diff, filepath, haskellSrcExts, HUnit +, liftedBase, monadControl, mtl, QuickCheck, random, regexCompat +, temporary, text, unorderedContainers, xmlgen +}: + +cabal.mkDerivation (self: { + pname = "HTF"; + version = "0.11.0.1"; + sha256 = "0c4z76rsmdck60p7p2ypxx0d0r7k2vcb9viqp2yalyxzaaj7a9f5"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson cpphs Diff haskellSrcExts HUnit liftedBase monadControl mtl + QuickCheck random regexCompat text xmlgen + ]; + testDepends = [ + aeson filepath mtl random regexCompat temporary text + unorderedContainers + ]; + meta = { + homepage = "https://github.com/skogsbaer/HTF/"; + description = "The Haskell Test Framework"; + license = "LGPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index bf17d70a7e8f..40fc775317cd 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1172,6 +1172,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hexpat = callPackage ../development/libraries/haskell/hexpat {}; + HTF = callPackage ../development/libraries/haskell/HTF {}; + HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {}; HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {}; HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {}; From cf08417baaf797edabdbaab77952c7e34c360d68 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:20 +0200 Subject: [PATCH 138/157] haskell-Elm: update to version 0.10 --- pkgs/development/compilers/elm/elm.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix index 2c851ebbf3f6..17b173a33348 100644 --- a/pkgs/development/compilers/elm/elm.nix +++ b/pkgs/development/compilers/elm/elm.nix @@ -1,17 +1,20 @@ -{ cabal, binary, blazeHtml, blazeMarkup, cmdargs, filepath, hjsmin -, indents, mtl, pandoc, parsec, transformers, unionFind, uniplate +{ cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup +, cmdargs, filepath, HTF, indents, languageEcmascript, mtl, pandoc +, parsec, text, transformers, unionFind, uniplate }: cabal.mkDerivation (self: { pname = "Elm"; - version = "0.9.0.2"; - sha256 = "0yr395wsj0spi6h9d6lm5hvdryybpf8i1qpv4gz9dk0bwlyc8iwh"; + version = "0.10"; + sha256 = "0wwda9w9r3qw7b23bj4qnfj4vgl7zwwnslxmgz3rv0cmxn9klqx2"; isLibrary = true; isExecutable = true; buildDepends = [ - binary blazeHtml blazeMarkup cmdargs filepath hjsmin indents mtl - pandoc parsec transformers unionFind uniplate + aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath + indents languageEcmascript mtl pandoc parsec text transformers + unionFind uniplate ]; + testDepends = [ HTF ]; doCheck = false; meta = { homepage = "http://elm-lang.org"; From 851155e198e13e9549898f4ddee1707bc0f7bd27 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 139/157] haskell-Hipmunk: update to version 5.2.0.12 --- pkgs/development/libraries/haskell/Hipmunk/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix index 7ee64f4254eb..e2f78497a7a3 100644 --- a/pkgs/development/libraries/haskell/Hipmunk/default.nix +++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "Hipmunk"; - version = "5.2.0.11"; - sha256 = "0pcbwlq0njgj6dzh8h94gml63wv52f6l9hdas378lm7v8gbizxl7"; + version = "5.2.0.12"; + sha256 = "0gybmwwij6gs3gsklcvck0nc1niyh6pvirnxgrcwclrz94ivpj42"; buildDepends = [ StateVar transformers ]; meta = { - homepage = "http://patch-tag.com/r/felipe/hipmunk/home"; + homepage = "https://github.com/meteficha/Hipmunk"; description = "A Haskell binding for Chipmunk"; license = "unknown"; platforms = self.ghc.meta.platforms; From a6c77b188503389166dea4547efb1b8321df12de Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 140/157] haskell-monad-control: update to version 0.3.2.2 --- pkgs/development/libraries/haskell/monad-control/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix index ac59d470145b..12657a63b4cc 100644 --- a/pkgs/development/libraries/haskell/monad-control/default.nix +++ b/pkgs/development/libraries/haskell/monad-control/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monad-control"; - version = "0.3.2.1"; - sha256 = "17wfdg3a2kkx1jwh7gfgbyx4351b420krsf8syb8l9xrl9gdz5a3"; + version = "0.3.2.2"; + sha256 = "1wwcx2k0nzmjqxf8d8wasnhvdx5q3nxkcyq7vbprkfy85sj7ivxc"; buildDepends = [ baseUnicodeSymbols transformers transformersBase ]; From fe953f6d200ec0c80866b5031382c3ec10809a27 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 141/157] haskell-pandoc: update to version 1.12.1 --- pkgs/development/libraries/haskell/pandoc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix index c3149c4a2e25..b5ccc95bd3fd 100644 --- a/pkgs/development/libraries/haskell/pandoc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "pandoc"; - version = "1.12.0.2"; - sha256 = "125vl6l7nd3s3zwkms46y8l5zhg22iwz5387ll9rd2hf6asfpp56"; + version = "1.12.1"; + sha256 = "0csyrcfdqv2mc7ngn63lan3c1dd6zy0pb24k0z1lsraqlmmw76nf"; isLibrary = true; isExecutable = true; buildDepends = [ From da503a5f3c7c9e7d61d92fe894087214ca290c89 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 142/157] haskell-tagstream-conduit: update to version 0.5.4.1 --- .../libraries/haskell/tagstream-conduit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix index 1b290bd310ba..ca177a80a101 100644 --- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix +++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "tagstream-conduit"; - version = "0.5.4"; - sha256 = "1djf66kn3m4sdwmis82f9w2nkmjyrq12zda7ic9pcsvra579868i"; + version = "0.5.4.1"; + sha256 = "1gahdil5jasm6v7gp519ahr2yc7ppysdnmkl21cd4zzn6y1r0gw9"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit caseInsensitive conduit text transformers From f2811c488259baa2a126f84e7380f3542d16c5b8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 143/157] haskell-uuid: update to version 1.3.2 --- pkgs/development/libraries/haskell/uuid/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/uuid/default.nix b/pkgs/development/libraries/haskell/uuid/default.nix index a3896b4b8c6f..2160d22607b8 100644 --- a/pkgs/development/libraries/haskell/uuid/default.nix +++ b/pkgs/development/libraries/haskell/uuid/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "uuid"; - version = "1.3.0"; - sha256 = "0bzgprrag170j55vwi03lc6h4lk6cl9jsbawcp9nc7hivkqib26j"; + version = "1.3.2"; + sha256 = "0kwrb200i41l8ipgwviv934sa2ic2hqvlpj72pmkw4ba50viyc8m"; buildDepends = [ binary cryptohash deepseq hashable networkInfo random time ]; From 76e95492c89a5b3f467b8e487b6f36552f4c0f9b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 144/157] haskell-xdot: update to version 0.2.4 --- pkgs/development/libraries/haskell/xdot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix index 130402ec75bf..f7a2b731d037 100644 --- a/pkgs/development/libraries/haskell/xdot/default.nix +++ b/pkgs/development/libraries/haskell/xdot/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "xdot"; - version = "0.2.3.1"; - sha256 = "1gricrnssxgzaq1z7nnyppmz284nix0m89477x22mal125pkcf7n"; + version = "0.2.4"; + sha256 = "0723drp9zs3hrayld99j4fniyvm65fz19hkk4001vpvgjw27dfja"; buildDepends = [ cairo graphviz gtk mtl polyparse text ]; meta = { description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo"; From 1b86a6d3996bc510ccf6304d9943e29c1fdf6d46 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 23 Oct 2013 10:29:21 +0200 Subject: [PATCH 145/157] haskell-HaRe: update to version 0.7.0.7 --- pkgs/development/tools/haskell/HaRe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix index 1ef60e7950d0..f7d67f4be666 100644 --- a/pkgs/development/tools/haskell/HaRe/default.nix +++ b/pkgs/development/tools/haskell/HaRe/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "HaRe"; - version = "0.7.0.6"; - sha256 = "0i2zl08rg7777jarw2v3797v0va80h7bg166wfq9lzynz9vqsima"; + version = "0.7.0.7"; + sha256 = "0pgl5mav4sqc453by7nddf5fz7nj231072bklzj6crcph7qw4zy4"; isLibrary = true; isExecutable = true; buildDepends = [ From 22db003f91751c1973a2b26d906532f486e21066 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 25 Oct 2013 00:05:49 +0200 Subject: [PATCH 146/157] Add the NixOS manpages to the channel --- nixos/release.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/release.nix b/nixos/release.nix index 07cc20eb1e54..866a992f79a1 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -110,6 +110,7 @@ in rec { manual = iso_minimal.x86_64-linux.config.system.build.manual.manual; + manpages = iso_minimal.x86_64-linux.config.system.build.manual.manpages; iso_minimal = pkgs.lib.genAttrs systems (system: makeIso { From ab94ccfc38df04b7f9d101f00e0a4b6410322702 Mon Sep 17 00:00:00 2001 From: Arvin Moezzi Date: Fri, 25 Oct 2013 01:32:30 +0200 Subject: [PATCH 147/157] rockbox-utility: upgrade 1.2.8 -> 1.3.1 Close #1116. --- pkgs/tools/misc/rockbox-utility/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/rockbox-utility/default.nix b/pkgs/tools/misc/rockbox-utility/default.nix index 4f271bcd6237..adb2a456b88f 100644 --- a/pkgs/tools/misc/rockbox-utility/default.nix +++ b/pkgs/tools/misc/rockbox-utility/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, libusb, qt4 }: +{ stdenv, fetchurl, libusb1, qt4 }: stdenv.mkDerivation rec { name = "rockbox-utility-${version}"; - version = "1.2.8"; + version = "1.3.1"; src = fetchurl { - url = "http://download.rockbox.org/rbutil/source/rbutil_${version}-src.tar.bz2"; - sha256 = "1gjwlyrwvzfdhqdwvq1chdnjkcn9lk21ixp92h5y74826j3ahdgs"; + url = "http://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2"; + sha256 = "6c04b5c7eaad1762577908dedb9e40f5b0cee675150ae5ba844ea2c9bea294ca"; }; - buildInputs = [ libusb qt4 ]; + buildInputs = [ libusb1 qt4 ]; preBuild = '' cd rbutil/rbutilqt From 72ca782044b7fa83c3efceeb07b18ab395f7a5b1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 25 Oct 2013 15:47:30 +0200 Subject: [PATCH 148/157] Fix an assertion set in the wrong place --- nixos/modules/programs/ssh.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 5ec32376b60e..64bf25083163 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -1,6 +1,6 @@ # Global configuration for the SSH client. -{config, pkgs, ...}: +{ config, pkgs, ... }: with pkgs.lib; @@ -31,7 +31,7 @@ in setXAuthLocation = mkOption { default = true; description = '' - Whether to set the path to xauth for X11-forwarded connections. + Whether to set the path to xauth for X11-forwarded connections. Pulls in X11 dependency. ''; }; @@ -46,10 +46,13 @@ in }; }; - assertions = [{ assertion = if cfg.forwardX11 then cfg.setXAuthLocation else true; - message = "cannot enable X11 forwarding without setting xauth location";}]; - config = { + + assertions = singleton + { assertion = cfg.forwardX11 -> cfg.setXAuthLocation; + message = "cannot enable X11 forwarding without setting XAuth location"; + }; + environment.etc = [ { # SSH configuration. Slight duplication of the sshd_config # generation in the sshd service. From f79a7359b0210dfda85d70ee0b92b4e00008a8de Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 25 Oct 2013 15:52:52 +0200 Subject: [PATCH 149/157] firebird.nix: Fix a misplaced } that causes "users" to be outside "config" --- nixos/modules/services/databases/firebird.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix index 213320d5c54a..75c225bdb67b 100644 --- a/nixos/modules/services/databases/firebird.nix +++ b/nixos/modules/services/databases/firebird.nix @@ -151,12 +151,12 @@ in #RemoteBindAddress = # there are some additional settings which should be reviewed ''; - }; users.extraUsers.firebird = { - description = "firebird server user"; + description = "Firebird server user"; group = "firebird"; uid = config.ids.uids.firebird; }; + }; } From 665c4882e8fb5df12ac6087ffd639c651790d5bb Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 25 Oct 2013 13:33:32 -0400 Subject: [PATCH 150/157] Add ats Signed-off-by: Shea Levy --- pkgs/development/compilers/ats2/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/compilers/ats2/default.nix diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix new file mode 100644 index 000000000000..ae0c6419eb61 --- /dev/null +++ b/pkgs/development/compilers/ats2/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, gmp }: + +let version = "0.0.3"; in stdenv.mkDerivation { + name = "ats2-postiats-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; + sha256 = "0hq63zrmm92j5ffnsmylhhllm8kgjpjkaj4xvzz1zlshz39lijxp"; + }; + + buildInputs = [ gmp ]; + + meta = { + description = "A statically typed programming language that unifies implementation with formal specification"; + homepage = http://www.ats-lang.org/; + license = stdenv.lib.gpl3Plus; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54e7359722a5..f7e3c28e3d7b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2205,6 +2205,8 @@ let aspectj = callPackage ../development/compilers/aspectj { }; + ats2 = callPackage ../development/compilers/ats2 { }; + avra = callPackage ../development/compilers/avra { }; bigloo = callPackage ../development/compilers/bigloo { }; From 4e604508584f534a11954cf1456f06bc2d29c9f6 Mon Sep 17 00:00:00 2001 From: Arvin Moezzi Date: Fri, 25 Oct 2013 18:56:40 +0200 Subject: [PATCH 151/157] Package urlview 0.9-19 urlview extracts URLs from text. Close #1118. --- pkgs/applications/misc/urlview/default.nix | 39 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/applications/misc/urlview/default.nix diff --git a/pkgs/applications/misc/urlview/default.nix b/pkgs/applications/misc/urlview/default.nix new file mode 100644 index 000000000000..02d26f660019 --- /dev/null +++ b/pkgs/applications/misc/urlview/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, ncurses, automake111x, autoreconfHook }: + +stdenv.mkDerivation rec { + version = "0.9"; + patchLevel = "19"; + + name = "urlview-${version}-${patchLevel}"; + + urlBase = "mirror://debian/pool/main/u/urlview/"; + + src = fetchurl { + url = urlBase + "urlview_${version}.orig.tar.gz"; + sha256 = "746ff540ccf601645f500ee7743f443caf987d6380e61e5249fc15f7a455ed42"; + }; + + buildInputs = [ ncurses automake111x autoreconfHook ]; + + preAutoreconf = '' + touch NEWS + ''; + + preConfigure = '' + mkdir -p $out/share/man/man1 + ''; + + debianPatches = fetchurl { + url = urlBase + "urlview_${version}-${patchLevel}.diff.gz"; + sha256 = "056883c17756f849fb9235596d274fbc5bc0d944fcc072bdbb13d1e828301585"; + }; + + patches = debianPatches; + + meta = { + description = "Extract URLs from text"; + homepage = http://packages.qa.debian.org/u/urlview.html; + licencse = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7e3c28e3d7b..2db6017d7e7c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1912,6 +1912,8 @@ let unoconv = callPackage ../tools/text/unoconv { }; upx = callPackage ../tools/compression/upx { }; + + urlview = callPackage ../applications/misc/urlview {}; usbmuxd = callPackage ../tools/misc/usbmuxd {}; From 9176ad1808f6e12e8f0b51e878beee60b99c2f98 Mon Sep 17 00:00:00 2001 From: Arvin Moezzi Date: Fri, 25 Oct 2013 13:12:31 +0200 Subject: [PATCH 152/157] package residualvm 0.1.1 ResidualVM is an interpreter for LucasArts' Lua-based 3D adventure games like Grim Fandango. From: #1118. --- pkgs/games/residualvm/default.nix | 30 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/games/residualvm/default.nix diff --git a/pkgs/games/residualvm/default.nix b/pkgs/games/residualvm/default.nix new file mode 100644 index 000000000000..36c40f9bec5e --- /dev/null +++ b/pkgs/games/residualvm/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib +, openglSupport ? false, mesa ? null +}: + +assert openglSupport -> mesa != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + version = "0.1.1"; + name = "residualvm-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/residualvm/residualvm-${version}-sources.tar.bz2"; + sha256 = "99c419b13885a49bdfc10a50a3a6000fd1ba9504f6aae04c74b840ec6f57a963"; + }; + + buildInputs = [ stdenv SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ] + ++ optional openglSupport [ mesa ]; + + configureFlags="--enable-all-engines"; + + meta = { + description = "Interpreter for LucasArts' Lua-based 3D adventure games"; + homepage = http://residualvm.org/; + repositories.git = https://github.com/residualvm/residualvm.git; + licencse = licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2db6017d7e7c..b16942e4f40a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9291,6 +9291,10 @@ let racer = callPackage ../games/racer { }; + residualvm = callPackage ../games/residualvm { + openglSupport = mesaSupported; + }; + rigsofrods = callPackage ../games/rigsofrods { mygui = myguiSvn; }; From 200d6297333d46ea79bb8944d7fb5b00d22c91ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 26 Oct 2013 12:39:33 +0200 Subject: [PATCH 153/157] Fix evaluation error caused by the "ats" expression --- pkgs/development/compilers/ats2/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index ae0c6419eb61..074fc4f334f6 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -13,7 +13,7 @@ let version = "0.0.3"; in stdenv.mkDerivation { meta = { description = "A statically typed programming language that unifies implementation with formal specification"; homepage = http://www.ats-lang.org/; - license = stdenv.lib.gpl3Plus; + license = stdenv.lib.licenses.gpl3Plus; maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } From a13ed71b432c2f54ab3f9feaf71859af3cc0fce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 26 Oct 2013 09:38:31 +0200 Subject: [PATCH 154/157] xc3sprog: new package xc3sprog is command-line tools for programming FPGAs, microcontrollers and PROMs via JTAG. Homepage: http://xc3sprog.sourceforge.net/ I'm using the latest from subversion as xc3sprog doesn't seem to make proper releases. There are only a few seemingly random snapshots at sourceforge. And these snapshots are built binary packages, not source archives. NOTE: I haven't tested this on any hardware yet. --- .../tools/misc/xc3sprog/default.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/tools/misc/xc3sprog/default.nix diff --git a/pkgs/development/tools/misc/xc3sprog/default.nix b/pkgs/development/tools/misc/xc3sprog/default.nix new file mode 100644 index 000000000000..52471c30fd07 --- /dev/null +++ b/pkgs/development/tools/misc/xc3sprog/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchsvn, cmake, libusb, libftdi }: + +# The xc3sprog project doesn't seem to make proper releases, they only put out +# prebuilt binary subversion snapshots on sourceforge. + +stdenv.mkDerivation rec { + version = "748"; # latest @ 2013-10-26 + name = "xc3sprog-${version}"; + + src = fetchsvn rec { + url = "https://svn.code.sf.net/p/xc3sprog/code/trunk"; + sha256 = "0wkz6094kkqz91qpa24pzlbhndc47sjmqhwk3p7ccabv0041rzk0"; + rev = "${version}"; + }; + + buildInputs = [ cmake libusb libftdi ]; + + meta = with stdenv.lib; { + description = "Command-line tools for programming FPGAs, microcontrollers and PROMs via JTAG"; + homepage = http://xc3sprog.sourceforge.net/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b16942e4f40a..1169d3db088c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3812,6 +3812,8 @@ let valkyrie = callPackage ../development/tools/analysis/valkyrie { }; + xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; + xxdiff = callPackage ../development/tools/misc/xxdiff { }; yacc = bison; From 78f7baf3b70874668763059ece96bae6cf68d0b4 Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Thu, 24 Oct 2013 18:08:48 +0200 Subject: [PATCH 155/157] Fix .deepOverride on poppler, glib By moving the default derivation into callPackage call, close #1115. --- pkgs/development/libraries/dbus/default.nix | 6 ++++-- pkgs/development/libraries/poppler/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 6 ++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index b47e3c4a0e07..8ec47f86e343 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -77,7 +77,8 @@ let }); -in rec { + attrs = rec { + # If you change much fix indentation # This package has been split because most applications only need dbus.lib # which serves as an interface to a *system-wide* daemon, @@ -114,4 +115,5 @@ in rec { docs = dbus_drv "docs" "doc" { postInstall = ''rm -r "$out/lib"''; }; -} +}; +in attrs.libs // attrs diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 6b8fb898d90d..9cd094855d24 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -54,7 +54,6 @@ let }; } merge ]); # poppler_drv -in rec { /* We always use cairo in poppler, so we always depend on glib, so we always build the glib wrapper (~350kB). We also always build the cpp wrapper (<100kB). @@ -69,4 +68,5 @@ in rec { NIX_LDFLAGS = "-lpoppler"; postConfigure = "cd qt4"; }; -} + +in { inherit poppler_glib poppler_qt4; } // poppler_glib diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1169d3db088c..312657d466e5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4008,8 +4008,7 @@ let db48 = callPackage ../development/libraries/db4/db4-4.8.nix { }; - dbus = let dbus_all = callPackage ../development/libraries/dbus { }; - in dbus_all.libs // dbus_all; # previously dbus.libs also contained the daemon + dbus = callPackage ../development/libraries/dbus { }; dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; dbus_glib = callPackage ../development/libraries/dbus-glib { }; dbus_java = callPackage ../development/libraries/java/dbus-java { }; @@ -5394,8 +5393,7 @@ let policykit = callPackage ../development/libraries/policykit { }; - poppler = let popplers = callPackage ../development/libraries/poppler { lcms = lcms2; }; - in popplers // popplers.poppler_glib; + poppler = callPackage ../development/libraries/poppler { lcms = lcms2; }; popplerQt4 = poppler.poppler_qt4; poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix { From 500eb7a26259f7f822a3e2f1e1731f6352f43b21 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 26 Oct 2013 17:34:25 +0200 Subject: [PATCH 156/157] haskell-packages.nix: fix caseInsensitive attribute --- pkgs/top-level/haskell-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 40fc775317cd..5b2a0a661731 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -680,7 +680,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {}; caseInsensitive_1_1_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.1.nix {}; - caseInsensitive = self.caseInsensitive_1_1; + caseInsensitive = self.caseInsensitive_1_1_0_1; cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; From cbacc46e4570afaa1f9d6ca99bb3d6134d6b8c26 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 26 Oct 2013 18:17:04 +0200 Subject: [PATCH 157/157] haskell-hslua: remove support for linking the system's lua library This feature is broken: . --- pkgs/development/libraries/haskell/hslua/default.nix | 4 +--- pkgs/top-level/haskell-packages.nix | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/hslua/default.nix b/pkgs/development/libraries/haskell/hslua/default.nix index ebccbf963fed..117400952841 100644 --- a/pkgs/development/libraries/haskell/hslua/default.nix +++ b/pkgs/development/libraries/haskell/hslua/default.nix @@ -1,12 +1,10 @@ -{ cabal, lua, mtl }: +{ cabal, mtl }: cabal.mkDerivation (self: { pname = "hslua"; version = "0.3.7"; sha256 = "1q5s2b7x9idvdvp31yl86mmy476gfq6rg8f0r8faqxrm45jwgv2q"; buildDepends = [ mtl ]; - pkgconfigDepends = [ lua ]; - configureFlags = "-fsystem-lua"; meta = { description = "A Lua language interpreter embedding in Haskell"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5b2a0a661731..a7c5a8565a16 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1261,9 +1261,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hsemail = callPackage ../development/libraries/haskell/hsemail {}; - hslua = callPackage ../development/libraries/haskell/hslua { - lua = pkgs.lua5_1; - }; + hslua = callPackage ../development/libraries/haskell/hslua {}; HSH = callPackage ../development/libraries/haskell/HSH {};