Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

Merge branch 'master.upstream' into staging.upstream

+1388 -1461
+1 -1
doc/contributing.xml
··· 2 2 xmlns:xlink="http://www.w3.org/1999/xlink" 3 3 xml:id="chap-contributing"> 4 4 5 - <title>Contributing</title> 5 + <title>Contributing to this documentation</title> 6 6 7 7 <para>The DocBook sources of the Nixpkgs manual are in the <filename 8 8 xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename>
+3
doc/default.nix
··· 36 36 37 37 cp ${./style.css} $dst/style.css 38 38 39 + mkdir -p $dst/images/callouts 40 + cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/ 41 + 39 42 mkdir -p $out/nix-support 40 43 echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products 41 44 '';
+63
doc/functions.xml
··· 54 54 55 55 </section> 56 56 57 + <section xml:id="sec-pkg-override"> 58 + <title>&lt;pkg&gt;.override</title> 59 + 60 + <para> 61 + The function <varname>override</varname> is usually available for all the 62 + derivations in the nixpkgs expression (<varname>pkgs</varname>). 63 + </para> 64 + <para> 65 + It is used to override the arguments passed to a function. 66 + </para> 67 + <para> 68 + Example usages: 69 + 70 + <programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting> 71 + <programlisting>pkgs.overridePackages (self: super: { 72 + foo = super.foo.override { barSupport = true ; }; 73 + })</programlisting> 74 + <programlisting>mypkg = pkgs.callPackage ./mypkg.nix { 75 + mydep = pkgs.mydep.override { ... }; 76 + })</programlisting> 77 + </para> 78 + 79 + <para> 80 + In the first example, <varname>pkgs.foo</varname> is the result of a function call 81 + with some default arguments, usually a derivation. 82 + Using <varname>pkgs.foo.override</varname> will call the same function with 83 + the given new arguments. 84 + </para> 85 + 86 + </section> 87 + 88 + <section xml:id="sec-lib-makeOverridable"> 89 + <title>lib.makeOverridable</title> 90 + 91 + <para> 92 + The function <varname>lib.makeOverridable</varname> is used make the result 93 + of a function easily customizable. This utility only makes sense for functions 94 + that accept an argument set and return an attribute set. 95 + </para> 96 + 97 + <para> 98 + Example usage: 99 + 100 + <programlisting>f = { a, b }: { result = a+b; } 101 + c = lib.makeOverridable f { a = 1; b = 2; }</programlisting> 102 + 103 + </para> 104 + 105 + <para> 106 + The variable <varname>c</varname> is the value of the <varname>f</varname> function 107 + applied with some default arguments. Hence the value of <varname>c.result</varname> 108 + is <literal>3</literal>, in this example. 109 + </para> 110 + 111 + <para> 112 + The variable <varname>c</varname> however also has some additional functions, like 113 + <link linkend="sec-pkg-override">c.override</link> which can be used to 114 + override the default arguments. In this example the value of 115 + <varname>(c.override { a = 4; }).result</varname> is 6. 116 + </para> 117 + 118 + </section> 119 + 57 120 </chapter>
+1 -1
doc/manual.xml
··· 18 18 <xi:include href="language-support.xml" /> 19 19 <xi:include href="package-notes.xml" /> 20 20 <xi:include href="coding-conventions.xml" /> 21 - <xi:include href="contributing.xml" /> 22 21 <xi:include href="haskell-users-guide.xml" /> 22 + <xi:include href="contributing.xml" /> 23 23 24 24 </book>
+33 -6
doc/meta.xml
··· 138 138 139 139 <varlistentry> 140 140 <term><varname>license</varname></term> 141 - <listitem><para>The license for the package. One from the 142 - attribute set defined in <link 143 - xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix"> 144 - <filename>nixpkgs/lib/licenses.nix</filename></link>. Example: 145 - <literal>stdenv.lib.licenses.gpl3</literal>. For details, see 146 - <xref linkend='sec-meta-license'/>.</para></listitem> 141 + <listitem> 142 + <para> 143 + The license, or licenses, for the package. One from the attribute set 144 + defined in <link 145 + xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix"> 146 + <filename>nixpkgs/lib/licenses.nix</filename></link>. At this moment 147 + using both a list of licenses and a single license is valid. If the 148 + license field is in the form of a list representation, then it means 149 + that parts of the package are licensed differently. Each license 150 + should preferably be referenced by their attribute. The non-list 151 + attribute value can also be a space delimited string representation of 152 + the contained attribute shortNames or spdxIds. The following are all valid 153 + examples: 154 + <itemizedlist> 155 + <listitem><para>Single license referenced by attribute (preferred) 156 + <literal>stdenv.lib.licenses.gpl3</literal>. 157 + </para></listitem> 158 + <listitem><para>Single license referenced by its attribute shortName (frowned upon) 159 + <literal>"gpl3"</literal>. 160 + </para></listitem> 161 + <listitem><para>Single license referenced by its attribute spdxId (frowned upon) 162 + <literal>"GPL-3.0"</literal>. 163 + </para></listitem> 164 + <listitem><para>Multiple licenses referenced by attribute (preferred) 165 + <literal>with stdenv.lib.licenses; [ asl20 free ofl ]</literal>. 166 + </para></listitem> 167 + <listitem><para>Multiple licenses referenced as a space delimited string of attribute shortNames (frowned upon) 168 + <literal>"asl20 free ofl"</literal>. 169 + </para></listitem> 170 + </itemizedlist> 171 + For details, see <xref linkend='sec-meta-license'/>. 172 + </para> 173 + </listitem> 147 174 </varlistentry> 148 175 149 176 <varlistentry>
+1
lib/maintainers.nix
··· 56 56 cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>"; 57 57 cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>"; 58 58 chaoflow = "Florian Friesdorf <flo@chaoflow.net>"; 59 + chattered = "Phil Scott <me@philscotted.com>"; 59 60 christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>"; 60 61 coconnor = "Corey O'Connor <coreyoconnor@gmail.com>"; 61 62 codyopel = "Cody Opel <codyopel@gmail.com>";
+13 -1
nixos/modules/installer/cd-dvd/iso-image.nix
··· 40 40 DEFAULT boot 41 41 42 42 LABEL boot 43 - MENU LABEL NixOS ${config.system.nixosVersion} Installer 43 + MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} 44 44 LINUX /boot/bzImage 45 45 APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} 46 46 INITRD /boot/initrd ··· 189 189 }; 190 190 description = '' 191 191 The splash image to use in the bootloader. 192 + ''; 193 + }; 194 + 195 + isoImage.appendToMenuLabel = mkOption { 196 + default = " Installer"; 197 + example = " Live System"; 198 + description = '' 199 + The string to append after the menu label for the NixOS system. 200 + This will be directly appended (without whitespace) to the NixOS version 201 + string, like for example if it is set to <literal>XXX</literal>: 202 + 203 + <para><literal>NixOS 99.99-pre666XXX</literal></para> 192 204 ''; 193 205 }; 194 206
+2
nixos/modules/misc/ids.nix
··· 223 223 nix-serve = 199; 224 224 tvheadend = 200; 225 225 uwsgi = 201; 226 + gitit = 202; 226 227 227 228 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! 228 229 ··· 424 425 #nix-serve = 199; #unused 425 426 #tvheadend = 200; #unused 426 427 uwsgi = 201; 428 + gitit = 202; 427 429 428 430 # When adding a gid, make sure it doesn't match an existing 429 431 # uid. Users and groups with the same name should have equal
+1
nixos/modules/module-list.nix
··· 194 194 ./services/misc/etcd.nix 195 195 ./services/misc/felix.nix 196 196 ./services/misc/folding-at-home.nix 197 + ./services/misc/gitit.nix 197 198 ./services/misc/gitlab.nix 198 199 ./services/misc/gitolite.nix 199 200 ./services/misc/gpsd.nix
+1
nixos/modules/rename.nix
··· 148 148 ++ obsolete' [ "services" "samba" "defaultShare" ] 149 149 ++ obsolete' [ "services" "syslog-ng" "serviceName" ] 150 150 ++ obsolete' [ "services" "syslog-ng" "listenToJournal" ] 151 + ++ obsolete' [ "ec2" "metadata" ] 151 152 152 153 )
+1 -1
nixos/modules/services/desktops/gnome3/gnome-keyring.nix
··· 21 21 description = '' 22 22 Whether to enable GNOME Keyring daemon, a service designed to 23 23 take care of the user's security credentials, 24 - such as user names and passwordsa search engine. 24 + such as user names and passwords. 25 25 ''; 26 26 }; 27 27
+659
nixos/modules/services/misc/gitit.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + 7 + cfg = config.services.gitit; 8 + 9 + homeDir = "/var/lib/gitit"; 10 + 11 + gititShared = with cfg.haskellPackages; gitit + "/share/" + pkgs.stdenv.system + "-" + ghc.name + "/" + gitit.pname + "-" + gitit.version; 12 + 13 + gititWithPkgs = hsPkgs: extras: hsPkgs.ghcWithPackages (self: with self; [ gitit ] ++ (extras self)); 14 + 15 + gititSh = hsPkgs: extras: with pkgs; let 16 + env = gititWithPkgs hsPkgs extras; 17 + in writeScript "gitit" '' 18 + #!${stdenv.shell} 19 + cd $HOME 20 + export PATH="${makeSearchPath "bin" ( 21 + [ git curl ] ++ (if cfg.pdfExport == "yes" then [texLiveFull] else []) 22 + )}:$PATH"; 23 + export NIX_GHC="${env}/bin/ghc" 24 + export NIX_GHCPKG="${env}/bin/ghc-pkg" 25 + export NIX_GHC_DOCDIR="${env}/share/doc/ghc/html" 26 + export NIX_GHC_LIBDIR=$( $NIX_GHC --print-libdir ) 27 + ${env}/bin/gitit -f ${configFile} 28 + ''; 29 + 30 + gititOptions = let 31 + 32 + yesNo = types.enum [ "yes" "no" ]; 33 + 34 + in { 35 + 36 + enable = mkOption { 37 + type = types.bool; 38 + default = false; 39 + description = "Enable the gitit service."; 40 + }; 41 + 42 + haskellPackages = mkOption { 43 + default = pkgs.haskellPackages; 44 + defaultText = "pkgs.haskellPackages"; 45 + example = literalExample "pkgs.haskell.packages.ghc784"; 46 + description = "haskellPackages used to build gitit and plugins."; 47 + }; 48 + 49 + extraPackages = mkOption { 50 + default = self: []; 51 + example = literalExample '' 52 + haskellPackages: [ 53 + haskellPackages.wreq 54 + ] 55 + ''; 56 + description = '' 57 + Extra packages available to ghc when running gitit. The 58 + value must be a function which receives the attrset defined 59 + in <varname>haskellPackages</varname> as the sole argument. 60 + ''; 61 + }; 62 + 63 + address = mkOption { 64 + type = types.str; 65 + default = "0.0.0.0"; 66 + description = "IP address on which the web server will listen."; 67 + }; 68 + 69 + port = mkOption { 70 + type = types.int; 71 + default = 5001; 72 + description = "Port on which the web server will run."; 73 + }; 74 + 75 + wikiTitle = mkOption { 76 + type = types.str; 77 + default = "Gitit!"; 78 + description = "The wiki title."; 79 + }; 80 + 81 + repositoryType = mkOption { 82 + type = types.enum ["git" "darcs" "mercurial"]; 83 + default = "git"; 84 + description = "Specifies the type of repository used for wiki content."; 85 + }; 86 + 87 + repositoryPath = mkOption { 88 + type = types.path; 89 + default = homeDir + "/wiki"; 90 + description = '' 91 + Specifies the path of the repository directory. If it does not 92 + exist, gitit will create it on startup. 93 + ''; 94 + }; 95 + 96 + requireAuthentication = mkOption { 97 + type = types.enum [ "none" "modify" "read" ]; 98 + default = "modify"; 99 + description = '' 100 + If 'none', login is never required, and pages can be edited 101 + anonymously. If 'modify', login is required to modify the wiki 102 + (edit, add, delete pages, upload files). If 'read', login is 103 + required to see any wiki pages. 104 + ''; 105 + }; 106 + 107 + authenticationMethod = mkOption { 108 + type = types.enum [ "form" "http" "generic"]; 109 + default = "form"; 110 + description = '' 111 + 'form' means that users will be logged in and registered using forms 112 + in the gitit web interface. 'http' means that gitit will assume that 113 + HTTP authentication is in place and take the logged in username from 114 + the "Authorization" field of the HTTP request header (in addition, 115 + the login/logout and registration links will be suppressed). 116 + 'generic' means that gitit will assume that some form of 117 + authentication is in place that directly sets REMOTE_USER to the name 118 + of the authenticated user (e.g. mod_auth_cas on apache). 'rpx' means 119 + that gitit will attempt to log in through https://rpxnow.com. This 120 + requires that 'rpx-domain', 'rpx-key', and 'base-url' be set below, 121 + and that 'curl' be in the system path. 122 + ''; 123 + }; 124 + 125 + userFile = mkOption { 126 + type = types.path; 127 + default = homeDir + "/gitit-users"; 128 + description = '' 129 + Specifies the path of the file containing user login information. If 130 + it does not exist, gitit will create it (with an empty user list). 131 + This file is not used if 'http' is selected for 132 + authentication-method. 133 + ''; 134 + }; 135 + 136 + sessionTimeout = mkOption { 137 + type = types.int; 138 + default = 60; 139 + description = '' 140 + Number of minutes of inactivity before a session expires. 141 + ''; 142 + }; 143 + 144 + staticDir = mkOption { 145 + type = types.path; 146 + default = gititShared + "/data/static"; 147 + description = '' 148 + Specifies the path of the static directory (containing javascript, 149 + css, and images). If it does not exist, gitit will create it and 150 + populate it with required scripts, stylesheets, and images. 151 + ''; 152 + }; 153 + 154 + defaultPageType = mkOption { 155 + type = types.enum [ "markdown" "rst" "latex" "html" "markdown+lhs" "rst+lhs" "latex+lhs" ]; 156 + default = "markdown"; 157 + description = '' 158 + Specifies the type of markup used to interpret pages in the wiki. 159 + Possible values are markdown, rst, latex, html, markdown+lhs, 160 + rst+lhs, and latex+lhs. (the +lhs variants treat the input as 161 + literate Haskell. See pandoc's documentation for more details.) If 162 + Markdown is selected, pandoc's syntax extensions (for footnotes, 163 + delimited code blocks, etc.) will be enabled. Note that pandoc's 164 + restructuredtext parser is not complete, so some pages may not be 165 + rendered correctly if rst is selected. The same goes for latex and 166 + html. 167 + ''; 168 + }; 169 + 170 + math = mkOption { 171 + type = types.enum [ "mathml" "raw" "mathjax" "jsmath" "google" ]; 172 + default = "mathml"; 173 + description = '' 174 + Specifies how LaTeX math is to be displayed. Possible values are 175 + mathml, raw, mathjax, jsmath, and google. If mathml is selected, 176 + gitit will convert LaTeX math to MathML and link in a script, 177 + MathMLinHTML.js, that allows the MathML to be seen in Gecko browsers, 178 + IE + mathplayer, and Opera. In other browsers you may get a jumble of 179 + characters. If raw is selected, the LaTeX math will be displayed as 180 + raw LaTeX math. If mathjax is selected, gitit will link to the 181 + remote mathjax script. If jsMath is selected, gitit will link to the 182 + script /js/jsMath/easy/load.js, and will assume that jsMath has been 183 + installed into the js/jsMath directory. This is the most portable 184 + solution. If google is selected, the google chart API is called to 185 + render the formula as an image. This requires a connection to google, 186 + and might raise a technical or a privacy problem. 187 + ''; 188 + }; 189 + 190 + mathJaxScript = mkOption { 191 + type = types.str; 192 + default = "https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; 193 + description = '' 194 + Specifies the path to MathJax rendering script. You might want to 195 + use your own MathJax script to render formulas without Internet 196 + connection or if you want to use some special LaTeX packages. Note: 197 + path specified there cannot be an absolute path to a script on your 198 + hdd, instead you should run your (local if you wish) HTTP server 199 + which will serve the MathJax.js script. You can easily (in four lines 200 + of code) serve MathJax.js using 201 + http://happstack.com/docs/crashcourse/FileServing.html Do not forget 202 + the "http://" prefix (e.g. http://localhost:1234/MathJax.js). 203 + ''; 204 + }; 205 + 206 + showLhsBirdTracks = mkOption { 207 + type = yesNo; 208 + default = "no"; 209 + description = '' 210 + Specifies whether to show Haskell code blocks in "bird style", with 211 + "> " at the beginning of each line. 212 + ''; 213 + }; 214 + 215 + templatesDir = mkOption { 216 + type = types.path; 217 + default = gititShared + "/data/templates"; 218 + description = '' 219 + Specifies the path of the directory containing page templates. If it 220 + does not exist, gitit will create it with default templates. Users 221 + may wish to edit the templates to customize the appearance of their 222 + wiki. The template files are HStringTemplate templates. Variables to 223 + be interpolated appear between $\'s. Literal $\'s must be 224 + backslash-escaped. 225 + ''; 226 + }; 227 + 228 + logFile = mkOption { 229 + type = types.path; 230 + default = homeDir + "/gitit.log"; 231 + description = '' 232 + Specifies the path of gitit's log file. If it does not exist, gitit 233 + will create it. The log is in Apache combined log format. 234 + ''; 235 + }; 236 + 237 + logLevel = mkOption { 238 + type = types.enum [ "DEBUG" "INFO" "NOTICE" "WARNING" "ERROR" "CRITICAL" "ALERT" "EMERGENCY" ]; 239 + default = "ERROR"; 240 + description = '' 241 + Determines how much information is logged. Possible values (from 242 + most to least verbose) are DEBUG, INFO, NOTICE, WARNING, ERROR, 243 + CRITICAL, ALERT, EMERGENCY. 244 + ''; 245 + }; 246 + 247 + frontPage = mkOption { 248 + type = types.str; 249 + default = "Front Page"; 250 + description = '' 251 + Specifies which wiki page is to be used as the wiki's front page. 252 + Gitit creates a default front page on startup, if one does not exist 253 + already. 254 + ''; 255 + }; 256 + 257 + noDelete = mkOption { 258 + type = types.str; 259 + default = "Front Page, Help"; 260 + description = '' 261 + Specifies pages that cannot be deleted through the web interface. 262 + (They can still be deleted directly using git or darcs.) A 263 + comma-separated list of page names. Leave blank to allow every page 264 + to be deleted. 265 + ''; 266 + }; 267 + 268 + noEdit = mkOption { 269 + type = types.str; 270 + default = "Help"; 271 + description = '' 272 + Specifies pages that cannot be edited through the web interface. 273 + Leave blank to allow every page to be edited. 274 + ''; 275 + }; 276 + 277 + defaultSummary = mkOption { 278 + type = types.str; 279 + default = ""; 280 + description = '' 281 + Specifies text to be used in the change description if the author 282 + leaves the "description" field blank. If default-summary is blank 283 + (the default), the author will be required to fill in the description 284 + field. 285 + ''; 286 + }; 287 + 288 + tableOfContents = mkOption { 289 + type = yesNo; 290 + default = "yes"; 291 + description = '' 292 + Specifies whether to print a tables of contents (with links to 293 + sections) on each wiki page. 294 + ''; 295 + }; 296 + 297 + plugins = mkOption { 298 + type = types.path; 299 + default = gititShared + "/plugins/Dot.hs"; 300 + description = '' 301 + Specifies a list of plugins to load. Plugins may be specified either 302 + by their path or by their module name. If the plugin name starts 303 + with Gitit.Plugin., gitit will assume that the plugin is an installed 304 + module and will not try to find a source file. 305 + Examples: 306 + plugins: plugins/DotPlugin.hs, CapitalizeEmphasisPlugin.hs 307 + plugins: plugins/DotPlugin 308 + plugins: Gitit.Plugin.InterwikiLinks 309 + ''; 310 + }; 311 + 312 + useCache = mkOption { 313 + type = yesNo; 314 + default = "no"; 315 + description = '' 316 + Specifies whether to cache rendered pages. Note that if use-feed is 317 + selected, feeds will be cached regardless of the value of use-cache. 318 + ''; 319 + }; 320 + 321 + cacheDir = mkOption { 322 + type = types.path; 323 + default = homeDir + "/cache"; 324 + description = "Path where rendered pages will be cached."; 325 + }; 326 + 327 + maxUploadSize = mkOption { 328 + type = types.str; 329 + default = "1000K"; 330 + description = '' 331 + Specifies an upper limit on the size (in bytes) of files uploaded 332 + through the wiki's web interface. To disable uploads, set this to 333 + 0K. This will result in the uploads link disappearing and the 334 + _upload url becoming inactive. 335 + ''; 336 + }; 337 + 338 + maxPageSize = mkOption { 339 + type = types.str; 340 + default = "1000K"; 341 + description = "Specifies an upper limit on the size (in bytes) of pages."; 342 + }; 343 + 344 + debugMode = mkOption { 345 + type = yesNo; 346 + default = "no"; 347 + description = "Causes debug information to be logged while gitit is running."; 348 + }; 349 + 350 + compressResponses = mkOption { 351 + type = yesNo; 352 + default = "yes"; 353 + description = "Specifies whether HTTP responses should be compressed."; 354 + }; 355 + 356 + mimeTypesFile = mkOption { 357 + type = types.path; 358 + default = "/etc/mime/types.info"; 359 + description = '' 360 + Specifies the path of a file containing mime type mappings. Each 361 + line of the file should contain two fields, separated by whitespace. 362 + The first field is the mime type, the second is a file extension. 363 + For example: 364 + video/x-ms-wmx wmx 365 + If the file is not found, some simple defaults will be used. 366 + ''; 367 + }; 368 + 369 + useReCaptcha = mkOption { 370 + type = yesNo; 371 + default = "no"; 372 + description = '' 373 + If "yes", causes gitit to use the reCAPTCHA service 374 + (http://recaptcha.net) to prevent bots from creating accounts. 375 + ''; 376 + }; 377 + 378 + reCaptchaPrivateKey = mkOption { 379 + type = with types; nullOr str; 380 + default = null; 381 + description = '' 382 + Specifies the private key for the reCAPTCHA service. To get 383 + these, you need to create an account at http://recaptcha.net. 384 + ''; 385 + }; 386 + 387 + reCaptchaPublicKey = mkOption { 388 + type = with types; nullOr str; 389 + default = null; 390 + description = '' 391 + Specifies the public key for the reCAPTCHA service. To get 392 + these, you need to create an account at http://recaptcha.net. 393 + ''; 394 + }; 395 + 396 + accessQuestion = mkOption { 397 + type = types.str; 398 + default = "What is the code given to you by Ms. X?"; 399 + description = '' 400 + Specifies a question that users must answer when they attempt to 401 + create an account 402 + ''; 403 + }; 404 + 405 + accessQuestionAnswers = mkOption { 406 + type = types.str; 407 + default = "RED DOG, red dog"; 408 + description = '' 409 + Specifies a question that users must answer when they attempt to 410 + create an account, along with a comma-separated list of acceptable 411 + answers. This can be used to institute a rudimentary password for 412 + signing up as a user on the wiki, or as an alternative to reCAPTCHA. 413 + Example: 414 + access-question: What is the code given to you by Ms. X? 415 + access-question-answers: RED DOG, red dog 416 + ''; 417 + }; 418 + 419 + rpxDomain = mkOption { 420 + type = with types; nullOr str; 421 + default = null; 422 + description = '' 423 + Specifies the domain and key of your RPX account. The domain is just 424 + the prefix of the complete RPX domain, so if your full domain is 425 + 'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain. 426 + ''; 427 + }; 428 + 429 + rpxKey = mkOption { 430 + type = with types; nullOr str; 431 + default = null; 432 + description = "RPX account access key."; 433 + }; 434 + 435 + mailCommand = mkOption { 436 + type = types.str; 437 + default = "sendmail %s"; 438 + description = '' 439 + Specifies the command to use to send notification emails. '%s' will 440 + be replaced by the destination email address. The body of the 441 + message will be read from stdin. If this field is left blank, 442 + password reset will not be offered. 443 + ''; 444 + }; 445 + 446 + resetPasswordMessage = mkOption { 447 + type = types.lines; 448 + default = '' 449 + > From: gitit@$hostname$ 450 + > To: $useremail$ 451 + > Subject: Wiki password reset 452 + > 453 + > Hello $username$, 454 + > 455 + > To reset your password, please follow the link below: 456 + > http://$hostname$:$port$$resetlink$ 457 + > 458 + > Regards 459 + ''; 460 + description = '' 461 + Gives the text of the message that will be sent to the user should 462 + she want to reset her password, or change other registration info. 463 + The lines must be indented, and must begin with '>'. The initial 464 + spaces and '> ' will be stripped off. $username$ will be replaced by 465 + the user's username, $useremail$ by her email address, $hostname$ by 466 + the hostname on which the wiki is running (as returned by the 467 + hostname system call), $port$ by the port on which the wiki is 468 + running, and $resetlink$ by the relative path of a reset link derived 469 + from the user's existing hashed password. If your gitit wiki is being 470 + proxied to a location other than the root path of $port$, you should 471 + change the link to reflect this: for example, to 472 + http://$hostname$/path/to/wiki$resetlink$ or 473 + http://gitit.$hostname$$resetlink$ 474 + ''; 475 + }; 476 + 477 + useFeed = mkOption { 478 + type = yesNo; 479 + default = "no"; 480 + description = '' 481 + Specifies whether an ATOM feed should be enabled (for the site and 482 + for individual pages). 483 + ''; 484 + }; 485 + 486 + baseUrl = mkOption { 487 + type = with types; nullOr str; 488 + default = null; 489 + description = '' 490 + The base URL of the wiki, to be used in constructing feed IDs and RPX 491 + token_urls. Set this if use-feed is 'yes' or authentication-method 492 + is 'rpx'. 493 + ''; 494 + }; 495 + 496 + absoluteUrls = mkOption { 497 + type = yesNo; 498 + default = "no"; 499 + description = '' 500 + Make wikilinks absolute with respect to the base-url. So, for 501 + example, in a wiki served at the base URL '/wiki', on a page 502 + Sub/Page, the wikilink '[Cactus]()' will produce a link to 503 + '/wiki/Cactus' if absolute-urls is 'yes', and a relative link to 504 + 'Cactus' (referring to '/wiki/Sub/Cactus') if absolute-urls is 'no'. 505 + ''; 506 + }; 507 + 508 + feedDays = mkOption { 509 + type = types.int; 510 + default = 14; 511 + description = "Number of days to be included in feeds."; 512 + }; 513 + 514 + feedRefreshTime = mkOption { 515 + type = types.int; 516 + default = 60; 517 + description = "Number of minutes to cache feeds before refreshing."; 518 + }; 519 + 520 + pdfExport = mkOption { 521 + type = yesNo; 522 + default = "no"; 523 + description = '' 524 + If yes, PDF will appear in export options. PDF will be created using 525 + pdflatex, which must be installed and in the path. Note that PDF 526 + exports create significant additional server load. 527 + ''; 528 + }; 529 + 530 + pandocUserData = mkOption { 531 + type = with types; nullOr path; 532 + default = null; 533 + description = '' 534 + If a directory is specified, this will be searched for pandoc 535 + customizations. These can include a templates/ directory for custom 536 + templates for various export formats, an S5 directory for custom S5 537 + styles, and a reference.odt for ODT exports. If no directory is 538 + specified, $HOME/.pandoc will be searched. See pandoc's README for 539 + more information. 540 + ''; 541 + }; 542 + 543 + xssSanitize = mkOption { 544 + type = yesNo; 545 + default = "yes"; 546 + description = '' 547 + If yes, all HTML (including that produced by pandoc) is filtered 548 + through xss-sanitize. Set to no only if you trust all of your users. 549 + ''; 550 + }; 551 + }; 552 + 553 + configFile = pkgs.writeText "gitit.conf" '' 554 + address: ${cfg.address} 555 + port: ${toString cfg.port} 556 + wiki-title: ${cfg.wikiTitle} 557 + repository-type: ${cfg.repositoryType} 558 + repository-path: ${cfg.repositoryPath} 559 + require-authentication: ${cfg.requireAuthentication} 560 + authentication-method: ${cfg.authenticationMethod} 561 + user-file: ${cfg.userFile} 562 + session-timeout: ${toString cfg.sessionTimeout} 563 + static-dir: ${cfg.staticDir} 564 + default-page-type: ${cfg.defaultPageType} 565 + math: ${cfg.math} 566 + mathjax-script: ${cfg.mathJaxScript} 567 + show-lhs-bird-tracks: ${cfg.showLhsBirdTracks} 568 + templates-dir: ${cfg.templatesDir} 569 + log-file: ${cfg.logFile} 570 + log-level: ${cfg.logLevel} 571 + front-page: ${cfg.frontPage} 572 + no-delete: ${cfg.noDelete} 573 + no-edit: ${cfg.noEdit} 574 + default-summary: ${cfg.defaultSummary} 575 + table-of-contents: ${cfg.tableOfContents} 576 + plugins: ${cfg.plugins} 577 + use-cache: ${cfg.useCache} 578 + cache-dir: ${cfg.cacheDir} 579 + max-upload-size: ${cfg.maxUploadSize} 580 + max-page-size: ${cfg.maxPageSize} 581 + debug-mode: ${cfg.debugMode} 582 + compress-responses: ${cfg.compressResponses} 583 + mime-types-file: ${cfg.mimeTypesFile} 584 + use-recaptcha: ${cfg.useReCaptcha} 585 + recaptcha-private-key: ${toString cfg.reCaptchaPrivateKey} 586 + recaptcha-public-key: ${toString cfg.reCaptchaPublicKey} 587 + access-question: ${cfg.accessQuestion} 588 + access-question-answers: ${cfg.accessQuestionAnswers} 589 + rpx-domain: ${toString cfg.rpxDomain} 590 + rpx-key: ${toString cfg.rpxKey} 591 + mail-command: ${cfg.mailCommand} 592 + reset-password-message: ${cfg.resetPasswordMessage} 593 + use-feed: ${cfg.useFeed} 594 + base-url: ${toString cfg.baseUrl} 595 + absolute-urls: ${cfg.absoluteUrls} 596 + feed-days: ${toString cfg.feedDays} 597 + feed-refresh-time: ${toString cfg.feedRefreshTime} 598 + pdf-export: ${cfg.pdfExport} 599 + pandoc-user-data: ${toString cfg.pandocUserData} 600 + xss-sanitize: ${cfg.xssSanitize} 601 + ''; 602 + 603 + in 604 + 605 + { 606 + 607 + options.services.gitit = gititOptions; 608 + 609 + config = mkIf cfg.enable { 610 + 611 + users.extraUsers.gitit = { 612 + group = config.users.extraGroups.gitit.name; 613 + description = "Gitit user"; 614 + home = homeDir; 615 + createHome = true; 616 + uid = config.ids.uids.gitit; 617 + }; 618 + 619 + users.extraGroups.gitit.gid = config.ids.gids.gitit; 620 + 621 + systemd.services.gitit = let 622 + uid = toString config.ids.uids.gitit; 623 + gid = toString config.ids.gids.gitit; 624 + in { 625 + description = "Git and Pandoc Powered Wiki"; 626 + after = [ "network.target" ]; 627 + wantedBy = [ "multi-user.target" ]; 628 + 629 + preStart = with cfg; '' 630 + chown ${uid}:${gid} -R ${homeDir} 631 + for dir in ${repositoryPath} ${staticDir} ${templatesDir} ${cacheDir} 632 + do 633 + if [ ! -d $dir ] 634 + then 635 + mkdir -p $dir 636 + find $dir -type d -exec chmod 0750 {} + 637 + find $dir -type f -exec chmod 0640 {} + 638 + fi 639 + done 640 + cd ${repositoryPath} 641 + if [ ! -d .git ] 642 + then 643 + ${pkgs.git}/bin/git init 644 + ${pkgs.git}/bin/git config user.email "gitit@${config.networking.hostName}" 645 + ${pkgs.git}/bin/git config user.name "gitit" 646 + chown ${uid}:${gid} -R {repositoryPath} 647 + fi 648 + cd - 649 + ''; 650 + 651 + serviceConfig = { 652 + User = config.users.extraUsers.gitit.name; 653 + Group = config.users.extraGroups.gitit.name; 654 + ExecStart = with cfg; gititSh haskellPackages extraPackages; 655 + }; 656 + }; 657 + }; 658 + } 659 +
+5 -5
nixos/modules/services/misc/nix-daemon.nix
··· 329 329 text = 330 330 concatMapStrings (machine: 331 331 "${if machine ? sshUser then "${machine.sshUser}@" else ""}${machine.hostName} " 332 - + (if machine ? system then machine.system else concatStringsSep "," machine.systems) 333 - + " ${machine.sshKey} ${toString machine.maxJobs} " 334 - + (if machine ? speedFactor then toString machine.speedFactor else "1" ) 332 + + machine.system or (concatStringsSep "," machine.systems) 333 + + " ${machine.sshKey or "-"} ${toString machine.maxJobs or 1} " 334 + + toString (machine.speedFactor or 1) 335 335 + " " 336 - + (if machine ? supportedFeatures then concatStringsSep "," machine.supportedFeatures else "" ) 336 + + concatStringsSep "," (machine.mandatoryFeatures or [] ++ machine.supportedFeatures or []) 337 337 + " " 338 - + (if machine ? mandatoryFeatures then concatStringsSep "," machine.mandatoryFeatures else "" ) 338 + + concatStringsSep "," machine.mandatoryFeatures or [] 339 339 + "\n" 340 340 ) cfg.buildMachines; 341 341 };
-1
nixos/modules/virtualisation/amazon-init.nix
··· 45 45 ''; 46 46 in { 47 47 imports = [ "${modulesPath}/virtualisation/amazon-image.nix" ]; 48 - ec2.metadata = true; 49 48 boot.postBootCommands = '' 50 49 ${bootScript} & 51 50 '';
-20
nixos/modules/virtualisation/ec2-data.nix
··· 7 7 with lib; 8 8 9 9 { 10 - options = { 11 - ec2.metadata = mkOption { 12 - type = types.bool; 13 - default = false; 14 - description = '' 15 - Whether to allow access to EC2 metadata. 16 - ''; 17 - }; 18 - }; 19 - 20 10 config = { 21 11 22 12 systemd.services."fetch-ec2-data" = ··· 31 21 32 22 script = 33 23 '' 34 - ip route del blackhole 169.254.169.254/32 || true 35 - 36 24 wget="wget -q --retry-connrefused -O -" 37 25 38 26 ${optionalString (config.networking.hostName == "") '' ··· 67 55 (umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key) 68 56 echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub 69 57 fi 70 - 71 - ${optionalString (! config.ec2.metadata) '' 72 - # Since the user data is sensitive, prevent it from 73 - # being accessed from now on. FIXME: remove at some 74 - # point, since current NixOps no longer relies on 75 - # metadata secrecy. 76 - ip route add blackhole 169.254.169.254/32 77 - ''} 78 58 ''; 79 59 80 60 serviceConfig.Type = "oneshot";
+8 -8
pkgs/applications/audio/abcde/default.nix
··· 1 - { stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue 1 + { stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, eyeD3 2 + , lame, flac, eject, mkcue 2 3 , perl, DigestSHA, MusicBrainz, MusicBrainzDiscID 3 4 , makeWrapper }: 4 5 5 - let version = "2.6"; 6 + let version = "2.7"; 6 7 in 7 8 stdenv.mkDerivation { 8 9 name = "abcde-${version}"; 9 10 src = fetchurl { 10 - url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz"; 11 - sha256 = "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8"; 11 + url = "http://abcde.einval.com/download/abcde-${version}.tar.gz"; 12 + sha256 = "0ikpffzvacadh6vj9qlary8126j1zrd2knp9gvivmp7y1656jj01"; 12 13 }; 13 14 14 - # FIXME: This package does not support MP3 encoding (only Ogg), 15 - # nor `distmp3', `eject', etc. 15 + # FIXME: This package does not support `distmp3', `eject', etc. 16 16 17 17 patches = [ ./abcde.patch ]; 18 18 ··· 50 50 --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' 51 51 52 52 wrapProgram "$out/bin/abcde" --prefix PATH ":" \ 53 - "$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${lame}/bin" 53 + "$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${eyeD3}/bin:${lame}/bin" 54 54 55 55 wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \ 56 56 "${wget}/bin" ··· 60 60 ''; 61 61 62 62 meta = { 63 - homepage = "http://lly.org/~rcw/abcde/page/"; 63 + homepage = http://abcde.einval.com/wiki/; 64 64 license = stdenv.lib.licenses.gpl2Plus; 65 65 description = "Command-line audio CD ripper"; 66 66
+7 -3
pkgs/applications/graphics/pencil/default.nix
··· 1 - { stdenv, fetchurl, xulrunner }: 1 + { stdenv, fetchurl, makeWrapper, xulrunner }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 version = "2.0.11"; ··· 12 12 13 13 buildPhase = ""; 14 14 15 + buildInputs = [ makeWrapper ]; 16 + 15 17 installPhase = '' 16 18 mkdir -p "$out" 17 19 cp -r usr/* "$out" 18 - sed -e "s|/usr/bin/xulrunner|${xulrunner}/bin/xulrunner|" \ 19 - -e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \ 20 + sed -e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \ 20 21 -i "$out/bin/pencil" 21 22 sed -e "s|/usr/bin/pencil|$out/bin/pencil|" \ 22 23 -e "s|Icon=.*|Icon=$out/share/evolus-pencil/skin/classic/icon.svg|" \ 23 24 -i "$out/share/applications/pencil.desktop" 25 + 26 + wrapProgram $out/bin/pencil \ 27 + --prefix PATH ":" ${xulrunner}/bin 24 28 ''; 25 29 26 30 meta = with stdenv.lib; {
+3 -3
pkgs/applications/misc/llpp/default.nix
··· 4 4 let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; 5 5 in stdenv.mkDerivation rec { 6 6 name = "llpp-${version}"; 7 - version = "21-git-2015-06-06"; 7 + version = "21-git-2015-06-27"; 8 8 9 9 src = fetchgit { 10 10 url = "git://repo.or.cz/llpp.git"; 11 - rev = "492d761c0c7c8c4ccdd4f0d3fa7c51434ce8acf2"; 12 - sha256 = "14dp5sw7cd6bja9d3zpxmswbk0k0b7x2fzb1fflhnnnhjc39irk9"; 11 + rev = "843c42ef41bb78a3b1ee995fc2bab91f8796e8ad"; 12 + sha256 = "0h8wa7f5bj5sm3sr8namcyy81s4s80hyasimyfw935lqyw2q2k60"; 13 13 }; 14 14 15 15 buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
+10 -9
pkgs/applications/misc/mdp/default.nix
··· 1 - { stdenv, fetchFromGitHub, ncurses }: 1 + { stdenv, fetchurl, ncurses }: 2 2 3 - stdenv.mkDerivation { 4 - name = "mdp-0.93"; 3 + stdenv.mkDerivation rec { 4 + version = "1.0.0"; 5 + name = "mdp-${version}"; 5 6 6 - src = fetchFromGitHub { 7 - owner = "visit1985"; 8 - repo = "mdp"; 9 - rev = "09d6bd1a8a33fac75a999f0822ec10cb77fbc072"; 10 - sha256 = "0ksa0zqzv1yb8nspxp2vww7bp9y99pcma1vx3cixd3qb5y5ljn1n"; 7 + src = fetchurl { 8 + url = "https://github.com/visit1985/mdp/archive/${version}.tar.gz"; 9 + sha256 = "1xkmzcwa5ml1xfv92brwirnm00a44jkj7wpfimxbny98zgmad8vn"; 11 10 }; 12 11 13 12 makeFlags = "PREFIX=$(out)"; 14 13 15 14 buildInputs = [ ncurses ]; 16 15 17 - meta = { 16 + meta = with stdenv.lib; { 18 17 homepage = https://github.com/visit1985/mdp; 19 18 description = "A command-line based markdown presentation tool"; 19 + maintainers = with maintainers; [ matthiasbeyer ]; 20 + license = licenses.gpl3; 20 21 }; 21 22 }
+20 -17
pkgs/applications/networking/browsers/qutebrowser/default.nix
··· 1 - { stdenv, fetchurl, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2}: 1 + { stdenv, fetchgit, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2 }: 2 2 3 - let version = "0.2.1"; in 3 + let version = "0.3"; in 4 4 5 5 buildPythonPackage { 6 6 name = "qutebrowser-${version}"; 7 7 namePrefix = ""; 8 - 9 - src = fetchurl { 10 - url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz"; 11 - sha256 = "b741a1a0336b8d36133603a3318d1c4c63c9abf50212919200cd2ae665b07111"; 12 - }; 13 - # Needs tox 14 - doCheck = false; 8 + 9 + src = fetchgit { 10 + url = "https://github.com/The-Compiler/qutebrowser.git"; 11 + rev = "b3cd31a808789932a0a4cb7aa8d9280b6d3a12e7"; 12 + sha256 = "fea7fd9de8a930da7af0111739ae88851cb965b30751858d1aba5bbd15277652"; 13 + }; 14 + 15 + # Needs tox 16 + doCheck = false; 17 + 18 + propagatedBuildInputs = [ 19 + python pyyaml pyqt5 jinja2 pygments pypeg2 20 + ]; 15 21 16 - propagatedBuildInputs = [ 17 - python pyyaml pyqt5 jinja2 pygments pypeg2 18 - ]; 19 - 20 - meta = { 21 - homepage = https://github.com/The-Compiler/qutebrowser; 22 - description = "Keyboard-focused browser with a minimal GUI"; 23 - license = stdenv.lib.licenses.gpl3Plus; 22 + meta = { 23 + homepage = https://github.com/The-Compiler/qutebrowser; 24 + description = "Keyboard-focused browser with a minimal GUI"; 25 + license = stdenv.lib.licenses.gpl3Plus; 26 + maintainers = [ stdenv.lib.maintainers.jagajaga ]; 24 27 }; 25 28 }
+6 -4
pkgs/applications/networking/ids/bro/default.nix
··· 1 - {stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl, geoip, gperftools }: 1 + {stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl 2 + , geoip, gperftools }: 2 3 3 4 stdenv.mkDerivation rec { 4 - name = "bro-2.3.2"; 5 + name = "bro-2.4"; 5 6 6 7 src = fetchurl { 7 8 url = "http://www.bro.org/downloads/release/${name}.tar.gz"; 8 - sha256 = "16y6924brh7sw6l0nry6y4q8sif2lkcpymkd26aabdc61bdgpr9g"; 9 + sha256 = "1ch8w8iakr2ajbigaad70b6mfv01s2sbdqgmrqm9q9zc1c5hs33l"; 9 10 }; 10 11 11 - buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools ]; 12 + buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip 13 + gperftools ]; 12 14 13 15 enableParallelBuilding = true; 14 16
+43
pkgs/applications/video/popcorntime/default.nix
··· 1 + { stdenv, fetchurl, runCommand, makeWrapper, node_webkit_0_9 2 + }: 3 + 4 + let 5 + version = "0.3.7.2"; 6 + 7 + srcs = { 8 + x86_64-linux = fetchurl { 9 + url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux64.tar.xz"; 10 + sha256 = "0lm9k4fr73a9p00i3xj2ywa4wvjf9csadm0pcz8d6imwwq44sa8b"; 11 + }; 12 + i686-linux = fetchurl { 13 + url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux32.tar.xz"; 14 + sha256 = "1dz1cp31qbwamm9pf8ydmzzhnb6d9z73bigdv3y74dgicz3dpr91"; 15 + }; 16 + }; 17 + 18 + popcorntimePackage = stdenv.mkDerivation rec { 19 + name = "popcorntime-package-${version}"; 20 + src = srcs."${stdenv.system}"; 21 + sourceRoot = "."; 22 + installPhase = '' 23 + mkdir -p $out 24 + cp -r *.so *.pak $out/ 25 + cat ${node_webkit_0_9}/bin/nw package.nw > $out/Popcorn-Time 26 + chmod 555 $out/Popcorn-Time 27 + ''; 28 + }; 29 + in 30 + runCommand "popcorntime-${version}" { 31 + buildInputs = [ makeWrapper ]; 32 + meta = with stdenv.lib; { 33 + homepage = http://popcorntime.io/; 34 + description = "An application that streams movies and TV shows from torrents"; 35 + license = stdenv.lib.licenses.gpl3; 36 + platforms = platforms.linux; 37 + maintainers = with maintainers; [ bobvanderlinden ]; 38 + }; 39 + } 40 + '' 41 + mkdir -p $out/bin 42 + makeWrapper ${popcorntimePackage}/Popcorn-Time $out/bin/popcorntime 43 + ''
+15
pkgs/applications/window-managers/taffybar/default.nix
··· 1 + { stdenv, ghcWithPackages, xmessage, makeWrapper, packages ? (x: []) }: 2 + 3 + let 4 + taffybarEnv = ghcWithPackages (self: [ self.taffybar ] ++ packages self); 5 + in stdenv.mkDerivation { 6 + name = "taffybar-with-packages"; 7 + 8 + nativeBuildInputs = [ makeWrapper ]; 9 + 10 + buildCommand = '' 11 + mkdir -p $out/bin 12 + makeWrapper ${taffybarEnv}/bin/taffybar $out/bin/taffybar \ 13 + --set NIX_GHC "${taffybarEnv}/bin/ghc" 14 + ''; 15 + }
+5 -1
pkgs/build-support/build-maven.nix
··· 13 13 infoFile: let 14 14 info = builtins.fromJSON (builtins.readFile infoFile); 15 15 16 - repo = runCommand "maven-repository" {} '' 16 + script = writeText "build-maven-repository.sh" '' 17 17 ${lib.concatStrings (map (dep: let 18 18 inherit (dep) url sha1 groupId artifactId version; 19 19 ··· 23 23 mkdir -p $dir 24 24 ln -sv ${fetch} $dir/${fetch.name} 25 25 '') info.dependencies)} 26 + ''; 27 + 28 + repo = runCommand "maven-repository" {} '' 29 + bash ${script} 26 30 ''; 27 31 28 32 settings = writeText "settings.xml" ''
+3 -3
pkgs/data/fonts/powerline-fonts/default.nix
··· 1 1 { stdenv, fetchFromGitHub }: 2 2 3 3 stdenv.mkDerivation { 4 - name = "powerline-fonts-2014-12-27"; 4 + name = "powerline-fonts-2015-06-29"; 5 5 6 6 src = fetchFromGitHub { 7 7 owner = "powerline"; 8 8 repo = "fonts"; 9 - rev = "39c99c02652f25290b64e24a7e9a7cfb8ce89a3e"; 10 - sha256 = "9c83a30f36dc980582c0a079bd2896f95d19e1cb0ba5afbd8cae936c944256dd"; 9 + rev = "97dc451724fb24e1dd9892c988642b239b5dc67c"; 10 + sha256 = "1m0a8k916s74iv2k0kk36dz7d2hfb2zgf8m0b9hg71w4yd3bmj4w"; 11 11 }; 12 12 13 13 buildPhase = "true";
+24
pkgs/development/compilers/dtc/default.nix
··· 1 + { stdenv, fetchgit, flex, bison }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "dtc-${version}"; 5 + version = "1.4.1"; 6 + 7 + src = fetchgit { 8 + url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git"; 9 + rev = "refs/tags/v${version}"; 10 + sha256 = "0z7yrv0sdhsh5wwy7yd1fvs4pqaq0n9m5i8w65lyibg77ahkasdg"; 11 + }; 12 + 13 + nativeBuildInputs = [ flex bison ]; 14 + 15 + installFlags = [ "INSTALL=install" "PREFIX=$(out)" ]; 16 + 17 + meta = with stdenv.lib; { 18 + description = "Device Tree Compiler"; 19 + homepage = https://git.kernel.org/cgit/utils/dtc/dtc.git; 20 + license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD 21 + maintainers = [ maintainers.dezgeg ]; 22 + platforms = platforms.linux; 23 + }; 24 + }
-3
pkgs/development/haskell-modules/configuration-common.nix
··· 868 868 # https://github.com/DanielG/cabal-helper/issues/2 869 869 cabal-helper = overrideCabal super.cabal-helper (drv: { preCheck = "export HOME=$TMPDIR"; }); 870 870 871 - # https://github.com/jgm/gitit/issues/494 872 - gitit = markBroken super.gitit; 873 - 874 871 # https://github.com/ekmett/comonad/issues/25 875 872 comonad = dontCheck super.comonad; 876 873
+2 -2
pkgs/development/interpreters/elixir/default.nix
··· 1 1 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }: 2 2 3 3 let 4 - version = "1.0.4"; 4 + version = "1.0.5"; 5 5 in 6 6 stdenv.mkDerivation { 7 7 name = "elixir-${version}"; 8 8 9 9 src = fetchurl { 10 10 url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz"; 11 - sha256 = "1babp3ff6hajdm247zl9rc311k973cdnv6dqaai7l8817gg1yd3r"; 11 + sha256 = "1f419pzlcgqx68rygwwyp2hzh4vgp0avjydd84dpa7finckc5raw"; 12 12 }; 13 13 14 14 buildInputs = [ erlang rebar makeWrapper ];
+2 -2
pkgs/development/libraries/audio/ntk/default.nix
··· 23 23 ''; 24 24 25 25 meta = { 26 - description = "Fork of FLTK 1.3.0 with additional functionality."; 26 + description = "Fork of FLTK 1.3.0 with additional functionality"; 27 27 version = "${version}"; 28 - homepage = "http://non.tuxfamily.org/"; 28 + homepage = http://non.tuxfamily.org/; 29 29 license = stdenv.lib.licenses.lgpl21; 30 30 maintainers = [ stdenv.lib.maintainers.magnetophon ]; 31 31 platforms = stdenv.lib.platforms.linux;
+1 -1
pkgs/development/libraries/oracle-instantclient/default.nix
··· 57 57 dontPatchELF = true; 58 58 59 59 meta = with stdenv.lib; { 60 - description = "Oracle instant client libraries and sqlplus CLI."; 60 + description = "Oracle instant client libraries and sqlplus CLI"; 61 61 longDescription = '' 62 62 Oracle instant client provides access to Oracle databases (OCI, 63 63 OCCI, Pro*C, ODBC or JDBC). This package includes the sqlplus
+12 -7
pkgs/development/libraries/zeroc-ice/default.nix
··· 1 - { stdenv, fetchurl, mcpp, bzip2, expat, openssl, db5 }: 1 + { stdenv, fetchFromGitHub, mcpp, bzip2, expat, openssl, db5 }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "zeroc-ice-3.5.1"; 4 + name = "zeroc-ice-${version}"; 5 + version = "3.6.0"; 5 6 6 - src = fetchurl { 7 - url = "http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz"; 8 - sha256 = "14pk794p0fq3hcp50xmqnf9pp15dggiqhcnsav8xpnka9hcm37lq"; 7 + src = fetchFromGitHub { 8 + owner = "zeroc-ice"; 9 + repo = "ice"; 10 + rev = "v${version}"; 11 + sha256 = "192lhynf369bbrvbb9nldc49n09kyxp8vg8j9d7w5h2c1yxpjgjq"; 9 12 }; 10 13 11 14 buildInputs = [ mcpp bzip2 expat openssl db5 ]; 12 15 13 16 buildPhase = '' 14 17 cd cpp 15 - make OPTIMIZE=yes 18 + make -j $NIX_BUILD_CORES OPTIMIZE=yes 16 19 ''; 17 20 18 21 installPhase = '' 19 - make prefix=$out install 22 + make -j $NIX_BUILD_CORES prefix=$out install 20 23 ''; 24 + 25 + enableParallelBuilding = true; 21 26 22 27 meta = with stdenv.lib; { 23 28 homepage = "http://www.zeroc.com/ice.html";
+2 -2
pkgs/development/ocaml-modules/bitstring/default.nix
··· 17 17 createFindlibDestdir = true; 18 18 hasSharedObjects = true; 19 19 20 - preConfigure = "./bootstrap; echo breakhash"; 20 + preConfigure = "./bootstrap"; 21 21 22 22 meta = with stdenv.lib; { 23 - description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml."; 23 + description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml"; 24 24 homepage = http://code.google.com/p/bitstring/; 25 25 license = licenses.lgpl21Plus; 26 26 maintainers = [ maintainers.maurer ];
+6 -3
pkgs/development/python-modules/pyqt/5.x.nix
··· 1 1 { stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }: 2 2 3 3 let 4 - version = "5.3"; 4 + version = "5.4.2"; 5 5 in stdenv.mkDerivation { 6 6 name = "PyQt-${version}"; 7 7 ··· 15 15 16 16 src = fetchurl { 17 17 url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz"; 18 - sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2"; 18 + sha256 = "1402n5kwzd973b65avxk1j9js96wzfm0yw4rshjfy8l7an00bnac"; 19 19 }; 20 20 21 - buildInputs = [ python pkgconfig makeWrapper lndir qt5 ]; 21 + buildInputs = [ 22 + python pkgconfig makeWrapper lndir 23 + qt5.base qt5.svg qt5.webkit 24 + ]; 22 25 23 26 propagatedBuildInputs = [ sip ]; 24 27
+2 -2
pkgs/development/python-modules/sip/4.16.nix
··· 1 1 { stdenv, fetchurl, python, isPyPy }: 2 2 3 3 if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec { 4 - name = "sip-4.16.4"; 4 + name = "sip-4.16.6"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz"; 8 - sha256 = "1xapklcz5ndilax0gr2h1fqzhdzh7yvxfb3y0rxfcag1qlzl9nnf"; 8 + sha256 = "0lj5f581dkwswlwpg7lbicqf940dvrp8vjbkhmyywd99ynxb4zcc"; 9 9 }; 10 10 11 11 configurePhase = ''
+2 -2
pkgs/development/tools/analysis/checkstyle/default.nix
··· 1 1 { stdenv, fetchurl }: 2 2 3 3 stdenv.mkDerivation rec { 4 - version = "6.7"; 4 + version = "6.8"; 5 5 name = "checkstyle-${version}"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz"; 9 - sha256 = "0na3gfkxzgnnbjvr4sys4x3mb1s1hn9xy9krmvnxqq0wmm4lysjd"; 9 + sha256 = "1g1hlsyriciipllw4ki21sbdh5br225w0n86w9i3m2a9slac1rdq"; 10 10 }; 11 11 12 12 installPhase = ''
+1
pkgs/games/tome4/default.nix
··· 24 24 meta = { 25 25 homepage = "http://te4.org/"; 26 26 description = "Tales of Maj'eyal (rogue-like game)"; 27 + maintainers = [ stdenv.lib.maintainers.chattered ]; 27 28 license = stdenv.lib.licenses.gpl3; 28 29 }; 29 30 }
+2 -2
pkgs/games/voxelands/default.nix
··· 3 3 4 4 stdenv.mkDerivation rec { 5 5 name = "voxelands-${version}"; 6 - version = "1504.01"; 6 + version = "1506.00"; 7 7 8 8 src = fetchurl { 9 9 url = "http://voxelands.com/downloads/${name}-src.tar.bz2"; 10 - sha256 = "17jv2pz0mbkkf7jw3jcpix8hb46b382hc7vki42n9rrdynydq5zp"; 10 + sha256 = "0j82zidxv2rzx7fmw5z27nfldqkixbrs1f6l3fs433xr3d05406y"; 11 11 }; 12 12 13 13 cmakeFlags = [
+2 -1
pkgs/games/xconq/default.nix
··· 1 1 x@{builderDefsPackage 2 2 , rpm, cpio, xproto, libX11, libXmu, libXaw, libXt, tcl, tk, libXext 3 + , fontconfig 3 4 , makeWrapper 4 5 , ...}: 5 6 builderDefsPackage ··· 33 34 phaseNames = ["addInputs" "doUnpack" "fixMakefiles" "fixCfiles" "fixTCLfiles" 34 35 "doConfigure" "doMakeInstall" "doWrap"]; 35 36 36 - doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH : "${tk}/lib"''; 37 + doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH ' ' "${tk}/lib"''; 37 38 38 39 fixMakefiles = a.fullDepEntry '' 39 40 find . -name 'Makefile.in' -exec sed -re 's@^ ( *)(cd|[&][&])@ \1\2@' -i '{}' ';'
+40 -49
pkgs/misc/uboot/default.nix
··· 1 - {stdenv, fetchurl, unzip}: 1 + { stdenv, fetchurl, bc, dtc 2 + , toolsOnly ? false 3 + , defconfig ? "allnoconfig" 4 + , targetPlatforms 5 + , filesToInstall 6 + }: 2 7 3 8 let 4 9 platform = stdenv.platform; 5 - configureFun = ubootConfig : 10 + crossPlatform = stdenv.cross.platform; 11 + makeTarget = if toolsOnly then "tools NO_SDL=1" else "all"; 12 + installDir = if toolsOnly then "$out/bin" else "$out"; 13 + buildFun = kernelArch: 6 14 '' 7 - make mrproper 8 - make ${ubootConfig} NBOOT=1 LE=1 9 - ''; 10 - 11 - buildFun = kernelArch : 12 - '' 13 - unset src 14 15 if test -z "$crossConfig"; then 15 - make clean all 16 + make ${makeTarget} 16 17 else 17 - make clean all ARCH=${kernelArch} CROSS_COMPILE=$crossConfig- 18 + make ${makeTarget} ARCH=${kernelArch} CROSS_COMPILE=$crossConfig- 18 19 fi 19 20 ''; 20 21 in 21 22 22 - stdenv.mkDerivation { 23 - name = "uboot-2012.07"; 24 - 23 + stdenv.mkDerivation rec { 24 + name = "uboot-${defconfig}-${version}"; 25 + version = "2015.04"; 26 + 25 27 src = fetchurl { 26 - url = "ftp://ftp.denx.de/pub/u-boot/u-boot-2012.07.tar.bz2"; 27 - sha256 = "15nli6h9a127ldizsck3g4ysy5j4m910wawspgpadz4vjyk213p0"; 28 + url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"; 29 + sha256 = "0q2x1wh1f6rjh9rmcnkf28dxcvp9hkhi4vzspqkzamb6b3gp06ha"; 28 30 }; 29 31 30 - nativeBuildInputs = [ unzip ]; 32 + patches = [ ./vexpress-Use-config_distro_bootcmd.patch ]; 31 33 32 - dontStrip = true; 34 + nativeBuildInputs = [ bc dtc ]; 33 35 34 - installPhase = '' 35 - mkdir -p $out 36 - cp u-boot.bin $out 37 - cp u-boot u-boot.map $out 38 - 39 - mkdir -p $out/bin 40 - cp tools/{envcrc,mkimage} $out/bin 36 + configurePhase = '' 37 + make ${defconfig} 41 38 ''; 42 39 43 - # They have 'errno.h' included by a "-idirafter". As the gcc 44 - # wrappers add the glibc include as "-idirafter", the only way 45 - # we can make the glibc take priority is to -include errno.h. 46 - postPatch = if stdenv ? glibc && stdenv.glibc != null then '' 47 - sed -i 's,$(HOSTCPPFLAGS),-include ${stdenv.glibc}/include/errno.h $(HOSTCPPFLAGS),' config.mk 48 - '' else ""; 49 - 50 - patches = [ ./sheevaplug-sdio.patch ./sheevaplug-config.patch ]; 51 - 52 - configurePhase = 53 - assert platform ? uboot && platform.uboot != null; 54 - assert (platform ? ubootConfig); 55 - configureFun platform.ubootConfig; 56 - 57 40 buildPhase = assert (platform ? kernelArch); 58 41 buildFun platform.kernelArch; 59 42 60 - crossAttrs = let 61 - cp = stdenv.cross.platform; 62 - in 63 - assert cp ? uboot && cp.uboot != null; 64 - { 65 - configurePhase = assert (cp ? ubootConfig); 66 - configureFun cp.ubootConfig; 43 + installPhase = '' 44 + mkdir -p ${installDir} 45 + cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir} 46 + ''; 47 + 48 + dontStrip = !toolsOnly; 67 49 68 - buildPhase = assert (cp ? kernelArch); 69 - buildFun cp.kernelArch; 70 - }; 50 + crossAttrs = { 51 + buildPhase = assert (crossPlatform ? kernelArch); 52 + buildFun crossPlatform.kernelArch; 53 + }; 54 + 55 + meta = with stdenv.lib; { 56 + homepage = "http://www.denx.de/wiki/U-Boot/"; 57 + description = "Boot loader for embedded systems"; 58 + license = licenses.gpl2; 59 + maintainers = [ maintainers.dezgeg ]; 60 + platforms = targetPlatforms; 61 + }; 71 62 }
-57
pkgs/misc/uboot/sheevaplug-config.patch
··· 1 - diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h 2 - index 7c8497c..b0da1e5 100644 3 - --- a/include/configs/sheevaplug.h 4 - +++ b/include/configs/sheevaplug.h 5 - @@ -50,7 +50,6 @@ 6 - #define CONFIG_CMD_MII 7 - #define CONFIG_CMD_MMC 8 - #define CONFIG_CMD_NAND 9 - -#define CONFIG_JFFS2_NAND 10 - #define CONFIG_CMD_PING 11 - #define CONFIG_CMD_USB 12 - /* 13 - @@ -73,25 +72,36 @@ 14 - * it has to be rounded to sector size 15 - */ 16 - #define CONFIG_ENV_SIZE 0x20000 /* 128k */ 17 - -#define CONFIG_ENV_ADDR 0xa0000 18 - -#define CONFIG_ENV_OFFSET 0xa0000 /* env starts here */ 19 - +#define CONFIG_ENV_ADDR 0x60000 20 - +#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ 21 - 22 - /* 23 - * Default environment variables 24 - */ 25 - -#define CONFIG_BOOTCOMMAND "${x_bootcmd_kernel}; " \ 26 - +#define CONFIG_BOOTCOMMAND "${x_bootcmd_ubi0}; " \ 27 - + "${x_bootcmd_ubi1}; " \ 28 - + "${x_bootcmd_ubi2}; " \ 29 - + "${x_bootcmd_ubi3}; " \ 30 - "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ 31 - - "${x_bootcmd_usb}; bootm 0x6400000;" 32 - + "${x_bootcmd_usb}; bootm 0x200000 0x1100000;" 33 - 34 - #define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \ 35 - - "0x1ff00000@512k(rootfs) rw\0" 36 - + "0x1ff00000@512k(rootfs)\0" 37 - +#define CONFIG_MTDPARTSK "orion_nand:512k(uboot)," \ 38 - + "0x1ff00000@512k(rootfs)rw\0" 39 - 40 - #define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ 41 - - "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ 42 - + "=ttyS0,115200 mtdparts="CONFIG_MTDPARTSK \ 43 - + "mtdparts=mtdparts="CONFIG_MTDPARTS \ 44 - "mtdids=nand0=orion_nand\0" \ 45 - - "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ 46 - + "ipaddr=192.168.1.4\0" \ 47 - + "x_bootcmd_ubi0=ubi part nand0,1\0" \ 48 - + "x_bootcmd_ubi1=ubifsmount rootfs\0" \ 49 - + "x_bootcmd_ubi2=ubifsload 0x200000 /nixos-kernel\0" \ 50 - + "x_bootcmd_ubi3=ubifsload 0x1100000 /nixos-initrd\0" \ 51 - "x_bootcmd_usb=usb start\0" \ 52 - - "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" 53 - + "x_bootargs_root=ubi.mtd=rootfs root=ubi0:rootfs rw rootfstype=ubifs " \ 54 - + "init=/boot/nixos-init systemConfig=/boot/default/system\0" 55 - 56 - /* 57 - * Ethernet Driver configuration
-1091
pkgs/misc/uboot/sheevaplug-sdio.patch
··· 1 - diff --git a/arch/arm/include/asm/arch-kirkwood/config.h b/arch/arm/include/asm/arch-kirkwood/config.h 2 - index a9499b7..1294d7f 100644 3 - --- a/arch/arm/include/asm/arch-kirkwood/config.h 4 - +++ b/arch/arm/include/asm/arch-kirkwood/config.h 5 - @@ -66,6 +66,7 @@ 6 - #define MV_SATA_BASE KW_SATA_BASE 7 - #define MV_SATA_PORT0_OFFSET KW_SATA_PORT0_OFFSET 8 - #define MV_SATA_PORT1_OFFSET KW_SATA_PORT1_OFFSET 9 - +#define MV_SDIO_BASE KW_SDIO_BASE 10 - 11 - /* 12 - * NAND configuration 13 - @@ -107,6 +108,14 @@ 14 - #endif /* CONFIG_CMD_NET */ 15 - 16 - /* 17 - + * SDIO/MMC Card Configuration 18 - + */ 19 - +#ifdef CONFIG_CMD_MMC 20 - +#define CONFIG_MMC 21 - +#define CONFIG_MV_SDIO 22 - +#endif /* CONFIG_CMD_MMC */ 23 - + 24 - +/* 25 - * USB/EHCI 26 - */ 27 - #ifdef CONFIG_CMD_USB 28 - diff --git a/arch/arm/include/asm/arch-kirkwood/kirkwood.h b/arch/arm/include/asm/arch-kirkwood/kirkwood.h 29 - index 47771d5..343214b 100644 30 - --- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h 31 - +++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h 32 - @@ -55,6 +55,7 @@ 33 - #define KW_EGIGA0_BASE (KW_REGISTER(0x72000)) 34 - #define KW_EGIGA1_BASE (KW_REGISTER(0x76000)) 35 - #define KW_SATA_BASE (KW_REGISTER(0x80000)) 36 - +#define KW_SDIO_BASE (KW_REGISTER(0x90000)) 37 - 38 - /* Kirkwood Sata controller has two ports */ 39 - #define KW_SATA_PORT0_OFFSET 0x2000 40 - diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile 41 - index c567737..081d5f4 100644 42 - --- a/drivers/mmc/Makefile 43 - +++ b/drivers/mmc/Makefile 44 - @@ -34,6 +34,7 @@ COBJS-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o 45 - COBJS-$(CONFIG_MMC_SPI) += mmc_spi.o 46 - COBJS-$(CONFIG_ARM_PL180_MMCI) += arm_pl180_mmci.o 47 - COBJS-$(CONFIG_MV_SDHCI) += mv_sdhci.o 48 - +COBJS-$(CONFIG_MV_SDIO) += mv_sdio.o 49 - COBJS-$(CONFIG_MXC_MMC) += mxcmmc.o 50 - COBJS-$(CONFIG_MXS_MMC) += mxsmmc.o 51 - COBJS-$(CONFIG_OMAP_HSMMC) += omap_hsmmc.o 52 - diff --git a/drivers/mmc/mv_sdio.c b/drivers/mmc/mv_sdio.c 53 - new file mode 100644 54 - index 0000000..35969d3 55 - --- /dev/null 56 - +++ b/drivers/mmc/mv_sdio.c 57 - @@ -0,0 +1,675 @@ 58 - +/* 59 - + * (C) Copyright 2009 60 - + * Marvell Semiconductor <www.marvell.com> 61 - + * Written-by: Gérald Kerma <geraker@gmail.com> 62 - + * 63 - + * (C) Copyright 2003 64 - + * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net 65 - + * 66 - + * See file CREDITS for list of people who contributed to this 67 - + * project. 68 - + * 69 - + * This program is free software; you can redistribute it and/or 70 - + * modify it under the terms of the GNU General Public License as 71 - + * published by the Free Software Foundation; either version 2 of 72 - + * the License, or (at your option) any later version. 73 - + * 74 - + * This program is distributed in the hope that it will be useful, 75 - + * but WITHOUT ANY WARRANTY; without even the implied warranty of 76 - + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 77 - + * GNU General Public License for more details. 78 - + * 79 - + * You should have received a copy of the GNU General Public License 80 - + * along with this program; if not, write to the Free Software 81 - + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 82 - + * MA 02110-1301 USA 83 - + */ 84 - + 85 - +#include <config.h> 86 - +#include <common.h> 87 - +#include <malloc.h> 88 - +#include <mmc.h> 89 - +#include <asm/errno.h> 90 - +#include <part.h> 91 - +#include <asm/io.h> 92 - +#ifdef CONFIG_KIRKWOOD 93 - +#include <asm/arch/kirkwood.h> 94 - +#endif 95 - +#include "mv_sdio.h" 96 - + 97 - +#ifdef CONFIG_MMC 98 - + 99 - +#define DRIVER_NAME "mv-sdio" 100 - + 101 - +#ifdef DEBUG 102 - +#define pr_debug(fmt, args...) printf(fmt, ##args) 103 - +#else 104 - +#define pr_debug(...) do { } while(0) 105 - +#endif 106 - + 107 - +//static mv_sdio_t *mvsd = (mv_sdio_t *)mmc->priv; 108 - +static mv_sdio_t *mvsd = (mv_sdio_t *)MV_SDIO_BASE; 109 - + 110 - +static int is_sdhc; 111 - +extern int fat_register_device(block_dev_desc_t *dev_desc, int part_no); 112 - +static block_dev_desc_t mmc_dev; 113 - +block_dev_desc_t * mmc_get_dev(int dev) 114 - +{ 115 - + return ((block_dev_desc_t *)&mmc_dev); 116 - +} 117 - + 118 - +/* 119 - + * FIXME needs to read cid and csd info to determine block size 120 - + * and other parameters 121 - + */ 122 - +static uchar mmc_buf[MMC_BLOCK_SIZE]; 123 - +static mv_mmc_csd_t mv_mmc_csd; 124 - +static int mmc_ready = 0; 125 - + 126 - +/* MMC_DEFAULT_RCA should probably be just 1, but this may break other code 127 - + that expects it to be shifted. */ 128 - +static u_int16_t rca = 0; 129 - + 130 - +/* used for debug */ 131 - +static u_int32_t mv_mmc_size(const struct mv_mmc_csd *csd) 132 - +{ 133 - + u_int32_t block_len, mult, blocknr; 134 - + 135 - + block_len = csd->read_bl_len << 12; 136 - + mult = csd->c_size_mult1 << 8; 137 - + blocknr = (csd->c_size+1) * mult; 138 - + 139 - + return blocknr * block_len; 140 - +} 141 - + 142 - +static int isprint (unsigned char ch) 143 - +{ 144 - + if (ch >= 32 && ch < 127) 145 - + return (1); 146 - + 147 - + return (0); 148 - +} 149 - + 150 - +static int toprint(char *dst, char c) 151 - +{ 152 - + if (isprint(c)) { 153 - + *dst = c; 154 - + return 1; 155 - + } 156 - + 157 - + return sprintf(dst,"\\x%02x", c); 158 - + 159 - +} 160 - + 161 - +static void print_mmc_cid(mv_mmc_cid_t *cid) 162 - +{ 163 - + printf("MMC found. Card desciption is:\n"); 164 - + printf("Manufacturer ID = %02x%02x%02x\n", 165 - + cid->id[0], cid->id[1], cid->id[2]); 166 - + printf("HW/FW Revision = %x %x\n",cid->hwrev, cid->fwrev); 167 - + cid->hwrev = cid->fwrev = 0; /* null terminate string */ 168 - + printf("Product Name = %s\n",cid->name); 169 - + printf("Serial Number = %02x%02x%02x\n", 170 - + cid->sn[0], cid->sn[1], cid->sn[2]); 171 - + printf("Month = %d\n",cid->month); 172 - + printf("Year = %d\n",1997 + cid->year); 173 - +} 174 - + 175 - +static void print_sd_cid(mv_sd_cid_t *cid) 176 - +{ 177 - + int len; 178 - + char tbuf[64]; 179 - + 180 - + printf("SD%s found. Card desciption is:\n", is_sdhc?"HC":""); 181 - + 182 - + len = 0; 183 - + len += toprint(&tbuf[len], cid->oid_0); 184 - + len += toprint(&tbuf[len], cid->oid_1); 185 - + tbuf[len] = 0; 186 - + 187 - + printf("Manufacturer: 0x%02x, OEM \"%s\"\n", 188 - + cid->mid, tbuf); 189 - + 190 - + len = 0; 191 - + len += toprint(&tbuf[len], cid->pnm_0); 192 - + len += toprint(&tbuf[len], cid->pnm_1); 193 - + len += toprint(&tbuf[len], cid->pnm_2); 194 - + len += toprint(&tbuf[len], cid->pnm_3); 195 - + len += toprint(&tbuf[len], cid->pnm_4); 196 - + tbuf[len] = 0; 197 - + 198 - + printf("Product name: \"%s\", revision %d.%d\n", 199 - + tbuf, 200 - + cid->prv >> 4, cid->prv & 15); 201 - + 202 - + printf("Serial number: %u\n", 203 - + cid->psn_0 << 24 | cid->psn_1 << 16 | cid->psn_2 << 8 | 204 - + cid->psn_3); 205 - + printf("Manufacturing date: %d/%d\n", 206 - + cid->mdt_1 & 15, 207 - + 2000+((cid->mdt_0 & 15) << 4)+((cid->mdt_1 & 0xf0) >> 4)); 208 - + 209 - + printf("CRC: 0x%02x, b0 = %d\n", 210 - + cid->crc >> 1, cid->crc & 1); 211 - +} 212 - + 213 - +static void mvsdio_set_clock(unsigned int clock) 214 - +{ 215 - + unsigned int m; 216 - + 217 - + m = MVSDMMC_BASE_FAST_CLOCK/(2*clock) - 1; 218 - + 219 - + pr_debug("mvsdio_set_clock: dividor = 0x%x clock=%d\n", 220 - + m, clock); 221 - + 222 - + 223 - + writew(m & 0x7ff, &mvsd->CLK_DIV); 224 - + 225 - + if (isprint(1)) 226 - + udelay(10*1000); 227 - +} 228 - + 229 - +/****************************************************/ 230 - +static ulong * mv_mmc_cmd(ulong cmd, ulong arg, ushort xfermode, ushort resptype, ushort waittype) 231 - +/****************************************************/ 232 - +{ 233 - + static ulong resp[4]; 234 - + ushort done ; 235 - + int err = 0 ; 236 - + ulong curr, start, diff, hz; 237 - + ushort response[8]; 238 - + 239 - + pr_debug("mv_mmc_cmd %x, arg: %x,xfer: %x,resp: %x, wait : %x\n" 240 - + , (unsigned int)cmd, (unsigned int)arg, xfermode, resptype, waittype); 241 - + 242 - + 243 - + /* clear status */ 244 - + writew(0xffff, &mvsd->NOR_INTR_STATUS); 245 - + writew(0xffff, &mvsd->ERR_INTR_STATUS); 246 - + 247 - + start = get_timer(0); 248 - + hz = CONFIG_SYS_HZ; 249 - + 250 - + while((readw(&mvsd->PRESENT_STATE0) & CARD_BUSY)) { 251 - + curr = get_timer(0); 252 - + diff = (long) curr - (long) start; 253 - + if (diff > (3*hz)) 254 - + { 255 - + /* 3 seconds timeout, card busy, can't sent cmd */ 256 - + printf("card too busy \n"); 257 - + return 0; 258 - + } 259 - + } 260 - + 261 - + writew((ushort)(arg&0xffff), &mvsd->ARG_LOW); 262 - + writew((ushort)(arg>>16), &mvsd->ARG_HI); 263 - + writew(xfermode, &mvsd->XFER_MODE); 264 - + if( (cmd == MMC_CMD_READ_BLOCK) || (cmd == 25) ) 265 - + { 266 - + writew(((cmd << 8) | resptype | 0x3c ) , &mvsd->CMD); 267 - + pr_debug("cmd reg : %x\n", readw(&mvsd->CMD)) ; 268 - + 269 - + } 270 - + else 271 - + { 272 - + writew(((cmd << 8) | resptype ), &mvsd->CMD); 273 - + } 274 - + 275 - + done = readw(&mvsd->NOR_INTR_STATUS) & waittype; 276 - + start = get_timer(0); 277 - + 278 - + while( done!=waittype) 279 - + { 280 - + done = readw(&mvsd->NOR_INTR_STATUS) & waittype; 281 - + 282 - + if( readw(&mvsd->NOR_INTR_STATUS) & 0x8000 ) 283 - + { 284 - + pr_debug("Error! cmd : %d, err : %04x\n", (unsigned int)cmd, readw(&mvsd->ERR_INTR_STATUS)) ; 285 - + 286 - + return 0 ; /* error happen */ 287 - + } 288 - + 289 - + curr = get_timer(0); 290 - + diff = (long) curr - (long) start; 291 - + if (diff > (3*hz)) 292 - + { 293 - + pr_debug("cmd timeout, status : %04x\n", readw(&mvsd->NOR_INTR_STATUS)); 294 - + pr_debug("xfer mode : %04x\n", readw(&mvsd->XFER_MODE)); 295 - + 296 - + err = 1 ; 297 - + break; 298 - + } 299 - + } 300 - + 301 - + response[0] = readw(&mvsd->RSP0); 302 - + response[1] = readw(&mvsd->RSP1); 303 - + response[2] = readw(&mvsd->RSP2); 304 - + response[3] = readw(&mvsd->RSP3); 305 - + response[4] = readw(&mvsd->RSP4); 306 - + response[5] = readw(&mvsd->RSP5); 307 - + response[6] = readw(&mvsd->RSP6); 308 - + response[7] = readw(&mvsd->RSP7); 309 - + 310 - + memset(resp, 0, sizeof(resp)); 311 - + 312 - + switch (resptype & 0x3) { 313 - + case SDIO_CMD_RSP_48: 314 - + case SDIO_CMD_RSP_48BUSY: 315 - + resp[0] = ((response[2] & 0x3f) << (8 - 8)) | 316 - + ((response[1] & 0xffff) << (14 - 8)) | 317 - + ((response[0] & 0x3ff) << (30 - 8)); 318 - + resp[1] = ((response[0] & 0xfc00) >> 10); 319 - + break; 320 - + 321 - + case SDIO_CMD_RSP_136: 322 - + resp[3] = ((response[7] & 0x3fff) << 8) | 323 - + ((response[6] & 0x3ff) << 22); 324 - + resp[2] = ((response[6] & 0xfc00) >> 10) | 325 - + ((response[5] & 0xffff) << 6) | 326 - + ((response[4] & 0x3ff) << 22); 327 - + resp[1] = ((response[4] & 0xfc00) >> 10) | 328 - + ((response[3] & 0xffff) << 6) | 329 - + ((response[2] & 0x3ff) << 22); 330 - + resp[0] = ((response[2] & 0xfc00) >> 10) | 331 - + ((response[1] & 0xffff) << 6) | 332 - + ((response[0] & 0x3ff) << 22); 333 - + break; 334 - + default: 335 - + return 0; 336 - + } 337 - + int i; 338 - + pr_debug("MMC resp :"); 339 - + for (i=0; i<4; ++i ) { 340 - + pr_debug(" %08x", (unsigned int)resp[i]); 341 - + } 342 - + pr_debug("\n"); 343 - + if( err ) 344 - + return NULL ; 345 - + else 346 - + return resp; 347 - +} 348 - + 349 - +/****************************************************/ 350 - +static int mv_mmc_block_read(uchar *dst, ulong src, ulong len) 351 - +/****************************************************/ 352 - +{ 353 - + ulong *resp; 354 - + 355 - + if (len == 0) { 356 - + return 0; 357 - + } 358 - + 359 - + if (is_sdhc) { 360 - + /* SDHC: use block address */ 361 - + src >>= 9; 362 - + } 363 - + 364 - + pr_debug("mmc_block_rd dst %lx src %lx len %d\n", (ulong)dst, src, (int)len); 365 - + 366 - + /* prepare for dma transfer */ 367 - + writew(((ulong)(dst))&0xffff,&mvsd->SYS_ADDR_LOW); 368 - + writew(((ulong)(dst)>>16)&0xffff,&mvsd->SYS_ADDR_HI); 369 - + writew(len,&mvsd->BLK_SIZE); 370 - + writew(1,&mvsd->BLK_COUNT); 371 - + 372 - + /* send read command */ 373 - + resp = mv_mmc_cmd(MMC_CMD_READ_BLOCK, src, 0x10 , 374 - + SDIO_CMD_RSP_48, SDIO_NOR_XFER_DONE); 375 - + if (!resp) { 376 - + pr_debug("mv_mmc_block_read: mmc read block cmd fails\n"); 377 - + return -EIO; 378 - + } 379 - + 380 - + return 0; 381 - +} 382 - + 383 - +/****************************************************/ 384 - +int mv_mmc_read(ulong src, uchar *dst, int size) 385 - +/****************************************************/ 386 - +{ 387 - + ulong end, part_start, part_end, part_len, aligned_start, aligned_end; 388 - + ulong mmc_block_size, mmc_block_address; 389 - + 390 - + if (size == 0) { 391 - + return 0; 392 - + } 393 - + 394 - + if (!mmc_ready) { 395 - + printf("Please initial the MMC first\n"); 396 - + return -1; 397 - + } 398 - + 399 - + mmc_block_size = MMC_BLOCK_SIZE; 400 - + mmc_block_address = ~(mmc_block_size - 1); 401 - + 402 - + end = src + size; 403 - + part_start = ~mmc_block_address & src; 404 - + part_end = ~mmc_block_address & end; 405 - + aligned_start = mmc_block_address & src; 406 - + aligned_end = mmc_block_address & end; 407 - + 408 - + /* all block aligned accesses */ 409 - + pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", 410 - + (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); 411 - + 412 - + if (part_start) { 413 - + part_len = mmc_block_size - part_start; 414 - + pr_debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", 415 - + (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); 416 - + 417 - + if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { 418 - + return -1; 419 - + } 420 - + memcpy(dst, mmc_buf+part_start, part_len); 421 - + dst += part_len; 422 - + src += part_len; 423 - + } 424 - + pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", 425 - + (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); 426 - + 427 - + for (; src < aligned_end; aligned_start +=mmc_block_size, src += mmc_block_size, dst += mmc_block_size) { 428 - + pr_debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", 429 - + (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); 430 - + 431 - + if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { 432 - + printf("mmc block read error\n"); 433 - + return -1; 434 - + } 435 - + memcpy(dst, mmc_buf, mmc_block_size); 436 - + } 437 - + pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", 438 - + (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); 439 - + 440 - + if (part_end && src < end) { 441 - + pr_debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", 442 - + (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); 443 - + 444 - + if ((mv_mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { 445 - + return -1; 446 - + } 447 - + memcpy(dst, mmc_buf, part_end); 448 - + } 449 - + return 0; 450 - +} 451 - + 452 - +/****************************************************/ 453 - +static ulong mv_mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong *dst) 454 - +/****************************************************/ 455 - +{ 456 - + int mmc_block_size = MMC_BLOCK_SIZE; 457 - + ulong src = blknr * mmc_block_size; 458 - + 459 - + mv_mmc_read(src, (uchar *)dst, blkcnt*mmc_block_size); 460 - + return blkcnt; 461 - +} 462 - + 463 - +/****************************************************/ 464 - +int mmc_legacy_init(int verbose) 465 - +/****************************************************/ 466 - +{ 467 - + int retries, rc = -ENODEV; 468 - + ulong *resp; 469 - + int sd_ver20; 470 - + int is_sd; 471 - + ushort reg; 472 - + uchar cidbuf[64]; 473 - + 474 - + sd_ver20 = 0; 475 - + is_sdhc = 0; 476 - + is_sd = 0; 477 - + 478 - + /* Initial Host Ctrl : Timeout : max , Normal Speed mode, 4-bit data mode */ 479 - + /* Big Endian, SD memory Card, Push_pull CMD Line */ 480 - + writew( SDIO_HOST_CTRL_TMOUT(0xf) | 481 - + SDIO_HOST_CTRL_DATA_WIDTH_4_BITS | 482 - + SDIO_HOST_CTRL_BIG_ENDIAN | 483 - + SDIO_HOST_CTRL_PUSH_PULL_EN | 484 - + SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY , 485 - + &mvsd->HOST_CTRL); 486 - + 487 - + writew( 0, &mvsd->CLK_CTRL); 488 - + 489 - + /* enable status */ 490 - + writew( 0xffff, &mvsd->NOR_STATUS_EN); 491 - + writew( 0xffff, &mvsd->ERR_STATUS_EN); 492 - + 493 - + /* disable interrupts */ 494 - + writew( 0, &mvsd->NOR_INTR_EN); 495 - + writew( 0, &mvsd->ERR_INTR_EN); 496 - + 497 - + writew( 0x100, &mvsd->SW_RESET); 498 - + udelay(10000); 499 - + 500 - + mv_mmc_csd.c_size = 0; 501 - + 502 - + /* reset */ 503 - + retries = 10; 504 - + resp = mv_mmc_cmd(0, 0, 0, SDIO_CMD_RSP_NONE, SDIO_NOR_CMD_DONE ); 505 - + pr_debug("cmd 0 resp : %08x %08x %08x %08x\n", 506 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 507 - + 508 - + 509 - + pr_debug ("trying to detect SD card version\n"); 510 - + 511 - + resp = mv_mmc_cmd(8, 0x000001aa, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 512 - + pr_debug("cmd 8 resp : %08x %08x %08x %08x\n", 513 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 514 - + 515 - + if (resp && (resp[0] & 0x1ff)==0x1aa) { 516 - + pr_debug ("SD version 2.0 card detected\n"); 517 - + 518 - + sd_ver20 = 1; 519 - + } 520 - + 521 - + if (sd_ver20) 522 - + retries = 50; 523 - + else 524 - + retries = 10; 525 - + 526 - + while (retries--) { 527 - + resp = mv_mmc_cmd(55, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 528 - + pr_debug("cmd 55 resp : %08x %08x %08x %08x\n", 529 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 530 - + 531 - + 532 - + if (sd_ver20) 533 - + resp = mv_mmc_cmd(41, 0x40300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 534 - + else 535 - + resp = mv_mmc_cmd(41, 0x00300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 536 - + 537 - + pr_debug("cmd 41 resp : %08x %08x %08x %08x\n", 538 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 539 - + 540 - + 541 - + if (resp && (resp[0] & 0x80000000)) { 542 - + pr_debug ("detected SD card\n"); 543 - + 544 - + is_sd = 1; 545 - + break; 546 - + } 547 - + 548 - + udelay(100*1000); 549 - + } 550 - + 551 - + if (retries <= 0 && !is_sd) { 552 - + pr_debug ("failed to detect SD card, trying MMC\n"); 553 - + 554 - + retries = 10; 555 - + while (retries--) { 556 - + resp = mv_mmc_cmd(1, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 557 - + pr_debug("cmd 01 resp : %08x %08x %08x %08x\n", 558 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 559 - + 560 - + 561 - + if (resp && (resp[0] & 0x80000000)) { 562 - + printf ("detected MMC card\n"); 563 - + reg = readw(&mvsd->HOST_CTRL); 564 - + reg &= ~(0x3<<1); 565 - + reg |= SDIO_HOST_CTRL_CARD_TYPE_IO_MMC; 566 - + writew( reg, &mvsd->HOST_CTRL); 567 - + break; 568 - + } 569 - + 570 - + udelay(100*1000); 571 - + } 572 - + } 573 - + 574 - + if (retries <= 0) { 575 - + pr_debug ("detect fails\n"); 576 - + 577 - + return -ENODEV; 578 - + } 579 - + 580 - + /* try to get card id */ 581 - + resp = mv_mmc_cmd(2, 0, 0, SDIO_CMD_RSP_136, SDIO_NOR_CMD_DONE ); 582 - + pr_debug("cmd 2 resp : %08x %08x %08x %08x\n", 583 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 584 - + 585 - + 586 - + if (resp == NULL) { 587 - + pr_debug ("read cid fails\n"); 588 - + 589 - + return -ENODEV; 590 - + } 591 - + 592 - + if (is_sd) { 593 - + mv_sd_cid_t *cid = (mv_sd_cid_t *) resp; 594 - + 595 - + memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); 596 - + 597 - + sprintf((char *) mmc_dev.vendor, 598 - + "Man %02x OEM %c%c \"%c%c%c%c%c\"", 599 - + cid->mid, cid->oid_0, cid->oid_1, 600 - + cid->pnm_0, cid->pnm_1, cid->pnm_2, cid->pnm_3, cid->pnm_4); 601 - + 602 - + sprintf((char *) mmc_dev.product, "%d", 603 - + (cid->psn_0 << 24) | (cid->psn_1 <<16) | (cid->psn_2 << 8) | (cid->psn_3 << 8)); 604 - + 605 - + sprintf((char *) mmc_dev.revision, "%d.%d", cid->prv>>4, cid->prv & 0xff); 606 - + 607 - + } else { 608 - + /* TODO configure mmc driver depending on card attributes */ 609 - + mv_mmc_cid_t *cid = (mv_mmc_cid_t *) resp; 610 - + 611 - + memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); 612 - + 613 - + 614 - + sprintf((char *) mmc_dev.vendor, 615 - + "Man %02x%02x%02x Snr %02x%02x%02x", 616 - + cid->id[0], cid->id[1], cid->id[2], 617 - + cid->sn[0], cid->sn[1], cid->sn[2]); 618 - + sprintf((char *) mmc_dev.product, "%s", cid->name); 619 - + sprintf((char *) mmc_dev.revision, "%x %x", cid->hwrev, cid->fwrev); 620 - + } 621 - + 622 - + /* fill in device description */ 623 - + mmc_dev.if_type = IF_TYPE_MMC; 624 - + mmc_dev.part_type = PART_TYPE_DOS; 625 - + mmc_dev.dev = 0; 626 - + mmc_dev.lun = 0; 627 - + mmc_dev.type = 0; 628 - + 629 - + /* FIXME fill in the correct size (is set to 128MByte) */ 630 - + mmc_dev.blksz = MMC_BLOCK_SIZE; 631 - + mmc_dev.lba = 0x10000; 632 - + 633 - + mmc_dev.removable = 0; 634 - + mmc_dev.block_read = (unsigned long) mv_mmc_bread; 635 - + 636 - + /* MMC exists, get CSD too */ 637 - + resp = mv_mmc_cmd(MMC_CMD_SET_RCA, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 638 - + if (resp == NULL) { 639 - + pr_debug ("set rca fails\n"); 640 - + 641 - + return -ENODEV; 642 - + } 643 - + pr_debug("cmd3 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", 644 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); 645 - + 646 - + 647 - + if (is_sd) 648 - + rca = resp[0] >> 16; 649 - + else 650 - + rca = 0; 651 - + 652 - + resp = mv_mmc_cmd(MMC_CMD_SEND_CSD, rca<<16, 0, SDIO_CMD_RSP_136,SDIO_NOR_CMD_DONE ); 653 - + pr_debug("cmd 9 resp : %08x %08x %08x %08x\n", 654 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 655 - + 656 - + if (resp == NULL) { 657 - + pr_debug ("read csd fails\n"); 658 - + 659 - + return -ENODEV; 660 - + } 661 - + 662 - + memcpy(&mv_mmc_csd, (mv_mmc_csd_t *) resp, sizeof(mv_mmc_csd_t)); 663 - + rc = 0; 664 - + mmc_ready = 1; 665 - + 666 - + /* FIXME add verbose printout for csd */ 667 - + pr_debug ("size = %u\n", mv_mmc_size(&mv_mmc_csd)); 668 - + 669 - + 670 - + resp = mv_mmc_cmd(7, rca<<16, 0, SDIO_CMD_RSP_48BUSY, SDIO_NOR_CMD_DONE); 671 - + if (resp == NULL) { 672 - + pr_debug ("select card fails\n"); 673 - + 674 - + return -ENODEV; 675 - + } 676 - + pr_debug("cmd 7 resp : %08x %08x %08x %08x\n", 677 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); 678 - + 679 - + 680 - + if (is_sd) { 681 - + resp = mv_mmc_cmd(55, rca<<16, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 682 - + if (resp == NULL) { 683 - + pr_debug ("cmd55 fails\n"); 684 - + 685 - + return -ENODEV; 686 - + } 687 - + pr_debug("cmd55 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", 688 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); 689 - + 690 - + 691 - + resp = mv_mmc_cmd(6, (rca<<16) | 0x2 , 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 692 - + if (resp == NULL) { 693 - + pr_debug ("cmd55 fails\n"); 694 - + 695 - + return -ENODEV; 696 - + } 697 - + pr_debug("cmd6 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", 698 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); 699 - + 700 - + } 701 - + 702 - + resp = (ulong *) &mv_mmc_csd; 703 - + pr_debug("csd: 0x%08x 0x%08x 0x%08x 0x%08x\n", 704 - + (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); 705 - + 706 - + 707 - + /* check SDHC */ 708 - + if ((resp[0]&0xf0000000)==0x40000000) 709 - + is_sdhc = 1; 710 - + 711 - + /* set block len */ 712 - + resp = mv_mmc_cmd(MMC_CMD_SET_BLOCKLEN, MMC_BLOCK_SIZE, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); 713 - + if (!resp) { 714 - + pr_debug("mv_mmc_block_read: set blk len fails\n"); 715 - + return -ENODEV; 716 - + } 717 - + 718 - + if (verbose) { 719 - + if (is_sd) 720 - + print_sd_cid((mv_sd_cid_t *) cidbuf); 721 - + else 722 - + print_mmc_cid((mv_mmc_cid_t *) cidbuf); 723 - + } 724 - + 725 - + mvsdio_set_clock(CONFIG_SYS_MMC_CLK_PP); 726 - + 727 - + fat_register_device(&mmc_dev,1); /* partitions start counting with 1 */ 728 - + 729 - + return 0; 730 - +} 731 - + 732 - +#endif /* CONFIG_MMC */ 733 - diff --git a/drivers/mmc/mv_sdio.h b/drivers/mmc/mv_sdio.h 734 - new file mode 100644 735 - index 0000000..9707000 736 - --- /dev/null 737 - +++ b/drivers/mmc/mv_sdio.h 738 - @@ -0,0 +1,310 @@ 739 - +/* 740 - + * (C) Copyright 2009 741 - + * Marvell Semiconductor <www.marvell.com> 742 - + * Written-by: Gérald Kerma <geraker@gmail.com> 743 - + * 744 - + * See file CREDITS for list of people who contributed to this 745 - + * project. 746 - + * 747 - + * This program is free software; you can redistribute it and/or 748 - + * modify it under the terms of the GNU General Public License as 749 - + * published by the Free Software Foundation; either version 2 of 750 - + * the License, or (at your option) any later version. 751 - + * 752 - + * This program is distributed in the hope that it will be useful, 753 - + * but WITHOUT ANY WARRANTY; without even the implied warranty of 754 - + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 755 - + * GNU General Public License for more details. 756 - + * 757 - + * You should have received a copy of the GNU General Public License 758 - + * along with this program; if not, write to the Free Software 759 - + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 760 - + * MA 02110-1301 USA 761 - + */ 762 - + 763 - +#ifndef _MVSDIO_INCLUDE 764 - +#define _MVSDIO_INCLUDE 765 - + 766 - +//#define SDIO_REG(x) (MV_SDIO_BASE + (x)) 767 - + 768 - +#define MVSDMMC_DMA_SIZE 65536 769 - +#define MVSDMMC_CMD_TIMEOUT 2 /* 100 usec*/ 770 - + 771 - +/* 772 - + * Clock rates 773 - + */ 774 - + 775 - +#define MVSD_CLOCKRATE_MAX 50000000 776 - +#define MVSD_BASE_DIV_MAX 0x7ff 777 - + 778 - +#define CONFIG_SYS_MMC_CLK_PP 25000000 779 - + 780 - +/* 781 - + * The base MMC clock rate 782 - + */ 783 - + 784 - +#define MVSDMMC_CLOCKRATE_MIN 100000 785 - +#define MVSDMMC_CLOCKRATE_MAX MVSD_CLOCKRATE_MAX 786 - +#define MVSDMMC_BASE_FAST_CLOCK CONFIG_SYS_TCLK 787 - + 788 - + 789 - +/* 790 - + * SDIO register 791 - + */ 792 - +#ifndef __ASSEMBLY__ 793 - + 794 - +/* 795 - + * Structure for struct SoC access. 796 - + * Names starting with '_' are fillers. 797 - + */ 798 - +typedef struct mv_sdio { 799 - + /* reg Offset */ 800 - + u32 SYS_ADDR_LOW; /* 0x00 */ 801 - + u32 SYS_ADDR_HI; /* 0x04 */ 802 - + u32 BLK_SIZE; /* 0x08 */ 803 - + u32 BLK_COUNT; /* 0x0c */ 804 - + u32 ARG_LOW; /* 0x10 */ 805 - + u32 ARG_HI; /* 0x14 */ 806 - + u32 XFER_MODE; /* 0x18 */ 807 - + u32 CMD; /* 0x1c */ 808 - + u32 RSP0; /* 0x20 */ 809 - + u32 RSP1; /* 0x24 */ 810 - + u32 RSP2; /* 0x28 */ 811 - + u32 RSP3; /* 0x2c */ 812 - + u32 RSP4; /* 0x30 */ 813 - + u32 RSP5; /* 0x34 */ 814 - + u32 RSP6; /* 0x38 */ 815 - + u32 RSP7; /* 0x3c */ 816 - + u32 BUF_DATA_PORT; /* 0x40 */ 817 - + u32 RSVED; /* 0x44 */ 818 - + u32 PRESENT_STATE0; /* 0x48 */ 819 - + u32 PRESENT_STATE1; /* 0x4c */ 820 - + u32 HOST_CTRL; /* 0x50 */ 821 - + u32 BLK_GAP_CTRL; /* 0x54 */ 822 - + u32 CLK_CTRL; /* 0x58 */ 823 - + u32 SW_RESET; /* 0x5c */ 824 - + u32 NOR_INTR_STATUS; /* 0x60 */ 825 - + u32 ERR_INTR_STATUS; /* 0x64 */ 826 - + u32 NOR_STATUS_EN; /* 0x68 */ 827 - + u32 ERR_STATUS_EN; /* 0x6c */ 828 - + u32 NOR_INTR_EN; /* 0x70 */ 829 - + u32 ERR_INTR_EN; /* 0x74 */ 830 - + u32 AUTOCMD12_ERR_STATUS; /* 0x78 */ 831 - + u32 CURR_BYTE_LEFT; /* 0x7c */ 832 - + u32 CURR_BLK_LEFT; /* 0x80 */ 833 - + u32 AUTOCMD12_ARG_LOW; /* 0x84 */ 834 - + u32 AUTOCMD12_ARG_HI; /* 0x88 */ 835 - + u32 AUTOCMD12_INDEX; /* 0x8c */ 836 - + u32 AUTO_RSP0; /* 0x90 */ 837 - + u32 AUTO_RSP1; /* 0x94 */ 838 - + u32 AUTO_RSP2; /* 0x98 */ 839 - + u32 _9c; /* 0x9c */ 840 - + u32 _a0[0x78]; /* 0xa0 */ 841 - + u32 CLK_DIV; /* 0x128 */ 842 - + 843 - +} mv_sdio_t; 844 - + 845 - +#endif /* __ASSEMBLY__ */ 846 - + 847 - +/* 848 - + * SDIO_PRESENT_STATE 849 - + */ 850 - + 851 - +#define CARD_BUSY (1 << 1) 852 - +#define CMD_INHIBIT (1 << 0) 853 - +#define CMD_TXACTIVE (1 << 8) 854 - +#define CMD_RXACTIVE (1 << 9) 855 - +#define CMD_AUTOCMD12ACTIVE (1 << 14) 856 - + 857 - +#define CMD_BUS_BUSY (CMD_AUTOCMD12ACTIVE| \ 858 - + CMD_RXACTIVE| \ 859 - + CMD_TXACTIVE| \ 860 - + CMD_INHIBIT| \ 861 - + CARD_BUSY) 862 - + 863 - +/* 864 - + * SDIO_CMD 865 - + */ 866 - + 867 - +#define SDIO_CMD_RSP_NONE (0 << 0) 868 - +#define SDIO_CMD_RSP_136 (1 << 0) 869 - +#define SDIO_CMD_RSP_48 (2 << 0) 870 - +#define SDIO_CMD_RSP_48BUSY (3 << 0) 871 - + 872 - +#define SDIO_CMD_CHECK_DATACRC16 (1 << 2) 873 - +#define SDIO_CMD_CHECK_CMDCRC (1 << 3) 874 - +#define SDIO_CMD_INDX_CHECK (1 << 4) 875 - +#define SDIO_CMD_DATA_PRESENT (1 << 5) 876 - +#define SDIO_UNEXPECTED_RESP (1 << 7) 877 - + 878 - + 879 - +/* 880 - + * SDIO_XFER_MODE 881 - + */ 882 - + 883 - +#define SDIO_XFER_MODE_STOP_CLK (1 << 5) 884 - +#define SDIO_XFER_MODE_HW_WR_DATA_EN (1 << 1) 885 - +#define SDIO_XFER_MODE_AUTO_CMD12 (1 << 2) 886 - +#define SDIO_XFER_MODE_INT_CHK_EN (1 << 3) 887 - +#define SDIO_XFER_MODE_TO_HOST (1 << 4) 888 - + 889 - + 890 - +/* 891 - + * SDIO_HOST_CTRL 892 - + */ 893 - + 894 - +#define SDIO_HOST_CTRL_PUSH_PULL_EN (1 << 0) 895 - + 896 - +#define SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY (0 << 1) 897 - +#define SDIO_HOST_CTRL_CARD_TYPE_IO_ONLY (1 << 1) 898 - +#define SDIO_HOST_CTRL_CARD_TYPE_IO_MEM_COMBO (2 << 1) 899 - +#define SDIO_HOST_CTRL_CARD_TYPE_IO_MMC (3 << 1) 900 - +#define SDIO_HOST_CTRL_CARD_TYPE_MASK (3 << 1) 901 - + 902 - +#define SDIO_HOST_CTRL_BIG_ENDIAN (1 << 3) 903 - +#define SDIO_HOST_CTRL_LSB_FIRST (1 << 4) 904 - +#define SDIO_HOST_CTRL_ID_MODE_LOW_FREQ (1 << 5) 905 - +#define SDIO_HOST_CTRL_HALF_SPEED (1 << 6) 906 - +#define SDIO_HOST_CTRL_DATA_WIDTH_4_BITS (1 << 9) 907 - +#define SDIO_HOST_CTRL_HI_SPEED_EN (1 << 10) 908 - + 909 - + 910 - +#define SDIO_HOST_CTRL_TMOUT_MASK (0xf << 11) 911 - +#define SDIO_HOST_CTRL_TMOUT_MAX (0xf << 11) 912 - +#define SDIO_HOST_CTRL_TMOUT(x) ((x) << 11) 913 - +#define SDIO_HOST_CTRL_TMOUT_EN (1 << 15) 914 - + 915 - +#define SDIO_HOST_CTRL_DFAULT_OPEN_DRAIN \ 916 - + (SDIO_HOST_CTRL_TMOUT(x)(0xf)) 917 - +#define SDIO_HOST_CTRL_DFAULT_PUSH_PULL \ 918 - + (SDIO_HOST_CTRL_TMOUT(x)(0xf) | SDIO_HOST_CTRL_PUSH_PULL_EN) 919 - + 920 - + 921 - +/* 922 - + * NOR status bits 923 - + */ 924 - + 925 - +#define SDIO_NOR_ERROR (1 << 15) 926 - +#define SDIO_NOR_UNEXP_RSP (1 << 14) 927 - +#define SDIO_NOR_AUTOCMD12_DONE (1 << 13) 928 - +#define SDIO_NOR_SUSPEND_ON (1 << 12) 929 - +#define SDIO_NOR_LMB_FF_8W_AVAIL (1 << 11) 930 - +#define SDIO_NOR_LMB_FF_8W_FILLED (1 << 10) 931 - +#define SDIO_NOR_READ_WAIT_ON (1 << 9) 932 - +#define SDIO_NOR_CARD_INT (1 << 8) 933 - +#define SDIO_NOR_READ_READY (1 << 5) 934 - +#define SDIO_NOR_WRITE_READY (1 << 4) 935 - +#define SDIO_NOR_DMA_INI (1 << 3) 936 - +#define SDIO_NOR_BLK_GAP_EVT (1 << 2) 937 - +#define SDIO_NOR_XFER_DONE (1 << 1) 938 - +#define SDIO_NOR_CMD_DONE (1 << 0) 939 - + 940 - + 941 - +/* 942 - + * ERR status bits 943 - + */ 944 - + 945 - +#define SDIO_ERR_CRC_STATUS (1 << 14) 946 - +#define SDIO_ERR_CRC_STARTBIT (1 << 13) 947 - +#define SDIO_ERR_CRC_ENDBIT (1 << 12) 948 - +#define SDIO_ERR_RESP_TBIT (1 << 11) 949 - +#define SDIO_ERR_SIZE (1 << 10) 950 - +#define SDIO_ERR_CMD_STARTBIT (1 << 9) 951 - +#define SDIO_ERR_AUTOCMD12 (1 << 8) 952 - +#define SDIO_ERR_DATA_ENDBIT (1 << 6) 953 - +#define SDIO_ERR_DATA_CRC (1 << 5) 954 - +#define SDIO_ERR_DATA_TIMEOUT (1 << 4) 955 - +#define SDIO_ERR_CMD_INDEX (1 << 3) 956 - +#define SDIO_ERR_CMD_ENDBIT (1 << 2) 957 - +#define SDIO_ERR_CMD_CRC (1 << 1) 958 - +#define SDIO_ERR_CMD_TIMEOUT (1 << 0) 959 - + 960 - +#define SDIO_ERR_INTR_MASK 0xFFFF 961 - + 962 - + 963 - +#define MMC_BLOCK_SIZE 512 964 - +#define MMC_CMD_RESET 0 965 - +#define MMC_CMD_SEND_OP_COND 1 966 - +#define MMC_CMD_ALL_SEND_CID 2 967 - +#define MMC_CMD_SET_RCA 3 968 - +#define MMC_CMD_SELECT_CARD 7 969 - +#define MMC_CMD_SEND_CSD 9 970 - +#define MMC_CMD_SEND_CID 10 971 - +#define MMC_CMD_SEND_STATUS 13 972 - +#define MMC_CMD_SET_BLOCKLEN 16 973 - +#define MMC_CMD_READ_BLOCK 17 974 - +#define MMC_CMD_RD_BLK_MULTI 18 975 - +#define MMC_CMD_WRITE_BLOCK 24 976 - +#define MMC_MAX_BLOCK_SIZE 512 977 - + 978 - +typedef struct mv_mmc_cid 979 - +{ 980 - + /* FIXME: BYTE_ORDER */ 981 - + uchar year:4, 982 - + month:4; 983 - + uchar sn[3]; 984 - + uchar fwrev:4, 985 - + hwrev:4; 986 - + uchar name[6]; 987 - + uchar id[3]; 988 - +} mv_mmc_cid_t; 989 - + 990 - +typedef struct mv_mmc_csd 991 - +{ 992 - + uchar ecc:2, 993 - + file_format:2, 994 - + tmp_write_protect:1, 995 - + perm_write_protect:1, 996 - + copy:1, 997 - + file_format_grp:1; 998 - + uint64_t content_prot_app:1, 999 - + rsvd3:4, 1000 - + write_bl_partial:1, 1001 - + write_bl_len:4, 1002 - + r2w_factor:3, 1003 - + default_ecc:2, 1004 - + wp_grp_enable:1, 1005 - + wp_grp_size:5, 1006 - + erase_grp_mult:5, 1007 - + erase_grp_size:5, 1008 - + c_size_mult1:3, 1009 - + vdd_w_curr_max:3, 1010 - + vdd_w_curr_min:3, 1011 - + vdd_r_curr_max:3, 1012 - + vdd_r_curr_min:3, 1013 - + c_size:12, 1014 - + rsvd2:2, 1015 - + dsr_imp:1, 1016 - + read_blk_misalign:1, 1017 - + write_blk_misalign:1, 1018 - + read_bl_partial:1; 1019 - + ushort read_bl_len:4, 1020 - + ccc:12; 1021 - + uchar tran_speed; 1022 - + uchar nsac; 1023 - + uchar taac; 1024 - + uchar rsvd1:2, 1025 - + spec_vers:4, 1026 - + csd_structure:2; 1027 - +} mv_mmc_csd_t; 1028 - + 1029 - +typedef struct { 1030 - + char pnm_0; /* product name */ 1031 - + char oid_1; /* OEM/application ID */ 1032 - + char oid_0; 1033 - + uint8_t mid; /* manufacturer ID */ 1034 - + char pnm_4; 1035 - + char pnm_3; 1036 - + char pnm_2; 1037 - + char pnm_1; 1038 - + uint8_t psn_2; /* product serial number */ 1039 - + uint8_t psn_1; 1040 - + uint8_t psn_0; /* MSB */ 1041 - + uint8_t prv; /* product revision */ 1042 - + uint8_t crc; /* CRC7 checksum, b0 is unused and set to 1 */ 1043 - + uint8_t mdt_1; /* manufacturing date, LSB, RRRRyyyy yyyymmmm */ 1044 - + uint8_t mdt_0; /* MSB */ 1045 - + uint8_t psn_3; /* LSB */ 1046 - +} mv_sd_cid_t; 1047 - + 1048 - +#endif /* _MVSDIO_INCLUDE */ 1049 - diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h 1050 - index 83dd8ff..7c8497c 100644 1051 - --- a/include/configs/sheevaplug.h 1052 - +++ b/include/configs/sheevaplug.h 1053 - @@ -1,3 +1,4 @@ 1054 - + 1055 - /* 1056 - * (C) Copyright 2009 1057 - * Marvell Semiconductor <www.marvell.com> 1058 - @@ -47,7 +48,9 @@ 1059 - #define CONFIG_CMD_DHCP 1060 - #define CONFIG_CMD_ENV 1061 - #define CONFIG_CMD_MII 1062 - +#define CONFIG_CMD_MMC 1063 - #define CONFIG_CMD_NAND 1064 - +#define CONFIG_JFFS2_NAND 1065 - #define CONFIG_CMD_PING 1066 - #define CONFIG_CMD_USB 1067 - /* 1068 - @@ -70,8 +73,8 @@ 1069 - * it has to be rounded to sector size 1070 - */ 1071 - #define CONFIG_ENV_SIZE 0x20000 /* 128k */ 1072 - -#define CONFIG_ENV_ADDR 0x60000 1073 - -#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ 1074 - +#define CONFIG_ENV_ADDR 0xa0000 1075 - +#define CONFIG_ENV_OFFSET 0xa0000 /* env starts here */ 1076 - 1077 - /* 1078 - * Default environment variables 1079 - @@ -81,10 +84,11 @@ 1080 - "${x_bootcmd_usb}; bootm 0x6400000;" 1081 - 1082 - #define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \ 1083 - - "3m@1m(kernel),1m@4m(psm),13m@5m(rootfs) rw\0" 1084 - + "0x1ff00000@512k(rootfs) rw\0" 1085 - 1086 - #define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ 1087 - "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ 1088 - + "mtdids=nand0=orion_nand\0" \ 1089 - "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ 1090 - "x_bootcmd_usb=usb start\0" \ 1091 - "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0"
+141
pkgs/misc/uboot/vexpress-Use-config_distro_bootcmd.patch
··· 1 + From 53a8612ff19f360363edaaf70137968f7fd6a1cd Mon Sep 17 00:00:00 2001 2 + From: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> 3 + Date: Mon, 8 Jun 2015 22:29:23 +0300 4 + Subject: [PATCH] vexpress: Use config_distro_bootcmd 5 + 6 + Also had to hack cli_readline.c, as one codepath in 7 + cli_readline_into_buffer doesn't respect the timeout. 8 + --- 9 + common/cli_readline.c | 12 +++++++++++- 10 + include/configs/vexpress_ca9x4.h | 1 - 11 + include/configs/vexpress_common.h | 35 +++++++++++++++++++++++------------ 12 + 3 files changed, 34 insertions(+), 14 deletions(-) 13 + 14 + diff --git a/common/cli_readline.c b/common/cli_readline.c 15 + index 9a9fb35..ca997a9 100644 16 + --- a/common/cli_readline.c 17 + +++ b/common/cli_readline.c 18 + @@ -517,6 +517,7 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer, 19 + int plen = 0; /* prompt length */ 20 + int col; /* output column cnt */ 21 + char c; 22 + + int first = 1; 23 + 24 + /* print prompt */ 25 + if (prompt) { 26 + @@ -528,7 +529,16 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer, 27 + for (;;) { 28 + if (bootretry_tstc_timeout()) 29 + return -2; /* timed out */ 30 + - WATCHDOG_RESET(); /* Trigger watchdog, if needed */ 31 + + if (first && timeout) { 32 + + uint64_t etime = endtick(timeout); 33 + + 34 + + while (!tstc()) { /* while no incoming data */ 35 + + if (get_ticks() >= etime) 36 + + return -2; /* timed out */ 37 + + WATCHDOG_RESET(); 38 + + } 39 + + first = 0; 40 + + } 41 + 42 + #ifdef CONFIG_SHOW_ACTIVITY 43 + while (!tstc()) { 44 + diff --git a/include/configs/vexpress_ca9x4.h b/include/configs/vexpress_ca9x4.h 45 + index 38ac4ed..993398c 100644 46 + --- a/include/configs/vexpress_ca9x4.h 47 + +++ b/include/configs/vexpress_ca9x4.h 48 + @@ -13,6 +13,5 @@ 49 + 50 + #define CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP 51 + #include "vexpress_common.h" 52 + -#define CONFIG_BOOTP_VCI_STRING "U-boot.armv7.vexpress_ca9x4" 53 + 54 + #endif /* VEXPRESS_CA9X4_H */ 55 + diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h 56 + index db78c85..1dd069b 100644 57 + --- a/include/configs/vexpress_common.h 58 + +++ b/include/configs/vexpress_common.h 59 + @@ -123,7 +123,6 @@ 60 + #define CONFIG_SYS_L2CACHE_OFF 1 61 + #define CONFIG_INITRD_TAG 1 62 + #define CONFIG_SYS_GENERIC_BOARD 63 + -#define CONFIG_OF_LIBFDT 1 64 + 65 + /* Size of malloc() pool */ 66 + #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024) 67 + @@ -152,6 +151,8 @@ 68 + #define CONFIG_SYS_SERIAL0 V2M_UART0 69 + #define CONFIG_SYS_SERIAL1 V2M_UART1 70 + 71 + +#include <config_distro_defaults.h> 72 + +#include <config_cmd_default.h> 73 + /* Command line configuration */ 74 + #define CONFIG_CMD_BDI 75 + #define CONFIG_CMD_DHCP 76 + @@ -169,7 +170,6 @@ 77 + #define CONFIG_SUPPORT_RAW_INITRD 78 + 79 + #define CONFIG_CMD_FAT 80 + -#define CONFIG_DOS_PARTITION 1 81 + #define CONFIG_MMC 1 82 + #define CONFIG_CMD_MMC 83 + #define CONFIG_GENERIC_MMC 84 + @@ -207,17 +207,28 @@ 85 + GENERATED_GBL_DATA_SIZE) 86 + #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET 87 + 88 + +#define BOOT_TARGET_DEVICES(func) \ 89 + + func(MMC, mmc, 0) 90 + +#include <config_distro_bootcmd.h> 91 + + 92 + /* Basic environment settings */ 93 + -#define CONFIG_BOOTCOMMAND "run bootflash;" 94 + #ifdef CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP 95 + +/* 96 + + * RAM starts at 0x6000_0000 97 + + * - U-Boot loaded @ 8M 98 + + * - Kernel loaded @ 32M 99 + + * - Initrd loaded @ 128M 100 + + * - DTB loaded @ 240M 101 + + */ 102 + #define CONFIG_PLATFORM_ENV_SETTINGS \ 103 + - "loadaddr=0x80008000\0" \ 104 + - "ramdisk_addr_r=0x61000000\0" \ 105 + - "kernel_addr=0x44100000\0" \ 106 + - "ramdisk_addr=0x44800000\0" \ 107 + - "maxramdisk=0x1800000\0" \ 108 + - "pxefile_addr_r=0x88000000\0" \ 109 + - "kernel_addr_r=0x80008000\0" 110 + + "fdtfile=vexpress-v2p-ca9.dtb\0" \ 111 + + "kernel_addr_r=0x62000000\0" \ 112 + + "ramdisk_addr_r=0x68000000\0" \ 113 + + "maxramdisk=0x06000000\0" \ 114 + + "fdt_addr_r=0x6f000000\0" \ 115 + + "loadaddr=0x70000000\0" \ 116 + + "pxefile_addr_r=0x71000000\0" \ 117 + + "scriptaddr=0x72000000\0" 118 + #elif defined(CONFIG_VEXPRESS_EXTENDED_MEMORY_MAP) 119 + #define CONFIG_PLATFORM_ENV_SETTINGS \ 120 + "loadaddr=0xa0008000\0" \ 121 + @@ -240,7 +251,8 @@ 122 + "devtmpfs.mount=0 vmalloc=256M\0" \ 123 + "bootflash=run flashargs; " \ 124 + "cp ${ramdisk_addr} ${ramdisk_addr_r} ${maxramdisk}; " \ 125 + - "bootm ${kernel_addr} ${ramdisk_addr_r}\0" 126 + + "bootm ${kernel_addr} ${ramdisk_addr_r}\0" \ 127 + + BOOTENV 128 + 129 + /* FLASH and environment organization */ 130 + #define PHYS_FLASH_SIZE 0x04000000 /* 64MB */ 131 + @@ -294,7 +306,6 @@ 132 + #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot args buffer */ 133 + #define CONFIG_CMD_SOURCE 134 + #define CONFIG_SYS_LONGHELP 135 + -#define CONFIG_CMDLINE_EDITING 1 136 + #define CONFIG_SYS_MAXARGS 16 /* max command args */ 137 + 138 + #endif /* VEXPRESS_COMMON_H */ 139 + -- 140 + 2.4.4 141 +
+1 -1
pkgs/os-specific/linux/edac-utils/default.nix
··· 32 32 33 33 meta = with stdenv.lib; { 34 34 homepage = http://github.com/grondo/edac-utils; 35 - description = "handles the reporting of hardware-related memory errors."; 35 + description = "Handles the reporting of hardware-related memory errors"; 36 36 license = licenses.gpl2; 37 37 platforms = platforms.linux; 38 38 maintainers = with maintainers; [ wkennington ];
+2 -2
pkgs/os-specific/linux/kernel/linux-3.10.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "3.10.81"; 4 + version = "3.10.82"; 5 5 extraMeta.branch = "3.10"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 9 - sha256 = "0hza9wsy9x2113crlwygl06lspwlahq09nifnmdacfkqcxp4r3ng"; 9 + sha256 = "177rzyd9mxvbacy242abk7annhlm48rbdspr78y5qqsqsgihh88y"; 10 10 }; 11 11 12 12 features.iwlwifi = true;
+2 -2
pkgs/os-specific/linux/kernel/linux-3.14.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "3.14.45"; 4 + version = "3.14.46"; 5 5 # Remember to update grsecurity! 6 6 extraMeta.branch = "3.14"; 7 7 8 8 src = fetchurl { 9 9 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 10 - sha256 = "0jfbwl0daba41cwkn67rk7an9g6cbljxq8wlwnr321mfnd3mnx4c"; 10 + sha256 = "1ran8fi1ldc89x3gpxwkkfl64mln4sl0rq5bbl8imlca5nljmzkb"; 11 11 }; 12 12 13 13 features.iwlwifi = true;
+2 -2
pkgs/os-specific/linux/kernel/linux-3.18.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "3.18.16"; 4 + version = "3.18.17"; 5 5 extraMeta.branch = "3.18"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; 9 - sha256 = "0c2530amgsk29ina9mfvlncki64w0zs16d2k8bghq3fv9k2qv3nr"; 9 + sha256 = "08512kqvy91jh26jld2h3d9xq3wsfbyylzawjgn75x4r5li6y5ha"; 10 10 }; 11 11 12 12 features.iwlwifi = true;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.0.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.0.6"; 4 + version = "4.0.7"; 5 5 # Remember to update grsecurity! 6 6 extraMeta.branch = "4.0"; 7 7 8 8 src = fetchurl { 9 9 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 10 - sha256 = "0n0w2k52m3cn286f413jmzwffyk3g28y4n7d41wc93zvgm720lr9"; 10 + sha256 = "01c68w6lygzjzllv7xgnd1hm3339rs0fvd8q26n6bdfa95aj554m"; 11 11 }; 12 12 13 13 features.iwlwifi = true;
+2 -3
pkgs/os-specific/linux/kernel/linux-4.1.nix
··· 1 1 { stdenv, fetchurl, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.1"; 5 - modDirVersion = "4.1.0"; 4 + version = "4.1.1"; 6 5 extraMeta.branch = "4.1"; 7 6 8 7 src = fetchurl { 9 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 10 - sha256 = "17rdly75zh49m6r32yy03xappl7ajcqbznq09pm1q7mcb841zxfa"; 9 + sha256 = "12bfih081cbqlgmgq1fqdvvpxga5saj4kkvhawsl4fpg4mybrml8"; 11 10 }; 12 11 13 12 features.iwlwifi = true;
+6 -6
pkgs/os-specific/linux/kernel/patches.nix
··· 65 65 }; 66 66 67 67 grsecurity_stable = grsecPatch 68 - { kversion = "3.14.45"; 69 - revision = "201506232103"; 68 + { kversion = "3.14.46"; 69 + revision = "201506300711"; 70 70 branch = "stable"; 71 - sha256 = "1f4fm7r6pbspdw9l1d1mrjj1jpyh0l2vlq1lnqs54v3xzwr933py"; 71 + sha256 = "0xjqh7yc4vzgbnql16aylla9b0cjh442sywp8bvkh0ny5m3rj64l"; 72 72 }; 73 73 74 74 grsecurity_unstable = grsecPatch 75 - { kversion = "4.0.6"; 76 - revision = "201506232104"; 75 + { kversion = "4.0.7"; 76 + revision = "201506300712"; 77 77 branch = "test"; 78 - sha256 = "0him41fm0hw857ibvfmvpsrk2a8x492d4cy4hlbqyfk35rcmpfdf"; 78 + sha256 = "0rw0wx5nc244m2q7f9y832mmkv8gb8yv1rn1w2pyq8brckiswni7"; 79 79 }; 80 80 81 81 grsec_fix_path =
+1 -1
pkgs/servers/monitoring/prometheus/prom2json/default.nix
··· 19 19 ]; 20 20 21 21 meta = with lib; { 22 - description = "A tool to scrape a Prometheus client and dump the result as JSON."; 22 + description = "A tool to scrape a Prometheus client and dump the result as JSON"; 23 23 homepage = https://github.com/prometheus/prom2json; 24 24 license = licenses.asl20; 25 25 maintainers = with maintainers; [ benley ];
+1 -1
pkgs/servers/nosql/eventstore/default.nix
··· 47 47 48 48 meta = { 49 49 homepage = https://geteventstore.com/; 50 - description = "Event sourcing database with processing logic in JavaScript."; 50 + description = "Event sourcing database with processing logic in JavaScript"; 51 51 license = stdenv.lib.licenses.bsd3; 52 52 maintainers = with stdenv.lib.maintainers; [ puffnfresh ]; 53 53 platforms = with stdenv.lib.platforms; linux;
+4 -2
pkgs/servers/samba/4.x.nix
··· 61 61 "--enable-fhs" 62 62 "--sysconfdir=/etc" 63 63 "--localstatedir=/var" 64 - "--bundled-libraries=${if enableKerberos && kerberos.implementation == "heimdal" then "NONE" else "com_err"}" 64 + "--bundled-libraries=${if enableKerberos && kerberos != null && 65 + kerberos.implementation == "heimdal" then "NONE" else "com_err"}" 65 66 "--private-libraries=NONE" 66 67 "--builtin-libraries=replace" 67 68 ] 68 - ++ optional (enableKerberos && kerberos.implementation == "krb5") "--with-system-mitkrb5" 69 + ++ optional (enableKerberos && kerberos != null && 70 + kerberos.implementation == "krb5") "--with-system-mitkrb5" 69 71 ++ optional (!enableDomainController) "--without-ad-dc" 70 72 ++ optionals (!enableLDAP) [ "--without-ldap" "--without-ads" ]; 71 73
+20 -11
pkgs/servers/shellinabox/default.nix
··· 1 - { stdenv, fetchurl, pam, openssl, openssh, shadow }: 1 + { stdenv, fetchurl, pam, openssl, openssh, shadow, makeWrapper }: 2 2 3 - stdenv.mkDerivation { 4 - name = "shellinabox-2.14"; 3 + stdenv.mkDerivation rec { 4 + version = "2.14"; 5 + name = "shellinabox-${version}"; 5 6 6 7 src = fetchurl { 7 - url = "https://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz"; 8 + url = "https://shellinabox.googlecode.com/files/shellinabox-${version}.tar.gz"; 8 9 sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781"; 9 10 }; 10 11 11 - buildInputs = [pam openssl openssh]; 12 + buildInputs = [ pam openssl openssh makeWrapper ]; 12 13 13 14 patches = [ ./shellinabox-minus.patch ]; 14 15 15 - # Disable GSSAPIAuthentication errors as well as correct hardcoded path. Take /usr/games's place. 16 + # Disable GSSAPIAuthentication errors. Also, paths in certain source files are 17 + # hardcoded. Replace the hardcoded paths with correct paths. 16 18 preConfigure = '' 17 19 substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" "" 18 20 substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin" 19 21 substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login" 20 22 substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login" 21 - ''; 22 - meta = { 23 + substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl}/bin" 24 + ''; 25 + 26 + postInstall = '' 27 + wrapProgram $out/bin/shellinaboxd \ 28 + --prefix LD_LIBRARY_PATH : ${openssl}/lib 29 + ''; 30 + 31 + meta = with stdenv.lib; { 23 32 homepage = https://code.google.com/p/shellinabox; 24 33 description = "Web based AJAX terminal emulator"; 25 - license = stdenv.lib.licenses.gpl2; 26 - maintainers = [stdenv.lib.maintainers.tomberek]; 27 - platforms = stdenv.lib.platforms.linux; 34 + license = licenses.gpl2; 35 + maintainers = with maintainers; [ tomberek lihop ]; 36 + platforms = platforms.linux; 28 37 }; 29 38 }
+1
pkgs/servers/sql/postgresql/9.4.x.nix
··· 20 20 makeFlags = [ "world" ]; 21 21 22 22 configureFlags = [ "--with-openssl" ] 23 + ++ optional (stdenv.isDarwin) "--with-uuid=e2fs" 23 24 ++ optional (!stdenv.isDarwin) "--with-ossp-uuid"; 24 25 25 26 patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];
+6 -2
pkgs/servers/tvheadend/default.nix
··· 1 - {avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python, stdenv, which, zlib}: 1 + {avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python 2 + , stdenv, which, zlib}: 2 3 3 4 let version = "4.0.4"; 4 5 pkgName = "tvheadend"; in ··· 13 14 14 15 enableParallelBuilding = true; 15 16 16 - buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python which zlib]; 17 + configureFlags = [ "--disable-dvbscan" ]; 18 + 19 + buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python 20 + which zlib ]; 17 21 18 22 preConfigure = "patchShebangs ./configure"; 19 23
+1 -1
pkgs/tools/X11/xdg-utils/default.nix
··· 17 17 for item in $out/bin/*; do 18 18 substituteInPlace $item --replace "cut " "${coreutils}/bin/cut " 19 19 substituteInPlace $item --replace "sed " "${gnused}/bin/sed " 20 - substituteInPlace $item --replace "grep " "${gnugrep}/bin/grep " 21 20 substituteInPlace $item --replace "egrep " "${gnugrep}/bin/egrep " 21 + sed -i $item -e "s#[^e]grep #${gnugrep}/bin/grep #g" # Don't replace 'egrep' 22 22 substituteInPlace $item --replace "which " "${which}/bin/which " 23 23 substituteInPlace $item --replace "/usr/bin/file" "${file}/bin/file" 24 24 done
+2 -2
pkgs/tools/compression/lz4/default.nix
··· 1 1 { stdenv, fetchFromGitHub, valgrind }: 2 2 3 - let version = "130"; in 3 + let version = "131"; in 4 4 stdenv.mkDerivation rec { 5 5 name = "lz4-${version}"; 6 6 7 7 src = fetchFromGitHub { 8 - sha256 = "1050hwnbqyz2m26vayv942dh92689qp73chrbnqlg8awhlb5kyi5"; 8 + sha256 = "1bhvcq8fxxsqnpg5qa6k3nsyhq0nl0iarh08sqzclww27hlpyay2"; 9 9 rev = "r${version}"; 10 10 repo = "lz4"; 11 11 owner = "Cyan4973";
+2 -2
pkgs/tools/filesystems/btrfsprogs/default.nix
··· 1 1 { stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo 2 2 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }: 3 3 4 - let version = "4.0.1"; in 4 + let version = "4.1"; in 5 5 6 6 stdenv.mkDerivation (rec { 7 7 name = "btrfs-progs-${version}"; 8 8 9 9 src = fetchurl { 10 10 url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; 11 - sha256 = "1jwk0bnb4nvhw6b7i9mw5wkvqc6igx99qqg8zwpaj5nxkvki0bic"; 11 + sha256 = "1s5pzvi30mivxgbkx7nbqn38pfiw20rdnd6xiqsyfj7rpffzzimb"; 12 12 }; 13 13 14 14 buildInputs = [
+5 -1
pkgs/tools/filesystems/glusterfs/default.nix
··· 17 17 autoconf automake libtool pkgconfig zlib libaio libxml2 18 18 acl sqlite liburcu attr 19 19 ]; 20 + # Some of the headers reference acl 21 + propagatedBuildInputs = [ 22 + acl 23 + ]; 20 24 in 21 25 stdenv.mkDerivation 22 26 rec { 23 27 inherit (s) name version; 24 - inherit buildInputs; 28 + inherit buildInputs propagatedBuildInputs; 25 29 26 30 preConfigure = '' 27 31 ./autogen.sh
+2
pkgs/tools/filesystems/reiserfsprogs/default.nix
··· 11 11 12 12 buildInputs = [ libuuid ]; 13 13 14 + NIX_CFLAGS_COMPILE = "-std=gnu90"; 15 + 14 16 meta = { 15 17 inherit version; 16 18 homepage = http://www.namesys.com/;
+2 -5
pkgs/tools/misc/bmon/default.nix
··· 3 3 4 4 stdenv.mkDerivation rec { 5 5 name = "bmon-${version}"; 6 - version = "3.6"; 6 + version = "3.7"; 7 7 8 8 src = fetchFromGitHub { 9 9 owner = "tgraf"; 10 10 repo = "bmon"; 11 11 rev = "v${version}"; 12 - sha256 = "16qwazays2j448kmfckv6wvh4rhmhc9q4vp1s75hm9z02cmhvk8q"; 12 + sha256 = "0rh0r8gabcsqq3d659yqk8nz6y4smsi7p1vwa2v584m2l2d0rqd6"; 13 13 }; 14 - 15 - # https://github.com/tgraf/bmon/pull/24#issuecomment-98068887 16 - postPatch = "sed '1i#include <net/if.h>' -i src/in_netlink.c"; 17 14 18 15 buildInputs = [ autoconf automake pkgconfig ncurses confuse libnl ]; 19 16
+1 -1
pkgs/tools/misc/memtest86+/default.nix
··· 20 20 fi 21 21 ''; 22 22 23 - NIX_CFLAGS_COMPILE = "-I."; 23 + NIX_CFLAGS_COMPILE = "-I. -std=gnu90"; 24 24 25 25 buildFlags = "memtest.bin"; 26 26
+2 -2
pkgs/tools/misc/screen/default.nix
··· 1 1 { stdenv, fetchurl, ncurses, pam ? null }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "screen-4.3.0"; 4 + name = "screen-4.3.1"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://gnu/screen/${name}.tar.gz"; 8 - sha256 = "0ilccnwszaxr9wbrx0swh4fisha2rj2jiq76fwqikmv0rjdyhr2i"; 8 + sha256 = "0qwxd4axkgvxjigz9xs0kcv6qpfkrzr2gm43w9idx0z2mvw4jh7s"; 9 9 }; 10 10 11 11 preConfigure = ''
+39
pkgs/tools/networking/keepalived/default.nix
··· 1 + { stdenv, fetchurl, openssl, net_snmp, libnl }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "keepalived-1.2.18"; 5 + 6 + src = fetchurl { 7 + url = "http://keepalived.org/software/${name}.tar.gz"; 8 + sha256 = "07l1ywg44zj2s3wn9mh6y7qbcc0cgp6q1q39hnm0c5iv5izakkg5"; 9 + }; 10 + 11 + buildInputs = [ openssl net_snmp libnl ]; 12 + 13 + postPatch = '' 14 + sed -i 's,$(DESTDIR)/usr/share,$out/share,g' Makefile.in 15 + ''; 16 + 17 + # It doesn't know about the include/libnl<n> directory 18 + NIX_CFLAGS_COMPILE="-I${libnl}/include/libnl3"; 19 + NIX_LDFLAGS="-lnl-3 -lnl-genl-3"; 20 + 21 + configureFlags = [ 22 + "--sysconfdir=/etc" 23 + "--localstatedir=/var" 24 + "--enable-snmp" 25 + "--enable-sha1" 26 + ]; 27 + 28 + installFlags = [ 29 + "sysconfdir=\${out}/etc" 30 + ]; 31 + 32 + meta = with stdenv.lib; { 33 + homepage = http://keepalived.org; 34 + description = "routing software written in C"; 35 + license = licenses.gpl2; 36 + platforms = platforms.linux; 37 + maintainers = with maintainers; [ wkennington ]; 38 + }; 39 + }
+3 -3
pkgs/tools/networking/netsniff-ng/default.nix
··· 2 2 , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl 3 3 , pkgconfig, zlib }: 4 4 5 - let version = "0.5.9-18-g9977ec6"; in 5 + let version = "0.5.9-21-g8c75168"; in 6 6 stdenv.mkDerivation { 7 7 name = "netsniff-ng-${version}"; 8 8 ··· 10 10 src = fetchFromGitHub rec { 11 11 repo = "netsniff-ng"; 12 12 owner = repo; 13 - rev = "9977ec6012452bfc5053dbc90aed53f55064c86b"; 14 - sha256 = "1ww0pm3v9wphjzfanswx2przps33v26q38alxljigj5cigh8ffms"; 13 + rev = "8c75168ed5005f70955dd4ade93dec6abf481852"; 14 + sha256 = "10awwwmpm555wl1z07pz20cq1lsy37r36m0aamck9ri5vyq6fdzw"; 15 15 }; 16 16 17 17 buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
+3 -3
pkgs/tools/networking/tinc/pre.nix
··· 1 1 { stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "tinc-1.1pre-2015-05-15"; 4 + name = "tinc-1.1pre-2015-06-20"; 5 5 6 6 src = fetchgit { 7 7 url = "git://tinc-vpn.org/tinc"; 8 - rev = "613c121cdceec0199dc4d056857be021ed1d21de"; 9 - sha256 = "1l99bvqmb35hwb63fcy9gbjxasxnrgqw3i9f14f26dq3sz2j035l"; 8 + rev = "ebffa40aa7832459f63801e3a91cc741e6b339a8"; 9 + sha256 = "0yp40n5cgfadd7lmi28qv7cf5s14qqw5ga76y5xd0fjpacv6akcp"; 10 10 }; 11 11 12 12 buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ];
+1 -1
pkgs/tools/security/signing-party/default.nix
··· 29 29 doCheck = false; # no check rule 30 30 31 31 meta = { 32 - description = "PGP Tools is a collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc."; 32 + description = "A collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc"; 33 33 homepage = http://pgp-tools.alioth.debian.org; 34 34 platforms = gnupg.meta.platforms; 35 35 license = stdenv.lib.licenses.gpl2;
+45 -6
pkgs/top-level/all-packages.nix
··· 1316 1316 1317 1317 dtach = callPackage ../tools/misc/dtach { }; 1318 1318 1319 + dtc = callPackage ../development/compilers/dtc { }; 1320 + 1319 1321 dub = callPackage ../development/tools/build-managers/dub { }; 1320 1322 1321 1323 duff = callPackage ../tools/filesystems/duff { }; ··· 1926 1928 kalibrate-rtl = callPackage ../tools/misc/kalibrate-rtl { }; 1927 1929 1928 1930 kdbplus = callPackage_i686 ../applications/misc/kdbplus { }; 1931 + 1932 + keepalived = callPackage ../tools/networking/keepalived { }; 1929 1933 1930 1934 kexectools = callPackage ../os-specific/linux/kexectools { }; 1931 1935 ··· 2630 2634 polipo = callPackage ../servers/polipo { }; 2631 2635 2632 2636 polkit_gnome = callPackage ../tools/security/polkit-gnome { }; 2637 + 2638 + popcorntime = callPackage ../applications/video/popcorntime { }; 2633 2639 2634 2640 ponysay = callPackage ../tools/misc/ponysay { }; 2635 2641 ··· 10038 10044 10039 10045 tunctl = callPackage ../os-specific/linux/tunctl { }; 10040 10046 10041 - ubootChooser = name : if name == "upstream" then ubootUpstream 10042 - else if name == "sheevaplug" then ubootSheevaplug 10043 - else if name == "guruplug" then ubootGuruplug 10044 - else if name == "nanonote" then ubootNanonote 10045 - else throw "Unknown uboot"; 10047 + # TODO(dezgeg): either refactor & use ubootTools directly, or remove completely 10048 + ubootChooser = name: ubootTools; 10046 10049 10047 - ubootUpstream = callPackage ../misc/uboot { }; 10050 + # Upstream U-Boots: 10051 + ubootTools = callPackage ../misc/uboot { 10052 + toolsOnly = true; 10053 + targetPlatforms = lib.platforms.linux; 10054 + filesToInstall = ["tools/dumpimage" "tools/mkenvimage" "tools/mkimage"]; 10055 + }; 10056 + 10057 + ubootJetsonTK1 = callPackage ../misc/uboot { 10058 + defconfig = "jetson-tk1_defconfig"; 10059 + targetPlatforms = ["armv7l-linux"]; 10060 + filesToInstall = ["u-boot-dtb-tegra.bin"]; 10061 + }; 10048 10062 10063 + ubootPcduino3Nano = callPackage ../misc/uboot { 10064 + defconfig = "Linksprite_pcDuino3_Nano_defconfig"; 10065 + targetPlatforms = ["armv7l-linux"]; 10066 + filesToInstall = ["u-boot-sunxi-with-spl.bin"]; 10067 + }; 10068 + 10069 + ubootRaspberryPi = callPackage ../misc/uboot { 10070 + defconfig = "rpi_defconfig"; 10071 + targetPlatforms = ["armv6l-linux"]; 10072 + filesToInstall = ["u-boot.bin"]; 10073 + }; 10074 + 10075 + # Intended only for QEMU's vexpress-a9 emulation target! 10076 + ubootVersatileExpressCA9 = callPackage ../misc/uboot { 10077 + defconfig = "vexpress_ca9x4_defconfig"; 10078 + targetPlatforms = ["armv7l-linux"]; 10079 + filesToInstall = ["u-boot"]; 10080 + }; 10081 + 10082 + # Non-upstream U-Boots: 10049 10083 ubootSheevaplug = callPackage ../misc/uboot/sheevaplug.nix { }; 10050 10084 10051 10085 ubootNanonote = callPackage ../misc/uboot/nanonote.nix { }; ··· 10466 10500 10467 10501 abcde = callPackage ../applications/audio/abcde { 10468 10502 inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; 10503 + inherit (pythonPackages) eyeD3; 10469 10504 libcdio = libcdio082; 10470 10505 }; 10471 10506 ··· 12570 12605 12571 12606 tabbed = callPackage ../applications/window-managers/tabbed { 12572 12607 enableXft = true; 12608 + }; 12609 + 12610 + taffybar = callPackage ../applications/window-managers/taffybar { 12611 + inherit (haskellPackages) ghcWithPackages; 12573 12612 }; 12574 12613 12575 12614 tagainijisho = callPackage ../applications/office/tagainijisho {};
+11 -6
pkgs/top-level/dotnet-packages.nix
··· 280 280 outputFiles = [ "FSharp.AutoComplete/bin/Release/*" ]; 281 281 282 282 meta = { 283 - description = "This project provides a command-line interface to the FSharp.Compiler.Service project. It is intended to be used as a backend service for rich editing or 'intellisense' features for editors."; 284 - homepage = "https://github.com/fsharp/FSharp.AutoComplete"; 283 + description = "An interface to the FSharp.Compiler.Service project"; 284 + longDescription = '' 285 + This project provides a command-line interface to the 286 + FSharp.Compiler.Service project. It is intended to be used as a backend 287 + service for rich editing or 'intellisense' features for editors. 288 + ''; 289 + homepage = https://github.com/fsharp/FSharp.AutoComplete; 285 290 license = stdenv.lib.licenses.asl20; 286 291 maintainers = with stdenv.lib.maintainers; [ obadz ]; 287 292 platforms = with stdenv.lib.platforms; linux; ··· 498 503 dontStrip = true; 499 504 500 505 meta = { 501 - description = "NDesk.Options is a callback-based program option parser for C#."; 502 - homepage = "http://www.ndesk.org/Options"; 506 + description = "A callback-based program option parser for C#"; 507 + homepage = http://www.ndesk.org/Options; 503 508 license = stdenv.lib.licenses.mit; 504 509 maintainers = with stdenv.lib.maintainers; [ obadz ]; 505 510 platforms = with stdenv.lib.platforms; linux; ··· 677 682 outputFiles = [ "bin/net40/*" ]; 678 683 679 684 meta = { 680 - description = "A declarative CLI argument/XML configuration parser for F# applications."; 681 - homepage = "http://nessos.github.io/UnionArgParser/"; 685 + description = "A declarative CLI argument/XML configuration parser for F# applications"; 686 + homepage = http://nessos.github.io/UnionArgParser/; 682 687 license = stdenv.lib.licenses.mit; 683 688 maintainers = with stdenv.lib.maintainers; [ obadz ]; 684 689 platforms = with stdenv.lib.platforms; linux;
-74
pkgs/top-level/platforms.nix
··· 303 303 #kernelHeadersBaseConfig = "guruplug_defconfig"; 304 304 }; 305 305 306 - versatileARM = { 307 - name = "versatileARM"; 308 - kernelMajor = "2.6"; 309 - kernelHeadersBaseConfig = "versatile_defconfig"; 310 - kernelBaseConfig = "versatile_defconfig"; 311 - kernelArch = "arm"; 312 - kernelAutoModules = false; 313 - kernelTarget = "zImage"; 314 - kernelExtraConfig = 315 - '' 316 - MMC_ARMMMCI y 317 - #MMC_SDHCI y 318 - SERIO_AMBAKMI y 319 - 320 - AEABI y 321 - RTC_CLASS y 322 - RTC_DRV_PL031 y 323 - PCI y 324 - SCSI y 325 - SCSI_DMA y 326 - SCSI_ATA y 327 - BLK_DEV_SD y 328 - BLK_DEV_SR y 329 - SCSI_SYM53C8XX_2 y 330 - 331 - TMPFS y 332 - IPV6 m 333 - REISERFS_FS m 334 - EXT4_FS m 335 - 336 - IP_PNP y 337 - IP_PNP_DHCP y 338 - IP_PNP_BOOTP y 339 - ROOT_NFS y 340 - ''; 341 - uboot = null; 342 - }; 343 - 344 - integratorCP = { 345 - name = "integratorCP"; 346 - kernelMajor = "2.6"; 347 - kernelHeadersBaseConfig = "integrator_defconfig"; 348 - kernelBaseConfig = "integrator_defconfig"; 349 - kernelArch = "arm"; 350 - kernelAutoModules = false; 351 - kernelTarget = "zImage"; 352 - kernelExtraConfig = 353 - '' 354 - # needed for qemu integrator/cp 355 - SERIAL_AMBA_PL011 y 356 - SERIAL_AMBA_PL011_CONSOLE y 357 - SERIAL_AMBA_PL010 n 358 - SERIAL_AMBA_PL010_CONSOLE n 359 - 360 - MMC_ARMMMCI y 361 - MMC_SDHCI y 362 - SERIO_AMBAKMI y 363 - 364 - CPU_ARM926T y 365 - ARCH_INTEGRATOR_CP y 366 - VGA_CONSOLE n 367 - AEABI y 368 - ''; 369 - uboot = null; 370 - ubootConfig = "integratorcp_config"; 371 - }; 372 - 373 - integratorCPuboot = integratorCP // { 374 - name = "integratorCPuboot"; 375 - kernelTarget = "uImage"; 376 - uboot = "upstream"; 377 - ubootConfig = "integratorcp_config"; 378 - }; 379 - 380 306 fuloong2f_n32 = { 381 307 name = "fuloong2f_n32"; 382 308 kernelMajor = "2.6";
+76 -11
pkgs/top-level/python-packages.nix
··· 171 171 pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { 172 172 sip = self.sip_4_16; 173 173 pythonDBus = self.dbus; 174 - qt5 = pkgs.qt53; 174 + qt5 = pkgs.qt5; 175 175 }; 176 176 177 177 sip = callPackage ../development/python-modules/sip { }; ··· 3057 3057 3058 3058 3059 3059 eyeD3 = buildPythonPackage rec { 3060 - version = "0.7.4"; 3060 + version = "0.7.8"; 3061 3061 name = "eyeD3-${version}"; 3062 3062 disabled = isPyPy; 3063 3063 3064 3064 src = pkgs.fetchurl { 3065 - url = "http://eyed3.nicfit.net/releases/${name}.tgz"; 3066 - sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51"; 3065 + url = "http://eyed3.nicfit.net/releases/${name}.tar.gz"; 3066 + sha256 = "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86"; 3067 3067 }; 3068 3068 3069 3069 buildInputs = with self; [ paver ]; 3070 3070 3071 3071 postInstall = '' 3072 3072 for prog in "$out/bin/"*; do 3073 - wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" 3073 + wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \ 3074 + --prefix PATH : ${python}/bin 3074 3075 done 3075 3076 ''; 3076 3077 ··· 3386 3387 }; 3387 3388 }; 3388 3389 3390 + humanize = buildPythonPackage rec { 3391 + version = "0.5.1"; 3392 + name = "humanize-${version}"; 3393 + 3394 + src = pkgs.fetchurl { 3395 + url = "https://pypi.python.org/packages/source/h/humanize/${name}.tar.gz"; 3396 + md5 = "e8473d9dc1b220911cac2edd53b1d973"; 3397 + }; 3398 + 3399 + buildInputs = with self; [ mock ]; 3400 + 3401 + doCheck = false; 3402 + 3403 + meta = { 3404 + description = "python humanize utilities"; 3405 + homepage = https://github.com/jmoiron/humanize; 3406 + license = licenses.mit; 3407 + maintainers = with maintainers; [ matthiasbeyer ]; 3408 + platforms = platforms.linux; # can only test on linux 3409 + }; 3410 + 3411 + }; 3412 + 3389 3413 hovercraft = buildPythonPackage rec { 3390 3414 disabled = ! isPy3k; 3391 3415 name = "hovercraft-${version}"; ··· 3410 3434 }; 3411 3435 }; 3412 3436 3437 + httpauth = buildPythonPackage rec { 3438 + version = "0.2"; 3439 + name = "httpauth-${version}"; 3440 + 3441 + src = pkgs.fetchurl { 3442 + url = "https://pypi.python.org/packages/source/h/httpauth/${name}.tar.gz"; 3443 + md5 = "78d1835a80955e68e98a3ca5ab7f7dbd"; 3444 + }; 3445 + 3446 + doCheck = false; 3447 + 3448 + meta = { 3449 + description = "WSGI HTTP Digest Authentication middleware"; 3450 + homepage = https://github.com/jonashaag/httpauth; 3451 + license = licenses.bsd2; 3452 + maintainers = with maintainers; [ matthiasbeyer ]; 3453 + }; 3454 + }; 3455 + 3413 3456 itsdangerous = buildPythonPackage rec { 3414 3457 name = "itsdangerous-0.24"; 3415 3458 ··· 5195 5238 }; 5196 5239 5197 5240 meta = { 5198 - description = "simple wrapper around fribidi."; 5199 - homepage = "https://github.com/pediapress/pyfribidi"; 5241 + description = "A simple wrapper around fribidi"; 5242 + homepage = https://github.com/pediapress/pyfribidi; 5200 5243 license = stdenv.lib.licenses.gpl2; 5201 5244 }; 5202 5245 }; ··· 6616 6659 }; 6617 6660 }; 6618 6661 6662 + klaus = buildPythonPackage rec { 6663 + version = "0.4.9"; 6664 + name = "klaus-${version}"; 6665 + 6666 + src = pkgs.fetchurl { 6667 + url = "https://github.com/jonashaag/klaus/archive/${version}.tar.gz"; 6668 + sha256 = "0qcbv3shz530mn53pdc68fx38ylz72033xsrz77ffi0cks32az2w"; 6669 + }; 6670 + 6671 + propagatedBuildInputs = with self; 6672 + [ humanize httpauth dulwich pygments flask ]; 6673 + 6674 + meta = { 6675 + description = "The first Git web viewer that Just Works"; 6676 + homepage = "https://github.com/jonashaag/klaus"; 6677 + #license = licenses.mit; # I'm not sure about the license 6678 + maintainers = with maintainers; [ matthiasbeyer ]; 6679 + platforms = platforms.linux; # Can only test linux 6680 + }; 6681 + }; 6682 + 6619 6683 kombu = buildPythonPackage rec { 6620 6684 name = "kombu-${version}"; 6621 6685 version = "3.0.24"; ··· 9301 9365 }; 9302 9366 9303 9367 meta = { 9304 - description = ''PicoSAT is a popular SAT solver written by Armin 9368 + description = "Python bindings for PicoSAT"; 9369 + longDescription = ''PicoSAT is a popular SAT solver written by Armin 9305 9370 Biere in pure C. This package provides efficient Python bindings 9306 9371 to picosat on the C level, i.e. when importing pycosat, the 9307 9372 picosat solver becomes part of the Python process itself. For ··· 11013 11078 }; 11014 11079 11015 11080 repocheck = buildPythonPackage rec { 11016 - name = "repocheck-2015-05-04"; 11081 + name = "repocheck-2015-06-27"; 11017 11082 disabled = isPy26 || isPy27; 11018 11083 11019 11084 src = pkgs.fetchFromGitHub { 11020 - sha256 = "0zk8n4sm7i488wgqljkfjd2j0hm0qimxr9dhdz6d7xal7apwh71x"; 11021 - rev = "db8c336f071ead3375805b7a78ca3d7c862536db"; 11085 + sha256 = "0psihwph10sx07xc2gfch739laz7x1kwl5c991cci8cfn5jzy8bp"; 11086 + rev = "231e05b4fa55955ef8492581a15f508ffa0037d4"; 11022 11087 repo = "repocheck"; 11023 11088 owner = "kynikos"; 11024 11089 };