lol

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

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

+2790 -837
+2
lib/default.nix
··· 22 in 23 { inherit trivial lists strings stringsWithDeps attrsets sources options 24 properties modules types meta debug maintainers licenses platforms systems; 25 } 26 # !!! don't include everything at top-level; perhaps only the most 27 # commonly used functions.
··· 22 in 23 { inherit trivial lists strings stringsWithDeps attrsets sources options 24 properties modules types meta debug maintainers licenses platforms systems; 25 + # Pull in some builtins not included elsewhere. 26 + inherit (builtins) pathExists readFile; 27 } 28 # !!! don't include everything at top-level; perhaps only the most 29 # commonly used functions.
+6
lib/licenses.nix
··· 186 url = http://www.mozilla.org/MPL/MPL-1.1.html; 187 }; 188 189 openssl = { 190 shortName = "openssl"; 191 fullName = "OpenSSL license";
··· 186 url = http://www.mozilla.org/MPL/MPL-1.1.html; 187 }; 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 + 195 openssl = { 196 shortName = "openssl"; 197 fullName = "OpenSSL license";
+2 -2
lib/lists.nix
··· 1 # General list operations. 2 let 3 inherit (import ./trivial.nix) deepSeq; 4 5 inc = builtins.add 1; 6 7 dec = n: builtins.sub n 1; 8 9 - inherit (builtins) elemAt; 10 in rec { 11 - inherit (builtins) head tail length isList add sub lessThan; 12 13 14 # Create a list consisting of a single element. `singleton x' is
··· 1 # General list operations. 2 let 3 + 4 inherit (import ./trivial.nix) deepSeq; 5 6 inc = builtins.add 1; 7 8 dec = n: builtins.sub n 1; 9 10 in rec { 11 + inherit (builtins) head tail length isList add sub lessThan elemAt; 12 13 14 # Create a list consisting of a single element. `singleton x' is
+1 -3
lib/misc.nix
··· 206 in 207 work startSet [] []; 208 209 - genericClosure = 210 - if builtins ? genericClosure then builtins.genericClosure 211 - else lazyGenericClosure; 212 213 innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 214 innerModifySumArgs f x (a // b);
··· 206 in 207 work startSet [] []; 208 209 + genericClosure = builtins.genericClosure or lazyGenericClosure; 210 211 innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 212 innerModifySumArgs f x (a // b);
+1 -2
lib/modules.nix
··· 185 ) funs; 186 187 188 - moduleMerge = path: modules: 189 - let modules_ = modules; in 190 let 191 addName = name: 192 if path == "" then name else path + "." + name;
··· 185 ) funs; 186 187 188 + moduleMerge = path: modules_: 189 let 190 addName = name: 191 if path == "" then name else path + "." + name;
+5 -6
lib/options.nix
··· 11 12 rec { 13 14 - inherit (lib) isType; 15 - 16 - 17 - isOption = isType "option"; 18 mkOption = attrs: attrs // { 19 _type = "option"; 20 # name (this is the name of the attributem it is automatically generated by the traversal) ··· 66 if all opt.check list then 67 opt.merge list 68 else 69 - throw "One of option ${name} values has a bad type."; 70 } 71 else opt; 72 ··· 77 if opt.check opt.default then 78 opt.default 79 else 80 - throw "The default value of option ${name} has a bad type."; 81 } 82 else opt; 83 ··· 275 description = opt.description or (throw "Option ${opt.name}: No description."); 276 declarations = map (x: toString x.source) opt.declarations; 277 #definitions = map (x: toString x.source) opt.definitions; 278 } 279 // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } 280 // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
··· 11 12 rec { 13 14 + isOption = lib.isType "option"; 15 mkOption = attrs: attrs // { 16 _type = "option"; 17 # name (this is the name of the attributem it is automatically generated by the traversal) ··· 63 if all opt.check list then 64 opt.merge list 65 else 66 + throw "A value of the option `${name}' has a bad type."; 67 } 68 else opt; 69 ··· 74 if opt.check opt.default then 75 opt.default 76 else 77 + throw "The default value of the option `${name}' has a bad type."; 78 } 79 else opt; 80 ··· 272 description = opt.description or (throw "Option ${opt.name}: No description."); 273 declarations = map (x: toString x.source) opt.declarations; 274 #definitions = map (x: toString x.source) opt.definitions; 275 + internal = opt.internal or false; 276 + visible = opt.visible or true; 277 } 278 // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } 279 // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
+1
nixos/.topmsg
···
··· 1 + improvements to vsftpd module
+9
nixos/doc/manual/configuration.xml
··· 13 14 <!--===============================================================--> 15 16 <section><title>Package management</title> 17 18 <para>This section describes how to add additional packages to your
··· 13 14 <!--===============================================================--> 15 16 + <section xml:id="sec-configuration-syntax"><title>Configuration syntax</title> 17 + 18 + <para>TODO</para> 19 + 20 + </section> 21 + 22 + 23 + <!--===============================================================--> 24 + 25 <section><title>Package management</title> 26 27 <para>This section describes how to add additional packages to your
+29 -11
nixos/doc/manual/default.nix
··· 1 { pkgs, options 2 - # revision can have multiple values: local, HEAD or any revision number. 3 - , revision ? "HEAD" 4 }: 5 6 with pkgs.lib; 7 8 let 9 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"]; }; 15 16 - optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext 17 - (builtins.toXML (optionAttrSetToDocList options_))); 18 19 optionsDocBook = pkgs.runCommand "options-db.xml" {} '' 20 ${pkgs.libxslt}/bin/xsltproc \ 21 --stringparam revision '${revision}' \ 22 -o $out ${./options-to-docbook.xsl} ${optionsXML} ··· 64 65 cp ${./style.css} $dst/style.css 66 67 - ensureDir $out/nix-support 68 echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products 69 ''; # */ 70 }; 71 72 # Generate the NixOS manpages. ··· 87 ./man-pages.xml 88 89 # Generate manpages. 90 - ensureDir $out/share/man 91 xsltproc --nonet --xinclude \ 92 --param man.output.in.separate.dir 1 \ 93 --param man.output.base.dir "'$out/share/man/'" \
··· 1 { pkgs, options 2 + , revision ? "master" 3 }: 4 5 with pkgs.lib; 6 7 let 8 9 + # Remove invisible and internal options. 10 + options' = filter (opt: opt.visible && !opt.internal) (optionAttrSetToDocList options); 11 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'')); 26 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 35 ${pkgs.libxslt}/bin/xsltproc \ 36 --stringparam revision '${revision}' \ 37 -o $out ${./options-to-docbook.xsl} ${optionsXML} ··· 79 80 cp ${./style.css} $dst/style.css 81 82 + mkdir -p $out/nix-support 83 + echo "nix-build out $out" >> $out/nix-support/hydra-build-products 84 echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products 85 ''; # */ 86 + 87 + meta.description = "The NixOS manual in HTML format"; 88 }; 89 90 # Generate the NixOS manpages. ··· 105 ./man-pages.xml 106 107 # Generate manpages. 108 + mkdir -p $out/share/man 109 xsltproc --nonet --xinclude \ 110 --param man.output.in.separate.dir 1 \ 111 --param man.output.base.dir "'$out/share/man/'" \
+58 -28
nixos/doc/manual/installation.xml
··· 44 <listitem><para>The NixOS manual is available on virtual console 8 45 (press Alt+F8 to access).</para></listitem> 46 47 - <listitem><para>Login as <literal>root</literal>, empty 48 password.</para></listitem> 49 50 <listitem><para>If you downloaded the graphical ISO image, you can ··· 89 </para></listitem> 90 91 <listitem><para>Mount the target file system on which NixOS should 92 - be installed on <filename>/mnt</filename>.</para></listitem> 93 94 <listitem> 95 ··· 97 <filename>/mnt/etc/nixos/configuration.nix</filename> that 98 specifies the intended configuration of the system. This is 99 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: 105 106 <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> 113 114 - <para>You should edit 115 <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> 118 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 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 130 <filename>/mnt</filename>, fix 131 <filename>/mnt/etc/nixos/configuration.nix</filename> and rerun 132 <filename>nixos-install</filename>.) In most cases, 133 - <command>nixos-option --install</command> will figure out the 134 required modules.</para></note> 135 136 <para>Examples of real-world NixOS configuration files can be ··· 218 $ mkfs.ext4 -L nixos /dev/sda1 <lineannotation>(idem)</lineannotation> 219 $ mkswap -L swap /dev/sda2 <lineannotation>(idem)</lineannotation> 220 $ mount LABEL=nixos /mnt 221 - $ nixos-option --install 222 $ nano /mnt/etc/nixos/configuration.nix 223 <lineannotation>(in particular, set the fileSystems and swapDevices options)</lineannotation> 224 $ nixos-install ··· 228 <example xml:id='ex-config'><title>NixOS configuration</title> 229 <screen> 230 { 231 boot.loader.grub.device = "/dev/sda"; 232 233 fileSystems."/".device = "/dev/disk/by-label/nixos"; 234 235 swapDevices =
··· 44 <listitem><para>The NixOS manual is available on virtual console 8 45 (press Alt+F8 to access).</para></listitem> 46 47 + <listitem><para>Login as <literal>root</literal> and the empty 48 password.</para></listitem> 49 50 <listitem><para>If you downloaded the graphical ISO image, you can ··· 89 </para></listitem> 90 91 <listitem><para>Mount the target file system on which NixOS should 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> 99 100 <listitem> 101 ··· 103 <filename>/mnt/etc/nixos/configuration.nix</filename> that 104 specifies the intended configuration of the system. This is 105 because NixOS has a <emphasis>declarative</emphasis> configuration 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: 116 117 <screen> 118 + $ nixos-generate-config --root /mnt</screen> 119 120 + You should then edit 121 <filename>/mnt/etc/nixos/configuration.nix</filename> to suit your 122 + needs: 123 124 + <screen> 125 + $ nano /mnt/etc/nixos/configuration.nix 126 + </screen> 127 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 152 <filename>/mnt</filename>, fix 153 <filename>/mnt/etc/nixos/configuration.nix</filename> and rerun 154 <filename>nixos-install</filename>.) In most cases, 155 + <command>nixos-generate-config</command> will figure out the 156 required modules.</para></note> 157 158 <para>Examples of real-world NixOS configuration files can be ··· 240 $ mkfs.ext4 -L nixos /dev/sda1 <lineannotation>(idem)</lineannotation> 241 $ mkswap -L swap /dev/sda2 <lineannotation>(idem)</lineannotation> 242 $ mount LABEL=nixos /mnt 243 + $ nixos-generate-config 244 $ nano /mnt/etc/nixos/configuration.nix 245 <lineannotation>(in particular, set the fileSystems and swapDevices options)</lineannotation> 246 $ nixos-install ··· 250 <example xml:id='ex-config'><title>NixOS configuration</title> 251 <screen> 252 { 253 + imports = 254 + [ # Include the results of the hardware scan. 255 + ./hardware-configuration.nix 256 + ]; 257 + 258 boot.loader.grub.device = "/dev/sda"; 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. 263 fileSystems."/".device = "/dev/disk/by-label/nixos"; 264 265 swapDevices =
+17
nixos/doc/manual/man-nixos-generate-config.xml
··· 110 </listitem> 111 </varlistentry> 112 113 </variablelist> 114 115 </refsection>
··· 110 </listitem> 111 </varlistentry> 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 + 130 </variablelist> 131 132 </refsection>
+2 -2
nixos/doc/manual/manual.xml
··· 42 xlink:href="irc://irc.freenode.net/#nixos"> 43 <literal>#nixos</literal> channel on Freenode</link>. Bugs should 44 be reported in <link 45 - xlink:href="https://github.com/NixOS/nixos/issues">NixOS’ GitHub 46 issue tracker</link>.</para> 47 48 </preface> ··· 55 <xi:include href="troubleshooting.xml" /> 56 <xi:include href="development.xml" /> 57 <chapter xml:id="ch-options"> 58 - <title>List of Options</title> 59 <xi:include href="options-db.xml" /> 60 </chapter> 61
··· 42 xlink:href="irc://irc.freenode.net/#nixos"> 43 <literal>#nixos</literal> channel on Freenode</link>. Bugs should 44 be reported in <link 45 + xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’ GitHub 46 issue tracker</link>.</para> 47 48 </preface> ··· 55 <xi:include href="troubleshooting.xml" /> 56 <xi:include href="development.xml" /> 57 <chapter xml:id="ch-options"> 58 + <title>List of options</title> 59 <xi:include href="options-db.xml" /> 60 </chapter> 61
+16 -4
nixos/doc/manual/options-to-docbook.xsl
··· 125 </xsl:template> 126 127 128 <xsl:template match="attrs"> 129 { 130 <xsl:for-each select="attr"> ··· 155 repository (if it’s a module and we have a revision number), 156 or to the local filesystem. --> 157 <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> 160 </xsl:when> 161 <xsl:when test="$revision != 'local' and contains(@value, 'nixops') and contains(@value, '/nix/')"> 162 <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 /nix/store/<hash> prefix by the default location of nixos 170 sources. --> 171 <xsl:choose> 172 - <xsl:when test="contains(@value, '/modules/')"> 173 - &lt;nixos/modules/<xsl:value-of select="substring-after(@value, '/modules/')"/>&gt; 174 </xsl:when> 175 <xsl:when test="contains(@value, 'nixops') and contains(@value, '/nix/')"> 176 &lt;nixops/<xsl:value-of select="substring-after(@value, '/nix/')"/>&gt;
··· 125 </xsl:template> 126 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 + 133 <xsl:template match="attrs"> 134 { 135 <xsl:for-each select="attr"> ··· 160 repository (if it’s a module and we have a revision number), 161 or to the local filesystem. --> 162 <xsl:choose> 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> 172 </xsl:when> 173 <xsl:when test="$revision != 'local' and contains(@value, 'nixops') and contains(@value, '/nix/')"> 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> ··· 181 /nix/store/<hash> prefix by the default location of nixos 182 sources. --> 183 <xsl:choose> 184 + <xsl:when test="not(starts-with(@value, '/'))"> 185 + &lt;nixpkgs/<xsl:value-of select="@value"/>&gt; 186 </xsl:when> 187 <xsl:when test="contains(@value, 'nixops') and contains(@value, '/nix/')"> 188 &lt;nixops/<xsl:value-of select="substring-after(@value, '/nix/')"/>&gt;
+1 -2
nixos/lib/eval-config.nix
··· 66 # Optionally check wether all config values have corresponding 67 # option declarations. 68 config = 69 - let doCheck = optionDefinitions.environment.checkConfigurationOptions; in 70 - assert doCheck -> pkgs.lib.checkModule "" systemModule; 71 systemModule.config; 72 }
··· 66 # Optionally check wether all config values have corresponding 67 # option declarations. 68 config = 69 + assert optionDefinitions.environment.checkConfigurationOptions -> pkgs.lib.checkModule "" systemModule; 70 systemModule.config; 71 }
+23 -26
nixos/modules/config/system-path.nix
··· 7 8 let 9 10 - cfg = config.environment; 11 - 12 extraManpages = pkgs.runCommand "extra-manpages" { buildInputs = [ pkgs.help2man ]; } 13 '' 14 mkdir -p $out/share/man/man1 ··· 87 system = { 88 89 path = mkOption { 90 - default = cfg.systemPackages; 91 description = '' 92 The packages you want in the boot environment. 93 ''; 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 }; 118 119 }; ··· 137 "/share/terminfo" 138 "/share/man" 139 ]; 140 141 }; 142 }
··· 7 8 let 9 10 extraManpages = pkgs.runCommand "extra-manpages" { buildInputs = [ pkgs.help2man ]; } 11 '' 12 mkdir -p $out/share/man/man1 ··· 85 system = { 86 87 path = mkOption { 88 + internal = true; 89 description = '' 90 The packages you want in the boot environment. 91 ''; 92 }; 93 94 }; ··· 112 "/share/terminfo" 113 "/share/man" 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 + }; 137 138 }; 139 }
+39 -41
nixos/modules/installer/tools/nixos-generate-config.pl
··· 23 my $outDir = "/etc/nixos"; 24 my $rootDir = ""; # = / 25 my $force = 0; 26 27 for (my $n = 0; $n < scalar @ARGV; $n++) { 28 my $arg = $ARGV[$n]; ··· 42 } 43 elsif ($arg eq "--force") { 44 $force = 1; 45 } 46 else { 47 die "$0: unrecognized argument ‘$arg’\n"; ··· 332 my $kernelModules = toNixExpr(uniq @kernelModules); 333 my $modulePackages = toNixExpr(uniq @modulePackages); 334 335 - $outDir = "$rootDir$outDir"; 336 - 337 - my $fn = "$outDir/hardware-configuration.nix"; 338 - print STDERR "writing $fn...\n"; 339 - mkpath($outDir, 0, 0755); 340 341 - write_file($fn, <<EOF); 342 # Do not modify this file! It was generated by ‘nixos-generate-config’ 343 # and may be overwritten by future invocations. Please make changes 344 # to /etc/nixos/configuration.nix instead. 345 { config, pkgs, ... }: 346 347 { 348 - imports = ${\multiLineList(" ", @imports)}; 349 350 boot.initrd.availableKernelModules = [$initrdAvailableKernelModules ]; 351 boot.kernelModules = [$kernelModules ]; 352 boot.extraModulePackages = [$modulePackages ]; 353 - 354 - ${fileSystems} swapDevices = ${\multiLineList(" ", @swapDevices)}; 355 - 356 nix.maxJobs = $cpus; 357 ${\join "", (map { " $_\n" } (uniq @attrs))}} 358 EOF 359 360 361 - # Generate a basic configuration.nix, unless one already exists. 362 - $fn = "$outDir/configuration.nix"; 363 - if ($force || ! -e $fn) { 364 print STDERR "writing $fn...\n"; 365 366 - my $bootloaderConfig; 367 - if (-e "/sys/firmware/efi/efivars") { 368 - $bootLoaderConfig = <<EOF; 369 # Use the gummiboot efi boot loader. 370 boot.loader.grub.enable = false; 371 boot.loader.gummiboot.enable = true; ··· 374 # EFI booting requires kernel >= 3.10 375 boot.kernelPackages = pkgs.linuxPackages_3_10; 376 EOF 377 - } else { 378 - $bootLoaderConfig = <<EOF; 379 # Use the GRUB 2 boot loader. 380 boot.loader.grub.enable = true; 381 boot.loader.grub.version = 2; 382 # Define on which hard drive you want to install Grub. 383 # boot.loader.grub.device = "/dev/sda"; 384 EOF 385 - } 386 387 - write_file($fn, <<EOF); 388 # Edit this configuration file to define what should be installed on 389 # your system. Help is available in the configuration.nix(5) man page 390 # and in the NixOS manual (accessible by running ‘nixos-help’). ··· 397 ./hardware-configuration.nix 398 ]; 399 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 $bootLoaderConfig 408 # networking.hostName = "nixos"; # Define your hostname. 409 # 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 423 # Select internationalisation properties. 424 # i18n = { ··· 445 # services.xserver.desktopManager.kde4.enable = true; 446 } 447 EOF 448 - } else { 449 - print STDERR "warning: not overwriting existing $fn\n"; 450 } 451 452 # workaround for a bug in substituteAll
··· 23 my $outDir = "/etc/nixos"; 24 my $rootDir = ""; # = / 25 my $force = 0; 26 + my $noFilesystems = 0; 27 + my $showHardwareConfig = 0; 28 29 for (my $n = 0; $n < scalar @ARGV; $n++) { 30 my $arg = $ARGV[$n]; ··· 44 } 45 elsif ($arg eq "--force") { 46 $force = 1; 47 + } 48 + elsif ($arg eq "--no-filesystems") { 49 + $noFilesystems = 1; 50 + } 51 + elsif ($arg eq "--show-hardware-config") { 52 + $showHardwareConfig = 1; 53 } 54 else { 55 die "$0: unrecognized argument ‘$arg’\n"; ··· 340 my $kernelModules = toNixExpr(uniq @kernelModules); 341 my $modulePackages = toNixExpr(uniq @modulePackages); 342 343 + my $fsAndSwap = ""; 344 + if (!$noFilesystems) { 345 + $fsAndSwap = "\n${fileSystems} "; 346 + $fsAndSwap .= "swapDevices =" . multiLineList(" ", @swapDevices) . ";\n"; 347 + } 348 349 + my $hwConfig = <<EOF; 350 # Do not modify this file! It was generated by ‘nixos-generate-config’ 351 # and may be overwritten by future invocations. Please make changes 352 # to /etc/nixos/configuration.nix instead. 353 { config, pkgs, ... }: 354 355 { 356 + imports =${\multiLineList(" ", @imports)}; 357 358 boot.initrd.availableKernelModules = [$initrdAvailableKernelModules ]; 359 boot.kernelModules = [$kernelModules ]; 360 boot.extraModulePackages = [$modulePackages ]; 361 + $fsAndSwap 362 nix.maxJobs = $cpus; 363 ${\join "", (map { " $_\n" } (uniq @attrs))}} 364 EOF 365 366 367 + if ($showHardwareConfig) { 368 + print STDOUT $hwConfig; 369 + } else { 370 + $outDir = "$rootDir$outDir"; 371 + 372 + my $fn = "$outDir/hardware-configuration.nix"; 373 print STDERR "writing $fn...\n"; 374 + mkpath($outDir, 0, 0755); 375 + write_file($fn, $hwConfig); 376 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; 385 # Use the gummiboot efi boot loader. 386 boot.loader.grub.enable = false; 387 boot.loader.gummiboot.enable = true; ··· 390 # EFI booting requires kernel >= 3.10 391 boot.kernelPackages = pkgs.linuxPackages_3_10; 392 EOF 393 + } else { 394 + $bootLoaderConfig = <<EOF; 395 # Use the GRUB 2 boot loader. 396 boot.loader.grub.enable = true; 397 boot.loader.grub.version = 2; 398 # Define on which hard drive you want to install Grub. 399 # boot.loader.grub.device = "/dev/sda"; 400 EOF 401 + } 402 403 + write_file($fn, <<EOF); 404 # Edit this configuration file to define what should be installed on 405 # your system. Help is available in the configuration.nix(5) man page 406 # and in the NixOS manual (accessible by running ‘nixos-help’). ··· 413 ./hardware-configuration.nix 414 ]; 415 416 $bootLoaderConfig 417 # networking.hostName = "nixos"; # Define your hostname. 418 # networking.wireless.enable = true; # Enables wireless. 419 420 # Select internationalisation properties. 421 # i18n = { ··· 442 # services.xserver.desktopManager.kde4.enable = true; 443 } 444 EOF 445 + } else { 446 + print STDERR "warning: not overwriting existing $fn\n"; 447 + } 448 } 449 450 # workaround for a bug in substituteAll
+6 -6
nixos/modules/installer/tools/nixos-rebuild.sh
··· 109 # more conservative. 110 if [ "$action" != dry-run -a -n "$buildNix" ]; then 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 114 nix-build '<nixpkgs>' -A nixUnstable -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null 115 fi 116 fi ··· 139 if [ -z "$rollback" ]; then 140 echo "building the system configuration..." >&2 141 if [ "$action" = switch -o "$action" = boot ]; then 142 - nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixos>' --set -A system 143 pathToConfig="$profile" 144 elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then 145 - nix-build '<nixos>' -A system -K -k "${extraBuildFlags[@]}" > /dev/null 146 pathToConfig=./result 147 elif [ "$action" = build-vm ]; then 148 - nix-build '<nixos>' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null 149 pathToConfig=./result 150 elif [ "$action" = build-vm-with-bootloader ]; then 151 - nix-build '<nixos>' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null 152 pathToConfig=./result 153 else 154 showSyntax
··· 109 # more conservative. 110 if [ "$action" != dry-run -a -n "$buildNix" ]; then 111 echo "building Nix..." >&2 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 nix-build '<nixpkgs>' -A nixUnstable -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null 115 fi 116 fi ··· 139 if [ -z "$rollback" ]; then 140 echo "building the system configuration..." >&2 141 if [ "$action" = switch -o "$action" = boot ]; then 142 + nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixpkgs/nixos>' --set -A system 143 pathToConfig="$profile" 144 elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then 145 + nix-build '<nixpkgs/nixos>' -A system -K -k "${extraBuildFlags[@]}" > /dev/null 146 pathToConfig=./result 147 elif [ "$action" = build-vm ]; then 148 + nix-build '<nixpkgs/nixos>' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null 149 pathToConfig=./result 150 elif [ "$action" = build-vm-with-bootloader ]; then 151 + nix-build '<nixpkgs/nixos>' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null 152 pathToConfig=./result 153 else 154 showSyntax
+18 -3
nixos/modules/misc/assertions.nix
··· 6 7 failed = map (x: x.message) (filter (x: !x.assertion) config.assertions); 8 9 in 10 11 { ··· 13 options = { 14 15 assertions = mkOption { 16 default = []; 17 example = [ { assertion = false; message = "you can't enable this for that reason"; } ]; 18 merge = pkgs.lib.mergeListOption; ··· 23 ''; 24 }; 25 26 }; 27 28 config = { 29 30 - # This option is evaluated always. Thus the assertions are checked as well. hacky! 31 - environment.systemPackages = 32 if [] == failed then [] 33 - else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"; 34 35 }; 36
··· 6 7 failed = map (x: x.message) (filter (x: !x.assertion) config.assertions); 8 9 + showWarnings = res: fold (w: x: builtins.trace "warning: ${w}" x) res config.warnings; 10 + 11 in 12 13 { ··· 15 options = { 16 17 assertions = mkOption { 18 + internal = true; 19 default = []; 20 example = [ { assertion = false; message = "you can't enable this for that reason"; } ]; 21 merge = pkgs.lib.mergeListOption; ··· 26 ''; 27 }; 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 + 40 }; 41 42 config = { 43 44 + # This option is evaluated always. Thus the assertions are checked 45 + # as well. Hacky! 46 + environment.systemPackages = showWarnings ( 47 if [] == failed then [] 48 + else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"); 49 50 }; 51
+22 -2
nixos/modules/misc/version.nix
··· 7 options = { 8 9 system.nixosVersion = mkOption { 10 type = types.uniq types.string; 11 description = "NixOS version."; 12 }; 13 14 system.nixosVersionSuffix = mkOption { 15 type = types.uniq types.string; 16 description = "NixOS version suffix."; 17 }; 18 19 system.nixosCodeName = mkOption { 20 type = types.uniq types.string; 21 description = "NixOS release code name."; 22 }; 23 24 }; 25 26 config = { 27 28 system.nixosVersion = 29 - mkDefault (builtins.readFile "${toString pkgs.path}/.version" + config.system.nixosVersionSuffix); 30 31 system.nixosVersionSuffix = 32 let suffixFile = "${toString pkgs.path}/.version-suffix"; in 33 - mkDefault (if builtins.pathExists suffixFile then builtins.readFile suffixFile else "pre-git"); 34 35 # Note: code names must only increase in alphabetical order. 36 system.nixosCodeName = "Aardvark";
··· 7 options = { 8 9 system.nixosVersion = mkOption { 10 + internal = true; 11 type = types.uniq types.string; 12 description = "NixOS version."; 13 }; 14 15 system.nixosVersionSuffix = mkOption { 16 + internal = true; 17 type = types.uniq types.string; 18 description = "NixOS version suffix."; 19 }; 20 21 + system.nixosRevision = mkOption { 22 + internal = true; 23 + type = types.uniq types.string; 24 + description = "NixOS Git revision hash."; 25 + }; 26 + 27 system.nixosCodeName = mkOption { 28 + internal = true; 29 type = types.uniq types.string; 30 description = "NixOS release code name."; 31 }; 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 + 40 }; 41 42 config = { 43 44 system.nixosVersion = 45 + mkDefault (readFile "${toString pkgs.path}/.version" + config.system.nixosVersionSuffix); 46 47 system.nixosVersionSuffix = 48 let suffixFile = "${toString pkgs.path}/.version-suffix"; in 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"); 54 55 # Note: code names must only increase in alphabetical order. 56 system.nixosCodeName = "Aardvark";
+2
nixos/modules/module-list.nix
··· 130 ./services/monitoring/dd-agent.nix 131 ./services/monitoring/graphite.nix 132 ./services/monitoring/monit.nix 133 ./services/monitoring/nagios/default.nix 134 ./services/monitoring/smartd.nix 135 ./services/monitoring/statsd.nix ··· 237 ./services/x11/window-managers/twm.nix 238 ./services/x11/window-managers/wmii.nix 239 ./services/x11/window-managers/xmonad.nix 240 ./services/x11/xfs.nix 241 ./services/x11/xserver.nix 242 ./system/activation/activation-script.nix
··· 130 ./services/monitoring/dd-agent.nix 131 ./services/monitoring/graphite.nix 132 ./services/monitoring/monit.nix 133 + ./services/monitoring/munin.nix 134 ./services/monitoring/nagios/default.nix 135 ./services/monitoring/smartd.nix 136 ./services/monitoring/statsd.nix ··· 238 ./services/x11/window-managers/twm.nix 239 ./services/x11/window-managers/wmii.nix 240 ./services/x11/window-managers/xmonad.nix 241 + ./services/x11/redshift.nix 242 ./services/x11/xfs.nix 243 ./services/x11/xserver.nix 244 ./system/activation/activation-script.nix
+1 -1
nixos/modules/programs/shell.nix
··· 39 40 # Subscribe the root user to the NixOS channel by default. 41 if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then 42 - echo "http://nixos.org/channels/nixos-unstable nixos" > $HOME/.nix-channels 43 fi 44 45 # Create the per-user garbage collector roots directory.
··· 39 40 # Subscribe the root user to the NixOS channel by default. 41 if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then 42 + echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels 43 fi 44 45 # Create the per-user garbage collector roots directory.
+8 -5
nixos/modules/programs/ssh.nix
··· 1 # Global configuration for the SSH client. 2 3 - {config, pkgs, ...}: 4 5 with pkgs.lib; 6 ··· 31 setXAuthLocation = mkOption { 32 default = true; 33 description = '' 34 - Whether to set the path to xauth for X11-forwarded connections. 35 Pulls in X11 dependency. 36 ''; 37 }; ··· 46 }; 47 }; 48 49 - assertions = [{ assertion = if cfg.forwardX11 then cfg.setXAuthLocation else true; 50 - message = "cannot enable X11 forwarding without setting xauth location";}]; 51 52 - config = { 53 environment.etc = 54 [ { # SSH configuration. Slight duplication of the sshd_config 55 # generation in the sshd service.
··· 1 # Global configuration for the SSH client. 2 3 + { config, pkgs, ... }: 4 5 with pkgs.lib; 6 ··· 31 setXAuthLocation = mkOption { 32 default = true; 33 description = '' 34 + Whether to set the path to <command>xauth</command> for X11-forwarded connections. 35 Pulls in X11 dependency. 36 ''; 37 }; ··· 46 }; 47 }; 48 49 + config = { 50 + 51 + assertions = singleton 52 + { assertion = cfg.forwardX11 -> cfg.setXAuthLocation; 53 + message = "cannot enable X11 forwarding without setting XAuth location"; 54 + }; 55 56 environment.etc = 57 [ { # SSH configuration. Slight duplication of the sshd_config 58 # generation in the sshd service.
+82 -66
nixos/modules/rename.nix
··· 1 - {pkgs, options, config, ...}: 2 3 let 4 5 - alias = from: to: { 6 name = "Alias"; 7 - msg.use = x: x; 8 - msg.define = x: x; 9 }; 10 11 - obsolete = from: to: { 12 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; 17 }; 18 19 - deprecated = from: to: { 20 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 }; 26 27 28 - zipModules = list: with pkgs.lib; 29 zipAttrsWith (n: v: 30 if tail v != [] then 31 if n == "_type" then (head v) 32 - else if n == "extraConfigs" then (concatLists v) 33 else if n == "description" || n == "apply" then 34 abort "Cannot rename an option to multiple options." 35 else zipModules v 36 else head v 37 ) list; 38 39 - rename = statusTemplate: from: to: with pkgs.lib; 40 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."); 48 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 - }]; 63 64 in zipModules ([] 65 66 # 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" 70 71 - ++ rename obsolete "security.extraSetuidPrograms" "security.setuidPrograms" 72 - ++ rename obsolete "networking.enableWLAN" "networking.wireless.enable" 73 - ++ rename obsolete "networking.enableRT73Firmware" "networking.enableRalinkFirmware" 74 75 # 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" 79 80 # 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" 87 88 - ++ rename obsolete "boot.initrd.extraKernelModules" "boot.initrd.kernelModules" 89 90 # 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" 98 99 # KDE 100 - ++ rename deprecated "kde.extraPackages" "environment.kdePackages" 101 - # ++ rename obsolete "environment.kdePackages" "environment.systemPackages" # !!! doesn't work! 102 103 # Multiple efi bootloaders now 104 - ++ rename obsolete "boot.loader.efi.efibootmgr.enable" "boot.loader.efi.canTouchEfiVariables" 105 106 # NixOS environment changes 107 # !!! this hardcodes bash, could we detect from config which shell is actually used? 108 - ++ rename obsolete "environment.promptInit" "programs.bash.promptInit" 109 110 - ) # do not add renaming after this.
··· 1 + { config, pkgs, options, ... }: 2 + 3 + with pkgs.lib; 4 5 let 6 7 + alias = from: to: rename { 8 + inherit from to; 9 name = "Alias"; 10 + use = id; 11 + define = id; 12 + visible = true; 13 }; 14 15 + obsolete = from: to: rename { 16 + inherit from to; 17 name = "Obsolete name"; 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; 20 }; 21 22 + deprecated = from: to: rename { 23 + inherit from to; 24 name = "Deprecated name"; 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}'."; 27 }; 28 29 + showOption = concatStringsSep "."; 30 31 + zipModules = list: 32 zipAttrsWith (n: v: 33 if tail v != [] then 34 if n == "_type" then (head v) 35 + else if n == "extraConfigs" then concatLists v 36 + else if n == "warnings" then concatLists v 37 else if n == "description" || n == "apply" then 38 abort "Cannot rename an option to multiple options." 39 else zipModules v 40 else head v 41 ) list; 42 43 + rename = { from, to, name, use, define, visible ? false }: 44 let 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."); 51 in 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 + }; 75 76 in zipModules ([] 77 78 # usage example: 79 + # ++ alias [ "services" "xserver" "slim" "theme" ] [ "services" "xserver" "displayManager" "slim" "theme" ] 80 + ++ obsolete [ "environment" "extraPackages" ] [ "environment" "systemPackages" ] 81 + ++ obsolete [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ] 82 83 + ++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ] 84 + ++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ] 85 + ++ obsolete [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ] 86 87 # FIXME: Remove these eventually. 88 + ++ obsolete [ "boot" "systemd" "sockets" ] [ "systemd" "sockets" ] 89 + ++ obsolete [ "boot" "systemd" "targets" ] [ "systemd" "targets" ] 90 + ++ obsolete [ "boot" "systemd" "services" ] [ "systemd" "services" ] 91 92 # Old Grub-related options. 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" ] 99 100 + ++ obsolete [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ] 101 102 # OpenSSH 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" ] 110 111 # KDE 112 + ++ deprecated [ "kde" "extraPackages" ] [ "environment" "kdePackages" ] 113 + # ++ obsolete [ "environment" "kdePackages" ] [ "environment" "systemPackages" ] # !!! doesn't work! 114 115 # Multiple efi bootloaders now 116 + ++ obsolete [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ] 117 118 # NixOS environment changes 119 # !!! this hardcodes bash, could we detect from config which shell is actually used? 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" ] 125 126 + )
+3 -2
nixos/modules/services/audio/fuppes.nix
··· 60 }; 61 62 vfolder = mkOption { 63 - default = ./fuppes/vfolder.cfg; 64 - example = /etc/fuppes/vfolder.cfg; 65 description = '' 66 XML file describing the layout of virtual folder visible by the 67 client. ··· 108 }; 109 110 services.fuppesd.name = mkDefault config.networking.hostName; 111 112 security.sudo.enable = true; 113 };
··· 60 }; 61 62 vfolder = mkOption { 63 + example = literalExample "/etc/fuppes/vfolder.cfg"; 64 description = '' 65 XML file describing the layout of virtual folder visible by the 66 client. ··· 107 }; 108 109 services.fuppesd.name = mkDefault config.networking.hostName; 110 + 111 + services.fuppesd.vfolder = mkDefault ./fuppes/vfolder.cfg; 112 113 security.sudo.enable = true; 114 };
+51 -38
nixos/modules/services/databases/firebird.nix
··· 1 { config, pkgs, ... }: 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> 7 8 # There are at least two ways to run firebird. superserver has been choosen 9 # however there are no strong reasons to prefer this or the other one AFAIK ··· 18 19 firebird = cfg.package; 20 21 - pidFile = "${cfg.pidDir}/firebirdd.pid"; 22 23 in 24 ··· 32 33 enable = mkOption { 34 default = false; 35 - description = " 36 - Whether to enable the firebird super server. 37 - "; 38 }; 39 40 package = mkOption { ··· 45 reasons. See comments at the firebirdSuper derivation 46 */ 47 48 - description = " 49 Which firebird derivation to use. 50 - "; 51 }; 52 53 port = mkOption { 54 default = "3050"; 55 - description = "Port of Firebird."; 56 }; 57 58 user = mkOption { 59 default = "firebird"; 60 - description = "User account under which firebird runs."; 61 }; 62 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."; 71 }; 72 73 }; ··· 79 80 config = mkIf config.services.firebird.enable { 81 82 - users.extraUsers.firebird.description = "Firebird server user"; 83 - 84 - environment.systemPackages = [firebird]; 85 86 systemd.services.firebird = 87 - { description = "firebird super server"; 88 89 wantedBy = [ "multi-user.target" ]; 90 ··· 92 # is a better way 93 preStart = 94 '' 95 - secureDir="${cfg.dataDir}/../system" 96 - 97 mkdir -m 0700 -p \ 98 - "${cfg.dataDir}" \ 99 - "${cfg.pidDir}" \ 100 - /var/log/firebird \ 101 - "$secureDir" 102 103 - if ! test -e "$secureDir/security2.fdb"; then 104 - cp ${firebird}/security2.fdb "$secureDir" 105 fi 106 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 109 ''; 110 111 serviceConfig.PermissionsStartOnly = true; # preStart must be run as root ··· 119 120 # think about this again - and eventually make it an option 121 environment.etc."firebird/firebird.conf".text = '' 122 - # RootDirectory = Restrict ${cfg.dataDir} 123 - DatabaseAccess = Restrict ${cfg.dataDir} 124 - ExternalFileAccess = Restrict ${cfg.dataDir} 125 # what is this? is None allowed? 126 UdfAccess = None 127 # "Native" = traditional interbase/firebird, "mixed" is windows only ··· 142 #RemoteAuxPort = 0 143 # rsetrict connections to a network card: 144 #RemoteBindAddress = 145 - # there are some more settings .. 146 ''; 147 }; 148 149 }
··· 1 { config, pkgs, ... }: 2 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 ! 16 17 # There are at least two ways to run firebird. superserver has been choosen 18 # however there are no strong reasons to prefer this or the other one AFAIK ··· 27 28 firebird = cfg.package; 29 30 + dataDir = "${cfg.baseDir}/data"; 31 + systemDir = "${cfg.baseDir}/system"; 32 33 in 34 ··· 42 43 enable = mkOption { 44 default = false; 45 + description = '' 46 + Whether to enable the Firebird super server. 47 + ''; 48 }; 49 50 package = mkOption { ··· 55 reasons. See comments at the firebirdSuper derivation 56 */ 57 58 + description = '' 59 Which firebird derivation to use. 60 + ''; 61 }; 62 63 port = mkOption { 64 default = "3050"; 65 + description = '' 66 + Port Firebird uses. 67 + ''; 68 }; 69 70 user = mkOption { 71 default = "firebird"; 72 + description = '' 73 + User account under which firebird runs. 74 + ''; 75 }; 76 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 + ''; 83 }; 84 85 }; ··· 91 92 config = mkIf config.services.firebird.enable { 93 94 + environment.systemPackages = [cfg.package]; 95 96 systemd.services.firebird = 97 + { description = "Firebird Super-Server"; 98 99 wantedBy = [ "multi-user.target" ]; 100 ··· 102 # is a better way 103 preStart = 104 '' 105 mkdir -m 0700 -p \ 106 + "${dataDir}" \ 107 + "${systemDir}" \ 108 + /var/log/firebird 109 110 + if ! test -e "${systemDir}/security2.fdb"; then 111 + cp ${firebird}/security2.fdb "${systemDir}" 112 fi 113 114 + chown -R ${cfg.user} "${dataDir}" "${systemDir}" /var/log/firebird 115 + chmod -R 700 "${dataDir}" "${systemDir}" /var/log/firebird 116 ''; 117 118 serviceConfig.PermissionsStartOnly = true; # preStart must be run as root ··· 126 127 # think about this again - and eventually make it an option 128 environment.etc."firebird/firebird.conf".text = '' 129 + # RootDirectory = Restrict ${dataDir} 130 + DatabaseAccess = Restrict ${dataDir} 131 + ExternalFileAccess = Restrict ${dataDir} 132 # what is this? is None allowed? 133 UdfAccess = None 134 # "Native" = traditional interbase/firebird, "mixed" is windows only ··· 149 #RemoteAuxPort = 0 150 # rsetrict connections to a network card: 151 #RemoteBindAddress = 152 + # there are some additional settings which should be reviewed 153 ''; 154 + 155 + users.extraUsers.firebird = { 156 + description = "Firebird server user"; 157 + group = "firebird"; 158 + uid = config.ids.uids.firebird; 159 }; 160 161 + }; 162 }
+2 -2
nixos/modules/services/databases/mysql.nix
··· 93 default = []; 94 description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; 95 example = [ 96 - { name = "foodatabase"; schema = ./foodatabase.sql; } 97 - { name = "bardatabase"; schema = ./bardatabase.sql; } 98 ]; 99 }; 100
··· 93 default = []; 94 description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; 95 example = [ 96 + { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } 97 + { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } 98 ]; 99 }; 100
+2 -2
nixos/modules/services/databases/mysql55.nix
··· 86 default = []; 87 description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; 88 example = [ 89 - { name = "foodatabase"; schema = ./foodatabase.sql; } 90 - { name = "bardatabase"; schema = ./bardatabase.sql; } 91 ]; 92 }; 93
··· 86 default = []; 87 description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; 88 example = [ 89 + { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } 90 + { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } 91 ]; 92 }; 93
-8
nixos/modules/services/databases/postgresql.nix
··· 95 ''; 96 }; 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 enableTCPIP = mkOption { 107 default = false; 108 description = ''
··· 95 ''; 96 }; 97 98 enableTCPIP = mkOption { 99 default = false; 100 description = ''
+1 -1
nixos/modules/services/misc/nix-gc.nix
··· 52 53 systemd.services.nix-gc = 54 { description = "Nix Garbage Collector"; 55 - serviceConfig.ExecStart = "${config.environment.nix}/bin/nix-collect-garbage ${cfg.options}"; 56 startAt = optionalString cfg.automatic cfg.dates; 57 }; 58
··· 52 53 systemd.services.nix-gc = 54 { description = "Nix Garbage Collector"; 55 + script = "exec ${config.environment.nix}/bin/nix-collect-garbage ${cfg.options}"; 56 startAt = optionalString cfg.automatic cfg.dates; 57 }; 58
+7 -12
nixos/modules/services/misc/nixos-manual.nix
··· 11 12 cfg = config.services.nixosManual; 13 14 manual = import ../../../doc/manual { 15 - inherit (cfg) revision; 16 inherit pkgs; 17 - options = (fixMergeModules baseModules 18 (removeAttrs extraArgs ["config" "options"]) // { 19 modules = [ ]; 20 }).options; ··· 72 default = "${pkgs.w3m}/bin/w3m"; 73 description = '' 74 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 ''; 86 }; 87
··· 11 12 cfg = config.services.nixosManual; 13 14 + versionModule = 15 + { system.nixosVersionSuffix = config.system.nixosVersionSuffix; 16 + system.nixosRevision = config.system.nixosRevision; 17 + }; 18 + 19 manual = import ../../../doc/manual { 20 inherit pkgs; 21 + revision = config.system.nixosRevision; 22 + options = (fixMergeModules ([ versionModule ] ++ baseModules) 23 (removeAttrs extraArgs ["config" "options"]) // { 24 modules = [ ]; 25 }).options; ··· 77 default = "${pkgs.w3m}/bin/w3m"; 78 description = '' 79 Browser used to show the manual. 80 ''; 81 }; 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 loadDumps = mkOption { 45 default = []; 46 description = "Configuration dump that should be loaded on the first startup"; 47 - example = [ ./myejabberd.dump ]; 48 }; 49 }; 50
··· 44 loadDumps = mkOption { 45 default = []; 46 description = "Configuration dump that should be loaded on the first startup"; 47 + example = literalExample "[ ./myejabberd.dump ]"; 48 }; 49 }; 50
+2 -2
nixos/modules/services/networking/ssh/sshd.nix
··· 181 example = [ 182 { 183 hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ]; 184 - publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub; 185 } 186 { 187 hostNames = [ "myhost2" ]; 188 - publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub; 189 } 190 ]; 191 options = {
··· 181 example = [ 182 { 183 hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ]; 184 + publicKeyFile = literalExample "./pubkeys/myhost_ssh_host_dsa_key.pub"; 185 } 186 { 187 hostNames = [ "myhost2" ]; 188 + publicKeyFile = literalExample "./pubkeys/myhost2_ssh_host_dsa_key.pub"; 189 } 190 ]; 191 options = {
+125 -55
nixos/modules/services/networking/vsftpd.nix
··· 4 5 let 6 7 cfg = config.services.vsftpd; 8 9 inherit (pkgs) vsftpd; 10 11 - yesNoOption = p : name : 12 - "${name}=${if p then "YES" else "NO"}"; 13 14 in 15 ··· 26 description = "Whether to enable the vsftpd FTP server."; 27 }; 28 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 - }; 38 39 - localUsers = mkOption { 40 - default = false; 41 - description = "Whether to enable FTP for local users."; 42 }; 43 44 - writeEnable = mkOption { 45 - default = false; 46 - description = "Whether any write activity is permitted to users."; 47 - }; 48 49 - anonymousUploadEnable = mkOption { 50 - default = false; 51 - description = "Whether any uploads are permitted to anonymous users."; 52 - }; 53 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."; 67 }; 68 69 - userlistDeny = mkOption { 70 - default = false; 71 - description = "Whether users are excluded."; 72 }; 73 74 - }; 75 76 }; 77 ··· 80 81 config = mkIf cfg.enable { 82 83 users.extraUsers = 84 [ { name = "vsftpd"; 85 uid = config.ids.uids.vsftpd; ··· 99 gid = config.ids.gids.ftp; 100 }; 101 102 jobs.vsftpd = 103 { description = "vsftpd server"; 104 ··· 107 108 preStart = 109 '' 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 ${if cfg.anonymousUser then '' 127 mkdir -p -m 555 ${cfg.anonymousUserHome} 128 chown -R ftp:ftp ${cfg.anonymousUserHome}
··· 4 5 let 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 + 19 cfg = config.services.vsftpd; 20 21 inherit (pkgs) vsftpd; 22 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 + ]; 93 94 in 95 ··· 106 description = "Whether to enable the vsftpd FTP server."; 107 }; 108 109 + userlist = mkOption { 110 + default = []; 111 112 + description = '' 113 + See <option>userlistFile</option>. 114 + ''; 115 }; 116 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>. 122 123 + The default is a file containing the users from <option>userlist</option>. 124 125 + If explicitely set to null userlist_file will not be set in vsftpd's config file. 126 + ''; 127 }; 128 129 + anonymousUserHome = mkOption { 130 + default = "/home/ftp/"; 131 + description = '' 132 + Directory to consider the HOME of the anonymous user. 133 + ''; 134 }; 135 136 + } // (listToAttrs (catAttrs "nixosOption" optionDescription)) ; 137 138 }; 139 ··· 142 143 config = mkIf cfg.enable { 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 + 154 users.extraUsers = 155 [ { name = "vsftpd"; 156 uid = config.ids.uids.vsftpd; ··· 170 gid = config.ids.gids.ftp; 171 }; 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 + 188 jobs.vsftpd = 189 { description = "vsftpd server"; 190 ··· 193 194 preStart = 195 '' 196 ${if cfg.anonymousUser then '' 197 mkdir -p -m 555 ${cfg.anonymousUserHome} 198 chown -R ftp:ftp ${cfg.anonymousUserHome}
+94 -91
nixos/modules/services/web-servers/zope2.nix
··· 37 default = 38 '' 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> 48 </zodb_db> 49 ''; 50 type = types.string; ··· 76 extra = 77 '' 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> 87 </zodb_db> 88 ''; 89 ··· 107 let 108 interpreter = pkgs.writeScript "interpreter" 109 '' 110 - import sys 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) 126 127 - if _args: 128 - sys.argv[:] = _args 129 - __file__ = _args[0] 130 - del _options, _args 131 - execfile(__file__) 132 133 - if _interactive: 134 - del _interactive 135 - __import__("code").interact(banner="", local=globals()) 136 ''; 137 env = pkgs.buildEnv { 138 name = "zope2-${name}-env"; ··· 149 ''; 150 }; 151 conf = pkgs.writeText "zope2-${name}-conf" 152 - ''%define INSTANCEHOME ${env} 153 - instancehome $INSTANCEHOME 154 - %define CLIENTHOME /var/lib/zope2/${name} 155 - clienthome $CLIENTHOME 156 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} 163 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 168 169 - <environment> 170 - zope_i18n_compile_mo_files false 171 - </environment> 172 173 - <eventlog> 174 - level INFO 175 - <logfile> 176 - path /var/log/zope2/${name}.log 177 - level INFO 178 - </logfile> 179 - </eventlog> 180 181 - <logger access> 182 - level WARN 183 - <logfile> 184 - path /var/log/zope2/${name}-Z2.log 185 - format %(message)s 186 - </logfile> 187 - </logger> 188 189 - <http-server> 190 - address ${opts.http_address} 191 - </http-server> 192 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> 200 201 - ${opts.extra} 202 ''; 203 ctlScript = pkgs.writeScript "zope2-${name}-ctl-script" 204 - ''#!${env}/bin/python 205 206 - import sys 207 - import plone.recipe.zope2instance.ctl 208 209 - if __name__ == '__main__': 210 - sys.exit(plone.recipe.zope2instance.ctl.main( 211 - ["-C", "${conf}"] 212 - + sys.argv[1:])) 213 ''; 214 215 ctl = pkgs.writeScript "zope2-${name}-ctl" 216 - ''#!${pkgs.bash}/bin/bash -e 217 - export PYTHONHOME=${env} 218 - exec ${ctlScript} "$@" 219 ''; 220 in { 221 description = "zope2 ${name} instance";
··· 37 default = 38 '' 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> 48 </zodb_db> 49 ''; 50 type = types.string; ··· 76 extra = 77 '' 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> 87 </zodb_db> 88 ''; 89 ··· 107 let 108 interpreter = pkgs.writeScript "interpreter" 109 '' 110 + import sys 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) 126 127 + if _args: 128 + sys.argv[:] = _args 129 + __file__ = _args[0] 130 + del _options, _args 131 + execfile(__file__) 132 133 + if _interactive: 134 + del _interactive 135 + __import__("code").interact(banner="", local=globals()) 136 ''; 137 env = pkgs.buildEnv { 138 name = "zope2-${name}-env"; ··· 149 ''; 150 }; 151 conf = pkgs.writeText "zope2-${name}-conf" 152 + '' 153 + %define INSTANCEHOME ${env} 154 + instancehome $INSTANCEHOME 155 + %define CLIENTHOME /var/lib/zope2/${name} 156 + clienthome $CLIENTHOME 157 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} 164 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 169 170 + <environment> 171 + zope_i18n_compile_mo_files false 172 + </environment> 173 174 + <eventlog> 175 + level INFO 176 + <logfile> 177 + path /var/log/zope2/${name}.log 178 + level INFO 179 + </logfile> 180 + </eventlog> 181 182 + <logger access> 183 + level WARN 184 + <logfile> 185 + path /var/log/zope2/${name}-Z2.log 186 + format %(message)s 187 + </logfile> 188 + </logger> 189 190 + <http-server> 191 + address ${opts.http_address} 192 + </http-server> 193 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> 201 202 + ${opts.extra} 203 ''; 204 ctlScript = pkgs.writeScript "zope2-${name}-ctl-script" 205 + '' 206 + #!${env}/bin/python 207 208 + import sys 209 + import plone.recipe.zope2instance.ctl 210 211 + if __name__ == '__main__': 212 + sys.exit(plone.recipe.zope2instance.ctl.main( 213 + ["-C", "${conf}"] 214 + + sys.argv[1:])) 215 ''; 216 217 ctl = pkgs.writeScript "zope2-${name}-ctl" 218 + '' 219 + #!${pkgs.bash}/bin/bash -e 220 + export PYTHONHOME=${env} 221 + exec ${ctlScript} "$@" 222 ''; 223 in { 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 s3tcSupport = mkOption { 233 default = false; 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. 237 ''; 238 }; 239
··· 232 s3tcSupport = mkOption { 233 default = false; 234 description = '' 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. 240 ''; 241 }; 242
+6 -2
nixos/modules/system/activation/activation-script.nix
··· 44 }; 45 46 description = '' 47 - Activate the new configuration (i.e., update /etc, make accounts, 48 - and so on). 49 ''; 50 51 merge = mergeTypedOption "script" builtins.isAttrs (fold mergeAttrs {});
··· 44 }; 45 46 description = '' 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. 53 ''; 54 55 merge = mergeTypedOption "script" builtins.isAttrs (fold mergeAttrs {});
+4 -1
nixos/modules/system/activation/top-level.nix
··· 122 options = { 123 124 system.build = mkOption { 125 default = {}; 126 description = '' 127 Attribute set of derivations used to setup the system. ··· 144 }; 145 146 system.boot.loader.id = mkOption { 147 default = ""; 148 description = '' 149 Id string of the used bootloader. ··· 151 }; 152 153 system.boot.loader.kernelFile = mkOption { 154 default = pkgs.stdenv.platform.kernelTarget; 155 type = types.uniq types.string; 156 description = '' ··· 169 }; 170 171 system.extraSystemBuilderCmds = mkOption { 172 - default = ""; 173 internal = true; 174 merge = concatStringsSep "\n"; 175 description = '' 176 This code will be added to the builder creating the system store path.
··· 122 options = { 123 124 system.build = mkOption { 125 + internal = true; 126 default = {}; 127 description = '' 128 Attribute set of derivations used to setup the system. ··· 145 }; 146 147 system.boot.loader.id = mkOption { 148 + internal = true; 149 default = ""; 150 description = '' 151 Id string of the used bootloader. ··· 153 }; 154 155 system.boot.loader.kernelFile = mkOption { 156 + internal = true; 157 default = pkgs.stdenv.platform.kernelTarget; 158 type = types.uniq types.string; 159 description = '' ··· 172 }; 173 174 system.extraSystemBuilderCmds = mkOption { 175 internal = true; 176 + default = ""; 177 merge = concatStringsSep "\n"; 178 description = '' 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 ''; 87 }; 88 89 - # !!! How can we mark options as obsolete? 90 - bootDevice = mkOption { 91 - default = ""; 92 - description = "Obsolete."; 93 - }; 94 - 95 configurationName = mkOption { 96 default = ""; 97 example = "Stable 2.6.21"; ··· 173 }; 174 175 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; 185 description = '' 186 Background image used for GRUB. It must be a 640x480, 187 14-colour image in XPM format, optionally compressed with ··· 233 234 ###### implementation 235 236 - config = mkIf cfg.enable { 237 238 - boot.loader.grub.devices = optional (cfg.device != "") cfg.device; 239 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}"; 246 247 - system.build.grub = grub; 248 249 - # Common attribute for boot loaders so only one of them can be 250 - # set at once. 251 - system.boot.loader.id = "grub"; 252 253 - environment.systemPackages = [ grub ]; 254 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); 259 260 - }; 261 262 }
··· 86 ''; 87 }; 88 89 configurationName = mkOption { 90 default = ""; 91 example = "Stable 2.6.21"; ··· 167 }; 168 169 splashImage = mkOption { 170 + example = literalExample "./my-background.png"; 171 description = '' 172 Background image used for GRUB. It must be a 640x480, 173 14-colour image in XPM format, optionally compressed with ··· 219 220 ###### implementation 221 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 { 234 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}"; 243 244 + system.build.grub = grub; 245 246 + # Common attribute for boot loaders so only one of them can be 247 + # set at once. 248 + system.boot.loader.id = "grub"; 249 250 + environment.systemPackages = [ grub ]; 251 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); 256 257 + }) 258 259 + ]; 260 261 }
+4 -4
nixos/modules/system/boot/luksroot.nix
··· 44 { 45 46 options = { 47 - boot.initrd.luks.enable = mkOption { 48 - default = false; 49 - description = "Obsolete."; 50 - }; 51 52 boot.initrd.luks.mitigateDMAAttacks = mkOption { 53 default = true; 54 description = '' 55 Unless enabled, encryption keys can be easily recovered by an attacker with physical ··· 62 }; 63 64 boot.initrd.luks.cryptoModules = mkOption { 65 default = 66 [ "aes" "aes_generic" "blowfish" "twofish" 67 "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" ··· 142 }; 143 144 }; 145 }; 146 }; 147 148 config = mkIf (luks.devices != []) {
··· 44 { 45 46 options = { 47 48 boot.initrd.luks.mitigateDMAAttacks = mkOption { 49 + type = types.bool; 50 default = true; 51 description = '' 52 Unless enabled, encryption keys can be easily recovered by an attacker with physical ··· 59 }; 60 61 boot.initrd.luks.cryptoModules = mkOption { 62 + type = types.listOf types.string; 63 default = 64 [ "aes" "aes_generic" "blowfish" "twofish" 65 "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" ··· 140 }; 141 142 }; 143 + 144 }; 145 + 146 }; 147 148 config = mkIf (luks.devices != []) {
+1 -1
nixos/modules/virtualisation/libvirtd.nix
··· 61 config = mkIf cfg.enable { 62 63 environment.systemPackages = 64 - [ pkgs.libvirt ] 65 ++ optional cfg.enableKVM pkgs.qemu_kvm; 66 67 boot.kernelModules = [ "tun" ];
··· 61 config = mkIf cfg.enable { 62 63 environment.systemPackages = 64 + [ pkgs.libvirt pkgs.netcat-openbsd ] 65 ++ optional cfg.enableKVM pkgs.qemu_kvm; 66 67 boot.kernelModules = [ "tun" ];
+7 -14
nixos/release.nix
··· 16 17 18 versionModule = 19 - { system.nixosVersionSuffix = versionSuffix; }; 20 21 22 makeIso = ··· 73 }; 74 75 76 - in { 77 78 channel = 79 pkgs.releaseTools.makeSourceTarball { ··· 91 distPhase = '' 92 rm -rf .git 93 echo -n $VERSION_SUFFIX > .version-suffix 94 releaseName=nixos-$VERSION$VERSION_SUFFIX 95 mkdir -p $out/tarballs 96 mkdir ../$releaseName ··· 106 }; 107 108 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; 121 122 123 iso_minimal = pkgs.lib.genAttrs systems (system: makeIso {
··· 16 17 18 versionModule = 19 + { system.nixosVersionSuffix = versionSuffix; 20 + system.nixosRevision = nixpkgs.rev or nixpkgs.shortRev; 21 + }; 22 23 24 makeIso = ··· 75 }; 76 77 78 + in rec { 79 80 channel = 81 pkgs.releaseTools.makeSourceTarball { ··· 93 distPhase = '' 94 rm -rf .git 95 echo -n $VERSION_SUFFIX > .version-suffix 96 + echo -n ${nixpkgs.rev or nixpkgs.shortRev} > .git-revision 97 releaseName=nixos-$VERSION$VERSION_SUFFIX 98 mkdir -p $out/tarballs 99 mkdir ../$releaseName ··· 109 }; 110 111 112 + manual = iso_minimal.x86_64-linux.config.system.build.manual.manual; 113 + manpages = iso_minimal.x86_64-linux.config.system.build.manual.manpages; 114 115 116 iso_minimal = pkgs.lib.genAttrs systems (system: makeIso {
+2 -1
nixos/tests/default.nix
··· 21 #mpich = makeTest (import ./mpich.nix); 22 mysql = makeTest (import ./mysql.nix); 23 mysql_replication = makeTest (import ./mysql-replication.nix); 24 nat = makeTest (import ./nat.nix); 25 nfs3 = makeTest (import ./nfs.nix { version = 3; }); 26 #nfs4 = makeTest (import ./nfs.nix { version = 4; }); 27 openssh = makeTest (import ./openssh.nix); 28 - partition = makeTest (import ./partition.nix); 29 printing = makeTest (import ./printing.nix); 30 proxy = makeTest (import ./proxy.nix); 31 quake3 = makeTest (import ./quake3.nix);
··· 21 #mpich = makeTest (import ./mpich.nix); 22 mysql = makeTest (import ./mysql.nix); 23 mysql_replication = makeTest (import ./mysql-replication.nix); 24 + munin = makeTest (import ./munin.nix); 25 nat = makeTest (import ./nat.nix); 26 nfs3 = makeTest (import ./nfs.nix { version = 3; }); 27 #nfs4 = makeTest (import ./nfs.nix { version = 4; }); 28 openssh = makeTest (import ./openssh.nix); 29 + #partition = makeTest (import ./partition.nix); 30 printing = makeTest (import ./printing.nix); 31 proxy = makeTest (import ./proxy.nix); 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 { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs 2 , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg 3 - , libvorbis, libcdio, libcddb, flac, ffmpeg 4 }: 5 6 let 7 - version = "3.3.4"; 8 in 9 stdenv.mkDerivation { 10 name = "audacious-${version}"; 11 12 src = fetchurl { 13 url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; 14 - sha256 = "19zw4yj8g4fvxkv0ql8v8vgxzldxl1fzig239zzv88mpnvwxn737"; 15 }; 16 17 pluginsSrc = fetchurl { 18 url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; 19 - sha256 = "1l5g0zq73qp1hlrf4xsaj0n3hg0asrp7169531jgpncjn15dhvdn"; 20 }; 21 22 buildInputs = 23 [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib 24 libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio 25 - libcddb ffmpeg 26 ]; 27 28 # Here we build bouth audacious and audacious-plugins in one ··· 44 src=$pluginsSrc 45 genericBuild 46 ) 47 ''; 48 49 enableParallelBuilding = true; 50
··· 1 { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs 2 , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg 3 + , libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper 4 }: 5 6 let 7 + version = "3.4.1"; 8 in 9 stdenv.mkDerivation { 10 name = "audacious-${version}"; 11 12 src = fetchurl { 13 url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; 14 + sha256 = "0wf99b0nrk90fyak4gpwi076qnsrmv1j8958cvi57rxig21lvvap"; 15 }; 16 17 pluginsSrc = fetchurl { 18 url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; 19 + sha256 = "02ivrxs6109nmmz9pkbf9dkm36s2lyp9vfv59sm0acxxd4db71md"; 20 }; 21 22 buildInputs = 23 [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib 24 libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio 25 + libcddb ffmpeg makeWrapper 26 ]; 27 28 # Here we build bouth audacious and audacious-plugins in one ··· 44 src=$pluginsSrc 45 genericBuild 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 + ) 55 ''; 56 + XDG_ADD = gtk3 + "/share"; 57 58 enableParallelBuilding = true; 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 }: 2 3 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; 4 5 let 6 - version = "0.9.1.55"; 7 qt4webkit = 8 if stdenv.system == "i686-linux" then 9 fetchurl { ··· 25 src = 26 if stdenv.system == "i686-linux" then 27 fetchurl { 28 - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_i386.deb"; 29 - sha256 = "1sls4gb85700126bbk4sz73ipa2rjcinmpnsi78q0bsdj365y2wc"; 30 } 31 else if stdenv.system == "x86_64-linux" then 32 fetchurl { 33 - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.gbdd3b79.203-1_amd64.deb"; 34 - sha256 = "10pzj3p8bjbxh9nnm4qc5s1hn9nh7hgh3vbwm0xblj9rn71wl03y"; 35 } 36 else throw "Spotify not supported on this platform."; 37 ··· 56 ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d 57 ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d 58 ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d 59 60 mkdir -p $out/bin 61 62 ln -s $out/spotify-client/spotify $out/bin/spotify 63 patchelf \ 64 --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 \ 66 $out/spotify-client/spotify 67 68 dpkg-deb -x ${qt4webkit} ./ ··· 74 gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC 75 76 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" 77 ''; # */ 78 79 dontStrip = true; 80 dontPatchELF = true; 81 82 meta = { 83 - homepage = https://www.spotify.com/download/previews/; 84 description = "Spotify for Linux allows you to play music from the Spotify music service"; 85 license = "unfree"; 86 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 }; 96 }
··· 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 }: 4 5 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; 6 7 let 8 + version = "0.9.4.183"; 9 qt4webkit = 10 if stdenv.system == "i686-linux" then 11 fetchurl { ··· 27 src = 28 if stdenv.system == "i686-linux" then 29 fetchurl { 30 + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_i386.deb"; 31 + sha256 = "1wl6v5x8vm74h5lxp8fhvmih8l122aadsf1qxvpk0k3y6mbx0ifa"; 32 } 33 else if stdenv.system == "x86_64-linux" then 34 fetchurl { 35 + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_amd64.deb"; 36 + sha256 = "1yniln6iswrrrny01qr2w5zcvam0vnrvy9mwbnk9i14i2ch0f3fx"; 37 } 38 else throw "Spotify not supported on this platform."; 39 ··· 58 ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d 59 ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d 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 64 65 mkdir -p $out/bin 66 67 ln -s $out/spotify-client/spotify $out/bin/spotify 68 patchelf \ 69 --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ 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 \ 71 $out/spotify-client/spotify 72 73 dpkg-deb -x ${qt4webkit} ./ ··· 79 gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC 80 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" 87 ''; # */ 88 89 dontStrip = true; 90 dontPatchELF = true; 91 92 meta = { 93 + homepage = https://www.spotify.com/; 94 description = "Spotify for Linux allows you to play music from the Spotify music service"; 95 license = "unfree"; 96 maintainers = [ stdenv.lib.maintainers.eelco ]; 97 }; 98 }
+3 -2
pkgs/applications/editors/emacs-24/default.nix
··· 46 (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) 47 (split-string (getenv "NIX_PROFILES")))) 48 load-path))) 49 EOF 50 ''; 51 - 52 - 53 54 doCheck = true; 55
··· 46 (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) 47 (split-string (getenv "NIX_PROFILES")))) 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")) 52 EOF 53 ''; 54 55 doCheck = true; 56
+6 -6
pkgs/applications/misc/synergy/cryptopp.patch
··· 20 21 if (WIN32) 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 24 index 9b7e8ad..0d659ac 100644 25 - --- a/src/lib/synergy/CCryptoMode.h 26 - +++ b/src/lib/synergy/CCryptoMode.h 27 @@ -17,9 +17,9 @@ 28 29 #pragma once ··· 37 #include "ECryptoMode.h" 38 #include "CString.h" 39 40 - diff --git a/src/lib/synergy/CCryptoStream.h b/src/lib/synergy/CCryptoStream.h 41 index 104b1f6..09c4dc4 100644 42 - --- a/src/lib/synergy/CCryptoStream.h 43 - +++ b/src/lib/synergy/CCryptoStream.h 44 @@ -20,8 +20,8 @@ 45 #include "BasicTypes.h" 46 #include "CStreamFilter.h"
··· 20 21 if (WIN32) 22 # add /analyze in order to unconver potential bugs in the source code 23 + diff --git a/src/lib/io/CCryptoMode.h b/src/lib/io/CCryptoMode.h 24 index 9b7e8ad..0d659ac 100644 25 + --- a/src/lib/io/CCryptoMode.h 26 + +++ b/src/lib/io/CCryptoMode.h 27 @@ -17,9 +17,9 @@ 28 29 #pragma once ··· 37 #include "ECryptoMode.h" 38 #include "CString.h" 39 40 + diff --git a/src/lib/io/CCryptoStream.h b/src/lib/io/CCryptoStream.h 41 index 104b1f6..09c4dc4 100644 42 + --- a/src/lib/io/CCryptoStream.h 43 + +++ b/src/lib/io/CCryptoStream.h 44 @@ -20,8 +20,8 @@ 45 #include "BasicTypes.h" 46 #include "CStreamFilter.h"
+3 -3
pkgs/applications/misc/synergy/default.nix
··· 7 with stdenv.lib; 8 9 stdenv.mkDerivation rec { 10 - name = "synergy-1.4.12"; 11 12 src = fetchurl { 13 - url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; 14 - sha256 = "0j884skwqy8r8ckj9a4rlwsbjwb1yrj9wqma1nwhr2inff6hrdim"; 15 }; 16 17 patches = optional stdenv.isLinux ./cryptopp.patch;
··· 7 with stdenv.lib; 8 9 stdenv.mkDerivation rec { 10 + name = "synergy-1.4.15"; 11 12 src = fetchurl { 13 + url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; 14 + sha256 = "0l1mxxky9hacyva0npzkgkwg4wkmihzq3abdrds0w5f6is44adv4"; 15 }; 16 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 }; 19 20 buildInputs = 21 - (if enableGUI then [x11 motif] else []) ++ 22 - (if useT1Lib then [t1lib] else []); 23 24 # Debian uses '-fpermissive' to bypass some errors on char* constantness. 25 CXXFLAGS = "-O2 -fpermissive"; 26 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 ""); 33 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 - "; 41 42 meta = { 43 homepage = "http://www.foolabs.com/xpdf/";
··· 18 }; 19 20 buildInputs = 21 + stdenv.lib.optionals enableGUI [x11 motif] ++ 22 + stdenv.lib.optional useT1Lib t1lib ++ 23 + stdenv.lib.optional enablePDFtoPPM freetype; 24 25 # Debian uses '-fpermissive' to bypass some errors on char* constantness. 26 CXXFLAGS = "-O2 -fpermissive"; 27 28 + configureFlags = "--enable-a4-paper"; 29 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 + ''; 35 36 meta = { 37 homepage = "http://www.foolabs.com/xpdf/";
+9 -9
pkgs/applications/networking/browsers/chromium/sources.nix
··· 1 # This file is autogenerated from update.sh in the same directory. 2 { 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"; 7 }; 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"; 12 }; 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"; 17 }; 18 }
··· 1 # This file is autogenerated from update.sh in the same directory. 2 { 3 dev = { 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 }; 8 beta = { 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 }; 13 stable = { 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 }; 18 }
+4 -2
pkgs/applications/networking/browsers/dwb/default.nix
··· 6 7 src = fetchgit { 8 url = "https://bitbucket.org/portix/dwb.git"; 9 - rev = "4a4c3adb8fbc680a0a2b8c9d3d3a4105c07c2514"; 10 - sha256 = "93e8f2c82609447d54a3c139c153cc66d37d3c6aa8922cd09717caa95fd8b1d5"; 11 }; 12 13 buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; ··· 21 wrapProgram "$out/bin/dwb" \ 22 --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ 23 --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" 24 ''; 25 26 meta = {
··· 6 7 src = fetchgit { 8 url = "https://bitbucket.org/portix/dwb.git"; 9 + rev = "84a8621787baded72e84afdd5cdda278cb81e007"; 10 + sha256 = "5a32f3c21ad59b43935a16108244f84d260fafaea9b93d41e8de9ba9089ee7b0"; 11 }; 12 13 buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; ··· 21 wrapProgram "$out/bin/dwb" \ 22 --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ 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" 26 ''; 27 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 , libSM, libX11, libXext, libXcomposite, libXcursor, libXdamage 3 , libXfixes, libXi, libXinerama, libXrandr, libXrender 4 , dbus, dbus_glib, fontconfig, gcc, patchelf 5 - , atk, glib, gdk_pixbuf, gtk, pango 6 }: 7 8 # this package contains the daemon version of dropbox ··· 20 arch = if stdenv.system == "x86_64-linux" then "x86_64" 21 else if stdenv.system == "i686-linux" then "x86" 22 else throw "Dropbox client for: ${stdenv.system} not supported!"; 23 - 24 interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" 25 else if stdenv.system == "i686-linux" then "ld-linux.so.2" 26 else throw "Dropbox client for: ${stdenv.system} not supported!"; 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" 31 else throw "Dropbox client for: ${stdenv.system} not supported!"; 32 33 # relative location where the dropbox libraries are stored ··· 40 libSM libX11 libXext libXcomposite libXcursor libXdamage 41 libXfixes libXi libXinerama libXrandr libXrender 42 atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf 43 - gtk pango 44 ]; 45 46 desktopItem = makeDesktopItem {
··· 2 , libSM, libX11, libXext, libXcomposite, libXcursor, libXdamage 3 , libXfixes, libXi, libXinerama, libXrandr, libXrender 4 , dbus, dbus_glib, fontconfig, gcc, patchelf 5 + , atk, glib, gdk_pixbuf, gtk, pango, zlib 6 }: 7 8 # this package contains the daemon version of dropbox ··· 20 arch = if stdenv.system == "x86_64-linux" then "x86_64" 21 else if stdenv.system == "i686-linux" then "x86" 22 else throw "Dropbox client for: ${stdenv.system} not supported!"; 23 + 24 interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" 25 else if stdenv.system == "i686-linux" then "ld-linux.so.2" 26 else throw "Dropbox client for: ${stdenv.system} not supported!"; 27 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 else throw "Dropbox client for: ${stdenv.system} not supported!"; 32 33 # relative location where the dropbox libraries are stored ··· 40 libSM libX11 libXext libXcomposite libXcursor libXdamage 41 libXfixes libXi libXinerama libXrandr libXrender 42 atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf 43 + gtk pango zlib 44 ]; 45 46 desktopItem = makeDesktopItem {
+4 -4
pkgs/applications/science/logic/ekrhyper/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="ekrhyper"; 6 - version="1_4_08022013"; 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"; 11 }; 12 buildInputs = [ 13 ocaml perl
··· 3 s = # Generated upstream information 4 rec { 5 baseName="ekrhyper"; 6 + version="1_4_30072013"; 7 name="${baseName}-${version}"; 8 + hash="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663"; 9 + url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_30072013.tar.gz"; 10 + sha256="0ashsblm477r7dmq9f33wajkbr29rbyyc919mifdgrrdy6zlc663"; 11 }; 12 buildInputs = [ 13 ocaml perl
+4 -4
pkgs/applications/science/logic/eprover/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="eprover"; 6 - version="1.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"; 11 }; 12 in 13 stdenv.mkDerivation {
··· 3 s = # Generated upstream information 4 rec { 5 baseName="eprover"; 6 + version="1.8"; 7 name="${baseName}-${version}"; 8 + hash="0bl4dr7k6simwdvdyxhnjkiz4nm5y0nr8bfhc34zk0360i9m6sk3"; 9 + url="http://www4.in.tum.de/~schulz/WORK/E_DOWNLOAD/V_1.8/E.tgz"; 10 + sha256="0bl4dr7k6simwdvdyxhnjkiz4nm5y0nr8bfhc34zk0360i9m6sk3"; 11 }; 12 in 13 stdenv.mkDerivation {
+5 -4
pkgs/applications/version-management/fossil/default.nix
··· 1 - {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite}: 2 3 stdenv.mkDerivation { 4 - name = "fossil-1.24"; 5 6 src = fetchurl { 7 - url = http://www.fossil-scm.org/download/fossil-src-20121022124804.tar.gz; 8 - sha256 = "0gcvcrd368acxd79gh7p7caicgqd0f076n0i2if63mg3b8ivz9im"; 9 }; 10 11 buildInputs = [ zlib openssl readline sqlite ]; ··· 14 doCheck = true; 15 16 checkTarget = "test"; 17 18 preBuild='' 19 export USER=nonexistent-but-specified-user
··· 1 + {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}: 2 3 stdenv.mkDerivation { 4 + name = "fossil-1.27"; 5 6 src = fetchurl { 7 + url = http://www.fossil-scm.org/download/fossil-src-20130911114349.tar.gz; 8 + sha256 = "0n40z8bx2311i11zjx2x15lw3q8vzjwvfqzikrjlqnpal4vzd72f"; 9 }; 10 11 buildInputs = [ zlib openssl readline sqlite ]; ··· 14 doCheck = true; 15 16 checkTarget = "test"; 17 + configureFlags = if withJson then "--json" else ""; 18 19 preBuild='' 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}: 2 3 with stdenv.lib; 4 ··· 18 distutils_extra simplejson readline glance cheetah lockfile httplib2 19 # !!! should libvirt be a build-time dependency? Note that 20 # libxml2Python is a dependency of libvirt.py. 21 - libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python gtkvnc 22 ]; 23 24 buildInputs =
··· 1 + { stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, 2 + python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}: 3 4 with stdenv.lib; 5 ··· 19 distutils_extra simplejson readline glance cheetah lockfile httplib2 20 # !!! should libvirt be a build-time dependency? Note that 21 # libxml2Python is a dependency of libvirt.py. 22 + libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python 23 + gtkvnc vte 24 ]; 25 26 buildInputs =
+5 -4
pkgs/applications/window-managers/compiz/default.nix
··· 15 s = # Generated upstream information 16 rec { 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"; 22 }; 23 buildInputs = [cmake pkgconfig 24 libXrender renderproto gtk libwnck pango cairo
··· 15 s = # Generated upstream information 16 rec { 17 baseName="compiz"; 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"; 23 }; 24 buildInputs = [cmake pkgconfig 25 libXrender renderproto gtk libwnck pango cairo
+1 -1
pkgs/build-support/fetchurl/mirrors.nix
··· 159 160 # Debian. 161 debian = [ 162 - ftp://ftp.au.debian.org/debian/ 163 ftp://ftp.de.debian.org/debian/ 164 ftp://ftp.es.debian.org/debian/ 165 ftp://ftp.fr.debian.org/debian/
··· 159 160 # Debian. 161 debian = [ 162 + #ftp://ftp.au.debian.org/debian/ 163 ftp://ftp.de.debian.org/debian/ 164 ftp://ftp.es.debian.org/debian/ 165 ftp://ftp.fr.debian.org/debian/
+1 -1
pkgs/build-support/upstream-updater/urls-from-page.sh
··· 9 10 echo "URL: $url" >&2 11 12 - curl -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \ 13 sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \ 14 sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`"
··· 9 10 echo "URL: $url" >&2 11 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 sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \ 14 sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`"
+82 -16
pkgs/build-support/vm/default.nix
··· 514 515 echo "%_topdir $rpmout" >> $HOME/.rpmmacros 516 517 - rpmbuild -vv -ta "$srcName" 518 519 eval "$postBuild" 520 ''; ··· 937 unifiedSystemDir = true; 938 }; 939 940 opensuse103i386 = { 941 name = "opensuse-10.3-i586"; 942 fullName = "openSUSE 10.3 (i586)"; ··· 1026 1027 /* The set of supported Dpkg-based distributions. */ 1028 1029 - debDistros = { 1030 1031 # Interestingly, the SHA-256 hashes provided by Ubuntu in 1032 # http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are ··· 1335 packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; 1336 }; 1337 1338 debian40i386 = { 1339 name = "debian-4.0r9-etch-i386"; 1340 fullName = "Debian 4.0r9 Etch (i386)"; ··· 1380 }; 1381 1382 debian60i386 = { 1383 - name = "debian-6.0.7-squeeze-i386"; 1384 - fullName = "Debian 6.0.7 Squeeze (i386)"; 1385 packagesList = fetchurl { 1386 url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; 1387 - sha256 = "a770f26b5fce1a16460b68f135dfe97f4f4a9894b538ece0104a508c83ec65d5"; 1388 }; 1389 urlPrefix = mirror://debian; 1390 packages = commonDebianPackages; 1391 }; 1392 1393 debian60x86_64 = { 1394 - name = "debian-6.0.7-squeeze-amd64"; 1395 - fullName = "Debian 6.0.7 Squeeze (amd64)"; 1396 packagesList = fetchurl { 1397 url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; 1398 - sha256 = "b2bb561bde59ac67e07c70aa7c86a33f237436e6891796a93c6ed6ffb032080e"; 1399 }; 1400 urlPrefix = mirror://debian; 1401 packages = commonDebianPackages; 1402 }; 1403 1404 - debian70i386 = { 1405 - name = "debian-7.1.0-wheezy-i386"; 1406 - fullName = "Debian 7.1.0 Wheezy (i386)"; 1407 packagesList = fetchurl { 1408 url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; 1409 - sha256 = "c2751c48805b41c3eddd31cfe92ffa46df13a7d6ce7896b8dc5ce4b2f7f329c5"; 1410 }; 1411 urlPrefix = mirror://debian; 1412 packages = commonDebianPackages; 1413 }; 1414 1415 - debian70x86_64 = { 1416 - name = "debian-7.1.0-wheezy-amd64"; 1417 - fullName = "Debian 7.1.0 Wheezy (amd64)"; 1418 packagesList = fetchurl { 1419 url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; 1420 - sha256 = "9b15b4348cadbcf170c9e83d6fbcb64efac2b787ebdfef16ba21dd70dfca0001"; 1421 }; 1422 urlPrefix = mirror://debian; 1423 packages = commonDebianPackages; ··· 1515 "curl" 1516 "patch" 1517 "locales" 1518 # Needed by checkinstall: 1519 "util-linux" 1520 "file"
··· 514 515 echo "%_topdir $rpmout" >> $HOME/.rpmmacros 516 517 + if [ `uname -m` = i686 ]; then extra="--target i686-linux"; fi 518 + rpmbuild -vv $extra -ta "$srcName" 519 520 eval "$postBuild" 521 ''; ··· 938 unifiedSystemDir = true; 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 + 967 opensuse103i386 = { 968 name = "opensuse-10.3-i586"; 969 fullName = "openSUSE 10.3 (i586)"; ··· 1053 1054 /* The set of supported Dpkg-based distributions. */ 1055 1056 + debDistros = rec { 1057 1058 # Interestingly, the SHA-256 hashes provided by Ubuntu in 1059 # http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are ··· 1362 packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; 1363 }; 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 + 1399 debian40i386 = { 1400 name = "debian-4.0r9-etch-i386"; 1401 fullName = "Debian 4.0r9 Etch (i386)"; ··· 1441 }; 1442 1443 debian60i386 = { 1444 + name = "debian-6.0.8-squeeze-i386"; 1445 + fullName = "Debian 6.0.8 Squeeze (i386)"; 1446 packagesList = fetchurl { 1447 url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; 1448 + sha256 = "c850339aaf46a4ed4abc7c1789c29ea58c3a152aa173ee004578fda86b28391f"; 1449 }; 1450 urlPrefix = mirror://debian; 1451 packages = commonDebianPackages; 1452 }; 1453 1454 debian60x86_64 = { 1455 + name = "debian-6.0.8-squeeze-amd64"; 1456 + fullName = "Debian 6.0.8 Squeeze (amd64)"; 1457 packagesList = fetchurl { 1458 url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; 1459 + sha256 = "1506ab7de3ad5a2c706183536d2ee88589d7cb922d9e0de36ac062d464082dda"; 1460 }; 1461 urlPrefix = mirror://debian; 1462 packages = commonDebianPackages; 1463 }; 1464 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)"; 1472 packagesList = fetchurl { 1473 url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; 1474 + sha256 = "2e80242e323f233c40b3020b0f1a57d12df8a120ee82af88ff7032ba4688f97d"; 1475 }; 1476 urlPrefix = mirror://debian; 1477 packages = commonDebianPackages; 1478 }; 1479 1480 + debian7x86_64 = { 1481 + name = "debian-7.2-wheezy-amd64"; 1482 + fullName = "Debian 7.2 Wheezy (amd64)"; 1483 packagesList = fetchurl { 1484 url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; 1485 + sha256 = "adfc4cd3d3b855c73c9e2e12163a33c193f98c9bad25765080fa6136378a6e3b"; 1486 }; 1487 urlPrefix = mirror://debian; 1488 packages = commonDebianPackages; ··· 1580 "curl" 1581 "patch" 1582 "locales" 1583 + "coreutils" 1584 # Needed by checkinstall: 1585 "util-linux" 1586 "file"
+2 -2
pkgs/data/documentation/man-pages/default.nix
··· 1 { stdenv, fetchurl }: 2 3 stdenv.mkDerivation rec { 4 - name = "man-pages-3.53"; 5 6 src = fetchurl { 7 url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; 8 - sha256 = "0kzkjfrw65f7bv6laz3jism4yqajmfh3vdq2jb5d6gyp4n14sxnl"; 9 }; 10 11 preBuild =
··· 1 { stdenv, fetchurl }: 2 3 stdenv.mkDerivation rec { 4 + name = "man-pages-3.54"; 5 6 src = fetchurl { 7 url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; 8 + sha256 = "0rb75dl9hh4v2s95bcssy12j8qrbd2dmlzry68gphyxk5c7yipbl"; 9 }; 10 11 preBuild =
+2 -2
pkgs/data/fonts/lmodern/lmmath.nix
··· 14 sourceRoot = "."; 15 16 installPhase = '' 17 - mkdir -p $out/texmf/fonts/opentype 18 mkdir -p $out/share/fonts/opentype 19 20 - cp *.{OTF,otf} $out/texmf/fonts/opentype/lmmath-regular.otf 21 cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf 22 23 ln -s $out/texmf* $out/share/
··· 14 sourceRoot = "."; 15 16 installPhase = '' 17 + mkdir -p $out/texmf-dist/fonts/opentype 18 mkdir -p $out/share/fonts/opentype 19 20 + cp *.{OTF,otf} $out/texmf-dist/fonts/opentype/lmmath-regular.otf 21 cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf 22 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 3 }: 4 5 cabal.mkDerivation (self: { 6 pname = "Elm"; 7 - version = "0.9.0.2"; 8 - sha256 = "0yr395wsj0spi6h9d6lm5hvdryybpf8i1qpv4gz9dk0bwlyc8iwh"; 9 isLibrary = true; 10 isExecutable = true; 11 buildDepends = [ 12 - binary blazeHtml blazeMarkup cmdargs filepath hjsmin indents mtl 13 - pandoc parsec transformers unionFind uniplate 14 ]; 15 doCheck = false; 16 meta = { 17 homepage = "http://elm-lang.org";
··· 1 + { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup 2 + , cmdargs, filepath, HTF, indents, languageEcmascript, mtl, pandoc 3 + , parsec, text, transformers, unionFind, uniplate 4 }: 5 6 cabal.mkDerivation (self: { 7 pname = "Elm"; 8 + version = "0.10"; 9 + sha256 = "0wwda9w9r3qw7b23bj4qnfj4vgl7zwwnslxmgz3rv0cmxn9klqx2"; 10 isLibrary = true; 11 isExecutable = true; 12 buildDepends = [ 13 + aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath 14 + indents languageEcmascript mtl pandoc parsec text transformers 15 + unionFind uniplate 16 ]; 17 + testDepends = [ HTF ]; 18 doCheck = false; 19 meta = { 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 }); 78 79 80 - in rec { 81 82 # This package has been split because most applications only need dbus.lib 83 # which serves as an interface to a *system-wide* daemon, ··· 114 docs = dbus_drv "docs" "doc" { 115 postInstall = ''rm -r "$out/lib"''; 116 }; 117 - }
··· 77 }); 78 79 80 + attrs = rec { 81 + # If you change much fix indentation 82 83 # This package has been split because most applications only need dbus.lib 84 # which serves as an interface to a *system-wide* daemon, ··· 115 docs = dbus_drv "docs" "doc" { 116 postInstall = ''rm -r "$out/lib"''; 117 }; 118 + }; 119 + in attrs.libs // attrs
+3 -1
pkgs/development/libraries/glew/default.nix
··· 8 sha256 = "11xpmsw7m5qn7y8fa2ihhqcislz1bdd83mp99didd5ac84756dlv"; 9 }; 10 11 buildInputs = [ x11 libXmu libXi ]; 12 propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h 13 ··· 15 sed -i 's|lib64|lib|' config/Makefile.linux 16 ''; 17 18 installPhase = '' 19 - GLEW_DEST=$out make install 20 mkdir -pv $out/share/doc/glew 21 mkdir -p $out/lib/pkgconfig 22 cp glew*.pc $out/lib/pkgconfig
··· 8 sha256 = "11xpmsw7m5qn7y8fa2ihhqcislz1bdd83mp99didd5ac84756dlv"; 9 }; 10 11 + 12 buildInputs = [ x11 libXmu libXi ]; 13 propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h 14 ··· 16 sed -i 's|lib64|lib|' config/Makefile.linux 17 ''; 18 19 + buildPhase = "make all"; 20 installPhase = '' 21 + GLEW_DEST=$out make install.all 22 mkdir -pv $out/share/doc/glew 23 mkdir -p $out/lib/pkgconfig 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 3 cabal.mkDerivation (self: { 4 pname = "Hipmunk"; 5 - version = "5.2.0.11"; 6 - sha256 = "0pcbwlq0njgj6dzh8h94gml63wv52f6l9hdas378lm7v8gbizxl7"; 7 buildDepends = [ StateVar transformers ]; 8 meta = { 9 - homepage = "http://patch-tag.com/r/felipe/hipmunk/home"; 10 description = "A Haskell binding for Chipmunk"; 11 license = "unknown"; 12 platforms = self.ghc.meta.platforms;
··· 2 3 cabal.mkDerivation (self: { 4 pname = "Hipmunk"; 5 + version = "5.2.0.12"; 6 + sha256 = "0gybmwwij6gs3gsklcvck0nc1niyh6pvirnxgrcwclrz94ivpj42"; 7 buildDepends = [ StateVar transformers ]; 8 meta = { 9 + homepage = "https://github.com/meteficha/Hipmunk"; 10 description = "A Haskell binding for Chipmunk"; 11 license = "unknown"; 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 5 cabal.mkDerivation (self: { 6 pname = "case-insensitive"; 7 - version = "1.1"; 8 - sha256 = "1likcqdlhbbk78s887n5g9a4jjxxyh46hj4wc7l7snf6f9ygd5lj"; 9 buildDepends = [ deepseq hashable text ]; 10 testDepends = [ HUnit testFramework testFrameworkHunit text ]; 11 meta = {
··· 4 5 cabal.mkDerivation (self: { 6 pname = "case-insensitive"; 7 + version = "1.1.0.1"; 8 + sha256 = "1hwkdkpr88r3s7c8w1msw1pawz8cfi0lwj1z9dcsp0xs788yzapp"; 9 buildDepends = [ deepseq hashable text ]; 10 testDepends = [ HUnit testFramework testFrameworkHunit text ]; 11 meta = {
+3 -8
pkgs/development/libraries/haskell/data-pprint/default.nix
··· 1 - { cabal, deepseq, mtl, parallel, time, fetchurl }: 2 3 cabal.mkDerivation (self: { 4 pname = "data-pprint"; 5 - version = "0.2.2"; 6 - sha256 = "0cr69qv2j8fmmlir8rzlafcxk1cg3lg1z0zrwkz0lb7idm25fy36"; 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 meta = { 14 description = "Prettyprint and compare Data values"; 15 license = self.stdenv.lib.licenses.bsd3;
··· 1 + { cabal, deepseq, mtl, parallel, time }: 2 3 cabal.mkDerivation (self: { 4 pname = "data-pprint"; 5 + version = "0.2.3"; 6 + sha256 = "1ygbhn399d4hlrdjmg7gxbr5akydb78p6qa80rv7m6j0fsqzbf6y"; 7 buildDepends = [ deepseq mtl parallel time ]; 8 meta = { 9 description = "Prettyprint and compare Data values"; 10 license = self.stdenv.lib.licenses.bsd3;
+1 -3
pkgs/development/libraries/haskell/hslua/default.nix
··· 1 - { cabal, lua, mtl }: 2 3 cabal.mkDerivation (self: { 4 pname = "hslua"; 5 version = "0.3.7"; 6 sha256 = "1q5s2b7x9idvdvp31yl86mmy476gfq6rg8f0r8faqxrm45jwgv2q"; 7 buildDepends = [ mtl ]; 8 - pkgconfigDepends = [ lua ]; 9 - configureFlags = "-fsystem-lua"; 10 meta = { 11 description = "A Lua language interpreter embedding in Haskell"; 12 license = self.stdenv.lib.licenses.bsd3;
··· 1 + { cabal, mtl }: 2 3 cabal.mkDerivation (self: { 4 pname = "hslua"; 5 version = "0.3.7"; 6 sha256 = "1q5s2b7x9idvdvp31yl86mmy476gfq6rg8f0r8faqxrm45jwgv2q"; 7 buildDepends = [ mtl ]; 8 meta = { 9 description = "A Lua language interpreter embedding in Haskell"; 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 4 , unorderedContainers, vector 5 }: 6 7 cabal.mkDerivation (self: { 8 pname = "linear"; 9 - version = "1.3"; 10 - sha256 = "0b5qjsbdkqv0h1236lv2nisjh9yz7gc5bd6xv6i8q5jryzs43pi9"; 11 buildDepends = [ 12 - distributive hashable reflection semigroupoids semigroups tagged 13 - transformers unorderedContainers vector 14 ]; 15 testDepends = [ 16 - doctest filepath HUnit lens simpleReflect testFramework 17 testFrameworkHunit 18 ]; 19 meta = { ··· 21 description = "Linear Algebra"; 22 license = self.stdenv.lib.licenses.bsd3; 23 platforms = self.ghc.meta.platforms; 24 }; 25 })
··· 1 + { cabal, binary, distributive, doctest, filepath, hashable, HUnit 2 + , lens, reflection, semigroupoids, semigroups, simpleReflect 3 + , tagged, testFramework, testFrameworkHunit, transformers 4 , unorderedContainers, vector 5 }: 6 7 cabal.mkDerivation (self: { 8 pname = "linear"; 9 + version = "1.3.1"; 10 + sha256 = "1s07qbdi12rc4djk4s0ds5sh79qcqfmgrbwfj1ygskq3ra88qqsa"; 11 buildDepends = [ 12 + binary distributive hashable reflection semigroupoids semigroups 13 + tagged transformers unorderedContainers vector 14 ]; 15 testDepends = [ 16 + binary doctest filepath HUnit lens simpleReflect testFramework 17 testFrameworkHunit 18 ]; 19 meta = { ··· 21 description = "Linear Algebra"; 22 license = self.stdenv.lib.licenses.bsd3; 23 platforms = self.ghc.meta.platforms; 24 + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; 25 }; 26 })
+2 -2
pkgs/development/libraries/haskell/monad-control/default.nix
··· 2 3 cabal.mkDerivation (self: { 4 pname = "monad-control"; 5 - version = "0.3.2.1"; 6 - sha256 = "17wfdg3a2kkx1jwh7gfgbyx4351b420krsf8syb8l9xrl9gdz5a3"; 7 buildDepends = [ 8 baseUnicodeSymbols transformers transformersBase 9 ];
··· 2 3 cabal.mkDerivation (self: { 4 pname = "monad-control"; 5 + version = "0.3.2.2"; 6 + sha256 = "1wwcx2k0nzmjqxf8d8wasnhvdx5q3nxkcyq7vbprkfy85sj7ivxc"; 7 buildDepends = [ 8 baseUnicodeSymbols transformers transformersBase 9 ];
+5 -3
pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
··· 6 7 cabal.mkDerivation (self: { 8 pname = "pandoc-citeproc"; 9 - version = "0.1.2"; 10 - sha256 = "055msvrcqjkijkhzws48scpc4z90g0qjjsdcd0fhy309da6vax57"; 11 isLibrary = true; 12 isExecutable = true; 13 buildDepends = [ ··· 15 pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text 16 time utf8String vector yaml 17 ]; 18 - testDepends = [ aeson aesonPretty Diff pandoc pandocTypes ]; 19 doCheck = false; 20 meta = { 21 description = "Supports using pandoc with citeproc";
··· 6 7 cabal.mkDerivation (self: { 8 pname = "pandoc-citeproc"; 9 + version = "0.1.2.1"; 10 + sha256 = "13i4shpbd9swbsrpmkpb7jx79m12z12m9f3x167fs78509dak3iv"; 11 isLibrary = true; 12 isExecutable = true; 13 buildDepends = [ ··· 15 pandoc pandocTypes parsec rfc5051 split syb tagsoup texmath text 16 time utf8String vector yaml 17 ]; 18 + testDepends = [ 19 + aeson aesonPretty Diff filepath pandoc pandocTypes yaml 20 + ]; 21 doCheck = false; 22 meta = { 23 description = "Supports using pandoc with citeproc";
+2 -2
pkgs/development/libraries/haskell/pandoc-types/default.nix
··· 2 3 cabal.mkDerivation (self: { 4 pname = "pandoc-types"; 5 - version = "1.12.2.3"; 6 - sha256 = "05xbpsx44sys0rkf2aqs4fcv4bg02ffhicp49jgnjyw9jiynhzzj"; 7 buildDepends = [ aeson syb ]; 8 meta = { 9 homepage = "http://johnmacfarlane.net/pandoc";
··· 2 3 cabal.mkDerivation (self: { 4 pname = "pandoc-types"; 5 + version = "1.12.3"; 6 + sha256 = "1klfplpn2faw9da7xw5h5sx44annc2g7himyzyvb436wjnkjan0j"; 7 buildDepends = [ aeson syb ]; 8 meta = { 9 homepage = "http://johnmacfarlane.net/pandoc";
+2 -2
pkgs/development/libraries/haskell/pandoc/default.nix
··· 9 10 cabal.mkDerivation (self: { 11 pname = "pandoc"; 12 - version = "1.12.0.2"; 13 - sha256 = "125vl6l7nd3s3zwkms46y8l5zhg22iwz5387ll9rd2hf6asfpp56"; 14 isLibrary = true; 15 isExecutable = true; 16 buildDepends = [
··· 9 10 cabal.mkDerivation (self: { 11 pname = "pandoc"; 12 + version = "1.12.1"; 13 + sha256 = "0csyrcfdqv2mc7ngn63lan3c1dd6zy0pb24k0z1lsraqlmmw76nf"; 14 isLibrary = true; 15 isExecutable = true; 16 buildDepends = [
+4 -4
pkgs/development/libraries/haskell/path-pieces/default.nix
··· 1 - { cabal, fileLocation, hspec, HUnit, QuickCheck, text, time }: 2 3 cabal.mkDerivation (self: { 4 pname = "path-pieces"; 5 - version = "0.1.2"; 6 - sha256 = "1cxsa8lq1f2jf86iv6f17nraiav8k2vzjxln1y7z45qhcp1sbbaa"; 7 buildDepends = [ text time ]; 8 - testDepends = [ fileLocation hspec HUnit QuickCheck text ]; 9 meta = { 10 description = "Components of paths"; 11 license = self.stdenv.lib.licenses.bsd3;
··· 1 + { cabal, hspec, HUnit, QuickCheck, text, time }: 2 3 cabal.mkDerivation (self: { 4 pname = "path-pieces"; 5 + version = "0.1.3"; 6 + sha256 = "03x9kfcaz1zsdpdzs05pcl0hv4hffgsl2js8xiy5slba6n841v4l"; 7 buildDepends = [ text time ]; 8 + testDepends = [ hspec HUnit QuickCheck text ]; 9 meta = { 10 description = "Components of paths"; 11 license = self.stdenv.lib.licenses.bsd3;
+2 -2
pkgs/development/libraries/haskell/tagstream-conduit/default.nix
··· 5 6 cabal.mkDerivation (self: { 7 pname = "tagstream-conduit"; 8 - version = "0.5.4"; 9 - sha256 = "1djf66kn3m4sdwmis82f9w2nkmjyrq12zda7ic9pcsvra579868i"; 10 buildDepends = [ 11 attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit 12 caseInsensitive conduit text transformers
··· 5 6 cabal.mkDerivation (self: { 7 pname = "tagstream-conduit"; 8 + version = "0.5.4.1"; 9 + sha256 = "1gahdil5jasm6v7gp519ahr2yc7ppysdnmkl21cd4zzn6y1r0gw9"; 10 buildDepends = [ 11 attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit 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 4 }: 5 6 cabal.mkDerivation (self: { 7 pname = "uuid"; 8 - version = "1.2.14"; 9 - sha256 = "13r2yzhb9nj1h6wfy7w9k59d27z9iza5r4apmf72zby2fi9vdnwy"; 10 - buildDepends = [ binary cryptohash maccatcher random time ]; 11 testDepends = [ 12 - criterion deepseq HUnit mersenneRandomPure64 QuickCheck random 13 - testFramework testFrameworkHunit testFrameworkQuickcheck2 14 ]; 15 jailbreak = true; 16 doCheck = false;
··· 1 + { cabal, binary, cryptohash, deepseq, hashable, HUnit, networkInfo 2 + , QuickCheck, random, testFramework, testFrameworkHunit 3 + , testFrameworkQuickcheck2, time 4 }: 5 6 cabal.mkDerivation (self: { 7 pname = "uuid"; 8 + version = "1.3.2"; 9 + sha256 = "0kwrb200i41l8ipgwviv934sa2ic2hqvlpj72pmkw4ba50viyc8m"; 10 + buildDepends = [ 11 + binary cryptohash deepseq hashable networkInfo random time 12 + ]; 13 testDepends = [ 14 + HUnit QuickCheck random testFramework testFrameworkHunit 15 + testFrameworkQuickcheck2 16 ]; 17 jailbreak = true; 18 doCheck = false;
+2 -2
pkgs/development/libraries/haskell/xdot/default.nix
··· 2 3 cabal.mkDerivation (self: { 4 pname = "xdot"; 5 - version = "0.2.3.1"; 6 - sha256 = "1gricrnssxgzaq1z7nnyppmz284nix0m89477x22mal125pkcf7n"; 7 buildDepends = [ cairo graphviz gtk mtl polyparse text ]; 8 meta = { 9 description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
··· 2 3 cabal.mkDerivation (self: { 4 pname = "xdot"; 5 + version = "0.2.4"; 6 + sha256 = "0723drp9zs3hrayld99j4fniyvm65fz19hkk4001vpvgjw27dfja"; 7 buildDepends = [ cairo graphviz gtk mtl polyparse text ]; 8 meta = { 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; 5 6 - version = lib.attrByPath ["version"] "0.9.9" args; 7 - buildInputs = with args; [ 8 libtool libjpeg openssl libX11 libXdamage xproto damageproto 9 xextproto libXext fixesproto libXfixes xineramaproto libXinerama 10 libXrandr randrproto libXtst zlib 11 ]; 12 in 13 - rec { 14 src = fetchurl { 15 - url = "mirror://sourceforge/libvncserver/LibVNCServer-${version}.tar.gz"; 16 - sha256 = "1y83z31wbjivbxs60kj8a8mmjmdkgxlvr2x15yz95yy24lshs1ng"; 17 }; 18 - 19 - inherit buildInputs; 20 - configureFlags = []; 21 - 22 - /* doConfigure should be specified separately */ 23 - phaseNames = ["doConfigure" "doMakeInstall"]; 24 - 25 - name = "libvncserver-" + version; 26 meta = { 27 - description = "VNC server library"; 28 }; 29 }
··· 1 + {stdenv, fetchurl, 2 + libtool, libjpeg, openssl, libX11, libXdamage, xproto, damageproto, 3 + xextproto, libXext, fixesproto, libXfixes, xineramaproto, libXinerama, 4 + libXrandr, randrproto, libXtst, zlib 5 + }: 6 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 = [ 20 libtool libjpeg openssl libX11 libXdamage xproto damageproto 21 xextproto libXext fixesproto libXfixes xineramaproto libXinerama 22 libXrandr randrproto libXtst zlib 23 ]; 24 in 25 + stdenv.mkDerivation { 26 + inherit (s) name version; 27 + inherit buildInputs; 28 src = fetchurl { 29 + inherit (s) url sha256; 30 }; 31 + preConfigure = '' 32 + sed -e 's@/usr/include/linux@${stdenv.gcc.libc}/include/linux@g' -i configure 33 + ''; 34 meta = { 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; 40 }; 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 }; 55 } merge ]); # poppler_drv 56 57 - in rec { 58 /* We always use cairo in poppler, so we always depend on glib, 59 so we always build the glib wrapper (~350kB). 60 We also always build the cpp wrapper (<100kB). ··· 69 NIX_LDFLAGS = "-lpoppler"; 70 postConfigure = "cd qt4"; 71 }; 72 - }
··· 54 }; 55 } merge ]); # poppler_drv 56 57 /* We always use cairo in poppler, so we always depend on glib, 58 so we always build the glib wrapper (~350kB). 59 We also always build the cpp wrapper (<100kB). ··· 68 NIX_LDFLAGS = "-lpoppler"; 69 postConfigure = "cd qt4"; 70 }; 71 + 72 + in { inherit poppler_glib poppler_qt4; } // poppler_glib
+3 -3
pkgs/development/libraries/simgear/default.nix
··· 1 x@{builderDefsPackage 2 , plib, freeglut, xproto, libX11, libXext, xextproto, libXi , inputproto 3 , libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg , freealut 4 - , openscenegraph, openal, expat, cmake 5 , ...}: 6 builderDefsPackage 7 (a : ··· 13 (builtins.attrNames (builtins.removeAttrs x helperArgNames)); 14 sourceInfo = rec { 15 baseName="simgear"; 16 - version="2.10.0"; 17 name="${baseName}-${version}"; 18 extension="tar.bz2"; 19 url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}"; 20 - hash="0pb148hb35p1c5iz0kpiclmswjl9bax9xfm087ldpxsqg9a0sb2q"; 21 }; 22 in 23 rec {
··· 1 x@{builderDefsPackage 2 , plib, freeglut, xproto, libX11, libXext, xextproto, libXi , inputproto 3 , libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg , freealut 4 + , openscenegraph, openal, expat, cmake, apr 5 , ...}: 6 builderDefsPackage 7 (a : ··· 13 (builtins.attrNames (builtins.removeAttrs x helperArgNames)); 14 sourceInfo = rec { 15 baseName="simgear"; 16 + version="2.12.0"; 17 name="${baseName}-${version}"; 18 extension="tar.bz2"; 19 url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}"; 20 + hash="0spl6afk8rm96ss4lh7zy5561m5m2qgwsnqjyp35jr1gyyrc944f"; 21 }; 22 in 23 rec {
+4 -4
pkgs/development/libraries/sodium/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="sodium"; 6 - version="0.3"; 7 name="${baseName}-${version}"; 8 - hash="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh"; 9 - url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.3.tar.gz"; 10 - sha256="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh"; 11 }; 12 buildInputs = [ 13 ];
··· 3 s = # Generated upstream information 4 rec { 5 baseName="sodium"; 6 + version="0.4.3"; 7 name="${baseName}-${version}"; 8 + hash="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r"; 9 + url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.3.tar.gz"; 10 + sha256="0hk0zca1kpj6xlc2j2qx9qy7287pi0896frmxq5d7qmcwsdf372r"; 11 }; 12 buildInputs = [ 13 ];
+4 -4
pkgs/development/lisp-modules/asdf/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="asdf"; 6 - version="3.0.2.1"; 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"; 11 }; 12 buildInputs = [ 13 texinfo texLive
··· 3 s = # Generated upstream information 4 rec { 5 baseName="asdf"; 6 + version="3.0.2.4"; 7 name="${baseName}-${version}"; 8 + hash="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag"; 9 + url="http://common-lisp.net/project/asdf/archives/asdf-3.0.2.4.tar.gz"; 10 + sha256="0b6rkpghw2vndvmgyacijdn3d76ykbjfwpxwv8m0jl7ynrf6l5ag"; 11 }; 12 buildInputs = [ 13 texinfo texLive
+2 -2
pkgs/development/tools/haskell/HaRe/default.nix
··· 6 7 cabal.mkDerivation (self: { 8 pname = "HaRe"; 9 - version = "0.7.0.6"; 10 - sha256 = "0i2zl08rg7777jarw2v3797v0va80h7bg166wfq9lzynz9vqsima"; 11 isLibrary = true; 12 isExecutable = true; 13 buildDepends = [
··· 6 7 cabal.mkDerivation (self: { 8 pname = "HaRe"; 9 + version = "0.7.0.7"; 10 + sha256 = "0pgl5mav4sqc453by7nddf5fz7nj231072bklzj6crcph7qw4zy4"; 11 isLibrary = true; 12 isExecutable = true; 13 buildDepends = [
+4 -4
pkgs/development/tools/misc/cl-launch/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="cl-launch"; 6 - version="3.21.1"; 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"; 11 }; 12 buildInputs = [ 13 ];
··· 3 s = # Generated upstream information 4 rec { 5 baseName="cl-launch"; 6 + version="3.22.1"; 7 name="${baseName}-${version}"; 8 + hash="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; 9 + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.22.1.tar.gz"; 10 + sha256="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; 11 }; 12 buildInputs = [ 13 ];
+4 -4
pkgs/development/tools/misc/luarocks/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="luarocks"; 6 - version="2.0.13-rc1"; 7 name="${baseName}-${version}"; 8 - hash="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y"; 9 - url="http://luarocks.org/releases/luarocks-2.0.13-rc1.tar.gz"; 10 - sha256="1cpdi61dwcc2i4bwrn7bb8fibkd1s75jrr0bjcbs8p76rn6hkb2y"; 11 }; 12 buildInputs = [ 13 lua curl
··· 3 s = # Generated upstream information 4 rec { 5 baseName="luarocks"; 6 + version="2.1.0"; 7 name="${baseName}-${version}"; 8 + hash="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c"; 9 + url="http://luarocks.org/releases/luarocks-2.1.0-rc3.tar.gz"; 10 + sha256="12aqwchzn77yin2ahpxnc3lam5w0xhksrnhf31n3r7cxdsfh446c"; 11 }; 12 buildInputs = [ 13 lua curl
+1 -1
pkgs/development/tools/misc/texinfo/5.2.nix
··· 11 buildInputs = [ ncurses perl xz ]; 12 13 preInstall = '' 14 - installFlags="TEXMF=$out/texmf"; 15 installTargets="install install-tex"; 16 ''; 17
··· 11 buildInputs = [ ncurses perl xz ]; 12 13 preInstall = '' 14 + installFlags="TEXMF=$out/texmf-dist"; 15 installTargets="install install-tex"; 16 ''; 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 , libvorbis, freetype, openal, mesa }: 3 4 stdenv.mkDerivation rec { 5 - name = "alienarena-7.52"; 6 7 src = fetchurl { 8 - url = "http://icculus.org/alienarena/Files/alienarena-7_52-linux20110929.tar.gz"; 9 - sha256 = "1s1l3apxsxnd8lyi568y38a1fcdr0gwmc3lkgq2nkc676k4gki3m"; 10 }; 11 12 buildInputs = [ pkgconfig libjpeg libX11 curl libogg libvorbis ··· 14 15 patchPhase = '' 16 substituteInPlace ./configure \ 17 - --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 18 ''; 19 20 meta = {
··· 2 , libvorbis, freetype, openal, mesa }: 3 4 stdenv.mkDerivation rec { 5 + name = "alienarena-7.65"; 6 7 src = fetchurl { 8 + url = "http://icculus.org/alienarena/Files/alienarena-7.65-linux20130207.tar.gz"; 9 + sha256 = "03nnv4m2xmswr0020hssajncdb8sy95jp5yccsm53sgxga4r8igg"; 10 }; 11 12 buildInputs = [ pkgconfig libjpeg libX11 curl libogg libvorbis ··· 14 15 patchPhase = '' 16 substituteInPlace ./configure \ 17 + --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \ 18 + --replace libGL.so.1 ${mesa}/lib/libGL.so.1 19 ''; 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 - []; 11 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"; 21 }; 22 - in 23 - rec { 24 - src = a.fetchurl { 25 - url = sourceInfo.url; 26 - sha256 = sourceInfo.hash; 27 }; 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"; 32 }; 33 34 - inherit (sourceInfo) name version; 35 - inherit buildInputs; 36 37 - /* doConfigure should be removed if not needed */ 38 - phaseNames = ["doCmake" "doMakeInstall" "deployData"]; 39 40 - deployData = a.fullDepEntry '' 41 mkdir -p "$out/share/FlightGear" 42 - cd "$out/share/FlightGear" 43 - tar xvf ${datasrc} 44 - '' ["minInit" "defEnsureDir"]; 45 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 = { 56 }; 57 - }) x 58 -
··· 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 + }: 7 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"; 15 }; 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 }; 28 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"; 37 }; 38 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 + ]; 44 45 + preConfigure = '' 46 + export cmakeFlagsArray=(-DFG_DATA_DIR="$out/share/FlightGear/") 47 + ''; 48 49 + postInstall = '' 50 mkdir -p "$out/share/FlightGear" 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 + ''; 56 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; 62 }; 63 + }
+11 -6
pkgs/games/freeciv/default.nix
··· 1 - { stdenv, fetchurl, zlib, bzip2, pkgconfig 2 , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype 3 , gtkClient ? false, gtk 4 , server ? true, readline }: ··· 6 let 7 inherit (stdenv.lib) optional optionals; 8 client = sdlClient || gtkClient; 9 in 10 - stdenv.mkDerivation rec { 11 - name = "freeciv-2.3.1"; 12 13 src = fetchurl { 14 - url = "mirror://sourceforge/freeciv/${name}.tar.bz2"; 15 - sha256 = "1n3ak0y9hj9kha0r3cdbi8zb47vrgal1jsbblamqgwwwgzy8cri3"; 16 }; 17 18 nativeBuildInputs = [ pkgconfig ]; 19 20 - buildInputs = [ zlib bzip2 ] 21 ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype ] 22 ++ optional gtkClient gtk 23 ++ optional server readline;
··· 1 + { stdenv, fetchurl, zlib, bzip2, pkgconfig, curl, lzma, gettext 2 , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype 3 , gtkClient ? false, gtk 4 , server ? true, readline }: ··· 6 let 7 inherit (stdenv.lib) optional optionals; 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"; 14 in 15 + stdenv.mkDerivation { 16 + name = baseName + sdlName + gtkName; 17 18 src = fetchurl { 19 + url = "mirror://sourceforge/freeciv/${baseName}.tar.bz2"; 20 + sha256 = "1bc01pyihsrby6w95n49gi90ggp40dyxsy4kmlmwcakxfxprwakv"; 21 }; 22 23 nativeBuildInputs = [ pkgconfig ]; 24 25 + buildInputs = [ zlib bzip2 curl lzma gettext ] 26 ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype ] 27 ++ optional gtkClient gtk 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 baseName="sauerbraten"; 15 version="3331"; 16 name="${baseName}-r${version}"; 17 - url="https://sauerbraten.svn.sourceforge.net/svnroot/sauerbraten"; 18 hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y"; 19 }; 20 in
··· 14 baseName="sauerbraten"; 15 version="3331"; 16 name="${baseName}-r${version}"; 17 + url="https://svn.code.sf.net/p/sauerbraten/code"; 18 hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y"; 19 }; 20 in
+4 -4
pkgs/games/xboard/default.nix
··· 5 s = # Generated upstream information 6 rec { 7 baseName="xboard"; 8 - version="4.7.1"; 9 name="${baseName}-${version}"; 10 - hash="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry"; 11 - url="mirror://gnu/xboard/xboard-4.7.1.tar.gz"; 12 - sha256="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry"; 13 }; 14 buildInputs = [ 15 libX11 xproto libXt libXaw libSM libICE libXmu
··· 5 s = # Generated upstream information 6 rec { 7 baseName="xboard"; 8 + version="4.7.2"; 9 name="${baseName}-${version}"; 10 + hash="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; 11 + url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.2.tar.gz"; 12 + sha256="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; 13 }; 14 buildInputs = [ 15 libX11 xproto libXt libXaw libSM libICE libXmu
+11 -8
pkgs/misc/emulators/wine/default.nix pkgs/misc/emulators/wine/unstable.nix
··· 6 assert stdenv.isLinux; 7 assert stdenv.gcc.gcc != null; 8 9 - let gecko = fetchurl { 10 url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi"; 11 sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh"; 12 }; ··· 22 }; 23 24 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 - }; 32 33 buildInputs = [ 34 xlibs.xlibs flex bison xlibs.libXi mesa
··· 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 }; ··· 31 }; 32 33 in stdenv.mkDerivation rec { 34 + inherit version name src; 35 36 buildInputs = [ 37 xlibs.xlibs flex bison xlibs.libXi mesa
+1
pkgs/misc/emulators/wine/default.upstream pkgs/misc/emulators/wine/unstable.upstream
··· 1 url http://sourceforge.net/projects/wine/files/Source/ 2 version_link '[.]tar[.][^./]+/download$' 3 SF_redirect 4 do_overwrite () {
··· 1 url http://sourceforge.net/projects/wine/files/Source/ 2 + attribute_name wine_unstable 3 version_link '[.]tar[.][^./]+/download$' 4 SF_redirect 5 do_overwrite () {
+77
pkgs/misc/emulators/wine/stable.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.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 { 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 + }
+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 + }
+3 -3
pkgs/misc/my-env/default.nix
··· 59 { mkDerivation, substituteAll, pkgs }: 60 { stdenv ? pkgs.stdenv, name, buildInputs ? [] 61 , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? "" 62 - , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash"}: 63 64 mkDerivation { 65 # The setup.sh script from stdenv will expect the native build inputs in ··· 146 EOF 147 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} 151 chmod +x $out/bin/load-env-${name} 152 ''; 153 }
··· 59 { mkDerivation, substituteAll, pkgs }: 60 { stdenv ? pkgs.stdenv, name, buildInputs ? [] 61 , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? "" 62 + , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash --norc"}: 63 64 mkDerivation { 65 # The setup.sh script from stdenv will expect the native build inputs in ··· 146 EOF 147 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} 151 chmod +x $out/bin/load-env-${name} 152 ''; 153 }
+1 -1
pkgs/misc/my-env/loadenv.sh
··· 10 export NIX_STRIP_DEBUG=0 11 export TZ="$OLDTZ" 12 13 - @shell@ --norc 14
··· 10 export NIX_STRIP_DEBUG=0 11 export TZ="$OLDTZ" 12 13 + @shell@ 14
+59 -3
pkgs/misc/vim-plugins/default.nix
··· 1 - { fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip }: 2 3 /* 4 About Vim and plugins ··· 90 installPhase = '' 91 target=$out/vim-plugins/$path 92 ensureDir $out/vim-plugins 93 - ls -l 94 cp -r . $target 95 ${vimHelpTags} 96 vimHelpTags $target 97 ''; 98 }); 99 100 - in 101 102 { 103 ··· 250 }; 251 path = "xdebug"; 252 postInstall = false; 253 }; 254 }
··· 1 + { fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip, which }: 2 3 /* 4 About Vim and plugins ··· 90 installPhase = '' 91 target=$out/vim-plugins/$path 92 ensureDir $out/vim-plugins 93 cp -r . $target 94 ${vimHelpTags} 95 vimHelpTags $target 96 ''; 97 }); 98 99 + in rec 100 101 { 102 ··· 249 }; 250 path = "xdebug"; 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"; 309 }; 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 { stdenv, fetchurl, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "3.11.4"; 5 6 src = fetchurl { 7 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 8 - sha256 = "1kv6j7mc5r5qw43kirc0fv83khpnwy8m7158qf8ar08p3r01i3mi"; 9 }; 10 11 features.iwlwifi = true;
··· 1 { stdenv, fetchurl, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "3.11.6"; 5 6 src = fetchurl { 7 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 8 + sha256 = "0klbyx6qy3ifwrwh5w7yzk6m6jd32flkk73z95bih3ihmbnbzlvs"; 9 }; 10 11 features.iwlwifi = true;
+2 -2
pkgs/os-specific/linux/kernel/linux-3.4.nix
··· 1 { stdenv, fetchurl, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "3.4.66"; 5 6 src = fetchurl { 7 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 8 - sha256 = "09jrj989mqk76klrg5zq1z8qrx3gif69bqi78ywq3jky8dmrwz3y"; 9 }; 10 11 features.iwlwifi = true;
··· 1 { stdenv, fetchurl, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "3.4.67"; 5 6 src = fetchurl { 7 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 8 + sha256 = "1ndzlwhxvlm4lr86240h3ysxhmdkgdcp0n6qhid5nwrmxf5fpb1d"; 9 }; 10 11 features.iwlwifi = true;
+4 -2
pkgs/os-specific/linux/kernel/patches.nix
··· 134 grsecurity_2_9_1_3_2_51 = 135 { name = "grsecurity-2.9.1-3.2.51"; 136 patch = fetchurl { 137 - url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309101928.patch; 138 - sha256 = "90f9ddc74d56f4525b8faa8505a95f45c23a2e763c7519ba5ae953069a51aca2"; 139 }; 140 }; 141 142 }
··· 134 grsecurity_2_9_1_3_2_51 = 135 { name = "grsecurity-2.9.1-3.2.51"; 136 patch = fetchurl { 137 + url = http://grsecurity.net/stable/grsecurity-2.9.1-3.2.51-201309281102.patch; 138 + sha256 = "0mwwdmccihzhl25c9q92x0k33c5kxbz6mikid9diramvki7sk0l8"; 139 }; 140 + # The grsec kernel patch seems to include the apparmor patches as of 2.9.1-3.2.51 141 + features.apparmor = true; 142 }; 143 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 }: 2 3 let 4 dav-ext = fetchgit { ··· 6 rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d"; 7 sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq"; 8 }; 9 in 10 11 stdenv.mkDerivation rec { ··· 17 }; 18 19 buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat; 20 21 configureFlags = [ 22 "--with-http_ssl_module" ··· 27 "--with-http_secure_link_module" 28 # Install destination problems 29 # "--with-http_perl_module" 30 - ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"; 31 32 preConfigure = '' 33 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2"
··· 1 + { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false, syslog ? false }: 2 3 let 4 dav-ext = fetchgit { ··· 6 rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d"; 7 sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq"; 8 }; 9 + 10 + syslog-ext = fetchgit { 11 + url = https://github.com/yaoweibin/nginx_syslog_patch.git; 12 + rev = "165affd9741f0e30c4c8225da5e487d33832aca3"; 13 + sha256 = "14dkkafjnbapp6jnvrjg9ip46j00cr8pqc2g7374z9aj7hrvdvhs"; 14 + }; 15 in 16 17 stdenv.mkDerivation rec { ··· 23 }; 24 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 []; 28 29 configureFlags = [ 30 "--with-http_ssl_module" ··· 35 "--with-http_secure_link_module" 36 # Install destination problems 37 # "--with-http_perl_module" 38 + ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}" 39 + ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}"; 40 41 preConfigure = '' 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 { 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. 7 8 stdenv.mkDerivation rec { 9 version = "2.0.17"; ··· 19 which 20 coreutils 21 rrdtool 22 perl 23 perlPackages.ModuleBuild 24 perlPackages.HTMLTemplate ··· 36 perlPackages.NetServer 37 perlPackages.ListMoreUtils 38 perlPackages.TimeHiRes 39 python 40 ruby 41 openjdk 42 ]; 43 44 preBuild = '' 45 sed -i '/CHECKUSER/d' Makefile 46 sed -i '/CHOWN/d' Makefile 47 sed -i '/CHECKGROUP/d' Makefile 48 - substituteInPlace "Makefile" \ 49 - --replace "/usr/pwd" "pwd" 50 ''; 51 52 # DESTDIR shouldn't be needed (and shouldn't have worked), but munin ··· 60 PYTHON=${python}/bin/python 61 RUBY=${ruby}/bin/ruby 62 JAVARUN=${openjdk}/bin/java 63 - HOSTNAME=default 64 ''; 65 66 postFixup = '' ··· 78 case "$file" in 79 *.jar) continue;; 80 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 82 done 83 ''; 84
··· 1 { stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages 2 + , python, ruby, openjdk, nettools }: 3 4 stdenv.mkDerivation rec { 5 version = "2.0.17"; ··· 15 which 16 coreutils 17 rrdtool 18 + nettools 19 perl 20 perlPackages.ModuleBuild 21 perlPackages.HTMLTemplate ··· 33 perlPackages.NetServer 34 perlPackages.ListMoreUtils 35 perlPackages.TimeHiRes 36 + perlPackages.LWPUserAgent 37 + perlPackages.DBDPg 38 python 39 ruby 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 66 ]; 67 68 preBuild = '' 69 + substituteInPlace "Makefile" \ 70 + --replace "/bin/pwd" "pwd" 71 + 72 + # munin checks at build time if user/group exists, unpure 73 sed -i '/CHECKUSER/d' Makefile 74 sed -i '/CHOWN/d' Makefile 75 sed -i '/CHECKGROUP/d' Makefile 76 + 77 + # munin hardcodes PATH, we need it to obey $PATH 78 + sed -i '/ENV{PATH}/d' node/lib/Munin/Node/Service.pm 79 ''; 80 81 # DESTDIR shouldn't be needed (and shouldn't have worked), but munin ··· 89 PYTHON=${python}/bin/python 90 RUBY=${ruby}/bin/ruby 91 JAVARUN=${openjdk}/bin/java 92 + PLUGINUSER=munin 93 ''; 94 95 postFixup = '' ··· 107 case "$file" in 108 *.jar) continue;; 109 esac 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" 112 done 113 ''; 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 6 let 7 8 - version = "2.0.8"; 9 10 src = fetchurl { 11 url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; 12 - sha256 = "16jiwjw4041j3qn1cs4k812mih8mjwz5022ac0h0n78avrh4kff4"; 13 }; 14 15 preConfigure = ··· 30 name = "zabbix-${version}"; 31 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 42 configureFlags = [ 43 "--enable-agent"
··· 5 6 let 7 8 + version = "2.0.9"; 9 10 src = fetchurl { 11 url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; 12 + sha256 = "057fjqww0qzs56nm8m3c36kbrhwriysvjvqzgwm9j2bg9ylixvym"; 13 }; 14 15 preConfigure = ··· 30 name = "zabbix-${version}"; 31 32 inherit src preConfigure; 33 34 configureFlags = [ 35 "--enable-agent"
+1 -1
pkgs/stdenv/generic/default.nix
··· 49 # Add a utility function to produce derivations that use this 50 # stdenv and its shell. 51 mkDerivation = attrs: 52 - if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable") then 53 throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate" 54 else 55 lib.addPassthru (derivation (
··· 49 # Add a utility function to produce derivations that use this 50 # stdenv and its shell. 51 mkDerivation = attrs: 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 throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate" 54 else 55 lib.addPassthru (derivation (
+7 -8
pkgs/tools/archivers/zpaq/default.nix
··· 3 s = # Generated upstream information 4 rec { 5 baseName="zpaq"; 6 - version="625"; 7 name="${baseName}-${version}"; 8 - hash="0d3ly8l6mzbqxkg68yz7mid3dr056fgr5n49rlkjwcfg533c5gwx"; 9 - url="http://mattmahoney.net/dc/zpaq625.zip"; 10 - sha256="0d3ly8l6mzbqxkg68yz7mid3dr056fgr5n49rlkjwcfg533c5gwx"; 11 }; 12 buildInputs = [ 13 unzip ··· 29 }; 30 sourceRoot = "."; 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 35 ''; 36 installPhase = '' 37 mkdir -p "$out"/{bin,include,lib,share/doc/zpaq} 38 cp libzpaq.so "$out/lib" 39 - cp zpaq zpaqd "$out/bin" 40 cp libzpaq.h divsufsort.h "$out/include" 41 cp readme.txt "$out/share/doc/zpaq" 42 '';
··· 3 s = # Generated upstream information 4 rec { 5 baseName="zpaq"; 6 + version="642"; 7 name="${baseName}-${version}"; 8 + hash="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5"; 9 + url="http://mattmahoney.net/dc/zpaq642.zip"; 10 + sha256="020nd5gzzynhccldbf1kh4x1cc3445b7ig2cl30xvxaz16h1r2p5"; 11 }; 12 buildInputs = [ 13 unzip ··· 29 }; 30 sourceRoot = "."; 31 buildPhase = '' 32 + g++ -shared -O3 libzpaq.cpp ${compileFlags} -o libzpaq.so 33 + g++ -O3 -L. -L"$out/lib" -lzpaq divsufsort.c zpaq.cpp -o zpaq 34 ''; 35 installPhase = '' 36 mkdir -p "$out"/{bin,include,lib,share/doc/zpaq} 37 cp libzpaq.so "$out/lib" 38 + cp zpaq "$out/bin" 39 cp libzpaq.h divsufsort.h "$out/include" 40 cp readme.txt "$out/share/doc/zpaq" 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 {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}: 2 3 stdenv.mkDerivation rec { 4 - version = "0.614"; 5 name = "lrzip-${version}"; 6 7 src = fetchurl { 8 url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2"; 9 - sha256 = "16i6mz2z6gx8xiva7zb0j78yvkwq1bjbdkl7w3i10195ll097ad8"; 10 }; 11 12 buildInputs = [ zlib lzo bzip2 nasm perl ];
··· 1 {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}: 2 3 stdenv.mkDerivation rec { 4 + version = "0.616"; 5 name = "lrzip-${version}"; 6 7 src = fetchurl { 8 url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2"; 9 + sha256 = "1bimlbsfzjvippbma08ifm1grcy9i7avryrkdvnvrfyqnj6mlbcq"; 10 }; 11 12 buildInputs = [ zlib lzo bzip2 nasm perl ];
+2 -2
pkgs/tools/filesystems/e2fsprogs/default.nix
··· 1 { stdenv, fetchurl, pkgconfig, libuuid }: 2 3 stdenv.mkDerivation rec { 4 - name = "e2fsprogs-1.42.7"; 5 6 src = fetchurl { 7 url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; 8 - sha256 = "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw"; 9 }; 10 11 buildInputs = [ pkgconfig libuuid ];
··· 1 { stdenv, fetchurl, pkgconfig, libuuid }: 2 3 stdenv.mkDerivation rec { 4 + name = "e2fsprogs-1.42.8"; 5 6 src = fetchurl { 7 url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; 8 + sha256 = "b984aaf1fe888d6a4cf8c2e8d397207879599b5368f1d33232c1ec9d68d00c97"; 9 }; 10 11 buildInputs = [ pkgconfig libuuid ];
+5 -5
pkgs/tools/filesystems/glusterfs/default.nix
··· 3 s = # Generated upstream information 4 rec { 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"; 11 }; 12 buildInputs = [ 13 fuse bison flex openssl python ncurses readline
··· 3 s = # Generated upstream information 4 rec { 5 baseName="glusterfs"; 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 }; 12 buildInputs = [ 13 fuse bison flex openssl python ncurses readline
+1
pkgs/tools/graphics/cuneiform/default.nix
··· 36 37 name = "cuneiform-" + version; 38 meta = { 39 description = "Cuneiform OCR"; 40 }; 41 }
··· 36 37 name = "cuneiform-" + version; 38 meta = { 39 + inherit version; 40 description = "Cuneiform OCR"; 41 }; 42 }
+5 -5
pkgs/tools/misc/rockbox-utility/default.nix
··· 1 - { stdenv, fetchurl, libusb, qt4 }: 2 3 stdenv.mkDerivation rec { 4 name = "rockbox-utility-${version}"; 5 - version = "1.2.8"; 6 7 src = fetchurl { 8 - url = "http://download.rockbox.org/rbutil/source/rbutil_${version}-src.tar.bz2"; 9 - sha256 = "1gjwlyrwvzfdhqdwvq1chdnjkcn9lk21ixp92h5y74826j3ahdgs"; 10 }; 11 12 - buildInputs = [ libusb qt4 ]; 13 14 preBuild = '' 15 cd rbutil/rbutilqt
··· 1 + { stdenv, fetchurl, libusb1, qt4 }: 2 3 stdenv.mkDerivation rec { 4 name = "rockbox-utility-${version}"; 5 + version = "1.3.1"; 6 7 src = fetchurl { 8 + url = "http://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2"; 9 + sha256 = "6c04b5c7eaad1762577908dedb9e40f5b0cee675150ae5ba844ea2c9bea294ca"; 10 }; 11 12 + buildInputs = [ libusb1 qt4 ]; 13 14 preBuild = '' 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 }: 6 7 stdenv.mkDerivation rec { 8 - name = "nix-1.7pre3252_792fd51"; 9 10 src = fetchurl { 11 - url = "http://hydra.nixos.org/build/6500161/download/5/${name}.tar.xz"; 12 - sha256 = "f99c1996292ea1a20068f0a6d58d3dc4775f30fdd22cdd756ac4d749acb2c20e"; 13 }; 14 15 nativeBuildInputs = [ perl pkgconfig ];
··· 5 }: 6 7 stdenv.mkDerivation rec { 8 + name = "nix-1.7pre3267_2d9bb56"; 9 10 src = fetchurl { 11 + url = "http://hydra.nixos.org/build/6611474/download/5/${name}.tar.xz"; 12 + sha256 = "f62b48910651c4651cd4473a0bb433d65cf60c93c0f80d589b26fec52b3b82b3"; 13 }; 14 15 nativeBuildInputs = [ perl pkgconfig ];
+1 -1
pkgs/tools/typesetting/tex/tex4ht/default.nix
··· 24 for f in src/tex4ht src/t4ht src/htcmd "bin/unix/"*; do 25 mv $f $out/bin/ 26 done 27 - mv texmf $out/ 28 ''; 29 30 meta = {
··· 24 for f in src/tex4ht src/t4ht src/htcmd "bin/unix/"*; do 25 mv $f $out/bin/ 26 done 27 + mv texmf $out/texmf-dist 28 ''; 29 30 meta = {
+75 -12
pkgs/top-level/all-packages.nix
··· 661 662 connect = callPackage ../tools/networking/connect { }; 663 664 convertlit = callPackage ../tools/text/convertlit { }; 665 666 collectd = callPackage ../tools/system/collectd { }; ··· 710 zlibSupport = true; 711 sslSupport = zlibSupport; 712 scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin; 713 }; 714 715 cunit = callPackage ../tools/misc/cunit { }; ··· 890 fontforgeX = callPackage ../tools/misc/fontforge { 891 withX11 = true; 892 }; 893 894 fortune = callPackage ../tools/misc/fortune { }; 895 ··· 1371 netboot = callPackage ../tools/networking/netboot {}; 1372 1373 netcat = callPackage ../tools/networking/netcat { }; 1374 1375 netkittftp = callPackage ../tools/networking/netkit/tftp { }; 1376 ··· 1880 1881 ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; 1882 1883 twitterBootstrap = callPackage ../development/web/twitter-bootstrap {}; 1884 1885 txt2man = callPackage ../tools/misc/txt2man { }; ··· 1899 unoconv = callPackage ../tools/text/unoconv { }; 1900 1901 upx = callPackage ../tools/compression/upx { }; 1902 1903 usbmuxd = callPackage ../tools/misc/usbmuxd {}; 1904 ··· 2148 zip = callPackage ../tools/archivers/zip { }; 2149 2150 zpaq = callPackage ../tools/archivers/zpaq { }; 2151 2152 zsync = callPackage ../tools/compression/zsync { }; 2153 ··· 2190 aldor = callPackage ../development/compilers/aldor { }; 2191 2192 aspectj = callPackage ../development/compilers/aspectj { }; 2193 2194 avra = callPackage ../development/compilers/avra { }; 2195 ··· 2897 2898 ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; 2899 2900 orc = callPackage ../development/compilers/orc { }; 2901 2902 metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; ··· 3054 sdcc = callPackage ../development/compilers/sdcc { 3055 boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53 3056 }; 3057 3058 stalin = callPackage ../development/compilers/stalin { }; 3059 ··· 3758 3759 simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; 3760 3761 sloccount = callPackage ../development/tools/misc/sloccount { }; 3762 3763 smatch = callPackage ../development/tools/analysis/smatch { ··· 3819 }; 3820 3821 valkyrie = callPackage ../development/tools/analysis/valkyrie { }; 3822 3823 xxdiff = callPackage ../development/tools/misc/xxdiff { }; 3824 ··· 4014 4015 db48 = callPackage ../development/libraries/db4/db4-4.8.nix { }; 4016 4017 - dbus = let dbus_all = callPackage ../development/libraries/dbus { }; 4018 - in dbus_all.libs // dbus_all; # previously dbus.libs also contained the daemon 4019 dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; 4020 dbus_glib = callPackage ../development/libraries/dbus-glib { }; 4021 dbus_java = callPackage ../development/libraries/java/dbus-java { }; ··· 4143 gamin = callPackage ../development/libraries/gamin { }; 4144 4145 gav = callPackage ../games/gav { }; 4146 4147 gdome2 = callPackage ../development/libraries/gdome2 { 4148 inherit (gnome) gtkdoc; ··· 4568 json_glib = callPackage ../development/libraries/json-glib { }; 4569 4570 json_c = callPackage ../development/libraries/json-c { }; 4571 4572 libjson = callPackage ../development/libraries/libjson { }; 4573 ··· 5081 5082 libvisual = callPackage ../development/libraries/libvisual { }; 5083 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 - }; 5090 5091 libviper = callPackage ../development/libraries/libviper { }; 5092 ··· 5403 5404 policykit = callPackage ../development/libraries/policykit { }; 5405 5406 - poppler = let popplers = callPackage ../development/libraries/poppler { lcms = lcms2; }; 5407 - in popplers // popplers.poppler_glib; 5408 popplerQt4 = poppler.poppler_qt4; 5409 5410 poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix { ··· 6179 6180 lighttpd = callPackage ../servers/http/lighttpd { }; 6181 6182 mediatomb = callPackage ../servers/mediatomb { 6183 ffmpeg = ffmpeg_0_6_90; 6184 }; ··· 6509 6510 fxload = callPackage ../os-specific/linux/fxload { }; 6511 6512 gpm = callPackage ../servers/gpm { }; 6513 6514 hdparm = callPackage ../os-specific/linux/hdparm { }; ··· 6603 ]; 6604 }; 6605 6606 linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: { 6607 kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_51 ]; 6608 - })) (args: { makeFlags = "DISABLE_PAX_PLUGINS=y";})); 6609 6610 linux_3_2_apparmor = lowPrio (linux_3_2.override { 6611 kernelPatches = [ kernelPatches.apparmor_3_2 ]; ··· 6805 linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0); 6806 linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); 6807 linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor; 6808 linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; 6809 linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); 6810 linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor; ··· 7756 7757 fossil = callPackage ../applications/version-management/fossil { }; 7758 7759 fvwm = callPackage ../applications/window-managers/fvwm { }; 7760 7761 geany = callPackage ../applications/editors/geany { }; ··· 8875 virtviewer = callPackage ../applications/virtualization/virt-viewer {}; 8876 virtmanager = callPackage ../applications/virtualization/virt-manager { 8877 inherit (gnome) gnome_python; 8878 }; 8879 8880 virtinst = callPackage ../applications/virtualization/virtinst {}; ··· 8970 ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer 8971 ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin 8972 ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin 8973 ); 8974 libs = 8975 if cfg.enableQuakeLive or false ··· 9187 flightgear = callPackage ../games/flightgear { }; 9188 9189 freeciv = callPackage ../games/freeciv { }; 9190 9191 freedink = callPackage ../games/freedink { }; 9192 ··· 9271 9272 racer = callPackage ../games/racer { }; 9273 9274 rigsofrods = callPackage ../games/rigsofrods { 9275 mygui = myguiSvn; 9276 }; ··· 10157 VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; 10158 10159 # Wine cannot be built in 64-bit; use a 32-bit build instead. 10160 - wine = callPackage_i686 ../misc/emulators/wine { 10161 bison = bison2; 10162 }; 10163 10164 # winetricks is a shell script with no binary components. Safe to just use the current platforms 10165 # build instead of the i686 specific build.
··· 661 662 connect = callPackage ../tools/networking/connect { }; 663 664 + conspy = callPackage ../os-specific/linux/conspy {}; 665 + 666 convertlit = callPackage ../tools/text/convertlit { }; 667 668 collectd = callPackage ../tools/system/collectd { }; ··· 712 zlibSupport = true; 713 sslSupport = zlibSupport; 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; 720 }; 721 722 cunit = callPackage ../tools/misc/cunit { }; ··· 897 fontforgeX = callPackage ../tools/misc/fontforge { 898 withX11 = true; 899 }; 900 + 901 + forktty = callPackage ../os-specific/linux/forktty {}; 902 903 fortune = callPackage ../tools/misc/fortune { }; 904 ··· 1380 netboot = callPackage ../tools/networking/netboot {}; 1381 1382 netcat = callPackage ../tools/networking/netcat { }; 1383 + 1384 + netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { }; 1385 1386 netkittftp = callPackage ../tools/networking/netkit/tftp { }; 1387 ··· 1891 1892 ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; 1893 1894 + ttysnoop = callPackage ../os-specific/linux/ttysnoop {}; 1895 + 1896 twitterBootstrap = callPackage ../development/web/twitter-bootstrap {}; 1897 1898 txt2man = callPackage ../tools/misc/txt2man { }; ··· 1912 unoconv = callPackage ../tools/text/unoconv { }; 1913 1914 upx = callPackage ../tools/compression/upx { }; 1915 + 1916 + urlview = callPackage ../applications/misc/urlview {}; 1917 1918 usbmuxd = callPackage ../tools/misc/usbmuxd {}; 1919 ··· 2163 zip = callPackage ../tools/archivers/zip { }; 2164 2165 zpaq = callPackage ../tools/archivers/zpaq { }; 2166 + zpaqd = callPackage ../tools/archivers/zpaq/zpaqd.nix { }; 2167 2168 zsync = callPackage ../tools/compression/zsync { }; 2169 ··· 2206 aldor = callPackage ../development/compilers/aldor { }; 2207 2208 aspectj = callPackage ../development/compilers/aspectj { }; 2209 + 2210 + ats2 = callPackage ../development/compilers/ats2 { }; 2211 2212 avra = callPackage ../development/compilers/avra { }; 2213 ··· 2915 2916 ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; 2917 2918 + ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { }; 2919 + 2920 orc = callPackage ../development/compilers/orc { }; 2921 2922 metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; ··· 3074 sdcc = callPackage ../development/compilers/sdcc { 3075 boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53 3076 }; 3077 + 3078 + smlnj = callPackage_i686 ../development/compilers/smlnj { }; 3079 3080 stalin = callPackage ../development/compilers/stalin { }; 3081 ··· 3780 3781 simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; 3782 3783 + slimerjs = callPackage ../development/tools/slimerjs {}; 3784 + 3785 sloccount = callPackage ../development/tools/misc/sloccount { }; 3786 3787 smatch = callPackage ../development/tools/analysis/smatch { ··· 3843 }; 3844 3845 valkyrie = callPackage ../development/tools/analysis/valkyrie { }; 3846 + 3847 + xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; 3848 3849 xxdiff = callPackage ../development/tools/misc/xxdiff { }; 3850 ··· 4040 4041 db48 = callPackage ../development/libraries/db4/db4-4.8.nix { }; 4042 4043 + dbus = callPackage ../development/libraries/dbus { }; 4044 dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; 4045 dbus_glib = callPackage ../development/libraries/dbus-glib { }; 4046 dbus_java = callPackage ../development/libraries/java/dbus-java { }; ··· 4168 gamin = callPackage ../development/libraries/gamin { }; 4169 4170 gav = callPackage ../games/gav { }; 4171 + 4172 + gsb = callPackage ../games/gsb { }; 4173 4174 gdome2 = callPackage ../development/libraries/gdome2 { 4175 inherit (gnome) gtkdoc; ··· 4595 json_glib = callPackage ../development/libraries/json-glib { }; 4596 4597 json_c = callPackage ../development/libraries/json-c { }; 4598 + 4599 + jsoncpp = callPackage ../development/libraries/jsoncpp { }; 4600 4601 libjson = callPackage ../development/libraries/libjson { }; 4602 ··· 5110 5111 libvisual = callPackage ../development/libraries/libvisual { }; 5112 5113 + libvncserver = callPackage ../development/libraries/libvncserver {}; 5114 5115 libviper = callPackage ../development/libraries/libviper { }; 5116 ··· 5427 5428 policykit = callPackage ../development/libraries/policykit { }; 5429 5430 + poppler = callPackage ../development/libraries/poppler { lcms = lcms2; }; 5431 popplerQt4 = poppler.poppler_qt4; 5432 5433 poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix { ··· 6202 6203 lighttpd = callPackage ../servers/http/lighttpd { }; 6204 6205 + mailman = callPackage ../servers/mail/mailman { }; 6206 + 6207 mediatomb = callPackage ../servers/mediatomb { 6208 ffmpeg = ffmpeg_0_6_90; 6209 }; ··· 6534 6535 fxload = callPackage ../os-specific/linux/fxload { }; 6536 6537 + gfxtablet = callPackage ../os-specific/linux/gfxtablet {}; 6538 + 6539 gpm = callPackage ../servers/gpm { }; 6540 6541 hdparm = callPackage ../os-specific/linux/hdparm { }; ··· 6630 ]; 6631 }; 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 6636 linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: { 6637 kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_51 ]; 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 + })); 6654 6655 linux_3_2_apparmor = lowPrio (linux_3_2.override { 6656 kernelPatches = [ kernelPatches.apparmor_3_2 ]; ··· 6850 linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0); 6851 linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); 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; 6854 linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; 6855 linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); 6856 linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor; ··· 7802 7803 fossil = callPackage ../applications/version-management/fossil { }; 7804 7805 + fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { }; 7806 + 7807 fvwm = callPackage ../applications/window-managers/fvwm { }; 7808 7809 geany = callPackage ../applications/editors/geany { }; ··· 8923 virtviewer = callPackage ../applications/virtualization/virt-viewer {}; 8924 virtmanager = callPackage ../applications/virtualization/virt-manager { 8925 inherit (gnome) gnome_python; 8926 + vte = gnome.vte.override { pythonSupport = true; }; 8927 }; 8928 8929 virtinst = callPackage ../applications/virtualization/virtinst {}; ··· 9019 ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer 9020 ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin 9021 ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin 9022 + ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid 9023 ); 9024 libs = 9025 if cfg.enableQuakeLive or false ··· 9237 flightgear = callPackage ../games/flightgear { }; 9238 9239 freeciv = callPackage ../games/freeciv { }; 9240 + 9241 + freeciv_gtk = callPackage ../games/freeciv { 9242 + gtkClient = true; 9243 + sdlClient = false; 9244 + }; 9245 9246 freedink = callPackage ../games/freedink { }; 9247 ··· 9326 9327 racer = callPackage ../games/racer { }; 9328 9329 + residualvm = callPackage ../games/residualvm { 9330 + openglSupport = mesaSupported; 9331 + }; 9332 + 9333 rigsofrods = callPackage ../games/rigsofrods { 9334 mygui = myguiSvn; 9335 }; ··· 10216 VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; 10217 10218 # Wine cannot be built in 64-bit; use a 32-bit build instead. 10219 + wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { 10220 bison = bison2; 10221 }; 10222 + wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { 10223 + bison = bison2; 10224 + }); 10225 + wine = wineStable; 10226 10227 # winetricks is a shell script with no binary components. Safe to just use the current platforms 10228 # build instead of the i686 specific build.
+12 -6
pkgs/top-level/haskell-packages.nix
··· 141 inherit (self) cabal ghc; 142 async = self.async_2_0_1_4; 143 attoparsec = self.attoparsec_0_10_4_0; 144 - caseInsensitive = self.caseInsensitive_1_1; 145 cgi = self.cgi_3001_1_7_5; 146 fgl = self.fgl_5_4_2_4; 147 GLUT = self.GLUT_2_5_0_1; ··· 677 carray = callPackage ../development/libraries/haskell/carray {}; 678 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; 682 683 cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; 684 ··· 1170 1171 hexpat = callPackage ../development/libraries/haskell/hexpat {}; 1172 1173 HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {}; 1174 HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {}; 1175 HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {}; ··· 1257 1258 hsemail = callPackage ../development/libraries/haskell/hsemail {}; 1259 1260 - hslua = callPackage ../development/libraries/haskell/hslua { 1261 - lua = pkgs.lua5_1; 1262 - }; 1263 1264 HSH = callPackage ../development/libraries/haskell/HSH {}; 1265 ··· 1367 languageC = callPackage ../development/libraries/haskell/language-c {}; 1368 1369 languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {}; 1370 1371 languageJava = callPackage ../development/libraries/haskell/language-java {}; 1372 ··· 2077 text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {}; 2078 text = self.text_0_11_3_1; 2079 2080 textIcu = callPackage ../development/libraries/haskell/text-icu {}; 2081 2082 thespian = callPackage ../development/libraries/haskell/thespian {}; ··· 2275 xml = callPackage ../development/libraries/haskell/xml {}; 2276 2277 xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {}; 2278 2279 xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {}; 2280
··· 141 inherit (self) cabal ghc; 142 async = self.async_2_0_1_4; 143 attoparsec = self.attoparsec_0_10_4_0; 144 + caseInsensitive = self.caseInsensitive_1_1_0_1; 145 cgi = self.cgi_3001_1_7_5; 146 fgl = self.fgl_5_4_2_4; 147 GLUT = self.GLUT_2_5_0_1; ··· 677 carray = callPackage ../development/libraries/haskell/carray {}; 678 679 caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {}; 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 683 cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; 684 ··· 1170 1171 hexpat = callPackage ../development/libraries/haskell/hexpat {}; 1172 1173 + HTF = callPackage ../development/libraries/haskell/HTF {}; 1174 + 1175 HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {}; 1176 HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {}; 1177 HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {}; ··· 1259 1260 hsemail = callPackage ../development/libraries/haskell/hsemail {}; 1261 1262 + hslua = callPackage ../development/libraries/haskell/hslua {}; 1263 1264 HSH = callPackage ../development/libraries/haskell/HSH {}; 1265 ··· 1367 languageC = callPackage ../development/libraries/haskell/language-c {}; 1368 1369 languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {}; 1370 + 1371 + languageEcmascript = callPackage ../development/libraries/haskell/language-ecmascript {}; 1372 1373 languageJava = callPackage ../development/libraries/haskell/language-java {}; 1374 ··· 2079 text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {}; 2080 text = self.text_0_11_3_1; 2081 2082 + textFormat = callPackage ../development/libraries/haskell/text-format {}; 2083 + 2084 textIcu = callPackage ../development/libraries/haskell/text-icu {}; 2085 2086 thespian = callPackage ../development/libraries/haskell/thespian {}; ··· 2279 xml = callPackage ../development/libraries/haskell/xml {}; 2280 2281 xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {}; 2282 + 2283 + xmlgen = callPackage ../development/libraries/haskell/xmlgen {}; 2284 2285 xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {}; 2286
+57
pkgs/top-level/perl-packages.nix
··· 3633 }; 3634 }; 3635 3636 GoogleProtocolBuffers = buildPerlPackage rec { 3637 name = "Google-ProtocolBuffers-0.08"; 3638 src = fetchurl { ··· 4587 src = fetchurl { 4588 url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Simple-0.18.tar.gz; 4589 sha256 = "14kx7vkxyfqndy90rzavrjp2346aidyc7x5dzzdj293qf8s4q6ig"; 4590 }; 4591 }; 4592 ··· 6116 url = "mirror://cpan/authors/id/D/DT/DTOWN/${name}.tar.gz"; 6117 sha256 = "0hdpn1cw52x8cw24m9ayzpf4rwarm0khygn1sv3wvwxkrg0pphql"; 6118 }; 6119 }; 6120 6121 NetSSLeay = buildPerlPackage rec { ··· 7609 doCheck = false; # no `hostname' in stdenv 7610 }; 7611 7612 TaskCatalystTutorial = buildPerlPackage rec { 7613 name = "Task-Catalyst-Tutorial-0.06"; 7614 src = fetchurl { ··· 7673 sha256 = "1mqqqs0dhfr6bp1305j9ns05q4pq1n3f561l6p8848k5ml3dh87a"; 7674 }; 7675 propagatedBuildInputs = [ TemplateToolkit ]; 7676 meta = { 7677 maintainers = with maintainers; [ ocharles ]; 7678 platforms = stdenv.lib.platforms.unix;
··· 3633 }; 3634 }; 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 + 3649 GoogleProtocolBuffers = buildPerlPackage rec { 3650 name = "Google-ProtocolBuffers-0.08"; 3651 src = fetchurl { ··· 4600 src = fetchurl { 4601 url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Simple-0.18.tar.gz; 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 ]; 4618 }; 4619 }; 4620 ··· 6144 url = "mirror://cpan/authors/id/D/DT/DTOWN/${name}.tar.gz"; 6145 sha256 = "0hdpn1cw52x8cw24m9ayzpf4rwarm0khygn1sv3wvwxkrg0pphql"; 6146 }; 6147 + doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799 6148 }; 6149 6150 NetSSLeay = buildPerlPackage rec { ··· 7638 doCheck = false; # no `hostname' in stdenv 7639 }; 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 + 7656 TaskCatalystTutorial = buildPerlPackage rec { 7657 name = "Task-Catalyst-Tutorial-0.06"; 7658 src = fetchurl { ··· 7717 sha256 = "1mqqqs0dhfr6bp1305j9ns05q4pq1n3f561l6p8848k5ml3dh87a"; 7718 }; 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 ]; 7733 meta = { 7734 maintainers = with maintainers; [ ocharles ]; 7735 platforms = stdenv.lib.platforms.unix;
+2 -2
pkgs/top-level/python-packages.nix
··· 2271 2272 ecdsa = buildPythonPackage rec { 2273 name = "ecdsa-${version}"; 2274 - version = "0.9"; 2275 2276 src = fetchurl { 2277 url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz"; 2278 - md5 = "2b9c35245ce391d6b7d8f991aad5c630"; 2279 }; 2280 2281 # Only needed for tests
··· 2271 2272 ecdsa = buildPythonPackage rec { 2273 name = "ecdsa-${version}"; 2274 + version = "0.10"; 2275 2276 src = fetchurl { 2277 url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz"; 2278 + md5 = "e95941b3bcbf1726472bb724d7478551"; 2279 }; 2280 2281 # Only needed for tests