3
0
Fork 0
forked from mirrors/nixpkgs

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

This commit is contained in:
Frederik Rietdijk 2017-11-23 16:38:31 +01:00
commit 6ad79678d4
100 changed files with 3142 additions and 1487 deletions

1
.github/CODEOWNERS vendored
View file

@ -83,3 +83,4 @@
# https://github.com/NixOS/nixpkgs/issues/31401
/lib/maintainers.nix @ghost
/lib/licenses.nix @ghost

View file

@ -1,10 +1,9 @@
[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
[<img src="https://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
[![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs)
[![Code Triagers Badge](https://www.codetriage.com/nixos/nixpkgs/badges/users.svg)](https://www.codetriage.com/nixos/nixpkgs)
Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package
manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/)
manager. It is periodically built and tested by the [Hydra](https://hydra.nixos.org/)
build daemon as so-called channels. To get channel information via git, add
[nixpkgs-channels](https://github.com/NixOS/nixpkgs-channels.git) as a remote:
@ -23,7 +22,7 @@ release and `nixos-unstable` for the latest successful build of master:
For pull-requests, please rebase onto nixpkgs `master`.
[NixOS](https://nixos.org/nixos/) linux distribution source code is located inside
[NixOS](https://nixos.org/nixos/) Linux distribution source code is located inside
`nixos/` folder.
* [NixOS installation instructions](https://nixos.org/nixos/manual/#ch-installation)

View file

@ -22,11 +22,15 @@ rec {
* character sep. If sep appears in k, it is escaped.
* Helper for synaxes with different separators.
*
* mkKeyValueDefault ":" "f:oo" "bar"
* mkValueString specifies how values should be formatted.
*
* mkKeyValueDefault {} ":" "f:oo" "bar"
* > "f\:oo:bar"
*/
mkKeyValueDefault = sep: k: v:
"${libStr.escape [sep] k}${sep}${toString v}";
mkKeyValueDefault = {
mkValueString ? toString
}: sep: k: v:
"${libStr.escape [sep] k}${sep}${mkValueString v}";
/* Generate a key-value-style config file from an attrset.
@ -34,7 +38,7 @@ rec {
* mkKeyValue is the same as in toINI.
*/
toKeyValue = {
mkKeyValue ? mkKeyValueDefault "="
mkKeyValue ? mkKeyValueDefault {} "="
}: attrs:
let mkLine = k: v: mkKeyValue k v + "\n";
in libStr.concatStrings (libAttr.mapAttrsToList mkLine attrs);
@ -64,7 +68,7 @@ rec {
# apply transformations (e.g. escapes) to section names
mkSectionName ? (name: libStr.escape [ "[" "]" ] name),
# format a setting line from key and value
mkKeyValue ? mkKeyValueDefault "="
mkKeyValue ? mkKeyValueDefault {} "="
}: attrsOfAttrs:
let
# map function to string for each key val

View file

@ -441,6 +441,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "OpenSSL License";
};
osl = spdx {
spdxId = "OSL-3.0";
fullName = "Open Software License 3.0";
};
php301 = spdx {
spdxId = "PHP-3.01";
fullName = "PHP License v3.01";

View file

@ -707,6 +707,7 @@
ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>";
yochai = "Yochai <yochai@titat.info>";
yorickvp = "Yorick van Pelt <yorickvanpelt@gmail.com>";
yrashk = "Yurii Rashkovskii <yrashk@gmail.com>";
yuriaisaka = "Yuri Aisaka <yuri.aisaka+nix@gmail.com>";
yurrriq = "Eric Bailey <eric@ericb.me>";
z77z = "Marco Maggesi <maggesi@math.unifi.it>";

View file

@ -201,7 +201,7 @@ runTests {
# in alphabetical order
testMkKeyValueDefault = {
expr = generators.mkKeyValueDefault ":" "f:oo" "bar";
expr = generators.mkKeyValueDefault {} ":" "f:oo" "bar";
expected = ''f\:oo:bar'';
};

View file

@ -12,7 +12,7 @@ management. In the declarative style, users are specified in
states that a user account named <literal>alice</literal> shall exist:
<programlisting>
users.extraUsers.alice =
users.users.alice =
{ isNormalUser = true;
home = "/home/alice";
description = "Alice Foobar";
@ -34,7 +34,7 @@ to set a password, which is retained across invocations of
<para>If you set users.mutableUsers to false, then the contents of /etc/passwd
and /etc/group will be congruent to your NixOS configuration. For instance,
if you remove a user from users.extraUsers and run nixos-rebuild, the user
if you remove a user from users.users and run nixos-rebuild, the user
account will cease to exist. Also, imperative commands for managing users
and groups, such as useradd, are no longer available. Passwords may still be
assigned by setting the user's <literal>hashedPassword</literal> option. A
@ -54,7 +54,7 @@ to the user specification.</para>
group named <literal>students</literal> shall exist:
<programlisting>
users.extraGroups.students.gid = 1000;
users.groups.students.gid = 1000;
</programlisting>
As with users, the group ID (gid) is optional and will be assigned
@ -68,8 +68,8 @@ account named <literal>alice</literal>:
<screen>
# useradd -m alice</screen>
To make all nix tools available to this new user use `su - USER` which
opens a login shell (==shell that loads the profile) for given user.
To make all nix tools available to this new user use `su - USER` which
opens a login shell (==shell that loads the profile) for given user.
This will create the ~/.nix-defexpr symlink. So run:
<screen>

View file

@ -106,13 +106,43 @@ let
xmllint --xinclude --noxincludenode \
--output ./man-pages-combined.xml ./man-pages.xml
xmllint --debug --noout --nonet \
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
manual-combined.xml
xmllint --debug --noout --nonet \
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
man-pages-combined.xml
# outputs the context of an xmllint error output
# LEN lines around the failing line are printed
function context {
# length of context
local LEN=6
# lines to print before error line
local BEFORE=4
# xmllint output lines are:
# file.xml:1234: there was an error on line 1234
while IFS=':' read -r file line rest; do
echo
if [[ -n "$rest" ]]; then
echo "$file:$line:$rest"
local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1))
# number lines & filter context
nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p"
else
if [[ -n "$line" ]]; then
echo "$file:$line"
else
echo "$file"
fi
fi
done
}
function lintrng {
xmllint --debug --noout --nonet \
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
"$1" \
2>&1 | context 1>&2
# ^ redirect assumes xmllint doesnt print to stdout
}
lintrng manual-combined.xml
lintrng man-pages-combined.xml
mkdir $out
cp manual-combined.xml $out/

View file

@ -300,6 +300,7 @@
kanboard = 281;
pykms = 282;
kodi = 283;
restya-board = 284;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -568,6 +569,7 @@
kanboard = 281;
pykms = 282;
kodi = 283;
restya-board = 284;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -608,6 +608,7 @@
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/piwik.nix
./services/web-apps/pump.io.nix
./services/web-apps/restya-board.nix
./services/web-apps/tt-rss.nix
./services/web-apps/selfoss.nix
./services/web-apps/quassel-webserver.nix

View file

@ -28,6 +28,7 @@ let
serverEnv = env //
{ HYDRA_TRACKER = cfg.tracker;
XDG_CACHE_HOME = "${baseDir}/www/.cache";
COLUMNS = "80";
PGPASSFILE = "${baseDir}/pgpass-www"; # grrr
} // (optionalAttrs cfg.debugServer { DBIC_TRACE = "1"; });
@ -225,14 +226,14 @@ in
services.hydra.extraConfig =
''
using_frontend_proxy 1
base_uri ${cfg.hydraURL}
notification_sender ${cfg.notificationSender}
max_servers 25
using_frontend_proxy = 1
base_uri = ${cfg.hydraURL}
notification_sender = ${cfg.notificationSender}
max_servers = 25
${optionalString (cfg.logo != null) ''
hydra_logo ${cfg.logo}
hydra_logo = ${cfg.logo}
''}
gc_roots_dir ${cfg.gcRootsDir}
gc_roots_dir = ${cfg.gcRootsDir}
use-substitutes = ${if cfg.useSubstitutes then "1" else "0"}
'';

View file

@ -0,0 +1,384 @@
{ config, lib, pkgs, ... }:
with lib;
# TODO: are these php-packages needed?
#imagick
#php-geoip -> php.ini: extension = geoip.so
#expat
let
cfg = config.services.restya-board;
runDir = "/run/restya-board";
poolName = "restya-board";
phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock";
in
{
###### interface
options = {
services.restya-board = {
enable = mkEnableOption "restya-board";
dataDir = mkOption {
type = types.path;
default = "/var/lib/restya-board";
example = "/var/lib/restya-board";
description = ''
Data of the application.
'';
};
user = mkOption {
type = types.str;
default = "restya-board";
example = "restya-board";
description = ''
User account under which the web-application runs.
'';
};
group = mkOption {
type = types.str;
default = "nginx";
example = "nginx";
description = ''
Group account under which the web-application runs.
'';
};
virtualHost = {
serverName = mkOption {
type = types.str;
default = "restya.board";
description = ''
Name of the nginx virtualhost to use.
'';
};
listenHost = mkOption {
type = types.str;
default = "localhost";
description = ''
Listen address for the virtualhost to use.
'';
};
listenPort = mkOption {
type = types.int;
default = 3000;
description = ''
Listen port for the virtualhost to use.
'';
};
};
database = {
host = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Host of the database. Leave 'null' to use a local PostgreSQL database.
A local PostgreSQL database is initialized automatically.
'';
};
port = mkOption {
type = types.nullOr types.int;
default = 5432;
description = ''
The database's port.
'';
};
name = mkOption {
type = types.str;
default = "restya_board";
description = ''
Name of the database. The database must exist.
'';
};
user = mkOption {
type = types.str;
default = "restya_board";
description = ''
The database user. The user must exist and have access to
the specified database.
'';
};
passwordFile = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The database user's password. 'null' if no password is set.
'';
};
};
email = {
server = mkOption {
type = types.nullOr types.str;
default = null;
example = "localhost";
description = ''
Hostname to send outgoing mail. Null to use the system MTA.
'';
};
port = mkOption {
type = types.int;
default = 25;
description = ''
Port used to connect to SMTP server.
'';
};
login = mkOption {
type = types.str;
default = "";
description = ''
SMTP authentication login used when sending outgoing mail.
'';
};
password = mkOption {
type = types.str;
default = "";
description = ''
SMTP authentication password used when sending outgoing mail.
ATTENTION: The password is stored world-readable in the nix-store!
'';
};
};
timezone = mkOption {
type = types.lines;
default = "GMT";
description = ''
Timezone the web-app runs in.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
services.phpfpm.poolConfigs = {
"${poolName}" = ''
listen = "${phpfpmSocketName}";
listen.owner = nginx
listen.group = nginx
listen.mode = 0600
user = ${cfg.user}
group = ${cfg.group}
pm = dynamic
pm.max_children = 75
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
catch_workers_output = 1
'';
};
services.phpfpm.phpOptions = ''
date.timezone = "CET"
${optionalString (!isNull cfg.email.server) ''
SMTP = ${cfg.email.server}
smtp_port = ${toString cfg.email.port}
auth_username = ${cfg.email.login}
auth_password = ${cfg.email.password}
''}
'';
services.nginx.enable = true;
services.nginx.virtualHosts."${cfg.virtualHost.serverName}" = {
listen = [ { addr = cfg.virtualHost.listenHost; port = cfg.virtualHost.listenPort; } ];
serverName = cfg.virtualHost.serverName;
root = runDir;
extraConfig = ''
index index.html index.php;
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types text/plain application/xml text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss;
client_max_body_size 300M;
rewrite ^/oauth/authorize$ /server/php/authorize.php last;
rewrite ^/oauth_callback/([a-zA-Z0-9_\.]*)/([a-zA-Z0-9_\.]*)$ /server/php/oauth_callback.php?plugin=$1&code=$2 last;
rewrite ^/download/([0-9]*)/([a-zA-Z0-9_\.]*)$ /server/php/download.php?id=$1&hash=$2 last;
rewrite ^/ical/([0-9]*)/([0-9]*)/([a-z0-9]*).ics$ /server/php/ical.php?board_id=$1&user_id=$2&hash=$3 last;
rewrite ^/api/(.*)$ /server/php/R/r.php?_url=$1&$args last;
rewrite ^/api_explorer/api-docs/$ /client/api_explorer/api-docs/index.php last;
'';
locations."/".root = "${runDir}/client";
locations."~ \.php$" = {
tryFiles = "$uri =404";
extraConfig = ''
include ${pkgs.nginx}/conf/fastcgi_params;
fastcgi_pass unix:${phpfpmSocketName};
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M";
'';
};
locations."~* \.(css|js|less|html|ttf|woff|jpg|jpeg|gif|png|bmp|ico)" = {
root = "${runDir}/client";
extraConfig = ''
if (-f $request_filename) {
break;
}
rewrite ^/img/([a-zA-Z_]*)/([a-zA-Z_]*)/([a-zA-Z0-9_\.]*)$ /server/php/image.php?size=$1&model=$2&filename=$3 last;
add_header Cache-Control public;
add_header Cache-Control must-revalidate;
expires 7d;
'';
};
};
systemd.services.restya-board-init = {
description = "Restya board initialization";
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ];
after = [ "network.target" "postgresql.service" ];
script = ''
rm -rf "${runDir}"
mkdir -m 750 -p "${runDir}"
cp -r "${pkgs.restya-board}/"* "${runDir}"
sed -i "s/@restya.com/@${cfg.virtualHost.serverName}/g" "${runDir}/sql/restyaboard_with_empty_data.sql"
rm -rf "${runDir}/media"
rm -rf "${runDir}/client/img"
chmod -R 0750 "${runDir}"
sed -i "s@^php@${config.services.phpfpm.phpPackage}/bin/php@" "${runDir}/server/php/shell/"*.sh
${if (isNull cfg.database.host) then ''
sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', 'localhost');/g" "${runDir}/server/php/config.inc.php"
sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php"
'' else ''
sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', '${cfg.database.host}');/g" "${runDir}/server/php/config.inc.php"
sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', '$(<${cfg.database.dbPassFile})');/g" "${runDir}/server/php/config.inc.php"
''}
sed -i "s/^.*'R_DB_PORT'.*$/define('R_DB_PORT', '${toString cfg.database.port}');/g" "${runDir}/server/php/config.inc.php"
sed -i "s/^.*'R_DB_NAME'.*$/define('R_DB_NAME', '${cfg.database.name}');/g" "${runDir}/server/php/config.inc.php"
sed -i "s/^.*'R_DB_USER'.*$/define('R_DB_USER', '${cfg.database.user}');/g" "${runDir}/server/php/config.inc.php"
chmod 0400 "${runDir}/server/php/config.inc.php"
ln -sf "${cfg.dataDir}/media" "${runDir}/media"
ln -sf "${cfg.dataDir}/client/img" "${runDir}/client/img"
chmod g+w "${runDir}/tmp/cache"
chown -R "${cfg.user}"."${cfg.group}" "${runDir}"
mkdir -m 0750 -p "${cfg.dataDir}"
mkdir -m 0750 -p "${cfg.dataDir}/media"
mkdir -m 0750 -p "${cfg.dataDir}/client/img"
cp -r "${pkgs.restya-board}/media/"* "${cfg.dataDir}/media"
cp -r "${pkgs.restya-board}/client/img/"* "${cfg.dataDir}/client/img"
chown "${cfg.user}"."${cfg.group}" "${cfg.dataDir}"
chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/media"
chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/client/img"
${optionalString (isNull cfg.database.host) ''
if ! [ -e "${cfg.dataDir}/.db-initialized" ]; then
${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} \
${config.services.postgresql.package}/bin/psql -U ${config.services.postgresql.superUser} \
-c "CREATE USER ${cfg.database.user} WITH ENCRYPTED PASSWORD 'restya'"
${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} \
${config.services.postgresql.package}/bin/psql -U ${config.services.postgresql.superUser} \
-c "CREATE DATABASE ${cfg.database.name} OWNER ${cfg.database.user} ENCODING 'UTF8' TEMPLATE template0"
${pkgs.sudo}/bin/sudo -u ${cfg.user} \
${config.services.postgresql.package}/bin/psql -U ${cfg.database.user} \
-d ${cfg.database.name} -f "${runDir}/sql/restyaboard_with_empty_data.sql"
touch "${cfg.dataDir}/.db-initialized"
fi
''}
'';
};
systemd.timers.restya-board = {
description = "restya-board scripts for e.g. email notification";
wantedBy = [ "timers.target" ];
after = [ "restya-board-init.service" ];
requires = [ "restya-board-init.service" ];
timerConfig = {
OnUnitInactiveSec = "60s";
Unit = "restya-board-timers.service";
};
};
systemd.services.restya-board-timers = {
description = "restya-board scripts for e.g. email notification";
serviceConfig.Type = "oneshot";
serviceConfig.User = cfg.user;
after = [ "restya-board-init.service" ];
requires = [ "restya-board-init.service" ];
script = ''
/bin/sh ${runDir}/server/php/shell/instant_email_notification.sh 2> /dev/null || true
/bin/sh ${runDir}/server/php/shell/periodic_email_notification.sh 2> /dev/null || true
/bin/sh ${runDir}/server/php/shell/imap.sh 2> /dev/null || true
/bin/sh ${runDir}/server/php/shell/webhook.sh 2> /dev/null || true
/bin/sh ${runDir}/server/php/shell/card_due_notification.sh 2> /dev/null || true
'';
};
users.extraUsers.restya-board = {
isSystemUser = true;
createHome = false;
home = runDir;
group = "restya-board";
};
users.extraGroups.restya-board = {};
services.postgresql.enable = mkIf (isNull cfg.database.host) true;
services.postgresql.identMap = optionalString (isNull cfg.database.host)
''
restya-board-users restya-board restya_board
'';
services.postgresql.authentication = optionalString (isNull cfg.database.host)
''
local restya_board all ident map=restya-board-users
'';
};
}

View file

@ -113,7 +113,6 @@ in
tasksDirectory = mkOption {
type = types.path;
default = "${inginious}/lib/python2.7/site-packages/inginious/tasks";
example = "/var/lib/INGInious/tasks";
description = ''
Path to the tasks folder.
@ -218,6 +217,7 @@ in
# Common
{
services.lighttpd.inginious.tasksDirectory = mkDefault "${inginious}/lib/python2.7/site-packages/inginious/tasks";
# To access inginous tools (like inginious-test-task)
environment.systemPackages = [ inginious ];

View file

@ -0,0 +1,25 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.windowManager.evilwm;
in
{
###### interface
options = {
services.xserver.windowManager.evilwm.enable = mkEnableOption "evilwm";
};
###### implementation
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton {
name = "evilwm";
start = ''
${pkgs.evilwm}/bin/evilwm &
waitPID=$!
'';
};
environment.systemPackages = [ pkgs.evilwm ];
};
}

View file

@ -27,7 +27,6 @@ in
};
config = mkIf config.hardware.parallels.enable {
services.xserver = {
drivers = singleton
{ name = "prlvideo"; modules = [ prl-tools ]; libPath = [ prl-tools ]; };
@ -55,7 +54,7 @@ in
boot.extraModulePackages = [ prl-tools ];
boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ];
boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" ];
services.timesyncd.enable = false;
@ -89,5 +88,50 @@ in
};
};
systemd.user.services = {
prlcc = {
description = "Parallels Control Center";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prlcc";
};
};
prldnd = {
description = "Parallels Control Center";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prldnd";
};
};
prl_wmouse_d = {
description = "Parallels Walking Mouse Daemon";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prl_wmouse_d";
};
};
prlcp = {
description = "Parallels CopyPaste Tool";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prlcp";
};
};
prlsga = {
description = "Parallels Shared Guest Applications Tool";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prlsga";
};
};
prlshprof = {
description = "Parallels Shared Profile Tool";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${prl-tools}/bin/prlshprof";
};
};
};
};
}

View file

@ -147,9 +147,6 @@ self:
# upstream issue: missing file footer
seoul256-theme = markBroken super.seoul256-theme;
# bad dependencies
shm = markBroken super.shm;
spaceline = super.spaceline.override {
inherit (self.melpaPackages) powerline;
};

View file

@ -5,7 +5,7 @@
}:
stdenv.mkDerivation rec {
name = "qgis-2.18.13";
name = "qgis-2.18.14";
buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "033l3wg3l7hv4642wmsdycjca1dw8p89sk9xyc51wpb3id17vgv2";
sha256 = "199nc539kd8fxbfny61s4sv8bvrhlxw59dmvw6m70gnff6mpc8fq";
};
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";

View file

@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "6.9.9-21";
sha256 = "0241g3c207rawn61bz8rc5gz55k5mi2b0n3zlwa0jv9xczlkd6a9";
version = "6.9.9-23";
sha256 = "0cd6zcbcfvznf0i3q4xz1c4wm4cfplg4zc466lvlb1w8qbn25948";
patches = [];
}
# Freeze version on mingw so we don't need to port the patch too often.

View file

@ -1,31 +1,37 @@
{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig
, qtbase, qtx11extras, vulkan-loader, xorg
{ stdenv, fetchFromGitHub, cmake, pkgconfig
, qtbase, qtx11extras, qtsvg, makeWrapper, python3, bison
, autoconf, automake, pcre, vulkan-loader, xorg
}:
stdenv.mkDerivation rec {
name = "renderdoc-${version}";
version = "0.34pre";
version = "0.91";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "5e2717daec53e5b51517d3231fb6120bebbe6b7a";
sha256 = "1zpvjvsj5c441kyjpmd2d2r0ykb190rbq474nkmp1jk72cggnpq0";
rev = "2d8b2cf818746b6a2add54e2fef449398816a40c";
sha256 = "07yc3fk7j2nqmrhc4dm3v2pgbc37scd7d28nlzk6v0hw99zck8k0";
};
buildInputs = [
qtbase xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader
qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader
];
nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
nativeBuildInputs = [ cmake makeWrapper pkgconfig python3 bison autoconf automake pcre ];
cmakeFlags = [
"-DBUILD_VERSION_HASH=${src.rev}-distro-nix"
"-DBUILD_VERSION_HASH=${src.rev}"
"-DBUILD_VERSION_DIST_NAME=NixOS"
"-DBUILD_VERSION_DIST_VER=0.91"
"-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc"
"-DBUILD_VERSION_DIST_STABLE=ON"
# TODO: use this instead of preConfigure once placeholders land
#"-DVULKAN_LAYER_FOLDER=${placeholder out}/share/vulkan/implicit_layer.d/"
];
preConfigure = ''
cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
'';
preFixup = ''
mkdir $out/bin/.bin
mv $out/bin/qrenderdoc $out/bin/.bin/qrenderdoc
@ -48,6 +54,6 @@ stdenv.mkDerivation rec {
Windows 7 - 10, Linux or Android.
'';
maintainers = [maintainers.jansol];
platforms = platforms.linux;
platforms = ["i686-linux" "x86_64-linux"];
};
}

View file

@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
poppler_utils libpng imagemagick libjpeg
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
] ++ (with python2Packages; [
apsw cssselect cssutils dateutil html5-parser lxml mechanize netifaces pillow
apsw cssselect cssutils dateutil dns html5-parser lxml mechanize netifaces pillow
python pyqt5 sip
regex msgpack
# the following are distributed with calibre, but we use upstream instead

View file

@ -7,13 +7,14 @@ assert pythonSupport -> python != null && swig != null;
stdenv.mkDerivation rec {
name = "gnuradio-ais-${version}";
version = "2016-08-26";
version = "2015-12-20";
src = fetchFromGitHub {
owner = "bistromath";
repo = "gr-ais";
rev = "1863d1bf8a7709a8dfedb3ddb8e2b99112e7c872";
sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
# Upstream PR: https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054
"rev" = "8502d0252a2a1a9b8d1a71795eaeb5d820684054";
"sha256" = "1b9j0kc74cw12a7jv4lii77dgzqzg2s8ndzp4xmisxksgva1qfvh";
};
nativeBuildInputs = [ pkgconfig ];
@ -27,11 +28,13 @@ stdenv.mkDerivation rec {
done
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Gnuradio block for ais";
homepage = https://github.com/bistromath/gr-ais;
license = licenses.gpl3Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ mog ];
};
}

View file

@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
done
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Gnuradio block for gsm";
homepage = https://github.com/ptrkrysik/gr-gsm;
license = licenses.gpl3Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ mog ];
};
}

View file

@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
done
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Gnuradio block for encryption";
homepage = https://github.com/stwunsch/gr-nacl;
license = licenses.gpl3Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ mog ];
};
}

View file

@ -26,11 +26,13 @@ stdenv.mkDerivation rec {
done
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Gnuradio block for OsmoSDR and rtl-sdr";
homepage = http://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
homepage = https://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
license = licenses.gpl3Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ bjornfor the-kenny ];
};
}

View file

@ -26,11 +26,13 @@ stdenv.mkDerivation rec {
done
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Gnuradio block for radio data system";
homepage = https://github.com/bastibl/gr-rds;
license = licenses.gpl2Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ mog ];
};
}

View file

@ -1,41 +1,51 @@
{ stdenv, fetchurl
# core dependencies
{ stdenv, fetchFromGitHub, writeText, makeWrapper
# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html
# => core dependencies
, cmake, pkgconfig, git, boost, cppunit, fftw
# python wrappers
# => python wrappers
# May be able to upgrade to swig3
, python, swig2, numpy, scipy, matplotlib
# grc - the gnu radio companion
# => grc - the gnu radio companion
, cheetah, pygtk
# gr-wavelet: collection of wavelet blocks
# => gr-wavelet: collection of wavelet blocks
, gsl
# gr-qtgui: the Qt-based GUI
, qt4, qwt, pyqt4 #, pyqwt
# gr-wxgui: the Wx-based GUI
# => gr-qtgui: the Qt-based GUI
, qt4, qwt, pyqt4
# => gr-wxgui: the Wx-based GUI
, wxPython, lxml
# gr-audio: audio subsystems (system/OS dependent)
, alsaLib
# uhd: the Ettus USRP Hardware Driver Interface
# => gr-audio: audio subsystems (system/OS dependent)
, alsaLib # linux 'audio-alsa'
, CoreAudio # darwin 'audio-osx'
# => uhd: the Ettus USRP Hardware Driver Interface
, uhd
# gr-video-sdl: PAL and NTSC display
# => gr-video-sdl: PAL and NTSC display
, SDL
# Other
, libusb1, orc, pyopengl
, makeWrapper
}:
stdenv.mkDerivation rec {
name = "gnuradio-${version}";
version = "3.7.11";
version = "3.7.11.1";
src = fetchurl {
url = "https://gnuradio.org/releases/gnuradio/${name}.tar.gz";
sha256 = "1m2jf8lafr6pr2dlm40nbvr6az8gwjfkzpbs4fxzv3l5hcqvmnc7";
src = fetchFromGitHub {
owner = "gnuradio";
repo = "gnuradio";
rev = "6d2221196082a4954c249dc6955e33d5832a56f2";
sha256 = "1fkrb8cnjbriy2x94lz73q6aqxar1rkvfbafp266ykdpm29b4xgm";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
cmake git boost cppunit fftw python swig2 orc lxml qt4
qwt alsaLib SDL libusb1 uhd gsl makeWrapper
nativeBuildInputs = [
cmake pkgconfig git makeWrapper cppunit orc
];
buildInputs = [
boost fftw python swig2 lxml qt4
qwt SDL libusb1 uhd gsl
] ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib ]
++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ];
propagatedBuildInputs = [
cheetah numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
];
@ -48,22 +58,46 @@ stdenv.mkDerivation rec {
--replace BOOST_CONSTEXPR_OR_CONST const
'';
preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable -std=c++11"
# Enables composition with nix-shell
grcSetupHook = writeText "grcSetupHook.sh" ''
addGRCBlocksPath() {
addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks
}
envHooks+=(addGRCBlocksPath)
'';
setupHook = [ grcSetupHook ];
# patch wxgui and pygtk check due to python importerror in a headless environment
preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable ${stdenv.lib.optionalString (!stdenv.isDarwin) "-std=c++11"}"
sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
find . -name "CMakeLists.txt" -exec sed -i '1iadd_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)' "{}" ";"
'';
# Framework path needed for qwt6_qt4 but not qwt5
cmakeFlags =
stdenv.lib.optionals stdenv.isDarwin [ "-DCMAKE_FRAMEWORK_PATH=${qwt}/lib" ];
# - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
# programs will not display anything. Yes, $MATPLOTLIBRC must point to the
# *dirname* where matplotlibrc is located, not the file itself.
# - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
# we must wrap the stuff in bin/.
# Notes:
# - May want to use makeWrapper instead of wrapProgram
# - may want to change interpreter path on Python examples instead of wrapping
# - see https://github.com/NixOS/nixpkgs/issues/22688 regarding use of --prefix / python.withPackages
# - see https://github.com/NixOS/nixpkgs/issues/24693 regarding use of DYLD_FRAMEWORK_PATH on Darwin
postInstall = ''
printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
for file in $(find $out/bin $out/share/gnuradio/examples -type f -executable); do
wrapProgram "$file" \
--prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
--set MATPLOTLIBRC "$out/share/gnuradio"
--set MATPLOTLIBRC "$out/share/gnuradio" \
${stdenv.lib.optionalString stdenv.isDarwin "--set DYLD_FRAMEWORK_PATH /System/Library/Frameworks"}
done
'';
@ -80,7 +114,7 @@ stdenv.mkDerivation rec {
'';
homepage = https://www.gnuradio.org;
license = licenses.gpl3;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ bjornfor fpletz ];
};
}

View file

@ -1,31 +1,37 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pcsclite, pkgconfig
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
, pcsclite, talloc, python2
}:
stdenv.mkDerivation rec {
name = "libosmocore-${version}";
version = "0.9.0";
version = "0.9.6";
src = fetchFromGitHub {
owner = "osmocom";
repo = "libosmocore";
rev = "8649d57f507d359c99a89654aac7e19ce22db282";
sha256 = "08mcpy9ljwb1i3l4cmlwn024q2psk5gg9f0ylgh99hy1ffx0n7am";
rev = "3cc757df1822114bf446dc2d5f6a95da92321a25";
sha256 = "0dk7065qcy2kjra0p8q2124p73jcyvvzz3cmhid1kx5scyxmr017";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [
pcsclite
propagatedBuildInputs = [
talloc
];
preConfigure = ''
autoreconf -i -f
'';
nativeBuildInputs = [
autoreconfHook pkgconfig
];
buildInputs = [
pcsclite python2
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "libosmocore";
homepage = https://github.com/osmocom/libosmocore;
license = licenses.gpl2Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ mog ];
};
}

View file

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
# /etc/udev/rules.d/, and there is no option to install elsewhere. So install
# rules manually.
# * Propagate libusb-1.0 dependency in pkg-config file.
postInstall = ''
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
mkdir -p "$out/etc/udev/rules.d/"
cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr;
license = licenses.gpl2Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
inherit (src.meta) homepage;
description = "Universal Radio Hacker: investigate wireless protocols like a boss";
license = licenses.asl20;
platforms = platforms.all;
platforms = platforms.linux;
maintainers = with maintainers; [ fpletz ];
};
}

View file

@ -79,9 +79,10 @@ in
meta = {
description = "Signal Private Messenger for the Desktop.";
homepage = https://signal.org/;
license = lib.licenses.gpl3;
platforms = [
homepage = https://signal.org/;
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.ixmatus ];
platforms = [
"x86_64-linux"
];
};

View file

@ -4,7 +4,7 @@
let
version = "2.8.2";
version = "2.9.0";
rpath = stdenv.lib.makeLibraryPath [
alsaLib
@ -46,7 +46,7 @@ let
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
sha256 = "019gzij6m1y9bv561nhbhgf2njp2svjqi5hs907pdjf7xwciwrkm";
sha256 = "1ddfvsy4lr7hcnzxbk4crczylj1qwm9av02xms4w2p0k0c8nhvvc";
}
else
throw "Slack is not supported on ${stdenv.system}";

View file

@ -1,12 +1,15 @@
{ stdenv, fetchurl, ncurses, which, perl
{ stdenv, fetchurl, fetchpatch, ncurses, which, perl
, gdbm ? null
, openssl ? null
, cyrus_sasl ? null
, gnupg ? null
, gpgme ? null
, kerberos ? null
, headerCache ? true
, sslSupport ? true
, saslSupport ? true
, smimeSupport ? false
, gpgSupport ? false
, gpgmeSupport ? true
, imapSupport ? true
, withSidebar ? true
@ -16,7 +19,9 @@
assert headerCache -> gdbm != null;
assert sslSupport -> openssl != null;
assert saslSupport -> cyrus_sasl != null;
assert gpgmeSupport -> gpgme != null;
assert smimeSupport -> openssl != null;
assert gpgSupport -> gnupg != null;
assert gpgmeSupport -> gpgme != null && openssl != null;
with stdenv.lib;
@ -29,9 +34,10 @@ stdenv.mkDerivation rec {
sha256 = "1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl";
};
patchPhase = optionalString (openssl != null) ''
sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl
'';
patches = optional smimeSupport (fetchpatch {
url = "https://sources.debian.net/src/mutt/1.7.2-1/debian/patches/misc/smime.rc.patch";
sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
});
buildInputs =
[ ncurses which perl ]
@ -64,6 +70,22 @@ stdenv.mkDerivation rec {
++ optional gssSupport "--with-gss"
++ optional saslSupport "--with-sasl";
postPatch = optionalString (smimeSupport || gpgmeSupport) ''
sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl
'';
postInstall = optionalString smimeSupport ''
# S/MIME setup
cp contrib/smime.rc $out/etc/smime.rc
sed -i 's#openssl#${openssl}/bin/openssl#' $out/etc/smime.rc
echo "source $out/etc/smime.rc" >> $out/etc/Muttrc
'' + optionalString gpgSupport ''
# GnuPG setup
cp contrib/gpg.rc $out/etc/gpg.rc
sed -i 's#\(command="\)gpg #\1${gnupg}/bin/gpg #' $out/etc/gpg.rc
echo "source $out/etc/gpg.rc" >> $out/etc/Muttrc
'';
meta = {
description = "A small but very powerful text-based mail client";
homepage = http://www.mutt.org;

View file

@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "1r5ddln1wc9iyjizgqb104i0r6qhzsmm2wdnxfaif119cv0vphda";
};
patches = [ ../nextcloud-client/find-sql.patch ];
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ qtbase qtwebkit qtkeychain sqlite ];

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, which
, boost, libtorrentRasterbar, qtbase, qttools
, boost, libtorrentRasterbar, qtbase, qttools, qtsvg
, debugSupport ? false # Debugging
, guiSupport ? true, dbus_libs ? null # GUI (disable to run headless)
, webuiSupport ? true # WebUI
@ -10,16 +10,16 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "qbittorrent-${version}";
version = "3.3.16";
version = "4.0.1";
src = fetchurl {
url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
sha256 = "0mxyn2pajvb55bhcaz55v64p2xzy15p0yy174s62b5y3f8cac27a";
sha256 = "0khy875ahh9rlk8lyfpwsbxjsbp7i1cwqvd1j1s4cqc812szh3z3";
};
nativeBuildInputs = [ pkgconfig which ];
buildInputs = [ boost libtorrentRasterbar qtbase qttools ]
buildInputs = [ boost libtorrentRasterbar qtbase qttools qtsvg ]
++ optional guiSupport dbus_libs;
# Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist.

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, openssl, libX11} :
{stdenv, fetchurl, openssl, libX11, libgssglue, pkgconfig} :
stdenv.mkDerivation (rec {
pname = "rdesktop";
@ -10,12 +10,12 @@ stdenv.mkDerivation (rec {
sha256 = "1r7c1rjmw2xzq8fw0scyb453gy9z19774z1z8ldmzzsfndb03cl8";
};
buildInputs = [openssl libX11];
nativeBuildInputs = [pkgconfig];
buildInputs = [openssl libX11 libgssglue];
configureFlags = [
"--with-ipv6"
"--with-openssl=${openssl.dev}"
"--disable-credssp"
"--disable-smartcard"
];

View file

@ -9,11 +9,11 @@ let
isonum = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent; sha256 = "04b62dw2g3cj9i4vn9xyrsrlz8fpmmijq98dm0nrkky31bwbbrs3"; };
isogrk1 = fetchurl { url = http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent; sha256 = "04b23anhs5wr62n4rgsjirzvw7rpjcsf8smz4ffzaqh3b0vw90vm"; };
in stdenv.mkDerivation rec {
name = "gnumeric-1.12.35";
name = "gnumeric-1.12.36";
src = fetchurl {
url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
sha256 = "77b1e3ce523578a807767ad71680fb865ac021d7bfadf93eada99ae094c06c0a";
sha256 = "3cbfe25f26bd31b832efed2827ac35c3c1600bed9ccd233a4037a9f4d7c54848";
};
configureFlags = "--disable-component";

View file

@ -29,13 +29,13 @@ let
optional = stdenv.lib.optional;
in stdenv.mkDerivation rec {
name = "obs-studio-${version}";
version = "20.1.0";
version = "20.1.3";
src = fetchFromGitHub {
owner = "jp9000";
repo = "obs-studio";
rev = "${version}";
sha256 = "1366nl301rhz8cfbq89ixiq1hdxdn8iimz9xyln274anghz02sbr";
sha256 = "0qdpa2xxiiw53ksvlrf80jm8gz6kxsn56sffv2v2ijxvy7kw5zcg";
};
patches = [ ./find-xcb.patch ];

View file

@ -36,8 +36,13 @@ rec {
sha256 = containerdSha256;
};
hardeningDisable = [ "fortify" ];
buildInputs = [ removeReferencesTo go btrfs-progs ];
# This should go into the containerd derivation once 1.0.0 is out
preBuild = ''
export GOPATH=$(pwd)/vendor
mkdir $(pwd)/vendor/src
mv $(pwd)/vendor/{github.com,golang.org,google.golang.org} $(pwd)/vendor/src/
'' + oldAttrs.preBuild;
@ -90,7 +95,7 @@ rec {
buildInputs = [
makeWrapper removeReferencesTo go-md2man go libtool
] ++ optionals (stdenv.isLinux) [
sqlite devicemapper btrfs-progs systemd libtool libseccomp
sqlite devicemapper btrfs-progs systemd libseccomp
];
dontStrip = true;
@ -214,14 +219,14 @@ rec {
tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
};
docker_17_10 = dockerGen rec {
version = "17.10.0-ce";
rev = "f4ffd2511ce93aa9e5eefdf0e912f77543080b0b"; # git commit
sha256 = "07x47cfdaz4lhlga1pchcbqqy0nd2q6zch0ycag18vzi99w4gmh2";
docker_17_11 = dockerGen rec {
version = "17.11.0-ce";
rev = "1caf76ce6baa889133ece59fab3c36aaf143d4ef"; # git commit
sha256 = "09s7lxcs4wdjj69l7z3nybbms7iqspk1wy7qnr4r52s8vr3fd5s4";
runcRev = "0351df1c5a66838d0c392b4ac4cf9450de844e2d";
runcSha256 = "1cmkdv6rli7v0y0fddqxvrvzd486fg9ssp3kgkya3szkljzz4xj0";
containerdRev = "06b9cb35161009dcb7123345749fef02f7cea8e0";
containerdSha256 = "10hms8a2nn69nfnwly6923jzx40c3slpsdhjhff4bxh36flpf9gd";
containerdRev = "992280e8e265f491f7a624ab82f3e238be086e49";
containerdSha256 = "1ci6jlgrrgz4ph451035sl98lj2jd467pd4qnv85ma9gzblrxs7n";
tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
};

View file

@ -1311,6 +1311,17 @@ rec {
packages = commonCentOSPackages ++ [ "procps-ng" ];
};
centos73x86_64 = {
name = "centos-7.3-x86_64";
fullName = "CentOS 7.3 (x86_64)";
packagesList = fetchurl {
url = http://vault.centos.org/7.3.1611/os/x86_64/repodata/dd86df27191d231cc6b7c5828fadb63b08db4725aef8e2613351667e649c9ca3-primary.xml.gz;
sha256 = "18wwkij7wrji6dhy5y5f4m3xn21vnsnqz0n5nz31q8qx34kxz1nx";
};
urlPrefix = http://vault.centos.org/7.3.1611/os/x86_64;
archs = ["noarch" "x86_64"];
packages = commonCentOSPackages ++ [ "procps-ng" ];
};
};

View file

@ -0,0 +1,43 @@
{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
name = "migu-${version}";
version = "20150712";
srcs = [
(fetchzip {
url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1p-${version}.zip";
sha256 = "04wpbk5xbbcv2rzac8yzj4ww7sk2hy2rg8zs96yxc5vzj9q7svf6";
})
(fetchzip {
url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1c-${version}.zip";
sha256 = "1k7ymix14ac5fb44bjvbaaf24784zzpyc1jj2280c0zdnpxksyk6";
})
(fetchzip {
url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1m-${version}.zip";
sha256 = "07r8id83v92hym21vrqmfsfxb646v8258001pkjhgfnfg1yvw8lm";
})
(fetchzip {
url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-2m-${version}.zip";
sha256 = "1pvzbrawh43589j8rfxk86y1acjbgzzdy5wllvdkpm1qnx28zwc2";
})
];
unpackPhase = ":";
installPhase = ''
find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migu -D
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "0nbpn21cxdd6gsgr3fadzjsnz84f2swpf81wmscmjgvd56ngndzh";
meta = with stdenv.lib; {
description = "A high-quality Japanese font based on modified M+ fonts and IPA fonts";
homepage = http://mix-mplus-ipa.osdn.jp/migu/;
license = licenses.ipa;
platforms = platforms.unix;
maintainers = [ maintainers.mikoim ];
};
}

View file

@ -2,10 +2,10 @@
rec {
# 18MB
noto-fonts = let version = "git-2016-03-29"; in fetchzip {
noto-fonts = let version = "2017-10-24-phase3-second-cleanup"; in fetchzip {
name = "noto-fonts-${version}";
url = https://github.com/googlei18n/noto-fonts/archive/e8b0af48b15d64bd490edab4418b5e396cf29644.zip;
url = "https://github.com/googlei18n/noto-fonts/archive/v${version}.zip";
postFetch = ''
unzip $downloadedFile
@ -17,7 +17,7 @@ rec {
cp -n noto-fonts-*/unhinted/*.ttf $out/share/fonts/noto
cp -n noto-fonts-*/alpha/*.ttf $out/share/fonts/noto
'';
sha256 = "0wphc8671dpbx3rxzmjisnjipg2c2vkhw2i6mmyamd6vvcwajd64";
sha256 = "013l816cq9svdji266sccscm9sf9pfn472gq9lnqkzlwaxx9qrrl";
meta = with stdenv.lib; {
inherit version;
@ -75,14 +75,14 @@ rec {
};
};
# 12MB
noto-fonts-emoji = let version = "git-2016-03-17"; in stdenv.mkDerivation {
noto-fonts-emoji = let version = "2017-09-13-design-refresh"; in stdenv.mkDerivation {
name = "noto-fonts-emoji-${version}";
src = fetchFromGitHub {
owner = "googlei18n";
repo = "noto-emoji";
rev = "c6379827aaa9cb0baca1a08a9d44ae74ca505236";
sha256 = "1zh1b617cjr5laha6lx0ys4k1c3az2zkgzjwc2nlb7dsdmfw1n0q";
rev = "v${version}";
sha256 = "1ixz03207kzh6jhmw8bpi77pxkfzq46dk26sr41m5kkvc14d14vl";
};
buildInputs = [ cairo ];

View file

@ -0,0 +1,32 @@
{ fetchFromGitHub, pythonPackages, lib }:
pythonPackages.buildPythonPackage rec {
version = "2017-09-25";
name = "nototools-${version}";
src = fetchFromGitHub {
owner = "googlei18n";
repo = "nototools";
rev = "v2017-09-25-tooling-for-phase3-update";
sha256 = "03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz";
};
propagatedBuildInputs = with pythonPackages; [ fonttools numpy ];
postPatch = ''
sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py
'';
postInstall = ''
cp -r third_party $out
'';
disabled = pythonPackages.isPy3k;
meta = {
description = "Noto fonts support tools and scripts plus web site generation";
license = lib.licenses.asl20;
homepage = https://github.com/googlei18n/nototools;
platform = lib.platforms.unix;
};
}

View file

@ -1,8 +1,8 @@
{ lib, stdenv, fetchurl, findXMLCatalogs }:
{ lib, stdenv, fetchurl, findXMLCatalogs, writeScriptBin, ruby, bash }:
let
common = { pname, sha256 }: stdenv.mkDerivation rec {
common = { pname, sha256 }: let self = stdenv.mkDerivation rec {
name = "${pname}-1.79.1";
src = fetchurl {
@ -25,13 +25,19 @@ let
ln -s $dst $out/xml/xsl/docbook
'';
passthru.dbtoepub = writeScriptBin "dbtoepub"
''
#!${bash}/bin/bash
exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@"
'';
meta = {
homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.all;
};
};
}; in self;
in {

View file

@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
installPhase = ''
install -Dm755 .build/crystal $out/bin/crystal
wrapProgram $out/bin/crystal \
--suffix CRYSTAL_PATH : $out/lib/crystal \
--suffix CRYSTAL_PATH : lib:$out/lib/crystal \
--suffix LIBRARY_PATH : $libPath
install -dm755 $out/lib/crystal
cp -r src/* $out/lib/crystal/

View file

@ -9,7 +9,7 @@
let
inherit (bootPkgs) ghc;
version = "8.2.1.20171108";
version = "8.2.2";
commonBuildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ];
commonPreConfigure = ''
@ -26,8 +26,8 @@ in stdenv.mkDerivation (rec {
name = "ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/~ghc/8.2.2-rc3/${name}-src.tar.xz";
sha256 = "13h55vcrs243bv4hv8i4jq80rsx5hvhi09r3rcs562d8zk7k665w";
url = "https://downloads.haskell.org/~ghc/8.2.2/${name}-src.tar.xz";
sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv";
};
postPatch = "patchShebangs .";

View file

@ -1,31 +1,32 @@
{ stdenv, makeWrapper, buildOcaml, fetchFromGitHub,
ocaml, opam, topkg, menhir, merlin_extend, ppx_tools_versioned, utop }:
ocaml, opam, jbuilder, menhir, merlin_extend, ppx_tools_versioned, utop }:
buildOcaml rec {
name = "reason";
version = "3.0.0";
version = "3.0.2";
src = fetchFromGitHub {
owner = "facebook";
repo = "reason";
rev = version;
sha256 = "0vj3y9vlm9gqvj9grmb9n487avbrj4q5611m7wv1bsdpndvv96jr";
rev = "v${version}";
sha256 = "1rpaazy0m76qidxwdr51qrgs3ryyz875rndwp9p30siqd04raswq";
};
propagatedBuildInputs = [ menhir merlin_extend ppx_tools_versioned ];
buildInputs = [ makeWrapper opam topkg utop menhir opam topkg ];
buildInputs = [ makeWrapper opam jbuilder utop menhir ];
buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
createFindlibDestdir = true;
postPatch = ''
substituteInPlace src/reasonbuild.ml --replace "refmt --print binary" "$out/bin/refmt --print binary"
substituteInPlace src/reasonbuild/myocamlbuild.ml \
--replace "refmt --print binary" "$out/bin/refmt --print binary"
'';
installPhase = ''
${topkg.installPhase}
${jbuilder.installPhase}
wrapProgram $out/bin/rtop \
--prefix PATH : "${utop}/bin" \

View file

@ -0,0 +1,43 @@
{ build-idris-package
, fetchgit
, prelude
, base
, effects
, lib
, idris
}:
let
date = "2017-11-11";
in
build-idris-package {
name = "specdris-${date}";
src = fetchgit {
url = "https://github.com/pheymann/specdris";
rev = "88b80334b8e0b6601324e2410772d35022fc8eaa";
sha256 = "4813c4be1d4c3dd1dad35964b085f83cf9fb44b16824257c72b468d4bafd0e4f";
};
propagatedBuildInputs = [ prelude base effects ];
buildPhase = ''
${idris}/bin/idris --build specdris.ipkg
'';
checkPhase = ''
cd test/
${idris}/bin/idris --testpkg test.ipkg
cd ../
'';
installPhase = ''
${idris}/bin/idris --install specdris.ipkg --ibcsubdir $IBCSUBDIR
'';
meta = {
description = "A testing library for Idris";
homepage = https://github.com/pheymann/specdris;
license = lib.licenses.mit;
};
}

View file

@ -26,7 +26,7 @@ rec {
homepage = http://luajit.org;
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers ; [ thoughtpolice smironov vcunat ];
maintainers = with maintainers ; [ thoughtpolice smironov vcunat andir ];
};
generic =
@ -61,7 +61,10 @@ rec {
enableParallelBuilding = true;
installPhase = ''
make install INSTALL_INC="$out"/include PREFIX="$out"
make install PREFIX="$out"
for file in "$out"/include/luajit-*/*.h; do
ln -s $file "$out"/include/.
done
ln -s "$out"/bin/luajit-* "$out"/bin/lua
''
+ stdenv.lib.optionalString (!isStable)

View file

@ -1,21 +0,0 @@
# HG changeset patch
# User Armin Rigo <arigo@tunes.org>
# Date 1500108588 -7200
# Node ID 20f7723ff895430c2f45647e7d0c0ca56d93e40a
# Parent d135217574a6bd2e87a883e1d495f82c5e89bc8b
(ronan, arigo)
Issue #2604: skip this test (fails on some Linux because pypy uses the
new getrandom() syscall)
diff --git a/lib-python/2.7/test/test_os.py b/lib-python/2.7/test/test_os.py
--- a/lib-python/2.7/test/test_os.py
+++ b/lib-python/2.7/test/test_os.py
@@ -580,6 +580,7 @@
"getentropy() does not use a file descriptor")
class URandomFDTests(unittest.TestCase):
@unittest.skipUnless(resource, "test requires the resource module")
+ @test_support.impl_detail(pypy=False) # on Linux, may use getrandom()
def test_urandom_failure(self):
# Check urandom() failing when it is not able to open /dev/random.
# We spawn a new process to make the test more robust (if getrlimit()

View file

@ -1,4 +1,5 @@
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
{ stdenv, substituteAll, fetchurl
, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
, makeWrapper, callPackage, self, gdbm, db
, python-setup-hook
@ -9,7 +10,7 @@
assert zlibSupport -> zlib != null;
let
majorVersion = "5.8";
majorVersion = "5.9";
minorVersion = "0";
minorVersionSuffix = "";
pythonVersion = "2.7";
@ -20,128 +21,135 @@ let
pythonForPypy = python.withPackages (ppkgs: [ ppkgs.pycparser ]);
in stdenv.mkDerivation rec {
name = "pypy-${version}";
inherit majorVersion version pythonVersion;
name = "pypy-${version}";
inherit majorVersion version pythonVersion;
src = fetchurl {
url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
sha256 = "0dibf1bx4icrbi8zsqk7cfwgwsd3hfx6biz59k8j5rys3fx9z418";
};
src = fetchurl {
url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
sha256 = "1q3kcnniyvnca1l7x10mbhp4xwjr03ajh2h8j6cbdllci38zdjy1";
};
patches = [
# https://bitbucket.org/pypy/pypy/issues/2604/lib-python-27-test-test_ospy
./2604-skip-urandom-fd-test.patch
];
nativeBuildInputs = [ pkgconfig makeWrapper ];
buildInputs = [
bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
] ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
++ stdenv.lib.optional zlibSupport zlib;
postPatch = ''
substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
'';
hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 makeWrapper gdbm db ]
++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
++ stdenv.lib.optional zlibSupport zlib;
C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs;
LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs;
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
patches = [
(substituteAll {
src = ./tk_tcl_paths.patch;
inherit tk tcl;
tk_dev = tk.dev;
tcl_dev = tcl;
tk_libprefix = tk.libPrefix;
tcl_libprefix = tcl.libPrefix;
})
];
C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs;
LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs;
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
postPatch = ''
substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
preConfigure = ''
# hint pypy to find nix ncurses
substituteInPlace pypy/module/_minimal_curses/fficurses.py \
--replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
--replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
--replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \
--replace "libraries=['curses']" "libraries=['ncurses']"
# hint pypy to find nix ncurses
substituteInPlace pypy/module/_minimal_curses/fficurses.py \
--replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
--replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
--replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \
--replace "libraries=['curses']" "libraries=['ncurses']"
# tkinter hints
substituteInPlace lib_pypy/_tkinter/tklib_build.py \
--replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \
--replace "linklibs = ['tcl' + _ver, 'tk' + _ver]" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \
--replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']"
sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
'';
sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
'';
buildPhase = ''
${pythonForPypy.interpreter} rpython/bin/rpython \
--make-jobs="$NIX_BUILD_CORES" \
-Ojit \
--batch pypy/goal/targetpypystandalone.py \
--withmod-_minimal_curses \
--withmod-unicodedata \
--withmod-thread \
--withmod-bz2 \
--withmod-_multiprocessing
'';
buildPhase = ''
${pythonForPypy.interpreter} rpython/bin/rpython --make-jobs="$NIX_BUILD_CORES" -Ojit --batch pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing
'';
setupHook = python-setup-hook sitePackages;
setupHook = python-setup-hook sitePackages;
postBuild = ''
pushd ./lib_pypy
../pypy-c ./_audioop_build.py
../pypy-c ./_curses_build.py
../pypy-c ./_pwdgrp_build.py
../pypy-c ./_sqlite3_build.py
../pypy-c ./_syslog_build.py
../pypy-c ./_tkinter/tklib_build.py
popd
'';
postBuild = ''
cd ./lib_pypy
../pypy-c ./_audioop_build.py
../pypy-c ./_curses_build.py
../pypy-c ./_pwdgrp_build.py
../pypy-c ./_sqlite3_build.py
../pypy-c ./_syslog_build.py
../pypy-c ./_tkinter/tklib_build.py
cd ..
'';
doCheck = true;
checkPhase = ''
export TERMINFO="${ncurses.out}/share/terminfo/";
export TERM="xterm";
export HOME="$TMPDIR";
# disable shutils because it assumes gid 0 exists
# disable socket because it has two actual network tests that fail
# disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
# disable test_ssl because no shared cipher' not found in '[Errno 1] error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
# disable test_zipfile64 because it causes ENOSPACE
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_ssl or test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or test_shutil or test_zipfile64 )' lib-python
'';
doCheck = true;
checkPhase = ''
export TERMINFO="${ncurses.out}/share/terminfo/";
export TERM="xterm";
export HOME="$TMPDIR";
# disable shutils because it assumes gid 0 exists
# disable socket because it has two actual network tests that fail
# disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
# disable test_ssl because no shared cipher' not found in '[Errno 1] error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
# disable test_zipfile64 because it causes ENOSPACE
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_ssl or test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or test_shutil or test_zipfile64 )' lib-python
'';
installPhase = ''
mkdir -p $out/{bin,include,lib,pypy-c}
installPhase = ''
mkdir -p $out/{bin,include,lib,pypy-c}
cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
cp libpypy-c.so $out/lib/
ln -s $out/pypy-c/pypy-c $out/bin/pypy
chmod +x $out/bin/pypy
cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
cp libpypy-c.so $out/lib/
ln -s $out/pypy-c/pypy-c $out/bin/pypy
chmod +x $out/bin/pypy
# other packages expect to find stuff according to libPrefix
ln -s $out/pypy-c/include $out/include/${libPrefix}
ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
# other packages expect to find stuff according to libPrefix
ln -s $out/pypy-c/include $out/include/${libPrefix}
ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
# We must wrap the original, not the symlink.
# PyPy uses argv[0] to find its standard library, and while it knows
# how to follow symlinks, it doesn't know about wrappers. So, it
# will think the wrapper is the original. As long as the wrapper has
# the same path as the original, this is OK.
wrapProgram "$out/pypy-c/pypy-c" \
--set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
--set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
# We must wrap the original, not the symlink.
# PyPy uses argv[0] to find its standard library, and while it knows
# how to follow symlinks, it doesn't know about wrappers. So, it
# will think the wrapper is the original. As long as the wrapper has
# the same path as the original, this is OK.
wrapProgram "$out/pypy-c/pypy-c" \
--set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
--set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
# verify cffi modules
$out/bin/pypy -c "import Tkinter;import sqlite3;import curses"
# verify cffi modules
$out/bin/pypy -c "import Tkinter;import sqlite3;import curses"
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
'';
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
'';
passthru = let
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
in rec {
inherit zlibSupport libPrefix sitePackages;
executable = "pypy";
isPypy = true;
buildEnv = callPackage ../../wrapper.nix { python = self; };
interpreter = "${self}/bin/${executable}";
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages;
};
passthru = let
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
in rec {
inherit zlibSupport libPrefix sitePackages;
executable = "pypy";
isPypy = true;
buildEnv = callPackage ../../wrapper.nix { python = self; };
interpreter = "${self}/bin/${executable}";
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages;
};
enableParallelBuilding = true; # almost no parallelization without STM
enableParallelBuilding = true; # almost no parallelization without STM
meta = with stdenv.lib; {
homepage = http://pypy.org/;
description = "Fast, compliant alternative implementation of the Python language (2.7.13)";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ domenkozar ];
};
meta = with stdenv.lib; {
homepage = http://pypy.org/;
description = "Fast, compliant alternative implementation of the Python language (2.7.13)";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ domenkozar ];
};
}

View file

@ -0,0 +1,17 @@
--- pypy-pypy-84a2f3e6a7f8.org/lib_pypy/_tkinter/tklib_build.py 2017-10-03 11:49:20.000000000 +0100
+++ pypy-pypy-84a2f3e6a7f8/lib_pypy/_tkinter/tklib_build.py 2017-11-21 13:20:51.398607530 +0000
@@ -24,11 +24,11 @@
else:
# On some Linux distributions, the tcl and tk libraries are
# stored in /usr/include, so we must check this case also
- libdirs = []
+ libdirs = ["@tcl@/lib", "@tk@/lib"]
found = False
for _ver in ['', '8.6', '8.5']:
- incdirs = ['/usr/include/tcl' + _ver]
- linklibs = ['tcl' + _ver, 'tk' + _ver]
+ incdirs = ['@tcl_dev@/include', '@tk_dev@/include']
+ linklibs = ['@tcl_libprefix@', '@tk_libprefix@']
if os.path.isdir(incdirs[0]):
found = True
break

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, boost, libevent
, double_conversion, glog, google-gflags, python, libiberty, openssl }:
, double-conversion, glog, google-gflags, python, libiberty, openssl }:
stdenv.mkDerivation rec {
name = "folly-${version}";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ autoreconfHook python pkgconfig ];
buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ];
buildInputs = [ libiberty boost libevent double-conversion glog google-gflags openssl ];
postPatch = "cd folly";
preBuild = ''

View file

@ -2,11 +2,11 @@
, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
stdenv.mkDerivation rec {
name = "goffice-0.10.35";
name = "goffice-0.10.36";
src = fetchurl {
url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
sha256 = "c19001afca09dc5446e06605a113d81a57124018a09c5889aeebba16cf1d5738";
sha256 = "cfe65fc0a665538704c7bab8541784291cf0781df8b4cff73cb0a513ee0baad6";
};
nativeBuildInputs = [ pkgconfig intltool ];

View file

@ -0,0 +1,29 @@
{ stdenv, fetchurl, kerberos }:
stdenv.mkDerivation rec {
name = "libgssglue-0.4";
src = fetchurl {
url = "http://www.citi.umich.edu/projects/nfsv4/linux/libgssglue/${name}.tar.gz";
sha256 = "0fh475kxzlabwz30wz3bf7i8kfqiqzhfahayx3jj79rba1sily9z";
};
postPatch = ''
sed s:/etc/gssapi_mech.conf:$out/etc/gssapi_mech.conf: -i src/g_initialize.c
'';
postInstall = ''
mkdir -p $out/etc
cat <<EOF > $out/etc/gssapi_mech.conf
${kerberos}/lib/libgssapi_krb5.so mechglue_internal_krb5_init
EOF
'';
meta = with stdenv.lib; {
homepage = http://www.citi.umich.edu/projects/nfsv4/linux/;
description = "Exports a gssapi interface which calls other random gssapi libraries";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ corngood ];
};
}

View file

@ -1,6 +1,6 @@
{ lib, stdenv
, fetchurl, fetchFromGitHub
, cmake, pkgconfig, unzip, zlib, pcre, hdf5, protobuf
, cmake, pkgconfig, unzip, zlib, pcre, hdf5
, config
, enableJPEG ? true, libjpeg
@ -28,20 +28,20 @@
}:
let
version = "3.3.0";
version = "3.3.1";
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv";
rev = version;
sha256 = "0266kg337wij9rz602z5088jn2fq56aqpxxflf0fbh28kygchvk4";
sha256 = "1jq8nny78gp54yjgsnb2rdp5rwhp78b3r2i36b2vyx6xk6h6wwji";
};
contribSrc = fetchFromGitHub {
owner = "opencv";
repo = "opencv_contrib";
rev = version;
sha256 = "0qxdvzdszzlpsya1pn4d2r9z4j98isxrgk15a2wwa3dqjmgv880d";
sha256 = "0q5vsa8dpa3mdhzas0ckagwh2sbckpm1kxsp0i3yfknsr5ampyi2";
};
# Contrib must be built in order to enable Tesseract support:
@ -52,16 +52,16 @@ let
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "a62e20676a60ee0ad6581e217fe7e4bada3b95db";
sha256 = "04idycc479l7fidj6r107sv65iszndswm287ms3nh896jbpbaxbv";
rev = "dfe3162c237af211e98b8960018b564bc209261d";
sha256 = "1k5xiwdi5r2y3fs5g70lpknxqi4pj32w6l311gfwng3q1cb2crif";
} + "/ippicv";
files = let name = platform : "ippicv_2017u2_${platform}_20170418.tgz"; in
files = let name = platform : "ippicv_2017u3_${platform}_general_20170822.tgz"; in
if stdenv.system == "x86_64-linux" then
{ ${name "lnx_intel64"} = "87cbdeb627415d8e4bc811156289fa3a"; }
{ ${name "lnx_intel64"} = "4e0352ce96473837b1d671ce87f17359"; }
else if stdenv.system == "i686-linux" then
{ ${name "lnx_ia32"} = "f2cece00d802d4dea86df52ed095257e"; }
{ ${name "lnx_ia32"} = "dcdb0ba4b123f240596db1840cd59a76"; }
else if stdenv.system == "x86_64-darwin" then
{ ${name "mac_intel64"} = "0c25953c99dbb499ff502485a9356d8d"; }
{ ${name "mac_intel64"} = "c1ebb5dfa5b7f54b0c44e1917805a463"; }
else
throw "ICV is not available for this platform (or not yet supported by this package)";
dst = ".cache/ippicv";
@ -104,6 +104,7 @@ let
dst = ".cache/xfeatures2d/boostdesc";
};
# See opencv/cmake/OpenCVDownload.cmake
installExtraFiles = extra : with lib; ''
mkdir -p "${extra.dst}"
'' + concatStrings (mapAttrsToList (name : md5 : ''
@ -156,7 +157,7 @@ stdenv.mkDerivation rec {
'');
buildInputs =
[ zlib pcre hdf5 protobuf ]
[ zlib pcre hdf5 ]
++ lib.optional enablePython pythonPackages.python
++ lib.optional enableGtk2 gtk2
++ lib.optional enableGtk3 gtk3
@ -190,8 +191,6 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
cmakeFlags = [
"-DBUILD_PROTOBUF=OFF"
"-DPROTOBUF_UPDATE_FILES=ON"
"-DWITH_OPENMP=ON"
(opencvFlag "IPP" enableIpp)
(opencvFlag "TIFF" enableTIFF)

View file

@ -1,20 +1,32 @@
{ stdenv, fetchurl, qt4, qmake4Hook }:
{ stdenv, fetchurl, qt4, qmake4Hook, AGL }:
stdenv.mkDerivation rec {
name = "qwt-6.1.2";
name = "qwt-6.1.3";
src = fetchurl {
url = "mirror://sourceforge/qwt/${name}.tar.bz2";
sha256 = "031x4hz1jpbirv9k35rqb52bb9mf2w7qav89qv1yfw1r3n6z221b";
sha256 = "0cwp63s03dw351xavb3pzbjlqvx7kj88wv7v4a2b18m9f97d7v7k";
};
buildInputs = [ qt4 ];
buildInputs = [
qt4
] ++ stdenv.lib.optionals stdenv.isDarwin [ AGL ];
nativeBuildInputs = [ qmake4Hook ];
enableParallelBuilding = true;
postPatch = ''
sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
'';
# qwt.framework output includes a relative reference to itself, which breaks dependents
preFixup =
stdenv.lib.optionalString stdenv.isDarwin ''
echo "Attempting to repair qwt"
install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
'';
qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
meta = with stdenv.lib; {

View file

@ -70,8 +70,12 @@ esac
NIX_LISP_ASDF_REGISTRY_CODE="
(progn
#+asdf3 (setf asdf:*default-source-registries*
'(asdf/source-registry:environment-source-registry))
(setf asdf:*source-registry-parameter*
'(:source-registry
$(for p in $NIX_LISP_ASDF_PATHS; do
echo "(:tree \"$p\")"
done)
:inherit-configuration))
(asdf:initialize-source-registry)
)
"

View file

@ -29,7 +29,7 @@ let
echo "source '$path_config_script'" >> "$config_script"
echo "fi" >> "$config_script"
echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script"
echo "for i in \"''${CL_SOURCE_REGISTRY//:/\" \"}\" \"$out/lib/common-lisp/${args.baseName}/\" ; do echo \"\$CL_SOURCE_REGISTRY\" | grep -E \"(^|:)\$i(:|\\\$)\" >/dev/null || export CL_SOURCE_REGISTRY=\"\$CL_SOURCE_REGISTRY\''${CL_SOURCE_REGISTRY:+:}\$i\"; done;" >> "$path_config_script"
echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\$NIX_LISP_ASDF_PATHS"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script"
test -n "$LD_LIBRARY_PATH" &&
echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$path_config_script"
test -n "$NIX_LISP_LD_LIBRARY_PATH" &&

View file

@ -28,13 +28,8 @@ in
propagatedBuildInputs = [pkgs.fuse];
overrides = y : (x.overrides y) // {
configurePhase = ''
export SAVED_CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY"
export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD"
export makeFlags="$makeFlags LISP=common-lisp.sh"
'';
preInstall = ''
export CL_SOURCE_REGISTRY="$SAVED_CL_SOURCE_REGISTRY"
'';
};
};
hunchentoot = addNativeLibs [pkgs.openssl];
@ -65,7 +60,8 @@ in
overrides = y: (x.overrides y) // {
linkedSystems = [];
postInstall = ((x.overrides y).postInstall or "") + ''
export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$out/lib/common-lisp/query-fs"
export NIX_LISP_ASDF_PATHS="$NIX_LISP_ASDF_PATHS
$out/lib/common-lisp/query-fs"
export HOME=$PWD
"$out/bin/query-fs-lisp-launcher.sh" --eval '(asdf:make :query-fs)' \
--eval "(progn $(for i in $linkedSystems; do echo "(asdf:make :$i)"; done) )" \

View file

@ -1201,13 +1201,13 @@ let
sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
};
};
"ini-1.3.4" = {
"ini-1.3.5" = {
name = "ini";
packageName = "ini";
version = "1.3.4";
version = "1.3.5";
src = fetchurl {
url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
};
};
"which-1.3.0" = {
@ -3397,13 +3397,13 @@ let
sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
};
};
"detect-libc-1.0.2" = {
"detect-libc-1.0.3" = {
name = "detect-libc";
packageName = "detect-libc";
version = "1.0.2";
version = "1.0.3";
src = fetchurl {
url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
};
};
"tar-pack-3.4.1" = {
@ -4045,13 +4045,13 @@ let
sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
};
};
"commander-2.11.0" = {
"commander-2.12.0" = {
name = "commander";
packageName = "commander";
version = "2.11.0";
version = "2.12.0";
src = fetchurl {
url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
url = "https://registry.npmjs.org/commander/-/commander-2.12.0.tgz";
sha512 = "3drb1rxa9qbsn65n8gbwfj96afi8kv3kh9z30mm1x0hssz84kj7akkksd6qpbikcnpnmrm9fpxvqy5w6jw1xj9q4z3ijligiddjcl6h";
};
};
"is-my-json-valid-2.16.1" = {
@ -4063,6 +4063,15 @@ let
sha512 = "2wmvqb2vfzjbnd2znxkg4sqpksxb9mi1lbr4r5zv535ykxzfv8dbnafra1lhk415wrbg9r1lfhyimcw5xfj3k4ry7inbmcjlnr4zj51";
};
};
"@types/node-7.0.48" = {
name = "_at_types_slash_node";
packageName = "@types/node";
version = "7.0.48";
src = fetchurl {
url = "https://registry.npmjs.org/@types/node/-/node-7.0.48.tgz";
sha512 = "3bjps45216v1znjwv914yqhiya6y0gxra26zk80bv49rzsqf84kxv7ilrzm7j6wj5895957a0jbqwsdy78ylfbx61v3w11pydlmgf9c";
};
};
"generate-function-2.0.0" = {
name = "generate-function";
packageName = "generate-function";
@ -4484,7 +4493,7 @@ in
sources."parse-passwd-1.0.0"
];
})
sources."ini-1.3.4"
sources."ini-1.3.5"
(sources."which-1.3.0" // {
dependencies = [
sources."isexe-2.0.0"
@ -5245,7 +5254,7 @@ in
(sources."rc-1.2.2" // {
dependencies = [
sources."deep-extend-0.4.2"
sources."ini-1.3.4"
sources."ini-1.3.5"
sources."minimist-1.2.0"
sources."strip-json-comments-2.0.1"
];
@ -5454,7 +5463,7 @@ in
];
})
sources."semver-5.4.1"
sources."detect-libc-1.0.2"
sources."detect-libc-1.0.3"
(sources."tar-2.2.1" // {
dependencies = [
sources."block-stream-0.0.9"
@ -5701,7 +5710,7 @@ in
];
})
sources."semver-5.4.1"
sources."detect-libc-1.0.2"
sources."detect-libc-1.0.3"
(sources."tar-2.2.1" // {
dependencies = [
sources."block-stream-0.0.9"
@ -5894,7 +5903,7 @@ in
(sources."rc-1.2.2" // {
dependencies = [
sources."deep-extend-0.4.2"
sources."ini-1.3.4"
sources."ini-1.3.5"
sources."minimist-1.2.0"
sources."strip-json-comments-2.0.1"
];
@ -6022,7 +6031,7 @@ in
];
})
sources."semver-5.4.1"
sources."detect-libc-1.0.2"
sources."detect-libc-1.0.3"
(sources."tar-2.2.1" // {
dependencies = [
sources."block-stream-0.0.9"
@ -6248,7 +6257,11 @@ in
sources."supports-color-2.0.0"
];
})
sources."commander-2.11.0"
(sources."commander-2.12.0" // {
dependencies = [
sources."@types/node-7.0.48"
];
})
(sources."is-my-json-valid-2.16.1" // {
dependencies = [
sources."generate-function-2.0.0"

View file

@ -61,6 +61,7 @@
, "npm"
, { "npm2nix": "git://github.com/NixOS/npm2nix.git#5.12.0" }
, "npm-check-updates"
, "nsp"
, "ocaml-language-server"
, "parsoid"
, "peerflix"

File diff suppressed because it is too large Load diff

View file

@ -9,8 +9,8 @@ let param =
sha256 = "0cy9p8d8cbcxvqyyv8fz2z9ypi121zrgaamdlp4ld9f3jnwz7my9";
extraPropagatedBuildInputs = [];
} else {
version = "4.2";
sha256 = "0scsg45wp6xdqj648fz155r4yngyl2xcd3hdszfzqwdpbax33914";
version = "4.2.1";
sha256 = "1yhhjnncbbb7fsif7qplndh01s1xd72dqm8f3jkgx9y4ariqqvf9";
extraPropagatedBuildInputs = [ ocaml-migrate-parsetree ppx_derivers ];
}; in

View file

@ -21,8 +21,6 @@ buildPythonPackage rec {
chardet
] ++ stdenv.lib.optional (!isPy3k) subprocess32;
doCheck = false;
postInstall = ''
wrapProgram $out/bin/afew \
--prefix LD_LIBRARY_PATH : ${notmuch}/lib
@ -31,6 +29,6 @@ buildPythonPackage rec {
meta = with stdenv.lib; {
homepage = https://github.com/afewmail/afew;
description = "An initial tagging script for notmuch mail";
maintainers = with maintainers; [ garbas ];
maintainers = with maintainers; [ garbas andir flokli ];
};
}

View file

@ -3,7 +3,7 @@
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "pytest-flake8";
version = "0.8.1";
version = "0.9.1";
# although pytest is a runtime dependency, do not add it as
# propagatedBuildInputs in order to allow packages depend on another version
@ -13,19 +13,9 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "1za5i09gz127yraigmcl443w6149714l279rmlfxg1bl2kdsc45a";
sha256 = "0032l4x2i5qn7ikaaw0kjs9f4ccpas21j564spyxwmx50wnhf5p7";
};
patches = [
# Fix pytest strict mode (pull request #24)
# https://github.com/tholo/pytest-flake8/pull/24
(fetchpatch {
name = "fix-compatibility-with-pytest-strict-mode.patch";
url = "https://github.com/tholo/pytest-flake8/commit/434e1b07b4b77bfe1ddb9b2b54470c6c3815bb1a.patch";
sha256 = "0idwgkwwysx2cibnykd81yxrgqzkpf42j99jmpnanqzi99qnc3wx";
})
];
checkPhase = ''
pytest --ignore=nix_run_setup.py .
'';

View file

@ -10,7 +10,7 @@ buildPythonPackage rec {
owner = "pytorch";
repo = "pytorch";
rev = "v${version}";
sha256 = "112mp3r70d8f15dhxm6k7912b5i6c2q8hv9462s808y84grr2jdm";
sha256 = "1s3f46ga1f4lfrcj3lpvvhgkdr1pi8i2hjd9xj9qiz3a9vh2sj4n";
};
checkPhase = ''
@ -22,7 +22,7 @@ buildPythonPackage rec {
git
numpy.blas
];
propagatedBuildInputs = [
cffi
numpy
@ -32,7 +32,7 @@ buildPythonPackage rec {
preConfigure = ''
export NO_CUDA=1
'';
meta = {
description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration.";
homepage = http://pytorch.org/;

View file

@ -0,0 +1,21 @@
{buildPythonPackage, lib, nose, fetchPypi}:
buildPythonPackage rec {
pname = "titlecase";
name = "${pname}-${version}";
version = "0.12.0";
src = fetchPypi {
inherit pname version;
sha256 = "0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4";
};
checkInputs = [ nose ];
meta = {
homepage = https://github.com/ppannuto/python-titlecase;
description = "Python Port of John Gruber's titlecase.pl";
license = lib.licenses.mit;
};
}

View file

@ -0,0 +1,24 @@
{ stdenv, python3Packages }:
with python3Packages;
buildPythonApplication rec {
pname = "autoflake";
version = "1.0";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "12k4v8w7awqp83j727y0iwcbjqj3ccvbai7c9m0wgbmq5xkvav8a";
};
propagatedBuildInputs = [ pyflakes ];
doCheck = true;
meta = with stdenv.lib; {
homepage = https://github.com/myint/autoflake;
description = "A simple program which removes unused imports and unused variables as reported by pyflakes";
license = licenses.mit;
maintainers = with maintainers; [ yuriaisaka ];
};
}

View file

@ -0,0 +1,40 @@
{ stdenv, python27Packages, gdb, pkgs }:
let
deps = import ./requirements.nix { inherit pkgs; };
in
python27Packages.buildPythonApplication rec {
name = "${pname}-${version}";
pname = "gdbgui";
version = "0.9.0.1";
buildInputs = [ gdb ];
propagatedBuildInputs = builtins.attrValues deps.packages;
src = python27Packages.fetchPypi {
inherit pname version;
sha256 = "1gjc7dycrc4zafhrd9yib7qnh4agh7cpa6rlw4p5405rlmwmsbj3";
};
postInstall = ''
wrapProgram $out/bin/gdbgui \
--prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]}
'';
# make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
preCheck = stdenv.lib.optionalString stdenv.isLinux ''
export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \
LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
'';
postCheck = stdenv.lib.optionalString stdenv.isLinux ''
unset NIX_REDIRECTS LD_PRELOAD
'';
meta = with stdenv.lib; {
description = "A browser-based frontend for GDB";
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ yrashk ];
};
}

View file

@ -0,0 +1,404 @@
# generated using pypi2nix tool (version: 1.8.1)
# See more at: https://github.com/garbas/pypi2nix
#
# COMMAND:
# pypi2nix -V 2.7 -r requirements.txt
#
{ pkgs ? import <nixpkgs> {}
}:
let
inherit (pkgs) makeWrapper;
inherit (pkgs.stdenv.lib) fix' extends inNixShell;
pythonPackages =
import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
inherit pkgs;
inherit (pkgs) stdenv;
python = pkgs.python27Full;
# patching pip so it does not try to remove files when running nix-shell
overrides =
self: super: {
bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: {
patchPhase = old.patchPhase + ''
sed -i -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|" -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|" $out/${pkgs.python35.sitePackages}/pip/req/req_install.py
'';
});
};
};
commonBuildInputs = [];
commonDoCheck = false;
withPackages = pkgs':
let
pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
interpreter = pythonPackages.buildPythonPackage {
name = "python27Full-interpreter";
buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs);
buildCommand = ''
mkdir -p $out/bin
ln -s ${pythonPackages.python.interpreter} $out/bin/${pythonPackages.python.executable}
for dep in ${builtins.concatStringsSep " " (builtins.attrValues pkgs)}; do
if [ -d "$dep/bin" ]; then
for prog in "$dep/bin/"*; do
if [ -f $prog ]; then
ln -s $prog $out/bin/`basename $prog`
fi
done
fi
done
for prog in "$out/bin/"*; do
wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
done
pushd $out/bin
ln -s ${pythonPackages.python.executable} python
ln -s ${pythonPackages.python.executable} python2
popd
'';
passthru.interpreter = pythonPackages.python;
};
in {
__old = pythonPackages;
inherit interpreter;
mkDerivation = pythonPackages.buildPythonPackage;
packages = pkgs;
overrideDerivation = drv: f:
pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; });
withPackages = pkgs'':
withPackages (pkgs // pkgs'');
};
python = withPackages {};
generated = self: {
"Flask" = python.mkDerivation {
name = "Flask-0.12.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/Flask-0.12.2.tar.gz"; sha256 = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."Jinja2"
self."Werkzeug"
self."click"
self."itsdangerous"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/pallets/flask/";
license = licenses.bsdOriginal;
description = "A microframework based on Werkzeug, Jinja2 and good intentions";
};
};
"Flask-Compress" = python.mkDerivation {
name = "Flask-Compress-1.4.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/0e/2a/378bd072928f6d92fd8c417d66b00c757dc361c0405a46a0134de6fd323d/Flask-Compress-1.4.0.tar.gz"; sha256 = "468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."Flask"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://libwilliam.github.io/flask-compress/";
license = licenses.mit;
description = "Compress responses in your Flask app with gzip.";
};
};
"Flask-SocketIO" = python.mkDerivation {
name = "Flask-SocketIO-2.9.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."Flask"
self."python-engineio"
self."python-socketio"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/miguelgrinberg/Flask-SocketIO/";
license = licenses.mit;
description = "Socket.IO integration for Flask applications";
};
};
"Jinja2" = python.mkDerivation {
name = "Jinja2-2.10";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."MarkupSafe"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://jinja.pocoo.org/";
license = licenses.bsdOriginal;
description = "A small but fast and easy to use stand-alone template engine written in pure python.";
};
};
"MarkupSafe" = python.mkDerivation {
name = "MarkupSafe-1.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/pallets/markupsafe";
license = licenses.bsdOriginal;
description = "Implements a XML/HTML/XHTML Markup safe string for Python";
};
};
"Pygments" = python.mkDerivation {
name = "Pygments-2.2.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://pygments.org/";
license = licenses.bsdOriginal;
description = "Pygments is a syntax highlighting package written in Python.";
};
};
"Werkzeug" = python.mkDerivation {
name = "Werkzeug-0.12.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://werkzeug.pocoo.org/";
license = licenses.bsdOriginal;
description = "The Swiss Army knife of Python web development";
};
};
"click" = python.mkDerivation {
name = "click-6.7";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/click-6.7.tar.gz"; sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/mitsuhiko/click";
license = licenses.bsdOriginal;
description = "A simple wrapper around optparse for powerful command line utilities.";
};
};
"enum-compat" = python.mkDerivation {
name = "enum-compat-0.0.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz"; sha256 = "939ceff18186a5762ae4db9fa7bfe017edbd03b66526b798dd8245394c8a4192"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."enum34"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/jstasiak/enum-compat";
license = licenses.mit;
description = "enum/enum34 compatibility package";
};
};
"enum34" = python.mkDerivation {
name = "enum34-1.1.6";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://bitbucket.org/stoneleaf/enum34";
license = licenses.bsdOriginal;
description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
};
};
"eventlet" = python.mkDerivation {
name = "eventlet-0.21.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cb/ec/eae487c106a7e38f86ac4cadafb3eec77d29996f64ca0c7015067538069b/eventlet-0.21.0.tar.gz"; sha256 = "08faffab88c1b08bd53ea28bf084a572c89f7e7648bd9d71e6116ac17a51a15d"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."enum-compat"
self."greenlet"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://eventlet.net";
license = licenses.mit;
description = "Highly concurrent networking library";
};
};
"gevent" = python.mkDerivation {
name = "gevent-1.2.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."greenlet"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://www.gevent.org/";
license = licenses.mit;
description = "Coroutine-based network library";
};
};
"greenlet" = python.mkDerivation {
name = "greenlet-0.4.12";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/be/76/82af375d98724054b7e273b5d9369346937324f9bcc20980b45b068ef0b0/greenlet-0.4.12.tar.gz"; sha256 = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/python-greenlet/greenlet";
license = licenses.mit;
description = "Lightweight in-process concurrent programming";
};
};
"itsdangerous" = python.mkDerivation {
name = "itsdangerous-0.24";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/mitsuhiko/itsdangerous";
license = licenses.bsdOriginal;
description = "Various helpers to pass trusted data to untrusted environments and back.";
};
};
"pygdbmi" = python.mkDerivation {
name = "pygdbmi-0.7.4.4";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/cs01/pygdbmi";
license = licenses.mit;
description = "Parse gdb machine interface output with Python";
};
};
"pypugjs" = python.mkDerivation {
name = "pypugjs-4.2.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/21/bb/d541110bd5a5c1ecd9dab2778dc9a39ca5a5e9962845e9d3e598962ee3ca/pypugjs-4.2.2.tar.gz"; sha256 = "c99a72a78766d9462d94379a6b489f9864ecdeeeeaf8d0f34b2ce04963f6ec8c"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/matannoam/pypugjs";
license = licenses.mit;
description = "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates - copy of PyJade with the name changed";
};
};
"python-engineio" = python.mkDerivation {
name = "python-engineio-2.0.1";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/miguelgrinberg/python-engineio/";
license = licenses.mit;
description = "Engine.IO server";
};
};
"python-socketio" = python.mkDerivation {
name = "python-socketio-1.8.3";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."python-engineio"
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/miguelgrinberg/python-socketio/";
license = licenses.mit;
description = "Socket.IO server";
};
};
"six" = python.mkDerivation {
name = "six-1.11.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://pypi.python.org/pypi/six/";
license = licenses.mit;
description = "Python 2 and 3 compatibility utilities";
};
};
};
localOverridesFile = ./requirements_override.nix;
overrides = import localOverridesFile { inherit pkgs python; };
commonOverrides = [
];
allOverrides =
(if (builtins.pathExists localOverridesFile)
then [overrides] else [] ) ++ commonOverrides;
in python.withPackages
(fix' (pkgs.lib.fold
extends
generated
allOverrides
)
)

View file

@ -62,15 +62,15 @@ let
};
in releaseTools.nixBuild rec {
name = "hydra-${version}";
version = "2017-10-26";
version = "2017-11-21";
inherit stdenv;
src = fetchFromGitHub {
owner = "NixOS";
repo = "hydra";
rev = "2cdc84f34f4de647dd89c5ef503782a3a48ff623";
sha256 = "1gcp22ldyc914aik4yhlzy60ym7z8513pvp0ag5637j44nz0rf7h";
rev = "b7bc4384b7b471d1ddf892cb03f16189a66d5a0d";
sha256 = "05g37z3ilazzqa5rqj5zljndwxjbvpc18xibh6jlwjwpvg3kpbbh";
};
buildInputs =

View file

@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
'';
homepage = https://uhd.ettus.com/;
license = licenses.gpl3Plus;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ bjornfor fpletz ];
};
}

View file

@ -1,25 +1,25 @@
{ SDL_image, SDL_ttf, SDL_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL, SDL_mixer
{ SDL2_image, SDL2_ttf, SDL2_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
, zlib, libpng, mesa, physfs
}:
let
ghc = ghcWithPackages (pkgs: with pkgs; [
network vector utf8-string bytestring-show random hslogger
dataenc SHA entropy pkgs.zlib
SHA entropy pkgs.zlib sandi regex-tdfa
]);
in
stdenv.mkDerivation rec {
version = "0.9.22";
version = "0.9.23";
name = "hedgewars-${version}";
src = fetchurl {
url = "http://download.gna.org/hedgewars/hedgewars-src-${version}.tar.bz2";
sha256 = "14i1wvqbqib9h9092z10g4g0y14r5sp2fdaksvnw687l3ybwi6dn";
url = "http://www.hedgewars.org/download/releases/hedgewars-src-${version}.tar.bz2";
sha256 = "12df5ar3zk186ah51c3myr4hlzyybcshmf1w1wf6vr9b0h44jbns";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
SDL_ttf SDL_net cmake lua5_1 SDL SDL_mixer SDL_image fpc
SDL2_ttf SDL2_net cmake lua5_1 SDL2 SDL2_mixer SDL2_image fpc
qt4 ghc ffmpeg freeglut makeWrapper physfs
];
@ -28,11 +28,11 @@ stdenv.mkDerivation rec {
'';
preBuild = ''
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL_image}/lib
-rpath ${SDL_mixer}/lib
-rpath ${SDL_net}/lib
-rpath ${SDL_ttf}/lib
-rpath ${SDL.out}/lib
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL2_image}/lib
-rpath ${SDL2_mixer}/lib
-rpath ${SDL2_net}/lib
-rpath ${SDL2_ttf}/lib
-rpath ${SDL2.out}/lib
-rpath ${libpng.out}/lib
-rpath ${lua5_1}/lib
-rpath ${mesa}/lib

View file

@ -7,11 +7,11 @@ in
stdenv.mkDerivation rec {
name = "stockfish-7";
name = "stockfish-8";
src = fetchurl {
url = "https://stockfish.s3.amazonaws.com/${name}-src.zip";
sha256 = "0djzg3h5d9qs27snf0rr6zl6iaki1jb84v8m8k3c2lcjbj2vpwc9";
sha256 = "1sachz41kbni88yjxwv5y4vl0gjbnyqvp1kpdm7v56k43zr3dbbv";
};
buildInputs = [ unzip ];

View file

@ -5,6 +5,8 @@
, python3, boost, icu
, ycmd, makeWrapper, rake
, pythonPackages, python3Packages
, substituteAll
, languagetool
, Cocoa ? null, git
}:
@ -1405,7 +1407,16 @@ rec {
sha256 = "1mm8hd39q2sl4hi83c4zvrl27a8djr1pv35ch0pivg84ad9p7qq5";
};
dependencies = [];
# use `:GrammarousCheck` to initialize checking
# In neovim, you also want to use set
# let g:grammarous#show_first_error = 1
# see https://github.com/rhysd/vim-grammarous/issues/39
patches = [
(substituteAll {
src = ./patches/vim-grammarous/set_default_languagetool.patch;
inherit languagetool;
})
];
};
vim-puppet = buildVimPluginFrom2Nix { # created by nix#NixDerivation

View file

@ -0,0 +1,11 @@
--- vim-grammarous-51ef519.org/autoload/grammarous.vim 1970-01-01 01:00:01.000000000 +0100
+++ vim-grammarous-51ef519/autoload/grammarous.vim 2017-11-21 16:33:27.473403322 +0000
@@ -22,7 +22,7 @@
let g:grammarous#enable_spell_check = get(g:, 'grammarous#enable_spell_check', 0)
let g:grammarous#move_to_first_error = get(g:, 'grammarous#move_to_first_error', 1)
let g:grammarous#hooks = get(g:, 'grammarous#hooks', {})
-let g:grammarous#languagetool_cmd = get(g:, 'grammarous#languagetool_cmd', '')
+let g:grammarous#languagetool_cmd = get(g:, 'grammarous#languagetool_cmd', '@languagetool@/bin/languagetool-commandline')
let g:grammarous#show_first_error = get(g:, 'grammarous#show_first_error', 0)
highlight default link GrammarousError SpellBad

View file

@ -0,0 +1,10 @@
# use `:GrammarousCheck` to initialize checking
# In neovim, you also want to use set
# let g:grammarous#show_first_error = 1
# see https://github.com/rhysd/vim-grammarous/issues/39
patches = [
(substituteAll {
src = ./patches/vim-grammarous/set_default_languagetool.patch;
inherit languagetool;
})
];

View file

@ -3,9 +3,9 @@
with stdenv.lib;
let
version = "4.13.14";
version = "4.14.1";
revision = "a";
sha256 = "16bb1jvip50v62slp6cy96zncjhjzp3hvh29jc8ilcpxgyipmhlc";
sha256 = "0yp05xyz2ygxkhd17s85cqnvi93a49svgm0l1kbyb7y08mg5gp4j";
# modVersion needs to be x.y.z, will automatically add .0 if needed
modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));

View file

@ -6,11 +6,11 @@ in
{
# Policy: use the highest stable version as the default (on our master).
stable = generic {
version = "384.90";
sha256_32bit = "0mq0h7g56m9zvr42ipy2664ph922754l0pdp8wpsmzfpkzg6g9lp";
sha256_64bit = "1ggylpzw1j217w64rspw4fhvq25wz0la0hhy0b1kxjpwy8h6ipqd";
settingsSha256 = "023jfbsxsbkjk78i9i6wd0sybv5hib2d7mfvy635w3anjcrsk5il";
persistencedSha256 = "166ya8pnv4frvrsp0x5zkg8li85vipags03wy6dlf8s940al92z2";
version = "387.22";
sha256_32bit = "16v4ljq07hs1xw6amc7cmddvmmmd3swli3b617xs8f3qcw54ym1r";
sha256_64bit = "1i0fmzsv4bkfxaw2wnnhj2z64gdyqd6xvxrsq7zj7gq7crcd6sma";
settingsSha256 = "0wszyfj9hcib7dcfin22nsrfsm1mb4rq6ha5fma7sq68p175j1yk";
persistencedSha256 = "0wrkmw8gw780vcl0s0d0vd8niaf741ji5sggxxqb1aa1w61rjf0d";
};
beta = generic {

View file

@ -44,7 +44,8 @@ stdenv.mkDerivation rec {
buildInputs = [ jansson libXv libXrandr libvdpau nvidia_x11 gtk2 dbus ]
++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ];
NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ];
# This next line makes the nvidia-settings binary fail to compile as of version 387.22
# NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ];
makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ];
installFlags = [ "PREFIX=$(out)" ];

View file

@ -1,6 +1,7 @@
{ stdenv, lib, requireFile, makeWrapper, substituteAll, p7zip
, gawk, utillinux, xorg, glib, dbus_glib, zlib
, kernel ? null, libsOnly ? false
, undmg, fetchurl
}:
assert (!libsOnly) -> kernel != null;
@ -10,57 +11,35 @@ let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version;
x64 = if stdenv.system == "x86_64-linux" then true
else if stdenv.system == "i686-linux" then false
else abort "Parallels Tools for Linux only support {x86-64,i686}-linux targets";
# We autostart user services by ourselves, because prlcc uses hardcoded paths.
autostart = [ { exec = "prlcc";
description = "Parallels Control Center";
}
{ exec = "prldhd";
description = "Parallels Control Center"; # not a mistake
}
{ exec = "prl_wmouse_d";
description = "Parallels Walking Mouse Daemon";
}
{ exec = "prlcp";
description = "Parallels CopyPaste Tool";
}
{ exec = "prlsga";
description = "Parallels Shared Guest Applications Tool";
}
{ exec = "prlshprof";
description = "Parallels Shared Profile Tool";
}
];
in
stdenv.mkDerivation rec {
version = "10.0.2.27712";
version = "${prl_major}.2.1-41615";
prl_major = "12";
name = "prl-tools-${version}";
src = requireFile rec {
name = "prl-tools-lin.iso";
sha256 = "07960jvyv7gihjlg922znjm6db6l6bd23x9mg6ympwibzf2mylmx";
message = ''
Please, place Parallels Tools for Linux image into Nix store
using either
nix-store --add-fixed sha256 ${name}
or
nix-prefetch-url file://path/to/${name}
'';
# We download the full distribution to extract prl-tools-lin.iso from
# => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
src = fetchurl {
url = "https://download.parallels.com/desktop/v${prl_major}/${version}/ParallelsDesktop-${version}.dmg";
sha256 = "1jwzwif69qlhmfky9kigjaxpxfj0lyrl1iyrpqy4iwqvajdgbbym";
};
hardeningDisable = [ "pic" ];
hardeningDisable = [ "pic" "format" ];
# also maybe python2 to generate xorg.conf
nativeBuildInputs = [ p7zip ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
nativeBuildInputs = [ p7zip undmg ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
inherit libsOnly;
unpackPhase = ''
7z x $src
export sourceRoot=.
undmg < "${src}"
export sourceRoot=prl-tools-build
7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso" -o$sourceRoot
if test -z "$libsOnly"; then
( cd kmods; tar -xaf prl_mod.tar.gz )
( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz )
fi
( cd tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
'';
kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
@ -88,11 +67,6 @@ stdenv.mkDerivation rec {
stdenv.lib.makeLibraryPath ([ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ]
++ lib.optionals (!libsOnly) [ libXi glib dbus_glib zlib ]);
desktops = map (x: substituteAll ({
src = ./autostart.desktop;
name = x.exec + ".desktop";
version = version;
} // x)) autostart;
installPhase = ''
if test -z "$libsOnly"; then
@ -124,7 +98,7 @@ stdenv.mkDerivation rec {
patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$out/lib:$libPath" \
$i
$i || true
done
mkdir -p $out/bin
@ -145,11 +119,6 @@ stdenv.mkDerivation rec {
sed 's,/bin/bash,${stdenv.shell},g' $i > $out/lib/udev/rules.d/$i
done
mkdir -p $out/share/autostart
for i in $desktops; do
cat $i | sed "s,^Exec=,Exec=$out/bin/," > $out/share/autostart/$(basename $i)
done
(
cd xorg.${xorgVer}
# Install the X modules.
@ -189,8 +158,8 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Parallels Tools for Linux guests";
homepage = http://parallels.com;
platforms = platforms.linux;
homepage = https://parallels.com;
platforms = [ "i686-linux" "x86_64-linux" ];
license = licenses.unfree;
# I was making this package blindly and requesting testing from the real user,
# so I can't even test it by myself and won't provide future updates.

View file

@ -0,0 +1,22 @@
{ stdenv, kernel, udev, autoconf, automake, libtool }:
stdenv.mkDerivation rec {
name = "usbip-${kernel.name}";
src = kernel.src;
nativeBuildInputs = [ autoconf automake libtool ];
buildInputs = [ udev ];
preConfigure = ''
cd tools/usb/usbip
./autogen.sh
'';
meta = with stdenv.lib; {
homepage = https://github.com/torvalds/linux/tree/master/tools/usb/usbip;
description = "allows to pass USB device from server to client over the network";
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, libtool, boost, double_conversion, gperftools, icu, libmysql, lz4, openssl, poco, re2, rdkafka, readline, sparsehash, unixODBC, zookeeper_mt, zstd }:
{ stdenv, fetchFromGitHub, cmake, libtool, boost, double-conversion, gperftools, icu, libmysql, lz4, openssl, poco, re2, rdkafka, readline, sparsehash, unixODBC, zookeeper_mt, zstd }:
stdenv.mkDerivation rec {
name = "clickhouse-${version}";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake libtool ];
buildInputs = [ boost double_conversion gperftools icu libmysql lz4 openssl poco re2 rdkafka readline sparsehash unixODBC zookeeper_mt zstd ];
buildInputs = [ boost double-conversion gperftools icu libmysql lz4 openssl poco re2 rdkafka readline sparsehash unixODBC zookeeper_mt zstd ];
cmakeFlags = [ "-DENABLE_TESTS=OFF" "-DUNBUNDLED=ON" "-DUSE_STATIC_LIBRARIES=OFF" ];

View file

@ -1,17 +1,28 @@
{ stdenv, fetchurl, cmake, doxygen, zlib, openssl, bzip2, pkgconfig, libpthreadstubs }:
{ stdenv
, bzip2
, cmake
, doxygen
, fetchurl
, fuse
, lzma
, openssl
, pkgconfig
, systemd
, tcp_wrappers
, zlib
}:
stdenv.mkDerivation rec {
name = "apt-cacher-ng-${version}";
version = "0.9.1";
version = "3.1";
src = fetchurl {
url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
sha256 = "1d686knvig1niapc1ib2045f7jfad3m4jvz6gkwm276fqvm4p694";
sha256 = "0p8cdig70vz1dgw2v8brjin5wqrk8amncphyf11f53bza5grlc91";
};
NIX_LDFLAGS = "-lpthread";
nativeBuildInputs = [ cmake doxygen pkgconfig ];
buildInputs = [ zlib openssl bzip2 libpthreadstubs ];
buildInputs = [ bzip2 fuse lzma openssl systemd tcp_wrappers zlib ];
meta = with stdenv.lib; {
description = "A caching proxy specialized for linux distribution files";

View file

@ -65,6 +65,7 @@ in pythonPackages.buildPythonApplication rec {
'';
meta = {
broken = true;
description = "An intelligent grader that allows secured and automated testing of code made by students";
homepage = https://github.com/UCL-INGI/INGInious;
license = licenses.agpl3;

View file

@ -2,13 +2,13 @@
buildGoPackage rec {
name = "cockroach-${version}";
version = "1.1.1";
version = "1.1.2";
goPackagePath = "github.com/cockroachdb/cockroach";
src = fetchurl {
url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
sha256 = "0d2nlm291k4x7hqi0kh76j6pj8b1dwbdww5f95brf0a9bl1n7qxr";
sha256 = "0h1fijzihp85a18flq4brdc3b38gj867kfkp31gncnmff0xb8kam";
};
nativeBuildInputs = [ cmake xz which autoconf ];

View file

@ -0,0 +1,50 @@
{ stdenv, fetchurl, unzip }:
let
hide-card-id = fetchurl {
url = "https://github.com/RestyaPlatform/board-apps/releases/download/v2/r_hide_card_id-v0.1.2.zip";
sha256 = "1scm696rs8wx0z2y0g6r9vf01b0yay79azw8n785c6zdvrbqw7dp";
};
togetherjs = fetchurl {
url = "https://github.com/RestyaPlatform/board-apps/releases/download/v2/r_togetherjs-v0.1.2.zip";
sha256 = "1kms7z0ci15plwbs6nxvz15w0ym3in39msbncaj3cn0p72kvx5cm";
};
in
stdenv.mkDerivation rec {
name = "rstya-board-${version}";
version = "0.6";
src = fetchurl {
url = "https://github.com/RestyaPlatform/board/releases/download/v${version}/board-v${version}.zip";
sha256 = "1js8c69qmga7bikp66fqhch3n2vw49918z32q88lz3havqzai8gd";
};
nativeBuildInputs = [ unzip ];
buildCommand = ''
mkdir $out
unzip -d $out $src
cd $out
patch -p1 < ${./fix_request-uri.patch}
chmod +x $out/server/php/shell/*.sh
mkdir $out/client/apps
unzip -d $out/client/apps ${hide-card-id}
unzip -d $out/client/apps ${togetherjs}
'';
meta = with stdenv.lib; {
description = "Web-based kanban board";
license = licenses.osl;
homepage = http://restya.com;
maintainers = with maintainers; [ tstrobel ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,12 @@
diff --git a/server/php/R/r.php b/server/php/R/r.php
--- a/server/php/R/r.php
+++ b/server/php/R/r.php
@@ -18,7 +18,7 @@ $r_debug = '';
$authUser = $client = $form = array();
$_server_protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https' : 'http';
$_server_domain_url = $_server_protocol . '://' . $_SERVER['HTTP_HOST']; // http://localhost
-header('x-response-url:' . $_SERVER[REQUEST_URI]);
+header('x-response-url:' . $_SERVER['REQUEST_URI']);
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: *');
require_once '../config.inc.php';

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "abcm2ps-${version}";
version = "8.13.16";
version = "8.13.17";
src = fetchFromGitHub {
owner = "leesavide";
repo = "abcm2ps";
rev = "v${version}";
sha256 = "1xb37jh811b7h72wpaykck6nskwq4mvy833q6wkhcyr041p1gcp7";
sha256 = "1niafqn3kzd3fpx2c7m0by8il52ird2hbhvr7l03l290vlpjw6zc";
};
prePatch = ''

View file

@ -0,0 +1,29 @@
{ buildGoPackage, fetchFromGitHub, stdenv, docker }:
buildGoPackage rec {
name = "docker-ls-${version}";
version = "v0.3.1";
src = fetchFromGitHub {
owner = "mayflower";
repo = "docker-ls";
rev = version;
sha256 = "1dhadi1s3nm3r8q5a0m59fy4jdya8p7zvm22ci7ifm3mmw960xly";
};
goPackagePath = "github.com/mayflower/docker-ls";
meta = with stdenv.lib; {
description = "Tools for browsing and manipulating docker registries";
longDescription = ''
Docker-ls is a set of CLI tools for browsing and manipulating docker registries.
In particular, docker-ls can handle authentication and display the sha256 content digests associated
with tags.
'';
homepage = https://github.com/mayflower/docker-ls;
maintainers = with maintainers; [ ma27 ];
platforms = docker.meta.platforms;
license = licenses.mit;
};
}

View file

@ -19,22 +19,22 @@ stdenv.mkDerivation rec {
name = "${srcName}-${version}";
version = "${srcVersion}+deb${debianRev}";
srcs = fetchFromGitHub {
src = fetchFromGitHub {
owner = "threerings";
repo = srcName;
rev = "auth-ldap-${version}";
rev = "auth-ldap-${srcVersion}";
sha256 = "1v635ylzf5x3l3lirf3n6173q1w8g0ssjjkf27qqw98c3iqp63sq";
};
patches = map fetchPatchFromDebian [
{patch = "STARTTLS_before_auth.patch";
sha256 = "14d2vy366rhzggxb1zb3ld00wmaqxi2gq885vxhlldnwpgig0jx0";}
sha256 = "02kky73mgx9jf16lpabppl271zyjn4a1160k8b6a0fax5ic8gbwk";}
{patch = "gobjc_4.7_runtime.patch";
sha256 = "11hpmd4i1cm3m27x8c77d9jrwxpir4cy5d74k2kxq0q77rawnxcm";}
sha256 = "0ljmdn70g5xp4kjcv59wg2wnqaifjdfdv1wlj356d10a7fzvxc76";}
{patch = "openvpn_ldap_simpler_add_handler_4";
sha256 = "0qj7v2w921489c18mfrs5bmipzn1mcjj9avyp15x4531ss0lyanb";}
sha256 = "0nha9mazp3dywbs1ywj8xi4ahzsjsasyrcic87v8c0x2nwl9kaa0";}
{patch = "auth-ldap-gnustep.patch";
sha256 = "0cz3jgyzgzi2p9bavd4lh69pnlnf4s7n9ihwg6zmmh6vqsynqss3";}
sha256 = "053jni1s3pacpi2s43dkmk95j79ifh8rybjly13yy2dqffbasr31";}
];
nativeBuildInputs = [

View file

@ -1,10 +1,13 @@
{ callPackage, fetchurl }:
# To upgrade pick the hydra job of the nixops revision that you want to upgrade
# to from: https://hydra.nixos.org/job/nixops/master/tarball
# Then copy the URL to the tarball.
callPackage ./generic.nix (rec {
version = "2017-05-22";
version = "1.6pre2276_9203440";
src = fetchurl {
# Sadly hydra doesn't offer download links
url = "https://static.domenkozar.com/nixops-1.5.1pre2169_8f4a67c.tar.bz2";
sha256 = "0rma5npgkhlknmvm8z0ps54dsr07za1f32p6d6na3nis784h0slw";
url = "https://hydra.nixos.org/build/64518294/download/2/nixops-${version}.tar.bz2";
sha256 = "1cl0869nl67fr5xk0jl9cvqbmma7d4vz5xbg56jpl7casrr3i51x";
};
})

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl
{ stdenv, fetchurl, fetchpatch, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl
, libmilter, pcre }:
stdenv.mkDerivation rec {
@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
sha256 = "0yh2q318bnmf2152g2h1yvzgqbswn0wvbzb8p4kf7v057shxcyqn";
};
patches = [
(fetchpatch {
name = "CVE-2017-6420.patch";
url = "https://github.com/vrtadmin/clamav-devel/commit/dfc00cd3301a42b571454b51a6102eecf58407bc.patch";
sha256 = "08w3p3a4pmi0cmcmyxkagsbn3g0jgx1jqlc34pn141x0qzrlqr60";
})
];
# don't install sample config files into the absolute sysconfdir folder
postPatch = ''
substituteInPlace Makefile.in --replace ' etc ' ' '

View file

@ -5,14 +5,14 @@
}:
stdenv.mkDerivation rec {
version = "3.6.3";
version = "3.7.0";
name = "yara-${version}";
src = fetchFromGitHub {
owner = "VirusTotal";
repo = "yara";
rev = "v${version}";
sha256 = "13znbdwin9lvql43wpms5hh13h8rk5x5wajgmphz18rxwp8h7j78";
sha256 = "1giq5677j0vh5vw0nsv5qcqddcif6jckqaxyqg13j0j54n1p6xyj";
};
# FIXME: this is probably not the right way to make it work
@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "The pattern matching swiss knife for malware researchers";
homepage = http://plusvic.github.io/yara/;
homepage = http://Virustotal.github.io/yara/;
license = licenses.asl20;
platforms = stdenv.lib.platforms.all;
};

View file

@ -47,6 +47,7 @@ mapAliases (rec {
cv = progress; # added 2015-09-06
debian_devscripts = debian-devscripts; # added 2016-03-23
digikam5 = digikam; # added 2017-02-18
double_conversion = double-conversion; # 2017-11-22
dwarf_fortress = dwarf-fortress; # added 2016-01-23
dwbWrapper = dwb; # added 2015-01
enblendenfuse = enblend-enfuse; # 2015-09-30

View file

@ -114,6 +114,8 @@ with pkgs;
docker_compose = pythonPackages.docker_compose;
docker-ls = callPackage ../tools/misc/docker-ls { };
dotfiles = callPackage ../applications/misc/dotfiles { };
dotnetenv = callPackage ../build-support/dotnetenv {
@ -515,6 +517,8 @@ with pkgs;
python3Packages = python34Packages;
};
autoflake = callPackage ../development/tools/analysis/autoflake { };
avfs = callPackage ../tools/filesystems/avfs { };
awscli = pythonPackages.callPackage ../tools/admin/awscli { };
@ -7257,6 +7261,8 @@ with pkgs;
gede = callPackage ../development/tools/misc/gede { };
gdbgui = callPackage ../development/tools/misc/gdbgui { };
pmd = callPackage ../development/tools/analysis/pmd { };
jdepend = callPackage ../development/tools/analysis/jdepend { };
@ -8064,7 +8070,7 @@ with pkgs;
dhex = callPackage ../applications/editors/dhex { };
double_conversion = callPackage ../development/libraries/double-conversion { };
double-conversion = callPackage ../development/libraries/double-conversion { };
dclib = callPackage ../development/libraries/dclib { };
@ -9216,6 +9222,8 @@ with pkgs;
monoSupport = false;
};
libgssglue = callPackage ../development/libraries/libgssglue { };
libgsystem = callPackage ../development/libraries/libgsystem { };
libgudev = callPackage ../development/libraries/libgudev { };
@ -10513,7 +10521,9 @@ with pkgs;
qwt = callPackage ../development/libraries/qwt {};
qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix { };
qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix {
inherit (darwin.apple_sdk.frameworks) AGL;
};
qxt = callPackage ../development/libraries/qxt {};
@ -11942,6 +11952,8 @@ with pkgs;
restic = callPackage ../tools/backup/restic { };
restya-board = callPackage ../servers/web-apps/restya-board { };
rethinkdb = callPackage ../servers/nosql/rethinkdb {
libtool = darwin.cctools;
};
@ -12718,6 +12730,8 @@ with pkgs;
tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
usbip = callPackage ../os-specific/linux/usbip { };
v86d = callPackage ../os-specific/linux/v86d { };
vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
@ -13481,6 +13495,8 @@ with pkgs;
migmix = callPackage ../data/fonts/migmix {};
migu = callPackage ../data/fonts/migu {};
miscfiles = callPackage ../data/misc/miscfiles { };
media-player-info = callPackage ../data/misc/media-player-info {};
@ -14249,10 +14265,10 @@ with pkgs;
inherit (callPackage ../applications/virtualization/docker { })
docker_17_09
docker_17_10;
docker_17_11;
docker = docker_17_09;
docker-edge = docker_17_10;
docker-edge = docker_17_11;
docker-proxy = callPackage ../applications/virtualization/docker/proxy.nix { };
@ -14652,7 +14668,9 @@ with pkgs;
gnuradio = callPackage ../applications/misc/gnuradio {
inherit (python2Packages) cheetah lxml matplotlib numpy python pyopengl pyqt4 scipy wxPython pygtk;
inherit (darwin.apple_sdk.frameworks) CoreAudio;
fftw = fftwFloat;
qwt = qwt6_qt4;
};
gnuradio-with-packages = callPackage ../applications/misc/gnuradio/wrapper.nix {

View file

@ -11233,12 +11233,12 @@ let self = _self // overrides; _self = with self; {
};
PPI = buildPerlPackage rec {
name = "PPI-1.224";
name = "PPI-1.236";
src = fetchurl {
url = "mirror://cpan/authors/id/M/MI/MITHALDU/${name}.tar.gz";
sha256 = "8d0f9faaea68515fb5aa6323115dcf98ea6c1dec4441f3844d3b9633b6cc9d94";
sha256 = "c6674b349c0b7d9a6d668e789a5e5215477d88ed4c8203aa69a2a50085308aec";
};
buildInputs = [ ClassInspector FileRemove TestDeep TestObject TestSubCalls TestWarn ];
buildInputs = [ ClassInspector FileRemove TestDeep TestObject TestSubCalls ];
propagatedBuildInputs = [ Clone IOString ListMoreUtils ParamsUtil TaskWeaken ];
# Remove test that fails due to unexpected shebang after

View file

@ -4452,6 +4452,8 @@ in {
};
};
demjson = callPackage ../development/python-modules/demjson { };
derpconf = self.buildPythonPackage rec {
name = "derpconf-0.4.9";
@ -10977,35 +10979,7 @@ in {
};
};
nototools = buildPythonPackage rec {
version = "git-2016-03-25";
name = "nototools-${version}";
src = pkgs.fetchFromGitHub {
owner = "googlei18n";
repo = "nototools";
rev = "4f7b067d1b18f59288e5eaee34db5b0abd3a3f63";
sha256 = "05brbkfg77ij4pmcrhq9302albzdalr9gv6jfdsbyyi2k8j85gbn";
};
propagatedBuildInputs = with self; [ fonttools numpy ];
postPatch = ''
sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py
'';
postInstall = ''
cp -r third_party $out
'';
disabled = isPy3k;
meta = {
description = "Noto fonts support tools and scripts plus web site generation";
license = licenses.asl20;
homepage = https://github.com/googlei18n/nototools;
};
};
nototools = callPackage ../data/fonts/noto-fonts/tools.nix { };
rainbowstream = buildPythonPackage rec {
name = "rainbowstream-${version}";
@ -21326,6 +21300,7 @@ EOF
};
};
titlecase = callPackage ../development/python-modules/titlecase { };
tracing = buildPythonPackage rec {
name = "tracing-${version}";