lol

Merge remote-tracking branch 'origin/master' into stdenv-updates.

Conflicts:
pkgs/top-level/all-packages.nix

+2790 -837
+2
lib/default.nix
··· 22 22 in 23 23 { inherit trivial lists strings stringsWithDeps attrsets sources options 24 24 properties modules types meta debug maintainers licenses platforms systems; 25 + # Pull in some builtins not included elsewhere. 26 + inherit (builtins) pathExists readFile; 25 27 } 26 28 # !!! don't include everything at top-level; perhaps only the most 27 29 # commonly used functions.
+6
lib/licenses.nix
··· 186 186 url = http://www.mozilla.org/MPL/MPL-1.1.html; 187 187 }; 188 188 189 + mpl20 = { 190 + shortName = "MPL2.0"; 191 + fullName = "Mozilla Public License version 2.0"; 192 + url = https://www.mozilla.org/MPL/2.0; 193 + }; 194 + 189 195 openssl = { 190 196 shortName = "openssl"; 191 197 fullName = "OpenSSL license";
+2 -2
lib/lists.nix
··· 1 1 # General list operations. 2 2 let 3 + 3 4 inherit (import ./trivial.nix) deepSeq; 4 5 5 6 inc = builtins.add 1; 6 7 7 8 dec = n: builtins.sub n 1; 8 9 9 - inherit (builtins) elemAt; 10 10 in rec { 11 - inherit (builtins) head tail length isList add sub lessThan; 11 + inherit (builtins) head tail length isList add sub lessThan elemAt; 12 12 13 13 14 14 # Create a list consisting of a single element. `singleton x' is
+1 -3
lib/misc.nix
··· 206 206 in 207 207 work startSet [] []; 208 208 209 - genericClosure = 210 - if builtins ? genericClosure then builtins.genericClosure 211 - else lazyGenericClosure; 209 + genericClosure = builtins.genericClosure or lazyGenericClosure; 212 210 213 211 innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 214 212 innerModifySumArgs f x (a // b);
+1 -2
lib/modules.nix
··· 185 185 ) funs; 186 186 187 187 188 - moduleMerge = path: modules: 189 - let modules_ = modules; in 188 + moduleMerge = path: modules_: 190 189 let 191 190 addName = name: 192 191 if path == "" then name else path + "." + name;
+5 -6
lib/options.nix
··· 11 11 12 12 rec { 13 13 14 - inherit (lib) isType; 15 - 16 - 17 - isOption = isType "option"; 14 + isOption = lib.isType "option"; 18 15 mkOption = attrs: attrs // { 19 16 _type = "option"; 20 17 # name (this is the name of the attributem it is automatically generated by the traversal) ··· 66 63 if all opt.check list then 67 64 opt.merge list 68 65 else 69 - throw "One of option ${name} values has a bad type."; 66 + throw "A value of the option `${name}' has a bad type."; 70 67 } 71 68 else opt; 72 69 ··· 77 74 if opt.check opt.default then 78 75 opt.default 79 76 else 80 - throw "The default value of option ${name} has a bad type."; 77 + throw "The default value of the option `${name}' has a bad type."; 81 78 } 82 79 else opt; 83 80 ··· 275 272 description = opt.description or (throw "Option ${opt.name}: No description."); 276 273 declarations = map (x: toString x.source) opt.declarations; 277 274 #definitions = map (x: toString x.source) opt.definitions; 275 + internal = opt.internal or false; 276 + visible = opt.visible or true; 278 277 } 279 278 // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } 280 279 // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
+1
nixos/.topmsg
··· 1 + improvements to vsftpd module
+9
nixos/doc/manual/configuration.xml
··· 13 13 14 14 <!--===============================================================--> 15 15 16 + <section xml:id="sec-configuration-syntax"><title>Configuration syntax</title> 17 + 18 + <para>TODO</para> 19 + 20 + </section> 21 + 22 + 23 + <!--===============================================================--> 24 + 16 25 <section><title>Package management</title> 17 26 18 27 <para>This section describes how to add additional packages to your
+29 -11
nixos/doc/manual/default.nix
··· 1 1 { pkgs, options 2 - # revision can have multiple values: local, HEAD or any revision number. 3 - , revision ? "HEAD" 2 + , revision ? "master" 4 3 }: 5 4 6 5 with pkgs.lib; 7 6 8 7 let 9 8 10 - # To prevent infinite recursion, remove system.path from the 11 - # options. Not sure why this happens. 12 - options_ = 13 - options // 14 - { system = removeAttrs options.system ["path"]; }; 9 + # Remove invisible and internal options. 10 + options' = filter (opt: opt.visible && !opt.internal) (optionAttrSetToDocList options); 15 11 16 - optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext 17 - (builtins.toXML (optionAttrSetToDocList options_))); 12 + # Clean up declaration sites to not refer to the NixOS source tree. 13 + options'' = flip map options' (opt: opt // { 14 + declarations = map (fn: stripPrefix fn) opt.declarations; 15 + }); 16 + 17 + prefix = toString pkgs.path; 18 + 19 + stripPrefix = fn: 20 + if substring 0 (stringLength prefix) fn == prefix then 21 + substring (add (stringLength prefix) 1) 1000 fn 22 + else 23 + fn; 24 + 25 + optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options'')); 18 26 19 27 optionsDocBook = pkgs.runCommand "options-db.xml" {} '' 28 + if grep /nixpkgs/nixos/modules ${optionsXML}; then 29 + echo "The manual appears to depend on the location of Nixpkgs, which is bad" 30 + echo "since this prevents sharing via the NixOS channel. This is typically" 31 + echo "caused by an option default that refers to a relative path (see above" 32 + echo "for hints about the offending path)." 33 + exit 1 34 + fi 20 35 ${pkgs.libxslt}/bin/xsltproc \ 21 36 --stringparam revision '${revision}' \ 22 37 -o $out ${./options-to-docbook.xsl} ${optionsXML} ··· 64 79 65 80 cp ${./style.css} $dst/style.css 66 81 67 - ensureDir $out/nix-support 82 + mkdir -p $out/nix-support 83 + echo "nix-build out $out" >> $out/nix-support/hydra-build-products 68 84 echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products 69 85 ''; # */ 86 + 87 + meta.description = "The NixOS manual in HTML format"; 70 88 }; 71 89 72 90 # Generate the NixOS manpages. ··· 87 105 ./man-pages.xml 88 106 89 107 # Generate manpages. 90 - ensureDir $out/share/man 108 + mkdir -p $out/share/man 91 109 xsltproc --nonet --xinclude \ 92 110 --param man.output.in.separate.dir 1 \ 93 111 --param man.output.base.dir "'$out/share/man/'" \
+58 -28
nixos/doc/manual/installation.xml
··· 44 44 <listitem><para>The NixOS manual is available on virtual console 8 45 45 (press Alt+F8 to access).</para></listitem> 46 46 47 - <listitem><para>Login as <literal>root</literal>, empty 47 + <listitem><para>Login as <literal>root</literal> and the empty 48 48 password.</para></listitem> 49 49 50 50 <listitem><para>If you downloaded the graphical ISO image, you can ··· 89 89 </para></listitem> 90 90 91 91 <listitem><para>Mount the target file system on which NixOS should 92 - be installed on <filename>/mnt</filename>.</para></listitem> 92 + be installed on <filename>/mnt</filename>, e.g. 93 + 94 + <screen> 95 + $ mount /dev/disk/by-label/nixos /mnt 96 + </screen> 97 + 98 + </para></listitem> 93 99 94 100 <listitem> 95 101 ··· 97 103 <filename>/mnt/etc/nixos/configuration.nix</filename> that 98 104 specifies the intended configuration of the system. This is 99 105 because NixOS has a <emphasis>declarative</emphasis> configuration 100 - model: you create or edit a description of the configuration that 101 - you want to be built and activated, and then NixOS takes care of 102 - realising that configuration. The command 103 - <command>nixos-option</command> can generate an initial 104 - configuration file for you: 106 + model: you create or edit a description of the desired 107 + configuration of your system, and then NixOS takes care of making 108 + it happen. The syntax of the NixOS configuration file is 109 + described in <xref linkend="sec-configuration-syntax"/>, while a 110 + list of available configuration options appears in <xref 111 + linkend="ch-options"/>. A minimal example is shown in <xref 112 + linkend="ex-config"/>.</para> 113 + 114 + <para>The command <command>nixos-generate-config</command> can 115 + generate an initial configuration file for you: 105 116 106 117 <screen> 107 - $ nixos-option --install</screen> 108 - 109 - It tries to figure out the kernel modules necessary for mounting 110 - the root device, as well as various other hardware 111 - characteristics. However, it doesn’t try to figure out the 112 - <option>fileSystems</option> option yet.</para> 118 + $ nixos-generate-config --root /mnt</screen> 113 119 114 - <para>You should edit 120 + You should then edit 115 121 <filename>/mnt/etc/nixos/configuration.nix</filename> to suit your 116 - needs. The text editors <command>nano</command> and 117 - <command>vim</command> are available.</para> 122 + needs: 118 123 119 - <para>You need to specify a root file system in 120 - <option>fileSystems</option> and the target device for the Grub boot 121 - loader in <option>boot.loader.grub.device</option>. See 122 - <xref linkend="ch-options"/> for a list of the available configuration 123 - options.</para> 124 + <screen> 125 + $ nano /mnt/etc/nixos/configuration.nix 126 + </screen> 124 127 125 - <note><para>It is very important that you specify in the option 126 - <option>boot.initrd.kernelModules</option> all kernel modules that 127 - are necessary for mounting the root file system, otherwise the 128 - installed system will not be able to boot. (If this happens, boot 129 - from the CD again, mount the target file system on 128 + The <command>vim</command> text editor is also available.</para> 129 + 130 + <para>You <emphasis>must</emphasis> set the option 131 + <option>boot.loader.grub.device</option> to specify on which disk 132 + the GRUB boot loader is to be installed. Without it, NixOS cannot 133 + boot.</para> 134 + 135 + <para>Another critical option is <option>fileSystems</option>, 136 + specifying the file systems that need to be mounted by NixOS. 137 + However, you typically don’t need to set it yourself, because 138 + <command>nixos-generate-config</command> sets it automatically in 139 + <filename>/mnt/etc/nixos/hardware-configuration.nix</filename> 140 + from your currently mounted file systems. (The configuration file 141 + <filename>hardware-configuration.nix</filename> is included from 142 + <filename>configuration.nix</filename> and will be overwritten by 143 + future invocations of <command>nixos-generate-config</command>; 144 + thus, you generally should not modify it.)</para> 145 + 146 + <note><para>Depending on your hardware configuration or type of 147 + file system, you may need to set the option 148 + <option>boot.initrd.kernelModules</option> to include the kernel 149 + modules that are necessary for mounting the root file system, 150 + otherwise the installed system will not be able to boot. (If this 151 + happens, boot from the CD again, mount the target file system on 130 152 <filename>/mnt</filename>, fix 131 153 <filename>/mnt/etc/nixos/configuration.nix</filename> and rerun 132 154 <filename>nixos-install</filename>.) In most cases, 133 - <command>nixos-option --install</command> will figure out the 155 + <command>nixos-generate-config</command> will figure out the 134 156 required modules.</para></note> 135 157 136 158 <para>Examples of real-world NixOS configuration files can be ··· 218 240 $ mkfs.ext4 -L nixos /dev/sda1 <lineannotation>(idem)</lineannotation> 219 241 $ mkswap -L swap /dev/sda2 <lineannotation>(idem)</lineannotation> 220 242 $ mount LABEL=nixos /mnt 221 - $ nixos-option --install 243 + $ nixos-generate-config 222 244 $ nano /mnt/etc/nixos/configuration.nix 223 245 <lineannotation>(in particular, set the fileSystems and swapDevices options)</lineannotation> 224 246 $ nixos-install ··· 228 250 <example xml:id='ex-config'><title>NixOS configuration</title> 229 251 <screen> 230 252 { 253 + imports = 254 + [ # Include the results of the hardware scan. 255 + ./hardware-configuration.nix 256 + ]; 257 + 231 258 boot.loader.grub.device = "/dev/sda"; 232 259 260 + # Note: setting fileSystems and swapDevices is generally not 261 + # necessary, since nixos-generate-config has set them automatically 262 + # in hardware-configuration.nix. 233 263 fileSystems."/".device = "/dev/disk/by-label/nixos"; 234 264 235 265 swapDevices =
+17
nixos/doc/manual/man-nixos-generate-config.xml
··· 110 110 </listitem> 111 111 </varlistentry> 112 112 113 + <varlistentry> 114 + <term><option>--no-filesystems</option></term> 115 + <listitem> 116 + <para>Omit everything concerning file system information 117 + (which includes swap devices) from the hardware configuration.</para> 118 + </listitem> 119 + </varlistentry> 120 + 121 + <varlistentry> 122 + <term><option>--show-hardware-config</option></term> 123 + <listitem> 124 + <para>Don't generate <filename>configuration.nix</filename> or 125 + <filename>hardware-configuration.nix</filename> and print the 126 + hardware configuration to stdout only.</para> 127 + </listitem> 128 + </varlistentry> 129 + 113 130 </variablelist> 114 131 115 132 </refsection>
+2 -2
nixos/doc/manual/manual.xml
··· 42 42 xlink:href="irc://irc.freenode.net/#nixos"> 43 43 <literal>#nixos</literal> channel on Freenode</link>. Bugs should 44 44 be reported in <link 45 - xlink:href="https://github.com/NixOS/nixos/issues">NixOS’ GitHub 45 + xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’ GitHub 46 46 issue tracker</link>.</para> 47 47 48 48 </preface> ··· 55 55 <xi:include href="troubleshooting.xml" /> 56 56 <xi:include href="development.xml" /> 57 57 <chapter xml:id="ch-options"> 58 - <title>List of Options</title> 58 + <title>List of options</title> 59 59 <xi:include href="options-db.xml" /> 60 60 </chapter> 61 61
+16 -4
nixos/doc/manual/options-to-docbook.xsl
··· 125 125 </xsl:template> 126 126 127 127 128 + <xsl:template match="attrs[attr[@name = '_type' and string[@value = 'literalExample']]]"> 129 + <xsl:value-of select="attr[@name = 'text']/string/@value" /> 130 + </xsl:template> 131 + 132 + 128 133 <xsl:template match="attrs"> 129 134 { 130 135 <xsl:for-each select="attr"> ··· 155 160 repository (if it’s a module and we have a revision number), 156 161 or to the local filesystem. --> 157 162 <xsl:choose> 158 - <xsl:when test="$revision != 'local' and contains(@value, '/modules/')"> 159 - <xsl:attribute name="xlink:href">https://github.com/NixOS/nixos/blob/<xsl:value-of select="$revision"/>/modules/<xsl:value-of select="substring-after(@value, '/modules/')"/></xsl:attribute> 163 + <xsl:when test="not(starts-with(@value, '/'))"> 164 + <xsl:choose> 165 + <xsl:when test="$revision = 'local'"> 166 + <xsl:attribute name="xlink:href">https://github.com/NixOS/nixpkgs/blob/master/<xsl:value-of select="@value"/></xsl:attribute> 167 + </xsl:when> 168 + <xsl:otherwise> 169 + <xsl:attribute name="xlink:href">https://github.com/NixOS/nixpkgs/blob/<xsl:value-of select="$revision"/>/<xsl:value-of select="@value"/></xsl:attribute> 170 + </xsl:otherwise> 171 + </xsl:choose> 160 172 </xsl:when> 161 173 <xsl:when test="$revision != 'local' and contains(@value, 'nixops') and contains(@value, '/nix/')"> 162 174 <xsl:attribute name="xlink:href">https://github.com/NixOS/nixops/blob/<xsl:value-of select="$revision"/>/nix/<xsl:value-of select="substring-after(@value, '/nix/')"/></xsl:attribute> ··· 169 181 /nix/store/<hash> prefix by the default location of nixos 170 182 sources. --> 171 183 <xsl:choose> 172 - <xsl:when test="contains(@value, '/modules/')"> 173 - &lt;nixos/modules/<xsl:value-of select="substring-after(@value, '/modules/')"/>&gt; 184 + <xsl:when test="not(starts-with(@value, '/'))"> 185 + &lt;nixpkgs/<xsl:value-of select="@value"/>&gt; 174 186 </xsl:when> 175 187 <xsl:when test="contains(@value, 'nixops') and contains(@value, '/nix/')"> 176 188 &lt;nixops/<xsl:value-of select="substring-after(@value, '/nix/')"/>&gt;
+1 -2
nixos/lib/eval-config.nix
··· 66 66 # Optionally check wether all config values have corresponding 67 67 # option declarations. 68 68 config = 69 - let doCheck = optionDefinitions.environment.checkConfigurationOptions; in 70 - assert doCheck -> pkgs.lib.checkModule "" systemModule; 69 + assert optionDefinitions.environment.checkConfigurationOptions -> pkgs.lib.checkModule "" systemModule; 71 70 systemModule.config; 72 71 }
+23 -26
nixos/modules/config/system-path.nix
··· 7 7 8 8 let 9 9 10 - cfg = config.environment; 11 - 12 10 extraManpages = pkgs.runCommand "extra-manpages" { buildInputs = [ pkgs.help2man ]; } 13 11 '' 14 12 mkdir -p $out/share/man/man1 ··· 87 85 system = { 88 86 89 87 path = mkOption { 90 - default = cfg.systemPackages; 88 + internal = true; 91 89 description = '' 92 90 The packages you want in the boot environment. 93 91 ''; 94 - 95 - apply = list: pkgs.buildEnv { 96 - name = "system-path"; 97 - paths = list; 98 - inherit (cfg) pathsToLink; 99 - ignoreCollisions = true; 100 - # !!! Hacky, should modularise. 101 - postBuild = 102 - '' 103 - if [ -x $out/bin/update-mime-database -a -w $out/share/mime/packages ]; then 104 - $out/bin/update-mime-database -V $out/share/mime 105 - fi 106 - 107 - if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then 108 - $out/bin/gtk-update-icon-cache $out/share/icons/hicolor 109 - fi 110 - 111 - if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then 112 - $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas 113 - fi 114 - ''; 115 - }; 116 - 117 92 }; 118 93 119 94 }; ··· 137 112 "/share/terminfo" 138 113 "/share/man" 139 114 ]; 115 + 116 + system.path = pkgs.buildEnv { 117 + name = "system-path"; 118 + paths = config.environment.systemPackages; 119 + inherit (config.environment) pathsToLink; 120 + ignoreCollisions = true; 121 + # !!! Hacky, should modularise. 122 + postBuild = 123 + '' 124 + if [ -x $out/bin/update-mime-database -a -w $out/share/mime/packages ]; then 125 + $out/bin/update-mime-database -V $out/share/mime 126 + fi 127 + 128 + if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then 129 + $out/bin/gtk-update-icon-cache $out/share/icons/hicolor 130 + fi 131 + 132 + if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then 133 + $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas 134 + fi 135 + ''; 136 + }; 140 137 141 138 }; 142 139 }
+39 -41
nixos/modules/installer/tools/nixos-generate-config.pl
··· 23 23 my $outDir = "/etc/nixos"; 24 24 my $rootDir = ""; # = / 25 25 my $force = 0; 26 + my $noFilesystems = 0; 27 + my $showHardwareConfig = 0; 26 28 27 29 for (my $n = 0; $n < scalar @ARGV; $n++) { 28 30 my $arg = $ARGV[$n]; ··· 42 44 } 43 45 elsif ($arg eq "--force") { 44 46 $force = 1; 47 + } 48 + elsif ($arg eq "--no-filesystems") { 49 + $noFilesystems = 1; 50 + } 51 + elsif ($arg eq "--show-hardware-config") { 52 + $showHardwareConfig = 1; 45 53 } 46 54 else { 47 55 die "$0: unrecognized argument ‘$arg’\n"; ··· 332 340 my $kernelModules = toNixExpr(uniq @kernelModules); 333 341 my $modulePackages = toNixExpr(uniq @modulePackages); 334 342 335 - $outDir = "$rootDir$outDir"; 336 - 337 - my $fn = "$outDir/hardware-configuration.nix"; 338 - print STDERR "writing $fn...\n"; 339 - mkpath($outDir, 0, 0755); 343 + my $fsAndSwap = ""; 344 + if (!$noFilesystems) { 345 + $fsAndSwap = "\n${fileSystems} "; 346 + $fsAndSwap .= "swapDevices =" . multiLineList(" ", @swapDevices) . ";\n"; 347 + } 340 348 341 - write_file($fn, <<EOF); 349 + my $hwConfig = <<EOF; 342 350 # Do not modify this file! It was generated by ‘nixos-generate-config’ 343 351 # and may be overwritten by future invocations. Please make changes 344 352 # to /etc/nixos/configuration.nix instead. 345 353 { config, pkgs, ... }: 346 354 347 355 { 348 - imports = ${\multiLineList(" ", @imports)}; 356 + imports =${\multiLineList(" ", @imports)}; 349 357 350 358 boot.initrd.availableKernelModules = [$initrdAvailableKernelModules ]; 351 359 boot.kernelModules = [$kernelModules ]; 352 360 boot.extraModulePackages = [$modulePackages ]; 353 - 354 - ${fileSystems} swapDevices = ${\multiLineList(" ", @swapDevices)}; 355 - 361 + $fsAndSwap 356 362 nix.maxJobs = $cpus; 357 363 ${\join "", (map { " $_\n" } (uniq @attrs))}} 358 364 EOF 359 365 360 366 361 - # Generate a basic configuration.nix, unless one already exists. 362 - $fn = "$outDir/configuration.nix"; 363 - if ($force || ! -e $fn) { 367 + if ($showHardwareConfig) { 368 + print STDOUT $hwConfig; 369 + } else { 370 + $outDir = "$rootDir$outDir"; 371 + 372 + my $fn = "$outDir/hardware-configuration.nix"; 364 373 print STDERR "writing $fn...\n"; 374 + mkpath($outDir, 0, 0755); 375 + write_file($fn, $hwConfig); 365 376 366 - my $bootloaderConfig; 367 - if (-e "/sys/firmware/efi/efivars") { 368 - $bootLoaderConfig = <<EOF; 377 + # Generate a basic configuration.nix, unless one already exists. 378 + $fn = "$outDir/configuration.nix"; 379 + if ($force || ! -e $fn) { 380 + print STDERR "writing $fn...\n"; 381 + 382 + my $bootloaderConfig; 383 + if (-e "/sys/firmware/efi/efivars") { 384 + $bootLoaderConfig = <<EOF; 369 385 # Use the gummiboot efi boot loader. 370 386 boot.loader.grub.enable = false; 371 387 boot.loader.gummiboot.enable = true; ··· 374 390 # EFI booting requires kernel >= 3.10 375 391 boot.kernelPackages = pkgs.linuxPackages_3_10; 376 392 EOF 377 - } else { 378 - $bootLoaderConfig = <<EOF; 393 + } else { 394 + $bootLoaderConfig = <<EOF; 379 395 # Use the GRUB 2 boot loader. 380 396 boot.loader.grub.enable = true; 381 397 boot.loader.grub.version = 2; 382 398 # Define on which hard drive you want to install Grub. 383 399 # boot.loader.grub.device = "/dev/sda"; 384 400 EOF 385 - } 401 + } 386 402 387 - write_file($fn, <<EOF); 403 + write_file($fn, <<EOF); 388 404 # Edit this configuration file to define what should be installed on 389 405 # your system. Help is available in the configuration.nix(5) man page 390 406 # and in the NixOS manual (accessible by running ‘nixos-help’). ··· 397 413 ./hardware-configuration.nix 398 414 ]; 399 415 400 - boot.initrd.kernelModules = 401 - [ # Specify all kernel modules that are necessary for mounting the root 402 - # filesystem. 403 - # "xfs" "ata_piix" 404 - # fbcon # Uncomment this when EFI booting to see the console before the root partition is mounted 405 - ]; 406 - 407 416 $bootLoaderConfig 408 417 # networking.hostName = "nixos"; # Define your hostname. 409 418 # networking.wireless.enable = true; # Enables wireless. 410 - 411 - # Add filesystem entries for each partition that you want to see 412 - # mounted at boot time. This should include at least the root 413 - # filesystem. 414 - 415 - # fileSystems."/".device = "/dev/disk/by-label/nixos"; 416 - 417 - # fileSystems."/data" = # where you want to mount the device 418 - # { device = "/dev/sdb"; # the device 419 - # fsType = "ext3"; # the type of the partition 420 - # options = "data=journal"; 421 - # }; 422 419 423 420 # Select internationalisation properties. 424 421 # i18n = { ··· 445 442 # services.xserver.desktopManager.kde4.enable = true; 446 443 } 447 444 EOF 448 - } else { 449 - print STDERR "warning: not overwriting existing $fn\n"; 445 + } else { 446 + print STDERR "warning: not overwriting existing $fn\n"; 447 + } 450 448 } 451 449 452 450 # workaround for a bug in substituteAll
+6 -6
nixos/modules/installer/tools/nixos-rebuild.sh
··· 109 109 # more conservative. 110 110 if [ "$action" != dry-run -a -n "$buildNix" ]; then 111 111 echo "building Nix..." >&2 112 - if ! nix-build '<nixos>' -A config.environment.nix -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then 113 - if ! nix-build '<nixos>' -A nixFallback -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then 112 + if ! nix-build '<nixpkgs/nixos>' -A config.environment.nix -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then 113 + if ! nix-build '<nixpkgs/nixos>' -A nixFallback -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then 114 114 nix-build '<nixpkgs>' -A nixUnstable -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null 115 115 fi 116 116 fi ··· 139 139 if [ -z "$rollback" ]; then 140 140 echo "building the system configuration..." >&2 141 141 if [ "$action" = switch -o "$action" = boot ]; then 142 - nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixos>' --set -A system 142 + nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixpkgs/nixos>' --set -A system 143 143 pathToConfig="$profile" 144 144 elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then 145 - nix-build '<nixos>' -A system -K -k "${extraBuildFlags[@]}" > /dev/null 145 + nix-build '<nixpkgs/nixos>' -A system -K -k "${extraBuildFlags[@]}" > /dev/null 146 146 pathToConfig=./result 147 147 elif [ "$action" = build-vm ]; then 148 - nix-build '<nixos>' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null 148 + nix-build '<nixpkgs/nixos>' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null 149 149 pathToConfig=./result 150 150 elif [ "$action" = build-vm-with-bootloader ]; then 151 - nix-build '<nixos>' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null 151 + nix-build '<nixpkgs/nixos>' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null 152 152 pathToConfig=./result 153 153 else 154 154 showSyntax
+18 -3
nixos/modules/misc/assertions.nix
··· 6 6 7 7 failed = map (x: x.message) (filter (x: !x.assertion) config.assertions); 8 8 9 + showWarnings = res: fold (w: x: builtins.trace "warning: ${w}" x) res config.warnings; 10 + 9 11 in 10 12 11 13 { ··· 13 15 options = { 14 16 15 17 assertions = mkOption { 18 + internal = true; 16 19 default = []; 17 20 example = [ { assertion = false; message = "you can't enable this for that reason"; } ]; 18 21 merge = pkgs.lib.mergeListOption; ··· 23 26 ''; 24 27 }; 25 28 29 + warnings = mkOption { 30 + internal = true; 31 + default = []; 32 + type = types.listOf types.string; 33 + example = [ "The `foo' service is deprecated and will go away soon!" ]; 34 + description = '' 35 + This option allows modules to show warnings to users during 36 + the evaluation of the system configuration. 37 + ''; 38 + }; 39 + 26 40 }; 27 41 28 42 config = { 29 43 30 - # This option is evaluated always. Thus the assertions are checked as well. hacky! 31 - environment.systemPackages = 44 + # This option is evaluated always. Thus the assertions are checked 45 + # as well. Hacky! 46 + environment.systemPackages = showWarnings ( 32 47 if [] == failed then [] 33 - else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"; 48 + else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"); 34 49 35 50 }; 36 51
+22 -2
nixos/modules/misc/version.nix
··· 7 7 options = { 8 8 9 9 system.nixosVersion = mkOption { 10 + internal = true; 10 11 type = types.uniq types.string; 11 12 description = "NixOS version."; 12 13 }; 13 14 14 15 system.nixosVersionSuffix = mkOption { 16 + internal = true; 15 17 type = types.uniq types.string; 16 18 description = "NixOS version suffix."; 17 19 }; 18 20 21 + system.nixosRevision = mkOption { 22 + internal = true; 23 + type = types.uniq types.string; 24 + description = "NixOS Git revision hash."; 25 + }; 26 + 19 27 system.nixosCodeName = mkOption { 28 + internal = true; 20 29 type = types.uniq types.string; 21 30 description = "NixOS release code name."; 22 31 }; 23 32 33 + system.defaultChannel = mkOption { 34 + internal = true; 35 + type = types.uniq types.string; 36 + default = https://nixos.org/channels/nixos-unstable; 37 + description = "Default NixOS channel to which the root user is subscribed."; 38 + }; 39 + 24 40 }; 25 41 26 42 config = { 27 43 28 44 system.nixosVersion = 29 - mkDefault (builtins.readFile "${toString pkgs.path}/.version" + config.system.nixosVersionSuffix); 45 + mkDefault (readFile "${toString pkgs.path}/.version" + config.system.nixosVersionSuffix); 30 46 31 47 system.nixosVersionSuffix = 32 48 let suffixFile = "${toString pkgs.path}/.version-suffix"; in 33 - mkDefault (if builtins.pathExists suffixFile then builtins.readFile suffixFile else "pre-git"); 49 + mkDefault (if pathExists suffixFile then readFile suffixFile else "pre-git"); 50 + 51 + system.nixosRevision = 52 + let fn = "${toString pkgs.path}/.git-revision"; in 53 + mkDefault (if pathExists fn then readFile fn else "master"); 34 54 35 55 # Note: code names must only increase in alphabetical order. 36 56 system.nixosCodeName = "Aardvark";
+2
nixos/modules/module-list.nix
··· 130 130 ./services/monitoring/dd-agent.nix 131 131 ./services/monitoring/graphite.nix 132 132 ./services/monitoring/monit.nix 133 + ./services/monitoring/munin.nix 133 134 ./services/monitoring/nagios/default.nix 134 135 ./services/monitoring/smartd.nix 135 136 ./services/monitoring/statsd.nix ··· 237 238 ./services/x11/window-managers/twm.nix 238 239 ./services/x11/window-managers/wmii.nix 239 240 ./services/x11/window-managers/xmonad.nix 241 + ./services/x11/redshift.nix 240 242 ./services/x11/xfs.nix 241 243 ./services/x11/xserver.nix 242 244 ./system/activation/activation-script.nix
+1 -1
nixos/modules/programs/shell.nix
··· 39 39 40 40 # Subscribe the root user to the NixOS channel by default. 41 41 if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then 42 - echo "http://nixos.org/channels/nixos-unstable nixos" > $HOME/.nix-channels 42 + echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels 43 43 fi 44 44 45 45 # Create the per-user garbage collector roots directory.
+8 -5
nixos/modules/programs/ssh.nix
··· 1 1 # Global configuration for the SSH client. 2 2 3 - {config, pkgs, ...}: 3 + { config, pkgs, ... }: 4 4 5 5 with pkgs.lib; 6 6 ··· 31 31 setXAuthLocation = mkOption { 32 32 default = true; 33 33 description = '' 34 - Whether to set the path to xauth for X11-forwarded connections. 34 + Whether to set the path to <command>xauth</command> for X11-forwarded connections. 35 35 Pulls in X11 dependency. 36 36 ''; 37 37 }; ··· 46 46 }; 47 47 }; 48 48 49 - assertions = [{ assertion = if cfg.forwardX11 then cfg.setXAuthLocation else true; 50 - message = "cannot enable X11 forwarding without setting xauth location";}]; 49 + config = { 50 + 51 + assertions = singleton 52 + { assertion = cfg.forwardX11 -> cfg.setXAuthLocation; 53 + message = "cannot enable X11 forwarding without setting XAuth location"; 54 + }; 51 55 52 - config = { 53 56 environment.etc = 54 57 [ { # SSH configuration. Slight duplication of the sshd_config 55 58 # generation in the sshd service.
+82 -66
nixos/modules/rename.nix
··· 1 - {pkgs, options, config, ...}: 1 + { config, pkgs, options, ... }: 2 + 3 + with pkgs.lib; 2 4 3 5 let 4 6 5 - alias = from: to: { 7 + alias = from: to: rename { 8 + inherit from to; 6 9 name = "Alias"; 7 - msg.use = x: x; 8 - msg.define = x: x; 10 + use = id; 11 + define = id; 12 + visible = true; 9 13 }; 10 14 11 - obsolete = from: to: { 15 + obsolete = from: to: rename { 16 + inherit from to; 12 17 name = "Obsolete name"; 13 - msg.use = x: 14 - builtins.trace "Obsolete option `${from}' is used instead of `${to}'." x; 15 - msg.define = x: 16 - builtins.trace "Obsolete option `${from}' is defined instead of `${to}'." x; 18 + use = x: builtins.trace "Obsolete option `${showOption from}' is used instead of `${showOption to}'." x; 19 + define = x: builtins.trace "Obsolete option `${showOption from}' is defined instead of `${showOption to}'." x; 17 20 }; 18 21 19 - deprecated = from: to: { 22 + deprecated = from: to: rename { 23 + inherit from to; 20 24 name = "Deprecated name"; 21 - msg.use = x: 22 - abort "Deprecated option `${from}' is used instead of `${to}'."; 23 - msg.define = x: 24 - abort "Deprecated option `${from}' is defined instead of `${to}'."; 25 + use = x: abort "Deprecated option `${showOption from}' is used instead of `${showOption to}'."; 26 + define = x: abort "Deprecated option `${showOption from}' is defined instead of `${showOption to}'."; 25 27 }; 26 28 29 + showOption = concatStringsSep "."; 27 30 28 - zipModules = list: with pkgs.lib; 31 + zipModules = list: 29 32 zipAttrsWith (n: v: 30 33 if tail v != [] then 31 34 if n == "_type" then (head v) 32 - else if n == "extraConfigs" then (concatLists v) 35 + else if n == "extraConfigs" then concatLists v 36 + else if n == "warnings" then concatLists v 33 37 else if n == "description" || n == "apply" then 34 38 abort "Cannot rename an option to multiple options." 35 39 else zipModules v 36 40 else head v 37 41 ) list; 38 42 39 - rename = statusTemplate: from: to: with pkgs.lib; 43 + rename = { from, to, name, use, define, visible ? false }: 40 44 let 41 - status = statusTemplate from to; 42 - setTo = setAttrByPath (splitString "." to); 43 - setFrom = setAttrByPath (splitString "." from); 44 - toOf = attrByPath (splitString "." to) 45 - (abort "Renaming error: option `${to}' does not exists."); 46 - fromOf = attrByPath (splitString "." from) 47 - (abort "Internal error: option `${from}' should be declared."); 45 + setTo = setAttrByPath to; 46 + setFrom = setAttrByPath from; 47 + toOf = attrByPath to 48 + (abort "Renaming error: option `${showOption to}' does not exists."); 49 + fromOf = attrByPath from 50 + (abort "Internal error: option `${showOption from}' should be declared."); 48 51 in 49 - [{ 50 - options = setFrom (mkOption { 51 - description = "${status.name} of <option>${to}</option>."; 52 - apply = x: status.msg.use (toOf config); 53 - }); 54 - }] ++ 55 - [{ 56 - options = setTo (mkOption { 57 - extraConfigs = 58 - let externalDefs = (fromOf options).definitions; in 59 - if externalDefs == [] then [] 60 - else map (def: def.value) (status.msg.define externalDefs); 61 - }); 62 - }]; 52 + [ { options = setFrom (mkOption { 53 + description = "${name} of <option>${showOption to}</option>."; 54 + apply = x: use (toOf config); 55 + inherit visible; 56 + }); 57 + } 58 + { options = setTo (mkOption { 59 + extraConfigs = 60 + let externalDefs = (fromOf options).definitions; in 61 + if externalDefs == [] then [] 62 + else map (def: def.value) (define externalDefs); 63 + }); 64 + } 65 + ]; 66 + 67 + obsolete' = option: singleton 68 + { options = setAttrByPath option (mkOption { 69 + default = null; 70 + visible = false; 71 + }); 72 + config.warnings = optional (getAttrFromPath option config != null) 73 + "The option `${showOption option}' defined in your configuration no longer has any effect; please remove it."; 74 + }; 63 75 64 76 in zipModules ([] 65 77 66 78 # usage example: 67 - # ++ rename alias "services.xserver.slim.theme" "services.xserver.displayManager.slim.theme" 68 - ++ rename obsolete "environment.extraPackages" "environment.systemPackages" 69 - ++ rename obsolete "environment.enableBashCompletion" "programs.bash.enableCompletion" 79 + # ++ alias [ "services" "xserver" "slim" "theme" ] [ "services" "xserver" "displayManager" "slim" "theme" ] 80 + ++ obsolete [ "environment" "extraPackages" ] [ "environment" "systemPackages" ] 81 + ++ obsolete [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ] 70 82 71 - ++ rename obsolete "security.extraSetuidPrograms" "security.setuidPrograms" 72 - ++ rename obsolete "networking.enableWLAN" "networking.wireless.enable" 73 - ++ rename obsolete "networking.enableRT73Firmware" "networking.enableRalinkFirmware" 83 + ++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ] 84 + ++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ] 85 + ++ obsolete [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ] 74 86 75 87 # FIXME: Remove these eventually. 76 - ++ rename obsolete "boot.systemd.sockets" "systemd.sockets" 77 - ++ rename obsolete "boot.systemd.targets" "systemd.targets" 78 - ++ rename obsolete "boot.systemd.services" "systemd.services" 88 + ++ obsolete [ "boot" "systemd" "sockets" ] [ "systemd" "sockets" ] 89 + ++ obsolete [ "boot" "systemd" "targets" ] [ "systemd" "targets" ] 90 + ++ obsolete [ "boot" "systemd" "services" ] [ "systemd" "services" ] 79 91 80 92 # Old Grub-related options. 81 - ++ rename obsolete "boot.copyKernels" "boot.loader.grub.copyKernels" 82 - ++ rename obsolete "boot.extraGrubEntries" "boot.loader.grub.extraEntries" 83 - ++ rename obsolete "boot.extraGrubEntriesBeforeNixos" "boot.loader.grub.extraEntriesBeforeNixOS" 84 - ++ rename obsolete "boot.grubDevice" "boot.loader.grub.device" 85 - ++ rename obsolete "boot.bootMount" "boot.loader.grub.bootDevice" 86 - ++ rename obsolete "boot.grubSplashImage" "boot.loader.grub.splashImage" 93 + ++ obsolete [ "boot" "copyKernels" ] [ "boot" "loader" "grub" "copyKernels" ] 94 + ++ obsolete [ "boot" "extraGrubEntries" ] [ "boot" "loader" "grub" "extraEntries" ] 95 + ++ obsolete [ "boot" "extraGrubEntriesBeforeNixos" ] [ "boot" "loader" "grub" "extraEntriesBeforeNixOS" ] 96 + ++ obsolete [ "boot" "grubDevice" ] [ "boot" "loader" "grub" "device" ] 97 + ++ obsolete [ "boot" "bootMount" ] [ "boot" "loader" "grub" "bootDevice" ] 98 + ++ obsolete [ "boot" "grubSplashImage" ] [ "boot" "loader" "grub" "splashImage" ] 87 99 88 - ++ rename obsolete "boot.initrd.extraKernelModules" "boot.initrd.kernelModules" 100 + ++ obsolete [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ] 89 101 90 102 # OpenSSH 91 - ++ rename obsolete "services.sshd.ports" "services.openssh.ports" 92 - ++ rename alias "services.sshd.enable" "services.openssh.enable" 93 - ++ rename obsolete "services.sshd.allowSFTP" "services.openssh.allowSFTP" 94 - ++ rename obsolete "services.sshd.forwardX11" "services.openssh.forwardX11" 95 - ++ rename obsolete "services.sshd.gatewayPorts" "services.openssh.gatewayPorts" 96 - ++ rename obsolete "services.sshd.permitRootLogin" "services.openssh.permitRootLogin" 97 - ++ rename obsolete "services.xserver.startSSHAgent" "services.xserver.startOpenSSHAgent" 103 + ++ obsolete [ "services" "sshd" "ports" ] [ "services" "openssh" "ports" ] 104 + ++ alias [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ] 105 + ++ obsolete [ "services" "sshd" "allowSFTP" ] [ "services" "openssh" "allowSFTP" ] 106 + ++ obsolete [ "services" "sshd" "forwardX11" ] [ "services" "openssh" "forwardX11" ] 107 + ++ obsolete [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ] 108 + ++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ] 109 + ++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ] 98 110 99 111 # KDE 100 - ++ rename deprecated "kde.extraPackages" "environment.kdePackages" 101 - # ++ rename obsolete "environment.kdePackages" "environment.systemPackages" # !!! doesn't work! 112 + ++ deprecated [ "kde" "extraPackages" ] [ "environment" "kdePackages" ] 113 + # ++ obsolete [ "environment" "kdePackages" ] [ "environment" "systemPackages" ] # !!! doesn't work! 102 114 103 115 # Multiple efi bootloaders now 104 - ++ rename obsolete "boot.loader.efi.efibootmgr.enable" "boot.loader.efi.canTouchEfiVariables" 116 + ++ obsolete [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ] 105 117 106 118 # NixOS environment changes 107 119 # !!! this hardcodes bash, could we detect from config which shell is actually used? 108 - ++ rename obsolete "environment.promptInit" "programs.bash.promptInit" 120 + ++ obsolete [ "environment" "promptInit" ] [ "programs" "bash" "promptInit" ] 121 + 122 + # Options that are obsolete and have no replacement. 123 + ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ] 124 + ++ obsolete' [ "boot" "initrd" "luks" "enable" ] 109 125 110 - ) # do not add renaming after this. 126 + )
+3 -2
nixos/modules/services/audio/fuppes.nix
··· 60 60 }; 61 61 62 62 vfolder = mkOption { 63 - default = ./fuppes/vfolder.cfg; 64 - example = /etc/fuppes/vfolder.cfg; 63 + example = literalExample "/etc/fuppes/vfolder.cfg"; 65 64 description = '' 66 65 XML file describing the layout of virtual folder visible by the 67 66 client. ··· 108 107 }; 109 108 110 109 services.fuppesd.name = mkDefault config.networking.hostName; 110 + 111 + services.fuppesd.vfolder = mkDefault ./fuppes/vfolder.cfg; 111 112 112 113 security.sudo.enable = true; 113 114 };
+51 -38
nixos/modules/services/databases/firebird.nix
··· 1 1 { config, pkgs, ... }: 2 2 3 - # TODO: this file needs some additional work - at least you can connect to 4 - # firebird .. 5 - # Example how to connect: 6 - # isql /var/db/firebird/data/your-db.fdb -u sysdba -p <default password> 3 + # TODO: This may file may need additional review, eg which configuartions to 4 + # expose to the user. 5 + # 6 + # I only used it to access some simple databases. 7 + 8 + # test: 9 + # isql, then type the following commands: 10 + # CREATE DATABASE '/var/db/firebird/data/test.fdb' USER 'SYSDBA' PASSWORD 'masterkey'; 11 + # CONNECT '/var/db/firebird/data/test.fdb' USER 'SYSDBA' PASSWORD 'masterkey'; 12 + # CREATE TABLE test ( text varchar(100) ); 13 + # DROP DATABASE; 14 + # 15 + # Be careful, virtuoso-opensource also provides a different isql command ! 7 16 8 17 # There are at least two ways to run firebird. superserver has been choosen 9 18 # however there are no strong reasons to prefer this or the other one AFAIK ··· 18 27 19 28 firebird = cfg.package; 20 29 21 - pidFile = "${cfg.pidDir}/firebirdd.pid"; 30 + dataDir = "${cfg.baseDir}/data"; 31 + systemDir = "${cfg.baseDir}/system"; 22 32 23 33 in 24 34 ··· 32 42 33 43 enable = mkOption { 34 44 default = false; 35 - description = " 36 - Whether to enable the firebird super server. 37 - "; 45 + description = '' 46 + Whether to enable the Firebird super server. 47 + ''; 38 48 }; 39 49 40 50 package = mkOption { ··· 45 55 reasons. See comments at the firebirdSuper derivation 46 56 */ 47 57 48 - description = " 58 + description = '' 49 59 Which firebird derivation to use. 50 - "; 60 + ''; 51 61 }; 52 62 53 63 port = mkOption { 54 64 default = "3050"; 55 - description = "Port of Firebird."; 65 + description = '' 66 + Port Firebird uses. 67 + ''; 56 68 }; 57 69 58 70 user = mkOption { 59 71 default = "firebird"; 60 - description = "User account under which firebird runs."; 72 + description = '' 73 + User account under which firebird runs. 74 + ''; 61 75 }; 62 76 63 - dataDir = mkOption { 64 - default = "/var/db/firebird/data"; # ubuntu is using /var/lib/firebird/2.1/data/.. ? 65 - description = "Location where firebird databases are stored."; 66 - }; 67 - 68 - pidDir = mkOption { 69 - default = "/run/firebird"; 70 - description = "Location of the file which stores the PID of the firebird server."; 77 + baseDir = mkOption { 78 + default = "/var/db/firebird"; # ubuntu is using /var/lib/firebird/2.1/data/.. ? 79 + description = '' 80 + Location containing data/ and system/ directories. 81 + data/ stores the databases, system/ stores the password database security2.fdb. 82 + ''; 71 83 }; 72 84 73 85 }; ··· 79 91 80 92 config = mkIf config.services.firebird.enable { 81 93 82 - users.extraUsers.firebird.description = "Firebird server user"; 83 - 84 - environment.systemPackages = [firebird]; 94 + environment.systemPackages = [cfg.package]; 85 95 86 96 systemd.services.firebird = 87 - { description = "firebird super server"; 97 + { description = "Firebird Super-Server"; 88 98 89 99 wantedBy = [ "multi-user.target" ]; 90 100 ··· 92 102 # is a better way 93 103 preStart = 94 104 '' 95 - secureDir="${cfg.dataDir}/../system" 96 - 97 105 mkdir -m 0700 -p \ 98 - "${cfg.dataDir}" \ 99 - "${cfg.pidDir}" \ 100 - /var/log/firebird \ 101 - "$secureDir" 106 + "${dataDir}" \ 107 + "${systemDir}" \ 108 + /var/log/firebird 102 109 103 - if ! test -e "$secureDir/security2.fdb"; then 104 - cp ${firebird}/security2.fdb "$secureDir" 110 + if ! test -e "${systemDir}/security2.fdb"; then 111 + cp ${firebird}/security2.fdb "${systemDir}" 105 112 fi 106 113 107 - chown -R ${cfg.user} "${cfg.pidDir}" "${cfg.dataDir}" "$secureDir" /var/log/firebird 108 - chmod -R 700 "${cfg.pidDir}" "${cfg.dataDir}" "$secureDir" /var/log/firebird 114 + chown -R ${cfg.user} "${dataDir}" "${systemDir}" /var/log/firebird 115 + chmod -R 700 "${dataDir}" "${systemDir}" /var/log/firebird 109 116 ''; 110 117 111 118 serviceConfig.PermissionsStartOnly = true; # preStart must be run as root ··· 119 126 120 127 # think about this again - and eventually make it an option 121 128 environment.etc."firebird/firebird.conf".text = '' 122 - # RootDirectory = Restrict ${cfg.dataDir} 123 - DatabaseAccess = Restrict ${cfg.dataDir} 124 - ExternalFileAccess = Restrict ${cfg.dataDir} 129 + # RootDirectory = Restrict ${dataDir} 130 + DatabaseAccess = Restrict ${dataDir} 131 + ExternalFileAccess = Restrict ${dataDir} 125 132 # what is this? is None allowed? 126 133 UdfAccess = None 127 134 # "Native" = traditional interbase/firebird, "mixed" is windows only ··· 142 149 #RemoteAuxPort = 0 143 150 # rsetrict connections to a network card: 144 151 #RemoteBindAddress = 145 - # there are some more settings .. 152 + # there are some additional settings which should be reviewed 146 153 ''; 154 + 155 + users.extraUsers.firebird = { 156 + description = "Firebird server user"; 157 + group = "firebird"; 158 + uid = config.ids.uids.firebird; 147 159 }; 148 160 161 + }; 149 162 }
+2 -2
nixos/modules/services/databases/mysql.nix
··· 93 93 default = []; 94 94 description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; 95 95 example = [ 96 - { name = "foodatabase"; schema = ./foodatabase.sql; } 97 - { name = "bardatabase"; schema = ./bardatabase.sql; } 96 + { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } 97 + { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } 98 98 ]; 99 99 }; 100 100
+2 -2
nixos/modules/services/databases/mysql55.nix
··· 86 86 default = []; 87 87 description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; 88 88 example = [ 89 - { name = "foodatabase"; schema = ./foodatabase.sql; } 90 - { name = "bardatabase"; schema = ./bardatabase.sql; } 89 + { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } 90 + { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } 91 91 ]; 92 92 }; 93 93
-8
nixos/modules/services/databases/postgresql.nix
··· 95 95 ''; 96 96 }; 97 97 98 - authMethod = mkOption { 99 - default = " ident sameuser "; 100 - description = '' 101 - How to authorize users. 102 - Note: ident needs absolute trust to all allowed client hosts. 103 - ''; 104 - }; 105 - 106 98 enableTCPIP = mkOption { 107 99 default = false; 108 100 description = ''
+1 -1
nixos/modules/services/misc/nix-gc.nix
··· 52 52 53 53 systemd.services.nix-gc = 54 54 { description = "Nix Garbage Collector"; 55 - serviceConfig.ExecStart = "${config.environment.nix}/bin/nix-collect-garbage ${cfg.options}"; 55 + script = "exec ${config.environment.nix}/bin/nix-collect-garbage ${cfg.options}"; 56 56 startAt = optionalString cfg.automatic cfg.dates; 57 57 }; 58 58
+7 -12
nixos/modules/services/misc/nixos-manual.nix
··· 11 11 12 12 cfg = config.services.nixosManual; 13 13 14 + versionModule = 15 + { system.nixosVersionSuffix = config.system.nixosVersionSuffix; 16 + system.nixosRevision = config.system.nixosRevision; 17 + }; 18 + 14 19 manual = import ../../../doc/manual { 15 - inherit (cfg) revision; 16 20 inherit pkgs; 17 - options = (fixMergeModules baseModules 21 + revision = config.system.nixosRevision; 22 + options = (fixMergeModules ([ versionModule ] ++ baseModules) 18 23 (removeAttrs extraArgs ["config" "options"]) // { 19 24 modules = [ ]; 20 25 }).options; ··· 72 77 default = "${pkgs.w3m}/bin/w3m"; 73 78 description = '' 74 79 Browser used to show the manual. 75 - ''; 76 - }; 77 - 78 - services.nixosManual.revision = mkOption { 79 - default = "local"; 80 - type = types.uniq types.string; 81 - description = '' 82 - Revision of the targeted source file. This value can either be 83 - <literal>"local"</literal>, <literal>"HEAD"</literal> or any 84 - revision number embedded in a string. 85 80 ''; 86 81 }; 87 82
+215
nixos/modules/services/monitoring/munin.nix
··· 1 + { config, pkgs, ... }: 2 + 3 + # TODO: support munin-async 4 + # TODO: LWP/Pg perl libs aren't recognized 5 + 6 + # TODO: support fastcgi 7 + # http://munin-monitoring.org/wiki/CgiHowto2 8 + # spawn-fcgi -s /var/run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph 9 + # spawn-fcgi -s /var/run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html 10 + # https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum 11 + # nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html 12 + 13 + 14 + with pkgs.lib; 15 + 16 + let 17 + nodeCfg = config.services.munin-node; 18 + cronCfg = config.services.munin-cron; 19 + 20 + muninPlugins = pkgs.stdenv.mkDerivation { 21 + name = "munin-available-plugins"; 22 + buildCommand = '' 23 + mkdir -p $out 24 + 25 + cp --preserve=mode ${pkgs.munin}/lib/plugins/* $out/ 26 + 27 + for file in $out/*; do 28 + case "$file" in 29 + plugin.sh) continue;; 30 + esac 31 + 32 + # read magic makers from the file 33 + family=$(sed -nr 's/.*#%#\s+family\s*=\s*(\S+)\s*/\1/p' $file) 34 + cap=$(sed -nr 's/.*#%#\s+capabilities\s*=\s*(.+)/\1/p' $file) 35 + 36 + wrapProgram $file \ 37 + --set PATH "/run/current-system/sw/bin:/run/current-system/sw/sbin" \ 38 + --set MUNIN_LIBDIR "${pkgs.munin}/lib" \ 39 + --set MUNIN_PLUGSTATE "/var/run/munin" 40 + 41 + # munin uses markers to tell munin-node-configure what a plugin can do 42 + echo "#%# family=$family" >> $file 43 + echo "#%# capabilities=$cap" >> $file 44 + done 45 + 46 + # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak) 47 + rm -f $out/diskstats 48 + ''; 49 + buildInputs = [ pkgs.makeWrapper ]; 50 + }; 51 + 52 + muninConf = pkgs.writeText "munin.conf" 53 + '' 54 + dbdir /var/lib/munin 55 + htmldir /var/www/munin 56 + logdir /var/log/munin 57 + rundir /var/run/munin 58 + 59 + ${cronCfg.extraGlobalConfig} 60 + 61 + ${cronCfg.hosts} 62 + ''; 63 + 64 + nodeConf = pkgs.writeText "munin-node.conf" 65 + '' 66 + log_level 3 67 + log_file Sys::Syslog 68 + port 4949 69 + host * 70 + background 0 71 + user root 72 + group root 73 + host_name ${config.networking.hostName} 74 + setsid 0 75 + 76 + # wrapped plugins by makeWrapper being with dots 77 + ignore_file ^\. 78 + 79 + allow ^127\.0\.0\.1$ 80 + 81 + ${nodeCfg.extraConfig} 82 + ''; 83 + in 84 + 85 + { 86 + 87 + options = { 88 + 89 + services.munin-node = { 90 + 91 + enable = mkOption { 92 + default = false; 93 + description = '' 94 + Enable Munin Node agent. Munin node listens on 0.0.0.0 and 95 + by default accepts connections only from 127.0.0.1 for security reasons. 96 + 97 + See <link xlink:href='http://munin-monitoring.org/wiki/munin-node.conf' />. 98 + ''; 99 + }; 100 + 101 + extraConfig = mkOption { 102 + default = ""; 103 + description = '' 104 + <filename>munin-node.conf</filename> extra configuration. See 105 + <link xlink:href='http://munin-monitoring.org/wiki/munin-node.conf' /> 106 + ''; 107 + }; 108 + 109 + # TODO: add option to add additional plugins 110 + 111 + }; 112 + 113 + services.munin-cron = { 114 + 115 + enable = mkOption { 116 + default = false; 117 + description = '' 118 + Enable munin-cron. Takes care of all heavy lifting to collect data from 119 + nodes and draws graphs to html. Runs munin-update, munin-limits, 120 + munin-graphs and munin-html in that order. 121 + 122 + HTML output is in <filename>/var/www/munin/</filename>, configure your 123 + favourite webserver to serve static files. 124 + ''; 125 + example = literalExample '' 126 + services = { 127 + munin-node.enable = true; 128 + munin-cron = { 129 + enable = true; 130 + hosts = ''' 131 + [''${config.networking.hostName}] 132 + address localhost 133 + '''; 134 + extraGlobalConfig = ''' 135 + contact.email.command mail -s "Munin notification for ''${var:host}" someone@example.com 136 + '''; 137 + }; 138 + }; 139 + ''; 140 + }; 141 + 142 + extraGlobalConfig = mkOption { 143 + default = ""; 144 + description = '' 145 + <filename>munin.conf</filename> extra global configuration. 146 + See <link xlink:href='http://munin-monitoring.org/wiki/munin.conf' />. 147 + Useful to setup notifications, see 148 + <link xlink:href='http://munin-monitoring.org/wiki/HowToContact' /> 149 + ''; 150 + }; 151 + 152 + hosts = mkOption { 153 + example = '' 154 + [''${config.networking.hostName}] 155 + address localhost 156 + ''; 157 + description = '' 158 + Definitions of hosts of nodes to collect data from. Needs at least one 159 + hosts for cron to succeed. See 160 + <link xlink:href='http://munin-monitoring.org/wiki/munin.conf' /> 161 + ''; 162 + }; 163 + 164 + }; 165 + 166 + }; 167 + 168 + config = mkMerge [ (mkIf (nodeCfg.enable || cronCfg.enable) { 169 + 170 + environment.systemPackages = [ pkgs.munin ]; 171 + 172 + users.extraUsers = [{ 173 + name = "munin"; 174 + description = "Munin monitoring user"; 175 + group = "munin"; 176 + }]; 177 + 178 + users.extraGroups = [{ 179 + name = "munin"; 180 + }]; 181 + 182 + }) (mkIf nodeCfg.enable { 183 + 184 + systemd.services.munin-node = { 185 + description = "Munin node, the agent process"; 186 + after = [ "network.target" ]; 187 + wantedBy = [ "multi-user.target" ]; 188 + path = [ pkgs.munin ]; 189 + environment.MUNIN_PLUGSTATE = "/var/run/munin"; 190 + serviceConfig = { 191 + ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/"; 192 + }; 193 + }; 194 + 195 + system.activationScripts.munin-node = '' 196 + echo "updating munin plugins..." 197 + 198 + mkdir -p /etc/munin/plugins 199 + rm -rf /etc/munin/plugins/* 200 + 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 201 + ''; 202 + 203 + }) (mkIf cronCfg.enable { 204 + 205 + services.cron.systemCronJobs = [ 206 + "*/5 * * * * munin ${pkgs.munin}/bin/munin-cron --config ${muninConf}" 207 + ]; 208 + 209 + system.activationScripts.munin-cron = stringAfter [ "users" "groups" ] '' 210 + mkdir -p /var/{run,log,www,lib}/munin 211 + chown -R munin:munin /var/{run,log,www,lib}/munin 212 + ''; 213 + 214 + })]; 215 + }
+1 -1
nixos/modules/services/networking/ejabberd.nix
··· 44 44 loadDumps = mkOption { 45 45 default = []; 46 46 description = "Configuration dump that should be loaded on the first startup"; 47 - example = [ ./myejabberd.dump ]; 47 + example = literalExample "[ ./myejabberd.dump ]"; 48 48 }; 49 49 }; 50 50
+2 -2
nixos/modules/services/networking/ssh/sshd.nix
··· 181 181 example = [ 182 182 { 183 183 hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ]; 184 - publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub; 184 + publicKeyFile = literalExample "./pubkeys/myhost_ssh_host_dsa_key.pub"; 185 185 } 186 186 { 187 187 hostNames = [ "myhost2" ]; 188 - publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub; 188 + publicKeyFile = literalExample "./pubkeys/myhost2_ssh_host_dsa_key.pub"; 189 189 } 190 190 ]; 191 191 options = {
+125 -55
nixos/modules/services/networking/vsftpd.nix
··· 4 4 5 5 let 6 6 7 + /* minimal secure setup: 8 + 9 + enable = true; 10 + forceLocalLoginsSSL = true; 11 + forceLocalDataSSL = true; 12 + userlistDeny = false; 13 + localUsers = true; 14 + userlist = ["non-root-user" "other-non-root-user"]; 15 + rsaCertFile = "/var/vsftpd/vsftpd.pem"; 16 + 17 + */ 18 + 7 19 cfg = config.services.vsftpd; 8 20 9 21 inherit (pkgs) vsftpd; 10 22 11 - yesNoOption = p : name : 12 - "${name}=${if p then "YES" else "NO"}"; 23 + yesNoOption = nixosName: vsftpdName: default: description: { 24 + cfgText = "${vsftpdName}=${if getAttr nixosName cfg then "YES" else "NO"}"; 25 + 26 + nixosOption = { 27 + name = nixosName; 28 + value = mkOption { 29 + inherit description default; 30 + type = types.bool; 31 + }; 32 + }; 33 + }; 34 + 35 + optionDescription = [ 36 + 37 + (yesNoOption "anonymousUser" "anonymous_enable" false '' 38 + Whether to enable the anonymous FTP user. 39 + '') 40 + (yesNoOption "localUsers" "local_enable" false '' 41 + Whether to enable FTP for local users. 42 + '') 43 + (yesNoOption "writeEnable" "write_enable" false '' 44 + Whether any write activity is permitted to users. 45 + '') 46 + (yesNoOption "anonymousUploadEnable" "anon_upload_enable" false '' 47 + Whether any uploads are permitted to anonymous users. 48 + '') 49 + (yesNoOption "anonymousMkdirEnable" "anon_mkdir_write_enable" false '' 50 + Whether any uploads are permitted to anonymous users. 51 + '') 52 + (yesNoOption "chrootlocalUser" "chroot_local_user" false '' 53 + Whether local users are confined to their home directory. 54 + '') 55 + (yesNoOption "userlistEnable" "userlist_enable" false '' 56 + Whether users are included. 57 + '') 58 + (yesNoOption "userlistDeny" "userlist_deny" false '' 59 + Specifies whether <option>userlistFile</option> is a list of user 60 + names to allow or deny access. 61 + The default <literal>false</literal> means whitelist/allow. 62 + '') 63 + (yesNoOption "forceLocalLoginsSSL" "force_local_logins_ssl" false '' 64 + Only applies if <option>sslEnable</option> is true. Non anonymous (local) users 65 + must use a secure SSL connection to send a password. 66 + '') 67 + (yesNoOption "forceLocalDataSSL" "force_local_data_ssl" false '' 68 + Only applies if <option>sslEnable</option> is true. Non anonymous (local) users 69 + must use a secure SSL connection for sending/receiving data on data connection. 70 + '') 71 + (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true '' '') 72 + (yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '') 73 + (yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '') 74 + 75 + { 76 + cfgText = if cfg.rsaCertFile == null then "" 77 + else '' 78 + sslEnable=YES 79 + rsa_cert_file=${cfg.rsaCertFile} 80 + ''; 81 + 82 + nixosOption = { 83 + name = "rsaCertFile"; 84 + value = mkOption { 85 + default = null; 86 + description = '' 87 + rsa certificate file. 88 + ''; 89 + }; 90 + }; 91 + } 92 + ]; 13 93 14 94 in 15 95 ··· 26 106 description = "Whether to enable the vsftpd FTP server."; 27 107 }; 28 108 29 - anonymousUser = mkOption { 30 - default = false; 31 - description = "Whether to enable the anonymous FTP user."; 32 - }; 33 - 34 - anonymousUserHome = mkOption { 35 - default = "/home/ftp"; 36 - description = "Path to anonymous user data."; 37 - }; 109 + userlist = mkOption { 110 + default = []; 38 111 39 - localUsers = mkOption { 40 - default = false; 41 - description = "Whether to enable FTP for local users."; 112 + description = '' 113 + See <option>userlistFile</option>. 114 + ''; 42 115 }; 43 116 44 - writeEnable = mkOption { 45 - default = false; 46 - description = "Whether any write activity is permitted to users."; 47 - }; 117 + userlistFile = mkOption { 118 + default = pkgs.writeText "userlist" (concatMapStrings (x: "${x}\n") cfg.userlist); 119 + description = '' 120 + Newline separated list of names to be allowed/denied if <option>userlistEnable</option> 121 + is <literal>true</literal>. Meaning see <option>userlistDeny</option>. 48 122 49 - anonymousUploadEnable = mkOption { 50 - default = false; 51 - description = "Whether any uploads are permitted to anonymous users."; 52 - }; 123 + The default is a file containing the users from <option>userlist</option>. 53 124 54 - anonymousMkdirEnable = mkOption { 55 - default = false; 56 - description = "Whether mkdir is permitted to anonymous users."; 57 - }; 58 - 59 - chrootlocalUser = mkOption { 60 - default = false; 61 - description = "Whether local users are confined to their home directory."; 62 - }; 63 - 64 - userlistEnable = mkOption { 65 - default = false; 66 - description = "Whether users are included."; 125 + If explicitely set to null userlist_file will not be set in vsftpd's config file. 126 + ''; 67 127 }; 68 128 69 - userlistDeny = mkOption { 70 - default = false; 71 - description = "Whether users are excluded."; 129 + anonymousUserHome = mkOption { 130 + default = "/home/ftp/"; 131 + description = '' 132 + Directory to consider the HOME of the anonymous user. 133 + ''; 72 134 }; 73 135 74 - }; 136 + } // (listToAttrs (catAttrs "nixosOption" optionDescription)) ; 75 137 76 138 }; 77 139 ··· 80 142 81 143 config = mkIf cfg.enable { 82 144 145 + assertions = [ 146 + { 147 + assertion = 148 + (cfg.forceLocalLoginsSSL -> cfg.rsaCertFile != null) 149 + && (cfg.forceLocalDataSSL -> cfg.rsaCertFile != null); 150 + message = "vsftpd: If forceLocalLoginsSSL or forceLocalDataSSL is true then a rsaCertFile must be provided!"; 151 + } 152 + ]; 153 + 83 154 users.extraUsers = 84 155 [ { name = "vsftpd"; 85 156 uid = config.ids.uids.vsftpd; ··· 99 170 gid = config.ids.gids.ftp; 100 171 }; 101 172 173 + # If you really have to access root via FTP use mkOverride or userlistDeny 174 + # = false and whitelist root 175 + services.vsftpd.userlist = if cfg.userlistDeny then ["root"] else []; 176 + 177 + environment.etc."vsftpd.conf".text = 178 + concatMapStrings (x: "${x.cfgText}\n") optionDescription 179 + + '' 180 + ${if cfg.userlistFile == null then "" 181 + else "userlist_file=${cfg.userlistFile}"} 182 + background=NO 183 + listen=YES 184 + nopriv_user=vsftpd 185 + secure_chroot_dir=/var/empty 186 + ''; 187 + 102 188 jobs.vsftpd = 103 189 { description = "vsftpd server"; 104 190 ··· 107 193 108 194 preStart = 109 195 '' 110 - # !!! Why isn't this generated in the normal way? 111 - cat > /etc/vsftpd.conf <<EOF 112 - ${yesNoOption cfg.anonymousUser "anonymous_enable"} 113 - ${yesNoOption cfg.localUsers "local_enable"} 114 - ${yesNoOption cfg.writeEnable "write_enable"} 115 - ${yesNoOption cfg.anonymousUploadEnable "anon_upload_enable"} 116 - ${yesNoOption cfg.anonymousMkdirEnable "anon_mkdir_write_enable"} 117 - ${yesNoOption cfg.chrootlocalUser "chroot_local_user"} 118 - ${yesNoOption cfg.userlistEnable "userlist_enable"} 119 - ${yesNoOption cfg.userlistDeny "userlist_deny"} 120 - background=NO 121 - listen=YES 122 - nopriv_user=vsftpd 123 - secure_chroot_dir=/var/empty 124 - EOF 125 - 126 196 ${if cfg.anonymousUser then '' 127 197 mkdir -p -m 555 ${cfg.anonymousUserHome} 128 198 chown -R ftp:ftp ${cfg.anonymousUserHome}
+94 -91
nixos/modules/services/web-servers/zope2.nix
··· 37 37 default = 38 38 '' 39 39 <zodb_db main> 40 - mount-point / 41 - cache-size 30000 42 - <blobstorage> 43 - blob-dir /var/lib/zope2/${name}/blobstorage 44 - <filestorage> 45 - path /var/lib/zope2/${name}/filestorage/Data.fs 46 - </filestorage> 47 - </blobstorage> 40 + mount-point / 41 + cache-size 30000 42 + <blobstorage> 43 + blob-dir /var/lib/zope2/${name}/blobstorage 44 + <filestorage> 45 + path /var/lib/zope2/${name}/filestorage/Data.fs 46 + </filestorage> 47 + </blobstorage> 48 48 </zodb_db> 49 49 ''; 50 50 type = types.string; ··· 76 76 extra = 77 77 '' 78 78 <zodb_db main> 79 - mount-point / 80 - cache-size 30000 81 - <blobstorage> 82 - blob-dir /var/lib/zope2/plone01/blobstorage 83 - <filestorage> 84 - path /var/lib/zope2/plone01/filestorage/Data.fs 85 - </filestorage> 86 - </blobstorage> 79 + mount-point / 80 + cache-size 30000 81 + <blobstorage> 82 + blob-dir /var/lib/zope2/plone01/blobstorage 83 + <filestorage> 84 + path /var/lib/zope2/plone01/filestorage/Data.fs 85 + </filestorage> 86 + </blobstorage> 87 87 </zodb_db> 88 88 ''; 89 89 ··· 107 107 let 108 108 interpreter = pkgs.writeScript "interpreter" 109 109 '' 110 - import sys 110 + import sys 111 111 112 - _interactive = True 113 - if len(sys.argv) > 1: 114 - _options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:') 115 - _interactive = False 116 - for (_opt, _val) in _options: 117 - if _opt == '-i': 118 - _interactive = True 119 - elif _opt == '-c': 120 - exec _val 121 - elif _opt == '-m': 122 - sys.argv[1:] = _args 123 - _args = [] 124 - __import__("runpy").run_module( 125 - _val, {}, "__main__", alter_sys=True) 112 + _interactive = True 113 + if len(sys.argv) > 1: 114 + _options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:') 115 + _interactive = False 116 + for (_opt, _val) in _options: 117 + if _opt == '-i': 118 + _interactive = True 119 + elif _opt == '-c': 120 + exec _val 121 + elif _opt == '-m': 122 + sys.argv[1:] = _args 123 + _args = [] 124 + __import__("runpy").run_module( 125 + _val, {}, "__main__", alter_sys=True) 126 126 127 - if _args: 128 - sys.argv[:] = _args 129 - __file__ = _args[0] 130 - del _options, _args 131 - execfile(__file__) 127 + if _args: 128 + sys.argv[:] = _args 129 + __file__ = _args[0] 130 + del _options, _args 131 + execfile(__file__) 132 132 133 - if _interactive: 134 - del _interactive 135 - __import__("code").interact(banner="", local=globals()) 133 + if _interactive: 134 + del _interactive 135 + __import__("code").interact(banner="", local=globals()) 136 136 ''; 137 137 env = pkgs.buildEnv { 138 138 name = "zope2-${name}-env"; ··· 149 149 ''; 150 150 }; 151 151 conf = pkgs.writeText "zope2-${name}-conf" 152 - ''%define INSTANCEHOME ${env} 153 - instancehome $INSTANCEHOME 154 - %define CLIENTHOME /var/lib/zope2/${name} 155 - clienthome $CLIENTHOME 152 + '' 153 + %define INSTANCEHOME ${env} 154 + instancehome $INSTANCEHOME 155 + %define CLIENTHOME /var/lib/zope2/${name} 156 + clienthome $CLIENTHOME 156 157 157 - debug-mode off 158 - security-policy-implementation C 159 - verbose-security off 160 - default-zpublisher-encoding utf-8 161 - zserver-threads ${toString opts.threads} 162 - effective-user ${opts.user} 158 + debug-mode off 159 + security-policy-implementation C 160 + verbose-security off 161 + default-zpublisher-encoding utf-8 162 + zserver-threads ${toString opts.threads} 163 + effective-user ${opts.user} 163 164 164 - pid-filename /var/lib/zope2/${name}/pid 165 - lock-filename /var/lib/zope2/${name}/lock 166 - python-check-interval 1000 167 - enable-product-installation off 165 + pid-filename /var/lib/zope2/${name}/pid 166 + lock-filename /var/lib/zope2/${name}/lock 167 + python-check-interval 1000 168 + enable-product-installation off 168 169 169 - <environment> 170 - zope_i18n_compile_mo_files false 171 - </environment> 170 + <environment> 171 + zope_i18n_compile_mo_files false 172 + </environment> 172 173 173 - <eventlog> 174 - level INFO 175 - <logfile> 176 - path /var/log/zope2/${name}.log 177 - level INFO 178 - </logfile> 179 - </eventlog> 174 + <eventlog> 175 + level INFO 176 + <logfile> 177 + path /var/log/zope2/${name}.log 178 + level INFO 179 + </logfile> 180 + </eventlog> 180 181 181 - <logger access> 182 - level WARN 183 - <logfile> 184 - path /var/log/zope2/${name}-Z2.log 185 - format %(message)s 186 - </logfile> 187 - </logger> 182 + <logger access> 183 + level WARN 184 + <logfile> 185 + path /var/log/zope2/${name}-Z2.log 186 + format %(message)s 187 + </logfile> 188 + </logger> 188 189 189 - <http-server> 190 - address ${opts.http_address} 191 - </http-server> 190 + <http-server> 191 + address ${opts.http_address} 192 + </http-server> 192 193 193 - <zodb_db temporary> 194 - <temporarystorage> 195 - name temporary storage for sessioning 196 - </temporarystorage> 197 - mount-point /temp_folder 198 - container-class Products.TemporaryFolder.TemporaryContainer 199 - </zodb_db> 194 + <zodb_db temporary> 195 + <temporarystorage> 196 + name temporary storage for sessioning 197 + </temporarystorage> 198 + mount-point /temp_folder 199 + container-class Products.TemporaryFolder.TemporaryContainer 200 + </zodb_db> 200 201 201 - ${opts.extra} 202 + ${opts.extra} 202 203 ''; 203 204 ctlScript = pkgs.writeScript "zope2-${name}-ctl-script" 204 - ''#!${env}/bin/python 205 + '' 206 + #!${env}/bin/python 205 207 206 - import sys 207 - import plone.recipe.zope2instance.ctl 208 + import sys 209 + import plone.recipe.zope2instance.ctl 208 210 209 - if __name__ == '__main__': 210 - sys.exit(plone.recipe.zope2instance.ctl.main( 211 - ["-C", "${conf}"] 212 - + sys.argv[1:])) 211 + if __name__ == '__main__': 212 + sys.exit(plone.recipe.zope2instance.ctl.main( 213 + ["-C", "${conf}"] 214 + + sys.argv[1:])) 213 215 ''; 214 216 215 217 ctl = pkgs.writeScript "zope2-${name}-ctl" 216 - ''#!${pkgs.bash}/bin/bash -e 217 - export PYTHONHOME=${env} 218 - exec ${ctlScript} "$@" 218 + '' 219 + #!${pkgs.bash}/bin/bash -e 220 + export PYTHONHOME=${env} 221 + exec ${ctlScript} "$@" 219 222 ''; 220 223 in { 221 224 description = "zope2 ${name} instance";
+51
nixos/modules/services/x11/redshift.nix
··· 1 + { config, pkgs, ... }: 2 + with pkgs.lib; 3 + let 4 + cfg = config.services.redshift; 5 + 6 + in { 7 + options = { 8 + services.redshift.enable = mkOption { 9 + type = types.bool; 10 + default = false; 11 + example = true; 12 + description = "Enable Redshift to change your screen's colour temperature depending on the time of day"; 13 + }; 14 + 15 + services.redshift.latitude = mkOption { 16 + description = "Your current latitude"; 17 + type = types.string; 18 + }; 19 + 20 + services.redshift.longitude = mkOption { 21 + description = "Your current longitude"; 22 + type = types.string; 23 + }; 24 + 25 + services.redshift.temperature = { 26 + day = mkOption { 27 + description = "Colour temperature to use during day time"; 28 + default = 5500; 29 + type = types.int; 30 + }; 31 + night = mkOption { 32 + description = "Colour temperature to use during night time"; 33 + default = 3700; 34 + type = types.int; 35 + }; 36 + }; 37 + }; 38 + 39 + config = mkIf cfg.enable { 40 + systemd.services.redshift = { 41 + description = "Redshift colour temperature adjuster"; 42 + requires = [ "display-manager.service" ]; 43 + script = '' 44 + ${pkgs.redshift}/bin/redshift \ 45 + -l ${cfg.latitude}:${cfg.longitude} \ 46 + -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} 47 + ''; 48 + environment = { DISPLAY = ":0"; }; 49 + }; 50 + }; 51 + }
+5 -2
nixos/modules/services/x11/xserver.nix
··· 232 232 s3tcSupport = mkOption { 233 233 default = false; 234 234 description = '' 235 - Make S2TC via libtxc_dxtn available to OpenGL drivers. Using 236 - this library may require a patent license depending on your location. 235 + Make S3TC(S3 Texture Compression) via libtxc_dxtn available 236 + to OpenGL drivers. It is essential for many games to work 237 + with FOSS GPU drivers. 238 + 239 + Using this library may require a patent license depending on your location. 237 240 ''; 238 241 }; 239 242
+6 -2
nixos/modules/system/activation/activation-script.nix
··· 44 44 }; 45 45 46 46 description = '' 47 - Activate the new configuration (i.e., update /etc, make accounts, 48 - and so on). 47 + A set of shell script fragments that are executed when a NixOS 48 + system configuration is activated. Examples are updating 49 + /etc, creating accounts, and so on. Since these are executed 50 + every time you boot the system or run 51 + <command>nixos-rebuild</command>, it's important that they are 52 + idempotent and fast. 49 53 ''; 50 54 51 55 merge = mergeTypedOption "script" builtins.isAttrs (fold mergeAttrs {});
+4 -1
nixos/modules/system/activation/top-level.nix
··· 122 122 options = { 123 123 124 124 system.build = mkOption { 125 + internal = true; 125 126 default = {}; 126 127 description = '' 127 128 Attribute set of derivations used to setup the system. ··· 144 145 }; 145 146 146 147 system.boot.loader.id = mkOption { 148 + internal = true; 147 149 default = ""; 148 150 description = '' 149 151 Id string of the used bootloader. ··· 151 153 }; 152 154 153 155 system.boot.loader.kernelFile = mkOption { 156 + internal = true; 154 157 default = pkgs.stdenv.platform.kernelTarget; 155 158 type = types.uniq types.string; 156 159 description = '' ··· 169 172 }; 170 173 171 174 system.extraSystemBuilderCmds = mkOption { 172 - default = ""; 173 175 internal = true; 176 + default = ""; 174 177 merge = concatStringsSep "\n"; 175 178 description = '' 176 179 This code will be added to the builder creating the system store path.
+32 -33
nixos/modules/system/boot/loader/grub/grub.nix
··· 86 86 ''; 87 87 }; 88 88 89 - # !!! How can we mark options as obsolete? 90 - bootDevice = mkOption { 91 - default = ""; 92 - description = "Obsolete."; 93 - }; 94 - 95 89 configurationName = mkOption { 96 90 default = ""; 97 91 example = "Stable 2.6.21"; ··· 173 167 }; 174 168 175 169 splashImage = mkOption { 176 - default = 177 - if cfg.version == 1 178 - then pkgs.fetchurl { 179 - url = http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz; 180 - sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; 181 - } 182 - # GRUB 1.97 doesn't support gzipped XPMs. 183 - else ./winkler-gnu-blue-640x480.png; 184 - example = null; 170 + example = literalExample "./my-background.png"; 185 171 description = '' 186 172 Background image used for GRUB. It must be a 640x480, 187 173 14-colour image in XPM format, optionally compressed with ··· 233 219 234 220 ###### implementation 235 221 236 - config = mkIf cfg.enable { 222 + config = mkMerge [ 223 + 224 + { boot.loader.grub.splashImage = mkDefault ( 225 + if cfg.version == 1 then pkgs.fetchurl { 226 + url = http://www.gnome-look.org/CONTENT/content-files/36909-soft-tux.xpm.gz; 227 + sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59"; 228 + } 229 + # GRUB 1.97 doesn't support gzipped XPMs. 230 + else ./winkler-gnu-blue-640x480.png); 231 + } 232 + 233 + (mkIf cfg.enable { 237 234 238 - boot.loader.grub.devices = optional (cfg.device != "") cfg.device; 235 + boot.loader.grub.devices = optional (cfg.device != "") cfg.device; 236 + 237 + system.build.installBootLoader = 238 + if cfg.devices == [] then 239 + throw "You must set the ‘boot.loader.grub.device’ option to make the system bootable." 240 + else 241 + "PERL5LIB=${makePerlPath [ pkgs.perlPackages.XMLLibXML pkgs.perlPackages.XMLSAX ]} " + 242 + "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}"; 239 243 240 - system.build.installBootLoader = 241 - if cfg.devices == [] then 242 - throw "You must set the ‘boot.loader.grub.device’ option to make the system bootable." 243 - else 244 - "PERL5LIB=${makePerlPath [ pkgs.perlPackages.XMLLibXML pkgs.perlPackages.XMLSAX ]} " + 245 - "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}"; 244 + system.build.grub = grub; 246 245 247 - system.build.grub = grub; 246 + # Common attribute for boot loaders so only one of them can be 247 + # set at once. 248 + system.boot.loader.id = "grub"; 248 249 249 - # Common attribute for boot loaders so only one of them can be 250 - # set at once. 251 - system.boot.loader.id = "grub"; 250 + environment.systemPackages = [ grub ]; 252 251 253 - environment.systemPackages = [ grub ]; 252 + boot.loader.grub.extraPrepareConfig = 253 + concatStrings (mapAttrsToList (n: v: '' 254 + ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" 255 + '') config.boot.loader.grub.extraFiles); 254 256 255 - boot.loader.grub.extraPrepareConfig = 256 - concatStrings (mapAttrsToList (n: v: '' 257 - ${pkgs.coreutils}/bin/cp -pf "${v}" "/boot/${n}" 258 - '') config.boot.loader.grub.extraFiles); 257 + }) 259 258 260 - }; 259 + ]; 261 260 262 261 }
+4 -4
nixos/modules/system/boot/luksroot.nix
··· 44 44 { 45 45 46 46 options = { 47 - boot.initrd.luks.enable = mkOption { 48 - default = false; 49 - description = "Obsolete."; 50 - }; 51 47 52 48 boot.initrd.luks.mitigateDMAAttacks = mkOption { 49 + type = types.bool; 53 50 default = true; 54 51 description = '' 55 52 Unless enabled, encryption keys can be easily recovered by an attacker with physical ··· 62 59 }; 63 60 64 61 boot.initrd.luks.cryptoModules = mkOption { 62 + type = types.listOf types.string; 65 63 default = 66 64 [ "aes" "aes_generic" "blowfish" "twofish" 67 65 "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" ··· 142 140 }; 143 141 144 142 }; 143 + 145 144 }; 145 + 146 146 }; 147 147 148 148 config = mkIf (luks.devices != []) {
+1 -1
nixos/modules/virtualisation/libvirtd.nix
··· 61 61 config = mkIf cfg.enable { 62 62 63 63 environment.systemPackages = 64 - [ pkgs.libvirt ] 64 + [ pkgs.libvirt pkgs.netcat-openbsd ] 65 65 ++ optional cfg.enableKVM pkgs.qemu_kvm; 66 66 67 67 boot.kernelModules = [ "tun" ];
+7 -14
nixos/release.nix
··· 16 16 17 17 18 18 versionModule = 19 - { system.nixosVersionSuffix = versionSuffix; }; 19 + { system.nixosVersionSuffix = versionSuffix; 20 + system.nixosRevision = nixpkgs.rev or nixpkgs.shortRev; 21 + }; 20 22 21 23 22 24 makeIso = ··· 73 75 }; 74 76 75 77 76 - in { 78 + in rec { 77 79 78 80 channel = 79 81 pkgs.releaseTools.makeSourceTarball { ··· 91 93 distPhase = '' 92 94 rm -rf .git 93 95 echo -n $VERSION_SUFFIX > .version-suffix 96 + echo -n ${nixpkgs.rev or nixpkgs.shortRev} > .git-revision 94 97 releaseName=nixos-$VERSION$VERSION_SUFFIX 95 98 mkdir -p $out/tarballs 96 99 mkdir ../$releaseName ··· 106 109 }; 107 110 108 111 109 - manual = 110 - (import ./doc/manual { 111 - inherit pkgs; 112 - options = 113 - (import lib/eval-config.nix { 114 - modules = [ 115 - { fileSystems = []; 116 - boot.loader.grub.device = "/dev/sda"; 117 - } ]; 118 - }).options; 119 - revision = toString (nixpkgs.rev or nixpkgs.shortRev); 120 - }).manual; 112 + manual = iso_minimal.x86_64-linux.config.system.build.manual.manual; 113 + manpages = iso_minimal.x86_64-linux.config.system.build.manual.manpages; 121 114 122 115 123 116 iso_minimal = pkgs.lib.genAttrs systems (system: makeIso {
+2 -1
nixos/tests/default.nix
··· 21 21 #mpich = makeTest (import ./mpich.nix); 22 22 mysql = makeTest (import ./mysql.nix); 23 23 mysql_replication = makeTest (import ./mysql-replication.nix); 24 + munin = makeTest (import ./munin.nix); 24 25 nat = makeTest (import ./nat.nix); 25 26 nfs3 = makeTest (import ./nfs.nix { version = 3; }); 26 27 #nfs4 = makeTest (import ./nfs.nix { version = 4; }); 27 28 openssh = makeTest (import ./openssh.nix); 28 - partition = makeTest (import ./partition.nix); 29 + #partition = makeTest (import ./partition.nix); 29 30 printing = makeTest (import ./printing.nix); 30 31 proxy = makeTest (import ./proxy.nix); 31 32 quake3 = makeTest (import ./quake3.nix);
+31
nixos/tests/munin.nix
··· 1 + { pkgs, ... }: 2 + 3 + # This test runs basic munin setup with node and cron job running on the same 4 + # machine. 5 + 6 + { 7 + nodes = { 8 + one = 9 + { config, pkgs, ... }: 10 + { 11 + services = { 12 + munin-node.enable = true; 13 + munin-cron = { 14 + enable = true; 15 + hosts = '' 16 + [${config.networking.hostName}] 17 + address localhost 18 + ''; 19 + }; 20 + }; 21 + }; 22 + }; 23 + 24 + testScript = '' 25 + startAll; 26 + 27 + $one->waitForUnit("munin-node.service"); 28 + $one->waitForFile("/var/lib/munin/one/one-uptime-uptime-g.rrd"); 29 + $one->waitForFile("/var/www/munin/one/index.html"); 30 + ''; 31 + }
+14 -5
pkgs/applications/audio/audacious/default.nix
··· 1 1 { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs 2 2 , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg 3 - , libvorbis, libcdio, libcddb, flac, ffmpeg 3 + , libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper 4 4 }: 5 5 6 6 let 7 - version = "3.3.4"; 7 + version = "3.4.1"; 8 8 in 9 9 stdenv.mkDerivation { 10 10 name = "audacious-${version}"; 11 11 12 12 src = fetchurl { 13 13 url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; 14 - sha256 = "19zw4yj8g4fvxkv0ql8v8vgxzldxl1fzig239zzv88mpnvwxn737"; 14 + sha256 = "0wf99b0nrk90fyak4gpwi076qnsrmv1j8958cvi57rxig21lvvap"; 15 15 }; 16 16 17 17 pluginsSrc = fetchurl { 18 18 url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; 19 - sha256 = "1l5g0zq73qp1hlrf4xsaj0n3hg0asrp7169531jgpncjn15dhvdn"; 19 + sha256 = "02ivrxs6109nmmz9pkbf9dkm36s2lyp9vfv59sm0acxxd4db71md"; 20 20 }; 21 21 22 22 buildInputs = 23 23 [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib 24 24 libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio 25 - libcddb ffmpeg 25 + libcddb ffmpeg makeWrapper 26 26 ]; 27 27 28 28 # Here we build bouth audacious and audacious-plugins in one ··· 44 44 src=$pluginsSrc 45 45 genericBuild 46 46 ) 47 + 48 + ( 49 + source $stdenv/setup 50 + # gsettings schemas for file dialogues 51 + for file in "$out"/bin/*; do 52 + wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD" 53 + done 54 + ) 47 55 ''; 56 + XDG_ADD = gtk3 + "/share"; 48 57 49 58 enableParallelBuilding = true; 50 59
+18 -16
pkgs/applications/audio/spotify/default.nix
··· 1 - { 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 }: 1 + { fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype 2 + , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf 3 + , libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev }: 2 4 3 5 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; 4 6 5 7 let 6 - version = "0.9.1.55"; 8 + version = "0.9.4.183"; 7 9 qt4webkit = 8 10 if stdenv.system == "i686-linux" then 9 11 fetchurl { ··· 25 27 src = 26 28 if stdenv.system == "i686-linux" then 27 29 fetchurl { 28 - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_i386.deb"; 29 - sha256 = "1sls4gb85700126bbk4sz73ipa2rjcinmpnsi78q0bsdj365y2wc"; 30 + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_i386.deb"; 31 + sha256 = "1wl6v5x8vm74h5lxp8fhvmih8l122aadsf1qxvpk0k3y6mbx0ifa"; 30 32 } 31 33 else if stdenv.system == "x86_64-linux" then 32 34 fetchurl { 33 - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_amd64.deb"; 34 - sha256 = "10pzj3p8bjbxh9nnm4qc5s1hn9nh7hgh3vbwm0xblj9rn71wl03y"; 35 + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_amd64.deb"; 36 + sha256 = "1yniln6iswrrrny01qr2w5zcvam0vnrvy9mwbnk9i14i2ch0f3fx"; 35 37 } 36 38 else throw "Spotify not supported on this platform."; 37 39 ··· 56 58 ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d 57 59 ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d 58 60 ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d 61 + 62 + # Work around Spotify trying to open libudev.so.0 (which we don't have) 63 + ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0 59 64 60 65 mkdir -p $out/bin 61 66 62 67 ln -s $out/spotify-client/spotify $out/bin/spotify 63 68 patchelf \ 64 69 --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ 65 - --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 \ 70 + --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 \ 66 71 $out/spotify-client/spotify 67 72 68 73 dpkg-deb -x ${qt4webkit} ./ ··· 74 79 gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC 75 80 76 81 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" 82 + 83 + # Desktop file 84 + mkdir -p "$out/share/applications/" 85 + cp "$out/spotify-client/spotify.desktop" "$out/share/applications/" 86 + sed -i "s|Icon=.*|Icon=$out/spotify-client/Icons/spotify-linux-512.png|" "$out/share/applications/spotify.desktop" 77 87 ''; # */ 78 88 79 89 dontStrip = true; 80 90 dontPatchELF = true; 81 91 82 92 meta = { 83 - homepage = https://www.spotify.com/download/previews/; 93 + homepage = https://www.spotify.com/; 84 94 description = "Spotify for Linux allows you to play music from the Spotify music service"; 85 95 license = "unfree"; 86 96 maintainers = [ stdenv.lib.maintainers.eelco ]; 87 - 88 - longDescription = 89 - '' 90 - Spotify is a digital music streaming service. This package 91 - provides the Spotify client for Linux. At present, it does not 92 - work with free Spotify accounts; it requires a Premium or 93 - Unlimited account. 94 - ''; 95 97 }; 96 98 }
+3 -2
pkgs/applications/editors/emacs-24/default.nix
··· 46 46 (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) 47 47 (split-string (getenv "NIX_PROFILES")))) 48 48 load-path))) 49 + 50 + ;; make tramp work for NixOS machines 51 + (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) 49 52 EOF 50 53 ''; 51 - 52 - 53 54 54 55 doCheck = true; 55 56
+6 -6
pkgs/applications/misc/synergy/cryptopp.patch
··· 20 20 21 21 if (WIN32) 22 22 # add /analyze in order to unconver potential bugs in the source code 23 - diff --git a/src/lib/synergy/CCryptoMode.h b/src/lib/synergy/CCryptoMode.h 23 + diff --git a/src/lib/io/CCryptoMode.h b/src/lib/io/CCryptoMode.h 24 24 index 9b7e8ad..0d659ac 100644 25 - --- a/src/lib/synergy/CCryptoMode.h 26 - +++ b/src/lib/synergy/CCryptoMode.h 25 + --- a/src/lib/io/CCryptoMode.h 26 + +++ b/src/lib/io/CCryptoMode.h 27 27 @@ -17,9 +17,9 @@ 28 28 29 29 #pragma once ··· 37 37 #include "ECryptoMode.h" 38 38 #include "CString.h" 39 39 40 - diff --git a/src/lib/synergy/CCryptoStream.h b/src/lib/synergy/CCryptoStream.h 40 + diff --git a/src/lib/io/CCryptoStream.h b/src/lib/io/CCryptoStream.h 41 41 index 104b1f6..09c4dc4 100644 42 - --- a/src/lib/synergy/CCryptoStream.h 43 - +++ b/src/lib/synergy/CCryptoStream.h 42 + --- a/src/lib/io/CCryptoStream.h 43 + +++ b/src/lib/io/CCryptoStream.h 44 44 @@ -20,8 +20,8 @@ 45 45 #include "BasicTypes.h" 46 46 #include "CStreamFilter.h"
+3 -3
pkgs/applications/misc/synergy/default.nix
··· 7 7 with stdenv.lib; 8 8 9 9 stdenv.mkDerivation rec { 10 - name = "synergy-1.4.12"; 10 + name = "synergy-1.4.15"; 11 11 12 12 src = fetchurl { 13 - url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; 14 - sha256 = "0j884skwqy8r8ckj9a4rlwsbjwb1yrj9wqma1nwhr2inff6hrdim"; 13 + url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; 14 + sha256 = "0l1mxxky9hacyva0npzkgkwg4wkmihzq3abdrds0w5f6is44adv4"; 15 15 }; 16 16 17 17 patches = optional stdenv.isLinux ./cryptopp.patch;
+39
pkgs/applications/misc/urlview/default.nix
··· 1 + { stdenv, fetchurl, ncurses, automake111x, autoreconfHook }: 2 + 3 + stdenv.mkDerivation rec { 4 + version = "0.9"; 5 + patchLevel = "19"; 6 + 7 + name = "urlview-${version}-${patchLevel}"; 8 + 9 + urlBase = "mirror://debian/pool/main/u/urlview/"; 10 + 11 + src = fetchurl { 12 + url = urlBase + "urlview_${version}.orig.tar.gz"; 13 + sha256 = "746ff540ccf601645f500ee7743f443caf987d6380e61e5249fc15f7a455ed42"; 14 + }; 15 + 16 + buildInputs = [ ncurses automake111x autoreconfHook ]; 17 + 18 + preAutoreconf = '' 19 + touch NEWS 20 + ''; 21 + 22 + preConfigure = '' 23 + mkdir -p $out/share/man/man1 24 + ''; 25 + 26 + debianPatches = fetchurl { 27 + url = urlBase + "urlview_${version}-${patchLevel}.diff.gz"; 28 + sha256 = "056883c17756f849fb9235596d274fbc5bc0d944fcc072bdbb13d1e828301585"; 29 + }; 30 + 31 + patches = debianPatches; 32 + 33 + meta = { 34 + description = "Extract URLs from text"; 35 + homepage = http://packages.qa.debian.org/u/urlview.html; 36 + licencse = stdenv.lib.licenses.gpl2; 37 + platforms = stdenv.lib.platforms.linux; 38 + }; 39 + }
+9 -15
pkgs/applications/misc/xpdf/default.nix
··· 18 18 }; 19 19 20 20 buildInputs = 21 - (if enableGUI then [x11 motif] else []) ++ 22 - (if useT1Lib then [t1lib] else []); 21 + stdenv.lib.optionals enableGUI [x11 motif] ++ 22 + stdenv.lib.optional useT1Lib t1lib ++ 23 + stdenv.lib.optional enablePDFtoPPM freetype; 23 24 24 25 # Debian uses '-fpermissive' to bypass some errors on char* constantness. 25 26 CXXFLAGS = "-O2 -fpermissive"; 26 27 27 - configureFlags = 28 - "--infodir=$out/share/info --mandir=$out/share/man --enable-a4-paper" 29 - + (if enablePDFtoPPM then 30 - " --with-freetype2-library=${freetype}/lib" 31 - + " --with-freetype2-includes=${freetype}/include/freetype2" 32 - else ""); 28 + configureFlags = "--enable-a4-paper"; 33 29 34 - postInstall = " 35 - if test -n \"${base14Fonts}\"; then 36 - substituteInPlace $out/etc/xpdfrc \\ 37 - --replace /usr/local/share/ghostscript/fonts ${base14Fonts} \\ 38 - --replace '#fontFile' fontFile 39 - fi 40 - "; 30 + postInstall = stdenv.lib.optionalString (base14Fonts != null) '' 31 + substituteInPlace $out/etc/xpdfrc \ 32 + --replace /usr/local/share/ghostscript/fonts ${base14Fonts} \ 33 + --replace '#fontFile' fontFile 34 + ''; 41 35 42 36 meta = { 43 37 homepage = "http://www.foolabs.com/xpdf/";
+9 -9
pkgs/applications/networking/browsers/chromium/sources.nix
··· 1 1 # This file is autogenerated from update.sh in the same directory. 2 2 { 3 3 dev = { 4 - version = "31.0.1650.4"; 5 - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.4.tar.xz"; 6 - sha256 = "1i61izfn06ldxkgdrisdibbn5hrghyjslf81yszpw69k0z87k3lm"; 4 + version = "32.0.1671.3"; 5 + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1671.3.tar.xz"; 6 + sha256 = "0bv86ig3mrd95zh78880bcyh9b8w46s7slxq3mwwmrmqp0s8qaq0"; 7 7 }; 8 8 beta = { 9 - version = "30.0.1599.66"; 10 - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.66.tar.xz"; 11 - sha256 = "092ps4y4s544lswrqqk8qij5n7ax4bsfl5vdj5cwfncvsqpjds4g"; 9 + version = "31.0.1650.26"; 10 + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-31.0.1650.26.tar.xz"; 11 + sha256 = "14jvbjn7nsc4psi7n6rjsb5d930k4jawbgqlx3hkhmkz5nhbrplx"; 12 12 }; 13 13 stable = { 14 - version = "30.0.1599.66"; 15 - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.66.tar.xz"; 16 - sha256 = "092ps4y4s544lswrqqk8qij5n7ax4bsfl5vdj5cwfncvsqpjds4g"; 14 + version = "30.0.1599.101"; 15 + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.101.tar.xz"; 16 + sha256 = "0bd49k9qpycpp4z230pqwsi22565lzhyq59js34baawjqql6ynfr"; 17 17 }; 18 18 }
+4 -2
pkgs/applications/networking/browsers/dwb/default.nix
··· 6 6 7 7 src = fetchgit { 8 8 url = "https://bitbucket.org/portix/dwb.git"; 9 - rev = "4a4c3adb8fbc680a0a2b8c9d3d3a4105c07c2514"; 10 - sha256 = "93e8f2c82609447d54a3c139c153cc66d37d3c6aa8922cd09717caa95fd8b1d5"; 9 + rev = "84a8621787baded72e84afdd5cdda278cb81e007"; 10 + sha256 = "5a32f3c21ad59b43935a16108244f84d260fafaea9b93d41e8de9ba9089ee7b0"; 11 11 }; 12 12 13 13 buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; ··· 21 21 wrapProgram "$out/bin/dwb" \ 22 22 --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ 23 23 --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" 24 + wrapProgram "$out/bin/dwbem" \ 25 + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" 24 26 ''; 25 27 26 28 meta = {
+4
pkgs/applications/networking/browsers/mozilla-plugins/fribid/builder.sh
··· 1 + source $stdenv/setup 2 + export PREFIX=$out 3 + configureFlags="--plugin-path=$out/lib/mozilla/plugins" 4 + genericBuild
+31
pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
··· 1 + { stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk3, gettext, intltool }: 2 + 3 + let version = "1.0.2"; in 4 + stdenv.mkDerivation rec { 5 + name = "fribid-${version}"; 6 + builder = ./builder.sh; 7 + 8 + src = fetchurl { 9 + url = "https://fribid.se/releases/source/${name}.tar.bz2"; 10 + sha256 = "d7cd9adf04fedf50b266a5c14ddb427cbb263d3bc160ee0ade03aca9d5356e5c"; 11 + }; 12 + 13 + buildInputs = [ pkgconfig openssl libX11 gtk3 glib gettext intltool ]; 14 + patches = [ 15 + ./translation-xgettext-to-intltool.patch 16 + ./plugin-linkfix.patch 17 + ./emulated-version.patch 18 + ./ipc-lazytrace.patch 19 + ]; 20 + 21 + passthru.mozillaPlugin = "/lib/mozilla/plugins"; 22 + 23 + meta = { 24 + description = "A browser plugin to manage Swedish BankID:s"; 25 + homepage = http://fribid.se; 26 + licenses = [ "GPLv2" "MPLv1" ]; 27 + maintainers = [ stdenv.lib.maintainers.edwtjo ]; 28 + platforms = with stdenv.lib.platforms; linux; 29 + }; 30 + } 31 +
+12
pkgs/applications/networking/browsers/mozilla-plugins/fribid/emulated-version.patch
··· 1 + --- a/common/defines.h 2012-11-14 18:02:43.000000000 +0100 2 + +++ b/common/defines.h 2013-09-20 19:17:45.669290630 +0200 3 + @@ -39,7 +39,7 @@ 4 + #define RELEASE_TIME 1352912534 5 + #define IPCVERSION "10" 6 + 7 + -#define EMULATED_VERSION "4.15.0.14" 8 + +#define EMULATED_VERSION "4.17.0.11" // Was 4.15.0.14 9 + #define DNSVERSION "2" 10 + #define STATUSDOMAIN ".status.fribid.se" 11 + 12 +
+10
pkgs/applications/networking/browsers/mozilla-plugins/fribid/ipc-lazytrace.patch
··· 1 + --- a/plugin/ipc.c 2012-11-14 18:02:43.000000000 +0100 2 + +++ b/plugin/ipc.c 2013-09-21 08:55:39.960265058 +0200 3 + @@ -74,6 +74,7 @@ 4 + //close(pipeOut[PIPE_READ_END]); 5 + 6 + execvp(mainBinary, (char *const *)argv); 7 + + fprintf(stderr, "Wanted signing executable\t<%s>\n", mainBinary); 8 + perror(BINNAME ": Failed to execute main binary"); 9 + exit(1); 10 + } else {
+11
pkgs/applications/networking/browsers/mozilla-plugins/fribid/plugin-linkfix.patch
··· 1 + --- a/plugin/Makefile 2013-09-18 13:55:11.091652553 +0200 2 + +++ b/plugin/Makefile 2013-09-18 13:58:27.513618750 +0200 3 + @@ -60,7 +60,7 @@ 4 + for path in $(NPAPI_PLUGIN_PATHS); do \ 5 + (../configure --internal--remove-link $(DESTDIR)$$path/libfribidplugin.so $(NPAPI_PLUGIN_LIB) || exit 1) && \ 6 + install -d $(DESTDIR)$$path && \ 7 + - ln -sf $(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \ 8 + + ln -sf $(DESTDIR)$(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \ 9 + done 10 + 11 + uninstall:
+16
pkgs/applications/networking/browsers/mozilla-plugins/fribid/translation-xgettext-to-intltool.patch
··· 1 + --- a/translations/Makefile 2013-09-18 07:25:16.503800613 +0200 2 + +++ b/translations/Makefile 2013-09-18 07:25:29.495869405 +0200 3 + @@ -38,7 +38,7 @@ 4 + all: template.pot $(MOFILES) 5 + 6 + template.pot: $(POTFILES) $(DEFINES) 7 + - xgettext -k_ -ktranslatable -d $(DOMAIN) --package-name=$(PACKAGENAME) --package-version=$(PACKAGEVERSION) --copyright-holder='YOUR NAME' -o $@ $(POTFILES) 8 + + intltool-update --gettext-package=$(PACKAGENAME) -o $@ sv 9 + 10 + .po.mo: 11 + msgfmt $< -o $@ 12 + --- a/translations/POTFILES.in 2013-09-16 20:28:56.766106014 +0200 13 + +++ b/translations/POTFILES.in 2013-09-18 13:15:05.252689648 +0200 14 + @@ -0,0 +1,2 @@ 15 + +client/gtk.c 16 + +client/gtk/sign.glade
+6 -6
pkgs/applications/networking/dropbox/default.nix
··· 2 2 , libSM, libX11, libXext, libXcomposite, libXcursor, libXdamage 3 3 , libXfixes, libXi, libXinerama, libXrandr, libXrender 4 4 , dbus, dbus_glib, fontconfig, gcc, patchelf 5 - , atk, glib, gdk_pixbuf, gtk, pango 5 + , atk, glib, gdk_pixbuf, gtk, pango, zlib 6 6 }: 7 7 8 8 # this package contains the daemon version of dropbox ··· 20 20 arch = if stdenv.system == "x86_64-linux" then "x86_64" 21 21 else if stdenv.system == "i686-linux" then "x86" 22 22 else throw "Dropbox client for: ${stdenv.system} not supported!"; 23 - 23 + 24 24 interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" 25 25 else if stdenv.system == "i686-linux" then "ld-linux.so.2" 26 26 else throw "Dropbox client for: ${stdenv.system} not supported!"; 27 27 28 - version = "1.4.21"; 29 - sha256 = if stdenv.system == "x86_64-linux" then "94073842f4a81feee80bca590e1df73fc3cab47ba879407ceba2de48f30d84e2" 30 - else if stdenv.system == "i686-linux" then "121v92m20l73xjmzng3vmcp4zsp9mlbcfia73f5py5y74kndb2ap" 28 + version = "2.4.3"; 29 + sha256 = if stdenv.system == "x86_64-linux" then "0g8iqgc18qbw8fvdjf0fhbal34rvwr5izrf5acfzqjg99dgih81r" 30 + else if stdenv.system == "i686-linux" then "1nhmk319whj6cil6wg9hrfln9bxin3fnf6sxb0zg2ycfpnnqi0la" 31 31 else throw "Dropbox client for: ${stdenv.system} not supported!"; 32 32 33 33 # relative location where the dropbox libraries are stored ··· 40 40 libSM libX11 libXext libXcomposite libXcursor libXdamage 41 41 libXfixes libXi libXinerama libXrandr libXrender 42 42 atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf 43 - gtk pango 43 + gtk pango zlib 44 44 ]; 45 45 46 46 desktopItem = makeDesktopItem {
+4 -4
pkgs/applications/science/logic/ekrhyper/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="ekrhyper"; 6 - version="1_4_08022013"; 6 + version="1_4_30072013"; 7 7 name="${baseName}-${version}"; 8 - hash="0vni5pq1p99428ii3g13chiqxcs8k1fm6jlvg1jqh4qdcs42w7yb"; 9 - url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_08022013.tar.gz"; 10 - sha256="0vni5pq1p99428ii3g13chiqxcs8k1fm6jlvg1jqh4qdcs42w7yb"; 8 + hash="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663"; 9 + url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_30072013.tar.gz"; 10 + sha256="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663"; 11 11 }; 12 12 buildInputs = [ 13 13 ocaml perl
+4 -4
pkgs/applications/science/logic/eprover/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="eprover"; 6 - version="1.7"; 6 + version="1.8"; 7 7 name="${baseName}-${version}"; 8 - hash="1prkgjpg8lajcylz9nj2hfjxl3l42cqbfvilg30z9b5br14l36rh"; 9 - url="http://www4.in.tum.de/~schulz/WORK/E_DOWNLOAD/V_1.7/E.tgz"; 10 - sha256="1prkgjpg8lajcylz9nj2hfjxl3l42cqbfvilg30z9b5br14l36rh"; 8 + hash="0bl4dr7k6simwdvdyxhnjkiz4nm5y0nr8bfhc34zk0360i9m6sk3"; 9 + url="http://www4.in.tum.de/~schulz/WORK/E_DOWNLOAD/V_1.8/E.tgz"; 10 + sha256="0bl4dr7k6simwdvdyxhnjkiz4nm5y0nr8bfhc34zk0360i9m6sk3"; 11 11 }; 12 12 in 13 13 stdenv.mkDerivation {
+5 -4
pkgs/applications/version-management/fossil/default.nix
··· 1 - {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite}: 1 + {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}: 2 2 3 3 stdenv.mkDerivation { 4 - name = "fossil-1.24"; 4 + name = "fossil-1.27"; 5 5 6 6 src = fetchurl { 7 - url = http://www.fossil-scm.org/download/fossil-src-20121022124804.tar.gz; 8 - sha256 = "0gcvcrd368acxd79gh7p7caicgqd0f076n0i2if63mg3b8ivz9im"; 7 + url = http://www.fossil-scm.org/download/fossil-src-20130911114349.tar.gz; 8 + sha256 = "0n40z8bx2311i11zjx2x15lw3q8vzjwvfqzikrjlqnpal4vzd72f"; 9 9 }; 10 10 11 11 buildInputs = [ zlib openssl readline sqlite ]; ··· 14 14 doCheck = true; 15 15 16 16 checkTarget = "test"; 17 + configureFlags = if withJson then "--json" else ""; 17 18 18 19 preBuild='' 19 20 export USER=nonexistent-but-specified-user
+4 -2
pkgs/applications/virtualization/virt-manager/default.nix
··· 1 - { stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc}: 1 + { stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, 2 + python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}: 2 3 3 4 with stdenv.lib; 4 5 ··· 18 19 distutils_extra simplejson readline glance cheetah lockfile httplib2 19 20 # !!! should libvirt be a build-time dependency? Note that 20 21 # libxml2Python is a dependency of libvirt.py. 21 - libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python gtkvnc 22 + libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python 23 + gtkvnc vte 22 24 ]; 23 25 24 26 buildInputs =
+5 -4
pkgs/applications/window-managers/compiz/default.nix
··· 15 15 s = # Generated upstream information 16 16 rec { 17 17 baseName="compiz"; 18 - version="0.9.9.0"; 19 - name="compiz-${version}"; 20 - url="https://launchpad.net/compiz/0.9.9/${version}/+download/${name}.tar.bz2"; 21 - sha256="0nxv9lv0zwzs82p2d5g38sbvzbqgfs837xdgwc26lh5wdv31d93s"; 18 + version="0.9.10.0"; 19 + name="${baseName}-${version}"; 20 + hash="0kvjib0ns02cikpsjq5hlf746yjx2gkfh373pvrb25lzv3rs1qax"; 21 + url="https://launchpad.net/compiz/0.9.10/0.9.10.0/+download/compiz-0.9.10.0.tar.bz2"; 22 + sha256="0kvjib0ns02cikpsjq5hlf746yjx2gkfh373pvrb25lzv3rs1qax"; 22 23 }; 23 24 buildInputs = [cmake pkgconfig 24 25 libXrender renderproto gtk libwnck pango cairo
+1 -1
pkgs/build-support/fetchurl/mirrors.nix
··· 159 159 160 160 # Debian. 161 161 debian = [ 162 - ftp://ftp.au.debian.org/debian/ 162 + #ftp://ftp.au.debian.org/debian/ 163 163 ftp://ftp.de.debian.org/debian/ 164 164 ftp://ftp.es.debian.org/debian/ 165 165 ftp://ftp.fr.debian.org/debian/
+1 -1
pkgs/build-support/upstream-updater/urls-from-page.sh
··· 9 9 10 10 echo "URL: $url" >&2 11 11 12 - curl -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \ 12 + 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' | \ 13 13 sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \ 14 14 sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`"
+82 -16
pkgs/build-support/vm/default.nix
··· 514 514 515 515 echo "%_topdir $rpmout" >> $HOME/.rpmmacros 516 516 517 - rpmbuild -vv -ta "$srcName" 517 + if [ `uname -m` = i686 ]; then extra="--target i686-linux"; fi 518 + rpmbuild -vv $extra -ta "$srcName" 518 519 519 520 eval "$postBuild" 520 521 ''; ··· 937 938 unifiedSystemDir = true; 938 939 }; 939 940 941 + fedora19i386 = { 942 + name = "fedora-19-i386"; 943 + fullName = "Fedora 19 (i386)"; 944 + packagesList = fetchurl { 945 + url = mirror://fedora/linux/releases/19/Everything/i386/os/repodata/b72220bcdefff8b38de1c9029a630db4813e073f88c4b080ca274d133e0460d1-primary.xml.gz; 946 + sha256 = "b72220bcdefff8b38de1c9029a630db4813e073f88c4b080ca274d133e0460d1"; 947 + }; 948 + urlPrefix = mirror://fedora/linux/releases/19/Everything/i386/os; 949 + archs = ["noarch" "i386" "i586" "i686"]; 950 + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; 951 + unifiedSystemDir = true; 952 + }; 953 + 954 + fedora19x86_64 = { 955 + name = "fedora-19-x86_64"; 956 + fullName = "Fedora 19 (x86_64)"; 957 + packagesList = fetchurl { 958 + url = mirror://fedora/linux/releases/19/Everything/x86_64/os/repodata/d3f67da6461748f57a06459e6877fd07858828e256f58f032704186a65430fd3-primary.xml.gz; 959 + sha256 = "d3f67da6461748f57a06459e6877fd07858828e256f58f032704186a65430fd3"; 960 + }; 961 + urlPrefix = mirror://fedora/linux/releases/19/Everything/x86_64/os; 962 + archs = ["noarch" "x86_64"]; 963 + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; 964 + unifiedSystemDir = true; 965 + }; 966 + 940 967 opensuse103i386 = { 941 968 name = "opensuse-10.3-i586"; 942 969 fullName = "openSUSE 10.3 (i586)"; ··· 1026 1053 1027 1054 /* The set of supported Dpkg-based distributions. */ 1028 1055 1029 - debDistros = { 1056 + debDistros = rec { 1030 1057 1031 1058 # Interestingly, the SHA-256 hashes provided by Ubuntu in 1032 1059 # http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are ··· 1335 1362 packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; 1336 1363 }; 1337 1364 1365 + ubuntu1310i386 = { 1366 + name = "ubuntu-13.10-saucy-i386"; 1367 + fullName = "Ubuntu 13.10 Saucy (i386)"; 1368 + packagesLists = 1369 + [ (fetchurl { 1370 + url = mirror://ubuntu/dists/saucy/main/binary-i386/Packages.bz2; 1371 + sha256 = "9b35d44a737e6aa7e1cb5e2b52ba0ed8717c8820b3950c2e7ade07024db9c138"; 1372 + }) 1373 + (fetchurl { 1374 + url = mirror://ubuntu/dists/saucy/universe/binary-i386/Packages.bz2; 1375 + sha256 = "84ff81ef23bcece68bfc3dd4b0b1fd38e5b81ac90ad48b4e4210396b425da500"; 1376 + }) 1377 + ]; 1378 + urlPrefix = mirror://ubuntu; 1379 + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; 1380 + }; 1381 + 1382 + ubuntu1310x86_64 = { 1383 + name = "ubuntu-13.10-saucy-amd64"; 1384 + fullName = "Ubuntu 13.10 Saucy (amd64)"; 1385 + packagesList = 1386 + [ (fetchurl { 1387 + url = mirror://ubuntu/dists/saucy/main/binary-amd64/Packages.bz2; 1388 + sha256 = "d000968f9653d7c25928002b0850fe2da97607682f63a351eb2c89896a219a12"; 1389 + }) 1390 + (fetchurl { 1391 + url = mirror://ubuntu/dists/saucy/universe/binary-amd64/Packages.bz2; 1392 + sha256 = "06ec77f2f5d6ee70ffb805affe3a6b3e8d5b6463fbfe42ba6588295c7e1f65bc"; 1393 + }) 1394 + ]; 1395 + urlPrefix = mirror://ubuntu; 1396 + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; 1397 + }; 1398 + 1338 1399 debian40i386 = { 1339 1400 name = "debian-4.0r9-etch-i386"; 1340 1401 fullName = "Debian 4.0r9 Etch (i386)"; ··· 1380 1441 }; 1381 1442 1382 1443 debian60i386 = { 1383 - name = "debian-6.0.7-squeeze-i386"; 1384 - fullName = "Debian 6.0.7 Squeeze (i386)"; 1444 + name = "debian-6.0.8-squeeze-i386"; 1445 + fullName = "Debian 6.0.8 Squeeze (i386)"; 1385 1446 packagesList = fetchurl { 1386 1447 url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; 1387 - sha256 = "a770f26b5fce1a16460b68f135dfe97f4f4a9894b538ece0104a508c83ec65d5"; 1448 + sha256 = "c850339aaf46a4ed4abc7c1789c29ea58c3a152aa173ee004578fda86b28391f"; 1388 1449 }; 1389 1450 urlPrefix = mirror://debian; 1390 1451 packages = commonDebianPackages; 1391 1452 }; 1392 1453 1393 1454 debian60x86_64 = { 1394 - name = "debian-6.0.7-squeeze-amd64"; 1395 - fullName = "Debian 6.0.7 Squeeze (amd64)"; 1455 + name = "debian-6.0.8-squeeze-amd64"; 1456 + fullName = "Debian 6.0.8 Squeeze (amd64)"; 1396 1457 packagesList = fetchurl { 1397 1458 url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; 1398 - sha256 = "b2bb561bde59ac67e07c70aa7c86a33f237436e6891796a93c6ed6ffb032080e"; 1459 + sha256 = "1506ab7de3ad5a2c706183536d2ee88589d7cb922d9e0de36ac062d464082dda"; 1399 1460 }; 1400 1461 urlPrefix = mirror://debian; 1401 1462 packages = commonDebianPackages; 1402 1463 }; 1403 1464 1404 - debian70i386 = { 1405 - name = "debian-7.1.0-wheezy-i386"; 1406 - fullName = "Debian 7.1.0 Wheezy (i386)"; 1465 + # Backward compatibility. 1466 + debian70i386 = debian7i386; 1467 + debian70x86_64 = debian7x86_64; 1468 + 1469 + debian7i386 = { 1470 + name = "debian-7.2-wheezy-i386"; 1471 + fullName = "Debian 7.2 Wheezy (i386)"; 1407 1472 packagesList = fetchurl { 1408 1473 url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; 1409 - sha256 = "c2751c48805b41c3eddd31cfe92ffa46df13a7d6ce7896b8dc5ce4b2f7f329c5"; 1474 + sha256 = "2e80242e323f233c40b3020b0f1a57d12df8a120ee82af88ff7032ba4688f97d"; 1410 1475 }; 1411 1476 urlPrefix = mirror://debian; 1412 1477 packages = commonDebianPackages; 1413 1478 }; 1414 1479 1415 - debian70x86_64 = { 1416 - name = "debian-7.1.0-wheezy-amd64"; 1417 - fullName = "Debian 7.1.0 Wheezy (amd64)"; 1480 + debian7x86_64 = { 1481 + name = "debian-7.2-wheezy-amd64"; 1482 + fullName = "Debian 7.2 Wheezy (amd64)"; 1418 1483 packagesList = fetchurl { 1419 1484 url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; 1420 - sha256 = "9b15b4348cadbcf170c9e83d6fbcb64efac2b787ebdfef16ba21dd70dfca0001"; 1485 + sha256 = "adfc4cd3d3b855c73c9e2e12163a33c193f98c9bad25765080fa6136378a6e3b"; 1421 1486 }; 1422 1487 urlPrefix = mirror://debian; 1423 1488 packages = commonDebianPackages; ··· 1515 1580 "curl" 1516 1581 "patch" 1517 1582 "locales" 1583 + "coreutils" 1518 1584 # Needed by checkinstall: 1519 1585 "util-linux" 1520 1586 "file"
+2 -2
pkgs/data/documentation/man-pages/default.nix
··· 1 1 { stdenv, fetchurl }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "man-pages-3.53"; 4 + name = "man-pages-3.54"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; 8 - sha256 = "0kzkjfrw65f7bv6laz3jism4yqajmfh3vdq2jb5d6gyp4n14sxnl"; 8 + sha256 = "0rb75dl9hh4v2s95bcssy12j8qrbd2dmlzry68gphyxk5c7yipbl"; 9 9 }; 10 10 11 11 preBuild =
+2 -2
pkgs/data/fonts/lmodern/lmmath.nix
··· 14 14 sourceRoot = "."; 15 15 16 16 installPhase = '' 17 - mkdir -p $out/texmf/fonts/opentype 17 + mkdir -p $out/texmf-dist/fonts/opentype 18 18 mkdir -p $out/share/fonts/opentype 19 19 20 - cp *.{OTF,otf} $out/texmf/fonts/opentype/lmmath-regular.otf 20 + cp *.{OTF,otf} $out/texmf-dist/fonts/opentype/lmmath-regular.otf 21 21 cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf 22 22 23 23 ln -s $out/texmf* $out/share/
+19
pkgs/development/compilers/ats2/default.nix
··· 1 + { stdenv, fetchurl, gmp }: 2 + 3 + let version = "0.0.3"; in stdenv.mkDerivation { 4 + name = "ats2-postiats-${version}"; 5 + 6 + src = fetchurl { 7 + url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; 8 + sha256 = "0hq63zrmm92j5ffnsmylhhllm8kgjpjkaj4xvzz1zlshz39lijxp"; 9 + }; 10 + 11 + buildInputs = [ gmp ]; 12 + 13 + meta = { 14 + description = "A statically typed programming language that unifies implementation with formal specification"; 15 + homepage = http://www.ats-lang.org/; 16 + license = stdenv.lib.licenses.gpl3Plus; 17 + maintainers = [ stdenv.lib.maintainers.shlevy ]; 18 + }; 19 + }
+9 -6
pkgs/development/compilers/elm/elm.nix
··· 1 - { cabal, binary, blazeHtml, blazeMarkup, cmdargs, filepath, hjsmin 2 - , indents, mtl, pandoc, parsec, transformers, unionFind, uniplate 1 + { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup 2 + , cmdargs, filepath, HTF, indents, languageEcmascript, mtl, pandoc 3 + , parsec, text, transformers, unionFind, uniplate 3 4 }: 4 5 5 6 cabal.mkDerivation (self: { 6 7 pname = "Elm"; 7 - version = "0.9.0.2"; 8 - sha256 = "0yr395wsj0spi6h9d6lm5hvdryybpf8i1qpv4gz9dk0bwlyc8iwh"; 8 + version = "0.10"; 9 + sha256 = "0wwda9w9r3qw7b23bj4qnfj4vgl7zwwnslxmgz3rv0cmxn9klqx2"; 9 10 isLibrary = true; 10 11 isExecutable = true; 11 12 buildDepends = [ 12 - binary blazeHtml blazeMarkup cmdargs filepath hjsmin indents mtl 13 - pandoc parsec transformers unionFind uniplate 13 + aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath 14 + indents languageEcmascript mtl pandoc parsec text transformers 15 + unionFind uniplate 14 16 ]; 17 + testDepends = [ HTF ]; 15 18 doCheck = false; 16 19 meta = { 17 20 homepage = "http://elm-lang.org";
+63
pkgs/development/compilers/ocaml/4.01.0.nix
··· 1 + { stdenv, fetchurl, ncurses, x11 }: 2 + 3 + let 4 + useX11 = !stdenv.isArm && !stdenv.isMips; 5 + useNativeCompilers = !stdenv.isMips; 6 + inherit (stdenv.lib) optionals optionalString; 7 + in 8 + 9 + stdenv.mkDerivation rec { 10 + 11 + name = "ocaml-4.01.0"; 12 + 13 + src = fetchurl { 14 + url = "http://caml.inria.fr/pub/distrib/ocaml-4.01/${name}.tar.bz2"; 15 + sha256 = "b1ca708994180236917ae79e17606da5bd334ca6acd6873a550027e1c0ec874a"; 16 + }; 17 + 18 + prefixKey = "-prefix "; 19 + configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ]; 20 + buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; 21 + buildInputs = [ncurses] ++ optionals useX11 [ x11 ]; 22 + installTargets = "install" + optionalString useNativeCompilers " installopt"; 23 + preConfigure = '' 24 + CAT=$(type -tp cat) 25 + sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang 26 + ''; 27 + postBuild = '' 28 + mkdir -p $out/include 29 + ln -sv $out/lib/ocaml/caml $out/include/caml 30 + ''; 31 + 32 + passthru = { 33 + nativeCompilers = useNativeCompilers; 34 + }; 35 + 36 + meta = { 37 + homepage = http://caml.inria.fr/ocaml; 38 + licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; 39 + description = "OCaml, the most popular variant of the Caml language"; 40 + 41 + longDescription = 42 + '' 43 + OCaml is the most popular variant of the Caml language. From a 44 + language standpoint, it extends the core Caml language with a 45 + fully-fledged object-oriented layer, as well as a powerful module 46 + system, all connected by a sound, polymorphic type system featuring 47 + type inference. 48 + 49 + The OCaml system is an industrial-strength implementation of this 50 + language, featuring a high-performance native-code compiler (ocamlopt) 51 + for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, 52 + Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) 53 + and an interactive read-eval-print loop (ocaml) for quick development 54 + and portability. The OCaml distribution includes a comprehensive 55 + standard library, a replay debugger (ocamldebug), lexer (ocamllex) and 56 + parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) 57 + and a documentation generator (ocamldoc). 58 + ''; 59 + 60 + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; 61 + }; 62 + 63 + }
+66
pkgs/development/compilers/smlnj/default.nix
··· 1 + { stdenv, fetchurl }: 2 + let 3 + version = "110.76"; 4 + baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; 5 + 6 + sources = map fetchurl [ 7 + { url = "${baseurl}/config.tgz"; sha256 = "0mx5gib1jq5hl3j6gvkkfh60x2hx146xiisclaz4jgy452ywikj1"; } 8 + { url = "${baseurl}/cm.tgz"; sha256 = "14y1pqqw5p5va3rvpk2jddx2gcm37z5hwp5zdm43z02afscq37jk"; } 9 + { url = "${baseurl}/compiler.tgz"; sha256 = "10gn7cwqzbnh4k3l6brb9hp59k9vz2m9fcaarv2fw1gilfw5a9rj"; } 10 + { url = "${baseurl}/runtime.tgz"; sha256 = "0zqajizayzrlrxm47q492mqgfxya7rwqrq4faafai8qfwga6q27n"; } 11 + { url = "${baseurl}/system.tgz"; sha256 = "0dys0f0cdgnivk1niam9g736c3mzrjf9r29051g0579an8yi8slg"; } 12 + { url = "${baseurl}/MLRISC.tgz"; sha256 = "00n1zk65cwf2kf669mn09lp0ya6bfap1czhyq0nfza409vm4v54x"; } 13 + { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "1mx1vjxbpfgcq6fkmh2qirjfqzn3wcnjf4a9ijr7k2bwgnh99sc1"; } 14 + { url = "${baseurl}/ckit.tgz"; sha256 = "1fqdxs2cgzffj0i9rmzv1aljwnhx98hyvj3c2kivw3ligxp4wly4"; } 15 + { url = "${baseurl}/nlffi.tgz"; sha256 = "08dmvs95xmbas3hx7n0csxxl0d0bmhxg7gav1ay02gy9n8iw3g87"; } 16 + { url = "${baseurl}/cml.tgz"; sha256 = "1qc1hs2k2xmn03ldyz2zf0pzbryd1n4bwix226ch8z9pnfimglyb"; } 17 + { url = "${baseurl}/eXene.tgz"; sha256 = "01z69rgmshh694wkcwrzi72z5d5glpijj7mqxb17yz106xyzmgim"; } 18 + { url = "${baseurl}/ml-lpt.tgz"; sha256 = "13gw4197ivzvd6qcbg5pzclhv1f2jy2c433halh021d60qjv4w4r"; } 19 + { url = "${baseurl}/ml-lex.tgz"; sha256 = "0sqa533zca1l7p79qhkb7lspvhk4k2r3839745sci32fzwy1804x"; } 20 + { url = "${baseurl}/ml-yacc.tgz"; sha256 = "1kzi0dpybd9hkklk460mgbwfkixjhav225kkmwnk3jxby3zgflci"; } 21 + { url = "${baseurl}/ml-burg.tgz"; sha256 = "0kjrba8l0v6jn3g6gv9dvrklpvxx9x57b7czwnrrd33pi28sv7fm"; } 22 + { url = "${baseurl}/pgraph.tgz"; sha256 = "174n22m7zibgk68033qql86kyk6mxjni4j0kcadafs0g2xmh6i6z"; } 23 + { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1pq4wwx5ad7zx1306ka06lqwnjv446zz6ndpq6s9ak6ha79f2s9p"; } 24 + { url = "${baseurl}/heap2asm.tgz"; sha256 = "0p91fzwkfr7hng7c026gy5ggl5l9isxpm007iq6ivpjrfjy547wc"; } 25 + { url = "${baseurl}/smlnj-c.tgz"; sha256 = "0vra4gi91w0cjsw3rm162hgz5xsqbr7yds44q7zhs27kccsirpqc"; } 26 + { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "0qcvdhlvpr02c1ssk4jz6175lb9pkdg7zrfscqz6f7crnsgmc5nx"; } 27 + ]; 28 + in stdenv.mkDerivation { 29 + name = "smlnj-${version}"; 30 + 31 + inherit sources; 32 + 33 + patchPhase = '' 34 + sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh 35 + echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl 36 + ''; 37 + 38 + unpackPhase = '' 39 + for s in $sources; do 40 + b=$(basename $s) 41 + cp $s ''${b#*-} 42 + done 43 + unpackFile config.tgz 44 + mkdir base 45 + ./config/unpack $TMP runtime 46 + ''; 47 + 48 + buildPhase = '' 49 + ./config/install.sh 50 + ''; 51 + 52 + installPhase = '' 53 + mkdir -pv $out 54 + cp -rv bin lib $out 55 + 56 + for i in $out/bin/*; do 57 + sed -i "2iSMLNJ_HOME=$out/" $i 58 + done 59 + ''; 60 + 61 + meta = { 62 + description = "Standard ML of New Jersey, a compiler"; 63 + homepage = http://smlnj.org; 64 + license = stdenv.lib.licenses.bsd3; 65 + }; 66 + }
+4 -2
pkgs/development/libraries/dbus/default.nix
··· 77 77 }); 78 78 79 79 80 - in rec { 80 + attrs = rec { 81 + # If you change much fix indentation 81 82 82 83 # This package has been split because most applications only need dbus.lib 83 84 # which serves as an interface to a *system-wide* daemon, ··· 114 115 docs = dbus_drv "docs" "doc" { 115 116 postInstall = ''rm -r "$out/lib"''; 116 117 }; 117 - } 118 + }; 119 + in attrs.libs // attrs
+3 -1
pkgs/development/libraries/glew/default.nix
··· 8 8 sha256 = "11xpmsw7m5qn7y8fa2ihhqcislz1bdd83mp99didd5ac84756dlv"; 9 9 }; 10 10 11 + 11 12 buildInputs = [ x11 libXmu libXi ]; 12 13 propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h 13 14 ··· 15 16 sed -i 's|lib64|lib|' config/Makefile.linux 16 17 ''; 17 18 19 + buildPhase = "make all"; 18 20 installPhase = '' 19 - GLEW_DEST=$out make install 21 + GLEW_DEST=$out make install.all 20 22 mkdir -pv $out/share/doc/glew 21 23 mkdir -p $out/lib/pkgconfig 22 24 cp glew*.pc $out/lib/pkgconfig
+26
pkgs/development/libraries/haskell/HTF/default.nix
··· 1 + { cabal, aeson, cpphs, Diff, filepath, haskellSrcExts, HUnit 2 + , liftedBase, monadControl, mtl, QuickCheck, random, regexCompat 3 + , temporary, text, unorderedContainers, xmlgen 4 + }: 5 + 6 + cabal.mkDerivation (self: { 7 + pname = "HTF"; 8 + version = "0.11.0.1"; 9 + sha256 = "0c4z76rsmdck60p7p2ypxx0d0r7k2vcb9viqp2yalyxzaaj7a9f5"; 10 + isLibrary = true; 11 + isExecutable = true; 12 + buildDepends = [ 13 + aeson cpphs Diff haskellSrcExts HUnit liftedBase monadControl mtl 14 + QuickCheck random regexCompat text xmlgen 15 + ]; 16 + testDepends = [ 17 + aeson filepath mtl random regexCompat temporary text 18 + unorderedContainers 19 + ]; 20 + meta = { 21 + homepage = "https://github.com/skogsbaer/HTF/"; 22 + description = "The Haskell Test Framework"; 23 + license = "LGPL"; 24 + platforms = self.ghc.meta.platforms; 25 + }; 26 + })
+3 -3
pkgs/development/libraries/haskell/Hipmunk/default.nix
··· 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "Hipmunk"; 5 - version = "5.2.0.11"; 6 - sha256 = "0pcbwlq0njgj6dzh8h94gml63wv52f6l9hdas378lm7v8gbizxl7"; 5 + version = "5.2.0.12"; 6 + sha256 = "0gybmwwij6gs3gsklcvck0nc1niyh6pvirnxgrcwclrz94ivpj42"; 7 7 buildDepends = [ StateVar transformers ]; 8 8 meta = { 9 - homepage = "http://patch-tag.com/r/felipe/hipmunk/home"; 9 + homepage = "https://github.com/meteficha/Hipmunk"; 10 10 description = "A Haskell binding for Chipmunk"; 11 11 license = "unknown"; 12 12 platforms = self.ghc.meta.platforms;
+2 -2
pkgs/development/libraries/haskell/case-insensitive/1.1.nix pkgs/development/libraries/haskell/case-insensitive/1.1.0.1.nix
··· 4 4 5 5 cabal.mkDerivation (self: { 6 6 pname = "case-insensitive"; 7 - version = "1.1"; 8 - sha256 = "1likcqdlhbbk78s887n5g9a4jjxxyh46hj4wc7l7snf6f9ygd5lj"; 7 + version = "1.1.0.1"; 8 + sha256 = "1hwkdkpr88r3s7c8w1msw1pawz8cfi0lwj1z9dcsp0xs788yzapp"; 9 9 buildDepends = [ deepseq hashable text ]; 10 10 testDepends = [ HUnit testFramework testFrameworkHunit text ]; 11 11 meta = {
+3 -8
pkgs/development/libraries/haskell/data-pprint/default.nix
··· 1 - { cabal, deepseq, mtl, parallel, time, fetchurl }: 1 + { cabal, deepseq, mtl, parallel, time }: 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "data-pprint"; 5 - version = "0.2.2"; 6 - sha256 = "0cr69qv2j8fmmlir8rzlafcxk1cg3lg1z0zrwkz0lb7idm25fy36"; 5 + version = "0.2.3"; 6 + sha256 = "1ygbhn399d4hlrdjmg7gxbr5akydb78p6qa80rv7m6j0fsqzbf6y"; 7 7 buildDepends = [ deepseq mtl parallel time ]; 8 - patches = [ (fetchurl { url = "https://github.com/divipp/ActiveHs-misc/pull/3.patch"; 9 - sha256 = "0wxvc7cbv4qpjl5zxy41863qpzda2ma75pmnnqx29qyh3rxp7biw"; 10 - }) 11 - ]; 12 - patchFlags = "-p2"; 13 8 meta = { 14 9 description = "Prettyprint and compare Data values"; 15 10 license = self.stdenv.lib.licenses.bsd3;
+1 -3
pkgs/development/libraries/haskell/hslua/default.nix
··· 1 - { cabal, lua, mtl }: 1 + { cabal, mtl }: 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "hslua"; 5 5 version = "0.3.7"; 6 6 sha256 = "1q5s2b7x9idvdvp31yl86mmy476gfq6rg8f0r8faqxrm45jwgv2q"; 7 7 buildDepends = [ mtl ]; 8 - pkgconfigDepends = [ lua ]; 9 - configureFlags = "-fsystem-lua"; 10 8 meta = { 11 9 description = "A Lua language interpreter embedding in Haskell"; 12 10 license = self.stdenv.lib.licenses.bsd3;
+23
pkgs/development/libraries/haskell/language-ecmascript/default.nix
··· 1 + { cabal, dataDefaultClass, Diff, filepath, HUnit, mtl, parsec 2 + , QuickCheck, testFramework, testFrameworkHunit 3 + , testFrameworkQuickcheck2, uniplate 4 + }: 5 + 6 + cabal.mkDerivation (self: { 7 + pname = "language-ecmascript"; 8 + version = "0.15.2"; 9 + sha256 = "1iszs9f2jryddcz36a6anfyfxpwjhzn49xjqvnd5m6rjdq6y403w"; 10 + buildDepends = [ 11 + dataDefaultClass Diff mtl parsec QuickCheck uniplate 12 + ]; 13 + testDepends = [ 14 + dataDefaultClass Diff filepath HUnit mtl parsec QuickCheck 15 + testFramework testFrameworkHunit testFrameworkQuickcheck2 16 + ]; 17 + meta = { 18 + homepage = "http://github.com/jswebtools/language-ecmascript"; 19 + description = "JavaScript parser and pretty-printer library"; 20 + license = self.stdenv.lib.licenses.bsd3; 21 + platforms = self.ghc.meta.platforms; 22 + }; 23 + })
+9 -8
pkgs/development/libraries/haskell/linear/default.nix
··· 1 - { cabal, distributive, doctest, filepath, hashable, HUnit, lens 2 - , reflection, semigroupoids, semigroups, simpleReflect, tagged 3 - , testFramework, testFrameworkHunit, transformers 1 + { cabal, binary, distributive, doctest, filepath, hashable, HUnit 2 + , lens, reflection, semigroupoids, semigroups, simpleReflect 3 + , tagged, testFramework, testFrameworkHunit, transformers 4 4 , unorderedContainers, vector 5 5 }: 6 6 7 7 cabal.mkDerivation (self: { 8 8 pname = "linear"; 9 - version = "1.3"; 10 - sha256 = "0b5qjsbdkqv0h1236lv2nisjh9yz7gc5bd6xv6i8q5jryzs43pi9"; 9 + version = "1.3.1"; 10 + sha256 = "1s07qbdi12rc4djk4s0ds5sh79qcqfmgrbwfj1ygskq3ra88qqsa"; 11 11 buildDepends = [ 12 - distributive hashable reflection semigroupoids semigroups tagged 13 - transformers unorderedContainers vector 12 + binary distributive hashable reflection semigroupoids semigroups 13 + tagged transformers unorderedContainers vector 14 14 ]; 15 15 testDepends = [ 16 - doctest filepath HUnit lens simpleReflect testFramework 16 + binary doctest filepath HUnit lens simpleReflect testFramework 17 17 testFrameworkHunit 18 18 ]; 19 19 meta = { ··· 21 21 description = "Linear Algebra"; 22 22 license = self.stdenv.lib.licenses.bsd3; 23 23 platforms = self.ghc.meta.platforms; 24 + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; 24 25 }; 25 26 })
+2 -2
pkgs/development/libraries/haskell/monad-control/default.nix
··· 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "monad-control"; 5 - version = "0.3.2.1"; 6 - sha256 = "17wfdg3a2kkx1jwh7gfgbyx4351b420krsf8syb8l9xrl9gdz5a3"; 5 + version = "0.3.2.2"; 6 + sha256 = "1wwcx2k0nzmjqxf8d8wasnhvdx5q3nxkcyq7vbprkfy85sj7ivxc"; 7 7 buildDepends = [ 8 8 baseUnicodeSymbols transformers transformersBase 9 9 ];
+5 -3
pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
··· 6 6 7 7 cabal.mkDerivation (self: { 8 8 pname = "pandoc-citeproc"; 9 - version = "0.1.2"; 10 - sha256 = "055msvrcqjkijkhzws48scpc4z90g0qjjsdcd0fhy309da6vax57"; 9 + version = "0.1.2.1"; 10 + sha256 = "13i4shpbd9swbsrpmkpb7jx79m12z12m9f3x167fs78509dak3iv"; 11 11 isLibrary = true; 12 12 isExecutable = true; 13 13 buildDepends = [ ··· 15 15 pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text 16 16 time utf8String vector yaml 17 17 ]; 18 - testDepends = [ aeson aesonPretty Diff pandoc pandocTypes ]; 18 + testDepends = [ 19 + aeson aesonPretty Diff filepath pandoc pandocTypes yaml 20 + ]; 19 21 doCheck = false; 20 22 meta = { 21 23 description = "Supports using pandoc with citeproc";
+2 -2
pkgs/development/libraries/haskell/pandoc-types/default.nix
··· 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "pandoc-types"; 5 - version = "1.12.2.3"; 6 - sha256 = "05xbpsx44sys0rkf2aqs4fcv4bg02ffhicp49jgnjyw9jiynhzzj"; 5 + version = "1.12.3"; 6 + sha256 = "1klfplpn2faw9da7xw5h5sx44annc2g7himyzyvb436wjnkjan0j"; 7 7 buildDepends = [ aeson syb ]; 8 8 meta = { 9 9 homepage = "http://johnmacfarlane.net/pandoc";
+2 -2
pkgs/development/libraries/haskell/pandoc/default.nix
··· 9 9 10 10 cabal.mkDerivation (self: { 11 11 pname = "pandoc"; 12 - version = "1.12.0.2"; 13 - sha256 = "125vl6l7nd3s3zwkms46y8l5zhg22iwz5387ll9rd2hf6asfpp56"; 12 + version = "1.12.1"; 13 + sha256 = "0csyrcfdqv2mc7ngn63lan3c1dd6zy0pb24k0z1lsraqlmmw76nf"; 14 14 isLibrary = true; 15 15 isExecutable = true; 16 16 buildDepends = [
+4 -4
pkgs/development/libraries/haskell/path-pieces/default.nix
··· 1 - { cabal, fileLocation, hspec, HUnit, QuickCheck, text, time }: 1 + { cabal, hspec, HUnit, QuickCheck, text, time }: 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "path-pieces"; 5 - version = "0.1.2"; 6 - sha256 = "1cxsa8lq1f2jf86iv6f17nraiav8k2vzjxln1y7z45qhcp1sbbaa"; 5 + version = "0.1.3"; 6 + sha256 = "03x9kfcaz1zsdpdzs05pcl0hv4hffgsl2js8xiy5slba6n841v4l"; 7 7 buildDepends = [ text time ]; 8 - testDepends = [ fileLocation hspec HUnit QuickCheck text ]; 8 + testDepends = [ hspec HUnit QuickCheck text ]; 9 9 meta = { 10 10 description = "Components of paths"; 11 11 license = self.stdenv.lib.licenses.bsd3;
+2 -2
pkgs/development/libraries/haskell/tagstream-conduit/default.nix
··· 5 5 6 6 cabal.mkDerivation (self: { 7 7 pname = "tagstream-conduit"; 8 - version = "0.5.4"; 9 - sha256 = "1djf66kn3m4sdwmis82f9w2nkmjyrq12zda7ic9pcsvra579868i"; 8 + version = "0.5.4.1"; 9 + sha256 = "1gahdil5jasm6v7gp519ahr2yc7ppysdnmkl21cd4zzn6y1r0gw9"; 10 10 buildDepends = [ 11 11 attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit 12 12 caseInsensitive conduit text transformers
+14
pkgs/development/libraries/haskell/text-format/default.nix
··· 1 + { cabal, doubleConversion, text, time, transformers }: 2 + 3 + cabal.mkDerivation (self: { 4 + pname = "text-format"; 5 + version = "0.3.1.0"; 6 + sha256 = "13k5a1kfmapd4yckm2vcrwz4vrrf32c2dpisdw0hyvzvmdib3n60"; 7 + buildDepends = [ doubleConversion text time transformers ]; 8 + meta = { 9 + homepage = "https://github.com/bos/text-format"; 10 + description = "Text formatting"; 11 + license = self.stdenv.lib.licenses.bsd3; 12 + platforms = self.ghc.meta.platforms; 13 + }; 14 + })
+10 -8
pkgs/development/libraries/haskell/uuid/default.nix
··· 1 - { cabal, binary, criterion, cryptohash, deepseq, HUnit, maccatcher 2 - , mersenneRandomPure64, QuickCheck, random, testFramework 3 - , testFrameworkHunit, testFrameworkQuickcheck2, time 1 + { cabal, binary, cryptohash, deepseq, hashable, HUnit, networkInfo 2 + , QuickCheck, random, testFramework, testFrameworkHunit 3 + , testFrameworkQuickcheck2, time 4 4 }: 5 5 6 6 cabal.mkDerivation (self: { 7 7 pname = "uuid"; 8 - version = "1.2.14"; 9 - sha256 = "13r2yzhb9nj1h6wfy7w9k59d27z9iza5r4apmf72zby2fi9vdnwy"; 10 - buildDepends = [ binary cryptohash maccatcher random time ]; 8 + version = "1.3.2"; 9 + sha256 = "0kwrb200i41l8ipgwviv934sa2ic2hqvlpj72pmkw4ba50viyc8m"; 10 + buildDepends = [ 11 + binary cryptohash deepseq hashable networkInfo random time 12 + ]; 11 13 testDepends = [ 12 - criterion deepseq HUnit mersenneRandomPure64 QuickCheck random 13 - testFramework testFrameworkHunit testFrameworkQuickcheck2 14 + HUnit QuickCheck random testFramework testFrameworkHunit 15 + testFrameworkQuickcheck2 14 16 ]; 15 17 jailbreak = true; 16 18 doCheck = false;
+2 -2
pkgs/development/libraries/haskell/xdot/default.nix
··· 2 2 3 3 cabal.mkDerivation (self: { 4 4 pname = "xdot"; 5 - version = "0.2.3.1"; 6 - sha256 = "1gricrnssxgzaq1z7nnyppmz284nix0m89477x22mal125pkcf7n"; 5 + version = "0.2.4"; 6 + sha256 = "0723drp9zs3hrayld99j4fniyvm65fz19hkk4001vpvgjw27dfja"; 7 7 buildDepends = [ cairo graphviz gtk mtl polyparse text ]; 8 8 meta = { 9 9 description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
+15
pkgs/development/libraries/haskell/xmlgen/default.nix
··· 1 + { cabal, blazeBuilder, filepath, HUnit, hxt, mtl, QuickCheck, text 2 + }: 3 + 4 + cabal.mkDerivation (self: { 5 + pname = "xmlgen"; 6 + version = "0.6.2.0"; 7 + sha256 = "0b6fyg6mlm068f2jjmil52az4hk144pryf1c0wr1gx6ddx9yzjy4"; 8 + buildDepends = [ blazeBuilder mtl text ]; 9 + testDepends = [ filepath HUnit hxt QuickCheck text ]; 10 + meta = { 11 + description = "Fast XML generation library"; 12 + license = self.stdenv.lib.licenses.bsd3; 13 + platforms = self.ghc.meta.platforms; 14 + }; 15 + })
+32
pkgs/development/libraries/jsoncpp/default.nix
··· 1 + { stdenv, fetchurl, scons}: 2 + 3 + let 4 + basename = "jsoncpp"; 5 + version = "0.6.0-rc2"; 6 + pkgname = "${basename}-src-${version}.tar.gz"; 7 + in 8 + stdenv.mkDerivation rec { 9 + name = "${basename}-${version}"; 10 + src = fetchurl { 11 + url = "mirror://sourceforge/${basename}/${pkgname}"; 12 + sha256 = "10xj15nziqpwc6r3yznpb49wm4jqc5wakjsmj65v087mcg8r7lfl"; 13 + }; 14 + 15 + buildInputs = [ scons ]; 16 + 17 + buildPhase = '' 18 + mkdir -p $out 19 + scons platform=linux-gcc check 20 + ''; 21 + 22 + installPhase = '' 23 + cp -r include $out 24 + cp -r libs/* $out/lib 25 + ''; 26 + 27 + meta = { 28 + homepage = http://jsoncpp.sourceforge.net; 29 + repositories.svn = svn://svn.code.sf.net/p/jsoncpp/code; 30 + description = "A simple API to manipulate JSON data in C++"; 31 + }; 32 + }
+30 -18
pkgs/development/libraries/libvncserver/default.nix
··· 1 - args : 2 - let 3 - lib = args.lib; 4 - fetchurl = args.fetchurl; 1 + {stdenv, fetchurl, 2 + libtool, libjpeg, openssl, libX11, libXdamage, xproto, damageproto, 3 + xextproto, libXext, fixesproto, libXfixes, xineramaproto, libXinerama, 4 + libXrandr, randrproto, libXtst, zlib 5 + }: 5 6 6 - version = lib.attrByPath ["version"] "0.9.9" args; 7 - buildInputs = with args; [ 7 + assert stdenv.isLinux; 8 + 9 + let 10 + s = # Generated upstream information 11 + rec { 12 + baseName="libvncserver"; 13 + version="0.9.9"; 14 + name="${baseName}-${version}"; 15 + hash="1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; 16 + url="mirror://sourceforge/project/libvncserver/libvncserver/0.9.9/LibVNCServer-0.9.9.tar.gz"; 17 + sha256="1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; 18 + }; 19 + buildInputs = [ 8 20 libtool libjpeg openssl libX11 libXdamage xproto damageproto 9 21 xextproto libXext fixesproto libXfixes xineramaproto libXinerama 10 22 libXrandr randrproto libXtst zlib 11 23 ]; 12 24 in 13 - rec { 25 + stdenv.mkDerivation { 26 + inherit (s) name version; 27 + inherit buildInputs; 14 28 src = fetchurl { 15 - url = "mirror://sourceforge/libvncserver/LibVNCServer-${version}.tar.gz"; 16 - sha256 = "1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; 29 + inherit (s) url sha256; 17 30 }; 18 - 19 - inherit buildInputs; 20 - configureFlags = []; 21 - 22 - /* doConfigure should be specified separately */ 23 - phaseNames = ["doConfigure" "doMakeInstall"]; 24 - 25 - name = "libvncserver-" + version; 31 + preConfigure = '' 32 + sed -e 's@/usr/include/linux@${stdenv.gcc.libc}/include/linux@g' -i configure 33 + ''; 26 34 meta = { 27 - description = "VNC server library"; 35 + inherit (s) version; 36 + description = "VNC server library"; 37 + license = stdenv.lib.licenses.gpl2Plus ; 38 + maintainers = [stdenv.lib.maintainers.raskin]; 39 + platforms = stdenv.lib.platforms.linux; 28 40 }; 29 41 }
+4
pkgs/development/libraries/libvncserver/default.upstream
··· 1 + url http://sourceforge.net/projects/libvncserver/files/libvncserver/ 2 + SF_version_dir 3 + version_link '[.]tar[.][bgx]z[0-9]*/download$' 4 + SF_redirect
+2 -2
pkgs/development/libraries/poppler/default.nix
··· 54 54 }; 55 55 } merge ]); # poppler_drv 56 56 57 - in rec { 58 57 /* We always use cairo in poppler, so we always depend on glib, 59 58 so we always build the glib wrapper (~350kB). 60 59 We also always build the cpp wrapper (<100kB). ··· 69 68 NIX_LDFLAGS = "-lpoppler"; 70 69 postConfigure = "cd qt4"; 71 70 }; 72 - } 71 + 72 + in { inherit poppler_glib poppler_qt4; } // poppler_glib
+3 -3
pkgs/development/libraries/simgear/default.nix
··· 1 1 x@{builderDefsPackage 2 2 , plib, freeglut, xproto, libX11, libXext, xextproto, libXi , inputproto 3 3 , libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg , freealut 4 - , openscenegraph, openal, expat, cmake 4 + , openscenegraph, openal, expat, cmake, apr 5 5 , ...}: 6 6 builderDefsPackage 7 7 (a : ··· 13 13 (builtins.attrNames (builtins.removeAttrs x helperArgNames)); 14 14 sourceInfo = rec { 15 15 baseName="simgear"; 16 - version="2.10.0"; 16 + version="2.12.0"; 17 17 name="${baseName}-${version}"; 18 18 extension="tar.bz2"; 19 19 url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}"; 20 - hash="0pb148hb35p1c5iz0kpiclmswjl9bax9xfm087ldpxsqg9a0sb2q"; 20 + hash="0spl6afk8rm96ss4lh7zy5561m5m2qgwsnqjyp35jr1gyyrc944f"; 21 21 }; 22 22 in 23 23 rec {
+4 -4
pkgs/development/libraries/sodium/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="sodium"; 6 - version="0.3"; 6 + version="0.4.3"; 7 7 name="${baseName}-${version}"; 8 - hash="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh"; 9 - url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.3.tar.gz"; 10 - sha256="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh"; 8 + hash="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r"; 9 + url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.3.tar.gz"; 10 + sha256="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r"; 11 11 }; 12 12 buildInputs = [ 13 13 ];
+4 -4
pkgs/development/lisp-modules/asdf/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="asdf"; 6 - version="3.0.2.1"; 6 + version="3.0.2.4"; 7 7 name="${baseName}-${version}"; 8 - hash="1npd4dxsgk06ayhln56mwwky0vdpf7i77mkxfh105pld8w5xs4r4"; 9 - url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.1.tar.gz"; 10 - sha256="1npd4dxsgk06ayhln56mwwky0vdpf7i77mkxfh105pld8w5xs4r4"; 8 + hash="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag"; 9 + url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.4.tar.gz"; 10 + sha256="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag"; 11 11 }; 12 12 buildInputs = [ 13 13 texinfo texLive
+2 -2
pkgs/development/tools/haskell/HaRe/default.nix
··· 6 6 7 7 cabal.mkDerivation (self: { 8 8 pname = "HaRe"; 9 - version = "0.7.0.6"; 10 - sha256 = "0i2zl08rg7777jarw2v3797v0va80h7bg166wfq9lzynz9vqsima"; 9 + version = "0.7.0.7"; 10 + sha256 = "0pgl5mav4sqc453by7nddf5fz7nj231072bklzj6crcph7qw4zy4"; 11 11 isLibrary = true; 12 12 isExecutable = true; 13 13 buildDepends = [
+4 -4
pkgs/development/tools/misc/cl-launch/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="cl-launch"; 6 - version="3.21.1"; 6 + version="3.22.1"; 7 7 name="${baseName}-${version}"; 8 - hash="1241lyn2a3ry06ii9zlns0cj462bi7rih41vlbbmra1chj4c21ij"; 9 - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.21.1.tar.gz"; 10 - sha256="1241lyn2a3ry06ii9zlns0cj462bi7rih41vlbbmra1chj4c21ij"; 8 + hash="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; 9 + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.22.1.tar.gz"; 10 + sha256="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; 11 11 }; 12 12 buildInputs = [ 13 13 ];
+4 -4
pkgs/development/tools/misc/luarocks/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="luarocks"; 6 - version="2.0.13-rc1"; 6 + version="2.1.0"; 7 7 name="${baseName}-${version}"; 8 - hash="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y"; 9 - url="http://luarocks.org/releases/luarocks-2.0.13-rc1.tar.gz"; 10 - sha256="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y"; 8 + hash="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c"; 9 + url="http://luarocks.org/releases/luarocks-2.1.0-rc3.tar.gz"; 10 + sha256="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c"; 11 11 }; 12 12 buildInputs = [ 13 13 lua curl
+1 -1
pkgs/development/tools/misc/texinfo/5.2.nix
··· 11 11 buildInputs = [ ncurses perl xz ]; 12 12 13 13 preInstall = '' 14 - installFlags="TEXMF=$out/texmf"; 14 + installFlags="TEXMF=$out/texmf-dist"; 15 15 installTargets="install install-tex"; 16 16 ''; 17 17
+25
pkgs/development/tools/misc/xc3sprog/default.nix
··· 1 + { stdenv, fetchsvn, cmake, libusb, libftdi }: 2 + 3 + # The xc3sprog project doesn't seem to make proper releases, they only put out 4 + # prebuilt binary subversion snapshots on sourceforge. 5 + 6 + stdenv.mkDerivation rec { 7 + version = "748"; # latest @ 2013-10-26 8 + name = "xc3sprog-${version}"; 9 + 10 + src = fetchsvn rec { 11 + url = "https://svn.code.sf.net/p/xc3sprog/code/trunk"; 12 + sha256 = "0wkz6094kkqz91qpa24pzlbhndc47sjmqhwk3p7ccabv0041rzk0"; 13 + rev = "${version}"; 14 + }; 15 + 16 + buildInputs = [ cmake libusb libftdi ]; 17 + 18 + meta = with stdenv.lib; { 19 + description = "Command-line tools for programming FPGAs, microcontrollers and PROMs via JTAG"; 20 + homepage = http://xc3sprog.sourceforge.net/; 21 + license = licenses.gpl2Plus; 22 + platforms = platforms.linux; 23 + maintainers = [ maintainers.bjornfor ]; 24 + }; 25 + }
+38
pkgs/development/tools/slimerjs/default.nix
··· 1 + {stdenv, fetchurl, unzip, xulrunner, bash}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + baseName="slimerjs"; 6 + version="0.8.3"; 7 + name="${baseName}-${version}"; 8 + hash="07gwiay2pbzyscn8gnwb8i92xffjahhinlswc1z4h8dbjk837d8h"; 9 + url="http://download.slimerjs.org/v0.8/slimerjs-0.8.3.zip"; 10 + sha256="07gwiay2pbzyscn8gnwb8i92xffjahhinlswc1z4h8dbjk837d8h"; 11 + }; 12 + buildInputs = [ 13 + unzip 14 + ]; 15 + in 16 + stdenv.mkDerivation { 17 + inherit (s) name version; 18 + inherit buildInputs; 19 + src = fetchurl { 20 + inherit (s) url sha256; 21 + }; 22 + installPhase = '' 23 + mkdir -p "$out"/{bin,share/doc/slimerjs,lib/slimerjs} 24 + cp LICENSE README* "$out/share/doc/slimerjs" 25 + cp * "$out/lib/slimerjs" 26 + echo '#!${bash}/bin/bash' >> "$out/bin/slimerjs" 27 + echo 'export SLIMERJSLAUNCHER=${xulrunner}/bin/xulrunner' >> "$out/bin/slimerjs" 28 + echo "'$out/lib/slimerjs/slimerjs' \"\$@\"" >> "$out/bin/slimerjs" 29 + chmod a+x "$out/bin/slimerjs" 30 + ''; 31 + meta = { 32 + inherit (s) version; 33 + description = ''Gecko-based programmatically-driven browser''; 34 + license = stdenv.lib.licenses.mpl20 ; 35 + maintainers = [stdenv.lib.maintainers.raskin]; 36 + platforms = stdenv.lib.platforms.linux; 37 + }; 38 + }
+2
pkgs/development/tools/slimerjs/default.upstream
··· 1 + url http://slimerjs.org/download.html 2 + version_link '/slimerjs-[0-9.]+[.]zip$'
+5 -4
pkgs/games/alienarena/default.nix
··· 2 2 , libvorbis, freetype, openal, mesa }: 3 3 4 4 stdenv.mkDerivation rec { 5 - name = "alienarena-7.52"; 5 + name = "alienarena-7.65"; 6 6 7 7 src = fetchurl { 8 - url = "http://icculus.org/alienarena/Files/alienarena-7_52-linux20110929.tar.gz"; 9 - sha256 = "1s1l3apxsxnd8lyi568y38a1fcdr0gwmc3lkgq2nkc676k4gki3m"; 8 + url = "http://icculus.org/alienarena/Files/alienarena-7.65-linux20130207.tar.gz"; 9 + sha256 = "03nnv4m2xmswr0020hssajncdb8sy95jp5yccsm53sgxga4r8igg"; 10 10 }; 11 11 12 12 buildInputs = [ pkgconfig libjpeg libX11 curl libogg libvorbis ··· 14 14 15 15 patchPhase = '' 16 16 substituteInPlace ./configure \ 17 - --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 17 + --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \ 18 + --replace libGL.so.1 ${mesa}/lib/libGL.so.1 18 19 ''; 19 20 20 21 meta = {
+52 -47
pkgs/games/flightgear/default.nix
··· 1 - x@{builderDefsPackage 2 - , freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib 3 - , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto 4 - , libXmu, libXt, simgear, zlib, boost, cmake, libpng 5 - , ...}: 6 - builderDefsPackage 7 - (a : 8 - let 9 - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 10 - []; 1 + { stdenv, fetchurl 2 + , freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib 3 + , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto 4 + , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr 5 + , makeDesktopItem 6 + }: 11 7 12 - buildInputs = map (n: builtins.getAttr n x) 13 - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); 14 - sourceInfo = rec { 15 - baseName="flightgear"; 16 - version="2.10.0"; 17 - name="${baseName}-${version}"; 18 - extension="tar.bz2"; 19 - url="http://ftp.linux.kiev.ua/pub/fgfs/Source/${name}.${extension}"; 20 - hash="0pq5nwyxwp8ar5rr0jh8p04bv0i9i841m374jwd748csnsn28zh6"; 8 + stdenv.mkDerivation rec { 9 + version = "2.12.0"; 10 + name = "flightgear-${version}"; 11 + 12 + src = fetchurl { 13 + url = "http://ftp.linux.kiev.ua/pub/fgfs/Source/${name}.tar.bz2"; 14 + sha256 = "0h9ka4pa2njxbvy5jlmnsjy5ynzms504ygqn7hd80g3c58drsjc4"; 21 15 }; 22 - in 23 - rec { 24 - src = a.fetchurl { 25 - url = sourceInfo.url; 26 - sha256 = sourceInfo.hash; 16 + 17 + datasrc = fetchurl { 18 + url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz"; 19 + sha256 = "0qjvcj2cz7ypa91v95lws44fg8c1p0pazv24ljkai2m2r0jgsv8k"; 20 + }; 21 + 22 + # Of all the files in the source and data archives, there doesn't seem to be 23 + # a decent icon :-) 24 + iconsrc = fetchurl { 25 + url = "http://wiki.flightgear.org/images/6/62/FlightGear_logo.png"; 26 + sha256 = "1ikz413jia55vfnmx8iwrlxvx8p16ggm81mbrj66wam3q7s2dm5p"; 27 27 }; 28 28 29 - datasrc = a.fetchurl { 30 - url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-2.0.0.tar.bz2"; 31 - sha256 = "0kvmvh5qycbpdjx12l20cbhljwimmcgww2dg4lkc2sky0kg14ic1"; 29 + desktopItem = makeDesktopItem { 30 + name = "flightgear"; 31 + exec = "fgfs"; 32 + icon = "${iconsrc}"; 33 + comment = "FlightGear Flight Simulator"; 34 + desktopName = "FlightGear"; 35 + genericName = "Flight simulator"; 36 + categories = "Game;Simulation"; 32 37 }; 33 38 34 - inherit (sourceInfo) name version; 35 - inherit buildInputs; 39 + buildInputs = [ 40 + freeglut freealut mesa libICE libjpeg openal openscenegraph plib 41 + libSM libunwind libX11 xproto libXext xextproto libXi inputproto 42 + libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr 43 + ]; 36 44 37 - /* doConfigure should be removed if not needed */ 38 - phaseNames = ["doCmake" "doMakeInstall" "deployData"]; 45 + preConfigure = '' 46 + export cmakeFlagsArray=(-DFG_DATA_DIR="$out/share/FlightGear/") 47 + ''; 39 48 40 - deployData = a.fullDepEntry '' 49 + postInstall = '' 41 50 mkdir -p "$out/share/FlightGear" 42 - cd "$out/share/FlightGear" 43 - tar xvf ${datasrc} 44 - '' ["minInit" "defEnsureDir"]; 51 + tar xvf "${datasrc}" -C "$out/share/FlightGear/" --strip-components=1 52 + 53 + mkdir -p "$out/share/applications/" 54 + cp "${desktopItem}"/share/applications/* "$out/share/applications/" 55 + ''; 45 56 46 - meta = { 47 - description = "A flight simulator"; 48 - maintainers = with a.lib.maintainers; 49 - [ 50 - raskin 51 - ]; 52 - #platforms = a.lib.platforms.linux; 53 - license = a.lib.licenses.gpl2; 54 - }; 55 - passthru = { 57 + meta = with stdenv.lib; { 58 + description = "Flight simulator"; 59 + maintainers = with maintainers; [ raskin ]; 60 + #platforms = platforms.linux; # disabled from hydra because it's so big 61 + license = licenses.gpl2; 56 62 }; 57 - }) x 58 - 63 + }
+11 -6
pkgs/games/freeciv/default.nix
··· 1 - { stdenv, fetchurl, zlib, bzip2, pkgconfig 1 + { stdenv, fetchurl, zlib, bzip2, pkgconfig, curl, lzma, gettext 2 2 , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype 3 3 , gtkClient ? false, gtk 4 4 , server ? true, readline }: ··· 6 6 let 7 7 inherit (stdenv.lib) optional optionals; 8 8 client = sdlClient || gtkClient; 9 + 10 + sdlName = if sdlClient then "-sdl" else ""; 11 + gtkName = if gtkClient then "-gtk" else ""; 12 + 13 + baseName = "freeciv-2.4.0"; 9 14 in 10 - stdenv.mkDerivation rec { 11 - name = "freeciv-2.3.1"; 15 + stdenv.mkDerivation { 16 + name = baseName + sdlName + gtkName; 12 17 13 18 src = fetchurl { 14 - url = "mirror://sourceforge/freeciv/${name}.tar.bz2"; 15 - sha256 = "1n3ak0y9hj9kha0r3cdbi8zb47vrgal1jsbblamqgwwwgzy8cri3"; 19 + url = "mirror://sourceforge/freeciv/${baseName}.tar.bz2"; 20 + sha256 = "1bc01pyihsrby6w95n49gi90ggp40dyxsy4kmlmwcakxfxprwakv"; 16 21 }; 17 22 18 23 nativeBuildInputs = [ pkgconfig ]; 19 24 20 - buildInputs = [ zlib bzip2 ] 25 + buildInputs = [ zlib bzip2 curl lzma gettext ] 21 26 ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype ] 22 27 ++ optional gtkClient gtk 23 28 ++ optional server readline;
+74
pkgs/games/gsb/default.nix
··· 1 + { stdenv, config, requireFile 2 + , curl3, SDL, SDL_image, libpng12, libjpeg62, libvorbis, libogg, openal, mesa 3 + , libX11, libXext, libXft, fontconfig, zlib }: 4 + 5 + assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; 6 + 7 + stdenv.mkDerivation rec { 8 + name = "gsb-1.56.0"; 9 + 10 + goBuyItNow = '' 11 + We cannot download the full version automatically, as you require a license. 12 + Once you bought a license, you need to add your downloaded version to the nix store. 13 + You can do this by using "nix-prefetch-url file://gsb1324679796.tar.gz" in the 14 + directory where you saved it. 15 + ''; 16 + 17 + src = requireFile { 18 + message = goBuyItNow; 19 + name = "gsb1324679796.tar.gz"; 20 + sha256 = "12jsz9v55w9zxwiz4kbm6phkv60q3c2kyv5imsls13385pzwcs8i"; 21 + }; 22 + 23 + arch = if stdenv.system == "i686-linux" then "x86" else "x86_64"; 24 + 25 + phases = "unpackPhase installPhase"; 26 + 27 + # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64 28 + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] 29 + + ":" + stdenv.lib.makeLibraryPath [ SDL SDL_image libjpeg62 libpng12 mesa ] 30 + + ":" + stdenv.lib.makeLibraryPath [ curl3 openal libvorbis libogg ] 31 + + ":" + stdenv.lib.makeLibraryPath [ libX11 libXext libXft fontconfig zlib ] 32 + + ":" + stdenv.gcc.gcc + "/lib64"; 33 + 34 + installPhase = '' 35 + ensureDir $out/libexec/positech/GSB/ 36 + ensureDir $out/bin 37 + 38 + patchelf \ 39 + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ 40 + --set-rpath $libPath \ 41 + ./GSB.bin.$arch 42 + 43 + cp -r * $out/libexec/positech/GSB/ 44 + rm -rf $out/libexec/positech/GSB/lib64/ 45 + rm -rf $out/libexec/positech/GSB/lib/ 46 + 47 + #makeWrapper doesn't do cd. :( 48 + 49 + cat > $out/bin/GSB << EOF 50 + #!/bin/sh 51 + cd $out/libexec/positech/GSB 52 + exec ./GSB.bin.$arch 53 + EOF 54 + chmod +x $out/bin/GSB 55 + ''; 56 + 57 + meta = { 58 + description = "Gratuitous Space Battles"; 59 + longDescription = '' 60 + a strategy / management / simulation game that does away with all the 61 + base building and delays and gets straight to the meat and potatoes of 62 + science-fiction games : The big space battles fought by huge spaceships with 63 + tons of laser beams and things going 'zap!', 'ka-boom!' and 'ka-pow!'. In GSB 64 + you put your ships together from modular components, arrange them into fleets, 65 + give your ships orders of engagement and then hope they emerge victorious from 66 + battle (or at least blow to bits in aesthetically pleasing ways). 67 + ''; 68 + homepage = http://www.positech.co.uk/gratuitousspacebattles/index.html; 69 + license = [ "unfree" ]; 70 + maintainers = with stdenv.lib.maintainers; [ jcumming ]; 71 + platforms = [ "x86_64-linux" "i686-linux" ] ; 72 + }; 73 + 74 + }
+30
pkgs/games/residualvm/default.nix
··· 1 + { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib 2 + , openglSupport ? false, mesa ? null 3 + }: 4 + 5 + assert openglSupport -> mesa != null; 6 + 7 + with stdenv.lib; 8 + 9 + stdenv.mkDerivation rec { 10 + version = "0.1.1"; 11 + name = "residualvm-${version}"; 12 + 13 + src = fetchurl { 14 + url = "mirror://sourceforge/residualvm/residualvm-${version}-sources.tar.bz2"; 15 + sha256 = "99c419b13885a49bdfc10a50a3a6000fd1ba9504f6aae04c74b840ec6f57a963"; 16 + }; 17 + 18 + buildInputs = [ stdenv SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ] 19 + ++ optional openglSupport [ mesa ]; 20 + 21 + configureFlags="--enable-all-engines"; 22 + 23 + meta = { 24 + description = "Interpreter for LucasArts' Lua-based 3D adventure games"; 25 + homepage = http://residualvm.org/; 26 + repositories.git = https://github.com/residualvm/residualvm.git; 27 + licencse = licenses.gpl2; 28 + platforms = stdenv.lib.platforms.linux; 29 + }; 30 + }
+1 -1
pkgs/games/sauerbraten/default.nix
··· 14 14 baseName="sauerbraten"; 15 15 version="3331"; 16 16 name="${baseName}-r${version}"; 17 - url="https://sauerbraten.svn.sourceforge.net/svnroot/sauerbraten"; 17 + url="https://svn.code.sf.net/p/sauerbraten/code"; 18 18 hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y"; 19 19 }; 20 20 in
+4 -4
pkgs/games/xboard/default.nix
··· 5 5 s = # Generated upstream information 6 6 rec { 7 7 baseName="xboard"; 8 - version="4.7.1"; 8 + version="4.7.2"; 9 9 name="${baseName}-${version}"; 10 - hash="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry"; 11 - url="mirror://gnu/xboard/xboard-4.7.1.tar.gz"; 12 - sha256="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry"; 10 + hash="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; 11 + url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.2.tar.gz"; 12 + sha256="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; 13 13 }; 14 14 buildInputs = [ 15 15 libX11 xproto libXt libXaw libSM libICE libXmu
+11 -8
pkgs/misc/emulators/wine/default.nix pkgs/misc/emulators/wine/stable.nix
··· 6 6 assert stdenv.isLinux; 7 7 assert stdenv.gcc.gcc != null; 8 8 9 - let gecko = fetchurl { 9 + let 10 + version = "1.6"; 11 + name = "wine-${version}"; 12 + 13 + src = fetchurl { 14 + url = "mirror://sourceforge/wine/${name}.tar.bz2"; 15 + sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1"; 16 + }; 17 + 18 + gecko = fetchurl { 10 19 url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; 11 20 sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh"; 12 21 }; ··· 22 31 }; 23 32 24 33 in stdenv.mkDerivation rec { 25 - version = "1.6"; 26 - name = "wine-${version}"; 27 - 28 - src = fetchurl { 29 - url = "mirror://sourceforge/wine/${name}.tar.bz2"; 30 - sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1"; 31 - }; 34 + inherit version name src; 32 35 33 36 buildInputs = [ 34 37 xlibs.xlibs flex bison xlibs.libXi mesa
+1
pkgs/misc/emulators/wine/default.upstream pkgs/misc/emulators/wine/unstable.upstream
··· 1 1 url http://sourceforge.net/projects/wine/files/Source/ 2 + attribute_name wine_unstable 2 3 version_link '[.]tar[.][^./]+/download$' 3 4 SF_redirect 4 5 do_overwrite () {
+8
pkgs/misc/emulators/wine/stable.upstream
··· 1 + url http://sourceforge.net/projects/wine/files/Source/ 2 + version_link '[-][0-9]+[.][0-9]*[24680][.]([0-9]+[.])*tar[.][^./]+/download$' 3 + SF_redirect 4 + do_overwrite () { 5 + ensure_hash 6 + set_var_value version "$CURRENT_VERSION" 7 + set_var_value sha256 "$CURRENT_HASH" 8 + }
+77
pkgs/misc/emulators/wine/unstable.nix
··· 1 + { stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib 2 + , ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge 3 + , libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper 4 + }: 5 + 6 + assert stdenv.isLinux; 7 + assert stdenv.gcc.gcc != null; 8 + 9 + let 10 + version = "1.7.4"; 11 + name = "wine-${version}"; 12 + 13 + src = fetchurl { 14 + url = "mirror://sourceforge/wine/${name}.tar.bz2"; 15 + sha256 = "0sb9zfrvlrjx1icfb94clgac239i9yfhyv48zv9iddgmvdjk8ysi"; 16 + }; 17 + 18 + gecko = fetchurl { 19 + url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; 20 + sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh"; 21 + }; 22 + 23 + gecko64 = fetchurl { 24 + url = "mirror://sourceforge/wine/wine_gecko-2.21-x86_64.msi"; 25 + sha256 = "0grc86dkq90i59zw43hakh62ra1ajnk11m64667xjrlzi7f0ndxw"; 26 + }; 27 + 28 + mono = fetchurl { 29 + url = "mirror://sourceforge/wine/wine-mono-0.0.8.msi"; 30 + sha256 = "00jl24qp7vh3hlqv7wsw1s529lr5p0ybif6s73jy85chqaxj7z1x"; 31 + }; 32 + 33 + in stdenv.mkDerivation rec { 34 + inherit version name src; 35 + 36 + buildInputs = [ 37 + xlibs.xlibs flex bison xlibs.libXi mesa 38 + xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr 39 + xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite 40 + alsaLib ncurses libpng libjpeg lcms fontforge 41 + libxml2 libxslt openssl gnutls cups makeWrapper 42 + ]; 43 + 44 + # Wine locates a lot of libraries dynamically through dlopen(). Add 45 + # them to the RPATH so that the user doesn't have to set them in 46 + # LD_LIBRARY_PATH. 47 + NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [ 48 + freetype fontconfig stdenv.gcc.gcc mesa libdrm 49 + xlibs.libXinerama xlibs.libXrender xlibs.libXrandr 50 + xlibs.libXcursor xlibs.libXcomposite libpng libjpeg 51 + openssl gnutls cups 52 + ]; 53 + 54 + # Don't shrink the ELF RPATHs in order to keep the extra RPATH 55 + # elements specified above. 56 + dontPatchELF = true; 57 + 58 + postInstall = '' 59 + install -D ${gecko} $out/share/wine/gecko/${gecko.name} 60 + '' + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' 61 + install -D ${gecko} $out/share/wine/gecko/${gecko64.name} 62 + '' + '' 63 + install -D ${mono} $out/share/wine/mono/${mono.name} 64 + wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib 65 + ''; 66 + 67 + enableParallelBuilding = true; 68 + 69 + meta = { 70 + homepage = "http://www.winehq.org/"; 71 + license = "LGPL"; 72 + inherit version; 73 + description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix"; 74 + maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons]; 75 + platforms = stdenv.lib.platforms.linux; 76 + }; 77 + }
+3 -3
pkgs/misc/my-env/default.nix
··· 59 59 { mkDerivation, substituteAll, pkgs }: 60 60 { stdenv ? pkgs.stdenv, name, buildInputs ? [] 61 61 , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? "" 62 - , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash"}: 62 + , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash --norc"}: 63 63 64 64 mkDerivation { 65 65 # The setup.sh script from stdenv will expect the native build inputs in ··· 146 146 EOF 147 147 148 148 mkdir -p $out/bin 149 - sed -e s,@shell@,${shell}, -e s,@myenvpath@,$out/dev-envs/${name}, \ 150 - -e s,@name@,${name}, ${./loadenv.sh} > $out/bin/load-env-${name} 149 + sed -e 's,@shell@,${shell},' -e s,@myenvpath@,$out/dev-envs/${name}, \ 150 + -e 's,@name@,${name},' ${./loadenv.sh} > $out/bin/load-env-${name} 151 151 chmod +x $out/bin/load-env-${name} 152 152 ''; 153 153 }
+1 -1
pkgs/misc/my-env/loadenv.sh
··· 10 10 export NIX_STRIP_DEBUG=0 11 11 export TZ="$OLDTZ" 12 12 13 - @shell@ --norc 13 + @shell@ 14 14
+59 -3
pkgs/misc/vim-plugins/default.nix
··· 1 - { fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip }: 1 + { fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip, which }: 2 2 3 3 /* 4 4 About Vim and plugins ··· 90 90 installPhase = '' 91 91 target=$out/vim-plugins/$path 92 92 ensureDir $out/vim-plugins 93 - ls -l 94 93 cp -r . $target 95 94 ${vimHelpTags} 96 95 vimHelpTags $target 97 96 ''; 98 97 }); 99 98 100 - in 99 + in rec 101 100 102 101 { 103 102 ··· 250 249 }; 251 250 path = "xdebug"; 252 251 postInstall = false; 252 + }; 253 + 254 + vimshell = simpleDerivation rec { 255 + version = "9.2"; 256 + name = "vimshell-${version}"; 257 + 258 + meta = with stdenv.lib; { 259 + description = "An extreme shell that doesn't depend on external shells and is written completely in Vim script"; 260 + homepage = https://github.com/Shougo/vimshell.vim; 261 + repositories.git = https://github.com/Shougo/vimshell.vim.git; 262 + license = licenses.gpl3; 263 + maintainers = with maintainers; [ lovek323 ]; 264 + platforms = platforms.unix; 265 + }; 266 + 267 + src = fetchurl { 268 + url = "https://github.com/Shougo/vimshell.vim/archive/ver.${version}.tar.gz"; 269 + sha256 = "1pbwxdhpv6pr09b6hwkgy7grpmpwlqpsgsawl38r40q6yib8zb4a"; 270 + }; 271 + 272 + buildInputs = [ vimproc ]; 273 + 274 + preBuild = '' 275 + sed -ie '1 i\ 276 + set runtimepath+=${vimproc}/vim-plugins/vimproc\ 277 + ' autoload/vimshell.vim 278 + ''; 279 + 280 + path = "vimshell"; 281 + }; 282 + 283 + vimproc = simpleDerivation rec { 284 + version = "5cf4c6bfe9bf0649159b5648d736d54c96e99b3e"; 285 + name = "vimproc-${version}"; 286 + 287 + meta = with stdenv.lib; { 288 + description = "An asynchronous execution library for Vim"; 289 + homepage = https://github.com/Shougo/vimproc.vim; 290 + repositories.git = https://github.com/Shougo/vimproc.vim.git; 291 + license = licenses.gpl3; 292 + maintainers = with maintainers; [ lovek323 ]; 293 + platforms = platforms.unix; 294 + }; 295 + 296 + src = fetchurl { 297 + url = "${meta.homepage}/archive/${version}.tar.gz"; 298 + sha256 = "0f76mc7v3656sf9syaq1rxzk3dqz6i5w190wgj15sjjnapzd956p"; 299 + }; 300 + 301 + buildInputs = [ which ]; 302 + 303 + buildPhase = '' 304 + sed -i 's/vimproc_mac\.so/vimproc_unix\.so/' autoload/vimproc.vim 305 + make -f make_unix.mak 306 + ''; 307 + 308 + path = "vimproc"; 253 309 }; 254 310 }
+37
pkgs/os-specific/linux/conspy/default.nix
··· 1 + {stdenv, fetchurl, autoconf, automake, ncurses}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + baseName="conspy"; 6 + version="1.8"; 7 + name="${baseName}-${version}"; 8 + hash=sha256; 9 + url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.8.tar.gz"; 10 + sha256="1jc2maqp4w4mzlr3s8yni03w1p9sir5hb7gha3ffxj4n32nx42dq"; 11 + }; 12 + buildInputs = [ 13 + autoconf automake ncurses 14 + ]; 15 + in 16 + stdenv.mkDerivation { 17 + inherit (s) name version; 18 + inherit buildInputs; 19 + src = fetchurl { 20 + inherit (s) url sha256; 21 + curlOpts = " -A application/octet-stream "; 22 + }; 23 + preConfigure = '' 24 + touch NEWS 25 + echo "EPL 1.0" > COPYING 26 + aclocal 27 + automake --add-missing 28 + autoconf 29 + ''; 30 + meta = { 31 + inherit (s) version; 32 + description = "Linux text console viewer"; 33 + license = stdenv.lib.licenses.epl10 ; 34 + maintainers = [stdenv.lib.maintainers.raskin]; 35 + platforms = stdenv.lib.platforms.linux; 36 + }; 37 + }
+1
pkgs/os-specific/linux/conspy/default.upstream
··· 1 + url http://ace-host.stuart.id.au/russell/files/conspy/
+36
pkgs/os-specific/linux/forktty/default.nix
··· 1 + {stdenv, fetchurl}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + baseName="forktty"; 6 + version="1.3"; 7 + name="${baseName}-${version}"; 8 + hash="0nd55zdqly6nl98k9lc7j751x86cw9hayx1qn0725f22r1x3j5zb"; 9 + url="http://sunsite.unc.edu/pub/linux/utils/terminal/forktty-1.3.tgz"; 10 + sha256="0nd55zdqly6nl98k9lc7j751x86cw9hayx1qn0725f22r1x3j5zb"; 11 + }; 12 + buildInputs = [ 13 + ]; 14 + in 15 + stdenv.mkDerivation { 16 + inherit (s) name version; 17 + inherit buildInputs; 18 + src = fetchurl { 19 + inherit (s) url sha256; 20 + }; 21 + preBuild = '' 22 + sed -e s@/usr/bin/ginstall@install@g -i Makefile 23 + ''; 24 + preInstall = '' 25 + mkdir -p "$out/bin" 26 + mkdir -p "$out/share/man/man8" 27 + ''; 28 + makeFlags='' prefix="''${out}" manprefix="''${out}/share/" ''; 29 + meta = { 30 + inherit (s) version; 31 + description = ''Tool to detach from controlling TTY and attach to another''; 32 + license = stdenv.lib.licenses.gpl2 ; 33 + maintainers = [stdenv.lib.maintainers.raskin]; 34 + platforms = stdenv.lib.platforms.linux; 35 + }; 36 + }
+2
pkgs/os-specific/linux/forktty/default.upstream
··· 1 + url http://sunsite.unc.edu/pub/linux/utils/terminal/ 2 + version_link 'forktty.*tgz'
+35
pkgs/os-specific/linux/gfxtablet/default.nix
··· 1 + {stdenv, fetchgit, linuxHeaders}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + version="git-2013-10-21"; 6 + name = "gfxtablet-uinput-driver-${version}"; 7 + rev = "c4e337ae0b53a8ccdfe11b904ff129714bd25ec4"; 8 + sha256 = "19d96r2vw9xv82fnfwdyyyf0fja6n06mgg14va996knsn2x5l4la"; 9 + url = "https://github.com/rfc2822/GfxTablet.git"; 10 + }; 11 + buildInputs = [ 12 + linuxHeaders 13 + ]; 14 + in 15 + stdenv.mkDerivation { 16 + inherit (s) name version; 17 + inherit buildInputs; 18 + src = fetchgit { 19 + inherit (s) url sha256 rev; 20 + }; 21 + preBuild = ''cd driver-uinput''; 22 + installPhase = '' 23 + mkdir -p "$out/bin" 24 + cp networktablet "$out/bin" 25 + mkdir -p "$out/share/doc/gfxtablet/" 26 + cp ../*.md "$out/share/doc/gfxtablet/" 27 + ''; 28 + meta = { 29 + inherit (s) version; 30 + description = ''Uinput driver for Android GfxTablet tablet-as-input-device app''; 31 + license = stdenv.lib.licenses.mit ; 32 + maintainers = [stdenv.lib.maintainers.raskin]; 33 + platforms = stdenv.lib.platforms.linux; 34 + }; 35 + }
+2 -2
pkgs/os-specific/linux/kernel/linux-3.11.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "3.11.4"; 4 + version = "3.11.6"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 8 - sha256 = "1kv6j7mc5r5qw43kirc0fv83khpnwy8m7158qf8ar08p3r01i3mi"; 8 + sha256 = "0klbyx6qy3ifwrwh5w7yzk6m6jd32flkk73z95bih3ihmbnbzlvs"; 9 9 }; 10 10 11 11 features.iwlwifi = true;
+2 -2
pkgs/os-specific/linux/kernel/linux-3.4.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "3.4.66"; 4 + version = "3.4.67"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 8 - sha256 = "09jrj989mqk76klrg5zq1z8qrx3gif69bqi78ywq3jky8dmrwz3y"; 8 + sha256 = "1ndzlwhxvlm4lr86240h3ysxhmdkgdcp0n6qhid5nwrmxf5fpb1d"; 9 9 }; 10 10 11 11 features.iwlwifi = true;
+4 -2
pkgs/os-specific/linux/kernel/patches.nix
··· 134 134 grsecurity_2_9_1_3_2_51 = 135 135 { name = "grsecurity-2.9.1-3.2.51"; 136 136 patch = fetchurl { 137 - url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309101928.patch; 138 - sha256 = "90f9ddc74d56f4525b8faa8505a95f45c23a2e763c7519ba5ae953069a51aca2"; 137 + url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309281102.patch; 138 + sha256 = "0mwwdmccihzhl25c9q92x0k33c5kxbz6mikid9diramvki7sk0l8"; 139 139 }; 140 + # The grsec kernel patch seems to include the apparmor patches as of 2.9.1-3.2.51 141 + features.apparmor = true; 140 142 }; 141 143 142 144 }
+38
pkgs/os-specific/linux/ttysnoop/default.nix
··· 1 + {stdenv, fetchurl}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + baseName="ttysnoop"; 6 + version="0.12d.k26"; 7 + name="${baseName}-${version}"; 8 + hash="0jb2zchaiqmmickj0la7wjw3sf9vy65qfhhs11yrzx4mmwkp0395"; 9 + url="http://sysd.org/stas/files/active/0/ttysnoop-0.12d.k26.tar.gz"; 10 + sha256="0jb2zchaiqmmickj0la7wjw3sf9vy65qfhhs11yrzx4mmwkp0395"; 11 + }; 12 + buildInputs = [ 13 + ]; 14 + in 15 + stdenv.mkDerivation { 16 + inherit (s) name version; 17 + inherit buildInputs; 18 + src = fetchurl { 19 + inherit (s) url sha256; 20 + }; 21 + preBuild = '' 22 + sed -e "s@/sbin@$out/sbin@g" -i Makefile 23 + sed -e "s@/usr/man@$out/share/man@g" -i Makefile 24 + mkdir -p "$out/share/man/man8" 25 + mkdir -p "$out/sbin" 26 + ''; 27 + postInstall = '' 28 + mkdir -p "$out/etc" 29 + cp snooptab.dist "$out/etc/snooptab" 30 + ''; 31 + meta = { 32 + inherit (s) version; 33 + description = "A tool to clone input and output of another tty/pty to the current one"; 34 + license = stdenv.lib.licenses.gpl2 ; 35 + maintainers = [stdenv.lib.maintainers.raskin]; 36 + platforms = stdenv.lib.platforms.linux; 37 + }; 38 + }
+3
pkgs/os-specific/linux/ttysnoop/default.upstream
··· 1 + url http://sysd.org/stas/node/35 2 + ensure_choice 3 + version '.*-([0-9a-z.]+)[.]tar[.].*' '\1'
+11 -2
pkgs/servers/http/nginx/default.nix
··· 1 - { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false }: 1 + { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false, syslog ? false }: 2 2 3 3 let 4 4 dav-ext = fetchgit { ··· 6 6 rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d"; 7 7 sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq"; 8 8 }; 9 + 10 + syslog-ext = fetchgit { 11 + url = https://github.com/yaoweibin/nginx_syslog_patch.git; 12 + rev = "165affd9741f0e30c4c8225da5e487d33832aca3"; 13 + sha256 = "14dkkafjnbapp6jnvrjg9ip46j00cr8pqc2g7374z9aj7hrvdvhs"; 14 + }; 9 15 in 10 16 11 17 stdenv.mkDerivation rec { ··· 17 23 }; 18 24 19 25 buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat; 26 + 27 + patches = if syslog then [ "${syslog-ext}/syslog_1.4.0.patch" ] else []; 20 28 21 29 configureFlags = [ 22 30 "--with-http_ssl_module" ··· 27 35 "--with-http_secure_link_module" 28 36 # Install destination problems 29 37 # "--with-http_perl_module" 30 - ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"; 38 + ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}" 39 + ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}"; 31 40 32 41 preConfigure = '' 33 42 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2"
+26
pkgs/servers/mail/mailman/default.nix
··· 1 + { stdenv, fetchurl, python }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "mailman-2.1.16"; 5 + 6 + src = fetchurl { 7 + url = "mirror://gnu/mailman/${name}.tgz"; 8 + sha256 = "0qsgnqjfi07kdiwzik0i78a5q3q5kcw1r61g48abix9qjc32n5ax"; 9 + }; 10 + 11 + buildInputs = [ python ]; 12 + 13 + patches = [ ./fix-var-prefix.patch ]; 14 + 15 + configureFlags = "--without-permcheck --with-cgi-ext=.cgi --with-var-prefix=/var/lib/mailman"; 16 + 17 + installTargets = "doinstall"; # Leave out the 'update' target that's implied by 'install'. 18 + 19 + meta = { 20 + homepage = "http://www.gnu.org/software/mailman/"; 21 + description = "Free software for managing electronic mail discussion and e-newsletter lists"; 22 + license = stdenv.lib.licenses.gpl2Plus; 23 + platforms = stdenv.lib.platforms.linux; 24 + maintainers = [ stdenv.lib.maintainers.simons ]; 25 + }; 26 + }
+33
pkgs/servers/mail/mailman/fix-var-prefix.patch
··· 1 + diff -ubr mailman-2.1.16-orig/contrib/redhat_fhs.patch mailman-2.1.16/contrib/redhat_fhs.patch 2 + --- mailman-2.1.16-orig/contrib/redhat_fhs.patch 2013-10-21 14:55:48.797631434 +0200 3 + +++ mailman-2.1.16/contrib/redhat_fhs.patch 2013-10-21 14:56:42.534310378 +0200 4 + @@ -197,7 +197,7 @@ 5 + + else true; \ 6 + + fi; \ 7 + + done 8 + - chmod o-r $(DESTDIR)$(var_prefix)/archives/private 9 + + chmod o-r $(prefix)$(var_prefix)/archives/private 10 + @for d in $(ARCH_INDEP_DIRS); \ 11 + do \ 12 + Only in mailman-2.1.5.FHS: Makefile.in~ 13 + diff -ubr mailman-2.1.16-orig/Makefile.in mailman-2.1.16/Makefile.in 14 + --- mailman-2.1.16-orig/Makefile.in 2013-10-21 14:55:48.798631519 +0200 15 + +++ mailman-2.1.16/Makefile.in 2013-10-21 14:56:42.562313220 +0200 16 + @@ -87,7 +87,7 @@ 17 + @echo "Creating architecture independent directories..." 18 + @for d in $(VAR_DIRS); \ 19 + do \ 20 + - dir=$(DESTDIR)$(var_prefix)/$$d; \ 21 + + dir=$(prefix)$(var_prefix)/$$d; \ 22 + if test ! -d $$dir; then \ 23 + echo "Creating directory hierarchy $$dir"; \ 24 + $(srcdir)/mkinstalldirs $$dir; \ 25 + @@ -96,7 +96,7 @@ 26 + else true; \ 27 + fi; \ 28 + done 29 + - chmod o-r $(DESTDIR)$(var_prefix)/archives/private 30 + + chmod o-r $(prefix)$(var_prefix)/archives/private 31 + @for d in $(ARCH_INDEP_DIRS); \ 32 + do \ 33 + dir=$(DESTDIR)$(prefix)/$$d; \
+84
pkgs/servers/monitoring/munin/adding_servicedir_munin-node.patch
··· 1 + From 75a3ec48814e7b9a9b22259a04009076363be3f1 Mon Sep 17 00:00:00 2001 2 + From: Igor Kolar <igor.kolar@gmail.com> 3 + Date: Thu, 17 Oct 2013 00:48:23 +0200 4 + Subject: [PATCH 1/2] node: added --servicedir switch to munin-node 5 + 6 + This code is copied over from munin-node-config, that already does the same 7 + --- 8 + node/sbin/munin-node | 7 ++++++- 9 + 1 file changed, 6 insertions(+), 1 deletion(-) 10 + 11 + diff --git a/node/sbin/munin-node b/node/sbin/munin-node 12 + index 7b2e180..0a93450 100755 13 + --- a/node/sbin/munin-node 14 + +++ b/node/sbin/munin-node 15 + @@ -35,7 +35,7 @@ use Munin::Node::OS; 16 + use Munin::Node::Service; 17 + use Munin::Node::Server; 18 + 19 + -my $servicedir; 20 + +my $servicedir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugins"; 21 + my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d"; 22 + my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf"; 23 + my $DEBUG = 0; 24 + @@ -101,6 +101,7 @@ sub parse_args 25 + 26 + print_usage_and_exit() unless GetOptions( 27 + "config=s" => \$conffile, 28 + + "servicedir=s" => \$servicedir, 29 + "debug!" => \$DEBUG, 30 + "pidebug!" => \$PIDEBUG, 31 + "paranoia!" => \$paranoia, 32 + @@ -166,6 +167,10 @@ and returning the output they produce. 33 + 34 + Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin-node.conf] 35 + 36 + +=item B<< --servicedir <dir> >> 37 + + 38 + +Override plugin directory [@@CONFDIR@@/plugins/] 39 + + 40 + =item B< --[no]paranoia > 41 + 42 + Only run plugins owned by root. Check permissions as well. [--noparanoia] 43 + -- 44 + 1.8.4 45 + 46 + 47 + From b8e17cbe73ae4c71b93ff5687ba86db1d0c1f5bd Mon Sep 17 00:00:00 2001 48 + From: Steve Schnepp <steve.schnepp@pwkf.org> 49 + Date: Thu, 17 Oct 2013 11:52:10 +0200 50 + Subject: [PATCH 2/2] node: untaint the service-dir args 51 + 52 + --- 53 + node/sbin/munin-node | 6 +++++- 54 + 1 file changed, 5 insertions(+), 1 deletion(-) 55 + 56 + diff --git a/node/sbin/munin-node b/node/sbin/munin-node 57 + index 0a93450..909c8c4 100755 58 + --- a/node/sbin/munin-node 59 + +++ b/node/sbin/munin-node 60 + @@ -99,9 +99,10 @@ sub parse_args 61 + { 62 + my @ORIG_ARGV = @ARGV; 63 + 64 + + my $servicedir_cmdline; 65 + print_usage_and_exit() unless GetOptions( 66 + "config=s" => \$conffile, 67 + - "servicedir=s" => \$servicedir, 68 + + "servicedir=s" => \$servicedir_cmdline, 69 + "debug!" => \$DEBUG, 70 + "pidebug!" => \$PIDEBUG, 71 + "paranoia!" => \$paranoia, 72 + @@ -109,6 +110,9 @@ sub parse_args 73 + "help" => \&print_usage_and_exit, 74 + ); 75 + 76 + + # We untaint the args brutally, since the sysadm should know what he does 77 + + $servicedir = $1 if defined $servicedir_cmdline && $servicedir_cmdline =~ m/(.*)/; 78 + + 79 + # Reset ARGV (for HUPing) 80 + @ARGV = @ORIG_ARGV; 81 + 82 + -- 83 + 1.8.4 84 +
+39 -9
pkgs/servers/monitoring/munin/default.nix
··· 1 1 { stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages 2 - , python, ruby, openjdk }: 3 - 4 - # TODO: split into server/node derivations 5 - 6 - # FIXME: munin tries to write log files and web graphs to its installation path. 2 + , python, ruby, openjdk, nettools }: 7 3 8 4 stdenv.mkDerivation rec { 9 5 version = "2.0.17"; ··· 19 15 which 20 16 coreutils 21 17 rrdtool 18 + nettools 22 19 perl 23 20 perlPackages.ModuleBuild 24 21 perlPackages.HTMLTemplate ··· 36 33 perlPackages.NetServer 37 34 perlPackages.ListMoreUtils 38 35 perlPackages.TimeHiRes 36 + perlPackages.LWPUserAgent 37 + perlPackages.DBDPg 39 38 python 40 39 ruby 41 40 openjdk 41 + # tests 42 + perlPackages.TestLongString 43 + perlPackages.TestDifferences 44 + perlPackages.TestDeep 45 + perlPackages.TestMockModule 46 + perlPackages.TestMockObject 47 + perlPackages.FileSlurp 48 + perlPackages.IOStringy 49 + ]; 50 + 51 + # TODO: tests are failing http://munin-monitoring.org/ticket/1390#comment:1 52 + # NOTE: important, test command always exits with 0, think of a way to abort the build once tests pass 53 + doCheck = false; 54 + 55 + checkPhase = '' 56 + export PERL5LIB="$PERL5LIB:${rrdtool}/lib/perl" 57 + LC_ALL=C make -j1 test 58 + ''; 59 + 60 + patches = [ 61 + # https://rt.cpan.org/Public/Bug/Display.html?id=75112 62 + ./dont_preserve_source_dir_permissions.patch 63 + 64 + # https://github.com/munin-monitoring/munin/pull/134 65 + ./adding_servicedir_munin-node.patch 42 66 ]; 43 67 44 68 preBuild = '' 69 + substituteInPlace "Makefile" \ 70 + --replace "/bin/pwd" "pwd" 71 + 72 + # munin checks at build time if user/group exists, unpure 45 73 sed -i '/CHECKUSER/d' Makefile 46 74 sed -i '/CHOWN/d' Makefile 47 75 sed -i '/CHECKGROUP/d' Makefile 48 - substituteInPlace "Makefile" \ 49 - --replace "/usr/pwd" "pwd" 76 + 77 + # munin hardcodes PATH, we need it to obey $PATH 78 + sed -i '/ENV{PATH}/d' node/lib/Munin/Node/Service.pm 50 79 ''; 51 80 52 81 # DESTDIR shouldn't be needed (and shouldn't have worked), but munin ··· 60 89 PYTHON=${python}/bin/python 61 90 RUBY=${ruby}/bin/ruby 62 91 JAVARUN=${openjdk}/bin/java 63 - HOSTNAME=default 92 + PLUGINUSER=munin 64 93 ''; 65 94 66 95 postFixup = '' ··· 78 107 case "$file" in 79 108 *.jar) continue;; 80 109 esac 81 - 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 110 + wrapProgram "$file" \ 111 + --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" 82 112 done 83 113 ''; 84 114
+18
pkgs/servers/monitoring/munin/dont_preserve_source_dir_permissions.patch
··· 1 + # https://rt.cpan.org/Public/Bug/Display.html?id=75112 2 + diff --git a/master/lib/Munin/Master/HTMLOld.pm b/master/lib/Munin/Master/HTMLOld.pm 3 + index 2b6e71f..c0aa2c0 100644 4 + --- a/master/lib/Munin/Master/HTMLOld.pm 5 + +++ b/master/lib/Munin/Master/HTMLOld.pm 6 + @@ -711,10 +711,12 @@ sub emit_main_index { 7 + 8 + sub copy_web_resources { 9 + my ($staticdir, $htmldir) = @_; 10 + + local $File::Copy::Recursive::KeepMode = 0; 11 + unless(dircopy($staticdir, "$htmldir/static")){ 12 + ERROR "[ERROR] Could not copy contents from $staticdir to $htmldir"; 13 + die "[ERROR] Could not copy contents from $staticdir to $htmldir"; 14 + } 15 + + local $File::Copy::Recursive::KeepMode = 1; 16 + } 17 + 18 + sub instanciate_comparison_templates {
+2 -10
pkgs/servers/monitoring/zabbix/2.0.nix
··· 5 5 6 6 let 7 7 8 - version = "2.0.8"; 8 + version = "2.0.9"; 9 9 10 10 src = fetchurl { 11 11 url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; 12 - sha256 = "16jiwjw4041j3qn1cs4k812mih8mjwz5022ac0h0n78avrh4kff4"; 12 + sha256 = "057fjqww0qzs56nm8m3c36kbrhwriysvjvqzgwm9j2bg9ylixvym"; 13 13 }; 14 14 15 15 preConfigure = ··· 30 30 name = "zabbix-${version}"; 31 31 32 32 inherit src preConfigure; 33 - 34 - patchFlags = "-p0"; 35 - patches = 36 - [ (fetchurl { 37 - url = "https://support.zabbix.com/secure/attachment/24449/ZBX-7091-2.0.8.patch"; 38 - sha256 = "1rlk3812dd12imk29i0fw6bzpgi44a8231kiq3bl5yryx18qh580"; 39 - }) 40 - ]; 41 33 42 34 configureFlags = [ 43 35 "--enable-agent"
+1 -1
pkgs/stdenv/generic/default.nix
··· 49 49 # Add a utility function to produce derivations that use this 50 50 # stdenv and its shell. 51 51 mkDerivation = attrs: 52 - if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable") then 52 + if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then 53 53 throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate" 54 54 else 55 55 lib.addPassthru (derivation (
+7 -8
pkgs/tools/archivers/zpaq/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="zpaq"; 6 - version="625"; 6 + version="642"; 7 7 name="${baseName}-${version}"; 8 - hash="0d3ly8l6mzbqxkg68yz7mid3dr056fgr5n49rlkjwcfg533c5gwx"; 9 - url="http://mattmahoney.net/dc/zpaq625.zip"; 10 - sha256="0d3ly8l6mzbqxkg68yz7mid3dr056fgr5n49rlkjwcfg533c5gwx"; 8 + hash="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5"; 9 + url="http://mattmahoney.net/dc/zpaq642.zip"; 10 + sha256="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5"; 11 11 }; 12 12 buildInputs = [ 13 13 unzip ··· 29 29 }; 30 30 sourceRoot = "."; 31 31 buildPhase = '' 32 - g++ -shared -O3 libzpaq.cpp divsufsort.c ${compileFlags} -o libzpaq.so 33 - g++ -O3 -L. -L"$out/lib" -lzpaq zpaq.cpp -o zpaq 34 - g++ -O3 -L. -L"$out/lib" -lzpaq zpaqd.cpp -o zpaqd 32 + g++ -shared -O3 libzpaq.cpp ${compileFlags} -o libzpaq.so 33 + g++ -O3 -L. -L"$out/lib" -lzpaq divsufsort.c zpaq.cpp -o zpaq 35 34 ''; 36 35 installPhase = '' 37 36 mkdir -p "$out"/{bin,include,lib,share/doc/zpaq} 38 37 cp libzpaq.so "$out/lib" 39 - cp zpaq zpaqd "$out/bin" 38 + cp zpaq "$out/bin" 40 39 cp libzpaq.h divsufsort.h "$out/include" 41 40 cp readme.txt "$out/share/doc/zpaq" 42 41 '';
+49
pkgs/tools/archivers/zpaq/zpaqd.nix
··· 1 + {stdenv, fetchurl, unzip}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + baseName="zpaqd"; 6 + version="633"; 7 + name="${baseName}-${version}"; 8 + hash="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; 9 + url="http://mattmahoney.net/dc/zpaqd633.zip"; 10 + sha256="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; 11 + }; 12 + buildInputs = [ 13 + unzip 14 + ]; 15 + isUnix = stdenv.isLinux || stdenv.isGNU || stdenv.isDarwin || stdenv.isBSD; 16 + isx86 = stdenv.isi686 || stdenv.isx86_64; 17 + compileFlags = "" 18 + + (stdenv.lib.optionalString isUnix " -Dunix -pthread ") 19 + + (stdenv.lib.optionalString (!isx86) " -DNOJIT ") 20 + + " -DNDEBUG " 21 + + " -fPIC " 22 + ; 23 + in 24 + stdenv.mkDerivation { 25 + inherit (s) name version; 26 + inherit buildInputs; 27 + src = fetchurl { 28 + inherit (s) url sha256; 29 + }; 30 + sourceRoot = "."; 31 + buildPhase = '' 32 + g++ -shared -O3 libzpaq.cpp ${compileFlags} -o libzpaq.so 33 + g++ -O3 -L. -L"$out/lib" -lzpaq zpaqd.cpp -o zpaqd 34 + ''; 35 + installPhase = '' 36 + mkdir -p "$out"/{bin,include,lib,share/doc/zpaq} 37 + cp libzpaq.so "$out/lib" 38 + cp zpaqd "$out/bin" 39 + cp libzpaq.h "$out/include" 40 + cp readme_zpaqd.txt "$out/share/doc/zpaq" 41 + ''; 42 + meta = { 43 + inherit (s) version; 44 + description = ''ZPAQ archiver decompressor and algorithm development tool''; 45 + license = stdenv.lib.licenses.gpl3Plus ; 46 + maintainers = [stdenv.lib.maintainers.raskin]; 47 + platforms = stdenv.lib.platforms.linux; 48 + }; 49 + }
+5
pkgs/tools/archivers/zpaq/zpaqd.upstream
··· 1 + url http://mattmahoney.net/dc/zpaqutil.html 2 + version_link 'zpaqd[0-9]+[.]zip' 3 + version "[^0-9]*([0-9]+)[^0-9]*" '\1' 4 + name zpaqd 5 + attribute_name zpaqd
+2 -2
pkgs/tools/compression/lrzip/default.nix
··· 1 1 {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}: 2 2 3 3 stdenv.mkDerivation rec { 4 - version = "0.614"; 4 + version = "0.616"; 5 5 name = "lrzip-${version}"; 6 6 7 7 src = fetchurl { 8 8 url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2"; 9 - sha256 = "16i6mz2z6gx8xiva7zb0j78yvkwq1bjbdkl7w3i10195ll097ad8"; 9 + sha256 = "1bimlbsfzjvippbma08ifm1grcy9i7avryrkdvnvrfyqnj6mlbcq"; 10 10 }; 11 11 12 12 buildInputs = [ zlib lzo bzip2 nasm perl ];
+2 -2
pkgs/tools/filesystems/e2fsprogs/default.nix
··· 1 1 { stdenv, fetchurl, pkgconfig, libuuid }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "e2fsprogs-1.42.7"; 4 + name = "e2fsprogs-1.42.8"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; 8 - sha256 = "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw"; 8 + sha256 = "b984aaf1fe888d6a4cf8c2e8d397207879599b5368f1d33232c1ec9d68d00c97"; 9 9 }; 10 10 11 11 buildInputs = [ pkgconfig libuuid ];
+5 -5
pkgs/tools/filesystems/glusterfs/default.nix
··· 3 3 s = # Generated upstream information 4 4 rec { 5 5 baseName="glusterfs"; 6 - version="3.3.1"; 7 - name="glusterfs-3.3.1"; 8 - hash="06bmnyl3vh8s21kk98idm2fl7kq38na94k5l67l9l1grl3iyzahr"; 9 - url="http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/glusterfs-3.3.1.tar.gz"; 10 - sha256="06bmnyl3vh8s21kk98idm2fl7kq38na94k5l67l9l1grl3iyzahr"; 6 + version="3.4.1"; 7 + name="${baseName}-${version}"; 8 + hash="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; 9 + url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.1/glusterfs-3.4.1.tar.gz"; 10 + sha256="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; 11 11 }; 12 12 buildInputs = [ 13 13 fuse bison flex openssl python ncurses readline
+1
pkgs/tools/graphics/cuneiform/default.nix
··· 36 36 37 37 name = "cuneiform-" + version; 38 38 meta = { 39 + inherit version; 39 40 description = "Cuneiform OCR"; 40 41 }; 41 42 }
+5 -5
pkgs/tools/misc/rockbox-utility/default.nix
··· 1 - { stdenv, fetchurl, libusb, qt4 }: 1 + { stdenv, fetchurl, libusb1, qt4 }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "rockbox-utility-${version}"; 5 - version = "1.2.8"; 5 + version = "1.3.1"; 6 6 7 7 src = fetchurl { 8 - url = "http://download.rockbox.org/rbutil/source/rbutil_${version}-src.tar.bz2"; 9 - sha256 = "1gjwlyrwvzfdhqdwvq1chdnjkcn9lk21ixp92h5y74826j3ahdgs"; 8 + url = "http://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2"; 9 + sha256 = "6c04b5c7eaad1762577908dedb9e40f5b0cee675150ae5ba844ea2c9bea294ca"; 10 10 }; 11 11 12 - buildInputs = [ libusb qt4 ]; 12 + buildInputs = [ libusb1 qt4 ]; 13 13 14 14 preBuild = '' 15 15 cd rbutil/rbutilqt
+75
pkgs/tools/networking/curl/7.15.nix
··· 1 + { stdenv, fetchurl 2 + , zlibSupport ? false, zlib ? null 3 + , sslSupport ? false, openssl ? null 4 + , scpSupport ? false, libssh2 ? null 5 + , gssSupport ? false, gss ? null 6 + , c-aresSupport ? false, c-ares ? null 7 + , linkStatic ? false 8 + }: 9 + 10 + assert zlibSupport -> zlib != null; 11 + assert sslSupport -> openssl != null; 12 + assert scpSupport -> libssh2 != null; 13 + assert c-aresSupport -> c-ares != null; 14 + 15 + stdenv.mkDerivation rec { 16 + name = "curl-7.15.0"; 17 + 18 + src = fetchurl { 19 + url = "http://curl.haxx.se/download/archeology/${name}.tar.gz"; 20 + sha256 = "061bgjm6rv0l9804vmm4jvr023l52qvmy9qq4zjv4lgqhlljvhz3"; 21 + }; 22 + 23 + # Zlib and OpenSSL must be propagated because `libcurl.la' contains 24 + # "-lz -lssl", which aren't necessary direct build inputs of 25 + # applications that use Curl. 26 + propagatedBuildInputs = with stdenv.lib; 27 + optional zlibSupport zlib ++ 28 + optional gssSupport gss ++ 29 + optional c-aresSupport c-ares ++ 30 + optional sslSupport openssl; 31 + 32 + preConfigure = '' 33 + sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure 34 + ''; 35 + configureFlags = [ 36 + ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" ) 37 + ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) 38 + ] 39 + ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}" 40 + ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}" 41 + ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] 42 + ; 43 + 44 + dontDisableStatic = linkStatic; 45 + 46 + CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else ""; 47 + LDFLAGS = if linkStatic then "-static" else ""; 48 + CXX = "g++"; 49 + CXXCPP = "g++ -E"; 50 + 51 + # libtool hack to get a static binary. Notice that to 'configure' I passed 52 + # other LDFLAGS, because it doesn't use libtool for linking in the tests. 53 + makeFlags = if linkStatic then "LDFLAGS=-all-static" else ""; 54 + 55 + crossAttrs = { 56 + # We should refer to the cross built openssl 57 + # For the 'urandom', maybe it should be a cross-system option 58 + configureFlags = [ 59 + ( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" ) 60 + "--with-random /dev/urandom" 61 + ] 62 + ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ] 63 + ; 64 + }; 65 + 66 + passthru = { 67 + inherit sslSupport openssl; 68 + }; 69 + 70 + meta = { 71 + homepage = "http://curl.haxx.se/"; 72 + description = "A command line tool for transferring files with URL syntax"; 73 + platforms = stdenv.lib.platforms.all; 74 + }; 75 + }
+32
pkgs/tools/networking/netcat-openbsd/default.nix
··· 1 + {stdenv, fetchurl, pkgconfig, libbsd}: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "netcat-openbsd-1.105"; 5 + version = "1.105"; 6 + 7 + srcs = [ 8 + (fetchurl { 9 + url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_1.105.orig.tar.gz"; 10 + md5 = "7e67b22f1ad41a1b7effbb59ff28fca1"; 11 + }) 12 + (fetchurl { 13 + url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_1.105-7.debian.tar.gz"; 14 + md5 = "e914f8eb7eda5c75c679dd77787ac76b"; 15 + }) 16 + ]; 17 + 18 + buildInputs = [ pkgconfig libbsd ]; 19 + sourceRoot = name; 20 + patches = [ "../debian/patches/*.patch" ]; 21 + 22 + installPhase = '' 23 + install -Dm0755 nc $out/bin/nc 24 + ''; 25 + 26 + meta = { 27 + homepage = "http://packages.debian.org/netcat-openbsd"; 28 + description = "TCP/IP swiss army knife. OpenBSD variant."; 29 + platforms = stdenv.lib.platforms.linux; 30 + }; 31 + 32 + }
+3 -3
pkgs/tools/package-management/nix/unstable.nix
··· 5 5 }: 6 6 7 7 stdenv.mkDerivation rec { 8 - name = "nix-1.7pre3252_792fd51"; 8 + name = "nix-1.7pre3267_2d9bb56"; 9 9 10 10 src = fetchurl { 11 - url = "http://hydra.nixos.org/build/6500161/download/5/${name}.tar.xz"; 12 - sha256 = "f99c1996292ea1a20068f0a6d58d3dc4775f30fdd22cdd756ac4d749acb2c20e"; 11 + url = "http://hydra.nixos.org/build/6611474/download/5/${name}.tar.xz"; 12 + sha256 = "f62b48910651c4651cd4473a0bb433d65cf60c93c0f80d589b26fec52b3b82b3"; 13 13 }; 14 14 15 15 nativeBuildInputs = [ perl pkgconfig ];
+1 -1
pkgs/tools/typesetting/tex/tex4ht/default.nix
··· 24 24 for f in src/tex4ht src/t4ht src/htcmd "bin/unix/"*; do 25 25 mv $f $out/bin/ 26 26 done 27 - mv texmf $out/ 27 + mv texmf $out/texmf-dist 28 28 ''; 29 29 30 30 meta = {
+75 -12
pkgs/top-level/all-packages.nix
··· 661 661 662 662 connect = callPackage ../tools/networking/connect { }; 663 663 664 + conspy = callPackage ../os-specific/linux/conspy {}; 665 + 664 666 convertlit = callPackage ../tools/text/convertlit { }; 665 667 666 668 collectd = callPackage ../tools/system/collectd { }; ··· 710 712 zlibSupport = true; 711 713 sslSupport = zlibSupport; 712 714 scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin; 715 + }; 716 + 717 + curl3 = callPackage ../tools/networking/curl/7.15.nix rec { 718 + zlibSupport = true; 719 + sslSupport = zlibSupport; 713 720 }; 714 721 715 722 cunit = callPackage ../tools/misc/cunit { }; ··· 890 897 fontforgeX = callPackage ../tools/misc/fontforge { 891 898 withX11 = true; 892 899 }; 900 + 901 + forktty = callPackage ../os-specific/linux/forktty {}; 893 902 894 903 fortune = callPackage ../tools/misc/fortune { }; 895 904 ··· 1371 1380 netboot = callPackage ../tools/networking/netboot {}; 1372 1381 1373 1382 netcat = callPackage ../tools/networking/netcat { }; 1383 + 1384 + netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { }; 1374 1385 1375 1386 netkittftp = callPackage ../tools/networking/netkit/tftp { }; 1376 1387 ··· 1880 1891 1881 1892 ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; 1882 1893 1894 + ttysnoop = callPackage ../os-specific/linux/ttysnoop {}; 1895 + 1883 1896 twitterBootstrap = callPackage ../development/web/twitter-bootstrap {}; 1884 1897 1885 1898 txt2man = callPackage ../tools/misc/txt2man { }; ··· 1899 1912 unoconv = callPackage ../tools/text/unoconv { }; 1900 1913 1901 1914 upx = callPackage ../tools/compression/upx { }; 1915 + 1916 + urlview = callPackage ../applications/misc/urlview {}; 1902 1917 1903 1918 usbmuxd = callPackage ../tools/misc/usbmuxd {}; 1904 1919 ··· 2148 2163 zip = callPackage ../tools/archivers/zip { }; 2149 2164 2150 2165 zpaq = callPackage ../tools/archivers/zpaq { }; 2166 + zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; 2151 2167 2152 2168 zsync = callPackage ../tools/compression/zsync { }; 2153 2169 ··· 2190 2206 aldor = callPackage ../development/compilers/aldor { }; 2191 2207 2192 2208 aspectj = callPackage ../development/compilers/aspectj { }; 2209 + 2210 + ats2 = callPackage ../development/compilers/ats2 { }; 2193 2211 2194 2212 avra = callPackage ../development/compilers/avra { }; 2195 2213 ··· 2897 2915 2898 2916 ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; 2899 2917 2918 + ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { }; 2919 + 2900 2920 orc = callPackage ../development/compilers/orc { }; 2901 2921 2902 2922 metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; ··· 3054 3074 sdcc = callPackage ../development/compilers/sdcc { 3055 3075 boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53 3056 3076 }; 3077 + 3078 + smlnj = callPackage_i686 ../development/compilers/smlnj { }; 3057 3079 3058 3080 stalin = callPackage ../development/compilers/stalin { }; 3059 3081 ··· 3758 3780 3759 3781 simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; 3760 3782 3783 + slimerjs = callPackage ../development/tools/slimerjs {}; 3784 + 3761 3785 sloccount = callPackage ../development/tools/misc/sloccount { }; 3762 3786 3763 3787 smatch = callPackage ../development/tools/analysis/smatch { ··· 3819 3843 }; 3820 3844 3821 3845 valkyrie = callPackage ../development/tools/analysis/valkyrie { }; 3846 + 3847 + xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; 3822 3848 3823 3849 xxdiff = callPackage ../development/tools/misc/xxdiff { }; 3824 3850 ··· 4014 4040 4015 4041 db48 = callPackage ../development/libraries/db4/db4-4.8.nix { }; 4016 4042 4017 - dbus = let dbus_all = callPackage ../development/libraries/dbus { }; 4018 - in dbus_all.libs // dbus_all; # previously dbus.libs also contained the daemon 4043 + dbus = callPackage ../development/libraries/dbus { }; 4019 4044 dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; 4020 4045 dbus_glib = callPackage ../development/libraries/dbus-glib { }; 4021 4046 dbus_java = callPackage ../development/libraries/java/dbus-java { }; ··· 4143 4168 gamin = callPackage ../development/libraries/gamin { }; 4144 4169 4145 4170 gav = callPackage ../games/gav { }; 4171 + 4172 + gsb = callPackage ../games/gsb { }; 4146 4173 4147 4174 gdome2 = callPackage ../development/libraries/gdome2 { 4148 4175 inherit (gnome) gtkdoc; ··· 4568 4595 json_glib = callPackage ../development/libraries/json-glib { }; 4569 4596 4570 4597 json_c = callPackage ../development/libraries/json-c { }; 4598 + 4599 + jsoncpp = callPackage ../development/libraries/jsoncpp { }; 4571 4600 4572 4601 libjson = callPackage ../development/libraries/libjson { }; 4573 4602 ··· 5081 5110 5082 5111 libvisual = callPackage ../development/libraries/libvisual { }; 5083 5112 5084 - libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) { 5085 - inherit libtool libjpeg openssl zlib; 5086 - inherit (xlibs) xproto libX11 damageproto libXdamage 5087 - libXext xextproto fixesproto libXfixes xineramaproto 5088 - libXinerama libXrandr randrproto libXtst; 5089 - }; 5113 + libvncserver = callPackage ../development/libraries/libvncserver {}; 5090 5114 5091 5115 libviper = callPackage ../development/libraries/libviper { }; 5092 5116 ··· 5403 5427 5404 5428 policykit = callPackage ../development/libraries/policykit { }; 5405 5429 5406 - poppler = let popplers = callPackage ../development/libraries/poppler { lcms = lcms2; }; 5407 - in popplers // popplers.poppler_glib; 5430 + poppler = callPackage ../development/libraries/poppler { lcms = lcms2; }; 5408 5431 popplerQt4 = poppler.poppler_qt4; 5409 5432 5410 5433 poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix { ··· 6179 6202 6180 6203 lighttpd = callPackage ../servers/http/lighttpd { }; 6181 6204 6205 + mailman = callPackage ../servers/mail/mailman { }; 6206 + 6182 6207 mediatomb = callPackage ../servers/mediatomb { 6183 6208 ffmpeg = ffmpeg_0_6_90; 6184 6209 }; ··· 6509 6534 6510 6535 fxload = callPackage ../os-specific/linux/fxload { }; 6511 6536 6537 + gfxtablet = callPackage ../os-specific/linux/gfxtablet {}; 6538 + 6512 6539 gpm = callPackage ../servers/gpm { }; 6513 6540 6514 6541 hdparm = callPackage ../os-specific/linux/hdparm { }; ··· 6603 6630 ]; 6604 6631 }; 6605 6632 6633 + # Note: grsec is not enabled automatically, you need to specify which kernel 6634 + # config options you need (e.g. by overriding extraConfig). See list of options here: 6635 + # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options 6606 6636 linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: { 6607 6637 kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_51 ]; 6608 - })) (args: { makeFlags = "DISABLE_PAX_PLUGINS=y";})); 6638 + })) (args: { 6639 + # Install gcc plugins. These are needed for compiling dependant packages. 6640 + postInstall = '' 6641 + ${args.postInstall or ""} 6642 + cp tools/gcc/*.so $out/lib/modules/$version/build/tools/gcc/ 6643 + ''; 6644 + # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) 6645 + # include libgmp headers, so we need these extra tweaks 6646 + buildInputs = args.buildInputs ++ [ gmp ]; 6647 + preConfigure = '' 6648 + ${args.preConfigure or ""} 6649 + sed -i 's|-I|-I${gmp}/include -I|' scripts/gcc-plugin.sh 6650 + sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile 6651 + sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile 6652 + ''; 6653 + })); 6609 6654 6610 6655 linux_3_2_apparmor = lowPrio (linux_3_2.override { 6611 6656 kernelPatches = [ kernelPatches.apparmor_3_2 ]; ··· 6805 6850 linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0); 6806 6851 linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); 6807 6852 linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor; 6853 + linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity; 6808 6854 linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; 6809 6855 linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); 6810 6856 linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor; ··· 7756 7802 7757 7803 fossil = callPackage ../applications/version-management/fossil { }; 7758 7804 7805 + fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { }; 7806 + 7759 7807 fvwm = callPackage ../applications/window-managers/fvwm { }; 7760 7808 7761 7809 geany = callPackage ../applications/editors/geany { }; ··· 8875 8923 virtviewer = callPackage ../applications/virtualization/virt-viewer {}; 8876 8924 virtmanager = callPackage ../applications/virtualization/virt-manager { 8877 8925 inherit (gnome) gnome_python; 8926 + vte = gnome.vte.override { pythonSupport = true; }; 8878 8927 }; 8879 8928 8880 8929 virtinst = callPackage ../applications/virtualization/virtinst {}; ··· 8970 9019 ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer 8971 9020 ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin 8972 9021 ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin 9022 + ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid 8973 9023 ); 8974 9024 libs = 8975 9025 if cfg.enableQuakeLive or false ··· 9187 9237 flightgear = callPackage ../games/flightgear { }; 9188 9238 9189 9239 freeciv = callPackage ../games/freeciv { }; 9240 + 9241 + freeciv_gtk = callPackage ../games/freeciv { 9242 + gtkClient = true; 9243 + sdlClient = false; 9244 + }; 9190 9245 9191 9246 freedink = callPackage ../games/freedink { }; 9192 9247 ··· 9271 9326 9272 9327 racer = callPackage ../games/racer { }; 9273 9328 9329 + residualvm = callPackage ../games/residualvm { 9330 + openglSupport = mesaSupported; 9331 + }; 9332 + 9274 9333 rigsofrods = callPackage ../games/rigsofrods { 9275 9334 mygui = myguiSvn; 9276 9335 }; ··· 10157 10216 VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; 10158 10217 10159 10218 # Wine cannot be built in 64-bit; use a 32-bit build instead. 10160 - wine = callPackage_i686 ../misc/emulators/wine { 10219 + wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { 10161 10220 bison = bison2; 10162 10221 }; 10222 + wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { 10223 + bison = bison2; 10224 + }); 10225 + wine = wineStable; 10163 10226 10164 10227 # winetricks is a shell script with no binary components. Safe to just use the current platforms 10165 10228 # build instead of the i686 specific build.
+12 -6
pkgs/top-level/haskell-packages.nix
··· 141 141 inherit (self) cabal ghc; 142 142 async = self.async_2_0_1_4; 143 143 attoparsec = self.attoparsec_0_10_4_0; 144 - caseInsensitive = self.caseInsensitive_1_1; 144 + caseInsensitive = self.caseInsensitive_1_1_0_1; 145 145 cgi = self.cgi_3001_1_7_5; 146 146 fgl = self.fgl_5_4_2_4; 147 147 GLUT = self.GLUT_2_5_0_1; ··· 677 677 carray = callPackage ../development/libraries/haskell/carray {}; 678 678 679 679 caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {}; 680 - caseInsensitive_1_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.nix {}; 681 - caseInsensitive = self.caseInsensitive_1_1; 680 + caseInsensitive_1_1_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.1.nix {}; 681 + caseInsensitive = self.caseInsensitive_1_1_0_1; 682 682 683 683 cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; 684 684 ··· 1170 1170 1171 1171 hexpat = callPackage ../development/libraries/haskell/hexpat {}; 1172 1172 1173 + HTF = callPackage ../development/libraries/haskell/HTF {}; 1174 + 1173 1175 HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {}; 1174 1176 HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {}; 1175 1177 HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {}; ··· 1257 1259 1258 1260 hsemail = callPackage ../development/libraries/haskell/hsemail {}; 1259 1261 1260 - hslua = callPackage ../development/libraries/haskell/hslua { 1261 - lua = pkgs.lua5_1; 1262 - }; 1262 + hslua = callPackage ../development/libraries/haskell/hslua {}; 1263 1263 1264 1264 HSH = callPackage ../development/libraries/haskell/HSH {}; 1265 1265 ··· 1367 1367 languageC = callPackage ../development/libraries/haskell/language-c {}; 1368 1368 1369 1369 languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {}; 1370 + 1371 + languageEcmascript = callPackage ../development/libraries/haskell/language-ecmascript {}; 1370 1372 1371 1373 languageJava = callPackage ../development/libraries/haskell/language-java {}; 1372 1374 ··· 2077 2079 text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {}; 2078 2080 text = self.text_0_11_3_1; 2079 2081 2082 + textFormat = callPackage ../development/libraries/haskell/text-format {}; 2083 + 2080 2084 textIcu = callPackage ../development/libraries/haskell/text-icu {}; 2081 2085 2082 2086 thespian = callPackage ../development/libraries/haskell/thespian {}; ··· 2275 2279 xml = callPackage ../development/libraries/haskell/xml {}; 2276 2280 2277 2281 xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {}; 2282 + 2283 + xmlgen = callPackage ../development/libraries/haskell/xmlgen {}; 2278 2284 2279 2285 xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {}; 2280 2286
+57
pkgs/top-level/perl-packages.nix
··· 3633 3633 }; 3634 3634 }; 3635 3635 3636 + GnuPG = buildPerlPackage { 3637 + name = "GnuPG-0.19"; 3638 + src = fetchurl { 3639 + url = mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz; 3640 + sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b"; 3641 + }; 3642 + buildInputs = [ pkgs.gnupg1orig ]; 3643 + meta = { 3644 + platforms = stdenv.lib.platforms.linux; 3645 + maintainers = with maintainers; [ ocharles ]; 3646 + }; 3647 + }; 3648 + 3636 3649 GoogleProtocolBuffers = buildPerlPackage rec { 3637 3650 name = "Google-ProtocolBuffers-0.08"; 3638 3651 src = fetchurl { ··· 4587 4600 src = fetchurl { 4588 4601 url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Simple-0.18.tar.gz; 4589 4602 sha256 = "14kx7vkxyfqndy90rzavrjp2346aidyc7x5dzzdj293qf8s4q6ig"; 4603 + }; 4604 + }; 4605 + 4606 + LocalePO = buildPerlPackage { 4607 + name = "Locale-PO-0.23"; 4608 + src = fetchurl { 4609 + url = mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.23.tar.gz; 4610 + sha256 = "52e5fdc88ec4eb00512418a938dc5089476ea66c9e744fee3c6bbfdf17a0d302"; 4611 + }; 4612 + propagatedBuildInputs = [ FileSlurp ]; 4613 + meta = { 4614 + description = "Perl module for manipulating .po entries from GNU gettext"; 4615 + license = "unknown"; 4616 + platforms = stdenv.lib.platforms.linux; 4617 + maintainers = with maintainers; [ ocharles ]; 4590 4618 }; 4591 4619 }; 4592 4620 ··· 6116 6144 url = "mirror://cpan/authors/id/D/DT/DTOWN/${name}.tar.gz"; 6117 6145 sha256 = "0hdpn1cw52x8cw24m9ayzpf4rwarm0khygn1sv3wvwxkrg0pphql"; 6118 6146 }; 6147 + doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799 6119 6148 }; 6120 6149 6121 6150 NetSSLeay = buildPerlPackage rec { ··· 7609 7638 doCheck = false; # no `hostname' in stdenv 7610 7639 }; 7611 7640 7641 + TAPParserSourceHandlerpgTAP = buildPerlModule { 7642 + name = "TAP-Parser-SourceHandler-pgTAP-3.29"; 7643 + src = fetchurl { 7644 + url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.29.tar.gz; 7645 + sha256 = "918aa9ada7a05334ace7304e7b9e002bbf0b569bfcf8fb06118777bdabd60e1b"; 7646 + }; 7647 + meta = { 7648 + homepage = http://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP/; 7649 + description = "Stream TAP from pgTAP test scripts"; 7650 + license = "perl"; 7651 + platforms = stdenv.lib.platforms.linux; 7652 + maintainers = with maintainers; [ ocharles ]; 7653 + }; 7654 + }; 7655 + 7612 7656 TaskCatalystTutorial = buildPerlPackage rec { 7613 7657 name = "Task-Catalyst-Tutorial-0.06"; 7614 7658 src = fetchurl { ··· 7673 7717 sha256 = "1mqqqs0dhfr6bp1305j9ns05q4pq1n3f561l6p8848k5ml3dh87a"; 7674 7718 }; 7675 7719 propagatedBuildInputs = [ TemplateToolkit ]; 7720 + meta = { 7721 + maintainers = with maintainers; [ ocharles ]; 7722 + platforms = stdenv.lib.platforms.unix; 7723 + }; 7724 + }; 7725 + 7726 + TemplatePluginJSONEscape = buildPerlPackage { 7727 + name = "Template-Plugin-JSON-Escape-0.02"; 7728 + src = fetchurl { 7729 + url = mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz; 7730 + sha256 = "051a8b1d3bc601d58fc51e246067d36450cfe970278a0456e8ab61940f13cd86"; 7731 + }; 7732 + propagatedBuildInputs = [ JSON TemplateToolkit ]; 7676 7733 meta = { 7677 7734 maintainers = with maintainers; [ ocharles ]; 7678 7735 platforms = stdenv.lib.platforms.unix;
+2 -2
pkgs/top-level/python-packages.nix
··· 2271 2271 2272 2272 ecdsa = buildPythonPackage rec { 2273 2273 name = "ecdsa-${version}"; 2274 - version = "0.9"; 2274 + version = "0.10"; 2275 2275 2276 2276 src = fetchurl { 2277 2277 url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz"; 2278 - md5 = "2b9c35245ce391d6b7d8f991aad5c630"; 2278 + md5 = "e95941b3bcbf1726472bb724d7478551"; 2279 2279 }; 2280 2280 2281 2281 # Only needed for tests