Merge remote-tracking branch 'upstream/master' into HEAD

+1672 -945
+213
doc/configuration.xml
··· 243 243 244 244 </section> 245 245 246 + <section xml:id="sec-declarative-package-management"> 247 + <title>Declarative Package Management</title> 248 + 249 + <section xml:id="sec-building-environment"> 250 + <title>Build an environment</title> 251 + 252 + <para> 253 + Using <literal>packageOverrides</literal>, it is possible to manage 254 + packages declaratively. This means that we can list all of our desired 255 + packages within a declarative Nix expression. For example, to have 256 + <literal>aspell</literal>, <literal>bc</literal>, 257 + <literal>ffmpeg</literal>, <literal>coreutils</literal>, 258 + <literal>gdb</literal>, <literal>nixUnstable</literal>, 259 + <literal>emscripten</literal>, <literal>jq</literal>, 260 + <literal>nox</literal>, and <literal>silver-searcher</literal>, we could 261 + use the following in <filename>~/.config/nixpkgs/config.nix</filename>: 262 + </para> 263 + 264 + <screen> 265 + { 266 + packageOverrides = pkgs: with pkgs; { 267 + myPackages = pkgs.buildEnv { 268 + name = "my-packages"; 269 + paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ]; 270 + }; 271 + }; 272 + } 273 + </screen> 274 + 275 + <para> 276 + To install it into our environment, you can just run <literal>nix-env -iA 277 + nixpkgs.myPackages</literal>. If you want to load the packages to be built 278 + from a working copy of <literal>nixpkgs</literal> you just run 279 + <literal>nix-env -f. -iA myPackages</literal>. To explore what's been 280 + installed, just look through <filename>~/.nix-profile/</filename>. You can 281 + see that a lot of stuff has been installed. Some of this stuff is useful 282 + some of it isn't. Let's tell Nixpkgs to only link the stuff that we want: 283 + </para> 284 + 285 + <screen> 286 + { 287 + packageOverrides = pkgs: with pkgs; { 288 + myPackages = pkgs.buildEnv { 289 + name = "my-packages"; 290 + paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ]; 291 + pathsToLink = [ "/share" "/bin" ]; 292 + }; 293 + }; 294 + } 295 + </screen> 296 + 297 + <para> 298 + <literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed 299 + which gets rid of the extra stuff in the profile. 300 + <filename>/bin</filename> and <filename>/share</filename> are good 301 + defaults for a user environment, getting rid of the clutter. If you are 302 + running on Nix on MacOS, you may want to add another path as well, 303 + <filename>/Applications</filename>, that makes GUI apps available. 304 + </para> 305 + 306 + </section> 307 + 308 + <section xml:id="sec-getting-documentation"> 309 + <title>Getting documentation</title> 310 + 311 + <para> 312 + After building that new environment, look through 313 + <filename>~/.nix-profile</filename> to make sure everything is there that 314 + we wanted. Discerning readers will note that some files are missing. Look 315 + inside <filename>~/.nix-profile/share/man/man1/</filename> to verify this. 316 + There are no man pages for any of the Nix tools! This is because some 317 + packages like Nix have multiple outputs for things like documentation (see 318 + section 4). Let's make Nix install those as well. 319 + </para> 320 + 321 + <screen> 322 + { 323 + packageOverrides = pkgs: with pkgs; { 324 + myPackages = pkgs.buildEnv { 325 + name = "my-packages"; 326 + paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ]; 327 + pathsToLink = [ "/share/man" "/share/doc" /bin" ]; 328 + extraOutputsToInstall = [ "man" "doc" ]; 329 + }; 330 + }; 331 + } 332 + </screen> 333 + 334 + <para> 335 + This provides us with some useful documentation for using our packages. 336 + However, if we actually want those manpages to be detected by man, we need 337 + to set up our environment. This can also be managed within Nix 338 + expressions. 339 + </para> 340 + 341 + <screen> 342 + { 343 + packageOverrides = pkgs: with pkgs; rec { 344 + myProfile = writeText "my-profile" '' 345 + export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin 346 + export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man 347 + ''; 348 + myPackages = pkgs.buildEnv { 349 + name = "my-packages"; 350 + paths = [ 351 + (runCommand "profile" {} '' 352 + mkdir -p $out/etc/profile.d 353 + cp ${myProfile} $out/etc/profile.d/my-profile.sh 354 + '') 355 + aspell 356 + bc 357 + coreutils 358 + ffmpeg 359 + man 360 + nixUnstable 361 + emscripten 362 + jq 363 + nox 364 + silver-searcher 365 + ]; 366 + pathsToLink = [ "/share/man" "/share/doc" /bin" "/etc" ]; 367 + extraOutputsToInstall = [ "man" "doc" ]; 368 + }; 369 + }; 370 + } 371 + </screen> 372 + 373 + <para> 374 + For this to work fully, you must also have this script sourced when you 375 + are logged in. Try adding something like this to your 376 + <filename>~/.profile</filename> file: 377 + </para> 378 + 379 + <screen> 380 + #!/bin/sh 381 + if [ -d $HOME/.nix-profile/etc/profile.d ]; then 382 + for i in $HOME/.nix-profile/etc/profile.d/*.sh; do 383 + if [ -r $i ]; then 384 + . $i 385 + fi 386 + done 387 + fi 388 + </screen> 389 + 390 + <para> 391 + Now just run <literal>source $HOME/.profile</literal> and you can starting 392 + loading man pages from your environent. 393 + </para> 394 + 395 + </section> 396 + 397 + <section xml:id="sec-gnu-info-setup"> 398 + <title>GNU info setup</title> 399 + 400 + <para> 401 + Configuring GNU info is a little bit trickier than man pages. To work 402 + correctly, info needs a database to be generated. This can be done with 403 + some small modifications to our environment scripts. 404 + </para> 405 + 406 + <screen> 407 + { 408 + packageOverrides = pkgs: with pkgs; rec { 409 + myProfile = writeText "my-profile" '' 410 + export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin 411 + export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man 412 + export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info 413 + ''; 414 + myPackages = pkgs.buildEnv { 415 + name = "my-packages"; 416 + paths = [ 417 + (runCommand "profile" {} '' 418 + mkdir -p $out/etc/profile.d 419 + cp ${myProfile} $out/etc/profile.d/my-profile.sh 420 + '') 421 + aspell 422 + bc 423 + coreutils 424 + ffmpeg 425 + man 426 + nixUnstable 427 + emscripten 428 + jq 429 + nox 430 + silver-searcher 431 + texinfoInteractive 432 + ]; 433 + pathsToLink = [ "/share/man" "/share/doc" "/share/info" "/bin" "/etc" ]; 434 + extraOutputsToInstall = [ "man" "doc" "info" ]; 435 + postBuild = '' 436 + if [ -x $out/bin/install-info -a -w $out/share/info ]; then 437 + shopt -s nullglob 438 + for i in $out/share/info/*.info $out/share/info/*.info.gz; do 439 + $out/bin/install-info $i $out/share/info/dir 440 + done 441 + fi 442 + ''; 443 + }; 444 + }; 445 + } 446 + </screen> 447 + 448 + <para> 449 + <literal>postBuild</literal> tells Nixpkgs to run a command after building 450 + the environment. In this case, <literal>install-info</literal> adds the 451 + installed info pages to <literal>dir</literal> which is GNU info's default 452 + root node. Note that <literal>texinfoInteractive</literal> is added to the 453 + environment to give the <literal>install-info</literal> command. 454 + </para> 455 + 456 + </section> 457 + 458 + </section> 246 459 247 460 </chapter>
+1
maintainers/scripts/update-python-libraries
··· 91 91 if release['filename'].endswith(extension): 92 92 # TODO: In case of wheel we need to do further checks! 93 93 sha256 = release['digests']['sha256'] 94 + break 94 95 else: 95 96 sha256 = None 96 97 return version, sha256
+17 -1
nixos/doc/manual/release-notes/rl-1709.xml
··· 86 86 </listitem> 87 87 <listitem> 88 88 <para> 89 + The following changes apply if the <literal>stateVersion</literal> is changed to 17.09 or higher. 90 + For <literal>stateVersion = "17.03</literal> or lower the old behavior is preserved. 91 + </para> 92 + <para> 89 93 The <literal>postgres</literal> default version was changed from 9.5 to 9.6. 90 94 </para> 91 95 <para> ··· 93 97 </para> 94 98 <para> 95 99 The <literal>postgres</literal> default <literal>dataDir</literal> has changed from <literal>/var/db/postgres</literal> to <literal>/var/lib/postgresql/$psqlSchema</literal> where $psqlSchema is 9.6 for example. 100 + </para> 101 + <para> 102 + The <literal>mysql</literal> default <literal>dataDir</literal> has changed from <literal>/var/mysql</literal> to <literal>/var/lib/mysql</literal>. 96 103 </para> 97 104 </listitem> 98 105 <listitem> ··· 113 120 also serve as a SSH agent if <literal>enableSSHSupport</literal> is set. 114 121 </para> 115 122 </listitem> 123 + <listitem> 124 + <para> 125 + The <literal>services.tinc.networks.&lt;name&gt;.listenAddress</literal> 126 + option had a misleading name that did not correspond to its behavior. It 127 + now correctly defines the ip to listen for incoming connections on. To 128 + keep the previous behaviour, use 129 + <literal>services.tinc.networks.&lt;name&gt;.bindToAddress</literal> 130 + instead. Refer to the description of the options for more details. 131 + </para> 132 + </listitem> 116 133 </itemizedlist> 117 - 118 134 119 135 <para>Other notable improvements:</para> 120 136
+2
nixos/modules/config/pulseaudio.nix
··· 6 6 let 7 7 8 8 cfg = config.hardware.pulseaudio; 9 + alsaCfg = config.sound; 9 10 10 11 systemWide = cfg.enable && cfg.systemWide; 11 12 nonSystemWide = cfg.enable && !cfg.systemWide; ··· 76 77 ctl.!default { 77 78 type pulse 78 79 } 80 + ${alsaCfg.extraConfig} 79 81 ''); 80 82 81 83 in {
+1
nixos/modules/module-list.nix
··· 326 326 ./services/misc/ripple-data-api.nix 327 327 ./services/misc/rogue.nix 328 328 ./services/misc/siproxd.nix 329 + ./services/misc/snapper.nix 329 330 ./services/misc/sonarr.nix 330 331 ./services/misc/spice-vdagentd.nix 331 332 ./services/misc/ssm-agent.nix
+3
nixos/modules/profiles/all-hardware.nix
··· 41 41 42 42 # Virtio (QEMU, KVM etc.) support. 43 43 "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console" 44 + 45 + # VMware support. 46 + "mptspi" "vmw_balloon" "vmwgfx" "vmw_vmci" "vmw_vsock_vmci_transport" "vmxnet3" "vsock" 44 47 45 48 # Hyper-V support. 46 49 "hv_storvsc"
+3 -1
nixos/modules/services/audio/alsa.nix
··· 7 7 8 8 inherit (pkgs) alsaUtils; 9 9 10 + pulseaudioEnabled = config.hardware.pulseaudio.enable; 11 + 10 12 in 11 13 12 14 { ··· 80 82 81 83 environment.systemPackages = [ alsaUtils ]; 82 84 83 - environment.etc = mkIf (config.sound.extraConfig != "") 85 + environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "") 84 86 [ 85 87 { source = pkgs.writeText "asound.conf" config.sound.extraConfig; 86 88 target = "asound.conf";
+2 -3
nixos/modules/services/misc/nixos-manual.nix
··· 62 62 name = "nixos-manual"; 63 63 desktopName = "NixOS Manual"; 64 64 genericName = "View NixOS documentation in a web browser"; 65 - # TODO: find a better icon (Nix logo + help overlay?) 66 - icon = "system-help"; 65 + icon = "nix-snowflake"; 67 66 exec = "${helpScript}/bin/nixos-help"; 68 67 categories = "System"; 69 68 }; ··· 115 114 116 115 environment.systemPackages = 117 116 [ manual.manual helpScript ] 118 - ++ optional config.services.xserver.enable desktopItem 117 + ++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons] 119 118 ++ optional config.programs.man.enable manual.manpages; 120 119 121 120 boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
+152
nixos/modules/services/misc/snapper.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.snapper; 7 + in 8 + 9 + { 10 + options.services.snapper = { 11 + 12 + snapshotInterval = mkOption { 13 + type = types.str; 14 + default = "hourly"; 15 + description = '' 16 + Snapshot interval. 17 + 18 + The format is described in 19 + <citerefentry><refentrytitle>systemd.time</refentrytitle> 20 + <manvolnum>7</manvolnum></citerefentry>. 21 + ''; 22 + }; 23 + 24 + cleanupInterval = mkOption { 25 + type = types.str; 26 + default = "1d"; 27 + description = '' 28 + Cleanup interval. 29 + 30 + The format is described in 31 + <citerefentry><refentrytitle>systemd.time</refentrytitle> 32 + <manvolnum>7</manvolnum></citerefentry>. 33 + ''; 34 + }; 35 + 36 + filters = mkOption { 37 + type = types.nullOr types.lines; 38 + default = null; 39 + description = '' 40 + Global display difference filter. See man:snapper(8) for more details. 41 + ''; 42 + }; 43 + 44 + configs = mkOption { 45 + default = { }; 46 + example = literalExample { 47 + "home" = { 48 + subvolume = "/home"; 49 + extraConfig = '' 50 + ALLOW_USERS="alice" 51 + ''; 52 + }; 53 + }; 54 + 55 + description = '' 56 + Subvolume configuration 57 + ''; 58 + 59 + type = types.attrsOf (types.submodule { 60 + options = { 61 + subvolume = mkOption { 62 + type = types.path; 63 + description = '' 64 + Path of the subvolume or mount point. 65 + This path is a subvolume and has to contain a subvolume named 66 + .snapshots. 67 + See also man:snapper(8) section PERMISSIONS. 68 + ''; 69 + }; 70 + 71 + fstype = mkOption { 72 + type = types.enum [ "btrfs" ]; 73 + default = "btrfs"; 74 + description = '' 75 + Filesystem type. Only btrfs is stable and tested. 76 + ''; 77 + }; 78 + 79 + extraConfig = mkOption { 80 + type = types.lines; 81 + default = ""; 82 + description = '' 83 + Additional configuration next to SUBVOLUME and FSTYPE. 84 + See man:snapper-configs(5). 85 + ''; 86 + }; 87 + }; 88 + }); 89 + }; 90 + }; 91 + 92 + config = mkIf (cfg.configs != {}) (let 93 + documentation = [ "man:snapper(8)" "man:snapper-configs(5)" ]; 94 + in { 95 + 96 + environment = { 97 + 98 + systemPackages = [ pkgs.snapper ]; 99 + 100 + # Note: snapper/config-templates/default is only needed for create-config 101 + # which is not the NixOS way to configure. 102 + etc = { 103 + 104 + "sysconfig/snapper".text = '' 105 + SNAPPER_CONFIGS="${lib.concatStringsSep " " (builtins.attrNames cfg.configs)}" 106 + ''; 107 + 108 + } 109 + // (mapAttrs' (name: subvolume: nameValuePair "snapper/configs/${name}" ({ 110 + text = '' 111 + ${subvolume.extraConfig} 112 + FSTYPE="${subvolume.fstype}" 113 + SUBVOLUME="${subvolume.subvolume}" 114 + ''; 115 + })) cfg.configs) 116 + // (lib.optionalAttrs (cfg.filters != null) { 117 + "snapper/filters/default.txt".text = cfg.filters; 118 + }); 119 + 120 + }; 121 + 122 + services.dbus.packages = [ pkgs.snapper ]; 123 + 124 + systemd.services.snapper-timeline = { 125 + description = "Timeline of Snapper Snapshots"; 126 + inherit documentation; 127 + serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --timeline"; 128 + }; 129 + 130 + systemd.timers.snapper-timeline = { 131 + description = "Timeline of Snapper Snapshots"; 132 + inherit documentation; 133 + wantedBy = [ "basic.target" ]; 134 + timerConfig.OnCalendar = cfg.snapshotInterval; 135 + }; 136 + 137 + systemd.services.snapper-cleanup = { 138 + description = "Cleanup of Snapper Snapshots"; 139 + inherit documentation; 140 + serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --cleanup"; 141 + }; 142 + 143 + systemd.timers.snapper-cleanup = { 144 + description = "Cleanup of Snapper Snapshots"; 145 + inherit documentation; 146 + wantedBy = [ "basic.target" ]; 147 + timerConfig.OnBootSec = "10m"; 148 + timerConfig.OnUnitActiveSec = cfg.cleanupInterval; 149 + }; 150 + }); 151 + } 152 +
+2
nixos/modules/services/misc/taskserver/helper-tool.py
··· 448 448 """ 449 449 Manage Taskserver users and certificates 450 450 """ 451 + if not IS_AUTO_CONFIG: 452 + return 451 453 for path in (CA_KEY, CA_CERT, CRL_FILE): 452 454 if not os.path.exists(path): 453 455 msg = "CA setup not done or incomplete, missing file {}."
+11 -2
nixos/modules/services/networking/tinc.nix
··· 79 79 default = null; 80 80 type = types.nullOr types.str; 81 81 description = '' 82 - The ip adress to bind to. 82 + The ip address to listen on for incoming connections. 83 + ''; 84 + }; 85 + 86 + bindToAddress = mkOption { 87 + default = null; 88 + type = types.nullOr types.str; 89 + description = '' 90 + The ip address to bind to (both listen on and send packets from). 83 91 ''; 84 92 }; 85 93 ··· 131 139 Name = ${if data.name == null then "$HOST" else data.name} 132 140 DeviceType = ${data.interfaceType} 133 141 ${optionalString (data.ed25519PrivateKeyFile != null) "Ed25519PrivateKeyFile = ${data.ed25519PrivateKeyFile}"} 134 - ${optionalString (data.listenAddress != null) "BindToAddress = ${data.listenAddress}"} 142 + ${optionalString (data.listenAddress != null) "ListenAddress = ${data.listenAddress}"} 143 + ${optionalString (data.bindToAddress != null) "BindToAddress = ${data.bindToAddress}"} 135 144 Device = /dev/net/tun 136 145 Interface = tinc.${network} 137 146 ${data.extraConfig}
+2
nixos/modules/services/printing/cupsd.nix
··· 324 324 fi 325 325 ''} 326 326 ''; 327 + 328 + serviceConfig.PrivateTmp = true; 327 329 }; 328 330 329 331 systemd.services.cups-browsed = mkIf avahiEnabled
+28 -24
nixos/modules/services/web-servers/nginx/default.nix
··· 123 123 124 124 vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: 125 125 let 126 - serverName = vhost.serverName; 127 126 ssl = vhost.enableSSL || vhost.forceSSL; 128 - port = if vhost.port != null then vhost.port else (if ssl then 443 else 80); 129 - listenString = toString port + optionalString ssl " ssl http2" 130 - + optionalString vhost.default " default_server"; 131 - acmeLocation = optionalString vhost.enableACME ('' 127 + defaultPort = if ssl then 443 else 80; 128 + 129 + listenString = { addr, port, ... }: 130 + "listen ${addr}:${toString (if port != null then port else defaultPort)} " 131 + + optionalString ssl "ssl http2 " 132 + + optionalString vhost.default "default_server" 133 + + ";"; 134 + 135 + redirectListenString = { addr, ... }: 136 + "listen ${addr}:80 ${optionalString vhost.default "default_server"};"; 137 + 138 + acmeLocation = '' 132 139 location /.well-known/acme-challenge { 133 140 ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} 134 141 root ${vhost.acmeRoot}; 135 142 auth_basic off; 136 143 } 137 - '' + (optionalString (vhost.acmeFallbackHost != null) '' 138 - location @acme-fallback { 139 - auth_basic off; 140 - proxy_pass http://${vhost.acmeFallbackHost}; 141 - } 142 - '')); 144 + ${optionalString (vhost.acmeFallbackHost != null) '' 145 + location @acme-fallback { 146 + auth_basic off; 147 + proxy_pass http://${vhost.acmeFallbackHost}; 148 + } 149 + ''} 150 + ''; 151 + 143 152 in '' 144 153 ${optionalString vhost.forceSSL '' 145 154 server { 146 - listen 80 ${optionalString vhost.default "default_server"}; 147 - ${optionalString enableIPv6 148 - ''listen [::]:80 ${optionalString vhost.default "default_server"};'' 149 - } 155 + ${concatMapStringsSep "\n" redirectListenString vhost.listen} 150 156 151 - server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; 152 - ${acmeLocation} 157 + server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; 158 + ${optionalString vhost.enableACME acmeLocation} 153 159 location / { 154 - return 301 https://$host${optionalString (port != 443) ":${toString port}"}$request_uri; 160 + return 301 https://$host$request_uri; 155 161 } 156 162 } 157 163 ''} 158 164 159 165 server { 160 - listen ${listenString}; 161 - ${optionalString enableIPv6 "listen [::]:${listenString};"} 162 - 163 - server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; 164 - ${acmeLocation} 166 + ${concatMapStringsSep "\n" listenString vhost.listen} 167 + server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; 168 + ${optionalString vhost.enableACME acmeLocation} 165 169 ${optionalString (vhost.root != null) "root ${vhost.root};"} 166 170 ${optionalString (vhost.globalRedirect != null) '' 167 171 return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri; ··· 380 384 381 385 virtualHosts = mkOption { 382 386 type = types.attrsOf (types.submodule (import ./vhost-options.nix { 383 - inherit lib; 387 + inherit config lib; 384 388 })); 385 389 default = { 386 390 localhost = {};
+20 -6
nixos/modules/services/web-servers/nginx/vhost-options.nix
··· 3 3 # has additional options that affect the web server as a whole, like 4 4 # the user/group to run under.) 5 5 6 - { lib }: 6 + { config, lib }: 7 7 8 8 with lib; 9 9 { ··· 26 26 ''; 27 27 }; 28 28 29 - port = mkOption { 30 - type = types.nullOr types.int; 31 - default = null; 29 + listen = mkOption { 30 + type = with types; listOf (submodule { 31 + options = { 32 + addr = mkOption { type = str; description = "IP address."; }; 33 + port = mkOption { type = nullOr int; description = "Port number."; }; 34 + }; 35 + }); 36 + default = 37 + [ { addr = "0.0.0.0"; port = null; } ] 38 + ++ optional config.networking.enableIPv6 39 + { addr = "[::]"; port = null; }; 40 + example = [ 41 + { addr = "195.154.1.1"; port = 443; } 42 + { addr = "192.168.1.2"; port = 443; } 43 + ]; 32 44 description = '' 33 - Port for the server. Defaults to 80 for http 34 - and 443 for https (i.e. when enableSSL is set). 45 + Listen addresses and ports for this virtual host. 46 + IPv6 addresses must be enclosed in square brackets. 47 + Setting the port to <literal>null</literal> defaults 48 + to 80 for http and 443 for https (i.e. when enableSSL is set). 35 49 ''; 36 50 }; 37 51
+1
nixos/modules/system/boot/stage-1-init.sh
··· 301 301 *x-nixos.autoresize*) 302 302 if [ "$fsType" = ext2 -o "$fsType" = ext3 -o "$fsType" = ext4 ]; then 303 303 echo "resizing $device..." 304 + e2fsck -fp "$device" 304 305 resize2fs "$device" 305 306 fi 306 307 ;;
+1
nixos/release.nix
··· 303 303 tests.simple = callTest tests/simple.nix {}; 304 304 tests.slim = callTest tests/slim.nix {}; 305 305 tests.smokeping = callTest tests/smokeping.nix {}; 306 + tests.snapper = callTest tests/snapper.nix {}; 306 307 tests.taskserver = callTest tests/taskserver.nix {}; 307 308 tests.tomcat = callTest tests/tomcat.nix {}; 308 309 tests.udisks2 = callTest tests/udisks2.nix {};
+43
nixos/tests/snapper.nix
··· 1 + import ./make-test.nix ({ ... }: 2 + { 3 + name = "snapper"; 4 + 5 + machine = { pkgs, lib, ... }: { 6 + boot.initrd.postDeviceCommands = '' 7 + ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb 8 + ''; 9 + 10 + virtualisation.emptyDiskImages = [ 4096 ]; 11 + 12 + fileSystems = lib.mkVMOverride { 13 + "/home" = { 14 + device = "/dev/disk/by-label/aux"; 15 + fsType = "btrfs"; 16 + }; 17 + }; 18 + services.snapper.configs.home.subvolume = "/home"; 19 + services.snapper.filters = "/nix"; 20 + }; 21 + 22 + testScript = '' 23 + $machine->succeed("btrfs subvolume create /home/.snapshots"); 24 + 25 + $machine->succeed("snapper -c home list"); 26 + 27 + $machine->succeed("snapper -c home create --description empty"); 28 + 29 + $machine->succeed("echo test > /home/file"); 30 + $machine->succeed("snapper -c home create --description file"); 31 + 32 + $machine->succeed("snapper -c home status 1..2"); 33 + 34 + $machine->succeed("snapper -c home undochange 1..2"); 35 + $machine->fail("ls /home/file"); 36 + 37 + $machine->succeed("snapper -c home delete 2"); 38 + 39 + $machine->succeed("systemctl --wait start snapper-timeline.service"); 40 + 41 + $machine->succeed("systemctl --wait start snapper-cleanup.service"); 42 + ''; 43 + })
+4
nixos/tests/taskserver.nix
··· 246 246 }; 247 247 248 248 subtest "check manual configuration", sub { 249 + # Remove the keys from automatic CA creation, to make sure the new 250 + # generation doesn't use keys from before. 251 + $server->succeed('rm -rf ${cfg.dataDir}/keys/* >&2'); 252 + 249 253 $server->succeed('${switchToNewServer} >&2'); 250 254 $server->waitForUnit("taskserver.service"); 251 255 $server->waitForOpenPort(${portStr});
+2 -2
pkgs/applications/audio/mopidy-iris/default.nix
··· 2 2 3 3 pythonPackages.buildPythonApplication rec { 4 4 name = "mopidy-iris-${version}"; 5 - version = "3.0.3"; 5 + version = "3.0.5"; 6 6 7 7 src = pythonPackages.fetchPypi { 8 8 inherit version; 9 9 pname = "Mopidy-Iris"; 10 - sha256 = "1j8zrkvgs2f6jcqf1sn79afiirk5plfrkychlzcwqrxix293ngjr"; 10 + sha256 = "0rabpzmiis13z4qz3vqlsfc9xjkwracafckahnq2cq97qawyq9y9"; 11 11 }; 12 12 13 13 propagatedBuildInputs = [
+14 -14
pkgs/applications/editors/jetbrains/default.nix
··· 265 265 266 266 idea-community = buildIdea rec { 267 267 name = "idea-community-${version}"; 268 - version = "2017.1.4"; 268 + version = "2017.1.5"; /* updated by script */ 269 269 description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; 270 270 license = stdenv.lib.licenses.asl20; 271 271 src = fetchurl { 272 272 url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; 273 - sha256 = "1w1knq969dl8rxlkhr9mw8cr2vszn384acwhspimrd3zs9825r45"; 273 + sha256 = "830c662c517e8d0131dc2df150d6f75adb3d8becaf9de96393730b0f4ae6ccf0"; /* updated by script */ 274 274 }; 275 275 wmClass = "jetbrains-idea-ce"; 276 276 update-channel = "IDEA_Release"; ··· 304 304 305 305 idea-ultimate = buildIdea rec { 306 306 name = "idea-ultimate-${version}"; 307 - version = "2017.1.4"; 307 + version = "2017.1.5"; 308 308 description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; 309 309 license = stdenv.lib.licenses.unfree; 310 310 src = fetchurl { 311 311 url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz"; 312 - sha256 = "0byrsbsscpzb0syamzpavny879src5dlclnissa7173rh8hgkna4"; 312 + sha256 = "0gjj2g9fcrbbbp3v4clg0kj48qdw0gqcn9im4h8p3z2zscpg16ag"; 313 313 }; 314 314 wmClass = "jetbrains-idea"; 315 315 update-channel = "IDEA_Release"; ··· 343 343 344 344 pycharm-community = buildPycharm rec { 345 345 name = "pycharm-community-${version}"; 346 - version = "2017.1.4"; /* updated by script */ 346 + version = "2017.1.5"; /* updated by script */ 347 347 description = "PyCharm Community Edition"; 348 348 license = stdenv.lib.licenses.asl20; 349 349 src = fetchurl { 350 350 url = "https://download.jetbrains.com/python/${name}.tar.gz"; 351 - sha256 = "1e69ab29215a9c8c4626de6727df433ae0d9f6ed46eba2a6f48ffa52c2b04256"; /* updated by script */ 351 + sha256 = "1a0bbf0d881527e08aad7a5adaa3ad44e8754c3eb2c3a8ed5ab113491549679b"; /* updated by script */ 352 352 }; 353 353 wmClass = "jetbrains-pycharm-ce"; 354 354 update-channel = "PyCharm_Release"; ··· 356 356 357 357 pycharm-professional = buildPycharm rec { 358 358 name = "pycharm-professional-${version}"; 359 - version = "2017.1.4"; /* updated by script */ 359 + version = "2017.1.5"; /* updated by script */ 360 360 description = "PyCharm Professional Edition"; 361 361 license = stdenv.lib.licenses.unfree; 362 362 src = fetchurl { 363 363 url = "https://download.jetbrains.com/python/${name}.tar.gz"; 364 - sha256 = "bbae5602b9cf6d26ccce9e1bf8b388d79c27cf89673d1a56f248bf0a50e518ed"; /* updated by script */ 364 + sha256 = "52519dfd0e913b5ccb8767155cd4d1fd413967d5010e8474cdc9a1fa688016ce"; /* updated by script */ 365 365 }; 366 366 wmClass = "jetbrains-pycharm"; 367 367 update-channel = "PyCharm_Release"; ··· 369 369 370 370 rider = buildRider rec { 371 371 name = "rider-${version}"; 372 - version = "171.4456.575"; /* updated by script */ 372 + version = "171.4456.1432"; /* updated by script */ 373 373 description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; 374 374 license = stdenv.lib.licenses.unfree; 375 375 src = fetchurl { 376 - url = "https://download.jetbrains.com/resharper/riderRS-${version}.tar.gz"; 377 - sha256 = "9b7f46e9c800a091f2cdbe9fda08041729e2abc0ce57252731da659b2424707b"; /* updated by script */ 376 + url = "https://download.jetbrains.com/resharper/Rider-RC-${version}.tar.gz"; 377 + sha256 = "37bad69cdfcc4f297b2500a7bb673af7ef8f1fd45baa4eb2fa388d2c4bcb41ee"; /* updated by script */ 378 378 }; 379 379 wmClass = "jetbrains-rider"; 380 - update-channel = "rider1.0EAP"; 380 + update-channel = "rider_2017_1_eap"; 381 381 }; 382 382 383 383 ruby-mine = buildRubyMine rec { 384 384 name = "ruby-mine-${version}"; 385 - version = "2017.1.4"; 385 + version = "2017.1.5"; /* updated by script */ 386 386 description = "The Most Intelligent Ruby and Rails IDE"; 387 387 license = stdenv.lib.licenses.unfree; 388 388 src = fetchurl { 389 389 url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; 390 - sha256 = "06jk0anlnc4gr240i51kam47shdjgda6zg3hglk5w3bpvbyix68z"; 390 + sha256 = "198eb3d7914529ce3a6857e038167e194fb838c4b94242048ae45e8413458d66"; /* updated by script */ 391 391 }; 392 392 wmClass = "jetbrains-rubymine"; 393 393 update-channel = "rm2017.1";
+3 -3
pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
··· 1 1 GEM 2 2 remote: https://rubygems.org/ 3 3 specs: 4 - msgpack (1.0.2) 5 - neovim (0.3.1) 4 + msgpack (1.1.0) 5 + neovim (0.5.0) 6 6 msgpack (~> 1.0) 7 7 8 8 PLATFORMS ··· 12 12 neovim 13 13 14 14 BUNDLED WITH 15 - 1.12.5 15 + 1.15.1
+4 -4
pkgs/applications/editors/neovim/ruby_provider/gemset.nix
··· 2 2 msgpack = { 3 3 source = { 4 4 remotes = ["https://rubygems.org"]; 5 - sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg"; 5 + sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7"; 6 6 type = "gem"; 7 7 }; 8 - version = "1.0.2"; 8 + version = "1.1.0"; 9 9 }; 10 10 neovim = { 11 11 dependencies = ["msgpack"]; 12 12 source = { 13 13 remotes = ["https://rubygems.org"]; 14 - sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw"; 14 + sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7"; 15 15 type = "gem"; 16 16 }; 17 - version = "0.3.1"; 17 + version = "0.5.0"; 18 18 }; 19 19 }
+3 -12
pkgs/applications/gis/qgis/default.nix
··· 5 5 }: 6 6 7 7 stdenv.mkDerivation rec { 8 - name = "qgis-2.18.4"; 8 + name = "qgis-2.18.10"; 9 9 10 10 buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla 11 11 fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ 12 12 (stdenv.lib.optional withGrass grass) ++ 13 - (with python2Packages; [ numpy psycopg2 requests python2Packages.qscintilla sip ]); 13 + (with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]); 14 14 15 15 nativeBuildInputs = [ cmake makeWrapper ]; 16 16 17 - patches = [ 18 - # See https://hub.qgis.org/issues/16071 19 - (fetchpatch { 20 - name = "fix-build-against-recent-sip"; 21 - url = "https://github.com/qgis/QGIS/commit/85a0db24f32351f6096cd8282f03ad5c2f4e6ef5.patch"; 22 - sha256 = "0snspzdrpawd7j5b69i8kk7pmmy6ij8bn02bzg94qznfpf9ihf30"; 23 - }) 24 - ]; 25 - 26 17 # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory 27 18 #enableParallelBuilding = true; 28 19 ··· 34 25 35 26 src = fetchurl { 36 27 url = "http://qgis.org/downloads/${name}.tar.bz2"; 37 - sha256 = "1s264pahxpn0215xmzm8q2khr5xspipd7bbvxah5kj339kyjfy3k"; 28 + sha256 = "1vrzxhnpzd75iia4xmhbxy90x0wlvj2w4210f0r8203hd2m4sxdj"; 38 29 }; 39 30 40 31 cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
+2 -2
pkgs/applications/graphics/darktable/default.nix
··· 11 11 assert stdenv ? glibc; 12 12 13 13 stdenv.mkDerivation rec { 14 - version = "2.2.4"; 14 + version = "2.2.5"; 15 15 name = "darktable-${version}"; 16 16 17 17 src = fetchurl { 18 18 url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; 19 - sha256 = "1n7rddkxwcifc3kcdlnar9w562xv4h78fqkkn27jihqzp3b4am5x"; 19 + sha256 = "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3"; 20 20 }; 21 21 22 22 buildInputs =
+49
pkgs/applications/misc/bashSnippets/default.nix
··· 1 + { stdenv, lib, fetchFromGitHub, makeWrapper 2 + , curl, netcat, mpv, python, bind, iproute, bc, gitMinimal }: 3 + let 4 + version = "1.12.0"; 5 + deps = lib.makeBinPath [ 6 + curl 7 + mpv 8 + python 9 + bind.dnsutils 10 + iproute 11 + bc 12 + gitMinimal 13 + ]; 14 + in 15 + stdenv.mkDerivation { 16 + name = "bashSnippets-${version}"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "alexanderepstein"; 20 + repo = "Bash-Snippets"; 21 + rev = "v${version}"; 22 + sha256 = "0kx2a8z3jbmmardw9z8fpghbw5mrbz4knb3wdihq35iarcbrddrg"; 23 + }; 24 + 25 + buildInputs = [ makeWrapper ]; 26 + 27 + patchPhase = '' 28 + patchShebangs install.sh 29 + substituteInPlace install.sh --replace /usr/local "$out" 30 + ''; 31 + 32 + dontBuild = true; 33 + 34 + installPhase = '' 35 + mkdir -p "$out"/bin "$out"/man/man1 36 + ./install.sh all 37 + for file in "$out"/bin/*; do 38 + wrapProgram "$file" --prefix PATH : "${deps}" 39 + done 40 + ''; 41 + 42 + meta = with lib; { 43 + description = "A collection of small bash scripts for heavy terminal users"; 44 + homepage = https://github.com/alexanderepstein/Bash-Snippets; 45 + license = licenses.mit; 46 + maintainers = with maintainers; [ infinisil ]; 47 + platforms = platforms.unix; 48 + }; 49 + }
+8 -15
pkgs/applications/misc/dunst/default.nix
··· 1 1 { stdenv, fetchFromGitHub, fetchpatch 2 - , pkgconfig, which, perl 3 - , cairo, dbus, freetype, gdk_pixbuf, glib, libX11, libXScrnSaver 4 - , libXext, libXinerama, libnotify, libxdg_basedir, pango, xproto 5 - , librsvg 2 + , pkgconfig, which, perl, gtk2, xrandr 3 + , cairo, dbus, gdk_pixbuf, glib, libX11, libXScrnSaver 4 + , libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg 6 5 }: 7 6 8 7 stdenv.mkDerivation rec { 9 8 name = "dunst-${version}"; 10 - version = "1.1.0"; 9 + version = "1.2.0"; 11 10 12 11 src = fetchFromGitHub { 13 - owner = "knopwob"; 12 + owner = "dunst-project"; 14 13 repo = "dunst"; 15 14 rev = "v${version}"; 16 - sha256 = "102s0rkcdz22hnacsi3dhm7kj3lsw9gnikmh3a7wk862nkvvwjmk"; 15 + sha256 = "0jncnb4z4hg92ws08bkf52jswsd4vqlzyznwbynhh2jh6q0sl18b"; 17 16 }; 18 17 19 - patches = [(fetchpatch { 20 - name = "add-svg-support.patch"; 21 - url = "https://github.com/knopwob/dunst/commit/63b11141185d1d07a6d12212257a543e182d250a.patch"; 22 - sha256 = "0giiaj5zjim7xqcav5ij5gn4x6nnchkllwcx0ln16j0p3vbi4y4x"; 23 - })]; 24 - 25 18 nativeBuildInputs = [ perl pkgconfig which ]; 26 19 27 20 buildInputs = [ 28 - cairo dbus freetype gdk_pixbuf glib libX11 libXScrnSaver libXext 29 - libXinerama libnotify libxdg_basedir pango xproto librsvg 21 + cairo dbus gdk_pixbuf glib libX11 libXScrnSaver 22 + libXinerama libnotify libxdg_basedir pango xproto librsvg gtk2 xrandr 30 23 ]; 31 24 32 25 outputs = [ "out" "man" ];
+1 -1
pkgs/applications/networking/browsers/firefox/common.nix
··· 153 153 ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga" 154 154 ++ flag crashreporterSupport "crashreporter" 155 155 ++ flag safeBrowsingSupport "safe-browsing" 156 - ++ flag drmSupport "eme" 156 + ++ lib.optional drmSupport "--enable-eme=widevine" 157 157 158 158 ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] 159 159 else [ "--disable-debug" "--enable-release"
+2 -2
pkgs/applications/networking/mailreaders/neomutt/default.nix
··· 2 2 , cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }: 3 3 4 4 stdenv.mkDerivation rec { 5 - version = "20170609"; 5 + version = "20170714"; 6 6 name = "neomutt-${version}"; 7 7 8 8 src = fetchFromGitHub { 9 9 owner = "neomutt"; 10 10 repo = "neomutt"; 11 11 rev = "neomutt-${version}"; 12 - sha256 = "015dd6rphvqdmnv477f1is22l7n5gvcvyblbyp0ggbp64650k0bz"; 12 + sha256 = "0jbh83hvq1jwb8ps7ffl2325y6i79wdnwcn6db0r5prmxax18hw1"; 13 13 }; 14 14 15 15 nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
+5 -5
pkgs/applications/office/paperwork/default.nix
··· 1 1 { lib, python3Packages, fetchFromGitHub, gtk3, cairo 2 2 , aspellDicts, buildEnv 3 3 , gnome3, hicolor_icon_theme 4 - , xvfb_run, dbus 4 + , xvfb_run, dbus, libnotify 5 5 }: 6 6 7 7 python3Packages.buildPythonApplication rec { 8 8 name = "paperwork-${version}"; 9 9 # Don't forget to also update paperwork-backend when updating this! 10 - version = "1.0.6.1"; 10 + version = "1.2"; 11 11 12 12 src = fetchFromGitHub { 13 13 repo = "paperwork"; 14 14 owner = "jflesch"; 15 15 rev = version; 16 - sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h"; 16 + sha256 = "1cb9wnhhpm3dyxjrkyl9bbva56xx85vlwlb7z07m1icflcln14x5"; 17 17 }; 18 18 19 19 # Patch out a few paths that assume that we're using the FHS: ··· 47 47 }}/lib/aspell"; 48 48 49 49 checkInputs = [ xvfb_run dbus.daemon ]; 50 - buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ]; 50 + buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme libnotify ]; 51 51 52 52 # A few parts of chkdeps need to have a display and a dbus session, so we not 53 53 # only need to run a virtual X server + dbus but also have a large enough ··· 59 59 ''; 60 60 61 61 propagatedBuildInputs = with python3Packages; [ 62 - paperwork-backend pypillowfight gtk3 cairo 62 + paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil 63 63 ]; 64 64 65 65 makeWrapperArgs = [
+9 -6
pkgs/build-support/docker/default.nix
··· 234 234 # Files to add to the layer. 235 235 contents ? null, 236 236 # Additional commands to run on the layer before it is tar'd up. 237 - extraCommands ? "" 237 + extraCommands ? "", uid ? 0, gid ? 0 238 238 }: 239 239 runCommand "docker-layer-${name}" { 240 240 inherit baseJson contents extraCommands; 241 - 242 241 buildInputs = [ jshon rsync ]; 243 242 } 244 243 '' ··· 253 252 echo "No contents to add to layer." 254 253 fi 255 254 255 + chmod ug+w layer 256 + 256 257 if [[ -n $extraCommands ]]; then 257 258 (cd layer; eval "$extraCommands") 258 259 fi ··· 260 261 # Tar up the layer and throw it into 'layer.tar'. 261 262 echo "Packing layer..." 262 263 mkdir $out 263 - tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar . 264 + tar -C layer --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . 264 265 265 266 # Compute a checksum of the tarball. 266 267 echo "Computing layer checksum..." ··· 312 313 echo "Adding $item..." 313 314 rsync -ak --chown=0:0 $item/ layer/ 314 315 done 316 + 317 + chmod ug+w layer 315 318 ''; 316 319 317 320 postMount = '' ··· 375 378 # Docker config; e.g. what command to run on the container. 376 379 config ? null, 377 380 # Optional bash script to run on the files prior to fixturizing the layer. 378 - extraCommands ? "", 381 + extraCommands ? "", uid ? 0, gid ? 0, 379 382 # Optional bash script to run as root on the image when provisioning. 380 383 runAsRoot ? null, 381 384 # Size of the virtual machine disk to provision when building the image. ··· 398 401 if runAsRoot == null 399 402 then mkPureLayer { 400 403 name = baseName; 401 - inherit baseJson contents extraCommands; 404 + inherit baseJson contents extraCommands uid gid; 402 405 } else mkRootLayer { 403 406 name = baseName; 404 407 inherit baseJson fromImage fromImageName fromImageTag ··· 498 501 chmod -R a-w image 499 502 500 503 echo "Cooking the image..." 501 - tar -C image --mtime="@$SOURCE_DATE_EPOCH" -c . | pigz -nT > $out 504 + tar -C image --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 -c . | pigz -nT > $out 502 505 503 506 echo "Finished." 504 507 '';
+13
pkgs/data/misc/nixos-artwork/icons.nix
··· 1 + { stdenv, fetchFromGitHub, imagemagick }: 2 + 3 + stdenv.mkDerivation { 4 + name = "nixos-icons-2017-03-16"; 5 + srcs = fetchFromGitHub { 6 + owner = "nixos"; 7 + repo = "nixos-artwork"; 8 + rev = "783ca1249fc4cfe523ad4e541f37e2229891bc8b"; 9 + sha256 = "0wp08b1gh2chs1xri43wziznyjcplx0clpsrb13wzyscv290ay5a"; 10 + }; 11 + makeFlags = [ "DESTDIR=$(out)" "prefix=" ]; 12 + buildInputs = [ imagemagick ]; 13 + }
+2 -1
pkgs/development/beam-modules/default.nix
··· 54 54 debugInfo = true; 55 55 }; 56 56 57 - lfe = callPackage ../interpreters/lfe { }; 57 + lfe = lfe_1_2; 58 + lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; }; 58 59 59 60 # Non hex packages 60 61 hex = callPackage ./hex {};
+22
pkgs/development/beam-modules/lib.nix
··· 56 56 mkDerivation = pkgs.makeOverridable builder; 57 57 }; 58 58 59 + /* Uses generic-builder to evaluate provided drv containing Elixir version 60 + specific data. 61 + 62 + drv: package containing version-specific args; 63 + builder: generic builder for all Erlang versions; 64 + args: arguments merged into version-specific args, used mostly to customize 65 + dependencies; 66 + 67 + Arguments passed to the generic-builder are overridable. 68 + 69 + Please note that "mkDerivation" defined here is the one called from 1.2.nix 70 + and similar files. 71 + */ 72 + callLFE = drv: args: 73 + let 74 + inherit (stdenv.lib) versionAtLeast; 75 + builder = callPackage ../interpreters/lfe/generic-builder.nix args; 76 + in 77 + callPackage drv { 78 + mkDerivation = pkgs.makeOverridable builder; 79 + }; 80 + 59 81 }
+37 -18
pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
··· 3 3 , downloadUrl 4 4 , sha256_i686 5 5 , sha256_x86_64 6 + , sha256_armv7l 6 7 , jceName 7 8 , jceDownloadUrl 8 9 , sha256JCE ··· 34 35 , setJavaClassPath 35 36 }: 36 37 37 - assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; 38 + assert stdenv.system == "i686-linux" 39 + || stdenv.system == "x86_64-linux" 40 + || stdenv.system == "armv7l-linux"; 38 41 assert swingSupport -> xorg != null; 39 42 40 43 let 44 + abortArch = abort "jdk requires i686-linux, x86_64-linux, or armv7l-linux"; 41 45 42 46 /** 43 47 * The JRE libraries are in directories that depend on the CPU. ··· 47 51 "i386" 48 52 else if stdenv.system == "x86_64-linux" then 49 53 "amd64" 54 + else if stdenv.system == "armv7l-linux" then 55 + "arm" 50 56 else 51 - abort "jdk requires i686-linux or x86_64 linux"; 57 + abortArch; 52 58 53 59 jce = 54 60 if installjce then ··· 59 65 } 60 66 else 61 67 ""; 68 + 69 + rSubPaths = [ 70 + "lib/${architecture}/jli" 71 + "lib/${architecture}/server" 72 + "lib/${architecture}/xawt" 73 + "lib/${architecture}" 74 + ]; 75 + 62 76 in 63 77 64 78 let result = stdenv.mkDerivation rec { ··· 78 92 url = downloadUrl; 79 93 sha256 = sha256_x86_64; 80 94 } 95 + else if stdenv.system == "armv7l-linux" then 96 + requireFile { 97 + name = "jdk-${productVersion}u${patchVersion}-linux-arm32-vfp-hflt.tar.gz"; 98 + url = downloadUrl; 99 + sha256 = sha256_armv7l; 100 + } 81 101 else 82 - abort "jdk requires i686-linux or x86_64 linux"; 102 + abortArch; 83 103 84 104 nativeBuildInputs = [ file ] 85 105 ++ stdenv.lib.optional installjce unzip; ··· 134 154 cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security 135 155 fi 136 156 137 - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/jli 138 - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server 139 - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt 140 - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture} 141 - 142 - # set all the dynamic linkers 143 - find $out -type f -perm -0100 \ 144 - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 145 - --set-rpath "$rpath" {} \; 146 - 147 - find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; 148 - 149 157 if test -z "$pluginSupport"; then 150 158 rm -f $out/bin/javaws 151 159 if test -n "$installjdk"; then ··· 163 171 cat <<EOF >> $out/nix-support/setup-hook 164 172 if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi 165 173 EOF 174 + ''; 175 + 176 + postFixup = '' 177 + rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}" 178 + 179 + # set all the dynamic linkers 180 + find $out -type f -perm -0100 \ 181 + -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 182 + --set-rpath "$rpath" {} \; 183 + 184 + find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; 166 185 167 186 # Oracle Java Mission Control needs to know where libgtk-x11 and related is 168 - if test -n "$installjdk"; then 187 + if test -n "$installjdk" -a -x $out/bin/jmc; then 169 188 wrapProgram "$out/bin/jmc" \ 170 - --suffix-each LD_LIBRARY_PATH ':' "${rpath}" 189 + --suffix-each LD_LIBRARY_PATH ':' "$rpath" 171 190 fi 172 191 ''; 173 192 ··· 192 211 193 212 meta = with stdenv.lib; { 194 213 license = licenses.unfree; 195 - platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms 214 + platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" ]; # some inherit jre.meta.platforms 196 215 }; 197 216 198 217 }; in result
+1
pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
··· 4 4 downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; 5 5 sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; 6 6 sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; 7 + sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; 7 8 jceName = "jce_policy-8.zip"; 8 9 jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; 9 10 sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
+1
pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
··· 4 4 downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; 5 5 sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; 6 6 sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; 7 + sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; 7 8 jceName = "jce_policy-8.zip"; 8 9 jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; 9 10 sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
+7
pkgs/development/interpreters/lfe/1.2.nix
··· 1 + { mkDerivation }: 2 + 3 + mkDerivation { 4 + version = "1.2.1"; 5 + sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; 6 + maximumOTPVersion = "19"; 7 + }
+25 -15
pkgs/development/interpreters/lfe/default.nix pkgs/development/interpreters/lfe/generic-builder.nix
··· 1 - { stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, beamPackages }: 1 + { stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3, buildHex }: 2 + 3 + { baseName ? "lfe" 4 + , version 5 + , maximumOTPVersion 6 + , sha256 ? null 7 + , rev ? version 8 + , src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; } 9 + }: 2 10 3 11 let 4 - inherit (beamPackages) buildRebar3 buildHex; 5 - proper = buildHex rec { 6 - name = "proper"; 12 + inherit (stdenv.lib) getVersion versionAtLeast splitString head; 13 + 14 + mainVersion = head (splitString "." (getVersion erlang)); 15 + 16 + proper = buildHex { 17 + name = "proper"; 7 18 version = "1.1.1-beta"; 19 + 8 20 sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx"; 9 21 10 22 configurePhase = '' 11 23 ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl 12 24 ''; 13 25 }; 26 + 14 27 in 15 - buildRebar3 rec { 16 - name = "lfe"; 17 - version = "1.2.1"; 28 + assert versionAtLeast maximumOTPVersion mainVersion; 18 29 19 - src = fetchFromGitHub { 20 - owner = "rvirding"; 21 - repo = name; 22 - rev = version; 23 - sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; 24 - }; 30 + buildRebar3 { 31 + name = baseName; 32 + 33 + inherit src version; 25 34 26 - buildInputs = [ makeWrapper ]; 35 + buildInputs = [ erlang makeWrapper ]; 27 36 beamDeps = [ proper ]; 28 37 patches = [ ./no-test-deps.patch ]; 29 38 doCheck = true; ··· 41 50 install -m644 _build/default/lib/lfe/ebin/* $ebindir 42 51 43 52 install -m755 -d $bindir 53 + 44 54 for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done 45 55 46 56 install -m755 -d $out/bin ··· 70 80 downloadPage = "https://github.com/rvirding/lfe/releases"; 71 81 72 82 license = licenses.asl20; 73 - maintainers = with maintainers; [ yurrriq ]; 83 + maintainers = with maintainers; [ yurrriq ankhers ]; 74 84 platforms = platforms.unix; 75 85 }; 76 86 }
+35
pkgs/development/libraries/aspell/aspell-with-dicts.nix
··· 1 + # Create a derivation that contains aspell and selected dictionaries. 2 + # Composition is done using `pkgs.buildEnv`. 3 + 4 + { aspell 5 + , aspellDicts 6 + , makeWrapper 7 + , symlinkJoin 8 + , runCommand 9 + }: 10 + 11 + f: 12 + 13 + let 14 + # Dictionaries we want 15 + dicts = f aspellDicts; 16 + 17 + # A tree containing the dictionaries 18 + dictEnv = symlinkJoin { 19 + name = "aspell-dicts"; 20 + paths = dicts; 21 + }; 22 + 23 + in runCommand "aspell-env" { 24 + buildInputs = [ makeWrapper ]; 25 + } '' 26 + # Construct wrappers in /bin 27 + mkdir -p $out/bin 28 + pushd "${aspell}/bin" 29 + for prg in *; do 30 + if [ -f "$prg" ]; then 31 + makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "data-dir ${dictEnv}/lib/aspell" 32 + fi 33 + done 34 + popd 35 + ''
+3 -3
pkgs/development/libraries/exiv2/default.nix
··· 1 1 { stdenv, fetchurl, fetchpatch, zlib, expat, gettext }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "exiv2-0.25"; 4 + name = "exiv2-0.26"; 5 5 6 6 src = fetchurl { 7 - url = "http://www.exiv2.org/${name}.tar.gz"; 8 - sha256 = "197g6vgcpyf9p2cwn5p5hb1r714xsk1v4p96f5pv1z8mi9vzq2y8"; 7 + url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz"; 8 + sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7"; 9 9 }; 10 10 postPatch = "patchShebangs ./src/svn_version.sh"; 11 11
+195 -24
pkgs/development/libraries/hunspell/dictionaries.nix
··· 1 1 /* hunspell dictionaries */ 2 2 3 - { stdenv, fetchurl, unzip }: 3 + { stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip }: 4 4 5 - with stdenv.lib; 6 5 7 6 let 8 - 9 7 mkDict = 10 - { name, src, meta, readmeFile, dictFileName, ... }: 11 - let 12 - isFrench = hasSuffix "fr_" dictFileName; 13 - isItaly = hasSuffix "it_" dictFileName; 14 - isSpanish = hasSuffix "es_" dictFileName; 15 - isEnglish = hasSuffix "en_" dictFileName; 16 - in 17 - stdenv.mkDerivation rec { 18 - inherit name src meta; 19 - buildInputs = [ unzip ]; 20 - sourceRoot = "."; 21 - phases = "unpackPhase installPhase" + (if isItaly then "patchPhase" else ""); 22 - unpackCmd = "unzip $src ${readmeFile} ${dictFileName}.dic ${dictFileName}.aff"; 23 - prePatch = if isItaly then '' 24 - # Fix dic file empty lines (FS#22275) 25 - sed '/^\/$/d' -i it_IT.dic 26 - '' else ""; 27 - 8 + { name, readmeFile, dictFileName, ... }@args: 9 + stdenv.mkDerivation (rec { 10 + inherit name; 28 11 installPhase = '' 29 12 # hunspell dicts 30 13 install -dm755 "$out/share/hunspell" ··· 38 21 install -dm755 "$out/share/doc" 39 22 install -m644 ${readmeFile} $out/share/doc/${name}.txt 40 23 ''; 41 - }; 24 + } // args); 25 + 26 + mkDictFromRla = 27 + { shortName, shortDescription, dictFileName }: 28 + mkDict rec { 29 + inherit dictFileName; 30 + version = "2.2"; 31 + name = "hunspell-dict-${shortName}-rla-${version}"; 32 + readmeFile = "README.txt"; 33 + src = fetchFromGitHub { 34 + owner = "sbosio"; 35 + repo = "rla-es"; 36 + rev = "v${version}"; 37 + sha256 = "0n9ms092k7vg7xpd3ksadxydbrizkb7js7dfxr08nbnnb9fgy0i8"; 38 + }; 39 + meta = with stdenv.lib; { 40 + description = "Hunspell dictionary for ${shortDescription} from rla"; 41 + homepage = https://github.com/sbosio/rla-es; 42 + license = with licenses; [ gpl3 lgpl3 mpl11 ]; 43 + maintainers = with maintainers; [ renzo ]; 44 + platforms = platforms.all; 45 + }; 46 + phases = "unpackPhase patchPhase buildPhase installPhase"; 47 + buildInputs = [ bash coreutils unzip which zip ]; 48 + patchPhase = '' 49 + substituteInPlace ortograf/herramientas/make_dict.sh \ 50 + --replace /bin/bash bash \ 51 + --replace /dev/stderr stderr.log 52 + 53 + substituteInPlace ortograf/herramientas/remover_comentarios.sh \ 54 + --replace /bin/bash bash \ 55 + ''; 56 + buildPhase = '' 57 + cd ortograf/herramientas 58 + bash -x ./make_dict.sh -l ${dictFileName} -2 59 + unzip ${dictFileName}.zip \ 60 + ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} 61 + ''; 62 + }; 42 63 43 64 mkDictFromDicollecte = 44 65 { shortName, shortDescription, longDescription, dictFileName }: ··· 59 80 maintainers = with maintainers; [ renzo ]; 60 81 platforms = platforms.all; 61 82 }; 83 + buildInputs = [ unzip ]; 84 + phases = "unpackPhase installPhase"; 85 + sourceRoot = "."; 86 + unpackCmd = '' 87 + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} 88 + ''; 62 89 }; 63 90 64 91 mkDictFromWordlist = ··· 75 102 maintainers = with maintainers; [ renzo ]; 76 103 platforms = platforms.all; 77 104 }; 105 + buildInputs = [ unzip ]; 106 + phases = "unpackPhase installPhase"; 107 + sourceRoot = "."; 108 + unpackCmd = '' 109 + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} 110 + ''; 78 111 }; 79 112 80 - mkLinguistico = 113 + mkDictFromLinguistico = 81 114 { shortName, shortDescription, dictFileName, src }: 82 115 mkDict rec { 83 116 inherit src dictFileName; ··· 90 123 maintainers = with maintainers; [ renzo ]; 91 124 platforms = platforms.all; 92 125 }; 126 + buildInputs = [ unzip ]; 127 + phases = "unpackPhase patchPhase installPhase"; 128 + sourceRoot = "."; 129 + prePatch = '' 130 + # Fix dic file empty lines (FS#22275) 131 + sed '/^\/$/d' -i ${dictFileName}.dic 132 + ''; 133 + unpackCmd = '' 134 + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} 135 + ''; 93 136 }; 94 137 95 138 mkDictFromXuxen = ··· 169 212 }; 170 213 }; 171 214 215 + /* SPANISH */ 216 + 217 + es-any = mkDictFromRla { 218 + shortName = "es-any"; 219 + shortDescription = "Spanish (any variant)"; 220 + dictFileName = "es_ANY"; 221 + }; 222 + 223 + es-ar = mkDictFromRla { 224 + shortName = "es-ar"; 225 + shortDescription = "Spanish (Argentina)"; 226 + dictFileName = "es_AR"; 227 + }; 228 + 229 + es-bo = mkDictFromRla { 230 + shortName = "es-bo"; 231 + shortDescription = "Spanish (Bolivia)"; 232 + dictFileName = "es_BO"; 233 + }; 234 + 235 + es-cl = mkDictFromRla { 236 + shortName = "es-cl"; 237 + shortDescription = "Spanish (Chile)"; 238 + dictFileName = "es_CL"; 239 + }; 240 + 241 + es-co = mkDictFromRla { 242 + shortName = "es-co"; 243 + shortDescription = "Spanish (Colombia)"; 244 + dictFileName = "es_CO"; 245 + }; 246 + 247 + es-cr = mkDictFromRla { 248 + shortName = "es-cr"; 249 + shortDescription = "Spanish (Costra Rica)"; 250 + dictFileName = "es_CR"; 251 + }; 252 + 253 + es-cu = mkDictFromRla { 254 + shortName = "es-cu"; 255 + shortDescription = "Spanish (Cuba)"; 256 + dictFileName = "es_CU"; 257 + }; 258 + 259 + es-do = mkDictFromRla { 260 + shortName = "es-do"; 261 + shortDescription = "Spanish (Dominican Republic)"; 262 + dictFileName = "es_DO"; 263 + }; 264 + 265 + es-ec = mkDictFromRla { 266 + shortName = "es-ec"; 267 + shortDescription = "Spanish (Ecuador)"; 268 + dictFileName = "es_EC"; 269 + }; 270 + 271 + es-es = mkDictFromRla { 272 + shortName = "es-es"; 273 + shortDescription = "Spanish (Spain)"; 274 + dictFileName = "es_ES"; 275 + }; 276 + 277 + es-gt = mkDictFromRla { 278 + shortName = "es-gt"; 279 + shortDescription = "Spanish (Guatemala)"; 280 + dictFileName = "es_GT"; 281 + }; 282 + 283 + es-hn = mkDictFromRla { 284 + shortName = "es-hn"; 285 + shortDescription = "Spanish (Honduras)"; 286 + dictFileName = "es_HN"; 287 + }; 288 + 289 + es-mx = mkDictFromRla { 290 + shortName = "es-mx"; 291 + shortDescription = "Spanish (Mexico)"; 292 + dictFileName = "es_MX"; 293 + }; 294 + 295 + es-ni = mkDictFromRla { 296 + shortName = "es-ni"; 297 + shortDescription = "Spanish (Nicaragua)"; 298 + dictFileName = "es_NI"; 299 + }; 300 + 301 + es-pa = mkDictFromRla { 302 + shortName = "es-pa"; 303 + shortDescription = "Spanish (Panama)"; 304 + dictFileName = "es_PA"; 305 + }; 306 + 307 + es-pe = mkDictFromRla { 308 + shortName = "es-pe"; 309 + shortDescription = "Spanish (Peru)"; 310 + dictFileName = "es_PE"; 311 + }; 312 + 313 + es-pr = mkDictFromRla { 314 + shortName = "es-pr"; 315 + shortDescription = "Spanish (Puerto Rico)"; 316 + dictFileName = "es_PR"; 317 + }; 318 + 319 + es-py = mkDictFromRla { 320 + shortName = "es-py"; 321 + shortDescription = "Spanish (Paraguay)"; 322 + dictFileName = "es_PY"; 323 + }; 324 + 325 + es-sv = mkDictFromRla { 326 + shortName = "es-sv"; 327 + shortDescription = "Spanish (El Salvador)"; 328 + dictFileName = "es_SV"; 329 + }; 330 + 331 + es-uy = mkDictFromRla { 332 + shortName = "es-uy"; 333 + shortDescription = "Spanish (Uruguay)"; 334 + dictFileName = "es_UY"; 335 + }; 336 + 337 + es-ve = mkDictFromRla { 338 + shortName = "es-ve"; 339 + shortDescription = "Spanish (Venezuela)"; 340 + dictFileName = "es_VE"; 341 + }; 342 + 172 343 /* FRENCH */ 173 344 174 345 fr-any = mkDictFromDicollecte { ··· 215 386 216 387 /* ITALIAN */ 217 388 218 - it-it = mkLinguistico rec { 389 + it-it = mkDictFromLinguistico rec { 219 390 shortName = "it-it"; 220 391 dictFileName = "it_IT"; 221 392 shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
+29
pkgs/development/libraries/science/biology/elastix/default.nix
··· 1 + { stdenv, fetchFromGitHub, cmake, itk, python }: 2 + 3 + stdenv.mkDerivation rec { 4 + _name = "elastix"; 5 + _version = "4.8"; 6 + name = "${_name}-${_version}"; 7 + 8 + src = fetchFromGitHub { 9 + owner = "SuperElastix"; 10 + repo = "elastix"; 11 + rev = "ef057ff89233822b26b04b31c3c043af57d5deff"; 12 + sha256 = "0gm3a8dgqww50h6zld9ighjk92wlpybpimjwfz4s5h82vdjsvxrm"; 13 + }; 14 + 15 + nativeBuildInputs = [ cmake python ]; 16 + buildInputs = [ itk ]; 17 + 18 + cmakeFlags = [ "-DUSE_KNNGraphAlphaMutualInformationMetric=OFF" ]; 19 + 20 + checkPhase = "ctest"; 21 + 22 + meta = with stdenv.lib; { 23 + homepage = http://elastix.isi.uu.nl/; 24 + description = "Image registration toolkit based on ITK"; 25 + maintainers = with maintainers; [ bcdarwin ]; 26 + platforms = platforms.unix; 27 + license = licenses.asl20; 28 + }; 29 + }
+7 -5
pkgs/development/ocaml-modules/sedlex/default.nix
··· 1 - { stdenv, fetchzip, ocaml, findlib, gen, ppx_tools }: 1 + { stdenv, fetchzip, ocaml, findlib, gen, ppx_tools_versioned }: 2 2 3 - assert stdenv.lib.versionAtLeast ocaml.version "4.02"; 3 + if !stdenv.lib.versionAtLeast ocaml.version "4.02" 4 + then throw "sedlex is not available for OCaml ${ocaml.version}" 5 + else 4 6 5 7 stdenv.mkDerivation rec { 6 8 name = "ocaml${ocaml.version}-sedlex-${version}"; 7 - version = "1.99.3"; 9 + version = "1.99.4"; 8 10 9 11 src = fetchzip { 10 12 url = "http://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz"; 11 - sha256 = "1wghjy3qyj43ll1ikchlqy7fv2hxcn3ap9xgsscm2ch09d8dcv7y"; 13 + sha256 = "1b7nqxyfcz8i7m4b8zil2rn6ygh2czy26f9v64xnxn8r0hy9sh1m"; 12 14 }; 13 15 14 - buildInputs = [ ocaml findlib ppx_tools ]; 16 + buildInputs = [ ocaml findlib ppx_tools_versioned ]; 15 17 16 18 propagatedBuildInputs = [ gen ]; 17 19
+32
pkgs/development/python-modules/aafigure/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi, pillow }: 2 + 3 + buildPythonPackage rec { 4 + pname = "aafigure"; 5 + version = "0.5"; 6 + name = "${pname}-${version}"; 7 + 8 + src = fetchPypi { 9 + inherit pname version; 10 + sha256 = "090c88beb091d28a233f854e239713aa15d8d1906ea16211855345c912e8a091"; 11 + }; 12 + 13 + propagatedBuildInputs = [ pillow ]; 14 + 15 + # error: invalid command 'test' 16 + doCheck = false; 17 + 18 + # Fix impurity. TODO: Do the font lookup using fontconfig instead of this 19 + # manual method. Until that is fixed, we get this whenever we run aafigure: 20 + # WARNING: font not found, using PIL default font 21 + patchPhase = '' 22 + sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py 23 + ''; 24 + 25 + meta = with stdenv.lib; { 26 + description = "ASCII art to image converter"; 27 + homepage = https://launchpad.net/aafigure/; 28 + license = licenses.bsd2; 29 + maintainers = with maintainers; [ bjornfor ]; 30 + platforms = platforms.linux; 31 + }; 32 + }
+19
pkgs/development/python-modules/acme/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , certbot, nose, cryptography, pyasn1, pyopenssl, pyRFC3339 3 + , pytz, requests, six, werkzeug, mock, ndg-httpsclient }: 4 + 5 + buildPythonPackage rec { 6 + inherit (certbot) src version; 7 + 8 + pname = "acme"; 9 + name = "${pname}-${version}"; 10 + 11 + propagatedBuildInputs = [ 12 + cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock 13 + ndg-httpsclient 14 + ]; 15 + 16 + buildInputs = [ nose ]; 17 + 18 + postUnpack = "sourceRoot=\${sourceRoot}/acme"; 19 + }
+26
pkgs/development/python-modules/acoustics/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , cython, pytest, numpy, scipy, matplotlib, pandas, tabulate }: 3 + 4 + buildPythonPackage rec { 5 + pname = "acoustics"; 6 + version = "0.1.2"; 7 + name = "${pname}-${version}"; 8 + 9 + buildInputs = [ cython pytest ]; 10 + propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ]; 11 + 12 + src = fetchPypi { 13 + inherit pname version; 14 + sha256 = "b75a47de700d01e704de95953a6e969922b2f510d7eefe59f7f8980ad44ad1b7"; 15 + }; 16 + 17 + # Tests not distributed 18 + doCheck = false; 19 + 20 + meta = with stdenv.lib; { 21 + description = "A package for acousticians"; 22 + maintainer = with maintainers; [ fridh ]; 23 + license = with licenses; [ bsd3 ]; 24 + homepage = https://github.com/python-acoustics/python-acoustics; 25 + }; 26 + }
+30
pkgs/development/python-modules/altair/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , pytest, vega, pandas, ipython, traitlets }: 3 + 4 + buildPythonPackage rec { 5 + pname = "altair"; 6 + version = "1.2.0"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "05c47dm20p7m0017p2h38il721rxag1q0457dj7whp0k8rc7qd1n"; 12 + }; 13 + 14 + buildInputs = [ pytest ]; 15 + 16 + checkPhase = '' 17 + export LANG=en_US.UTF-8 18 + py.test altair --doctest-modules 19 + ''; 20 + 21 + propagatedBuildInputs = [ vega pandas ipython traitlets ]; 22 + 23 + meta = with stdenv.lib; { 24 + description = "A declarative statistical visualization library for Python."; 25 + homepage = https://github.com/altair-viz/altair; 26 + license = licenses.bsd3; 27 + maintainers = with maintainers; [ teh ]; 28 + platforms = platforms.linux; 29 + }; 30 + }
+19
pkgs/development/python-modules/ansicolor/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi }: 2 + 3 + buildPythonPackage rec { 4 + pname = "ansicolor"; 5 + version = "0.2.4"; 6 + name = "${pname}-${version}"; 7 + 8 + src = fetchPypi { 9 + inherit pname version; 10 + sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h"; 11 + }; 12 + 13 + meta = with stdenv.lib; { 14 + homepage = "https://github.com/numerodix/ansicolor/"; 15 + description = "A library to produce ansi color output and colored highlighting and diffing"; 16 + license = licenses.asl20; 17 + maintainers = with maintainers; [ andsild ]; 18 + }; 19 + }
+24
pkgs/development/python-modules/discid/default.nix
··· 1 + { stdenv, libdiscid, buildPythonPackage, fetchPypi }: 2 + 3 + buildPythonPackage rec { 4 + pname = "discid"; 5 + version = "1.1.0"; 6 + name = "${pname}-${version}"; 7 + 8 + src = fetchPypi { 9 + inherit pname version; 10 + sha256 = "b39d443051b26d0230be7a6c616243daae93337a8711dd5d4119bb6a0e516fa8"; 11 + }; 12 + 13 + patchPhase = '' 14 + substituteInPlace discid/libdiscid.py \ 15 + --replace '_open_library(_LIB_NAME)' "_open_library('${libdiscid}/lib/libdiscid.so.0')" 16 + ''; 17 + 18 + meta = with stdenv.lib; { 19 + description = "Python binding of libdiscid"; 20 + homepage = "https://python-discid.readthedocs.org/"; 21 + license = licenses.lgpl3Plus; 22 + platforms = platforms.linux; 23 + }; 24 + }
+22
pkgs/development/python-modules/django_tagging/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi, django }: 2 + 3 + buildPythonPackage rec { 4 + pname = "django-tagging"; 5 + version = "0.4.5"; 6 + name = "${pname}-${version}"; 7 + 8 + src = fetchPypi { 9 + inherit pname version; 10 + sha256 = "00ki1g6pb2lnaj4lh0s865mmlf4kdwx7a6n38iy5qz9qv4xrvz4q"; 11 + }; 12 + 13 + # error: invalid command 'test' 14 + doCheck = false; 15 + 16 + propagatedBuildInputs = [ django ]; 17 + 18 + meta = { 19 + description = "A generic tagging application for Django projects"; 20 + homepage = https://github.com/Fantomas42/django-tagging; 21 + }; 22 + }
+21
pkgs/development/python-modules/emcee/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , numpy }: 3 + 4 + buildPythonPackage rec { 5 + pname = "emcee"; 6 + version = "2.1.0"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "0qyafp9jfya0mkxgqfvljf0rkic5fm8nimzwadyrxyvq7nd07qaw"; 12 + }; 13 + 14 + propagatedBuildInputs = [ numpy ]; 15 + 16 + meta = with stdenv.lib; { 17 + description = "Kick ass affine-invariant ensemble MCMC sampling"; 18 + homepage = http://dan.iel.fm/emcee; 19 + license = licenses.mit; 20 + }; 21 + }
+33
pkgs/development/python-modules/intervaltree/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , python, pytest, sortedcontainers }: 3 + 4 + buildPythonPackage rec { 5 + version = "2.1.0"; 6 + pname = "intervaltree"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc"; 12 + }; 13 + 14 + buildInputs = [ pytest ]; 15 + 16 + propagatedBuildInputs = [ sortedcontainers ]; 17 + 18 + checkPhase = '' 19 + runHook preCheck 20 + # pytest will try to run tests for nix_run_setup.py / files in build/lib which fails 21 + mv nix_run_setup.py run_setup 22 + rm build -rf 23 + ${python.interpreter} run_setup test 24 + runHook postCheck 25 + ''; 26 + 27 + meta = with stdenv.lib; { 28 + description = "Editable interval tree data structure for Python 2 and 3"; 29 + homepage = https://github.com/chaimleib/intervaltree; 30 + license = [ licenses.asl20 ]; 31 + maintainers = [ maintainers.bennofs ]; 32 + }; 33 + }
+27
pkgs/development/python-modules/jsonref/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , pytest, mock }: 3 + 4 + buildPythonPackage rec { 5 + pname = "jsonref"; 6 + version = "0.1"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n"; 12 + }; 13 + 14 + buildInputs = [ pytest mock ]; 15 + 16 + checkPhase = '' 17 + py.test tests.py 18 + ''; 19 + 20 + meta = with stdenv.lib; { 21 + description = "An implementation of JSON Reference for Python"; 22 + homepage = "http://github.com/gazpachoking/jsonref"; 23 + license = licenses.mit; 24 + maintainers = with maintainers; [ nand0p ]; 25 + platforms = platforms.all; 26 + }; 27 + }
+24
pkgs/development/python-modules/packaging/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , pyparsing, six, pytest, pretend }: 3 + 4 + buildPythonPackage rec { 5 + pname = "packaging"; 6 + version = "16.8"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e"; 12 + }; 13 + 14 + propagatedBuildInputs = [ pyparsing six ]; 15 + 16 + buildInputs = [ pytest pretend ]; 17 + 18 + meta = with stdenv.lib; { 19 + description = "Core utilities for Python packages"; 20 + homepage = "https://github.com/pypa/packaging"; 21 + license = [ licenses.bsd2 licenses.asl20 ]; 22 + maintainers = with maintainers; [ bennofs ]; 23 + }; 24 + }
+33
pkgs/development/python-modules/pygame_sdl2/default.nix
··· 1 + { stdenv, pkgs, buildPythonPackage, fetchFromGitHub 2 + , cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }: 3 + 4 + buildPythonPackage rec { 5 + pname = "pygame_sdl2"; 6 + version = "6.99.10.1227"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchFromGitHub { 10 + owner = "renpy"; 11 + repo = "${pname}"; 12 + rev = "renpy-${version}"; 13 + sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1"; 14 + }; 15 + 16 + buildInputs = [ 17 + SDL2 SDL2_image SDL2_ttf SDL2_mixer 18 + cython libjpeg libpng 19 + ]; 20 + 21 + postInstall = '' 22 + ( cd "$out"/include/python*/ ; 23 + ln -s pygame-sdl2 pygame_sdl2 || true ; ) 24 + ''; 25 + 26 + meta = with stdenv.lib; { 27 + description = "A reimplementation of parts of pygame API using SDL2"; 28 + homepage = "https://github.com/renpy/pygame_sdl2"; 29 + # Some parts are also available under Zlib License 30 + license = licenses.lgpl2; 31 + maintainers = with maintainers; [ raskin ]; 32 + }; 33 + }
+32
pkgs/development/python-modules/pypandoc/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , pip, pandoc, glibcLocales, haskellPackages, texlive }: 3 + 4 + buildPythonPackage rec { 5 + pname = "pypandoc"; 6 + version = "1.3.3"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "0628f2kn4gqimnhpf251fgzl723hwgyl3idy69dkzyjvi45s5zm6"; 12 + }; 13 + 14 + # Fix tests: first requires network access, second is a bug (reported upstream) 15 + preConfigure = '' 16 + substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'" 17 + substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'<h1 id=\"title\">title</h1>'" 18 + ''; 19 + 20 + LC_ALL="en_US.UTF-8"; 21 + 22 + propagatedBuildInputs = [ pip ]; 23 + 24 + buildInputs = [ pandoc texlive.combined.scheme-small haskellPackages.pandoc-citeproc glibcLocales ]; 25 + 26 + meta = with stdenv.lib; { 27 + description = "Thin wrapper for pandoc"; 28 + homepage = "https://github.com/bebraw/pypandoc"; 29 + license = licenses.mit; 30 + maintainers = with maintainers; [ bennofs kristoff3r ]; 31 + }; 32 + }
+24
pkgs/development/python-modules/pytoml/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchgit 2 + , python }: 3 + 4 + buildPythonPackage rec { 5 + pname = "pytoml"; 6 + version = "0.1.11"; 7 + name = "${pname}-${version}"; 8 + 9 + checkPhase = "${python.interpreter} test/test.py"; 10 + 11 + # fetchgit used to ensure test submodule is available 12 + src = fetchgit { 13 + url = "${meta.homepage}.git"; 14 + rev = "refs/tags/v${version}"; 15 + sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j"; 16 + }; 17 + 18 + meta = with stdenv.lib; { 19 + description = "A TOML parser/writer for Python"; 20 + homepage = https://github.com/avakar/pytoml; 21 + license = licenses.mit; 22 + maintainers = with maintainers; [ peterhoeg ]; 23 + }; 24 + }
+27
pkgs/development/python-modules/stripe/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , unittest2, mock, requests }: 3 + 4 + buildPythonPackage rec { 5 + pname = "stripe"; 6 + version = "1.41.1"; 7 + name = "${pname}-${version}"; 8 + 9 + # Tests require network connectivity and there's no easy way to disable 10 + # them. ~ C. 11 + doCheck = false; 12 + 13 + src = fetchPypi { 14 + inherit pname version; 15 + sha256 = "0zvffvq933ia5w5ll6xhx2zgvppgc6zc2mxhc6f0kypw5g2fxvz5"; 16 + }; 17 + 18 + buildInputs = [ unittest2 mock ]; 19 + 20 + propagatedBuildInputs = [ requests ]; 21 + 22 + meta = with stdenv.lib; { 23 + description = "Stripe Python bindings"; 24 + homepage = "https://github.com/stripe/stripe-python"; 25 + license = licenses.mit; 26 + }; 27 + }
-20
pkgs/development/python-modules/tarsnapper-path.patch
··· 1 - diff --git a/src/tarsnapper/script.py b/src/tarsnapper/script.py 2 - index 737ac8d..52cc775 100644 3 - --- a/src/tarsnapper/script.py 4 - +++ b/src/tarsnapper/script.py 5 - @@ -48,7 +48,7 @@ class TarsnapBackend(object): 6 - """ 7 - ``arguments`` is a single list of strings. 8 - """ 9 - - call_with = ['tarsnap'] 10 - + call_with = ['@NIXTARSNAPPATH@'] 11 - for option in self.options: 12 - key = option[0] 13 - pre = "-" if len(key) == 1 else "--" 14 - @@ -499,4 +499,4 @@ def run(): 15 - 16 - 17 - if __name__ == '__main__': 18 - - run() 19 - \ No newline at end of file 20 - + run()
+25
pkgs/development/python-modules/unifi/default.nix
··· 1 + { stdenv, buildPythonPackage 2 + , fetchPypi, urllib3 }: 3 + 4 + buildPythonPackage rec { 5 + pname = "unifi"; 6 + version = "1.2.5"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8"; 12 + }; 13 + 14 + propagatedBuildInputs = [ urllib3 ]; 15 + 16 + # upstream has no tests 17 + doCheck = false; 18 + 19 + meta = with stdenv.lib; { 20 + description = "An API towards the Ubiquity Networks UniFi controller"; 21 + homepage = https://pypi.python.org/pypi/unifi/; 22 + license = licenses.mit; 23 + maintainers = with maintainers; [ peterhoeg ]; 24 + }; 25 + }
+30
pkgs/development/python-modules/vega/default.nix
··· 1 + { stdenv, buildPythonPackage , fetchPypi 2 + , pytest, jupyter_core, pandas }: 3 + 4 + buildPythonPackage rec { 5 + pname = "vega"; 6 + version = "0.4.4"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm"; 12 + }; 13 + 14 + buildInputs = [ pytest ]; 15 + propagatedBuildInputs = [ jupyter_core pandas ]; 16 + 17 + meta = with stdenv.lib; { 18 + description = "An IPython/Jupyter widget for Vega and Vega-Lite"; 19 + longDescription = '' 20 + To use this you have to enter a nix-shell with vega. Then run: 21 + 22 + jupyter nbextension install --user --py vega 23 + jupyter nbextension enable --user vega 24 + ''; 25 + homepage = https://github.com/vega/ipyvega; 26 + license = licenses.bsd3; 27 + maintainers = with maintainers; [ teh ]; 28 + platforms = platforms.linux; 29 + }; 30 + }
+23
pkgs/development/python-modules/vine/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , case, pytest, pythonOlder }: 3 + 4 + buildPythonPackage rec { 5 + pname = "vine"; 6 + version = "1.1.3"; 7 + name = "${pname}-${version}"; 8 + 9 + disable = pythonOlder "2.7"; 10 + 11 + src = fetchPypi { 12 + inherit pname version; 13 + sha256 = "0h94x9mc9bspg23lb1f73h7smdzc39ps7z7sm0q38ds9jahmvfc7"; 14 + }; 15 + 16 + buildInputs = [ case pytest ]; 17 + 18 + meta = with stdenv.lib; { 19 + description = "Python promises"; 20 + homepage = https://github.com/celery/vine; 21 + license = licenses.bsd3; 22 + }; 23 + }
+24
pkgs/development/python-modules/yamllint/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , nose, pyyaml }: 3 + 4 + buildPythonPackage rec { 5 + pname = "yamllint"; 6 + version = "0.5.2"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "0brdy1crhfng10hlw0420bv10c2xnjk8ndnhssybkzym47yrzg84"; 12 + }; 13 + 14 + buildInputs = [ nose ]; 15 + 16 + propagatedBuildInputs = [ pyyaml ]; 17 + 18 + meta = with stdenv.lib; { 19 + description = "A linter for YAML files"; 20 + homepage = "https://github.com/adrienverge/yamllint"; 21 + license = licenses.gpl3; 22 + maintainers = with maintainers; [ mikefaille ]; 23 + }; 24 + }
+20
pkgs/development/python-modules/yapf/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi }: 2 + 3 + buildPythonPackage rec { 4 + pname = "yapf"; 5 + version = "0.11.0"; 6 + name = "${pname}-${version}"; 7 + 8 + src = fetchPypi { 9 + inherit pname version; 10 + sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij"; 11 + }; 12 + 13 + meta = with stdenv.lib; { 14 + description = "A formatter for Python code."; 15 + homepage = "https://github.com/google/yapf"; 16 + license = licenses.asl20; 17 + maintainers = with maintainers; [ siddharthist ]; 18 + }; 19 + 20 + }
+22
pkgs/development/python-modules/zeroconf/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi 2 + , netifaces, six, enum-compat }: 3 + 4 + buildPythonPackage rec { 5 + pname = "zeroconf"; 6 + version = "0.18.0"; 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchPypi { 10 + inherit pname version; 11 + sha256 = "0s1840v2h4h19ad8lfadbm3dhzs8bw9c5c3slkxql1zsaiycvjy2"; 12 + }; 13 + 14 + propagatedBuildInputs = [ netifaces six enum-compat ]; 15 + 16 + meta = with stdenv.lib; { 17 + description = "A pure python implementation of multicast DNS service discovery"; 18 + homepage = "https://github.com/jstasiak/python-zeroconf"; 19 + license = licenses.lgpl21; 20 + maintainers = with maintainers; [ abbradar ]; 21 + }; 22 + }
+1
pkgs/development/r-modules/default.nix
··· 281 281 pbdMPI = [ pkgs.openmpi ]; 282 282 pbdNCDF4 = [ pkgs.netcdf ]; 283 283 pbdPROF = [ pkgs.openmpi ]; 284 + pbdZMQ = [ pkgs.which ]; 284 285 PKI = [ pkgs.openssl.dev ]; 285 286 png = [ pkgs.libpng.dev ]; 286 287 PopGenome = [ pkgs.zlib.dev ];
+6 -2
pkgs/development/tools/misc/lttng-ust/default.nix
··· 1 - { stdenv, fetchurl, liburcu }: 1 + { stdenv, fetchurl, liburcu, python }: 2 2 3 3 # NOTE: 4 4 # ./configure ... ··· 20 20 sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq"; 21 21 }; 22 22 23 - buildInputs = [ liburcu ]; 23 + buildInputs = [ liburcu python ]; 24 + 25 + preConfigure = '' 26 + patchShebangs . 27 + ''; 24 28 25 29 meta = with stdenv.lib; { 26 30 description = "LTTng Userspace Tracer libraries";
+2 -2
pkgs/development/tools/misc/teensy-loader-cli/default.nix
··· 6 6 name = "teensy-loader-cli-${version}"; 7 7 src = fetchgit { 8 8 url = "git://github.com/PaulStoffregen/teensy_loader_cli.git"; 9 - rev = "001da416bc362ff24485ff97e3a729bd921afe98"; 10 - sha256 = "36aed0a725055e36d71183ff57a023993099fdc380072177cffc7676da3c3966"; 9 + rev = "f5b6d7aafda9a8b014b4bb08660833ca45c136d2"; 10 + sha256 = "1a663bv3lvm7bsf2wcaj2c0vpmniak7w5hwix5qgz608bvm2v781"; 11 11 }; 12 12 13 13 buildInputs = [ unzip libusb ];
+7 -7
pkgs/development/tools/ocaml/ocaml-top/default.nix
··· 1 1 { stdenv, fetchzip, ncurses 2 2 , ocamlPackages 3 - , opam }: 3 + , jbuilder }: 4 4 5 5 stdenv.mkDerivation { 6 - name = "ocaml-top-1.1.3"; 6 + name = "ocaml-top-1.1.4"; 7 7 src = fetchzip { 8 - url = https://github.com/OCamlPro/ocaml-top/archive/1.1.3.tar.gz; 9 - sha256 = "0islyinv7lwhg8hkg4xn30wwz1nv50rj0wpsis8jpimw6jdsnax3"; 8 + url = https://github.com/OCamlPro/ocaml-top/archive/1.1.4.tar.gz; 9 + sha256 = "1lmzjmnzsg8xdz0q5nm95zclihi9z80kzsalapg0s9wq0id8qm4j"; 10 10 }; 11 11 12 - buildInputs = [ ncurses opam ] 12 + buildInputs = [ ncurses jbuilder ] 13 13 ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]); 14 14 15 15 configurePhase = '' ··· 17 17 ocp-build -init 18 18 ''; 19 19 20 - buildPhase = "ocp-build ocaml-top"; 20 + buildPhase = "jbuilder build"; 21 21 22 - installPhase = "opam-installer --prefix=$out"; 22 + inherit (jbuilder) installPhase; 23 23 24 24 meta = { 25 25 homepage = http://www.typerex.org/ocaml-top.html;
+2 -2
pkgs/development/tools/ocaml/ocp-build/default.nix
··· 1 1 { stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }: 2 2 let 3 - version = "1.99.18-beta"; 3 + version = "1.99.19-beta"; 4 4 in 5 5 buildOcaml { 6 6 ··· 11 11 owner = "OCamlPro"; 12 12 repo = "ocp-build"; 13 13 rev = version; 14 - sha256 = "14vzam8p1d2c5qxljrhsfppd8a3j9lxx8kzxlplwclkr2laar0ss"; 14 + sha256 = "162k5l0cxyqanxlml5v8mqapdq5qbqc9m4b8wdjq7mf523b3h2zj"; 15 15 }; 16 16 17 17 buildInputs = [ ocaml ];
+3 -3
pkgs/games/factorio/default.nix
··· 10 10 11 11 with stdenv.lib; 12 12 let 13 - version = if releaseType != "demo" then "0.15.26" else "0.15.25"; 13 + version = if releaseType != "demo" then "0.15.30" else "0.15.25"; 14 14 15 15 arch = if stdenv.system == "x86_64-linux" then { 16 16 inUrl = "linux64"; ··· 26 26 url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}"; 27 27 name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz"; 28 28 x64 = { 29 - headless = fetchurl { inherit name url; sha256 = "1nblfff1m5wgp177l508y94n61lga3palhzw4frp2vd98sdp7gqk"; }; 30 - alpha = authenticatedFetch { inherit name url; sha256 = "0g7k58h15q4n9wxf96rx72w340xpdbj8k1faaxixrfrfx8bnmsls"; }; 29 + headless = fetchurl { inherit name url; sha256 = "0nmr73i9acnqgphfmsps7f8jlw0f2gyal9l8pldlp4rk0cjgvszy"; }; 30 + alpha = authenticatedFetch { inherit name url; sha256 = "1ydh44na2lbvdv4anrblym7d6wxwapfbwap40n3722llrsad0zsz"; }; 31 31 demo = fetchurl { inherit name url; sha256 = "1qz6g8mf221ic663zk92l6rs77ggfydaw2d8g2s7wy0j9097qbsl"; }; 32 32 }; 33 33 i386 = {
+1 -1
pkgs/games/factorio/fetch.sh
··· 33 33 34 34 if grep -q 'Location: https://' headers; then 35 35 # Now download. We need --insecure for this, but the sha256 should cover us. 36 - $curl --insecure --location $url > $out 36 + $curl --insecure --location --fail $url > $out || { echo "Login succeeded, but subsequent fetch failed."; exit 1; } 37 37 set +x 38 38 else 39 39 set +x
+9 -6
pkgs/misc/themes/zuki/default.nix
··· 4 4 name = "zuki-themes-${version}"; 5 5 version = "${gnome3.version}.${date}"; 6 6 date = { 7 - "3.20" = "2017-02-09"; 8 - "3.22" = "2017-02-17"; 7 + "3.20" = "2017-05-03"; 8 + "3.22" = "2017-04-23"; 9 + "3.24" = "2017-06-26"; 9 10 }."${gnome3.version}"; 10 11 11 12 src = fetchFromGitHub { 12 13 owner = "lassekongo83"; 13 14 repo = "zuki-themes"; 14 15 rev = { 15 - "3.20" = "b9106c3c05012b7e91394819ca550def3357d2eb"; 16 - "3.22" = "fc3cf7c372bcc439870c4785f91b8ea7af73e1cc"; 16 + "3.20" = "ce7ae498df7d5c81acaf48ed957b9f828356d58c"; 17 + "3.22" = "e97f2c3cf75b5205bc5ecd6072696327169fde5d"; 18 + "3.24" = "d25e0a2fb6e08ad107d8bb627451433362f2a830"; 17 19 }."${gnome3.version}"; 18 20 sha256 = { 19 - "3.20" = "03k18p25gsscv05934vs0py26vpcrx93wi5bj6di277c6kwgjzxg"; 20 - "3.22" = "02ppk8wsx0k7j3zgmcb1l8jgij0m5rdkrahfv884jxkyjr6wwgs5"; 21 + "3.20" = "0na81q9mc8kwn9m04kkcchrdr67087dqf3q155imhjgqrxjhh3w4"; 22 + "3.22" = "195v0d2sgqh92c104xqm00p68yxp6kzp5mzx8q7s36bdv9p972q4"; 23 + "3.24" = "0z5swi5aah3s4yinfglh491qydxgjkqwf6zxyz7k9c1d7lrvj3ww"; 21 24 }."${gnome3.version}"; 22 25 }; 23 26
+3 -1
pkgs/os-specific/linux/kernel/common-config.nix
··· 302 302 CIFS_UPCALL y 303 303 CIFS_ACL y 304 304 CIFS_DFS_UPCALL y 305 - CIFS_SMB2 y 305 + ${optionalString (versionOlder version "4.13") '' 306 + CIFS_SMB2 y 307 + ''} 306 308 ${optionalString (versionAtLeast version "3.12") '' 307 309 CEPH_FSCACHE y 308 310 ''}
+2 -2
pkgs/os-specific/linux/kernel/linux-4.11.nix
··· 1 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.11.10"; 4 + version = "4.11.11"; 5 5 extraMeta.branch = "4.11"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "1dma031rcj8nvcb3znbcffafwm5cpax3cvqkq9zspa8lf5ah52si"; 9 + sha256 = "1dvs1r3vq15akyv0yxvim6j09pqac5dagqbchvdlsw5yi4fnylc8"; 10 10 }; 11 11 12 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.12.nix
··· 1 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.12.1"; 4 + version = "4.12.2"; 5 5 extraMeta.branch = "4.12"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "0qm8lp6z3f2frqb585i5r7cb6hbzd0m13p0ywz4s8bqxwmrym1cw"; 9 + sha256 = "1ql5y6bvb1bx9b2k5iksdzjgzxnq852rvq69kdnkwa98p8p8ayha"; 10 10 }; 11 11 12 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.4.nix
··· 1 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.4.76"; 4 + version = "4.4.77"; 5 5 extraMeta.branch = "4.4"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "180mngyar7ky2aiaszmgfqpfvwi0kxcym8j3ifflzggwqjkgrrki"; 9 + sha256 = "1s5l5b3hpm691w94a3ddliy4gcxi2s9xm3hsazdwgzqrqdv70ysy"; 10 10 }; 11 11 12 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.9.nix
··· 1 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.9.37"; 4 + version = "4.9.38"; 5 5 extraMeta.branch = "4.9"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "14300vddyz7x6vg1mx64a0i8i61fk5bl8azcvv7rf3b97c4cy7pn"; 9 + sha256 = "0x4h2b6xapqyxgivj9ay5yclmyl434bjfmq9ikajy7fmgpc8kmvn"; 10 10 }; 11 11 12 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
··· 1 1 { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: 2 2 3 3 let 4 - version = "4.12.1"; 4 + version = "4.12.2"; 5 5 revision = "a"; 6 - sha256 = "0fjw5fmxpvdhfqkr4lcpmqw8xxj92q19ya8q48yhxvv149ahcvhq"; 6 + sha256 = "0w3k5a30li2qz2msach9sg9qsvmjsc4mf9k3ad5dxd0667a0hygm"; 7 7 in 8 8 9 9 import ./generic.nix (args // {
+4 -4
pkgs/os-specific/linux/kernel/linux-testing.nix
··· 1 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.12-rc7"; 5 - modDirVersion = "4.12.0-rc7"; 6 - extraMeta.branch = "4.12"; 4 + version = "4.13-rc1"; 5 + modDirVersion = "4.13.0-rc1"; 6 + extraMeta.branch = "4.13"; 7 7 8 8 src = fetchurl { 9 9 url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; 10 - sha256 = "1svfswv0b4gagv1yiavwb22p726h0w81lgxjqq0h9m3gf4xlqp3x"; 10 + sha256 = "1pdbykp2336vk7ynrz0l95rwqags6kklbr08wjc7zpmdaad6yd6m"; 11 11 }; 12 12 13 13 features.iwlwifi = true;
-224
pkgs/os-specific/linux/kernel/perf-offline-probe.patch
··· 1 - From 8a937a25a7e3c19d5fb3f9d92f605cf5fda219d8 Mon Sep 17 00:00:00 2001 2 - From: Masami Hiramatsu <mhiramat@kernel.org> 3 - Date: Wed, 4 Jan 2017 12:30:19 +0900 4 - Subject: perf probe: Fix to probe on gcc generated symbols for offline kernel 5 - 6 - From: Masami Hiramatsu <mhiramat@kernel.org> 7 - 8 - commit 8a937a25a7e3c19d5fb3f9d92f605cf5fda219d8 upstream. 9 - 10 - Fix perf-probe to show probe definition on gcc generated symbols for 11 - offline kernel (including cross-arch kernel image). 12 - 13 - gcc sometimes optimizes functions and generate new symbols with suffixes 14 - such as ".constprop.N" or ".isra.N" etc. Since those symbol names are 15 - not recorded in DWARF, we have to find correct generated symbols from 16 - offline ELF binary to probe on it (kallsyms doesn't correct it). For 17 - online kernel or uprobes we don't need it because those are rebased on 18 - _text, or a section relative address. 19 - 20 - E.g. Without this: 21 - 22 - $ perf probe -k build-arm/vmlinux -F __slab_alloc* 23 - __slab_alloc.constprop.9 24 - $ perf probe -k build-arm/vmlinux -D __slab_alloc 25 - p:probe/__slab_alloc __slab_alloc+0 26 - 27 - If you put above definition on target machine, it should fail 28 - because there is no __slab_alloc in kallsyms. 29 - 30 - With this fix, perf probe shows correct probe definition on 31 - __slab_alloc.constprop.9: 32 - 33 - $ perf probe -k build-arm/vmlinux -D __slab_alloc 34 - p:probe/__slab_alloc __slab_alloc.constprop.9+0 35 - 36 - Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> 37 - Cc: Jiri Olsa <jolsa@redhat.com> 38 - Cc: Namhyung Kim <namhyung@kernel.org> 39 - Cc: Peter Zijlstra <peterz@infradead.org> 40 - Link: http://lkml.kernel.org/r/148350060434.19001.11864836288580083501.stgit@devbox 41 - Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> 42 - Cc: Krister Johansen <kjlx@templeofstupid.com> 43 - Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 44 - 45 - --- 46 - tools/perf/util/probe-event.c | 48 +++++++++++++++++++++++++++++++++++++++++- 47 - 1 file changed, 47 insertions(+), 1 deletion(-) 48 - 49 - --- a/tools/perf/util/probe-event.c 50 - +++ b/tools/perf/util/probe-event.c 51 - @@ -618,6 +618,51 @@ error: 52 - return ret ? : -ENOENT; 53 - } 54 - 55 - +/* 56 - + * Rename DWARF symbols to ELF symbols -- gcc sometimes optimizes functions 57 - + * and generate new symbols with suffixes such as .constprop.N or .isra.N 58 - + * etc. Since those symbols are not recorded in DWARF, we have to find 59 - + * correct generated symbols from offline ELF binary. 60 - + * For online kernel or uprobes we don't need this because those are 61 - + * rebased on _text, or already a section relative address. 62 - + */ 63 - +static int 64 - +post_process_offline_probe_trace_events(struct probe_trace_event *tevs, 65 - + int ntevs, const char *pathname) 66 - +{ 67 - + struct symbol *sym; 68 - + struct map *map; 69 - + unsigned long stext = 0; 70 - + u64 addr; 71 - + int i; 72 - + 73 - + /* Prepare a map for offline binary */ 74 - + map = dso__new_map(pathname); 75 - + if (!map || get_text_start_address(pathname, &stext) < 0) { 76 - + pr_warning("Failed to get ELF symbols for %s\n", pathname); 77 - + return -EINVAL; 78 - + } 79 - + 80 - + for (i = 0; i < ntevs; i++) { 81 - + addr = tevs[i].point.address + tevs[i].point.offset - stext; 82 - + sym = map__find_symbol(map, addr); 83 - + if (!sym) 84 - + continue; 85 - + if (!strcmp(sym->name, tevs[i].point.symbol)) 86 - + continue; 87 - + /* If we have no realname, use symbol for it */ 88 - + if (!tevs[i].point.realname) 89 - + tevs[i].point.realname = tevs[i].point.symbol; 90 - + else 91 - + free(tevs[i].point.symbol); 92 - + tevs[i].point.symbol = strdup(sym->name); 93 - + tevs[i].point.offset = addr - sym->start; 94 - + } 95 - + map__put(map); 96 - + 97 - + return 0; 98 - +} 99 - + 100 - static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs, 101 - int ntevs, const char *exec) 102 - { 103 - @@ -694,7 +739,8 @@ post_process_kernel_probe_trace_events(s 104 - 105 - /* Skip post process if the target is an offline kernel */ 106 - if (symbol_conf.ignore_vmlinux_buildid) 107 - - return 0; 108 - + return post_process_offline_probe_trace_events(tevs, ntevs, 109 - + symbol_conf.vmlinux_name); 110 - 111 - reloc_sym = kernel_get_ref_reloc_sym(); 112 - if (!reloc_sym) { 113 - 114 - --- 115 - 116 - From 3e96dac7c956089d3f23aca98c4dfca57b6aaf8a Mon Sep 17 00:00:00 2001 117 - From: Masami Hiramatsu <mhiramat@kernel.org> 118 - Date: Wed, 11 Jan 2017 15:00:47 +0900 119 - Subject: perf probe: Add error checks to offline probe post-processing 120 - 121 - From: Masami Hiramatsu <mhiramat@kernel.org> 122 - 123 - commit 3e96dac7c956089d3f23aca98c4dfca57b6aaf8a upstream. 124 - 125 - Add error check codes on post processing and improve it for offline 126 - probe events as: 127 - 128 - - post processing fails if no matched symbol found in map(-ENOENT) 129 - or strdup() failed(-ENOMEM). 130 - 131 - - Even if the symbol name is the same, it updates symbol address 132 - and offset. 133 - 134 - Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> 135 - Cc: Jiri Olsa <jolsa@redhat.com> 136 - Cc: Namhyung Kim <namhyung@kernel.org> 137 - Cc: Peter Zijlstra <peterz@infradead.org> 138 - Link: http://lkml.kernel.org/r/148411443738.9978.4617979132625405545.stgit@devbox 139 - Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> 140 - Cc: Krister Johansen <kjlx@templeofstupid.com> 141 - Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 142 - 143 - --- 144 - tools/perf/util/probe-event.c | 50 +++++++++++++++++++++++++++--------------- 145 - 1 file changed, 33 insertions(+), 17 deletions(-) 146 - 147 - --- a/tools/perf/util/probe-event.c 148 - +++ b/tools/perf/util/probe-event.c 149 - @@ -618,6 +618,33 @@ error: 150 - return ret ? : -ENOENT; 151 - } 152 - 153 - +/* Adjust symbol name and address */ 154 - +static int post_process_probe_trace_point(struct probe_trace_point *tp, 155 - + struct map *map, unsigned long offs) 156 - +{ 157 - + struct symbol *sym; 158 - + u64 addr = tp->address + tp->offset - offs; 159 - + 160 - + sym = map__find_symbol(map, addr); 161 - + if (!sym) 162 - + return -ENOENT; 163 - + 164 - + if (strcmp(sym->name, tp->symbol)) { 165 - + /* If we have no realname, use symbol for it */ 166 - + if (!tp->realname) 167 - + tp->realname = tp->symbol; 168 - + else 169 - + free(tp->symbol); 170 - + tp->symbol = strdup(sym->name); 171 - + if (!tp->symbol) 172 - + return -ENOMEM; 173 - + } 174 - + tp->offset = addr - sym->start; 175 - + tp->address -= offs; 176 - + 177 - + return 0; 178 - +} 179 - + 180 - /* 181 - * Rename DWARF symbols to ELF symbols -- gcc sometimes optimizes functions 182 - * and generate new symbols with suffixes such as .constprop.N or .isra.N 183 - @@ -630,11 +657,9 @@ static int 184 - post_process_offline_probe_trace_events(struct probe_trace_event *tevs, 185 - int ntevs, const char *pathname) 186 - { 187 - - struct symbol *sym; 188 - struct map *map; 189 - unsigned long stext = 0; 190 - - u64 addr; 191 - - int i; 192 - + int i, ret = 0; 193 - 194 - /* Prepare a map for offline binary */ 195 - map = dso__new_map(pathname); 196 - @@ -644,23 +669,14 @@ post_process_offline_probe_trace_events( 197 - } 198 - 199 - for (i = 0; i < ntevs; i++) { 200 - - addr = tevs[i].point.address + tevs[i].point.offset - stext; 201 - - sym = map__find_symbol(map, addr); 202 - - if (!sym) 203 - - continue; 204 - - if (!strcmp(sym->name, tevs[i].point.symbol)) 205 - - continue; 206 - - /* If we have no realname, use symbol for it */ 207 - - if (!tevs[i].point.realname) 208 - - tevs[i].point.realname = tevs[i].point.symbol; 209 - - else 210 - - free(tevs[i].point.symbol); 211 - - tevs[i].point.symbol = strdup(sym->name); 212 - - tevs[i].point.offset = addr - sym->start; 213 - + ret = post_process_probe_trace_point(&tevs[i].point, 214 - + map, stext); 215 - + if (ret < 0) 216 - + break; 217 - } 218 - map__put(map); 219 - 220 - - return 0; 221 - + return ret; 222 - } 223 - 224 - static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs,
+1 -1
pkgs/os-specific/linux/kernel/perf.nix
··· 13 13 14 14 inherit (kernel) src; 15 15 16 - patches = kernel.patches ++ [ ./perf-binutils-path.patch ./perf-offline-probe.patch ]; 16 + patches = kernel.patches ++ [ ./perf-binutils-path.patch ]; 17 17 18 18 preConfigure = '' 19 19 cd tools/perf
+4 -4
pkgs/os-specific/linux/spl/default.nix
··· 62 62 assert buildKernel -> kernel != null; 63 63 { 64 64 splStable = common { 65 - version = "0.6.5.10"; 66 - sha256 = "1zdxggpdz9j0lpcqfnkvf4iym7mp2k246sg1s4frqaw1pwwcw9vi"; 65 + version = "0.6.5.11"; 66 + sha256 = "192val8035pj2rryi3fwb134avzirhv5ifaj5021vh8bbjx75pd5"; 67 67 }; 68 68 splUnstable = common { 69 - version = "0.7.0-rc4"; 70 - sha256 = "13r5qwrdnaabqfy9fvizvdj4n4cvfv6zy4jh0vijzjvbjd4an9g1"; 69 + version = "0.7.0-rc5"; 70 + sha256 = "17y25g02c9swi3n90lhjvazcnsr69nh50dz3b8g1c08zlz9n2akp"; 71 71 }; 72 72 }
+5 -5
pkgs/os-specific/linux/zfs/default.nix
··· 123 123 # to be adapted 124 124 zfsStable = common { 125 125 # comment/uncomment if breaking kernel versions are known 126 - incompatibleKernelVersion = null; 126 + incompatibleKernelVersion = "4.12"; 127 127 128 - version = "0.6.5.10"; 128 + version = "0.6.5.11"; 129 129 130 130 # this package should point to the latest release. 131 - sha256 = "04gn5fj22z17zq2nazxwl3j9dr33l79clha6ipxvdz241bhjqrk3"; 131 + sha256 = "1wqz43cjr21m3f52ahcikl2798pbzj5sfy16zqxwiqpv7iy09kr3"; 132 132 extraPatches = [ 133 133 (fetchpatch { 134 134 url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch"; ··· 141 141 # comment/uncomment if breaking kernel versions are known 142 142 incompatibleKernelVersion = "4.12"; 143 143 144 - version = "0.7.0-rc4"; 144 + version = "0.7.0-rc5"; 145 145 146 146 # this package should point to a version / git revision compatible with the latest kernel release 147 - sha256 = "16jiq2h7m2ljg5xv7m5lqmsszzclkhvj1iq1wa9w740la4vl22kf"; 147 + sha256 = "1k0fl6lbi5winri58v26k7gngd560hbj0247rnwcbc6j01ixsr5n"; 148 148 extraPatches = [ 149 149 (fetchpatch { 150 150 url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch";
+3 -3
pkgs/servers/tt-rss/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "tt-rss-${version}"; 5 - version = "16.3"; 5 + version = "17.4"; 6 6 7 7 src = fetchgit { 8 - url = "https://tt-rss.org/gitlab/fox/tt-rss.git"; 8 + url = "https://git.tt-rss.org/git/tt-rss.git"; 9 9 rev = "refs/tags/${version}"; 10 - sha256 = "1584lcq6kcy9f8ik5djb9apck9hxvfpl54sn6yhl3pdfrfdj3nw5"; 10 + sha256 = "07ng21n4pva56cxnxkzd6vzs381zn67psqpm51ym5wnl644jqh08"; 11 11 }; 12 12 13 13 buildPhases = ["unpackPhase" "installPhase"];
+2 -2
pkgs/tools/backup/restic/default.nix
··· 2 2 3 3 buildGoPackage rec { 4 4 name = "restic-${version}"; 5 - version = "0.6.1"; 5 + version = "0.7.0"; 6 6 7 7 goPackagePath = "github.com/restic/restic"; 8 8 ··· 10 10 owner = "restic"; 11 11 repo = "restic"; 12 12 rev = "v${version}"; 13 - sha256 = "1rp4s1gh07j06457rhl4r0qnxqn0h7n4i8k50akdr87nwyikkn17"; 13 + sha256 = "1whzzma2c199i604qy1a807zhi8qgri1r9bbxl5l7wlfh7x0n6sd"; 14 14 }; 15 15 16 16 buildPhase = ''
+2 -2
pkgs/tools/backup/tarsnap/default.nix
··· 8 8 in 9 9 stdenv.mkDerivation rec { 10 10 name = "tarsnap-${version}"; 11 - version = "1.0.37"; 11 + version = "1.0.38"; 12 12 13 13 src = fetchurl { 14 14 url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz"; 15 - sha256 = "1ynv323qi6775lzjb6hvifl8ajkv2bizy43sajadjfqvcl9r96gs"; 15 + sha256 = "0nyd722i7q8h81h5mvwxai0f3jmwd93r3ahjkmr12k55p8c0rvkn"; 16 16 }; 17 17 18 18 preConfigure = ''
+25
pkgs/tools/backup/tarsnapper/default.nix
··· 1 + { python3Packages, fetchFromGitHub , tarsnap }: 2 + 3 + python3Packages.buildPythonApplication rec { 4 + name = "tarsnapper-${version}"; 5 + version = "0.4"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "miracle2k"; 9 + repo = "tarsnapper"; 10 + rev = version; 11 + sha256 = "03db49188f4v1946c8mqqj30ah10x68hbg3a58js0syai32v12pm"; 12 + }; 13 + 14 + buildInputs = with python3Packages; [ nose pytest ]; 15 + 16 + checkPhase = '' 17 + py.test . 18 + ''; 19 + 20 + propagatedBuildInputs = with python3Packages; [ pyyaml dateutil pexpect ]; 21 + 22 + patches = [ ./remove-argparse.patch ]; 23 + 24 + makeWrapperArgs = ["--prefix PATH : ${tarsnap}/bin"]; 25 + }
+10
pkgs/tools/backup/tarsnapper/remove-argparse.patch
··· 1 + --- tarsnapper-0.4-src.org/setup.py 1980-01-02 00:00:00.000000000 +0000 2 + +++ tarsnapper-0.4-src/setup.py 2017-07-16 10:54:36.596499451 +0100 3 + @@ -45,6 +45,6 @@ 4 + url='http://github.com/miracle2k/tarsnapper', 5 + license='BSD', 6 + packages=['tarsnapper'], 7 + - install_requires = ['argparse>=1.1', 'pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'], 8 + + install_requires = ['pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'], 9 + **kw 10 + )
+2 -2
pkgs/tools/networking/lftp/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "lftp-${version}"; 5 - version = "4.7.7"; 5 + version = "4.8.0"; 6 6 7 7 src = fetchurl { 8 8 urls = [ ··· 10 10 "ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2" 11 11 "http://lftp.yar.ru/ftp/old/${name}.tar.bz2" 12 12 ]; 13 - sha256 = "104jvzmvbmblfg8n8ffrnrrg8za5l25n53lbkawwy5x3m4h1yi7y"; 13 + sha256 = "0z2432zxzg808swi72yak9kia976qrjj030grk0v4p54mcib3s34"; 14 14 }; 15 15 16 16 nativeBuildInputs = [ pkgconfig ];
+2 -2
pkgs/tools/package-management/opkg/default.nix
··· 2 2 , autoreconfHook }: 3 3 4 4 stdenv.mkDerivation rec { 5 - version = "0.3.4"; 5 + version = "0.3.5"; 6 6 name = "opkg-${version}"; 7 7 src = fetchurl { 8 8 url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz"; 9 - sha256 = "1glkxjhsaaji172phd1gv8g0k0fs09pij6k01cl9namnac5r02vm"; 9 + sha256 = "0ciz6h6sx9hnz463alpkcqwqnq8jk382ifc6z89j29hix8fw4jvk"; 10 10 }; 11 11 12 12 nativeBuildInputs = [ pkgconfig autoreconfHook ];
+14 -4
pkgs/top-level/all-packages.nix
··· 4370 4370 4371 4371 tarsnap = callPackage ../tools/backup/tarsnap { }; 4372 4372 4373 + tarsnapper = callPackage ../tools/backup/tarsnapper { }; 4374 + 4373 4375 tcpcrypt = callPackage ../tools/security/tcpcrypt { }; 4374 4376 4375 4377 tcptraceroute = callPackage ../tools/networking/tcptraceroute { }; ··· 5619 5621 (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } 5620 5622 (openjdk7.jre // { outputs = [ "jre" ]; })); 5621 5623 5622 - jdk8 = openjdk8 // { outputs = [ "out" ]; }; 5623 - jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" 5624 + jdk8 = if stdenv.isArm then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; }; 5625 + jre8 = if stdenv.isArm then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" 5624 5626 (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } 5625 5627 (openjdk8.jre // { outputs = [ "jre" ]; })); 5626 5628 jre8_headless = ··· 5653 5655 5654 5656 supportsJDK = 5655 5657 system == "i686-linux" || 5656 - system == "x86_64-linux"; 5658 + system == "x86_64-linux" || 5659 + system == "armv7l-linux"; 5657 5660 5658 5661 jdkdistro = oraclejdk8distro; 5659 5662 ··· 6064 6067 inherit (beam.interpreters) 6065 6068 erlang erlang_odbc erlang_javac erlang_odbc_javac 6066 6069 elixir elixir_1_5_rc elixir_1_4 elixir_1_3 6067 - lfe 6070 + lfe lfe_1_2 6068 6071 erlangR16 erlangR16_odbc 6069 6072 erlang_basho_R16B02 erlang_basho_R16B02_odbc 6070 6073 erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac ··· 7390 7393 7391 7394 aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {}); 7392 7395 7396 + aspellWithDicts = callPackage ../development/libraries/aspell/aspell-with-dicts.nix { }; 7397 + 7393 7398 attica = callPackage ../development/libraries/attica { }; 7394 7399 7395 7400 attr = callPackage ../development/libraries/attr { }; ··· 7654 7659 7655 7660 vmmlib = callPackage ../development/libraries/vmmlib {}; 7656 7661 7662 + elastix = callPackage ../development/libraries/science/biology/elastix { }; 7663 + 7657 7664 enchant = callPackage ../development/libraries/enchant { }; 7658 7665 7659 7666 enet = callPackage ../development/libraries/enet { }; ··· 13399 13406 libgpod = pkgs.libgpod.override { monoSupport = true; }; 13400 13407 }; 13401 13408 13409 + bashSnippets = callPackage ../applications/misc/bashSnippets { }; 13410 + 13402 13411 batik = callPackage ../applications/graphics/batik { }; 13403 13412 13404 13413 batti = callPackage ../applications/misc/batti { }; ··· 18651 18660 nix-serve = callPackage ../tools/package-management/nix-serve { }; 18652 18661 18653 18662 nixos-artwork = callPackage ../data/misc/nixos-artwork { }; 18663 + nixos-icons = callPackage ../data/misc/nixos-artwork/icons.nix { }; 18654 18664 18655 18665 nixos-container = callPackage ../tools/virtualization/nixos-container { }; 18656 18666
+1 -1
pkgs/top-level/beam-packages.nix
··· 58 58 # `beam.packages.erlangR19.elixir`. 59 59 inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3; 60 60 61 - lfe = packages.erlang.lfe; 61 + inherit (packages.erlang) lfe lfe_1_2; 62 62 }; 63 63 64 64 # Helper function to generate package set with a specific Erlang version.
+31 -468
pkgs/top-level/python-packages.nix
··· 84 84 85 85 vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { pythonPackages = self; }; 86 86 87 - acoustics = buildPythonPackage rec { 88 - pname = "acoustics"; 89 - version = "0.1.2"; 90 - name = pname + "-" + version; 91 - 92 - buildInputs = with self; [ cython pytest ]; 93 - propagatedBuildInputs = with self; [ numpy scipy matplotlib pandas tabulate ]; 94 - 95 - src = pkgs.fetchurl { 96 - url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz"; 97 - sha256 = "b75a47de700d01e704de95953a6e969922b2f510d7eefe59f7f8980ad44ad1b7"; 98 - }; 99 - 100 - # Tests not distributed 101 - doCheck = false; 102 - 103 - meta = { 104 - description = "A package for acousticians"; 105 - maintainer = with maintainers; [ fridh ]; 106 - license = with licenses; [ bsd3 ]; 107 - homepage = https://github.com/python-acoustics/python-acoustics; 108 - }; 109 - }; 87 + acoustics = callPackage ../development/python-modules/acoustics { }; 110 88 111 89 "3to2" = callPackage ../development/python-modules/3to2 { }; 112 90 ··· 122 100 123 101 agate-sql = callPackage ../development/python-modules/agate-sql { }; 124 102 125 - ansicolor = buildPythonPackage rec { 126 - name = "ansicolor-${version}"; 127 - version = "0.2.4"; 128 - 129 - src = pkgs.fetchurl{ 130 - url = "mirror://pypi/a/ansicolor/${name}.tar.gz"; 131 - sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h"; 132 - }; 133 - 134 - meta = { 135 - homepage = "https://github.com/numerodix/ansicolor/"; 136 - description = "A library to produce ansi color output and colored highlighting and diffing"; 137 - license = licenses.asl20; 138 - maintainers = with maintainers; [ andsild ]; 139 - }; 140 - }; 103 + ansicolor = callPackage ../development/python-modules/ansicolor { }; 141 104 142 105 asn1crypto = callPackage ../development/python-modules/asn1crypto { }; 143 106 ··· 167 130 168 131 dkimpy = callPackage ../development/python-modules/dkimpy { }; 169 132 170 - emcee = buildPythonPackage { 171 - name = "emcee-2.1.0"; 172 - src = pkgs.fetchurl { 173 - url = "mirror://pypi/e/emcee/emcee-2.1.0.tar.gz"; 174 - sha256 = "0qyafp9jfya0mkxgqfvljf0rkic5fm8nimzwadyrxyvq7nd07qaw"; 175 - }; 176 - propagatedBuildInputs = [ self.numpy ]; 177 - meta = { 178 - homepage = http://dan.iel.fm/emcee; 179 - license = "MIT"; 180 - description = "Kick ass affine-invariant ensemble MCMC sampling"; 181 - }; 182 - }; 133 + emcee = callPackage ../development/python-modules/emcee { }; 183 134 184 135 dbus-python = callPackage ../development/python-modules/dbus { 185 136 dbus = pkgs.dbus; 186 137 }; 187 138 188 - discid = buildPythonPackage rec { 189 - name = "discid-1.1.0"; 190 - 191 - meta = { 192 - description = "Python binding of libdiscid"; 193 - homepage = "https://python-discid.readthedocs.org/"; 194 - license = licenses.lgpl3Plus; 195 - platforms = platforms.linux; 196 - }; 197 - 198 - src = pkgs.fetchurl { 199 - url = "mirror://pypi/d/discid/${name}.tar.gz"; 200 - sha256 = "b39d443051b26d0230be7a6c616243daae93337a8711dd5d4119bb6a0e516fa8"; 201 - }; 202 - 203 - patchPhase = '' 204 - substituteInPlace discid/libdiscid.py \ 205 - --replace '_open_library(_LIB_NAME)' "_open_library('${pkgs.libdiscid}/lib/libdiscid.so.0')" 206 - ''; 207 - }; 139 + discid = callPackage ../development/python-modules/discid { }; 208 140 209 141 discordpy = callPackage ../development/python-modules/discordpy { }; 210 142 ··· 264 196 265 197 pygame-git = callPackage ../development/python-modules/pygame/git.nix { }; 266 198 267 - pygame_sdl2 = buildPythonPackage rec { 268 - pname = "pygame_sdl2"; 269 - version = "6.99.10.1227"; 270 - name = "${pname}-${version}"; 199 + pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { }; 271 200 272 - meta = { 273 - description = "A reimplementation of parts of pygame API using SDL2"; 274 - homepage = "https://github.com/renpy/pygame_sdl2"; 275 - # Some parts are also available under Zlib License 276 - license = licenses.lgpl2; 277 - maintainers = with maintainers; [ raskin ]; 278 - }; 201 + pygobject2 = callPackage ../development/python-modules/pygobject { }; 279 202 280 - propagatedBuildInputs = with self; [ ]; 281 - buildInputs = with pkgs; with self; [ 282 - SDL2 SDL2_image SDL2_ttf SDL2_mixer 283 - cython libjpeg libpng ]; 284 - 285 - postInstall = '' 286 - ( cd "$out"/include/python*/ ; 287 - ln -s pygame-sdl2 pygame_sdl2 || true ; ) 288 - ''; 289 - 290 - src = pkgs.fetchFromGitHub { 291 - owner = "renpy"; 292 - repo = "${pname}"; 293 - rev = "renpy-${version}"; 294 - sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1"; 295 - }; 296 - }; 297 - 298 - pygobject2 = callPackage ../development/python-modules/pygobject { }; 299 203 pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { }; 300 204 301 205 pygtk = callPackage ../development/python-modules/pygtk { libglade = null; }; ··· 352 256 hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; 353 257 }; 354 258 355 - unifi = buildPythonPackage rec { 356 - name = "unifi-1.2.5"; 357 - 358 - propagatedBuildInputs = with self; [ urllib3 ]; 359 - 360 - # upstream has no tests 361 - doCheck = false; 362 - 363 - meta = { 364 - description = "An API towards the Ubiquity Networks UniFi controller"; 365 - homepage = https://pypi.python.org/pypi/unifi/; 366 - license = licenses.mit; 367 - maintainers = with maintainers; [ peterhoeg ]; 368 - }; 369 - 370 - src = pkgs.fetchurl { 371 - url = "mirror://pypi/u/unifi/${name}.tar.gz"; 372 - sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8"; 373 - }; 374 - }; 259 + unifi = callPackage ../development/python-modules/unifi { }; 375 260 376 261 pyunbound = callPackage ../tools/networking/unbound/python.nix { }; 377 262 378 263 # packages defined here 379 264 380 - aafigure = buildPythonPackage rec { 381 - name = "aafigure-0.5"; 382 - 383 - src = pkgs.fetchurl { 384 - url = "mirror://pypi/a/aafigure/${name}.tar.gz"; 385 - sha256 = "090c88beb091d28a233f854e239713aa15d8d1906ea16211855345c912e8a091"; 386 - }; 387 - 388 - propagatedBuildInputs = with self; [ pillow ]; 389 - 390 - # error: invalid command 'test' 391 - doCheck = false; 392 - 393 - # Fix impurity. TODO: Do the font lookup using fontconfig instead of this 394 - # manual method. Until that is fixed, we get this whenever we run aafigure: 395 - # WARNING: font not found, using PIL default font 396 - patchPhase = '' 397 - sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py 398 - ''; 399 - 400 - meta = { 401 - description = "ASCII art to image converter"; 402 - homepage = https://launchpad.net/aafigure/; 403 - license = licenses.bsd2; 404 - platforms = platforms.linux; 405 - maintainers = with maintainers; [ bjornfor ]; 406 - }; 407 - }; 408 - 409 - altair = buildPythonPackage rec { 410 - name = "altair-1.2.0"; 411 - 412 - src = pkgs.fetchurl { 413 - url = "mirror://pypi/a/altair/${name}.tar.gz"; 414 - sha256 = "05c47dm20p7m0017p2h38il721rxag1q0457dj7whp0k8rc7qd1n"; 415 - }; 416 - buildInputs = [ self.pytest ]; 417 - 418 - checkPhase = '' 419 - export LANG=en_US.UTF-8 420 - py.test altair --doctest-modules 421 - ''; 422 - propagatedBuildInputs = with self; [ vega pandas ipython traitlets ]; 423 - meta = { 424 - description = "A declarative statistical visualization library for Python."; 425 - homepage = https://github.com/altair-viz/altair; 426 - license = licenses.bsd3; 427 - platforms = platforms.linux; 428 - maintainers = with maintainers; [ teh ]; 429 - }; 430 - }; 431 - vega = buildPythonPackage rec { 432 - name = "vega-0.4.4"; 265 + aafigure = callPackage ../development/python-modules/aafigure { }; 433 266 434 - src = pkgs.fetchurl { 435 - url = "mirror://pypi/v/vega/${name}.tar.gz"; 436 - sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm"; 437 - }; 267 + altair = callPackage ../development/python-modules/altair { }; 438 268 439 - buildInputs = [ self.pytest ]; 440 - propagatedBuildInputs = with self; [ jupyter_core pandas ]; 269 + vega = callPackage ../development/python-modules/vega { }; 441 270 442 - meta = { 443 - description = " An IPython/Jupyter widget for Vega and Vega-Lite."; 444 - longDescription = '' 445 - To use this you have to enter a nix-shell with vega. Then run: 446 - 447 - jupyter nbextension install --user --py vega 448 - jupyter nbextension enable --user vega 449 - ''; 450 - homepage = https://github.com/vega/ipyvega; 451 - license = licenses.bsd3; 452 - platforms = platforms.linux; 453 - maintainers = with maintainers; [ teh ]; 454 - }; 455 - }; 456 - 457 - acme = buildPythonPackage rec { 458 - inherit (pkgs.certbot) src version; 459 - 460 - name = "acme-${version}"; 461 - 462 - propagatedBuildInputs = with self; [ 463 - cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock 464 - ndg-httpsclient 465 - ]; 466 - 467 - buildInputs = with self; [ nose ]; 468 - postUnpack = "sourceRoot=\${sourceRoot}/acme"; 469 - }; 271 + acme = callPackage ../development/python-modules/acme { }; 470 272 471 273 acme-tiny = buildPythonPackage rec { 472 274 name = "acme-tiny-${version}"; ··· 8192 7994 8193 7995 paperwork-backend = buildPythonPackage rec { 8194 7996 name = "paperwork-backend-${version}"; 8195 - version = "1.0.6"; 7997 + version = "1.2.0"; 8196 7998 8197 7999 src = pkgs.fetchFromGitHub { 8198 8000 owner = "jflesch"; 8199 8001 repo = "paperwork-backend"; 8200 8002 rev = version; 8201 - sha256 = "11jbhv9xcpimp9iq2b1hlpljzij73s86rb5lpgzhslqc7zmm5bxn"; 8003 + sha256 = "1pzyy14f9wzh9vwn855k1z48a8mbs73j1dk8730kdlcdkmn3l1ms"; 8202 8004 }; 8203 8005 8204 8006 # Python 2.x is not supported. 8205 8007 disabled = !isPy3k && !isPyPy; 8206 8008 8207 - # Make sure that chkdeps exits with status 1 if a dependency is not found. 8208 - postPatch = '' 8209 - sed -i -e '/print.*Missing dependencies/,/^ *$/ { 8210 - /^ *$/ a \ sys.exit(1) 8211 - }' scripts/paperwork-shell 8212 - ''; 8213 - 8214 8009 preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend"; 8215 8010 8216 8011 propagatedBuildInputs = with self; [ 8217 8012 pyenchant simplebayes pillow pycountry whoosh termcolor 8218 - python-Levenshtein pyinsane2 pygobject3 pyocr pkgs.poppler_gi 8013 + python-Levenshtein pyinsane2 pygobject3 pyocr 8014 + pkgs.poppler_gi pkgs.gtk3 8015 + natsort 8219 8016 ]; 8220 8017 8221 8018 meta = { ··· 9938 9735 9939 9736 django_polymorphic = callPackage ../development/python-modules/django-polymorphic { }; 9940 9737 9941 - django_tagging = buildPythonPackage rec { 9942 - name = "django-tagging-0.4.5"; 9738 + django_tagging = callPackage ../development/python-modules/django_tagging { }; 9943 9739 9944 - src = pkgs.fetchurl { 9945 - url = "mirror://pypi/d/django-tagging/${name}.tar.gz"; 9946 - sha256 = "00ki1g6pb2lnaj4lh0s865mmlf4kdwx7a6n38iy5qz9qv4xrvz4q"; 9947 - }; 9948 - 9949 - # error: invalid command 'test' 9950 - doCheck = false; 9951 - 9952 - propagatedBuildInputs = with self; [ django ]; 9953 - 9954 - meta = { 9955 - description = "A generic tagging application for Django projects"; 9956 - homepage = https://github.com/Fantomas42/django-tagging; 9957 - }; 9958 - }; 9959 - 9960 - django_tagging_0_3 = self.django_tagging.override (attrs: rec { 9740 + django_tagging_0_3 = self.django_tagging.overrideAttrs (attrs: rec { 9961 9741 name = "django-tagging-0.3.6"; 9962 9742 9963 9743 src = pkgs.fetchurl { ··· 23884 23664 }; 23885 23665 }; 23886 23666 23887 - tarsnapper = buildPythonPackage rec { 23888 - name = "tarsnapper-0.2.1"; 23889 - disabled = isPy3k; 23890 - 23891 - src = pkgs.fetchgit { 23892 - url = https://github.com/miracle2k/tarsnapper.git; 23893 - rev = "620439bca68892f2ffaba1079a34b18496cc6596"; 23894 - sha256 = "1n2k2r9x11r1ph9jcjhlk44hsghfnl1pl3aakbx121qc5dg7b0yn"; 23895 - }; 23896 - 23897 - propagatedBuildInputs = with self; [ argparse pyyaml ]; 23898 - 23899 - patches = [ ../development/python-modules/tarsnapper-path.patch ]; 23900 - 23901 - preConfigure = '' 23902 - substituteInPlace src/tarsnapper/script.py \ 23903 - --replace '@NIXTARSNAPPATH@' '${pkgs.tarsnap}/bin/tarsnap' 23904 - ''; 23905 - }; 23906 - 23907 23667 taskcoach = buildPythonPackage rec { 23908 23668 name = "TaskCoach-1.3.22"; 23909 23669 disabled = isPy3k; ··· 29972 29732 }; 29973 29733 }; 29974 29734 29975 - yapf = buildPythonPackage rec { 29976 - name = "yapf-${version}"; 29977 - version = "0.11.0"; 29978 - 29979 - meta = { 29980 - description = "A formatter for Python code."; 29981 - homepage = "https://github.com/google/yapf"; 29982 - license = licenses.asl20; 29983 - maintainers = with maintainers; [ siddharthist ]; 29984 - }; 29985 - 29986 - src = pkgs.fetchurl { 29987 - url = "mirror://pypi/y/yapf/${name}.tar.gz"; 29988 - sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij"; 29989 - }; 29990 - }; 29735 + yapf = callPackage ../development/python-modules/yapf { }; 29991 29736 29992 29737 autobahn = callPackage ../development/python-modules/autobahn { }; 29993 29738 29994 - jsonref = buildPythonPackage rec { 29995 - name = "${pname}-${version}"; 29996 - pname = "jsonref"; 29997 - version = "0.1"; 29998 - 29999 - meta = { 30000 - description = "An implementation of JSON Reference for Python."; 30001 - homepage = "http://github.com/gazpachoking/jsonref"; 30002 - license = licenses.mit; 30003 - maintainers = with maintainers; [ nand0p ]; 30004 - platforms = platforms.all; 30005 - }; 30006 - 30007 - buildInputs = with self; [ pytest mock ]; 30008 - checkPhase = '' 30009 - py.test tests.py 30010 - ''; 30011 - 30012 - src = pkgs.fetchurl { 30013 - url = "mirror://pypi/j/${pname}/${name}.tar.gz"; 30014 - sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n"; 30015 - }; 30016 - }; 29739 + jsonref = callPackage ../development/python-modules/jsonref { }; 30017 29740 30018 29741 whoosh = callPackage ../development/python-modules/whoosh { }; 30019 29742 ··· 30087 29810 }; 30088 29811 }; 30089 29812 30090 - intervaltree = buildPythonPackage rec { 30091 - name = "intervaltree-${version}"; 30092 - version = "2.1.0"; 30093 - src = pkgs.fetchurl { 30094 - url = "mirror://pypi/i/intervaltree/${name}.tar.gz"; 30095 - sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc"; 30096 - }; 30097 - buildInputs = with self; [ pytest ]; 30098 - propagatedBuildInputs = with self; [ sortedcontainers ]; 30099 - checkPhase = '' 30100 - runHook preCheck 30101 - # pytest will try to run tests for nix_run_setup.py / files in build/lib which fails 30102 - mv nix_run_setup.py run_setup 30103 - rm build -rf 30104 - ${python.interpreter} run_setup test 30105 - runHook postCheck 30106 - ''; 30107 - meta = with pkgs.stdenv.lib; { 30108 - description = "Editable interval tree data structure for Python 2 and 3"; 30109 - homepage = https://github.com/chaimleib/intervaltree; 30110 - license = [ licenses.asl20 ]; 30111 - maintainers = [ maintainers.bennofs ]; 30112 - }; 30113 - }; 30114 - 30115 - packaging = buildPythonPackage rec { 30116 - name = "packaging-16.8"; 30117 - src = pkgs.fetchurl { 30118 - url = "mirror://pypi/p/packaging/${name}.tar.gz"; 30119 - sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e"; 30120 - }; 30121 - propagatedBuildInputs = with self; [ pyparsing six ]; 30122 - buildInputs = with self; [ pytest pretend ]; 30123 - 30124 - meta = with pkgs.stdenv.lib; { 30125 - description = "Core utilities for Python packages"; 30126 - homepage = "https://github.com/pypa/packaging"; 30127 - license = [ licenses.bsd2 licenses.asl20 ]; 30128 - maintainers = with maintainers; [ bennofs ]; 30129 - }; 30130 - }; 30131 - 30132 - pytoml = buildPythonPackage rec { 30133 - name = "pytoml-${version}"; 30134 - version = "0.1.11"; 29813 + intervaltree = callPackage ../development/python-modules/intervaltree { }; 30135 29814 30136 - checkPhase = "${python.interpreter} test/test.py"; 29815 + packaging = callPackage ../development/python-modules/packaging { }; 30137 29816 30138 - # fetchgit used to ensure test submodule is available 30139 - src = pkgs.fetchgit { 30140 - url = "${meta.homepage}.git"; 30141 - rev = "refs/tags/v${version}"; 30142 - sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j"; 30143 - }; 29817 + pytoml = callPackage ../development/python-modules/pytoml { }; 30144 29818 30145 - meta = { 30146 - description = "A TOML parser/writer for Python"; 30147 - homepage = https://github.com/avakar/pytoml; 30148 - license = licenses.mit; 30149 - maintainers = with maintainers; [ peterhoeg ]; 30150 - }; 30151 - }; 29819 + pypandoc = callPackage ../development/python-modules/pypandoc { }; 30152 29820 30153 - pypandoc = buildPythonPackage rec { 30154 - name = "pypandoc-1.3.3"; 30155 - src = pkgs.fetchurl { 30156 - url = "mirror://pypi/p/pypandoc/${name}.tar.gz"; 30157 - sha256 = "0628f2kn4gqimnhpf251fgzl723hwgyl3idy69dkzyjvi45s5zm6"; 30158 - }; 30159 - 30160 - # Fix tests: first requires network access, second is a bug (reported upstream) 30161 - preConfigure = '' 30162 - substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'" 30163 - substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'<h1 id=\"title\">title</h1>'" 30164 - ''; 30165 - 30166 - LC_ALL="en_US.UTF-8"; 30167 - 30168 - propagatedBuildInputs = with self; [ self.pip ]; 30169 - buildInputs = [ pkgs.pandoc pkgs.texlive.combined.scheme-small pkgs.haskellPackages.pandoc-citeproc pkgs.glibcLocales ]; 30170 - 30171 - meta = with pkgs.stdenv.lib; { 30172 - description = "Thin wrapper for pandoc"; 30173 - homepage = "https://github.com/bebraw/pypandoc"; 30174 - license = licenses.mit; 30175 - maintainers = with maintainers; [ bennofs kristoff3r ]; 30176 - }; 30177 - }; 30178 - 30179 - yamllint = buildPythonPackage rec { 30180 - name = "${pname}-${version}"; 30181 - pname = "yamllint"; 30182 - version = "0.5.2"; 30183 - 30184 - src = pkgs.fetchurl{ 30185 - url = "mirror://pypi/y/${pname}/${name}.tar.gz"; 30186 - sha256 = "0brdy1crhfng10hlw0420bv10c2xnjk8ndnhssybkzym47yrzg84"; 30187 - }; 30188 - 30189 - buildInputs = with self; [ nose ]; 30190 - propagatedBuildInputs = with self; [ pyyaml ]; 30191 - 30192 - meta = { 30193 - homepage = "https://github.com/adrienverge/yamllint"; 30194 - description = "A linter for YAML files"; 30195 - license = licenses.gpl3; 30196 - maintainers = with maintainers; [ mikefaille ]; 30197 - }; 30198 - }; 29821 + yamllint = callPackage ../development/python-modules/yamllint { }; 30199 29822 30200 29823 yarl = callPackage ../development/python-modules/yarl { }; 30201 29824 ··· 30224 29847 30225 29848 typed-ast = callPackage ../development/python-modules/typed-ast { }; 30226 29849 30227 - stripe = buildPythonPackage rec { 30228 - name = "${pname}-${version}"; 30229 - pname = "stripe"; 30230 - version = "1.41.1"; 30231 - 30232 - # Tests require network connectivity and there's no easy way to disable 30233 - # them. ~ C. 30234 - doCheck = false; 30235 - 30236 - src = pkgs.fetchurl { 30237 - url = "mirror://pypi/s/${pname}/${name}.tar.gz"; 30238 - sha256 = "0zvffvq933ia5w5ll6xhx2zgvppgc6zc2mxhc6f0kypw5g2fxvz5"; 30239 - }; 30240 - 30241 - buildInputs = with self; [ unittest2 mock ]; 30242 - propagatedBuildInputs = with self; [ requests ]; 30243 - 30244 - meta = { 30245 - homepage = "https://github.com/stripe/stripe-python"; 30246 - description = "Stripe Python bindings"; 30247 - license = licenses.mit; 30248 - }; 30249 - }; 29850 + stripe = callPackage ../development/python-modules/stripe { }; 30250 29851 30251 29852 uranium = callPackage ../development/python-modules/uranium { }; 30252 29853 30253 - vine = buildPythonPackage rec { 30254 - name = "vine-${version}"; 30255 - version = "1.1.3"; 30256 - 30257 - disable = pythonOlder "2.7"; 30258 - 30259 - src = pkgs.fetchurl { 30260 - url = "mirror://pypi/v/vine/${name}.tar.gz"; 30261 - sha256 = "0h94x9mc9bspg23lb1f73h7smdzc39ps7z7sm0q38ds9jahmvfc7"; 30262 - }; 30263 - 30264 - buildInputs = with self; [ case pytest ]; 30265 - 30266 - meta = { 30267 - homepage = https://github.com/celery/vine; 30268 - description = "python promises"; 30269 - license = licenses.bsd3; 30270 - }; 30271 - }; 29854 + vine = callPackage ../development/python-modules/vine { }; 30272 29855 30273 29856 wp_export_parser = buildPythonPackage rec { 30274 29857 name = "${pname}-${version}"; ··· 30282 29865 }; 30283 29866 }; 30284 29867 30285 - wptserve = callPackage ../development/python-modules/wptserve {}; 29868 + wptserve = callPackage ../development/python-modules/wptserve { }; 30286 29869 30287 - yenc = callPackage ../development/python-modules/yenc { 30288 - }; 29870 + yenc = callPackage ../development/python-modules/yenc { }; 30289 29871 30290 - zeep = callPackage ../development/python-modules/zeep { 30291 - }; 29872 + zeep = callPackage ../development/python-modules/zeep { }; 30292 29873 30293 29874 zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else 30294 29875 (pkgs.zeitgeist.override{python2Packages=self;}).py; 30295 29876 30296 - zeroconf = buildPythonPackage rec { 30297 - pname = "zeroconf"; 30298 - version = "0.18.0"; 30299 - name = "${pname}-${version}"; 30300 - 30301 - src = fetchPypi { 30302 - inherit pname version; 30303 - sha256 = "0s1840v2h4h19ad8lfadbm3dhzs8bw9c5c3slkxql1zsaiycvjy2"; 30304 - }; 30305 - 30306 - propagatedBuildInputs = with self; [ netifaces six enum-compat ]; 30307 - 30308 - meta = { 30309 - description = "A pure python implementation of multicast DNS service discovery"; 30310 - homepage = "https://github.com/jstasiak/python-zeroconf"; 30311 - license = licenses.lgpl21; 30312 - maintainers = with maintainers; [ abbradar ]; 30313 - }; 30314 - }; 29877 + zeroconf = callPackage ../development/python-modules/zeroconf { }; 30315 29878 30316 29879 zipfile36 = buildPythonPackage rec { 30317 29880 pname = "zipfile36";