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 dd0cbc4eb4e..e1c58acef44 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 de8e1d1df1d..cb534cfbf31 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 9b9e7ab9680..c81bb23ccce 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 e1c58acef44..d8a7a23d50d 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 00000000000..9632e592631 --- /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 1b2432401de..265afb3618c 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 00000000000..fb36125b3a1 --- /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 00000000000..7422654ec98 --- /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 00000000000..f730ad017b1 --- /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 00000000000..b7d05ddd0ef --- /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 00000000000..1128381238b --- /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 00000000000..dcac4f17928 --- /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 6cfc5820453..23d218e7654 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 00000000000..b740fc026d9 --- /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 00000000000..0a87eaa944c --- /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 3bfa1e815ee..9ff6461998a 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 b740fc026d9..52c3830c22a 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 00000000000..c11bb7536be --- /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 9ff6461998a..4ed374ef825 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 d1e2a8b7883..de3e5c98d36 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 4ed374ef825..425adf2be43 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 f20ef9544a2..d0aebb87261 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 0b3734ea147..72282ad0f3e 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 96c58ef8e9c..ae49890caf3 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 16d45126de1..0c971f1b712 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 19afa55d7fe..f75b62b219a 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 73533104ca9..d642c139f6e 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 425adf2be43..2790b179684 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 d642c139f6e..5bda5b1f263 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 2790b179684..8633e9fe740 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 8633e9fe740..6fe6ee466ca 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 b120ebcac54..02fbbf7e116 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 02fbbf7e116..0421a8a6c6a 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 6a3320669a5..6531895d8a7 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 b835907c82f..06dbdc215a5 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 00000000000..fea52fa5608 --- /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 00000000000..856f3d73011 --- /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 d7da0f658e2..4f16ab35527 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 00000000000..78eac728305 --- /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 7856183e5e9..35adb460041 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 00000000000..eae48197439 --- /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 6fe6ee466ca..5deb63fc8f9 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 d456794a563..aecf645eb81 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 00000000000..44689cd5d62 --- /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 00000000000..db0c0fd9680 --- /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 00000000000..f2bf2bdd31b --- /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 00000000000..905a639c31e --- /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 5deb63fc8f9..a27dcb9bbee 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 651a84726af..90132272dd1 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 cca368f619a..2f318f18d54 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 24612de549e..f903ef5792f 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 00000000000..6402b5c69d8 --- /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 00000000000..45cb775a0ae --- /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 21749465d9b..4dc3958ddaf 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 de62b4a669a..3eda4e8d88d 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 3eda4e8d88d..ac1fc7395ae 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 4dc3958ddaf..851deff3a3c 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 265afb3618c..088dbc859ec 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 7ff1acb062b..c90099f495a 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 d36956d1375..35e70a4b0d7 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 46aa6e4d77e..02b7b9987bd 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 0d40df40574..13248753105 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 c615573ae3e..48b49ee3583 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 63c585b00a9..3978d96400c 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 7681c8153db..d905d078d40 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 7e73bfad540..45411263876 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 4e6ef5af00d..789cb47932b 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 6b04fe17268..b26120bcb5c 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 23b516e32e4..6fd1ae97d96 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 7cae84a19c7..9d4168b2d7d 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 3c75af4bcf3..2638594903a 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 f2bf2bdd31b..670c9608344 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 088dbc859ec..d9f1e96b1d2 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 789cb47932b..02ce076ce0f 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 b26120bcb5c..3159bae1826 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 00000000000..cfb76d2ff9b --- /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 00000000000..ef83c58e460 --- /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 851deff3a3c..f71b6a0be04 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 351f1d83477..b78096a1835 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 4960e16202e..dd400ef550d 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 e1e7ac54d4c..41024c6b7d2 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 14b9f8d7081..cdfe320a060 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 37ef38da4e2..a3896b4b8c6 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 fea52fa5608..c2299cfefef 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 0c971f1b712..ce5776c8e46 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 00000000000..66ae1c0d87f --- /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 8e77d07e5c5..28390aa38da 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 55517c5e1e5..b13a72f3f64 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 00000000000..23aae157f09 --- /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 00000000000..f2d6b89e51b --- /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 f71b6a0be04..66417c3a6af 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 af4363f9217..b17b8490a0b 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 461dc0c1f6e..8b2c0bd510e 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 35adb460041..da9e1dc3148 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 e93c49d1cce..b0b1da71184 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 3068fa5cb94..d274cfc6908 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 7d6634bf093..dfbd865b505 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 dfdc4db65d5..ad6889ce142 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 712cd32d9c3..c01342511cc 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 00000000000..cda5dba32e0 --- /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 00000000000..9bb735ecbed --- /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 66417c3a6af..fe87160c718 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 02ba680255b..e391da5c572 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 fc6b5b167b8..1c43dad1d50 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 8b2c0bd510e..febe9ce9e42 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 febe9ce9e42..60ff4ab7b83 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 60ff4ab7b83..74c6d5efc0b 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 74c6d5efc0b..6f1ddd226e1 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 00000000000..9c1f7fd24ae --- /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 00000000000..b5913798a88 --- /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 e23f341c28a..e3616df7680 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 fe87160c718..6e379079dd8 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 aca0d58900b..213320d5c54 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 ac2dc7f8cda..1c0dc0cbfe9 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 5d126f0c29b..6752d1c03b5 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 a1959eedba2..2a669729a9c 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 ff99b428cef..8bec0f7b1a9 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 00000000000..b3a29a1e1c7 --- /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 6e379079dd8..a5c1fd11016 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 c81bb23ccce..71183d0ea2a 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 0b1003a7392..f8aff33a327 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 00000000000..b9507d7777a --- /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 abd8522b1bc..cd46ff9ff04 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 00000000000..394defdb19a --- /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 a5c1fd11016..44562a165ff 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 0dcb585e12e..18e263dae67 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 fff7a0cfad5..62e5b8e49c2 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 00000000000..bf7f974edc7 --- /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 5218df77595..fdcdd4770d0 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 f4d264c0d8f..deda180c883 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 deda180c883..31cdbf9c6ce 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 31cdbf9c6ce..1b97270bbf2 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 1b97270bbf2..f9a9ebb3704 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 f9a9ebb3704..615ee6a93cc 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 6846607d61d..f9a8d075241 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 44562a165ff..0f03e3482bb 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 15b49a2a99e..1b3454c8ce5 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 996770d2fcc..59a0e615646 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 59a0e615646..6a023f8f620 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 6a023f8f620..0ee5377b191 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 0ee5377b191..ce35832d78c 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 c4841c50d94..c6c294d5504 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 4e911bc3345..99589a3d71b 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 ce35832d78c..0296c434d6f 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 c2299cfefef..42d5f61af30 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 ff69d8d9170..0771753f689 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 3418b0122de..03ee0041a5f 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 03ee0041a5f..a4d22410806 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 0771753f689..e4fba4a40a9 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 a4d22410806..c6ac72e113b 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 72282ad0f3e..c01d67943e5 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 6b747bc1a2b..d655210c90e 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 8752f54647f..1386e1609eb 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 b68558cf914..feeeaed3be5 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 56ad652c60e..c887e7f0317 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 e65be03afac..e640592a97e 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 dc017563217..ff3c844030b 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 a91115287e4..20ffc61c1ad 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 c887e7f0317..02732949b7c 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 e640592a97e..0610ad54da3 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 9cd58550adc..7ded9785bc1 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 1b519d3e6ee..14437228c74 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 32157e41985..a04914bedaf 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 20ffc61c1ad..efb32efc635 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 02732949b7c..7aa59ffdf5d 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 27b6f01c71f..7ddca7a5212 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 7ddca7a5212..3e3f6dd10c1 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 efb32efc635..b6a88008bb7 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 7ded9785bc1..229f8f27860 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 72ba66cdbac..cd543c958ff 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 3e3f6dd10c1..ca3bdc08a8d 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 c7c1f675c77..48d16b1c520 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 29f5eb4fd77..ba357f5d2de 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 ca3bdc08a8d..ac3da119fe6 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 ac3da119fe6..1d19fe6da76 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 7aa59ffdf5d..52dda551f1e 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 adc6c93c722..c799eecc0c1 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 c799eecc0c1..73c905fbca1 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 52dda551f1e..a46ec06dac0 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 df73e62fc94..9c8849e525b 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 663c2cc4505..8be05a27cdc 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 46148d68f4c..fe8b29e3c6b 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 05e0aba7d70..75950f55a27 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 c85c9307e3e..f5670ccdcbf 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 48d16b1c520..97ea6100d71 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 8baaa25d303..6f6c52a1b0d 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 97ea6100d71..955235da70f 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 dea82ee077e..033269e6b60 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 578686ae366..262a529b2b6 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 a46ec06dac0..3e075529be8 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 14437228c74..489fcaeb989 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 1260272b68e..c522868c1d9 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 e19403eccb6..d6135a6e1e9 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 c6ac72e113b..0f9142990ec 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 00000000000..c7bbf3892d2 --- /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 0f03e3482bb..42bcd320255 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 52dab153094..280143d4e3f 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 00000000000..b1aa03991bd --- /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 42bcd320255..54e7359722a 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 856d9afe0f9..d9852971adf 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 14b44801e76..313eec0bc7d 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 19e5081009d..c128b9af9d8 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 acd10e7bf57..f914947e784 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 d37ca172479..47393b0ae74 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 489fcaeb989..2a0b95ebeb6 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 679c4979dfa..8052502c21e 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 d6135a6e1e9..8e87fbf8e5f 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 2a0b95ebeb6..5ab24686152 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 c522868c1d9..a593d05ee62 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 8e87fbf8e5f..07cc20eb1e5 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 3e075529be8..db3245fcc07 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 a548a9f13bd..7bdc8d1aefb 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 fb3a9d27101..4f63796850a 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 abd8522b1bc..77cfef94705 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 00000000000..f45b7b4a6a0 --- /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 77cfef94705..c6cec9d4b01 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 00000000000..8fc147191ad --- /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 c6cec9d4b01..bf17d70a7e8 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 00000000000..7abdc9b4730 --- /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 bf17d70a7e8..40fc775317c 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 2c851ebbf3f..17b173a3334 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 7ee64f4254e..e2f78497a7a 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 ac59d470145..12657a63b4c 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 c3149c4a2e2..b5ccc95bd3f 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 1b290bd310b..ca177a80a10 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 a3896b4b8c6..2160d22607b 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 130402ec75b..f7a2b731d03 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 1ef60e7950d..f7d67f4be66 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 07cc20eb1e5..866a992f79a 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 4f271bcd623..adb2a456b88 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 5ec32376b60..64bf2508316 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 213320d5c54..75c225bdb67 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 00000000000..ae0c6419eb6 --- /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 54e7359722a..f7e3c28e3d7 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 00000000000..02d26f66001 --- /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 f7e3c28e3d7..2db6017d7e7 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 00000000000..36c40f9bec5 --- /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 2db6017d7e7..b16942e4f40 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 ae0c6419eb6..074fc4f334f 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 00000000000..52471c30fd0 --- /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 b16942e4f40..1169d3db088 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 b47e3c4a0e0..8ec47f86e34 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 6b8fb898d90..9cd094855d2 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 1169d3db088..312657d466e 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 40fc775317c..5b2a0a66173 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 ebccbf963fe..11740095284 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 5b2a0a66173..a7c5a8565a1 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 {};