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

+1672 -945
+213
doc/configuration.xml
··· 243 244 </section> 245 246 247 </chapter>
··· 243 244 </section> 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> 459 460 </chapter>
+1
maintainers/scripts/update-python-libraries
··· 91 if release['filename'].endswith(extension): 92 # TODO: In case of wheel we need to do further checks! 93 sha256 = release['digests']['sha256'] 94 else: 95 sha256 = None 96 return version, sha256
··· 91 if release['filename'].endswith(extension): 92 # TODO: In case of wheel we need to do further checks! 93 sha256 = release['digests']['sha256'] 94 + break 95 else: 96 sha256 = None 97 return version, sha256
+17 -1
nixos/doc/manual/release-notes/rl-1709.xml
··· 86 </listitem> 87 <listitem> 88 <para> 89 The <literal>postgres</literal> default version was changed from 9.5 to 9.6. 90 </para> 91 <para> ··· 93 </para> 94 <para> 95 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. 96 </para> 97 </listitem> 98 <listitem> ··· 113 also serve as a SSH agent if <literal>enableSSHSupport</literal> is set. 114 </para> 115 </listitem> 116 </itemizedlist> 117 - 118 119 <para>Other notable improvements:</para> 120
··· 86 </listitem> 87 <listitem> 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> 93 The <literal>postgres</literal> default version was changed from 9.5 to 9.6. 94 </para> 95 <para> ··· 97 </para> 98 <para> 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>. 103 </para> 104 </listitem> 105 <listitem> ··· 120 also serve as a SSH agent if <literal>enableSSHSupport</literal> is set. 121 </para> 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> 133 </itemizedlist> 134 135 <para>Other notable improvements:</para> 136
+2
nixos/modules/config/pulseaudio.nix
··· 6 let 7 8 cfg = config.hardware.pulseaudio; 9 10 systemWide = cfg.enable && cfg.systemWide; 11 nonSystemWide = cfg.enable && !cfg.systemWide; ··· 76 ctl.!default { 77 type pulse 78 } 79 ''); 80 81 in {
··· 6 let 7 8 cfg = config.hardware.pulseaudio; 9 + alsaCfg = config.sound; 10 11 systemWide = cfg.enable && cfg.systemWide; 12 nonSystemWide = cfg.enable && !cfg.systemWide; ··· 77 ctl.!default { 78 type pulse 79 } 80 + ${alsaCfg.extraConfig} 81 ''); 82 83 in {
+1
nixos/modules/module-list.nix
··· 326 ./services/misc/ripple-data-api.nix 327 ./services/misc/rogue.nix 328 ./services/misc/siproxd.nix 329 ./services/misc/sonarr.nix 330 ./services/misc/spice-vdagentd.nix 331 ./services/misc/ssm-agent.nix
··· 326 ./services/misc/ripple-data-api.nix 327 ./services/misc/rogue.nix 328 ./services/misc/siproxd.nix 329 + ./services/misc/snapper.nix 330 ./services/misc/sonarr.nix 331 ./services/misc/spice-vdagentd.nix 332 ./services/misc/ssm-agent.nix
+3
nixos/modules/profiles/all-hardware.nix
··· 41 42 # Virtio (QEMU, KVM etc.) support. 43 "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console" 44 45 # Hyper-V support. 46 "hv_storvsc"
··· 41 42 # Virtio (QEMU, KVM etc.) support. 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" 47 48 # Hyper-V support. 49 "hv_storvsc"
+3 -1
nixos/modules/services/audio/alsa.nix
··· 7 8 inherit (pkgs) alsaUtils; 9 10 in 11 12 { ··· 80 81 environment.systemPackages = [ alsaUtils ]; 82 83 - environment.etc = mkIf (config.sound.extraConfig != "") 84 [ 85 { source = pkgs.writeText "asound.conf" config.sound.extraConfig; 86 target = "asound.conf";
··· 7 8 inherit (pkgs) alsaUtils; 9 10 + pulseaudioEnabled = config.hardware.pulseaudio.enable; 11 + 12 in 13 14 { ··· 82 83 environment.systemPackages = [ alsaUtils ]; 84 85 + environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "") 86 [ 87 { source = pkgs.writeText "asound.conf" config.sound.extraConfig; 88 target = "asound.conf";
+2 -3
nixos/modules/services/misc/nixos-manual.nix
··· 62 name = "nixos-manual"; 63 desktopName = "NixOS Manual"; 64 genericName = "View NixOS documentation in a web browser"; 65 - # TODO: find a better icon (Nix logo + help overlay?) 66 - icon = "system-help"; 67 exec = "${helpScript}/bin/nixos-help"; 68 categories = "System"; 69 }; ··· 115 116 environment.systemPackages = 117 [ manual.manual helpScript ] 118 - ++ optional config.services.xserver.enable desktopItem 119 ++ optional config.programs.man.enable manual.manpages; 120 121 boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
··· 62 name = "nixos-manual"; 63 desktopName = "NixOS Manual"; 64 genericName = "View NixOS documentation in a web browser"; 65 + icon = "nix-snowflake"; 66 exec = "${helpScript}/bin/nixos-help"; 67 categories = "System"; 68 }; ··· 114 115 environment.systemPackages = 116 [ manual.manual helpScript ] 117 + ++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons] 118 ++ optional config.programs.man.enable manual.manpages; 119 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 """ 449 Manage Taskserver users and certificates 450 """ 451 for path in (CA_KEY, CA_CERT, CRL_FILE): 452 if not os.path.exists(path): 453 msg = "CA setup not done or incomplete, missing file {}."
··· 448 """ 449 Manage Taskserver users and certificates 450 """ 451 + if not IS_AUTO_CONFIG: 452 + return 453 for path in (CA_KEY, CA_CERT, CRL_FILE): 454 if not os.path.exists(path): 455 msg = "CA setup not done or incomplete, missing file {}."
+11 -2
nixos/modules/services/networking/tinc.nix
··· 79 default = null; 80 type = types.nullOr types.str; 81 description = '' 82 - The ip adress to bind to. 83 ''; 84 }; 85 ··· 131 Name = ${if data.name == null then "$HOST" else data.name} 132 DeviceType = ${data.interfaceType} 133 ${optionalString (data.ed25519PrivateKeyFile != null) "Ed25519PrivateKeyFile = ${data.ed25519PrivateKeyFile}"} 134 - ${optionalString (data.listenAddress != null) "BindToAddress = ${data.listenAddress}"} 135 Device = /dev/net/tun 136 Interface = tinc.${network} 137 ${data.extraConfig}
··· 79 default = null; 80 type = types.nullOr types.str; 81 description = '' 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). 91 ''; 92 }; 93 ··· 139 Name = ${if data.name == null then "$HOST" else data.name} 140 DeviceType = ${data.interfaceType} 141 ${optionalString (data.ed25519PrivateKeyFile != null) "Ed25519PrivateKeyFile = ${data.ed25519PrivateKeyFile}"} 142 + ${optionalString (data.listenAddress != null) "ListenAddress = ${data.listenAddress}"} 143 + ${optionalString (data.bindToAddress != null) "BindToAddress = ${data.bindToAddress}"} 144 Device = /dev/net/tun 145 Interface = tinc.${network} 146 ${data.extraConfig}
+2
nixos/modules/services/printing/cupsd.nix
··· 324 fi 325 ''} 326 ''; 327 }; 328 329 systemd.services.cups-browsed = mkIf avahiEnabled
··· 324 fi 325 ''} 326 ''; 327 + 328 + serviceConfig.PrivateTmp = true; 329 }; 330 331 systemd.services.cups-browsed = mkIf avahiEnabled
+28 -24
nixos/modules/services/web-servers/nginx/default.nix
··· 123 124 vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: 125 let 126 - serverName = vhost.serverName; 127 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 ('' 132 location /.well-known/acme-challenge { 133 ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} 134 root ${vhost.acmeRoot}; 135 auth_basic off; 136 } 137 - '' + (optionalString (vhost.acmeFallbackHost != null) '' 138 - location @acme-fallback { 139 - auth_basic off; 140 - proxy_pass http://${vhost.acmeFallbackHost}; 141 - } 142 - '')); 143 in '' 144 ${optionalString vhost.forceSSL '' 145 server { 146 - listen 80 ${optionalString vhost.default "default_server"}; 147 - ${optionalString enableIPv6 148 - ''listen [::]:80 ${optionalString vhost.default "default_server"};'' 149 - } 150 151 - server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; 152 - ${acmeLocation} 153 location / { 154 - return 301 https://$host${optionalString (port != 443) ":${toString port}"}$request_uri; 155 } 156 } 157 ''} 158 159 server { 160 - listen ${listenString}; 161 - ${optionalString enableIPv6 "listen [::]:${listenString};"} 162 - 163 - server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; 164 - ${acmeLocation} 165 ${optionalString (vhost.root != null) "root ${vhost.root};"} 166 ${optionalString (vhost.globalRedirect != null) '' 167 return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri; ··· 380 381 virtualHosts = mkOption { 382 type = types.attrsOf (types.submodule (import ./vhost-options.nix { 383 - inherit lib; 384 })); 385 default = { 386 localhost = {};
··· 123 124 vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: 125 let 126 ssl = vhost.enableSSL || vhost.forceSSL; 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 = '' 139 location /.well-known/acme-challenge { 140 ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} 141 root ${vhost.acmeRoot}; 142 auth_basic off; 143 } 144 + ${optionalString (vhost.acmeFallbackHost != null) '' 145 + location @acme-fallback { 146 + auth_basic off; 147 + proxy_pass http://${vhost.acmeFallbackHost}; 148 + } 149 + ''} 150 + ''; 151 + 152 in '' 153 ${optionalString vhost.forceSSL '' 154 server { 155 + ${concatMapStringsSep "\n" redirectListenString vhost.listen} 156 157 + server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; 158 + ${optionalString vhost.enableACME acmeLocation} 159 location / { 160 + return 301 https://$host$request_uri; 161 } 162 } 163 ''} 164 165 server { 166 + ${concatMapStringsSep "\n" listenString vhost.listen} 167 + server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; 168 + ${optionalString vhost.enableACME acmeLocation} 169 ${optionalString (vhost.root != null) "root ${vhost.root};"} 170 ${optionalString (vhost.globalRedirect != null) '' 171 return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri; ··· 384 385 virtualHosts = mkOption { 386 type = types.attrsOf (types.submodule (import ./vhost-options.nix { 387 + inherit config lib; 388 })); 389 default = { 390 localhost = {};
+20 -6
nixos/modules/services/web-servers/nginx/vhost-options.nix
··· 3 # has additional options that affect the web server as a whole, like 4 # the user/group to run under.) 5 6 - { lib }: 7 8 with lib; 9 { ··· 26 ''; 27 }; 28 29 - port = mkOption { 30 - type = types.nullOr types.int; 31 - default = null; 32 description = '' 33 - Port for the server. Defaults to 80 for http 34 - and 443 for https (i.e. when enableSSL is set). 35 ''; 36 }; 37
··· 3 # has additional options that affect the web server as a whole, like 4 # the user/group to run under.) 5 6 + { config, lib }: 7 8 with lib; 9 { ··· 26 ''; 27 }; 28 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 + ]; 44 description = '' 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). 49 ''; 50 }; 51
+1
nixos/modules/system/boot/stage-1-init.sh
··· 301 *x-nixos.autoresize*) 302 if [ "$fsType" = ext2 -o "$fsType" = ext3 -o "$fsType" = ext4 ]; then 303 echo "resizing $device..." 304 resize2fs "$device" 305 fi 306 ;;
··· 301 *x-nixos.autoresize*) 302 if [ "$fsType" = ext2 -o "$fsType" = ext3 -o "$fsType" = ext4 ]; then 303 echo "resizing $device..." 304 + e2fsck -fp "$device" 305 resize2fs "$device" 306 fi 307 ;;
+1
nixos/release.nix
··· 303 tests.simple = callTest tests/simple.nix {}; 304 tests.slim = callTest tests/slim.nix {}; 305 tests.smokeping = callTest tests/smokeping.nix {}; 306 tests.taskserver = callTest tests/taskserver.nix {}; 307 tests.tomcat = callTest tests/tomcat.nix {}; 308 tests.udisks2 = callTest tests/udisks2.nix {};
··· 303 tests.simple = callTest tests/simple.nix {}; 304 tests.slim = callTest tests/slim.nix {}; 305 tests.smokeping = callTest tests/smokeping.nix {}; 306 + tests.snapper = callTest tests/snapper.nix {}; 307 tests.taskserver = callTest tests/taskserver.nix {}; 308 tests.tomcat = callTest tests/tomcat.nix {}; 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 }; 247 248 subtest "check manual configuration", sub { 249 $server->succeed('${switchToNewServer} >&2'); 250 $server->waitForUnit("taskserver.service"); 251 $server->waitForOpenPort(${portStr});
··· 246 }; 247 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 + 253 $server->succeed('${switchToNewServer} >&2'); 254 $server->waitForUnit("taskserver.service"); 255 $server->waitForOpenPort(${portStr});
+2 -2
pkgs/applications/audio/mopidy-iris/default.nix
··· 2 3 pythonPackages.buildPythonApplication rec { 4 name = "mopidy-iris-${version}"; 5 - version = "3.0.3"; 6 7 src = pythonPackages.fetchPypi { 8 inherit version; 9 pname = "Mopidy-Iris"; 10 - sha256 = "1j8zrkvgs2f6jcqf1sn79afiirk5plfrkychlzcwqrxix293ngjr"; 11 }; 12 13 propagatedBuildInputs = [
··· 2 3 pythonPackages.buildPythonApplication rec { 4 name = "mopidy-iris-${version}"; 5 + version = "3.0.5"; 6 7 src = pythonPackages.fetchPypi { 8 inherit version; 9 pname = "Mopidy-Iris"; 10 + sha256 = "0rabpzmiis13z4qz3vqlsfc9xjkwracafckahnq2cq97qawyq9y9"; 11 }; 12 13 propagatedBuildInputs = [
+14 -14
pkgs/applications/editors/jetbrains/default.nix
··· 265 266 idea-community = buildIdea rec { 267 name = "idea-community-${version}"; 268 - version = "2017.1.4"; 269 description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; 270 license = stdenv.lib.licenses.asl20; 271 src = fetchurl { 272 url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; 273 - sha256 = "1w1knq969dl8rxlkhr9mw8cr2vszn384acwhspimrd3zs9825r45"; 274 }; 275 wmClass = "jetbrains-idea-ce"; 276 update-channel = "IDEA_Release"; ··· 304 305 idea-ultimate = buildIdea rec { 306 name = "idea-ultimate-${version}"; 307 - version = "2017.1.4"; 308 description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; 309 license = stdenv.lib.licenses.unfree; 310 src = fetchurl { 311 url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz"; 312 - sha256 = "0byrsbsscpzb0syamzpavny879src5dlclnissa7173rh8hgkna4"; 313 }; 314 wmClass = "jetbrains-idea"; 315 update-channel = "IDEA_Release"; ··· 343 344 pycharm-community = buildPycharm rec { 345 name = "pycharm-community-${version}"; 346 - version = "2017.1.4"; /* updated by script */ 347 description = "PyCharm Community Edition"; 348 license = stdenv.lib.licenses.asl20; 349 src = fetchurl { 350 url = "https://download.jetbrains.com/python/${name}.tar.gz"; 351 - sha256 = "1e69ab29215a9c8c4626de6727df433ae0d9f6ed46eba2a6f48ffa52c2b04256"; /* updated by script */ 352 }; 353 wmClass = "jetbrains-pycharm-ce"; 354 update-channel = "PyCharm_Release"; ··· 356 357 pycharm-professional = buildPycharm rec { 358 name = "pycharm-professional-${version}"; 359 - version = "2017.1.4"; /* updated by script */ 360 description = "PyCharm Professional Edition"; 361 license = stdenv.lib.licenses.unfree; 362 src = fetchurl { 363 url = "https://download.jetbrains.com/python/${name}.tar.gz"; 364 - sha256 = "bbae5602b9cf6d26ccce9e1bf8b388d79c27cf89673d1a56f248bf0a50e518ed"; /* updated by script */ 365 }; 366 wmClass = "jetbrains-pycharm"; 367 update-channel = "PyCharm_Release"; ··· 369 370 rider = buildRider rec { 371 name = "rider-${version}"; 372 - version = "171.4456.575"; /* updated by script */ 373 description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; 374 license = stdenv.lib.licenses.unfree; 375 src = fetchurl { 376 - url = "https://download.jetbrains.com/resharper/riderRS-${version}.tar.gz"; 377 - sha256 = "9b7f46e9c800a091f2cdbe9fda08041729e2abc0ce57252731da659b2424707b"; /* updated by script */ 378 }; 379 wmClass = "jetbrains-rider"; 380 - update-channel = "rider1.0EAP"; 381 }; 382 383 ruby-mine = buildRubyMine rec { 384 name = "ruby-mine-${version}"; 385 - version = "2017.1.4"; 386 description = "The Most Intelligent Ruby and Rails IDE"; 387 license = stdenv.lib.licenses.unfree; 388 src = fetchurl { 389 url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; 390 - sha256 = "06jk0anlnc4gr240i51kam47shdjgda6zg3hglk5w3bpvbyix68z"; 391 }; 392 wmClass = "jetbrains-rubymine"; 393 update-channel = "rm2017.1";
··· 265 266 idea-community = buildIdea rec { 267 name = "idea-community-${version}"; 268 + version = "2017.1.5"; /* updated by script */ 269 description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; 270 license = stdenv.lib.licenses.asl20; 271 src = fetchurl { 272 url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; 273 + sha256 = "830c662c517e8d0131dc2df150d6f75adb3d8becaf9de96393730b0f4ae6ccf0"; /* updated by script */ 274 }; 275 wmClass = "jetbrains-idea-ce"; 276 update-channel = "IDEA_Release"; ··· 304 305 idea-ultimate = buildIdea rec { 306 name = "idea-ultimate-${version}"; 307 + version = "2017.1.5"; 308 description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; 309 license = stdenv.lib.licenses.unfree; 310 src = fetchurl { 311 url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz"; 312 + sha256 = "0gjj2g9fcrbbbp3v4clg0kj48qdw0gqcn9im4h8p3z2zscpg16ag"; 313 }; 314 wmClass = "jetbrains-idea"; 315 update-channel = "IDEA_Release"; ··· 343 344 pycharm-community = buildPycharm rec { 345 name = "pycharm-community-${version}"; 346 + version = "2017.1.5"; /* updated by script */ 347 description = "PyCharm Community Edition"; 348 license = stdenv.lib.licenses.asl20; 349 src = fetchurl { 350 url = "https://download.jetbrains.com/python/${name}.tar.gz"; 351 + sha256 = "1a0bbf0d881527e08aad7a5adaa3ad44e8754c3eb2c3a8ed5ab113491549679b"; /* updated by script */ 352 }; 353 wmClass = "jetbrains-pycharm-ce"; 354 update-channel = "PyCharm_Release"; ··· 356 357 pycharm-professional = buildPycharm rec { 358 name = "pycharm-professional-${version}"; 359 + version = "2017.1.5"; /* updated by script */ 360 description = "PyCharm Professional Edition"; 361 license = stdenv.lib.licenses.unfree; 362 src = fetchurl { 363 url = "https://download.jetbrains.com/python/${name}.tar.gz"; 364 + sha256 = "52519dfd0e913b5ccb8767155cd4d1fd413967d5010e8474cdc9a1fa688016ce"; /* updated by script */ 365 }; 366 wmClass = "jetbrains-pycharm"; 367 update-channel = "PyCharm_Release"; ··· 369 370 rider = buildRider rec { 371 name = "rider-${version}"; 372 + version = "171.4456.1432"; /* updated by script */ 373 description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; 374 license = stdenv.lib.licenses.unfree; 375 src = fetchurl { 376 + url = "https://download.jetbrains.com/resharper/Rider-RC-${version}.tar.gz"; 377 + sha256 = "37bad69cdfcc4f297b2500a7bb673af7ef8f1fd45baa4eb2fa388d2c4bcb41ee"; /* updated by script */ 378 }; 379 wmClass = "jetbrains-rider"; 380 + update-channel = "rider_2017_1_eap"; 381 }; 382 383 ruby-mine = buildRubyMine rec { 384 name = "ruby-mine-${version}"; 385 + version = "2017.1.5"; /* updated by script */ 386 description = "The Most Intelligent Ruby and Rails IDE"; 387 license = stdenv.lib.licenses.unfree; 388 src = fetchurl { 389 url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; 390 + sha256 = "198eb3d7914529ce3a6857e038167e194fb838c4b94242048ae45e8413458d66"; /* updated by script */ 391 }; 392 wmClass = "jetbrains-rubymine"; 393 update-channel = "rm2017.1";
+3 -3
pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
··· 1 GEM 2 remote: https://rubygems.org/ 3 specs: 4 - msgpack (1.0.2) 5 - neovim (0.3.1) 6 msgpack (~> 1.0) 7 8 PLATFORMS ··· 12 neovim 13 14 BUNDLED WITH 15 - 1.12.5
··· 1 GEM 2 remote: https://rubygems.org/ 3 specs: 4 + msgpack (1.1.0) 5 + neovim (0.5.0) 6 msgpack (~> 1.0) 7 8 PLATFORMS ··· 12 neovim 13 14 BUNDLED WITH 15 + 1.15.1
+4 -4
pkgs/applications/editors/neovim/ruby_provider/gemset.nix
··· 2 msgpack = { 3 source = { 4 remotes = ["https://rubygems.org"]; 5 - sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg"; 6 type = "gem"; 7 }; 8 - version = "1.0.2"; 9 }; 10 neovim = { 11 dependencies = ["msgpack"]; 12 source = { 13 remotes = ["https://rubygems.org"]; 14 - sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw"; 15 type = "gem"; 16 }; 17 - version = "0.3.1"; 18 }; 19 }
··· 2 msgpack = { 3 source = { 4 remotes = ["https://rubygems.org"]; 5 + sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7"; 6 type = "gem"; 7 }; 8 + version = "1.1.0"; 9 }; 10 neovim = { 11 dependencies = ["msgpack"]; 12 source = { 13 remotes = ["https://rubygems.org"]; 14 + sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7"; 15 type = "gem"; 16 }; 17 + version = "0.5.0"; 18 }; 19 }
+3 -12
pkgs/applications/gis/qgis/default.nix
··· 5 }: 6 7 stdenv.mkDerivation rec { 8 - name = "qgis-2.18.4"; 9 10 buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla 11 fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ 12 (stdenv.lib.optional withGrass grass) ++ 13 - (with python2Packages; [ numpy psycopg2 requests python2Packages.qscintilla sip ]); 14 15 nativeBuildInputs = [ cmake makeWrapper ]; 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 # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory 27 #enableParallelBuilding = true; 28 ··· 34 35 src = fetchurl { 36 url = "http://qgis.org/downloads/${name}.tar.bz2"; 37 - sha256 = "1s264pahxpn0215xmzm8q2khr5xspipd7bbvxah5kj339kyjfy3k"; 38 }; 39 40 cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
··· 5 }: 6 7 stdenv.mkDerivation rec { 8 + name = "qgis-2.18.10"; 9 10 buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla 11 fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ 12 (stdenv.lib.optional withGrass grass) ++ 13 + (with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]); 14 15 nativeBuildInputs = [ cmake makeWrapper ]; 16 17 # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory 18 #enableParallelBuilding = true; 19 ··· 25 26 src = fetchurl { 27 url = "http://qgis.org/downloads/${name}.tar.bz2"; 28 + sha256 = "1vrzxhnpzd75iia4xmhbxy90x0wlvj2w4210f0r8203hd2m4sxdj"; 29 }; 30 31 cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
+2 -2
pkgs/applications/graphics/darktable/default.nix
··· 11 assert stdenv ? glibc; 12 13 stdenv.mkDerivation rec { 14 - version = "2.2.4"; 15 name = "darktable-${version}"; 16 17 src = fetchurl { 18 url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; 19 - sha256 = "1n7rddkxwcifc3kcdlnar9w562xv4h78fqkkn27jihqzp3b4am5x"; 20 }; 21 22 buildInputs =
··· 11 assert stdenv ? glibc; 12 13 stdenv.mkDerivation rec { 14 + version = "2.2.5"; 15 name = "darktable-${version}"; 16 17 src = fetchurl { 18 url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; 19 + sha256 = "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3"; 20 }; 21 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 { 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 6 }: 7 8 stdenv.mkDerivation rec { 9 name = "dunst-${version}"; 10 - version = "1.1.0"; 11 12 src = fetchFromGitHub { 13 - owner = "knopwob"; 14 repo = "dunst"; 15 rev = "v${version}"; 16 - sha256 = "102s0rkcdz22hnacsi3dhm7kj3lsw9gnikmh3a7wk862nkvvwjmk"; 17 }; 18 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 nativeBuildInputs = [ perl pkgconfig which ]; 26 27 buildInputs = [ 28 - cairo dbus freetype gdk_pixbuf glib libX11 libXScrnSaver libXext 29 - libXinerama libnotify libxdg_basedir pango xproto librsvg 30 ]; 31 32 outputs = [ "out" "man" ];
··· 1 { stdenv, fetchFromGitHub, fetchpatch 2 + , pkgconfig, which, perl, gtk2, xrandr 3 + , cairo, dbus, gdk_pixbuf, glib, libX11, libXScrnSaver 4 + , libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg 5 }: 6 7 stdenv.mkDerivation rec { 8 name = "dunst-${version}"; 9 + version = "1.2.0"; 10 11 src = fetchFromGitHub { 12 + owner = "dunst-project"; 13 repo = "dunst"; 14 rev = "v${version}"; 15 + sha256 = "0jncnb4z4hg92ws08bkf52jswsd4vqlzyznwbynhh2jh6q0sl18b"; 16 }; 17 18 nativeBuildInputs = [ perl pkgconfig which ]; 19 20 buildInputs = [ 21 + cairo dbus gdk_pixbuf glib libX11 libXScrnSaver 22 + libXinerama libnotify libxdg_basedir pango xproto librsvg gtk2 xrandr 23 ]; 24 25 outputs = [ "out" "man" ];
+1 -1
pkgs/applications/networking/browsers/firefox/common.nix
··· 153 ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga" 154 ++ flag crashreporterSupport "crashreporter" 155 ++ flag safeBrowsingSupport "safe-browsing" 156 - ++ flag drmSupport "eme" 157 158 ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] 159 else [ "--disable-debug" "--enable-release"
··· 153 ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga" 154 ++ flag crashreporterSupport "crashreporter" 155 ++ flag safeBrowsingSupport "safe-browsing" 156 + ++ lib.optional drmSupport "--enable-eme=widevine" 157 158 ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] 159 else [ "--disable-debug" "--enable-release"
+2 -2
pkgs/applications/networking/mailreaders/neomutt/default.nix
··· 2 , cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }: 3 4 stdenv.mkDerivation rec { 5 - version = "20170609"; 6 name = "neomutt-${version}"; 7 8 src = fetchFromGitHub { 9 owner = "neomutt"; 10 repo = "neomutt"; 11 rev = "neomutt-${version}"; 12 - sha256 = "015dd6rphvqdmnv477f1is22l7n5gvcvyblbyp0ggbp64650k0bz"; 13 }; 14 15 nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
··· 2 , cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }: 3 4 stdenv.mkDerivation rec { 5 + version = "20170714"; 6 name = "neomutt-${version}"; 7 8 src = fetchFromGitHub { 9 owner = "neomutt"; 10 repo = "neomutt"; 11 rev = "neomutt-${version}"; 12 + sha256 = "0jbh83hvq1jwb8ps7ffl2325y6i79wdnwcn6db0r5prmxax18hw1"; 13 }; 14 15 nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
+5 -5
pkgs/applications/office/paperwork/default.nix
··· 1 { lib, python3Packages, fetchFromGitHub, gtk3, cairo 2 , aspellDicts, buildEnv 3 , gnome3, hicolor_icon_theme 4 - , xvfb_run, dbus 5 }: 6 7 python3Packages.buildPythonApplication rec { 8 name = "paperwork-${version}"; 9 # Don't forget to also update paperwork-backend when updating this! 10 - version = "1.0.6.1"; 11 12 src = fetchFromGitHub { 13 repo = "paperwork"; 14 owner = "jflesch"; 15 rev = version; 16 - sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h"; 17 }; 18 19 # Patch out a few paths that assume that we're using the FHS: ··· 47 }}/lib/aspell"; 48 49 checkInputs = [ xvfb_run dbus.daemon ]; 50 - buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ]; 51 52 # A few parts of chkdeps need to have a display and a dbus session, so we not 53 # only need to run a virtual X server + dbus but also have a large enough ··· 59 ''; 60 61 propagatedBuildInputs = with python3Packages; [ 62 - paperwork-backend pypillowfight gtk3 cairo 63 ]; 64 65 makeWrapperArgs = [
··· 1 { lib, python3Packages, fetchFromGitHub, gtk3, cairo 2 , aspellDicts, buildEnv 3 , gnome3, hicolor_icon_theme 4 + , xvfb_run, dbus, libnotify 5 }: 6 7 python3Packages.buildPythonApplication rec { 8 name = "paperwork-${version}"; 9 # Don't forget to also update paperwork-backend when updating this! 10 + version = "1.2"; 11 12 src = fetchFromGitHub { 13 repo = "paperwork"; 14 owner = "jflesch"; 15 rev = version; 16 + sha256 = "1cb9wnhhpm3dyxjrkyl9bbva56xx85vlwlb7z07m1icflcln14x5"; 17 }; 18 19 # Patch out a few paths that assume that we're using the FHS: ··· 47 }}/lib/aspell"; 48 49 checkInputs = [ xvfb_run dbus.daemon ]; 50 + buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme libnotify ]; 51 52 # A few parts of chkdeps need to have a display and a dbus session, so we not 53 # only need to run a virtual X server + dbus but also have a large enough ··· 59 ''; 60 61 propagatedBuildInputs = with python3Packages; [ 62 + paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil 63 ]; 64 65 makeWrapperArgs = [
+9 -6
pkgs/build-support/docker/default.nix
··· 234 # Files to add to the layer. 235 contents ? null, 236 # Additional commands to run on the layer before it is tar'd up. 237 - extraCommands ? "" 238 }: 239 runCommand "docker-layer-${name}" { 240 inherit baseJson contents extraCommands; 241 - 242 buildInputs = [ jshon rsync ]; 243 } 244 '' ··· 253 echo "No contents to add to layer." 254 fi 255 256 if [[ -n $extraCommands ]]; then 257 (cd layer; eval "$extraCommands") 258 fi ··· 260 # Tar up the layer and throw it into 'layer.tar'. 261 echo "Packing layer..." 262 mkdir $out 263 - tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar . 264 265 # Compute a checksum of the tarball. 266 echo "Computing layer checksum..." ··· 312 echo "Adding $item..." 313 rsync -ak --chown=0:0 $item/ layer/ 314 done 315 ''; 316 317 postMount = '' ··· 375 # Docker config; e.g. what command to run on the container. 376 config ? null, 377 # Optional bash script to run on the files prior to fixturizing the layer. 378 - extraCommands ? "", 379 # Optional bash script to run as root on the image when provisioning. 380 runAsRoot ? null, 381 # Size of the virtual machine disk to provision when building the image. ··· 398 if runAsRoot == null 399 then mkPureLayer { 400 name = baseName; 401 - inherit baseJson contents extraCommands; 402 } else mkRootLayer { 403 name = baseName; 404 inherit baseJson fromImage fromImageName fromImageTag ··· 498 chmod -R a-w image 499 500 echo "Cooking the image..." 501 - tar -C image --mtime="@$SOURCE_DATE_EPOCH" -c . | pigz -nT > $out 502 503 echo "Finished." 504 '';
··· 234 # Files to add to the layer. 235 contents ? null, 236 # Additional commands to run on the layer before it is tar'd up. 237 + extraCommands ? "", uid ? 0, gid ? 0 238 }: 239 runCommand "docker-layer-${name}" { 240 inherit baseJson contents extraCommands; 241 buildInputs = [ jshon rsync ]; 242 } 243 '' ··· 252 echo "No contents to add to layer." 253 fi 254 255 + chmod ug+w layer 256 + 257 if [[ -n $extraCommands ]]; then 258 (cd layer; eval "$extraCommands") 259 fi ··· 261 # Tar up the layer and throw it into 'layer.tar'. 262 echo "Packing layer..." 263 mkdir $out 264 + tar -C layer --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . 265 266 # Compute a checksum of the tarball. 267 echo "Computing layer checksum..." ··· 313 echo "Adding $item..." 314 rsync -ak --chown=0:0 $item/ layer/ 315 done 316 + 317 + chmod ug+w layer 318 ''; 319 320 postMount = '' ··· 378 # Docker config; e.g. what command to run on the container. 379 config ? null, 380 # Optional bash script to run on the files prior to fixturizing the layer. 381 + extraCommands ? "", uid ? 0, gid ? 0, 382 # Optional bash script to run as root on the image when provisioning. 383 runAsRoot ? null, 384 # Size of the virtual machine disk to provision when building the image. ··· 401 if runAsRoot == null 402 then mkPureLayer { 403 name = baseName; 404 + inherit baseJson contents extraCommands uid gid; 405 } else mkRootLayer { 406 name = baseName; 407 inherit baseJson fromImage fromImageName fromImageTag ··· 501 chmod -R a-w image 502 503 echo "Cooking the image..." 504 + tar -C image --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 -c . | pigz -nT > $out 505 506 echo "Finished." 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 debugInfo = true; 55 }; 56 57 - lfe = callPackage ../interpreters/lfe { }; 58 59 # Non hex packages 60 hex = callPackage ./hex {};
··· 54 debugInfo = true; 55 }; 56 57 + lfe = lfe_1_2; 58 + lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; }; 59 60 # Non hex packages 61 hex = callPackage ./hex {};
+22
pkgs/development/beam-modules/lib.nix
··· 56 mkDerivation = pkgs.makeOverridable builder; 57 }; 58 59 }
··· 56 mkDerivation = pkgs.makeOverridable builder; 57 }; 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 + 81 }
+37 -18
pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
··· 3 , downloadUrl 4 , sha256_i686 5 , sha256_x86_64 6 , jceName 7 , jceDownloadUrl 8 , sha256JCE ··· 34 , setJavaClassPath 35 }: 36 37 - assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; 38 assert swingSupport -> xorg != null; 39 40 let 41 42 /** 43 * The JRE libraries are in directories that depend on the CPU. ··· 47 "i386" 48 else if stdenv.system == "x86_64-linux" then 49 "amd64" 50 else 51 - abort "jdk requires i686-linux or x86_64 linux"; 52 53 jce = 54 if installjce then ··· 59 } 60 else 61 ""; 62 in 63 64 let result = stdenv.mkDerivation rec { ··· 78 url = downloadUrl; 79 sha256 = sha256_x86_64; 80 } 81 else 82 - abort "jdk requires i686-linux or x86_64 linux"; 83 84 nativeBuildInputs = [ file ] 85 ++ stdenv.lib.optional installjce unzip; ··· 134 cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security 135 fi 136 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 if test -z "$pluginSupport"; then 150 rm -f $out/bin/javaws 151 if test -n "$installjdk"; then ··· 163 cat <<EOF >> $out/nix-support/setup-hook 164 if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi 165 EOF 166 167 # Oracle Java Mission Control needs to know where libgtk-x11 and related is 168 - if test -n "$installjdk"; then 169 wrapProgram "$out/bin/jmc" \ 170 - --suffix-each LD_LIBRARY_PATH ':' "${rpath}" 171 fi 172 ''; 173 ··· 192 193 meta = with stdenv.lib; { 194 license = licenses.unfree; 195 - platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms 196 }; 197 198 }; in result
··· 3 , downloadUrl 4 , sha256_i686 5 , sha256_x86_64 6 + , sha256_armv7l 7 , jceName 8 , jceDownloadUrl 9 , sha256JCE ··· 35 , setJavaClassPath 36 }: 37 38 + assert stdenv.system == "i686-linux" 39 + || stdenv.system == "x86_64-linux" 40 + || stdenv.system == "armv7l-linux"; 41 assert swingSupport -> xorg != null; 42 43 let 44 + abortArch = abort "jdk requires i686-linux, x86_64-linux, or armv7l-linux"; 45 46 /** 47 * The JRE libraries are in directories that depend on the CPU. ··· 51 "i386" 52 else if stdenv.system == "x86_64-linux" then 53 "amd64" 54 + else if stdenv.system == "armv7l-linux" then 55 + "arm" 56 else 57 + abortArch; 58 59 jce = 60 if installjce then ··· 65 } 66 else 67 ""; 68 + 69 + rSubPaths = [ 70 + "lib/${architecture}/jli" 71 + "lib/${architecture}/server" 72 + "lib/${architecture}/xawt" 73 + "lib/${architecture}" 74 + ]; 75 + 76 in 77 78 let result = stdenv.mkDerivation rec { ··· 92 url = downloadUrl; 93 sha256 = sha256_x86_64; 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 + } 101 else 102 + abortArch; 103 104 nativeBuildInputs = [ file ] 105 ++ stdenv.lib.optional installjce unzip; ··· 154 cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security 155 fi 156 157 if test -z "$pluginSupport"; then 158 rm -f $out/bin/javaws 159 if test -n "$installjdk"; then ··· 171 cat <<EOF >> $out/nix-support/setup-hook 172 if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi 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" {} \; 185 186 # Oracle Java Mission Control needs to know where libgtk-x11 and related is 187 + if test -n "$installjdk" -a -x $out/bin/jmc; then 188 wrapProgram "$out/bin/jmc" \ 189 + --suffix-each LD_LIBRARY_PATH ':' "$rpath" 190 fi 191 ''; 192 ··· 211 212 meta = with stdenv.lib; { 213 license = licenses.unfree; 214 + platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" ]; # some inherit jre.meta.platforms 215 }; 216 217 }; in result
+1
pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
··· 4 downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; 5 sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; 6 sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; 7 jceName = "jce_policy-8.zip"; 8 jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; 9 sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
··· 4 downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; 5 sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; 6 sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; 7 + sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; 8 jceName = "jce_policy-8.zip"; 9 jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; 10 sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
+1
pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
··· 4 downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; 5 sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; 6 sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; 7 jceName = "jce_policy-8.zip"; 8 jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; 9 sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
··· 4 downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; 5 sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; 6 sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; 7 + sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; 8 jceName = "jce_policy-8.zip"; 9 jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; 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 }: 2 3 let 4 - inherit (beamPackages) buildRebar3 buildHex; 5 - proper = buildHex rec { 6 - name = "proper"; 7 version = "1.1.1-beta"; 8 sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx"; 9 10 configurePhase = '' 11 ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl 12 ''; 13 }; 14 in 15 - buildRebar3 rec { 16 - name = "lfe"; 17 - version = "1.2.1"; 18 19 - src = fetchFromGitHub { 20 - owner = "rvirding"; 21 - repo = name; 22 - rev = version; 23 - sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; 24 - }; 25 26 - buildInputs = [ makeWrapper ]; 27 beamDeps = [ proper ]; 28 patches = [ ./no-test-deps.patch ]; 29 doCheck = true; ··· 41 install -m644 _build/default/lib/lfe/ebin/* $ebindir 42 43 install -m755 -d $bindir 44 for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done 45 46 install -m755 -d $out/bin ··· 70 downloadPage = "https://github.com/rvirding/lfe/releases"; 71 72 license = licenses.asl20; 73 - maintainers = with maintainers; [ yurrriq ]; 74 platforms = platforms.unix; 75 }; 76 }
··· 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 + }: 10 11 let 12 + inherit (stdenv.lib) getVersion versionAtLeast splitString head; 13 + 14 + mainVersion = head (splitString "." (getVersion erlang)); 15 + 16 + proper = buildHex { 17 + name = "proper"; 18 version = "1.1.1-beta"; 19 + 20 sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx"; 21 22 configurePhase = '' 23 ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl 24 ''; 25 }; 26 + 27 in 28 + assert versionAtLeast maximumOTPVersion mainVersion; 29 30 + buildRebar3 { 31 + name = baseName; 32 + 33 + inherit src version; 34 35 + buildInputs = [ erlang makeWrapper ]; 36 beamDeps = [ proper ]; 37 patches = [ ./no-test-deps.patch ]; 38 doCheck = true; ··· 50 install -m644 _build/default/lib/lfe/ebin/* $ebindir 51 52 install -m755 -d $bindir 53 + 54 for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done 55 56 install -m755 -d $out/bin ··· 80 downloadPage = "https://github.com/rvirding/lfe/releases"; 81 82 license = licenses.asl20; 83 + maintainers = with maintainers; [ yurrriq ankhers ]; 84 platforms = platforms.unix; 85 }; 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 { stdenv, fetchurl, fetchpatch, zlib, expat, gettext }: 2 3 stdenv.mkDerivation rec { 4 - name = "exiv2-0.25"; 5 6 src = fetchurl { 7 - url = "http://www.exiv2.org/${name}.tar.gz"; 8 - sha256 = "197g6vgcpyf9p2cwn5p5hb1r714xsk1v4p96f5pv1z8mi9vzq2y8"; 9 }; 10 postPatch = "patchShebangs ./src/svn_version.sh"; 11
··· 1 { stdenv, fetchurl, fetchpatch, zlib, expat, gettext }: 2 3 stdenv.mkDerivation rec { 4 + name = "exiv2-0.26"; 5 6 src = fetchurl { 7 + url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz"; 8 + sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7"; 9 }; 10 postPatch = "patchShebangs ./src/svn_version.sh"; 11
+195 -24
pkgs/development/libraries/hunspell/dictionaries.nix
··· 1 /* hunspell dictionaries */ 2 3 - { stdenv, fetchurl, unzip }: 4 5 - with stdenv.lib; 6 7 let 8 - 9 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 - 28 installPhase = '' 29 # hunspell dicts 30 install -dm755 "$out/share/hunspell" ··· 38 install -dm755 "$out/share/doc" 39 install -m644 ${readmeFile} $out/share/doc/${name}.txt 40 ''; 41 - }; 42 43 mkDictFromDicollecte = 44 { shortName, shortDescription, longDescription, dictFileName }: ··· 59 maintainers = with maintainers; [ renzo ]; 60 platforms = platforms.all; 61 }; 62 }; 63 64 mkDictFromWordlist = ··· 75 maintainers = with maintainers; [ renzo ]; 76 platforms = platforms.all; 77 }; 78 }; 79 80 - mkLinguistico = 81 { shortName, shortDescription, dictFileName, src }: 82 mkDict rec { 83 inherit src dictFileName; ··· 90 maintainers = with maintainers; [ renzo ]; 91 platforms = platforms.all; 92 }; 93 }; 94 95 mkDictFromXuxen = ··· 169 }; 170 }; 171 172 /* FRENCH */ 173 174 fr-any = mkDictFromDicollecte { ··· 215 216 /* ITALIAN */ 217 218 - it-it = mkLinguistico rec { 219 shortName = "it-it"; 220 dictFileName = "it_IT"; 221 shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
··· 1 /* hunspell dictionaries */ 2 3 + { stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip }: 4 5 6 let 7 mkDict = 8 + { name, readmeFile, dictFileName, ... }@args: 9 + stdenv.mkDerivation (rec { 10 + inherit name; 11 installPhase = '' 12 # hunspell dicts 13 install -dm755 "$out/share/hunspell" ··· 21 install -dm755 "$out/share/doc" 22 install -m644 ${readmeFile} $out/share/doc/${name}.txt 23 ''; 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 + }; 63 64 mkDictFromDicollecte = 65 { shortName, shortDescription, longDescription, dictFileName }: ··· 80 maintainers = with maintainers; [ renzo ]; 81 platforms = platforms.all; 82 }; 83 + buildInputs = [ unzip ]; 84 + phases = "unpackPhase installPhase"; 85 + sourceRoot = "."; 86 + unpackCmd = '' 87 + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} 88 + ''; 89 }; 90 91 mkDictFromWordlist = ··· 102 maintainers = with maintainers; [ renzo ]; 103 platforms = platforms.all; 104 }; 105 + buildInputs = [ unzip ]; 106 + phases = "unpackPhase installPhase"; 107 + sourceRoot = "."; 108 + unpackCmd = '' 109 + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} 110 + ''; 111 }; 112 113 + mkDictFromLinguistico = 114 { shortName, shortDescription, dictFileName, src }: 115 mkDict rec { 116 inherit src dictFileName; ··· 123 maintainers = with maintainers; [ renzo ]; 124 platforms = platforms.all; 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 + ''; 136 }; 137 138 mkDictFromXuxen = ··· 212 }; 213 }; 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 + 343 /* FRENCH */ 344 345 fr-any = mkDictFromDicollecte { ··· 386 387 /* ITALIAN */ 388 389 + it-it = mkDictFromLinguistico rec { 390 shortName = "it-it"; 391 dictFileName = "it_IT"; 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 }: 2 3 - assert stdenv.lib.versionAtLeast ocaml.version "4.02"; 4 5 stdenv.mkDerivation rec { 6 name = "ocaml${ocaml.version}-sedlex-${version}"; 7 - version = "1.99.3"; 8 9 src = fetchzip { 10 url = "http://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz"; 11 - sha256 = "1wghjy3qyj43ll1ikchlqy7fv2hxcn3ap9xgsscm2ch09d8dcv7y"; 12 }; 13 14 - buildInputs = [ ocaml findlib ppx_tools ]; 15 16 propagatedBuildInputs = [ gen ]; 17
··· 1 + { stdenv, fetchzip, ocaml, findlib, gen, ppx_tools_versioned }: 2 3 + if !stdenv.lib.versionAtLeast ocaml.version "4.02" 4 + then throw "sedlex is not available for OCaml ${ocaml.version}" 5 + else 6 7 stdenv.mkDerivation rec { 8 name = "ocaml${ocaml.version}-sedlex-${version}"; 9 + version = "1.99.4"; 10 11 src = fetchzip { 12 url = "http://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz"; 13 + sha256 = "1b7nqxyfcz8i7m4b8zil2rn6ygh2czy26f9v64xnxn8r0hy9sh1m"; 14 }; 15 16 + buildInputs = [ ocaml findlib ppx_tools_versioned ]; 17 18 propagatedBuildInputs = [ gen ]; 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 pbdMPI = [ pkgs.openmpi ]; 282 pbdNCDF4 = [ pkgs.netcdf ]; 283 pbdPROF = [ pkgs.openmpi ]; 284 PKI = [ pkgs.openssl.dev ]; 285 png = [ pkgs.libpng.dev ]; 286 PopGenome = [ pkgs.zlib.dev ];
··· 281 pbdMPI = [ pkgs.openmpi ]; 282 pbdNCDF4 = [ pkgs.netcdf ]; 283 pbdPROF = [ pkgs.openmpi ]; 284 + pbdZMQ = [ pkgs.which ]; 285 PKI = [ pkgs.openssl.dev ]; 286 png = [ pkgs.libpng.dev ]; 287 PopGenome = [ pkgs.zlib.dev ];
+6 -2
pkgs/development/tools/misc/lttng-ust/default.nix
··· 1 - { stdenv, fetchurl, liburcu }: 2 3 # NOTE: 4 # ./configure ... ··· 20 sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq"; 21 }; 22 23 - buildInputs = [ liburcu ]; 24 25 meta = with stdenv.lib; { 26 description = "LTTng Userspace Tracer libraries";
··· 1 + { stdenv, fetchurl, liburcu, python }: 2 3 # NOTE: 4 # ./configure ... ··· 20 sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq"; 21 }; 22 23 + buildInputs = [ liburcu python ]; 24 + 25 + preConfigure = '' 26 + patchShebangs . 27 + ''; 28 29 meta = with stdenv.lib; { 30 description = "LTTng Userspace Tracer libraries";
+2 -2
pkgs/development/tools/misc/teensy-loader-cli/default.nix
··· 6 name = "teensy-loader-cli-${version}"; 7 src = fetchgit { 8 url = "git://github.com/PaulStoffregen/teensy_loader_cli.git"; 9 - rev = "001da416bc362ff24485ff97e3a729bd921afe98"; 10 - sha256 = "36aed0a725055e36d71183ff57a023993099fdc380072177cffc7676da3c3966"; 11 }; 12 13 buildInputs = [ unzip libusb ];
··· 6 name = "teensy-loader-cli-${version}"; 7 src = fetchgit { 8 url = "git://github.com/PaulStoffregen/teensy_loader_cli.git"; 9 + rev = "f5b6d7aafda9a8b014b4bb08660833ca45c136d2"; 10 + sha256 = "1a663bv3lvm7bsf2wcaj2c0vpmniak7w5hwix5qgz608bvm2v781"; 11 }; 12 13 buildInputs = [ unzip libusb ];
+7 -7
pkgs/development/tools/ocaml/ocaml-top/default.nix
··· 1 { stdenv, fetchzip, ncurses 2 , ocamlPackages 3 - , opam }: 4 5 stdenv.mkDerivation { 6 - name = "ocaml-top-1.1.3"; 7 src = fetchzip { 8 - url = https://github.com/OCamlPro/ocaml-top/archive/1.1.3.tar.gz; 9 - sha256 = "0islyinv7lwhg8hkg4xn30wwz1nv50rj0wpsis8jpimw6jdsnax3"; 10 }; 11 12 - buildInputs = [ ncurses opam ] 13 ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]); 14 15 configurePhase = '' ··· 17 ocp-build -init 18 ''; 19 20 - buildPhase = "ocp-build ocaml-top"; 21 22 - installPhase = "opam-installer --prefix=$out"; 23 24 meta = { 25 homepage = http://www.typerex.org/ocaml-top.html;
··· 1 { stdenv, fetchzip, ncurses 2 , ocamlPackages 3 + , jbuilder }: 4 5 stdenv.mkDerivation { 6 + name = "ocaml-top-1.1.4"; 7 src = fetchzip { 8 + url = https://github.com/OCamlPro/ocaml-top/archive/1.1.4.tar.gz; 9 + sha256 = "1lmzjmnzsg8xdz0q5nm95zclihi9z80kzsalapg0s9wq0id8qm4j"; 10 }; 11 12 + buildInputs = [ ncurses jbuilder ] 13 ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]); 14 15 configurePhase = '' ··· 17 ocp-build -init 18 ''; 19 20 + buildPhase = "jbuilder build"; 21 22 + inherit (jbuilder) installPhase; 23 24 meta = { 25 homepage = http://www.typerex.org/ocaml-top.html;
+2 -2
pkgs/development/tools/ocaml/ocp-build/default.nix
··· 1 { stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }: 2 let 3 - version = "1.99.18-beta"; 4 in 5 buildOcaml { 6 ··· 11 owner = "OCamlPro"; 12 repo = "ocp-build"; 13 rev = version; 14 - sha256 = "14vzam8p1d2c5qxljrhsfppd8a3j9lxx8kzxlplwclkr2laar0ss"; 15 }; 16 17 buildInputs = [ ocaml ];
··· 1 { stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }: 2 let 3 + version = "1.99.19-beta"; 4 in 5 buildOcaml { 6 ··· 11 owner = "OCamlPro"; 12 repo = "ocp-build"; 13 rev = version; 14 + sha256 = "162k5l0cxyqanxlml5v8mqapdq5qbqc9m4b8wdjq7mf523b3h2zj"; 15 }; 16 17 buildInputs = [ ocaml ];
+3 -3
pkgs/games/factorio/default.nix
··· 10 11 with stdenv.lib; 12 let 13 - version = if releaseType != "demo" then "0.15.26" else "0.15.25"; 14 15 arch = if stdenv.system == "x86_64-linux" then { 16 inUrl = "linux64"; ··· 26 url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}"; 27 name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz"; 28 x64 = { 29 - headless = fetchurl { inherit name url; sha256 = "1nblfff1m5wgp177l508y94n61lga3palhzw4frp2vd98sdp7gqk"; }; 30 - alpha = authenticatedFetch { inherit name url; sha256 = "0g7k58h15q4n9wxf96rx72w340xpdbj8k1faaxixrfrfx8bnmsls"; }; 31 demo = fetchurl { inherit name url; sha256 = "1qz6g8mf221ic663zk92l6rs77ggfydaw2d8g2s7wy0j9097qbsl"; }; 32 }; 33 i386 = {
··· 10 11 with stdenv.lib; 12 let 13 + version = if releaseType != "demo" then "0.15.30" else "0.15.25"; 14 15 arch = if stdenv.system == "x86_64-linux" then { 16 inUrl = "linux64"; ··· 26 url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}"; 27 name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz"; 28 x64 = { 29 + headless = fetchurl { inherit name url; sha256 = "0nmr73i9acnqgphfmsps7f8jlw0f2gyal9l8pldlp4rk0cjgvszy"; }; 30 + alpha = authenticatedFetch { inherit name url; sha256 = "1ydh44na2lbvdv4anrblym7d6wxwapfbwap40n3722llrsad0zsz"; }; 31 demo = fetchurl { inherit name url; sha256 = "1qz6g8mf221ic663zk92l6rs77ggfydaw2d8g2s7wy0j9097qbsl"; }; 32 }; 33 i386 = {
+1 -1
pkgs/games/factorio/fetch.sh
··· 33 34 if grep -q 'Location: https://' headers; then 35 # Now download. We need --insecure for this, but the sha256 should cover us. 36 - $curl --insecure --location $url > $out 37 set +x 38 else 39 set +x
··· 33 34 if grep -q 'Location: https://' headers; then 35 # Now download. We need --insecure for this, but the sha256 should cover us. 36 + $curl --insecure --location --fail $url > $out || { echo "Login succeeded, but subsequent fetch failed."; exit 1; } 37 set +x 38 else 39 set +x
+9 -6
pkgs/misc/themes/zuki/default.nix
··· 4 name = "zuki-themes-${version}"; 5 version = "${gnome3.version}.${date}"; 6 date = { 7 - "3.20" = "2017-02-09"; 8 - "3.22" = "2017-02-17"; 9 }."${gnome3.version}"; 10 11 src = fetchFromGitHub { 12 owner = "lassekongo83"; 13 repo = "zuki-themes"; 14 rev = { 15 - "3.20" = "b9106c3c05012b7e91394819ca550def3357d2eb"; 16 - "3.22" = "fc3cf7c372bcc439870c4785f91b8ea7af73e1cc"; 17 }."${gnome3.version}"; 18 sha256 = { 19 - "3.20" = "03k18p25gsscv05934vs0py26vpcrx93wi5bj6di277c6kwgjzxg"; 20 - "3.22" = "02ppk8wsx0k7j3zgmcb1l8jgij0m5rdkrahfv884jxkyjr6wwgs5"; 21 }."${gnome3.version}"; 22 }; 23
··· 4 name = "zuki-themes-${version}"; 5 version = "${gnome3.version}.${date}"; 6 date = { 7 + "3.20" = "2017-05-03"; 8 + "3.22" = "2017-04-23"; 9 + "3.24" = "2017-06-26"; 10 }."${gnome3.version}"; 11 12 src = fetchFromGitHub { 13 owner = "lassekongo83"; 14 repo = "zuki-themes"; 15 rev = { 16 + "3.20" = "ce7ae498df7d5c81acaf48ed957b9f828356d58c"; 17 + "3.22" = "e97f2c3cf75b5205bc5ecd6072696327169fde5d"; 18 + "3.24" = "d25e0a2fb6e08ad107d8bb627451433362f2a830"; 19 }."${gnome3.version}"; 20 sha256 = { 21 + "3.20" = "0na81q9mc8kwn9m04kkcchrdr67087dqf3q155imhjgqrxjhh3w4"; 22 + "3.22" = "195v0d2sgqh92c104xqm00p68yxp6kzp5mzx8q7s36bdv9p972q4"; 23 + "3.24" = "0z5swi5aah3s4yinfglh491qydxgjkqwf6zxyz7k9c1d7lrvj3ww"; 24 }."${gnome3.version}"; 25 }; 26
+3 -1
pkgs/os-specific/linux/kernel/common-config.nix
··· 302 CIFS_UPCALL y 303 CIFS_ACL y 304 CIFS_DFS_UPCALL y 305 - CIFS_SMB2 y 306 ${optionalString (versionAtLeast version "3.12") '' 307 CEPH_FSCACHE y 308 ''}
··· 302 CIFS_UPCALL y 303 CIFS_ACL y 304 CIFS_DFS_UPCALL y 305 + ${optionalString (versionOlder version "4.13") '' 306 + CIFS_SMB2 y 307 + ''} 308 ${optionalString (versionAtLeast version "3.12") '' 309 CEPH_FSCACHE y 310 ''}
+2 -2
pkgs/os-specific/linux/kernel/linux-4.11.nix
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "4.11.10"; 5 extraMeta.branch = "4.11"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "1dma031rcj8nvcb3znbcffafwm5cpax3cvqkq9zspa8lf5ah52si"; 10 }; 11 12 kernelPatches = args.kernelPatches;
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "4.11.11"; 5 extraMeta.branch = "4.11"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 + sha256 = "1dvs1r3vq15akyv0yxvim6j09pqac5dagqbchvdlsw5yi4fnylc8"; 10 }; 11 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.12.nix
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "4.12.1"; 5 extraMeta.branch = "4.12"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "0qm8lp6z3f2frqb585i5r7cb6hbzd0m13p0ywz4s8bqxwmrym1cw"; 10 }; 11 12 kernelPatches = args.kernelPatches;
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "4.12.2"; 5 extraMeta.branch = "4.12"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 + sha256 = "1ql5y6bvb1bx9b2k5iksdzjgzxnq852rvq69kdnkwa98p8p8ayha"; 10 }; 11 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.4.nix
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "4.4.76"; 5 extraMeta.branch = "4.4"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "180mngyar7ky2aiaszmgfqpfvwi0kxcym8j3ifflzggwqjkgrrki"; 10 }; 11 12 kernelPatches = args.kernelPatches;
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "4.4.77"; 5 extraMeta.branch = "4.4"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 + sha256 = "1s5l5b3hpm691w94a3ddliy4gcxi2s9xm3hsazdwgzqrqdv70ysy"; 10 }; 11 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-4.9.nix
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "4.9.37"; 5 extraMeta.branch = "4.9"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "14300vddyz7x6vg1mx64a0i8i61fk5bl8azcvv7rf3b97c4cy7pn"; 10 }; 11 12 kernelPatches = args.kernelPatches;
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "4.9.38"; 5 extraMeta.branch = "4.9"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 + sha256 = "0x4h2b6xapqyxgivj9ay5yclmyl434bjfmq9ikajy7fmgpc8kmvn"; 10 }; 11 12 kernelPatches = args.kernelPatches;
+2 -2
pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
··· 1 { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: 2 3 let 4 - version = "4.12.1"; 5 revision = "a"; 6 - sha256 = "0fjw5fmxpvdhfqkr4lcpmqw8xxj92q19ya8q48yhxvv149ahcvhq"; 7 in 8 9 import ./generic.nix (args // {
··· 1 { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: 2 3 let 4 + version = "4.12.2"; 5 revision = "a"; 6 + sha256 = "0w3k5a30li2qz2msach9sg9qsvmjsc4mf9k3ad5dxd0667a0hygm"; 7 in 8 9 import ./generic.nix (args // {
+4 -4
pkgs/os-specific/linux/kernel/linux-testing.nix
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 - version = "4.12-rc7"; 5 - modDirVersion = "4.12.0-rc7"; 6 - extraMeta.branch = "4.12"; 7 8 src = fetchurl { 9 url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; 10 - sha256 = "1svfswv0b4gagv1yiavwb22p726h0w81lgxjqq0h9m3gf4xlqp3x"; 11 }; 12 13 features.iwlwifi = true;
··· 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3 import ./generic.nix (args // rec { 4 + version = "4.13-rc1"; 5 + modDirVersion = "4.13.0-rc1"; 6 + extraMeta.branch = "4.13"; 7 8 src = fetchurl { 9 url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; 10 + sha256 = "1pdbykp2336vk7ynrz0l95rwqags6kklbr08wjc7zpmdaad6yd6m"; 11 }; 12 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 14 inherit (kernel) src; 15 16 - patches = kernel.patches ++ [ ./perf-binutils-path.patch ./perf-offline-probe.patch ]; 17 18 preConfigure = '' 19 cd tools/perf
··· 13 14 inherit (kernel) src; 15 16 + patches = kernel.patches ++ [ ./perf-binutils-path.patch ]; 17 18 preConfigure = '' 19 cd tools/perf
+4 -4
pkgs/os-specific/linux/spl/default.nix
··· 62 assert buildKernel -> kernel != null; 63 { 64 splStable = common { 65 - version = "0.6.5.10"; 66 - sha256 = "1zdxggpdz9j0lpcqfnkvf4iym7mp2k246sg1s4frqaw1pwwcw9vi"; 67 }; 68 splUnstable = common { 69 - version = "0.7.0-rc4"; 70 - sha256 = "13r5qwrdnaabqfy9fvizvdj4n4cvfv6zy4jh0vijzjvbjd4an9g1"; 71 }; 72 }
··· 62 assert buildKernel -> kernel != null; 63 { 64 splStable = common { 65 + version = "0.6.5.11"; 66 + sha256 = "192val8035pj2rryi3fwb134avzirhv5ifaj5021vh8bbjx75pd5"; 67 }; 68 splUnstable = common { 69 + version = "0.7.0-rc5"; 70 + sha256 = "17y25g02c9swi3n90lhjvazcnsr69nh50dz3b8g1c08zlz9n2akp"; 71 }; 72 }
+5 -5
pkgs/os-specific/linux/zfs/default.nix
··· 123 # to be adapted 124 zfsStable = common { 125 # comment/uncomment if breaking kernel versions are known 126 - incompatibleKernelVersion = null; 127 128 - version = "0.6.5.10"; 129 130 # this package should point to the latest release. 131 - sha256 = "04gn5fj22z17zq2nazxwl3j9dr33l79clha6ipxvdz241bhjqrk3"; 132 extraPatches = [ 133 (fetchpatch { 134 url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch"; ··· 141 # comment/uncomment if breaking kernel versions are known 142 incompatibleKernelVersion = "4.12"; 143 144 - version = "0.7.0-rc4"; 145 146 # this package should point to a version / git revision compatible with the latest kernel release 147 - sha256 = "16jiq2h7m2ljg5xv7m5lqmsszzclkhvj1iq1wa9w740la4vl22kf"; 148 extraPatches = [ 149 (fetchpatch { 150 url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch";
··· 123 # to be adapted 124 zfsStable = common { 125 # comment/uncomment if breaking kernel versions are known 126 + incompatibleKernelVersion = "4.12"; 127 128 + version = "0.6.5.11"; 129 130 # this package should point to the latest release. 131 + sha256 = "1wqz43cjr21m3f52ahcikl2798pbzj5sfy16zqxwiqpv7iy09kr3"; 132 extraPatches = [ 133 (fetchpatch { 134 url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch"; ··· 141 # comment/uncomment if breaking kernel versions are known 142 incompatibleKernelVersion = "4.12"; 143 144 + version = "0.7.0-rc5"; 145 146 # this package should point to a version / git revision compatible with the latest kernel release 147 + sha256 = "1k0fl6lbi5winri58v26k7gngd560hbj0247rnwcbc6j01ixsr5n"; 148 extraPatches = [ 149 (fetchpatch { 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 3 stdenv.mkDerivation rec { 4 name = "tt-rss-${version}"; 5 - version = "16.3"; 6 7 src = fetchgit { 8 - url = "https://tt-rss.org/gitlab/fox/tt-rss.git"; 9 rev = "refs/tags/${version}"; 10 - sha256 = "1584lcq6kcy9f8ik5djb9apck9hxvfpl54sn6yhl3pdfrfdj3nw5"; 11 }; 12 13 buildPhases = ["unpackPhase" "installPhase"];
··· 2 3 stdenv.mkDerivation rec { 4 name = "tt-rss-${version}"; 5 + version = "17.4"; 6 7 src = fetchgit { 8 + url = "https://git.tt-rss.org/git/tt-rss.git"; 9 rev = "refs/tags/${version}"; 10 + sha256 = "07ng21n4pva56cxnxkzd6vzs381zn67psqpm51ym5wnl644jqh08"; 11 }; 12 13 buildPhases = ["unpackPhase" "installPhase"];
+2 -2
pkgs/tools/backup/restic/default.nix
··· 2 3 buildGoPackage rec { 4 name = "restic-${version}"; 5 - version = "0.6.1"; 6 7 goPackagePath = "github.com/restic/restic"; 8 ··· 10 owner = "restic"; 11 repo = "restic"; 12 rev = "v${version}"; 13 - sha256 = "1rp4s1gh07j06457rhl4r0qnxqn0h7n4i8k50akdr87nwyikkn17"; 14 }; 15 16 buildPhase = ''
··· 2 3 buildGoPackage rec { 4 name = "restic-${version}"; 5 + version = "0.7.0"; 6 7 goPackagePath = "github.com/restic/restic"; 8 ··· 10 owner = "restic"; 11 repo = "restic"; 12 rev = "v${version}"; 13 + sha256 = "1whzzma2c199i604qy1a807zhi8qgri1r9bbxl5l7wlfh7x0n6sd"; 14 }; 15 16 buildPhase = ''
+2 -2
pkgs/tools/backup/tarsnap/default.nix
··· 8 in 9 stdenv.mkDerivation rec { 10 name = "tarsnap-${version}"; 11 - version = "1.0.37"; 12 13 src = fetchurl { 14 url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz"; 15 - sha256 = "1ynv323qi6775lzjb6hvifl8ajkv2bizy43sajadjfqvcl9r96gs"; 16 }; 17 18 preConfigure = ''
··· 8 in 9 stdenv.mkDerivation rec { 10 name = "tarsnap-${version}"; 11 + version = "1.0.38"; 12 13 src = fetchurl { 14 url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz"; 15 + sha256 = "0nyd722i7q8h81h5mvwxai0f3jmwd93r3ahjkmr12k55p8c0rvkn"; 16 }; 17 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 3 stdenv.mkDerivation rec { 4 name = "lftp-${version}"; 5 - version = "4.7.7"; 6 7 src = fetchurl { 8 urls = [ ··· 10 "ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2" 11 "http://lftp.yar.ru/ftp/old/${name}.tar.bz2" 12 ]; 13 - sha256 = "104jvzmvbmblfg8n8ffrnrrg8za5l25n53lbkawwy5x3m4h1yi7y"; 14 }; 15 16 nativeBuildInputs = [ pkgconfig ];
··· 2 3 stdenv.mkDerivation rec { 4 name = "lftp-${version}"; 5 + version = "4.8.0"; 6 7 src = fetchurl { 8 urls = [ ··· 10 "ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2" 11 "http://lftp.yar.ru/ftp/old/${name}.tar.bz2" 12 ]; 13 + sha256 = "0z2432zxzg808swi72yak9kia976qrjj030grk0v4p54mcib3s34"; 14 }; 15 16 nativeBuildInputs = [ pkgconfig ];
+2 -2
pkgs/tools/package-management/opkg/default.nix
··· 2 , autoreconfHook }: 3 4 stdenv.mkDerivation rec { 5 - version = "0.3.4"; 6 name = "opkg-${version}"; 7 src = fetchurl { 8 url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz"; 9 - sha256 = "1glkxjhsaaji172phd1gv8g0k0fs09pij6k01cl9namnac5r02vm"; 10 }; 11 12 nativeBuildInputs = [ pkgconfig autoreconfHook ];
··· 2 , autoreconfHook }: 3 4 stdenv.mkDerivation rec { 5 + version = "0.3.5"; 6 name = "opkg-${version}"; 7 src = fetchurl { 8 url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz"; 9 + sha256 = "0ciz6h6sx9hnz463alpkcqwqnq8jk382ifc6z89j29hix8fw4jvk"; 10 }; 11 12 nativeBuildInputs = [ pkgconfig autoreconfHook ];
+14 -4
pkgs/top-level/all-packages.nix
··· 4370 4371 tarsnap = callPackage ../tools/backup/tarsnap { }; 4372 4373 tcpcrypt = callPackage ../tools/security/tcpcrypt { }; 4374 4375 tcptraceroute = callPackage ../tools/networking/tcptraceroute { }; ··· 5619 (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } 5620 (openjdk7.jre // { outputs = [ "jre" ]; })); 5621 5622 - jdk8 = openjdk8 // { outputs = [ "out" ]; }; 5623 - jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" 5624 (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } 5625 (openjdk8.jre // { outputs = [ "jre" ]; })); 5626 jre8_headless = ··· 5653 5654 supportsJDK = 5655 system == "i686-linux" || 5656 - system == "x86_64-linux"; 5657 5658 jdkdistro = oraclejdk8distro; 5659 ··· 6064 inherit (beam.interpreters) 6065 erlang erlang_odbc erlang_javac erlang_odbc_javac 6066 elixir elixir_1_5_rc elixir_1_4 elixir_1_3 6067 - lfe 6068 erlangR16 erlangR16_odbc 6069 erlang_basho_R16B02 erlang_basho_R16B02_odbc 6070 erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac ··· 7390 7391 aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {}); 7392 7393 attica = callPackage ../development/libraries/attica { }; 7394 7395 attr = callPackage ../development/libraries/attr { }; ··· 7654 7655 vmmlib = callPackage ../development/libraries/vmmlib {}; 7656 7657 enchant = callPackage ../development/libraries/enchant { }; 7658 7659 enet = callPackage ../development/libraries/enet { }; ··· 13399 libgpod = pkgs.libgpod.override { monoSupport = true; }; 13400 }; 13401 13402 batik = callPackage ../applications/graphics/batik { }; 13403 13404 batti = callPackage ../applications/misc/batti { }; ··· 18651 nix-serve = callPackage ../tools/package-management/nix-serve { }; 18652 18653 nixos-artwork = callPackage ../data/misc/nixos-artwork { }; 18654 18655 nixos-container = callPackage ../tools/virtualization/nixos-container { }; 18656
··· 4370 4371 tarsnap = callPackage ../tools/backup/tarsnap { }; 4372 4373 + tarsnapper = callPackage ../tools/backup/tarsnapper { }; 4374 + 4375 tcpcrypt = callPackage ../tools/security/tcpcrypt { }; 4376 4377 tcptraceroute = callPackage ../tools/networking/tcptraceroute { }; ··· 5621 (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } 5622 (openjdk7.jre // { outputs = [ "jre" ]; })); 5623 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}" 5626 (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } 5627 (openjdk8.jre // { outputs = [ "jre" ]; })); 5628 jre8_headless = ··· 5655 5656 supportsJDK = 5657 system == "i686-linux" || 5658 + system == "x86_64-linux" || 5659 + system == "armv7l-linux"; 5660 5661 jdkdistro = oraclejdk8distro; 5662 ··· 6067 inherit (beam.interpreters) 6068 erlang erlang_odbc erlang_javac erlang_odbc_javac 6069 elixir elixir_1_5_rc elixir_1_4 elixir_1_3 6070 + lfe lfe_1_2 6071 erlangR16 erlangR16_odbc 6072 erlang_basho_R16B02 erlang_basho_R16B02_odbc 6073 erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac ··· 7393 7394 aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {}); 7395 7396 + aspellWithDicts = callPackage ../development/libraries/aspell/aspell-with-dicts.nix { }; 7397 + 7398 attica = callPackage ../development/libraries/attica { }; 7399 7400 attr = callPackage ../development/libraries/attr { }; ··· 7659 7660 vmmlib = callPackage ../development/libraries/vmmlib {}; 7661 7662 + elastix = callPackage ../development/libraries/science/biology/elastix { }; 7663 + 7664 enchant = callPackage ../development/libraries/enchant { }; 7665 7666 enet = callPackage ../development/libraries/enet { }; ··· 13406 libgpod = pkgs.libgpod.override { monoSupport = true; }; 13407 }; 13408 13409 + bashSnippets = callPackage ../applications/misc/bashSnippets { }; 13410 + 13411 batik = callPackage ../applications/graphics/batik { }; 13412 13413 batti = callPackage ../applications/misc/batti { }; ··· 18660 nix-serve = callPackage ../tools/package-management/nix-serve { }; 18661 18662 nixos-artwork = callPackage ../data/misc/nixos-artwork { }; 18663 + nixos-icons = callPackage ../data/misc/nixos-artwork/icons.nix { }; 18664 18665 nixos-container = callPackage ../tools/virtualization/nixos-container { }; 18666
+1 -1
pkgs/top-level/beam-packages.nix
··· 58 # `beam.packages.erlangR19.elixir`. 59 inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3; 60 61 - lfe = packages.erlang.lfe; 62 }; 63 64 # Helper function to generate package set with a specific Erlang version.
··· 58 # `beam.packages.erlangR19.elixir`. 59 inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3; 60 61 + inherit (packages.erlang) lfe lfe_1_2; 62 }; 63 64 # Helper function to generate package set with a specific Erlang version.
+31 -468
pkgs/top-level/python-packages.nix
··· 84 85 vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { pythonPackages = self; }; 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 - }; 110 111 "3to2" = callPackage ../development/python-modules/3to2 { }; 112 ··· 122 123 agate-sql = callPackage ../development/python-modules/agate-sql { }; 124 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 - }; 141 142 asn1crypto = callPackage ../development/python-modules/asn1crypto { }; 143 ··· 167 168 dkimpy = callPackage ../development/python-modules/dkimpy { }; 169 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 - }; 183 184 dbus-python = callPackage ../development/python-modules/dbus { 185 dbus = pkgs.dbus; 186 }; 187 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 - }; 208 209 discordpy = callPackage ../development/python-modules/discordpy { }; 210 ··· 264 265 pygame-git = callPackage ../development/python-modules/pygame/git.nix { }; 266 267 - pygame_sdl2 = buildPythonPackage rec { 268 - pname = "pygame_sdl2"; 269 - version = "6.99.10.1227"; 270 - name = "${pname}-${version}"; 271 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 - }; 279 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 pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { }; 300 301 pygtk = callPackage ../development/python-modules/pygtk { libglade = null; }; ··· 352 hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; 353 }; 354 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 - }; 375 376 pyunbound = callPackage ../tools/networking/unbound/python.nix { }; 377 378 # packages defined here 379 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"; 433 434 - src = pkgs.fetchurl { 435 - url = "mirror://pypi/v/vega/${name}.tar.gz"; 436 - sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm"; 437 - }; 438 439 - buildInputs = [ self.pytest ]; 440 - propagatedBuildInputs = with self; [ jupyter_core pandas ]; 441 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 - }; 470 471 acme-tiny = buildPythonPackage rec { 472 name = "acme-tiny-${version}"; ··· 8192 8193 paperwork-backend = buildPythonPackage rec { 8194 name = "paperwork-backend-${version}"; 8195 - version = "1.0.6"; 8196 8197 src = pkgs.fetchFromGitHub { 8198 owner = "jflesch"; 8199 repo = "paperwork-backend"; 8200 rev = version; 8201 - sha256 = "11jbhv9xcpimp9iq2b1hlpljzij73s86rb5lpgzhslqc7zmm5bxn"; 8202 }; 8203 8204 # Python 2.x is not supported. 8205 disabled = !isPy3k && !isPyPy; 8206 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 preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend"; 8215 8216 propagatedBuildInputs = with self; [ 8217 pyenchant simplebayes pillow pycountry whoosh termcolor 8218 - python-Levenshtein pyinsane2 pygobject3 pyocr pkgs.poppler_gi 8219 ]; 8220 8221 meta = { ··· 9938 9939 django_polymorphic = callPackage ../development/python-modules/django-polymorphic { }; 9940 9941 - django_tagging = buildPythonPackage rec { 9942 - name = "django-tagging-0.4.5"; 9943 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 { 9961 name = "django-tagging-0.3.6"; 9962 9963 src = pkgs.fetchurl { ··· 23884 }; 23885 }; 23886 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 taskcoach = buildPythonPackage rec { 23908 name = "TaskCoach-1.3.22"; 23909 disabled = isPy3k; ··· 29972 }; 29973 }; 29974 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 - }; 29991 29992 autobahn = callPackage ../development/python-modules/autobahn { }; 29993 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 - }; 30017 30018 whoosh = callPackage ../development/python-modules/whoosh { }; 30019 ··· 30087 }; 30088 }; 30089 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"; 30135 30136 - checkPhase = "${python.interpreter} test/test.py"; 30137 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 - }; 30144 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 - }; 30152 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 - }; 30199 30200 yarl = callPackage ../development/python-modules/yarl { }; 30201 ··· 30224 30225 typed-ast = callPackage ../development/python-modules/typed-ast { }; 30226 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 - }; 30250 30251 uranium = callPackage ../development/python-modules/uranium { }; 30252 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 - }; 30272 30273 wp_export_parser = buildPythonPackage rec { 30274 name = "${pname}-${version}"; ··· 30282 }; 30283 }; 30284 30285 - wptserve = callPackage ../development/python-modules/wptserve {}; 30286 30287 - yenc = callPackage ../development/python-modules/yenc { 30288 - }; 30289 30290 - zeep = callPackage ../development/python-modules/zeep { 30291 - }; 30292 30293 zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else 30294 (pkgs.zeitgeist.override{python2Packages=self;}).py; 30295 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 - }; 30315 30316 zipfile36 = buildPythonPackage rec { 30317 pname = "zipfile36";
··· 84 85 vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { pythonPackages = self; }; 86 87 + acoustics = callPackage ../development/python-modules/acoustics { }; 88 89 "3to2" = callPackage ../development/python-modules/3to2 { }; 90 ··· 100 101 agate-sql = callPackage ../development/python-modules/agate-sql { }; 102 103 + ansicolor = callPackage ../development/python-modules/ansicolor { }; 104 105 asn1crypto = callPackage ../development/python-modules/asn1crypto { }; 106 ··· 130 131 dkimpy = callPackage ../development/python-modules/dkimpy { }; 132 133 + emcee = callPackage ../development/python-modules/emcee { }; 134 135 dbus-python = callPackage ../development/python-modules/dbus { 136 dbus = pkgs.dbus; 137 }; 138 139 + discid = callPackage ../development/python-modules/discid { }; 140 141 discordpy = callPackage ../development/python-modules/discordpy { }; 142 ··· 196 197 pygame-git = callPackage ../development/python-modules/pygame/git.nix { }; 198 199 + pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { }; 200 201 + pygobject2 = callPackage ../development/python-modules/pygobject { }; 202 203 pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { }; 204 205 pygtk = callPackage ../development/python-modules/pygtk { libglade = null; }; ··· 256 hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; 257 }; 258 259 + unifi = callPackage ../development/python-modules/unifi { }; 260 261 pyunbound = callPackage ../tools/networking/unbound/python.nix { }; 262 263 # packages defined here 264 265 + aafigure = callPackage ../development/python-modules/aafigure { }; 266 267 + altair = callPackage ../development/python-modules/altair { }; 268 269 + vega = callPackage ../development/python-modules/vega { }; 270 271 + acme = callPackage ../development/python-modules/acme { }; 272 273 acme-tiny = buildPythonPackage rec { 274 name = "acme-tiny-${version}"; ··· 7994 7995 paperwork-backend = buildPythonPackage rec { 7996 name = "paperwork-backend-${version}"; 7997 + version = "1.2.0"; 7998 7999 src = pkgs.fetchFromGitHub { 8000 owner = "jflesch"; 8001 repo = "paperwork-backend"; 8002 rev = version; 8003 + sha256 = "1pzyy14f9wzh9vwn855k1z48a8mbs73j1dk8730kdlcdkmn3l1ms"; 8004 }; 8005 8006 # Python 2.x is not supported. 8007 disabled = !isPy3k && !isPyPy; 8008 8009 preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend"; 8010 8011 propagatedBuildInputs = with self; [ 8012 pyenchant simplebayes pillow pycountry whoosh termcolor 8013 + python-Levenshtein pyinsane2 pygobject3 pyocr 8014 + pkgs.poppler_gi pkgs.gtk3 8015 + natsort 8016 ]; 8017 8018 meta = { ··· 9735 9736 django_polymorphic = callPackage ../development/python-modules/django-polymorphic { }; 9737 9738 + django_tagging = callPackage ../development/python-modules/django_tagging { }; 9739 9740 + django_tagging_0_3 = self.django_tagging.overrideAttrs (attrs: rec { 9741 name = "django-tagging-0.3.6"; 9742 9743 src = pkgs.fetchurl { ··· 23664 }; 23665 }; 23666 23667 taskcoach = buildPythonPackage rec { 23668 name = "TaskCoach-1.3.22"; 23669 disabled = isPy3k; ··· 29732 }; 29733 }; 29734 29735 + yapf = callPackage ../development/python-modules/yapf { }; 29736 29737 autobahn = callPackage ../development/python-modules/autobahn { }; 29738 29739 + jsonref = callPackage ../development/python-modules/jsonref { }; 29740 29741 whoosh = callPackage ../development/python-modules/whoosh { }; 29742 ··· 29810 }; 29811 }; 29812 29813 + intervaltree = callPackage ../development/python-modules/intervaltree { }; 29814 29815 + packaging = callPackage ../development/python-modules/packaging { }; 29816 29817 + pytoml = callPackage ../development/python-modules/pytoml { }; 29818 29819 + pypandoc = callPackage ../development/python-modules/pypandoc { }; 29820 29821 + yamllint = callPackage ../development/python-modules/yamllint { }; 29822 29823 yarl = callPackage ../development/python-modules/yarl { }; 29824 ··· 29847 29848 typed-ast = callPackage ../development/python-modules/typed-ast { }; 29849 29850 + stripe = callPackage ../development/python-modules/stripe { }; 29851 29852 uranium = callPackage ../development/python-modules/uranium { }; 29853 29854 + vine = callPackage ../development/python-modules/vine { }; 29855 29856 wp_export_parser = buildPythonPackage rec { 29857 name = "${pname}-${version}"; ··· 29865 }; 29866 }; 29867 29868 + wptserve = callPackage ../development/python-modules/wptserve { }; 29869 29870 + yenc = callPackage ../development/python-modules/yenc { }; 29871 29872 + zeep = callPackage ../development/python-modules/zeep { }; 29873 29874 zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else 29875 (pkgs.zeitgeist.override{python2Packages=self;}).py; 29876 29877 + zeroconf = callPackage ../development/python-modules/zeroconf { }; 29878 29879 zipfile36 = buildPythonPackage rec { 29880 pname = "zipfile36";