Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2018-11-03 12:42:18 +01:00
commit ea3935a6c4
176 changed files with 6527 additions and 4292 deletions

24
.github/CODEOWNERS vendored
View File

@ -12,7 +12,7 @@
# Libraries
/lib @edolstra @nbp
/lib/systems @nbp @ericson2314
/lib/systems @nbp @ericson2314 @matthewbauer
/lib/generators.nix @edolstra @nbp @Profpatsch
/lib/debug.nix @edolstra @nbp @Profpatsch
@ -20,9 +20,11 @@
/default.nix @nbp
/pkgs/top-level/default.nix @nbp @Ericson2314
/pkgs/top-level/impure.nix @nbp @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314
/pkgs/stdenv/generic @Ericson2314
/pkgs/stdenv/cross @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer
/pkgs/stdenv/generic @Ericson2314 @matthewbauer
/pkgs/stdenv/cross @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
/pkgs/build-support/setup-hooks @Ericson2314
@ -74,6 +76,14 @@
/pkgs/stdenv/darwin @NixOS/darwin-maintainers
/pkgs/os-specific/darwin @NixOS/darwin-maintainers
# C compilers
/pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @matthewbauer
# Compatibility stuff
/pkgs/top-level/unix-tools.nix @matthewbauer
/pkgs/development/tools/xcbuild @matthewbauer
# Beam-related (Erlang, Elixir, LFE, etc)
/pkgs/development/beam-modules @gleber
/pkgs/development/interpreters/erlang @gleber
@ -97,3 +107,9 @@
/pkgs/desktops/plasma-5 @ttuegel
/pkgs/development/libraries/kde-frameworks @ttuegel
/pkgs/development/libraries/qt-5 @ttuegel
# PostgreSQL and related stuff
/pkgs/servers/sql/postgresql @thoughtpolice
/nixos/modules/services/databases/postgresql.xml @thoughtpolice
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
/nixos/tests/postgresql.nix @thoughtpolice

View File

@ -400,6 +400,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
free = false;
};
jasper = spdx {
spdxId = "JasPer-2.0";
fullName = "JasPer License";
};
lgpl2 = spdx {
spdxId = "LGPL-2.0";

View File

@ -471,6 +471,7 @@ rec {
"x86_64-linux" = pc64;
"armv5tel-linux" = sheevaplug;
"armv6l-linux" = raspberrypi;
"armv7a-linux" = armv7l-hf-multiplatform;
"armv7l-linux" = armv7l-hf-multiplatform;
"aarch64-linux" = aarch64-multiplatform;
"mipsel-linux" = fuloong2f_n32;

View File

@ -3910,6 +3910,11 @@
github = "sjagoe";
name = "Simon Jagoe";
};
sjau = {
email = "nixos@sjau.ch";
github = "sjau";
name = "Stephan Jau";
};
sjmackenzie = {
email = "setori88@gmail.com";
github = "sjmackenzie";
@ -4158,6 +4163,11 @@
github = "taku0";
name = "Takuo Yonezawa";
};
talyz = {
email = "kim.lindberger@gmail.com";
github = "talyz";
name = "Kim Lindberger";
};
tari = {
email = "peter@taricorp.net";
github = "tari";

View File

@ -97,6 +97,16 @@
start org.nixos.nix-daemon</command>.
</para>
</listitem>
<listitem>
<para>
The Syncthing state and configuration data has been moved from
<varname>services.syncthing.dataDir</varname> to the newly defined
<varname>services.syncthing.configDir</varname>, which default to
<literal>/var/lib/syncthing/.config/syncthing</literal>.
This change makes possible to share synced directories using ACLs
without Syncthing resetting the permission on every start.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>

View File

@ -332,6 +332,7 @@
lirc = 305;
lidarr = 306;
slurm = 307;
kapacitor = 308;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -624,6 +625,7 @@
lirc = 305;
lidarr = 306;
slurm = 307;
kapacitor = 308;
# 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

@ -433,6 +433,7 @@
./services/monitoring/hdaps.nix
./services/monitoring/heapster.nix
./services/monitoring/incron.nix
./services/monitoring/kapacitor.nix
./services/monitoring/longview.nix
./services/monitoring/monit.nix
./services/monitoring/munin.nix

View File

@ -13,7 +13,7 @@ with lib;
# Set up the per-user profile.
mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR"
if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then
echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR, should be $(id -u)" >&2
echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2
fi
if [ -w "$HOME" ]; then
@ -35,7 +35,7 @@ with lib;
NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER"
mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR"
if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then
echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR, should be $(id -u)" >&2
echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2
fi
# Set up a default Nix expression from which to install stuff.

View File

@ -28,7 +28,10 @@ with lib;
(config:
let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
in if enabled then [ pkgs.gutenprint ] else [ ]))
(mkRenamedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ])
(mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
(config:
let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
in if value != "" then [ value ] else []))
(mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
(mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
(mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])

View File

@ -271,5 +271,5 @@ in
};
meta.doc = ./postgresql.xml;
meta.maintainers = with lib.maintainers; [ thoughtpolice ];
}

View File

@ -14,15 +14,16 @@ let
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
pgSuperUser = config.services.postgresql.superUser;
databaseYml = ''
production:
adapter: postgresql
database: ${cfg.databaseName}
host: ${cfg.databaseHost}
password: ${cfg.databasePassword}
username: ${cfg.databaseUsername}
encoding: utf8
'';
databaseConfig = {
production = {
adapter = "postgresql";
database = cfg.databaseName;
host = cfg.databaseHost;
password = cfg.databasePassword;
username = cfg.databaseUsername;
encoding = "utf8";
};
};
gitalyToml = pkgs.writeText "gitaly.toml" ''
socket_path = "${lib.escape ["\""] gitalySocket}"
@ -45,35 +46,31 @@ let
'') gitlabConfig.production.repositories.storages))}
'';
gitlabShellYml = ''
user: ${cfg.user}
gitlab_url: "http+unix://${pathUrlQuote gitlabSocket}"
http_settings:
self_signed_cert: false
repos_path: "${cfg.statePath}/repositories"
secret_file: "${cfg.statePath}/config/gitlab_shell_secret"
log_file: "${cfg.statePath}/log/gitlab-shell.log"
custom_hooks_dir: "${cfg.statePath}/custom_hooks"
redis:
bin: ${pkgs.redis}/bin/redis-cli
host: 127.0.0.1
port: 6379
database: 0
namespace: resque:gitlab
'';
gitlabShellConfig = {
user = cfg.user;
gitlab_url = "http+unix://${pathUrlQuote gitlabSocket}";
http_settings.self_signed_cert = false;
repos_path = "${cfg.statePath}/repositories";
secret_file = "${cfg.statePath}/config/gitlab_shell_secret";
log_file = "${cfg.statePath}/log/gitlab-shell.log";
custom_hooks_dir = "${cfg.statePath}/custom_hooks";
redis = {
bin = "${pkgs.redis}/bin/redis-cli";
host = "127.0.0.1";
port = 6379;
database = 0;
namespace = "resque:gitlab";
};
};
redisYml = ''
production:
url: redis://localhost:6379/
'';
redisConfig.production.url = "redis://localhost:6379/";
secretsYml = ''
production:
secret_key_base: ${cfg.secrets.secret}
otp_key_base: ${cfg.secrets.otp}
db_key_base: ${cfg.secrets.db}
openid_connect_signing_key: ${builtins.toJSON cfg.secrets.jws}
'';
secretsConfig.production = {
secret_key_base = cfg.secrets.secret;
otp_key_base = cfg.secrets.otp;
db_key_base = cfg.secrets.db;
openid_connect_signing_key = cfg.secrets.jws;
};
gitlabConfig = {
# These are the default settings from config/gitlab.example.yml
@ -115,12 +112,8 @@ let
upload_pack = true;
receive_pack = true;
};
workhorse = {
secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
};
git = {
bin_path = "git";
};
workhorse.secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
git.bin_path = "git";
monitoring = {
ip_whitelist = [ "127.0.0.0/8" "::1/128" ];
sidekiq_exporter = {
@ -138,7 +131,7 @@ let
HOME = "${cfg.statePath}/home";
UNICORN_PATH = "${cfg.statePath}/";
GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
GITLAB_STATE_PATH = "${cfg.statePath}";
GITLAB_STATE_PATH = cfg.statePath;
GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
SCHEMA = "${cfg.statePath}/db/schema.rb";
GITLAB_LOG_PATH = "${cfg.statePath}/log";
@ -146,13 +139,11 @@ let
GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret";
GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks";
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "gitlab-redis.yml" redisYml;
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "redis.yml" (builtins.toJSON redisConfig);
prometheus_multiproc_dir = "/run/gitlab";
RAILS_ENV = "production";
};
unicornConfig = builtins.readFile ./defaultUnicornConfig.rb;
gitlab-rake = pkgs.stdenv.mkDerivation rec {
name = "gitlab-rake";
buildInputs = [ pkgs.makeWrapper ];
@ -162,7 +153,6 @@ let
mkdir -p $out/bin
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
--set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
@ -306,7 +296,6 @@ in {
initialRootPassword = mkOption {
type = types.str;
default = "UseNixOS!";
description = ''
Initial password of the root account if this is a new install.
'';
@ -461,10 +450,30 @@ in {
}
];
systemd.tmpfiles.rules = [
"d /run/gitlab 0755 ${cfg.user} ${cfg.group} -"
"d ${gitlabEnv.HOME} 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.backupPath} 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/shell 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/tmp/pids 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/tmp/sockets 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/uploads 0700 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/custom_hooks/pre-receive.d 0700 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/custom_hooks/post-receive.d 0700 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/custom_hooks/update.d 0700 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
];
systemd.services.gitlab-sidekiq = {
after = [ "network.target" "redis.service" ];
after = [ "network.target" "redis.service" "gitlab.service" ];
wantedBy = [ "multi-user.target" ];
partOf = [ "gitlab.service" ];
environment = gitlabEnv;
path = with pkgs; [
config.services.postgresql.package
@ -486,10 +495,8 @@ in {
};
systemd.services.gitaly = {
after = [ "network.target" "gitlab.service" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment.HOME = gitlabEnv.HOME;
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby ];
serviceConfig = {
Type = "simple";
@ -505,8 +512,6 @@ in {
systemd.services.gitlab-workhorse = {
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment.HOME = gitlabEnv.HOME;
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
path = with pkgs; [
gitAndTools.git
gnutar
@ -514,10 +519,6 @@ in {
openssh
gitlab-workhorse
];
preStart = ''
mkdir -p /run/gitlab
chown ${cfg.user}:${cfg.group} /run/gitlab
'';
serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
Type = "simple";
@ -538,7 +539,7 @@ in {
};
systemd.services.gitlab = {
after = [ "network.target" "postgresql.service" "redis.service" ];
after = [ "gitlab-workhorse.service" "gitaly.service" "network.target" "postgresql.service" "redis.service" ];
requires = [ "gitlab-sidekiq.service" ];
wantedBy = [ "multi-user.target" ];
environment = gitlabEnv;
@ -551,102 +552,75 @@ in {
gnupg
];
preStart = ''
mkdir -p ${cfg.backupPath}
mkdir -p ${cfg.statePath}/builds
mkdir -p ${cfg.statePath}/repositories
mkdir -p ${gitlabConfig.production.shared.path}/artifacts
mkdir -p ${gitlabConfig.production.shared.path}/lfs-objects
mkdir -p ${gitlabConfig.production.shared.path}/pages
mkdir -p ${cfg.statePath}/log
mkdir -p ${cfg.statePath}/tmp/pids
mkdir -p ${cfg.statePath}/tmp/sockets
mkdir -p ${cfg.statePath}/shell
mkdir -p ${cfg.statePath}/db
mkdir -p ${cfg.statePath}/uploads
mkdir -p ${cfg.statePath}/custom_hooks/pre-receive.d
mkdir -p ${cfg.statePath}/custom_hooks/post-receive.d
mkdir -p ${cfg.statePath}/custom_hooks/update.d
rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
mkdir -p ${cfg.statePath}/config
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret
mkdir -p /run/gitlab
mkdir -p ${cfg.statePath}/log
[ -d /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
[ -d /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
[ -d /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
ln -sf $GITLAB_SHELL_CONFIG_PATH /run/gitlab/shell-config.yml
chown -R ${cfg.user}:${cfg.group} /run/gitlab
# Prepare home directory
mkdir -p ${gitlabEnv.HOME}/.ssh
touch ${gitlabEnv.HOME}/.ssh/authorized_keys
chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
cp -rf ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
${optionalString cfg.smtp.enable ''
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
''}
ln -sf ${cfg.statePath}/config /run/gitlab/config
if [ -e ${cfg.statePath}/lib ]; then
rm ${cfg.statePath}/lib
fi
ln -sf ${pkgs.gitlab}/share/gitlab/lib ${cfg.statePath}/lib
ln -sf ${cfg.packages.gitlab}/share/gitlab/lib ${cfg.statePath}/lib
[ -L /run/gitlab/config ] || ln -sf ${cfg.statePath}/config /run/gitlab/config
[ -L /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
[ -L /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
[ -L /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
${optionalString cfg.smtp.enable ''
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
''}
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
# JSON is a subset of YAML
ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml
ln -fs ${pkgs.writeText "secrets.yml" secretsYml} ${cfg.statePath}/config/secrets.yml
ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb
ln -sf ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
ln -sf ${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} ${cfg.statePath}/config/database.yml
ln -sf ${pkgs.writeText "secrets.yml" (builtins.toJSON secretsConfig)} ${cfg.statePath}/config/secrets.yml
ln -sf ${./defaultUnicornConfig.rb} ${cfg.statePath}/config/unicorn.rb
# Install the shell required to push repositories
ln -sf ${pkgs.writeText "config.yml" (builtins.toJSON gitlabShellConfig)} /run/gitlab/shell-config.yml
[ -L ${cfg.statePath}/shell/hooks ] || ln -sf ${cfg.packages.gitlab-shell}/hooks ${cfg.statePath}/shell/hooks
${cfg.packages.gitlab-shell}/bin/install
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}/
chown -R ${cfg.user}:${cfg.group} /run/gitlab
# Install the shell required to push repositories
ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} "$GITLAB_SHELL_CONFIG_PATH"
ln -fs ${cfg.packages.gitlab-shell}/hooks "$GITLAB_SHELL_HOOKS_PATH"
${cfg.packages.gitlab-shell}/bin/install
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
if ! test -e "${cfg.statePath}/db-created"; then
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'"
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} ${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName}
touch "${cfg.statePath}/db-created"
fi
# enable required pg_trgm extension for gitlab
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql ${cfg.databaseName} -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
fi
# Always do the db migrations just to be sure the database is up-to-date
${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake db:schema:load
touch "${cfg.statePath}/db-created"
fi
# Always do the db migrations just to be sure the database is up-to-date
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake db:migrate
# The gitlab:setup task is horribly broken somehow, the db:migrate
# task above and the db:seed_fu below will do the same for setting
# up the initial database
if ! test -e "${cfg.statePath}/db-seeded"; then
${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \
${pkgs.sudo}/bin/sudo -u ${cfg.user} ${gitlab-rake}/bin/gitlab-rake db:seed_fu \
GITLAB_ROOT_PASSWORD='${cfg.initialRootPassword}' GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
touch "${cfg.statePath}/db-seeded"
fi
# The gitlab:shell:setup regenerates the authorized_keys file so that
# the store path to the gitlab-shell in it gets updated
${pkgs.sudo}/bin/sudo -u ${cfg.user} force=yes ${gitlab-rake}/bin/gitlab-rake gitlab:shell:setup RAILS_ENV=production
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H force=yes ${gitlab-rake}/bin/gitlab-rake gitlab:shell:setup
# The gitlab:shell:create_hooks task seems broken for fixing links
# so we instead delete all the hooks and create them anew
rm -f ${cfg.statePath}/repositories/**/*.git/hooks
${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks RAILS_ENV=production
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${pkgs.git}/bin/git config --global core.autocrlf "input"
# Change permissions in the last step because some of the
# intermediary scripts like to create directories as root.
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}
chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}
chmod -R ug+rwX,o-rwx ${cfg.statePath}/repositories
chmod -R ug-s ${cfg.statePath}/repositories

View File

@ -157,6 +157,7 @@ in {
Restart = "on-failure";
ProtectSystem = "strict";
ReadWritePaths = "${cfg.configDir}";
KillSignal = "SIGINT";
PrivateTmp = true;
RemoveIPC = true;
};

View File

@ -0,0 +1,154 @@
{ options, config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.kapacitor;
kapacitorConf = pkgs.writeTextFile {
name = "kapacitord.conf";
text = ''
hostname="${config.networking.hostName}"
data_dir="${cfg.dataDir}"
[http]
bind-address = "${cfg.bind}:${toString cfg.port}"
log-enabled = false
auth-enabled = false
[task]
dir = "${cfg.dataDir}/tasks"
snapshot-interval = "${cfg.taskSnapshotInterval}"
[replay]
dir = "${cfg.dataDir}/replay"
[storage]
boltdb = "${cfg.dataDir}/kapacitor.db"
${optionalString (cfg.loadDirectory != null) ''
[load]
enabled = true
dir = "${cfg.loadDirectory}"
''}
${optionalString (cfg.defaultDatabase.enable) ''
[[influxdb]]
name = "default"
enabled = true
default = true
urls = [ "${cfg.defaultDatabase.url}" ]
username = "${cfg.defaultDatabase.username}"
password = "${cfg.defaultDatabase.password}"
''}
${cfg.extraConfig}
'';
};
in
{
options.services.kapacitor = {
enable = mkEnableOption "kapacitor";
dataDir = mkOption {
type = types.path;
example = "/var/lib/kapacitor";
default = "/var/lib/kapacitor";
description = "Location where Kapacitor stores its state";
};
port = mkOption {
type = types.int;
default = 9092;
description = "Port of Kapacitor";
};
bind = mkOption {
type = types.str;
default = "";
example = literalExample "0.0.0.0";
description = "Address to bind to. The default is to bind to all addresses";
};
extraConfig = mkOption {
description = "These lines go into kapacitord.conf verbatim.";
default = "";
type = types.lines;
};
user = mkOption {
type = types.str;
default = "kapacitor";
description = "User account under which Kapacitor runs";
};
group = mkOption {
type = types.str;
default = "kapacitor";
description = "Group under which Kapacitor runs";
};
taskSnapshotInterval = mkOption {
type = types.str;
description = "Specifies how often to snapshot the task state (in InfluxDB time units)";
default = "1m0s";
example = "1m0s";
};
loadDirectory = mkOption {
type = types.nullOr types.path;
description = "Directory where to load services from, such as tasks, templates and handlers (or null to disable service loading on startup)";
default = null;
};
defaultDatabase = {
enable = mkEnableOption "kapacitor.defaultDatabase";
url = mkOption {
description = "The URL to an InfluxDB server that serves as the default database";
example = "http://localhost:8086";
type = types.string;
};
username = mkOption {
description = "The username to connect to the remote InfluxDB server";
type = types.string;
};
password = mkOption {
description = "The password to connect to the remote InfluxDB server";
type = types.string;
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.kapacitor ];
systemd.services.kapacitor = {
description = "Kapacitor Real-Time Stream Processing Engine";
wantedBy = [ "multi-user.target" ];
after = [ "networking.target" ];
serviceConfig = {
ExecStart = "${pkgs.kapacitor}/bin/kapacitord -config ${kapacitorConf}";
User = "kapacitor";
Group = "kapacitor";
PermissionsStartOnly = true;
};
preStart = ''
mkdir -p ${cfg.dataDir}
chown ${cfg.user}:${cfg.group} ${cfg.dataDir}
'';
};
users.users.kapacitor = {
uid = config.ids.uids.kapacitor;
description = "Kapacitor user";
home = cfg.dataDir;
};
users.groups.kapacitor = {
gid = config.ids.gids.kapacitor;
};
};
}

View File

@ -93,6 +93,8 @@ in
services.timesyncd.enable = mkForce false;
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service"; };
systemd.services.chronyd =
{ description = "chrony NTP daemon";

View File

@ -67,6 +67,8 @@ in
environment.systemPackages = [ pkgs.ntp ];
services.timesyncd.enable = mkForce false;
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "ntpd.service"; };
users.users = singleton
{ name = ntpUser;
uid = config.ids.uids.ntp;

View File

@ -62,9 +62,21 @@ in {
dataDir = mkOption {
type = types.path;
default = "/var/lib/syncthing";
description = ''
Path where synced directories will exist.
'';
};
configDir = mkOption {
type = types.path;
description = ''
Path where the settings and keys will exist.
'';
default =
let
nixos = config.system.stateVersion;
cond = versionAtLeast nixos "19.03";
in cfg.dataDir + (optionalString cond "/.config/syncthing");
};
openDefaultPorts = mkOption {
@ -144,7 +156,7 @@ in {
${cfg.package}/bin/syncthing \
-no-browser \
-gui-address=${cfg.guiAddress} \
-home=${cfg.dataDir}
-home=${cfg.configDir}
'';
};
};

View File

@ -39,7 +39,8 @@ in
systemd.services.zerotierone = {
description = "ZeroTierOne";
path = [ cfg.package ];
after = [ "network.target" ];
bindsTo = [ "network-online.target" ];
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -p /var/lib/zerotier-one/networks.d

View File

@ -22,6 +22,7 @@ let
gnugrep
findutils
getent
stdenv.cc.libc # nscd in update-users-groups.pl
shadow
nettools # needed for hostname
utillinux # needed for mount and mountpoint

View File

@ -0,0 +1,135 @@
{ config, lib, pkgs, ... }:
with lib;
with builtins;
let
cfg = config.virtualisation;
sanitizeImageName = image: replaceStrings ["/"] ["-"] image.imageName;
hash = drv: head (split "-" (baseNameOf drv.outPath));
# The label of an ext4 FS is limited to 16 bytes
labelFromImage = image: substring 0 16 (hash image);
# The Docker image is loaded and some files from /var/lib/docker/
# are written into a qcow image.
preload = image: pkgs.vmTools.runInLinuxVM (
pkgs.runCommand "docker-preload-image-${sanitizeImageName image}" {
buildInputs = with pkgs; [ docker e2fsprogs utillinux curl kmod ];
preVM = pkgs.vmTools.createEmptyImage {
size = cfg.dockerPreloader.qcowSize;
fullName = "docker-deamon-image.qcow2";
};
}
''
mkfs.ext4 /dev/vda
e2label /dev/vda ${labelFromImage image}
mkdir -p /var/lib/docker
mount -t ext4 /dev/vda /var/lib/docker
modprobe overlay
# from https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
cd /sys/fs/cgroup
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
dockerd -H tcp://127.0.0.1:5555 -H unix:///var/run/docker.sock &
until $(curl --output /dev/null --silent --connect-timeout 2 http://127.0.0.1:5555); do
printf '.'
sleep 1
done
docker load -i ${image}
kill %1
find /var/lib/docker/ -maxdepth 1 -mindepth 1 -not -name "image" -not -name "overlay2" | xargs rm -rf
'');
preloadedImages = map preload cfg.dockerPreloader.images;
in
{
options.virtualisation.dockerPreloader = {
images = mkOption {
default = [ ];
type = types.listOf types.package;
description =
''
A list of Docker images to preload (in the /var/lib/docker directory).
'';
};
qcowSize = mkOption {
default = 1024;
type = types.int;
description =
''
The size (MB) of qcow files.
'';
};
};
config = {
assertions = [{
# If docker.storageDriver is null, Docker choose the storage
# driver. So, in this case, we cannot be sure overlay2 is used.
assertion = cfg.dockerPreloader.images == []
|| cfg.docker.storageDriver == "overlay2"
|| cfg.docker.storageDriver == "overlay"
|| cfg.docker.storageDriver == null;
message = "The Docker image Preloader only works with overlay2 storage driver!";
}];
virtualisation.qemu.options =
map (path: "-drive if=virtio,file=${path}/disk-image.qcow2,readonly,media=cdrom,format=qcow2")
preloadedImages;
# All attached QCOW files are mounted and their contents are linked
# to /var/lib/docker/ in order to make image available.
systemd.services.docker-preloader = {
description = "Preloaded Docker images";
wantedBy = ["docker.service"];
after = ["network.target"];
path = with pkgs; [ mount rsync jq ];
script = ''
mkdir -p /var/lib/docker/overlay2/l /var/lib/docker/image/overlay2
echo '{}' > /tmp/repositories.json
for i in ${concatStringsSep " " (map labelFromImage cfg.dockerPreloader.images)}; do
mkdir -p /mnt/docker-images/$i
# The ext4 label is limited to 16 bytes
mount /dev/disk/by-label/$(echo $i | cut -c1-16) -o ro,noload /mnt/docker-images/$i
find /mnt/docker-images/$i/overlay2/ -maxdepth 1 -mindepth 1 -not -name l\
-exec ln -s '{}' /var/lib/docker/overlay2/ \;
cp -P /mnt/docker-images/$i/overlay2/l/* /var/lib/docker/overlay2/l/
rsync -a /mnt/docker-images/$i/image/ /var/lib/docker/image/
# Accumulate image definitions
cp /tmp/repositories.json /tmp/repositories.json.tmp
jq -s '.[0] * .[1]' \
/tmp/repositories.json.tmp \
/mnt/docker-images/$i/image/overlay2/repositories.json \
> /tmp/repositories.json
done
mv /tmp/repositories.json /var/lib/docker/image/overlay2/repositories.json
'';
serviceConfig = {
Type = "oneshot";
};
};
};
}

View File

@ -185,7 +185,10 @@ let
in
{
imports = [ ../profiles/qemu-guest.nix ];
imports = [
../profiles/qemu-guest.nix
./docker-preloader.nix
];
options = {

View File

@ -283,6 +283,7 @@ in rec {
tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {};
tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.nix {};
tests.docker-preloader = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-preloader.nix {};
tests.docker-registry = callTest tests/docker-registry.nix {};
tests.dovecot = callTest tests/dovecot.nix {};
tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
@ -300,7 +301,7 @@ in rec {
tests.fsck = callTest tests/fsck.nix {};
tests.fwupd = callTest tests/fwupd.nix {};
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
#tests.gitlab = callTest tests/gitlab.nix {};
tests.gitlab = callTest tests/gitlab.nix {};
tests.gitolite = callTest tests/gitolite.nix {};
tests.gjs = callTest tests/gjs.nix {};
tests.gocd-agent = callTest tests/gocd-agent.nix {};

View File

@ -12,8 +12,10 @@ with pkgs.lib;
mapAttrs (channel: chromiumPkg: makeTest rec {
name = "chromium-${channel}";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ aszlig ];
meta = {
maintainers = with maintainers; [ aszlig ];
# https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
inherit (chromiumPkg.meta) timeout;
};
enableOCR = true;
@ -166,7 +168,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
die "sandbox not working properly: $clipboard"
unless $clipboard =~ /namespace sandbox.*yes/mi
unless $clipboard =~ /layer 1 sandbox.*namespace/mi
&& $clipboard =~ /pid namespaces.*yes/mi
&& $clipboard =~ /network namespaces.*yes/mi
&& $clipboard =~ /seccomp.*sandbox.*yes/mi
@ -184,7 +186,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
die "copying twice in a row does not work properly: $clipboard"
unless $clipboard =~ /namespace sandbox.*yes/mi
unless $clipboard =~ /layer 1 sandbox.*namespace/mi
&& $clipboard =~ /pid namespaces.*yes/mi
&& $clipboard =~ /network namespaces.*yes/mi
&& $clipboard =~ /seccomp.*sandbox.*yes/mi

View File

@ -0,0 +1,27 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "docker-preloader";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lewo ];
};
nodes = {
docker =
{ pkgs, ... }:
{
virtualisation.docker.enable = true;
virtualisation.dockerPreloader.images = [ pkgs.dockerTools.examples.nix pkgs.dockerTools.examples.bash ];
services.openssh.enable = true;
services.openssh.permitRootLogin = "yes";
services.openssh.extraConfig = "PermitEmptyPasswords yes";
users.extraUsers.root.password = "";
};
};
testScript = ''
startAll;
$docker->waitForUnit("sockets.target");
$docker->succeed("docker run nix nix-store --version");
$docker->succeed("docker run bash bash --version");
'';
})

View File

@ -1,14 +1,18 @@
# This test runs gitlab and checks if it works
import ./make-test.nix ({ pkgs, ...} : {
import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
name = "gitlab";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ domenkozar offline ];
maintainers = [ globin ];
};
nodes = {
gitlab = { ... }: {
virtualisation.memorySize = 768;
virtualisation.memorySize = 4096;
systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
systemd.services.gitaly.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab-sidekiq.serviceConfig.Restart = mkForce "no";
services.nginx = {
enable = true;
@ -19,10 +23,10 @@ import ./make-test.nix ({ pkgs, ...} : {
};
};
systemd.services.gitlab.serviceConfig.TimeoutStartSec = "10min";
services.gitlab = {
enable = true;
databasePassword = "dbPassword";
initialRootPassword = "notproduction";
secrets = {
secret = "secret";
otp = "otpsecret";
@ -65,8 +69,12 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = ''
$gitlab->start();
$gitlab->waitForUnit("gitaly.service");
$gitlab->waitForUnit("gitlab-workhorse.service");
$gitlab->waitForUnit("gitlab.service");
$gitlab->waitForUnit("gitlab-sidekiq.service");
$gitlab->waitUntilSucceeds("curl http://localhost:80/users/sign_in");
$gitlab->waitForFile("/var/gitlab/state/tmp/sockets/gitlab.socket");
$gitlab->waitUntilSucceeds("curl -sSf http://localhost/users/sign_in");
$gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2")
'';
})

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, pkgconfig, pango, cairo, libGLU, lv2 }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "avldrums.lv2";
version = "0.3.0";
src = fetchFromGitHub {
owner = "x42";
repo = pname;
rev = "v${version}";
sha256 = "0w51gdshq2i5bix2x5l3g3gnycy84nlzf5sj0jkrw0zrnbk6ghwg";
fetchSubmodules = true;
};
installFlags = "PREFIX=$(out)";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
pango cairo libGLU lv2
];
meta = with stdenv.lib; {
description = "Dedicated AVLDrumkits LV2 Plugin";
homepage = http://x42-plugins.com/x42/x42-avldrums;
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@ -40,15 +40,6 @@ stdenv.mkDerivation rec {
substituteInPlace "chibios/os/various/shell.c" \
--replace "#ifdef __DATE__" "#if 0"
# Hardcode full path to compiler tools
for f in "firmware/Makefile.patch" \
"firmware/Makefile" \
"firmware/flasher/Makefile" \
"firmware/mounter/Makefile"; do
substituteInPlace "$f" \
--replace "arm-none-eabi-" "${gcc-arm-embedded}/bin/arm-none-eabi-"
done
# Hardcode path to "make"
for f in "firmware/compile_firmware_linux.sh" \
"firmware/compile_patch_linux.sh"; do

View File

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, curl, libnotify, gdk_pixbuf }:
stdenv.mkDerivation rec {
version = "2018-10-11";
name = "cmusfm-unstable-${version}";
src = fetchFromGitHub {
owner = "Arkq";
repo = "cmusfm";
rev = "ad2fd0aad3f4f1a25add1b8c2f179e8859885873";
sha256 = "0wpwdwgyrp64nvwc6shy0n387p31j6aw6cnmfi9x2y1jhl5hbv6b";
};
# building
configureFlags = [ "--enable-libnotify" ];
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ curl libnotify gdk_pixbuf ];
meta = with stdenv.lib; {
description = "Last.fm and Libre.fm standalone scrobbler for the cmus music player";
longDescription = ''
Features:
+ Listening now notification support
+ Off-line played track cache for later submission
+ POSIX ERE-based file name parser
+ Desktop notification support (optionally)
+ Customizable scrobbling service
+ Small memory footprint
Configuration:
+ run `cmusfm init` to generate configuration file under ~/.config/cmus/cmusfm.conf
+ Inside cmus run `:set status_display_program=cmusfm` to set up cmusfm
'';
homepage = https://github.com/Arkq/cmusfm/;
maintainers = with stdenv.lib.maintainers; [ CharlesHD ];
license = licenses.gpl3Plus;
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -0,0 +1,49 @@
{ stdenv, fetchFromGitHub, fetchzip, cmake, pkgconfig, lv2, alsaLib, libjack2,
freetype, libX11, gtk3, pcre, libpthreadstubs, libXdmcp, libxkbcommon,
epoxy, at-spi2-core, dbus, curl, fftwFloat }:
let
pname = "HybridReverb2";
version = "2.1.1";
owner = "jpcima";
DBversion = "1.0.0";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
impulseDB = fetchzip {
url = "https://github.com/${owner}/${pname}-impulse-response-database/archive/v${DBversion}.zip";
sha256 = "1hlfxbbkahm1k2sk3c3n2mjaz7k80ky3r55xil8nfbvbv0qan89z";
};
src = fetchFromGitHub {
inherit owner;
repo = pname;
rev = "v${version}";
sha256 = "15mba9qvlis0qrklr50wp3jdysvmk33m7pvclp0k1is9pirj97cb";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ lv2 alsaLib libjack2 freetype libX11 gtk3 pcre
libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core dbus curl fftwFloat ];
cmakeFlags = [
"-DHybridReverb2_AdvancedJackStandalone=ON"
"-DHybridReverb2_UseLocalDatabase=ON"
];
postInstall = ''
mkdir -p $out/share/${pname}/
cp -r ${impulseDB}/* $out/share/${pname}/
'';
meta = with stdenv.lib; {
homepage = http://www2.ika.ruhr-uni-bochum.de/HybridReverb2;
description = "Reverb effect using hybrid impulse convolution";
license = licenses.gpl2Plus;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "lightdm-mini-greeter-${version}";
version = "0.3.2";
version = "0.3.3";
src = fetchFromGitHub {
owner = "prikhi";
repo = "lightdm-mini-greeter";
rev = version;
sha256 = "1g3lrh034w38hiq96b0xmghmlf87hcycwdh06dwkdksr0hl08wxy";
sha256 = "1xlj5wqagp765rqw40ci4wir21qwyszasynk82x8308k5d3asvwb";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
description = "A minimal, configurable, single-user GTK3 LightDM greeter";
homepage = https://github.com/prikhi/lightdm-mini-greeter;
license = licenses.gpl3;
maintainers = with maintainers; [ mnacamura ];
maintainers = with maintainers; [ mnacamura prikhi ];
platforms = platforms.linux;
};
}

View File

@ -13,9 +13,9 @@ let
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
};
betaVersion = {
version = "3.3.0.13"; # "Android Studio 3.3 Beta 1"
build = "182.5073496";
sha256Hash = "0bg1h0msd6mpkvirkg4pssa1ak32smv2rlxxsjdm3p29p8gg59px";
version = "3.3.0.14"; # "Android Studio 3.3 Beta 2"
build = "182.5078385";
sha256Hash = "10jw508fzxbknfl1l058ksnnli2nav91wmh2x2p0mz96lkf5bvhn";
};
latestVersion = { # canary & dev
version = "3.4.0.1"; # "Android Studio 3.4 Canary 2"

View File

@ -3,14 +3,14 @@
let
versions = {
atom = {
version = "1.32.0";
sha256 = "0dha8zi4gshxj993ns7ybi7q86pfqwzsasrk3a7b5xrdqbrcm5md";
version = "1.32.1";
sha256 = "1x22jbhvagqw9mvq0v7z4z09qp727vl0rkyvaxn98xnj9gvcfkq9";
};
atom-beta = {
version = "1.33.0";
beta = 0;
sha256 = "1x4s12zvfd2gjy7mimndbhs6x9k37jq4dyy6r1mzhwfysix74val";
beta = 1;
sha256 = "0sf98apmb57msgr5p1xly0mffzn2s808nsfsmbisk4qqmm9fv2m3";
};
};

View File

@ -1,10 +1,10 @@
{ stdenv, fetchFromGitHub, fetchpatch, vala, pkgconfig, meson, ninja, python3
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3
, granite, gtk3, desktop-file-utils, gnome3, gtksourceview, webkitgtk, gtkspell3
, discount, gobjectIntrospection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "quilter";
version = "1.6.3";
version = "1.6.8";
name = "${pname}-${version}";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "1wa0i6dgg6fgb7q9z33v9qmn1a1dn3ik58v1f3a49dvd5xyf8q6q";
sha256 = "07i9pivpddgixn1wzbr15gvzf0n5pklx0gkjjaa35kvj2z8k31x5";
};
nativeBuildInputs = [
@ -22,40 +22,19 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook
];
buildInputs = [
discount
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee
granite
gtk3
gtksourceview
gtkspell3
webkitgtk
gnome3.libgee
];
patches = [
# Fix build with vala 0.42 - Drop these in next release
(fetchpatch {
url = "https://github.com/lainsce/quilter/commit/a58838213cd7f2d33048c7b34b96dc8875612624.patch";
sha256 = "1a4w1zql4zfk8scgrrssrm9n3sh5fsc1af5zvrqk8skbv7f2c80n";
})
(fetchpatch {
url = "https://github.com/lainsce/quilter/commit/d1800ce830343a1715bc83da3339816554896be5.patch";
sha256 = "0xl5iz8bgx5661vbbq8qa1wkfvw9d3da67x564ckjfi05zq1vddz";
})
# Correct libMarkdown dependency discovery: See https://github.com/lainsce/quilter/pull/170
(fetchpatch {
url = "https://github.com/lainsce/quilter/commit/8b1f3a60bd14cb86c1c62f9917c5f0c12bc4e459.patch";
sha256 = "1kjc6ygf9yjvqfa4xhzxiava3338swp9wbjhpfaa3pyz3ayh188n";
})
# post_install script cleanups: See https://github.com/lainsce/quilter/pull/171
(fetchpatch {
url = "https://github.com/lainsce/quilter/commit/55bf3b10cd94fcc40b0867bbdb1931a09f577922.patch";
sha256 = "1330amichaif2qfrh4qkxwqbcpr87ipik7vzjbjdm2bv3jz9353r";
})
];
postPatch = ''

View File

@ -129,6 +129,7 @@ let
kontact = callPackage ./kontact.nix {};
kontactinterface = callPackage ./kontactinterface.nix {};
konquest = callPackage ./konquest.nix {};
konqueror = callPackage ./konqueror.nix {};
korganizer = callPackage ./korganizer.nix {};
kpimtextedit = callPackage ./kpimtextedit.nix {};
ksmtp = callPackage ./ksmtp {};

View File

@ -0,0 +1,20 @@
{ lib
, mkDerivation
, extra-cmake-modules, kdoctools
, kdelibs4support, kcmutils, khtml, kdesu
, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland
}:
mkDerivation {
name = "konqueror";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
kdelibs4support kcmutils khtml kdesu
qtwebkit qtwebengine qtx11extras qtscript qtwayland
];
meta = {
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ ];
};
}

View File

@ -0,0 +1,71 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, libuuid
, sane-backends, podofo, libjpeg, djvulibre, libxmlxx3, libzip, tesseract
, enchant, intltool, poppler, json-glib
, ninja
, python3
# Gtk deps
# upstream gImagereader supports Qt too
, gtk3, gobjectIntrospection, wrapGAppsHook
, gnome3, gtkspell3, gtkspellmm, cairomm
}:
let
variant = "gtk";
pythonEnv = python3.withPackages( ps: with ps;[ pygobject3 ] );
in
stdenv.mkDerivation rec {
name = "gImageReader-${version}";
version = "3.2.99";
src = fetchFromGitHub {
owner= "manisandro";
repo = "gImageReader";
rev = "v${version}";
sha256 = "19dbxq83j77lbvi10a8x0xxgw5hbsqyc852c196zzvmwk3km6pnc";
};
nativeBuildInputs = [
cmake ninja
intltool
pkgconfig
pythonEnv
# Gtk specific
wrapGAppsHook
gobjectIntrospection
];
buildInputs = [
enchant
libxmlxx3
libzip
libuuid
sane-backends
podofo
libjpeg
djvulibre
tesseract
poppler
# Gtk specific
gnome3.gtkmm
gtkspell3
gtkspellmm
gnome3.gtksourceview
gnome3.gtksourceviewmm
cairomm
json-glib
];
# interface type can be where <type> is either gtk, qt5, qt4
cmakeFlags = [ "-DINTERFACE_TYPE=${variant}" ];
meta = with stdenv.lib; {
description = "A simple Gtk/Qt front-end to tesseract-ocr";
homepage = https://github.com/manisandro/gImageReader;
license = licenses.gpl3Plus;
maintainers = with maintainers; [teto];
platforms = platforms.linux;
};
}

View File

@ -1,15 +1,15 @@
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre10 }:
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
stdenv.mkDerivation rec {
name = "josm-${version}";
version = "14289";
version = "14382";
src = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "102dph3479qskzf72cpb9139pq9ifka6pzna1c6s5rs2il6mfvsb";
sha256 = "1a2nx9jr1fvw95gdvl9kj3z0cs6ndafm0k4l0lwfx9p9qn4lgzjg";
};
buildInputs = [ jre10 makeWrapper ];
buildInputs = [ jdk11 makeWrapper ];
desktopItem = makeDesktopItem {
name = "josm";
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share/java
cp -v $src $out/share/java/josm.jar
makeWrapper ${jre10}/bin/java $out/bin/josm \
makeWrapper ${jdk11}/bin/java $out/bin/josm \
--add-flags "-jar $out/share/java/josm.jar"
mkdir -p $out/share/applications

View File

@ -1,9 +1,9 @@
{ stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, granite
{ stdenv, fetchFromGitHub, vala_0_40, pkgconfig, meson, ninja, python3, granite
, gtk3, gnome3, gtksourceview, json-glib, gobjectIntrospection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "notejot";
version = "1.4.5";
version = "1.4.7";
name = "${pname}-${version}";
@ -20,11 +20,12 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook
];
buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee
granite
gtk3

View File

@ -42,6 +42,7 @@ in stdenv.mkDerivation {
# XXX I would prefer to include these here, though we will need to file a bug upstream to get that changed.
#"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
#"-DAVRDUDE_PATH=${avrdude}/bin/avrdude"
"-DNANO=OFF"
];
meta = with stdenv.lib; {

View File

@ -64,10 +64,15 @@ stdenv.mkDerivation rec {
(if i3Support || i3GapsSupport then makeWrapper else null)
];
fixupPhase = if (i3Support || i3GapsSupport) then ''
postConfigure = ''
substituteInPlace ../include/settings.hpp --replace \
"${stdenv.cc}" "${stdenv.cc.name}"
'';
postInstall = if (i3Support || i3GapsSupport) then ''
wrapProgram $out/bin/polybar \
--prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
'' else null;
'' else "";
nativeBuildInputs = [
cmake pkgconfig

View File

@ -3,47 +3,51 @@
, gettext
, libxml2
, pkgconfig
, gtk3
, glib
, granite
, gtk3
, gnome3
, cmake
, meson
, ninja
, vala
, elementary-cmake-modules
, gobjectIntrospection
, gsettings-desktop-schemas
, vala_0_40
, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "regextester-${version}";
version = "0.1.7";
version = "1.0.1";
src = fetchFromGitHub {
owner = "artemanufrij";
repo = "regextester";
rev = version;
sha256 = "07shdm10dc7jz2hka5dc51yp81a0dgc47nmkrp6fs6r9wqx0j30n";
sha256 = "1xwwv1hccni1mrbl58f7ly4qfq6738vn24bcbl2q346633cd7kx3";
};
XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
"${granite}/share"
"${gnome3.libgee}/share"
];
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
vala
cmake
meson
ninja
gettext
gobjectIntrospection
libxml2
elementary-cmake-modules
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook
];
buildInputs = [
gtk3
glib
granite
gtk3
gnome3.defaultIconTheme
gnome3.libgee
gsettings-desktop-schemas
];
postInstall = ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
'';
meta = with stdenv.lib; {
description = "A desktop application to test regular expressions interactively";
homepage = https://github.com/artemanufrij/regextester;

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, python3Packages, hackrf, rtl-sdr }:
{ stdenv, fetchFromGitHub, python3Packages
, hackrf, rtl-sdr, airspy, limesuite }:
python3Packages.buildPythonApplication rec {
name = "urh-${version}";
@ -11,7 +12,7 @@ python3Packages.buildPythonApplication rec {
sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c";
};
buildInputs = [ hackrf rtl-sdr ];
buildInputs = [ hackrf rtl-sdr airspy limesuite ];
propagatedBuildInputs = with python3Packages; [
pyqt5 numpy psutil cython pyzmq
];

View File

@ -222,6 +222,8 @@ let
use_gold = true;
gold_path = "${stdenv.cc}/bin";
is_debug = false;
# at least 2X compilation speedup
use_jumbo_build = true;
proprietary_codecs = false;
use_sysroot = false;

View File

@ -11,8 +11,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-alicloud";
version = "1.17.0";
sha256 = "1zmywmcgfmx5ccp0qxj912sqymisxdg2s84b4qclfa225hrbaqpn";
version = "1.21.0";
sha256 = "17853l2s5z1y2g24wdkapdp26hw0sx5w73y118h0px85fiwhkq79";
};
archive =
{
@ -39,15 +39,15 @@
{
owner = "terraform-providers";
repo = "terraform-provider-aws";
version = "1.38.0";
sha256 = "1jhr2l8p7wf7kgr2y0c40n1jb9p2153xkpcp4b2half2vhsh1nwi";
version = "1.42.0";
sha256 = "1wi1m7i6vq53p36x1prax4yaz400834024q494zg0ckk4rvngfp6";
};
azurerm =
{
owner = "terraform-providers";
repo = "terraform-provider-azurerm";
version = "1.15.0";
sha256 = "1pdmj0ww5y2nwxivlf5l886nwd76hpqhwdayab2fp16zyl1qbpfd";
version = "1.17.0";
sha256 = "03sjlqkwy0qa382sjwi21g6h2fz1mpsiqcd4naj5zh76fkp8aslw";
};
azurestack =
{
@ -88,8 +88,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-circonus";
version = "0.1.1";
sha256 = "05n1q9hc0h31icxsmyi2y60wiwd5fs2hz1dqm3bl6hgh5x3ss1im";
version = "0.2.0";
sha256 = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45";
};
clc =
{
@ -102,8 +102,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-cloudflare";
version = "1.5.0";
sha256 = "0l8bmnxmjr2g3xxw8w0ay91cvs4kzc65wkdwybfahvq9r6mww45n";
version = "1.7.0";
sha256 = "0sqq6miwyh6z86b3wq2bhkaj4x39g2nqq784py8nm8gvs06gcm5a";
};
cloudscale =
{
@ -130,22 +130,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-consul";
version = "2.1.0";
sha256 = "1qm29vj8ms37zb4b3bhdv4b4vrl0am134zmc654lb2g582cnj9yw";
version = "2.2.0";
sha256 = "13jwvf7n7238pzvdq9m6vnl9vqa9hkr1mrcf9sa1q9lxkim9ijfk";
};
datadog =
{
owner = "terraform-providers";
repo = "terraform-provider-datadog";
version = "1.3.0";
sha256 = "0d3xccfkzibjp4jl8irja1cdhppdn3b7nh4wy857zvfxpfhz7aj2";
version = "1.4.0";
sha256 = "06ik2k0jkm4200d8njpsidwfjl12ikn5ciqkmlxfwr3b8s1w8kpa";
};
digitalocean =
{
owner = "terraform-providers";
repo = "terraform-provider-digitalocean";
version = "0.1.3";
sha256 = "10crxciw7y2gnm8vqp007vw0k7c1a1xk2z2zsjr5rksk6qlnri4k";
version = "1.0.2";
sha256 = "0ilkdnadzsidq8hia5wk4jyk6034pmajrpkgwf4ryz7kx41vy2g6";
};
dme =
{
@ -172,8 +172,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-docker";
version = "1.0.1";
sha256 = "1q5bsdvp47gvpiyqlzgrpxczlh6m9g870pn84ks49xfkwk5izpz6";
version = "1.1.0";
sha256 = "1ba9z9fd69hpg6kg30nf95zzskzipi74s1aadywc068gfrkdm9jj";
};
dyn =
{
@ -193,15 +193,15 @@
{
owner = "terraform-providers";
repo = "terraform-provider-fastly";
version = "0.3.0";
sha256 = "1hh4s81g256iy1rvp9snqbyhidz8n6p7pzanlxp89ffrq9p32sp0";
version = "0.4.0";
sha256 = "1fkn9b6ibs36cmhknb3x05g31rf73w70xwx05rh9fhybrz5dd9z9";
};
flexibleengine =
{
owner = "terraform-providers";
repo = "terraform-provider-flexibleengine";
version = "1.1.0";
sha256 = "07g6kc211crxf9nvgvghg05jdahd1fb09lpwfcps9ph259pwwam3";
version = "1.2.1";
sha256 = "000v6fmmnwfibzfssk23s9qwrb8a9l0j1qd14x2dqsc7ql0kbnz8";
};
github =
{
@ -221,8 +221,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-google";
version = "1.18.0";
sha256 = "0zwy1imby0xqvb86a82rdvglipf2sfpi3rmsj72iikp7vi3mqk64";
version = "1.19.1";
sha256 = "1n2a1y9103xkndmvr5cvj7i1m8s9lv61vgijgk3m2f73pb4znak0";
};
grafana =
{
@ -235,15 +235,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-hcloud";
version = "1.3.0";
sha256 = "0sb9pajsy0if18vgw5pllgv8qvb4v7pv65m2f3hfkck2za82ndwb";
version = "1.4.0";
sha256 = "00mq6p2y61z4hg9dncf3mj59cp6fx4iqrn86m96wkw346shs6prs";
};
helm =
{
owner = "terraform-providers";
repo = "terraform-provider-helm";
version = "0.6.2";
sha256 = "11j4lpzbrdszgkjf1gjyibh9c5w0fly01qdkrflv98ry5csx9q5b";
};
heroku =
{
owner = "terraform-providers";
repo = "terraform-provider-heroku";
version = "1.4.0";
sha256 = "159a9add5v4dj2bry1b85i74q2lb4pjjypkm5hzrbqys6gn2imhn";
version = "1.5.0";
sha256 = "0hzzhqd87vkcbzndsn15g4nl3qhv2kvnhs9zv6kbxaxm7p7rm3pz";
};
http =
{
@ -284,8 +291,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-kubernetes";
version = "1.2.0";
sha256 = "0slvhj8f7p27r9v4vb5vjyqpmzlpaji1djzwsxsf247df68mka61";
version = "1.3.0";
sha256 = "0fhh0r92whcxqz4z2kb6qx9dyygms5mz7ifhb9c7s2r22jnfz1j3";
};
librato =
{
@ -294,6 +301,13 @@
version = "0.1.0";
sha256 = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923";
};
linode =
{
owner = "terraform-providers";
repo = "terraform-provider-linode";
version = "1.1.0";
sha256 = "19c269w8jjx04a8rhm4x7bg2xad3y0s74wgis446mwaw7mhla3l3";
};
local =
{
owner = "terraform-providers";
@ -340,8 +354,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-newrelic";
version = "1.0.1";
sha256 = "0g4fd2rvx90f2bmjl6jjdvrsx7ayhf30vj9y3mklhxgsd9x83wpq";
version = "1.1.0";
sha256 = "040pxbr4xp0h6s0njdwy0phlkblnk5p3xrcms2gkwyzkqpd82s8b";
};
nomad =
{
@ -371,12 +385,19 @@
version = "1.0.0";
sha256 = "12vpa09xrq8z1pjq0bwzq3889c4fl6c5kvynwqy0z1pdx21m60ha";
};
nutanix =
{
owner = "terraform-providers";
repo = "terraform-provider-nutanix";
version = "1.0.0";
sha256 = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541";
};
oci =
{
owner = "terraform-providers";
repo = "terraform-provider-oci";
version = "3.1.1";
sha256 = "0wrvb44gs0c1khvam5lrq53l2889japg7d4nyk2hrpywy9japc8m";
version = "3.5.0";
sha256 = "0f4m6rahis1n62w0h0amg8sjs5bb3ifnrfzq1dys7r01k5411wcf";
};
oneandone =
{
@ -389,22 +410,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-opc";
version = "1.2.1";
sha256 = "0mnvi47kbdwwpfzdlcd1mhd15w5b0ivwxi1a5lvs0zyqf0g0cas8";
version = "1.3.0";
sha256 = "1ksqjfp6gxgrpc9gcs9jv3wj5058z93h7prv4mhvc2bilal4gc0p";
};
openstack =
{
owner = "terraform-providers";
repo = "terraform-provider-openstack";
version = "1.9.0";
sha256 = "0prmdj78jsyrns876cglfp8a3dbpfl33bwb0dj072flh4yknfrdr";
version = "1.11.0";
sha256 = "1wqb7q10nyr4jy9ny4giazblwhh3qrn4s1f0xb5q702b5igbfwwm";
};
opentelekomcloud =
{
owner = "terraform-providers";
repo = "terraform-provider-opentelekomcloud";
version = "1.1.0";
sha256 = "04pcgygcz2ld5hp7f29j2z3d4ypy4fm4m1zbbs9l9gc3fya88iny";
version = "1.2.0";
sha256 = "05w899l18gmdywfhakjvaxqxxzd9cxga3s932ljfibr0ssipkhh9";
};
opsgenie =
{
@ -431,8 +452,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-packet";
version = "1.2.4";
sha256 = "11ga29d5bzmn6rzlb6sb28nh1zbbwglinzn185pysqx6n21l6wva";
version = "1.2.5";
sha256 = "1c40w1q18piip4fn572mnf67g07h6g03hnin23c7jw265m4yr222";
};
pagerduty =
{
@ -445,8 +466,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-panos";
version = "1.4.0";
sha256 = "033xpglbn0q805b129kf1ywl13m4pgrkwlvgl347nldysryiasxq";
version = "1.4.1";
sha256 = "1mlz01v01675cf9ja8i42c6ssklf65kd8wpjzf0j472lfwki4xpp";
};
postgresql =
{
@ -508,15 +529,15 @@
{
owner = "terraform-providers";
repo = "terraform-provider-runscope";
version = "0.4.0";
sha256 = "1n3q2hdwvkkn5rphrcl5qfv4ry2mrr13dcjwzhbym2i1nhpxkld0";
version = "0.5.0";
sha256 = "0n0m39gaiwhqigjny51a7g36ldik33alimkqqbv6hqyzrhk0qs8h";
};
scaleway =
{
owner = "terraform-providers";
repo = "terraform-provider-scaleway";
version = "1.6.0";
sha256 = "1ykcakfw0gp239jp4brpjynxzzvlhldfpv12hkgymj22s37n5jnn";
version = "1.7.0";
sha256 = "0gsjvpwfw2sc6ncy8v3j6gs0aanq3b08j3gid43687mfd782f4gk";
};
softlayer =
{
@ -553,6 +574,13 @@
version = "1.0.0";
sha256 = "0jl6bp6gwg96sdk5j6s13vv1j9gxjpy2yva3barmzv9138i665mz";
};
tencentcloud =
{
owner = "terraform-providers";
repo = "terraform-provider-tencentcloud";
version = "1.2.2";
sha256 = "1ypsfm48c30szg3zc1sknblhwcnca8aapfgp62bhszyqxq6zq37s";
};
terraform =
{
owner = "terraform-providers";
@ -592,8 +620,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vault";
version = "1.1.4";
sha256 = "00i9rl9pnmicvndkmvcmlj6y80341dmkqnhq09f94yljh1w1zpvv";
version = "1.2.0";
sha256 = "1z92dcr5b665l69gxs1hw1rizc5znvf0ck1lksphd301l2ywk97b";
};
vcd =
{
@ -606,8 +634,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vsphere";
version = "1.8.1";
sha256 = "0y6n7mvv1f3jqsxlvf68iq85k69fj7a333203vkvc83dba84aqki";
version = "1.9.0";
sha256 = "1by9klwvdw3m854jffimfnsz1lnbaixi4zcv4zzs63dc3flwy2b2";
};
matchbox =
{

View File

@ -113,8 +113,8 @@ in rec {
terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
terraform_0_11 = pluggable (generic {
version = "0.11.8";
sha256 = "1kdmx21l32vj5kvkimkx0s5mxgmgkdwlgbin4f3iqjflzip0cddh";
version = "0.11.10";
sha256 = "08mapla89g106bvqr41zfd7l4ki55by6207qlxq9caiha54nx4nb";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View File

@ -56,11 +56,11 @@ let
in stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.17.2";
version = "1.17.3";
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1ibci07w4dh7r0dkwb3nbqm470rgak2a98rlqf8390rxrinfli3p";
sha256 = "1k0gj24562jfj748s7qcn1f7brr1c0zn2dppxvfv2ka2r2n0z1h4";
};
phases = [ "unpackPhase" "installPhase" ];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "tribler-${version}";
version = "7.0.2";
version = "7.1.2";
src = fetchurl {
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
sha256 = "1p0d0l0sa0nrnbyx2gg50nklkljwvl581i9w3z5qbkfzc7jsdy42";
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
};
buildInputs = [
@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
pythonPackages.psutil
pythonPackages.meliae
pythonPackages.sip
pythonPackages.pillow
pythonPackages.networkx
];
postPatch = ''

View File

@ -2,7 +2,7 @@
libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }:
let
version = "1.0.6-1";
version = "1.1.0-1";
description = ''
An application that runs on your computer in the background and seamlessly encrypts
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
sha256 = "1as4xdsik2w9clbrwp1k00491324cg6araz3jq2m013yg1cild28";
sha256 = "0l29z208krnd3dginc203m4p5dlmnxf08vpmbm9xzlckwmswizkb";
};
nativeBuildInputs = [ makeWrapper ];
@ -38,10 +38,10 @@ in stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/{bin,lib,share/applications}
# mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
cp -r usr/lib/protonmail/bridge/Desktop-Bridge{,.sh} $out/lib
# cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
cp ${desktopItem}/share/applications/* $out/share/applications
ln -s $out/lib/Desktop-Bridge $out/bin/Desktop-Bridge

View File

@ -1,9 +1,9 @@
{ stdenv, fetchFromGitHub, fetchpatch, vala, pkgconfig, meson, ninja, python3, granite, gtk3
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3, granite, gtk3
, gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobjectIntrospection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "aesop";
version = "1.0.5";
version = "1.0.7";
name = "${pname}-${version}";
@ -21,11 +21,12 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
vala
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook
];
buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee
granite
gtk3
@ -34,14 +35,6 @@ stdenv.mkDerivation rec {
poppler
];
# Fix build with vala 0.42
patches = [
(fetchpatch {
url = "https://github.com/lainsce/aesop/commit/a90b3c711bd162583533370deb031c2c6254c82d.patch";
sha256 = "1zf831g6sqq3966q0i00x3jhlbfh9blcky6pnyp5qp59hxyxy169";
})
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py

View File

@ -1,46 +1,70 @@
{ stdenv, fetchFromGitHub, vala, pkgconfig, libxml2, cmake, ninja, gtk3, granite, gnome3
, gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, unzip, unar, wrapGAppsHook }:
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, granite, gnome3
, gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "bookworm";
version = "1.0.0";
version = "4f7b118281667d22f1b3205edf0b775341fa49cb";
name = "${pname}-${version}";
name = "${pname}-2018-10-21";
src = fetchFromGitHub {
owner = "babluboy";
repo = pname;
rev = version;
sha256 = "0nv1nxird0s0qfhh8fr82mkj4qimhklw1bwcjwmvjdsvsxxs9520";
sha256 = "0bcyim87zk4b4xmgfs158lnds3y8jg7ppzw54kjpc9rh66fpn3b9";
};
# See: https://github.com/babluboy/bookworm/pull/220
patches = [
(fetchpatch {
url = "https://github.com/worldofpeace/bookworm/commit/b2faf685c46b95d6a2d4ec3725e4e4122b61e99a.patch";
sha256 = "14az86cj5j65hngfflrp1rmnrkdrhg2a8pl7www3jgfwasxay975";
})
];
nativeBuildInputs = [
cmake
bash
gobjectIntrospection
libxml2
meson
ninja
pkgconfig
vala
python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook
];
buildInputs = with gnome3; [
glib
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
granite
gtk3
html2text
libgee
poppler
python2
sqlite
webkitgtk
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
# These programs are expected in PATH from the source code and scripts
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${stdenv.lib.makeBinPath [ unzip unar poppler_utils html2text ]}"
--prefix PATH : "${stdenv.lib.makeBinPath [ unzip unar poppler_utils html2text coreutils curl gnugrep ]}"
--prefix PATH : $out/bin
)
'';
postFixup = ''
patchShebangs $out/share/bookworm/scripts/mobi_lib/*.py
patchShebangs $out/share/bookworm/scripts/tasks/*.sh
'';
meta = with stdenv.lib; {
description = "A simple, focused eBook reader";
longDescription = ''

View File

@ -12,25 +12,27 @@
, ninja
, libgudev
, libevdev
, vala
, libsoup
, vala_0_40
, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "spice-up-${version}";
version = "1.3.2";
version = "1.7.0";
src = fetchFromGitHub {
owner = "Philip-Scott";
repo = "Spice-up";
rev = version;
sha256 = "087cdi7na93pgz7vf046h94v5ydvpiccpwhllq85ix8g4pa5rp85";
sha256 = "1qb1hlw7g581dmgg5mh832ixjkcgqm3lqzj6xma2cz8wdncwwjaq";
};
USER = "nix-build-user";
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
vala
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
cmake
ninja
gettext
@ -38,12 +40,14 @@ stdenv.mkDerivation rec {
gobjectIntrospection # For setup hook
];
buildInputs = [
gtk3
granite
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee
granite
gtk3
json-glib
libgudev
libevdev
libgudev
libsoup
];
meta = with stdenv.lib; {

View File

@ -4,8 +4,8 @@ let
hts-nim = fetchFromGitHub {
owner = "brentp";
repo = "hts-nim";
rev = "9cd83e30522ab64cd71eb8209be4154aa5579ce1";
sha256 = "10g408idy14667varq1syf06rrbpk63i3ib7i5dh1md4ib19av6f";
rev = "v0.2.5";
sha256 = "1fma99rjqxgg9dihkd10hm1jjp5amsk5wsxnvq1lk4mcsjix5xqb";
};
docopt = fetchFromGitHub {
@ -28,7 +28,10 @@ in stdenv.mkDerivation rec {
buildInputs = [ nim ];
buildPhase = "nim -p:${hts-nim}/src -p:${docopt}/src c -d:release mosdepth.nim";
buildPhase = ''
HOME=$TMPDIR
nim -p:${hts-nim}/src -p:${docopt}/src c --nilseqs:on -d:release mosdepth.nim
'';
installPhase = "install -Dt $out/bin mosdepth";
fixupPhase = "patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc htslib pcre ]} $out/bin/mosdepth";

View File

@ -13,11 +13,11 @@ with lib;
stdenv.mkDerivation rec {
name = "kicad-${version}";
series = "5.0";
version = "5.0.0";
version = "5.0.1";
src = fetchurl {
url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
sha256 = "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p";
sha256 = "0skig2wdxxc2677m8a8m1xrg3pkhqiqnmkcyr2hv0b2j30rzdr2z";
};
postPatch = ''

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "z3-${version}";
version = "4.7.1";
version = "4.8.1";
src = fetchFromGitHub {
owner = "Z3Prover";
repo = "z3";
rev = "3b1b82bef05a1b5fd69ece79c80a95fb6d72a990";
sha256 = "1s850r6qifwl83zzgvrb5l0jigvmymzpv18ph71hg2bcpk7kjw3d";
rev = name;
sha256 = "1vr57bwx40sd5riijyrhy70i2wnv9xrdihf6y5zdz56yq88rl48f";
};
buildInputs = [ python fixDarwinDylibNames ];

View File

@ -7,49 +7,39 @@
, gnome3
, cmake
, ninja
, vala
, vala_0_40
, libqalculate
, gobjectIntrospection
, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "nasc-${version}";
version = "0.4.7";
version = "0.5.0";
src = fetchFromGitHub {
owner = "parnold-x";
repo = "nasc";
rev = version;
sha256 = "0p74953pdgsijvqj3msssqiwm6sc1hzp68dlmjamqrqirwgqv5aa";
sha256 = "1rrp3djsv7lrgsqjn7x50msv0c5ffhz90lj1v11di0kp05m6q9j9";
};
patches = [
# Install libqalculatenasc.so
(fetchpatch {
url = https://github.com/parnold-x/nasc/commit/93a799f9afb3e32f3f1a54e056b59570aae2e437.patch;
sha256 = "1m32w2zaswzxnzbr7p3lf8s6fac4mjvfhm8v9k59b4jyzmvrl631";
})
(fetchpatch {
url = https://github.com/parnold-x/nasc/commit/570b49169326de154af2cf43c5f12268fff1dc6d.patch;
sha256 = "1y3w6rxn0453iscx2xg427wy1bd5kv4z1c41hhbjmg614ycp6bka";
})
];
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
vala
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
cmake
ninja
gobjectIntrospection # for setup-hook
];
buildInputs = [
libqalculate
gtk3
granite
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.gtksourceview
gnome3.libgee
gnome3.libsoup
gnome3.gtksourceview
granite
gtk3
libqalculate
];
meta = with stdenv.lib; {

View File

@ -18,13 +18,13 @@ in
stdenv.mkDerivation rec {
name = "simgrid-${version}";
version = "3.20";
version = "3.21";
src = fetchFromGitHub {
owner = "simgrid";
repo = "simgrid";
rev = "v${version}";
sha256 = "0xb20qhvsah2dz2hvn850i3w9a5ghsbcx8vka2ap6xsdkxf593gy";
rev = "v${replaceChars ["."] ["_"] version}";
sha256 = "1v0dwlww2wl56ms8lvg5zwffzbmz3sjzpkqc73f714mrc9g02bxs";
};
nativeBuildInputs = [ cmake perl python3 boost valgrind ]
@ -107,6 +107,6 @@ stdenv.mkDerivation rec {
homepage = http://simgrid.gforge.inria.fr/;
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ mickours ];
platforms = platforms.x86_64;
platforms = ["x86_64-linux"];
};
}

View File

@ -1,6 +1,6 @@
{ stdenv, buildGo19Package, fetchFromGitHub, curl, libgit2_0_27, ncurses, pkgconfig, readline }:
let
version = "0.2.0";
version = "0.3.0";
in
buildGo19Package {
name = "grv-${version}";
@ -14,10 +14,14 @@ buildGo19Package {
owner = "rgburke";
repo = "grv";
rev = "v${version}";
sha256 = "0hlqw6b51jglqzzjgazncckpgarp25ghshl0lxv1mff80jg8wd1a";
sha256 = "00v502mwnpv09l7fsbq3s72i5fz5dxbildwxgw0r8zzf6d54xrgl";
fetchSubmodules = true;
};
postPatch = ''
rm util/update_latest_release.go
'';
buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ];
meta = with stdenv.lib; {

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "hub-${version}";
version = "2.5.1";
version = "2.6.0";
goPackagePath = "github.com/github/hub";
@ -10,10 +10,11 @@ buildGoPackage rec {
owner = "github";
repo = "hub";
rev = "v${version}";
sha256 = "0a5i351v998vdwf883qhh39c15x56db01fr9hscz4ha7r9550pqg";
sha256 = "0hxmbpyv2yjxg4v3z50x5ikgcz7mgv5prya8jcpi277vq2s0wwa1";
};
buildInputs = [ groff ronn ruby utillinux ] ++
nativeBuildInputs = [ groff ronn utillinux ];
buildInputs = [ ruby ] ++
stdenv.lib.optional stdenv.isDarwin Security;
postPatch = ''
@ -29,7 +30,7 @@ buildGoPackage rec {
install -D etc/hub.fish_completion "$bin/share/fish/vendor_completions.d/hub.fish"
make man-pages
cp -r share/man $bin/share/man
cp -vr --parents share/man/man[1-9]/*.[1-9] $bin/
'';
meta = with stdenv.lib; {

View File

@ -11,29 +11,29 @@ let
groups = [ "default" "unicorn" "ed25519" "metrics" ];
};
version = "11.4.3";
version = "11.4.4";
sources = if gitlabEnterprise then {
gitlabDeb = fetchurl {
url = "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_${version}-ee.0_amd64.deb/download.deb";
sha256 = "1cw75qj508z6n00rqgqjzdm2013kyb7c57cypmq0m08nc6f3jspz";
sha256 = "15lpcdjcw6lpmzlhqnpd6pgaxh7wvx2mldjd1vqr414r4bcnhgy4";
};
gitlab = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-ee";
rev = "v${version}-ee";
sha256 = "1vqc77whpbsifbm9vgcmpxnw13v8jz1s9q04i8jfv99c59fjlids";
sha256 = "046hchr7q4jnx3j4yxg3rdixfzlva35al3ci26pf9vxrbbl5y8cg";
};
} else {
gitlabDeb = fetchurl {
url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_${version}-ce.0_amd64.deb/download.deb";
sha256 = "0vk03k42pp92h520wnynl9czcigjhj9m7y68z1x0gwqr9m61r7zm";
sha256 = "02p7azyjgb984bk491q6f4zk1mikbcd38rif08kl07bjjzzkir81";
};
gitlab = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-ce";
rev = "v${version}";
sha256 = "1zvjz2gv2vwqqjz52zcvi0ap3d8rdbpgsqk9wv80hqq4v37a5gfx";
sha256 = "1hq9iyp0xrxwmncn61ja3pdj9h2hmdy1l63d1ic3r1dyacybaf2g";
};
};
@ -63,17 +63,7 @@ stdenv.mkDerivation rec {
--replace "ps -U" "${procps}/bin/ps -U"
sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
# required for some gems:
cat > config/database.yml <<EOF
production:
adapter: <%= ENV["GITLAB_DATABASE_ADAPTER"] || sqlite %>
database: gitlab
host: <%= ENV["GITLAB_DATABASE_HOST"] || "127.0.0.1" %>
password: <%= ENV["GITLAB_DATABASE_PASSWORD"] || "blerg" %>
username: gitlab
encoding: utf8
EOF
sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb
'';
buildPhase = ''

View File

@ -7,7 +7,16 @@ gatherLibraries() {
addEnvHooks "$targetOffset" gatherLibraries
isExecutable() {
readelf -h "$1" 2> /dev/null | grep -q '^ *Type: *EXEC\>'
# For dynamically linked ELF files it would be enough to check just for the
# INTERP section. However, we won't catch statically linked executables as
# they only have an ELF type of EXEC but no INTERP.
#
# So what we do here is just check whether *either* the ELF type is EXEC
# *or* there is an INTERP section. This also catches position-independent
# executables, as they typically have an INTERP section but their ELF type
# is DYN.
LANG=C readelf -h -l "$1" 2> /dev/null \
| grep -q '^ *Type: *EXEC\>\|^ *INTERP\>'
}
# We cache dependencies so that we don't need to search through all of them on
@ -157,7 +166,7 @@ autoPatchelf() {
isELF "$file" || continue
if isExecutable "$file"; then
# Skip if the executable is statically linked.
readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
LANG=C readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
fi
autoPatchelfFile "$file"
done < <(find "$prefix" -type f -print0)

View File

@ -1,18 +1,18 @@
{stdenv, fetchzip}:
let
version = "2.004";
version = "3.001";
in fetchzip rec {
name = "comfortaa-${version}";
url = "http://openfontlibrary.org/assets/downloads/comfortaa/38318a69b56162733bf82bc0170b7521/comfortaa.zip";
url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip";
postFetch = ''
mkdir -p $out/share/fonts $out/share/doc
unzip -l $downloadedFile
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name}
'';
sha256 = "1gnscf3kw9p5gbc5594a22cc6nmiir9mhp1nl3mkbzd4v1jfbh2h";
sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h";
meta = with stdenv.lib; {
homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949;

View File

@ -1,11 +1,11 @@
{stdenv, fetchzip}:
let
version = "2014-11-11";
version = "2016-06-23";
in fetchzip {
name = "open-dyslexic-${version}";
url = https://github.com/antijingoist/open-dyslexic/archive/f4b5ba89018b44d633608907e15f93fb3fabbabc.zip;
url = https://github.com/antijingoist/open-dyslexic/archive/20160623-Stable.zip;
postFetch = ''
mkdir -p $out/share/{doc,fonts}
@ -13,7 +13,7 @@ in fetchzip {
unzip -j $downloadedFile \*/README.md -d $out/share/doc/open-dyslexic
'';
sha256 = "045xc7kj56q4ygnjppm8f8fwqqvf21x1piabm4nh8hwgly42a3w2";
sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi";
meta = with stdenv.lib; {
homepage = https://opendyslexic.org/;

View File

@ -1,7 +1,7 @@
{ stdenv, fetchzip }:
let
version = "3.0.2";
version = "3.0.3";
in fetchzip rec {
name = "overpass-${version}";
@ -12,7 +12,7 @@ in fetchzip rec {
mkdir -p $out/share/doc/${name} ; unzip -j $downloadedFile \*.md -d $out/share/doc/${name}
'';
sha256 = "05zv3zcfc9a707sn3hhf46b126k19d9byzvi5ixp5y2548vjvl6s";
sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg";
meta = with stdenv.lib; {
homepage = http://overpassfont.org/;

View File

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/420a405e4dbccd78b2a471b632b9fe1a1e04502b.tar.gz";
sha256 = "01vdbp1yh2s0afijz9ap4590mlpiica7l6k0mpfc0jwzymn9w86n";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/98ec0eee2ddef5d4a00e2ac4a95e8add46d23b69.tar.gz";
sha256 = "0svcaaflqi5c815z3yrh61bjny1jnwp42sylmsnwryjldqvizc1a";
}

View File

@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
license = licenses.mit;
maintainers = with maintainers; [ ashalkhakov matthewbauer ];
platforms = platforms.unix;
badPlatforms = [ "aarch64-linux" ];
};
}

View File

@ -1,17 +1,57 @@
{ stdenv, buildPythonPackage, fetchPypi
{ stdenv, lib, buildPythonApplication, fetchFromGitHub
, bottle, click, colorama
, lockfile, pyserial, requests
, semantic-version
, pytest, semantic-version, tox
, git
}:
buildPythonPackage rec {
pname = "platformio";
version = "3.5.3";
let
args = lib.concatStringsSep " " ((map (e: "--deselect tests/${e}") [
"commands/test_ci.py::test_ci_boards"
"commands/test_ci.py::test_ci_project_conf"
"commands/test_ci.py::test_ci_lib_and_board"
"commands/test_init.py::test_init_enable_auto_uploading"
"commands/test_init.py::test_init_custom_framework"
"commands/test_init.py::test_init_incorrect_board"
"commands/test_init.py::test_init_ide_atom"
"commands/test_init.py::test_init_ide_eclipse"
"commands/test_init.py::test_init_duplicated_boards"
"commands/test_init.py::test_init_special_board"
"commands/test_lib.py::test_search"
"commands/test_lib.py::test_install_duplicates"
"commands/test_lib.py::test_global_lib_update_check"
"commands/test_lib.py::test_global_lib_update"
"commands/test_lib.py::test_global_lib_uninstall"
"commands/test_lib.py::test_lib_show"
"commands/test_lib.py::test_lib_stats"
"commands/test_lib.py::test_global_install_registry"
"commands/test_lib.py::test_global_install_archive"
"commands/test_lib.py::test_global_install_repository"
"commands/test_lib.py::test_global_lib_list"
"commands/test_test.py::test_local_env"
"test_builder.py::test_build_flags"
"test_builder.py::test_build_unflags"
"test_misc.py::test_api_cache"
"test_misc.py::test_ping_internet_ips"
"test_pkgmanifest.py::test_packages"
]) ++ (map (e: "--ignore=tests/${e}") [
"commands/test_boards.py"
"commands/test_platform.py"
"commands/test_update.py"
"test_maintenance.py"
"test_ino2cpp.py"
]));
src = fetchPypi {
inherit pname version;
sha256 = "1l4s2xh1p9h767amk9zapzivz4irl2y3kff3dna6icvsgq6rz011";
in buildPythonApplication rec {
pname = "platformio";
version = "3.6.1";
# pypi tarball doesn't contain tests
src = fetchFromGitHub {
owner = "platformio";
repo = "platformio-core";
rev = "v${version}";
sha256 = "01xz9figqrzb0m9467q14lg51vmgq0hbaap0xdx08n5v2ycmzj0v";
};
propagatedBuildInputs = [
@ -19,12 +59,25 @@ buildPythonPackage rec {
pyserial requests semantic-version
];
HOME = "/tmp";
checkInputs = [ pytest tox ];
checkPhase = ''
runHook preCheck
py.test -v tests ${args}
runHook postCheck
'';
patches = [ ./fix-searchpath.patch ];
meta = with stdenv.lib; {
broken = stdenv.isAarch64;
description = "An open source ecosystem for IoT development";
homepage = http://platformio.org;
maintainers = with maintainers; [ mog makefu ];
license = licenses.asl20;
maintainers = with maintainers; [ mog makefu ];
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "closure-compiler-${version}";
version = "20180805";
version = "20180910";
src = fetchurl {
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
sha256 = "1jis9ykbbynq6pa8sl1jy8888l2bk9g4xsiiiab51zn62shqnq26";
sha256 = "12k4cp9f8g03k3zf2g70pn6ybx8gk0hfh81ypiyb5hkfij95bi9k";
};
sourceRoot = ".";

View File

@ -149,8 +149,7 @@ let
};
};
in {
in rec {
cudatoolkit_6 = common {
version = "6.0.37";
url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
@ -199,8 +198,8 @@ in {
gcc = gcc6;
};
cudatoolkit_9 = common {
version = "9.1.85.1";
cudatoolkit_9_1 = common {
version = "9.1.85.3";
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux";
sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4";
runPatches = [
@ -208,9 +207,40 @@ in {
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux";
sha256 = "1f53ij5nb7g0vb5pcpaqvkaj1x4mfq3l0mhkfnqbk8sfrvby775g";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/2/cuda_9.1.85.2_linux";
sha256 = "16g0w09h3bqmas4hy1m0y6j5ffyharslw52fn25gql57bfihg7ym";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/3/cuda_9.1.85.3_linux";
sha256 = "12mcv6f8z33z8y41ja8bv5p5iqhv2vx91mv3b5z6fcj7iqv98422";
})
];
gcc = gcc6;
};
}
cudatoolkit_9_2 = common {
version = "9.2.148.1";
url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux";
sha256 = "04c6v9b50l4awsf9w9zj5vnxvmc0hk0ypcfjksbh4vnzrz14wigm";
runPatches = [
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux";
sha256 = "1kx6l4yzsamk6q1f4vllcpywhbfr2j5wfl4h5zx8v6dgfpsjm2lw";
})
];
gcc = gcc6;
};
cudatoolkit_9 = cudatoolkit_9_2;
cudatoolkit_10_0 = common {
version = "10.0.130";
url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux";
sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj";
gcc = gcc6;
};
cudatoolkit_10 = cudatoolkit_10_0;
}

View File

@ -1,14 +1,14 @@
# based on https://github.com/nim-lang/Nim/blob/v0.18.0/.travis.yml
{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-8_x, openssl, pcre, readline, sqlite, boehmgc, sfml, tzdata, coreutils }:
{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-10_x, openssl, pcre, readline, boehmgc, sfml, tzdata, coreutils }:
stdenv.mkDerivation rec {
name = "nim-${version}";
version = "0.18.0";
version = "0.19.0";
src = fetchurl {
url = "https://nim-lang.org/download/${name}.tar.xz";
sha256 = "45c74adb35f08dfa9add1112ae17330e5d902ebb4a36e7046caee8b79e6f3bd0";
sha256 = "0biwvw1gividp5lkf0daq1wp9v6ms4xy6dkf5zj0sn9w4m3n76d1";
};
doCheck = !stdenv.isDarwin;
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
"-lcrypto"
"-lpcre"
"-lreadline"
"-lsqlite3"
"-lgc"
];
@ -28,12 +27,21 @@ stdenv.mkDerivation rec {
# used for bootstrapping, but koch insists on moving the nim compiler around
# as part of building it, so it cannot be read-only
buildInputs = [
makeWrapper nodejs-slim-8_x tzdata coreutils
openssl pcre readline sqlite boehmgc sfml
nativeBuildInputs = [
makeWrapper nodejs-slim-10_x tzdata coreutils
];
buildInputs = [
openssl pcre readline boehmgc sfml
];
phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" "checkPhase" ];
buildPhase = ''
# use $CC to trigger the linker since calling ld in build.sh causes an error
LD=$CC
# build.sh wants to write to $HOME/.cache
HOME=$TMPDIR
sh build.sh
./bin/nim c koch
./koch boot -d:release \
@ -51,33 +59,24 @@ stdenv.mkDerivation rec {
--suffix PATH : ${lib.makeBinPath [ stdenv.cc ]}
'';
postPatch =
patchPhase =
let disableTest = ''sed -i '1i discard \"\"\"\n disabled: true\n\"\"\"\n\n' '';
disableStdLibTest = ''sed -i -e '/^when isMainModule/,/^END$/{s/^/#/}' '';
disableCompile = ''sed -i -e 's/^/#/' '';
in ''
substituteInPlace ./tests/async/tioselectors.nim --replace "/bin/sleep" "sleep"
substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin"
substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
# disable supposedly broken tests
${disableTest} ./tests/errmsgs/tproper_stacktrace2.nim
${disableTest} ./tests/vm/trgba.nim
# disable tests requiring network access (not available in the build container)
${disableTest} ./tests/stdlib/thttpclient.nim
${disableTest} ./tests/cpp/tasync_cpp.nim
${disableTest} ./tests/niminaction/Chapter7/Tweeter/src/tweeter.nim
# disable tests requiring un-downloadable dependencies (using nimble, which isn't available in the fetch phase)
${disableCompile} ./tests/manyloc/keineschweine/keineschweine.nim
${disableTest} ./tests/manyloc/keineschweine/keineschweine.nim
${disableCompile} ./tests/manyloc/nake/nakefile.nim
${disableTest} ./tests/manyloc/nake/nakefile.nim
${disableCompile} ./tests/manyloc/named_argument_bug/main.nim
${disableTest} ./tests/manyloc/named_argument_bug/main.nim
'' + lib.optionalString stdenv.isAarch64 ''
# disable test supposedly broken on aarch64
${disableStdLibTest} ./lib/pure/stats.nim
'';
checkPhase = ''
PATH=$PATH:$out/bin
./koch tests
'';

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
{ stdenv, lib, fetchurl, bash, cpio, autoconf, pkgconfig, file, which, unzip, zip, cups, freetype
, alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
, libjpeg, giflib
@ -10,31 +10,30 @@
let
/**
* The JRE libraries are in directories that depend on the CPU.
* The JDK libraries are in directories that depend on the CPU.
*/
architecture =
if stdenv.hostPlatform.system == "i686-linux" then
"i386"
else "amd64";
update = "10.0.2";
major = "11";
update = ".0.1";
build = "13";
repover = "jdk-${update}+${build}";
repover = "jdk-${major}${update}+${build}";
paxflags = if stdenv.isi686 then "msp" else "m";
openjdk10 = stdenv.mkDerivation {
name = "openjdk-${update}-b${build}";
openjdk = stdenv.mkDerivation {
name = "openjdk-${major}${update}-b${build}";
src = fetchurl {
url = "http://hg.openjdk.java.net/jdk-updates/jdk10u/archive/${repover}.tar.gz";
sha256 = "0y7hyzgvn6z8gyp3h9xvxwj6zda899y6i629jn6yxqzj96q56jpk";
url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz";
sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm";
};
outputs = [ "out" "jre" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
autoconf cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr lndir fontconfig
] ++ lib.optionals (!minimal && enableGnome2) [
@ -55,12 +54,11 @@ let
configureFlagsArray=(
"--with-boot-jdk=${bootjdk.home}"
"--with-update-version=${update}"
"--with-update-version=${major}${update}"
"--with-build-number=${build}"
"--with-milestone=fcs"
"--enable-unlimited-crypto"
"--disable-debug-symbols"
"--disable-freetype-bundling"
"--with-zlib=system"
"--with-giflib=system"
"--with-stdc++lib=dynamic"
@ -86,7 +84,7 @@ let
buildFlags = [ "all" ];
installPhase = ''
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
mkdir -p $out/lib/openjdk $out/share
cp -av build/*/images/jdk/* $out/lib/openjdk
@ -101,57 +99,29 @@ let
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
# Copy the JRE to a separate output and setup fallback fonts
cp -av build/*/images/jre $jre/lib/openjdk/
mkdir $out/lib/openjdk/jre
${lib.optionalString (!minimal) ''
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
''}
# Remove crap from the installation.
rm -rf $out/lib/openjdk/demo
${lib.optionalString minimal ''
for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do
rm ''${d}/{libjsound,libjsoundalsa,libfontmanager}.so
done
rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
''}
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
# Set PaX markings
exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
exes=$(file $out/lib/openjdk/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
echo "to mark: *$exes*"
for file in $exes; do
echo "marking *$file*"
paxmark ${paxflags} "$file"
done
# Remove duplicate binaries.
for i in $(cd $out/lib/openjdk/bin && echo *); do
if [ "$i" = java ]; then continue; fi
if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
fi
done
ln -s $out/lib/openjdk/bin $out/bin
ln -s $jre/lib/openjdk/jre/bin $jre/bin
ln -s $jre/lib/openjdk/jre $out/jre
'';
# FIXME: this is unnecessary once the multiple-outputs branch is merged.
preFixup = ''
prefix=$jre stripDirs "$STRIP" "$stripDebugList" "''${stripDebugFlags:--S}"
patchELF $jre
propagatedBuildInputs+=" $jre"
# Propagate the setJavaClassPath setup hook from the JRE so that
# any package that depends on the JRE has $CLASSPATH set up
# properly.
mkdir -p $jre/nix-support
# Propagate the setJavaClassPath setup hook so that any package
# that depends on the JDK has $CLASSPATH set up properly.
mkdir -p $out/nix-support
#TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs
echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
@ -196,7 +166,7 @@ let
passthru = {
inherit architecture;
home = "${openjdk10}/lib/openjdk";
home = "${openjdk}/lib/openjdk";
};
};
in openjdk10
in openjdk

View File

@ -16,12 +16,12 @@ let
src = if stdenv.hostPlatform.system == "x86_64-linux" then
(if version == "10" then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2"
else if version == "8" then fetchboot "8" "x86_64" "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks"
else throw "No bootstrap for version")
else throw "No bootstrap jdk for version ${version}")
else if stdenv.hostPlatform.system == "i686-linux" then
(if version == "10" then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7"
else if version == "8" then fetchboot "8" "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9"
else throw "No bootstrap for version")
else throw "No bootstrap for system";
else throw "No bootstrap jdk for system ${stdenv.hostPlatform.system}";
bootstrap = runCommand "openjdk-bootstrap" {
passthru.home = "${bootstrap}/lib/openjdk";

View File

@ -6,13 +6,13 @@ let
sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
};
jdk = stdenv.mkDerivation {
name = "zulu10.3+5-jdk10";
jdk = stdenv.mkDerivation rec {
name = "zulu11.2.3-jdk11.0.1";
src = fetchurl {
url = https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.zip;
sha256 = "05pxfjn8fqw6ddr8m5hzyphwzqgrq8w6b4h3lwc1s7ymh05xmspz";
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
};
buildInputs = [ unzip freetype ];
@ -34,8 +34,8 @@ let
'';
preFixup = ''
# Propagate the setJavaClassPath setup hook from the JRE so that
# any package that depends on the JRE has $CLASSPATH set up
# Propagate the setJavaClassPath setup hook from the JDK so that
# any package that depends on the JDK has $CLASSPATH set up
# properly.
mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
@ -49,7 +49,6 @@ let
'';
passthru = {
jre = jdk;
home = jdk;
};

View File

@ -1,156 +0,0 @@
{ swingSupport ? true
, stdenv
, requireFile
, makeWrapper
, file
, xorg ? null
, packageType ? "JDK" # JDK, JRE, or ServerJRE
, glib
, libxml2
, ffmpeg_2
, libxslt
, libGL
, freetype
, fontconfig
, gtk2
, pango
, cairo
, alsaLib
, atk
, gdk_pixbuf
, zlib
, elfutils
, setJavaClassPath
}:
assert swingSupport -> xorg != null;
let
version = "10.0.2";
downloadUrlBase = http://www.oracle.com/technetwork/java/javase/downloads;
rSubPaths = [
"lib/jli"
"lib/server"
"lib"
];
in
let result = stdenv.mkDerivation rec {
name = if packageType == "JDK" then "oraclejdk-${version}"
else if packageType == "JRE" then "oraclejre-${version}"
else if packageType == "ServerJRE" then "oracleserverjre-${version}"
else abort "unknown package Type ${packageType}";
src =
if packageType == "JDK" then
requireFile {
name = "jdk-${version}_linux-x64_bin.tar.gz";
url = "${downloadUrlBase}/jdk10-downloads-4416644.html";
sha256 = "0arpzac64apji1s8d0gzizkvrjz0fbhz7l34af1j0365ac6w4cv6";
}
else if packageType == "JRE" then
requireFile {
name = "jre-${version}_linux-x64_bin.tar.gz";
url = "${downloadUrlBase}/jre10-downloads-4417026.html";
sha256 = "0pc4a0a3fl6874vfaflf6jvpm9da647vp41pj0hihkspjyjhjabx";
}
else if packageType == "ServerJRE" then
requireFile {
name = "serverjre-${version}_linux-x64_bin.tar.gz";
url = "${downloadUrlBase}/sjre10-downloads-4417025.html";
sha256 = "0hbcb4c6ncy0sbz02gyygyqcwkz0xpv4fwrx4sripia6vph9592c";
}
else abort "unknown package Type ${packageType}";
nativeBuildInputs = [ file ];
buildInputs = [ makeWrapper ];
# See: https://github.com/NixOS/patchelf/issues/10
dontStrip = 1;
installPhase = ''
cd ..
# Set PaX markings
exes=$(file $sourceRoot/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
for file in $exes; do
paxmark m "$file"
# On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''}
done
mv $sourceRoot $out
shopt -s extglob
for file in $out/*
do
if test -f $file ; then
rm $file
fi
done
if test -z "$pluginSupport"; then
rm -f $out/bin/javaws
fi
mkdir $out/lib/plugins
ln -s $out/lib/libnpjp2.so $out/lib/plugins
# for backward compatibility
ln -s $out $out/jre
mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
EOF
'';
postFixup = ''
rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$out/${a}") rSubPaths)}"
# set all the dynamic linkers
find $out -type f -perm -0100 \
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$rpath" {} \;
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
# Oracle Java Mission Control needs to know where libgtk-x11 and related is
if test -x $out/bin/jmc; then
wrapProgram "$out/bin/jmc" \
--suffix-each LD_LIBRARY_PATH ':' "$rpath"
fi
'';
/**
* libXt is only needed on amd64
*/
libraries =
[stdenv.cc.libc glib libxml2 ffmpeg_2 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk zlib elfutils] ++
(if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc] else []);
rpath = stdenv.lib.strings.makeLibraryPath libraries;
passthru.mozillaPlugin = "/lib/plugins";
passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package
passthru.home = result;
# for backward compatibility
passthru.architecture = "";
meta = with stdenv.lib; {
license = licenses.unfree;
platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms
knownVulnerabilities = [ "Support ended in September 2018. Use OpenJDK or JDK 8." ];
};
}; in result

View File

@ -5,17 +5,20 @@
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
, texinfo
}:
stdenv.mkDerivation rec {
name = "sbcl-${version}";
version = "1.4.12";
version = "1.4.13";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a";
sha256 = "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm";
};
buildInputs = [texinfo];
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
echo "
@ -46,11 +49,6 @@ stdenv.mkDerivation rec {
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
@ -83,6 +81,7 @@ stdenv.mkDerivation rec {
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
(cd doc/manual ; make info)
'';
installPhase = ''

View File

@ -32,11 +32,10 @@
, makeWrapper
, gnumake
, file
#, systemtap
}:
let
v_base = "4.1.3";
v_base = "4.2.1";
version = "${v_base}-RELEASE";
version_friendly = "${v_base}";
@ -54,15 +53,15 @@ let
# For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
clang = fetch {
repo = "swift-clang";
sha256 = "0j8bi6jv4m4hqiib02q5cvnxd9j6bwiri853x6px86vai3mdff0h";
sha256 = "0l6w4xzpl3w2nax9a0b885nfzhfj38p2g99158nb5bzfd4s0man7";
};
llvm = fetch {
repo = "swift-llvm";
sha256 = "0q5cv4iydm8c1kcax32573y3q2cbpihwgj5aa8ws1fnpy4jvq934";
sha256 = "1664zwxbq0a1cmxr9n5a0vw6vdk6ygr7rpglpdsfc7ki857vpsyv";
};
compilerrt = fetch {
repo = "swift-compiler-rt";
sha256 = "1wkymmxi2v759xkwlzfrq9rivndjfvp6ikrzz10mvvrvyvrgwqnl";
sha256 = "19s6qxn4i0kxpf39xjp2i7zg427iinbmaxqkbb1p91g616y367sf";
};
cmark = fetch {
repo = "swift-cmark";
@ -70,32 +69,32 @@ let
};
lldb = fetch {
repo = "swift-lldb";
sha256 = "1d0pa7xm289bjb6r52hkkmlngkqkwbwgixnmm30bin2q18mkxk7s";
sha256 = "00kz0xhj1p6ckyandj2gs1yfl29kxv84x9pfph00r8crbkd2jz7b";
};
llbuild = fetch {
repo = "swift-llbuild";
sha256 = "04y0ihfyam2n671vmpk9gy0gb9lb3ivh6mr19862p5kg5bmrcic1";
sha256 = "1mkkhydshhxr28igbldzr0hhqvb6ql43cpf3ba5vglfkbcz6wh6q";
};
pm = fetch {
repo = "swift-package-manager";
sha256 = "08d87fc29qq7m92jaxkiczsa7b567pwbibiwwkzdrj6a0gr11qn3";
sha256 = "1aqvmgq9g5zs4k2qnkvw3h3mar66d690hqq6g2dmrapsyb321j9l";
};
xctest = fetch {
repo = "swift-corelibs-xctest";
sha256 = "1alkgxx8jsr2jjv2kchnjaaddb1byjwim015m1z3qxh6lknqm0k5";
sha256 = "1n4w7bfgy73vjzbvbphlwayy0dw73bbrayrpkqq8lbidg0x9lam8";
};
foundation = fetch {
repo = "swift-corelibs-foundation";
sha256 = "1bhrag63rmz41bg2g6ap01qrdpq37hislgf5hg6myy2v69q7mahx";
sha256 = "1bfnkj8s3v327cy0czkngz0ryzmz7amjzkkxbsg2zyrhf9a9f0f7";
};
libdispatch = fetch {
repo = "swift-corelibs-libdispatch";
sha256 = "198vskbajch8s168a649qz5an92i2mxmmmzcjlgxlzh38fgxri0n";
sha256 = "0fibrx54nbaawhsgd7cbr356ji9qvf8y8ahd5bdx28fpj6q0cnwc";
fetchSubmodules = true;
};
swift = fetch {
repo = "swift";
sha256 = "1ydx11pkvaasgjbr29lnha0lpnak758gd5l0aqzmp3q6mcyvfm7a";
sha256 = "0y277wi0m6zp1yph9s14mmc65m21q5fm6lgzkn2rkrbaz25fdzak";
};
};
@ -111,7 +110,6 @@ let
ncurses
sqlite
swig
# systemtap?
];
cmakeFlags = [
@ -215,8 +213,11 @@ stdenv.mkDerivation rec {
substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
substituteInPlace swift-corelibs-libdispatch/src/CMakeLists.txt \
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
substituteInPlace swift/utils/build-script-impl \
--replace '/usr/include/c++' "${clang.cc.gcc}/include/c++"
patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch}
'' + stdenv.lib.optionalString stdenv.needsPax ''
patch -p1 -d swift -i ${./patches/build-script-pax.patch}
'' + ''
@ -228,24 +229,24 @@ stdenv.mkDerivation rec {
-e 's/^test-installable-package$/# \0/' \
-e 's/^test$/# \0/' \
-e 's/^validation-test$/# \0/' \
-e 's/^long-test$/# \0/'
-e 's/^long-test$/# \0/' \
-e 's/^stress-test$/# \0/' \
-e 's/^test-optimized$/# \0/'
# https://bugs.swift.org/browse/SR-5779
sed -i -e 's|"-latomic"|"-Wl,-rpath,${clang.cc.gcc.lib}/lib" "-L${clang.cc.gcc.lib}/lib" "-latomic"|' swift/cmake/modules/AddSwift.cmake
substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
--replace ' addPathIfExists(D, SysRoot + "/usr/lib", Paths);' \
' addPathIfExists(D, SysRoot + "/usr/lib", Paths); addPathIfExists(D, "${glibc}/lib", Paths);'
--replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
patch -p1 -d clang -i ${./patches/llvm-include-dirs.patch}
patch -p1 -d clang -i ${./purity.patch}
# Workaround hardcoded dep on "libcurses" (vs "libncurses"):
sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt
# This test fails on one of my machines, not sure why.
# Disabling for now.
rm llbuild/tests/Examples/buildsystem-capi.llbuild
PREFIX=''${out/#\/}
substituteInPlace swift-corelibs-foundation/build.py \
--replace usr/lib "$PREFIX/lib"
substituteInPlace swift-corelibs-xctest/build_script.py \
--replace usr "$PREFIX"
substituteInPlace swiftpm/Utilities/bootstrap \
@ -263,6 +264,7 @@ stdenv.mkDerivation rec {
# Extract the generated tarball into the store
PREFIX=''${out/#\/}
tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX
find $out -type d -empty -delete
paxmark pmr $out/bin/swift
paxmark pmr $out/bin/*
@ -290,4 +292,3 @@ stdenv.mkDerivation rec {
broken = stdenv.isAarch64; # 2018-09-04, never built on Hydra
};
}

View File

@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index 7ee57ad2df..e6b0af3581 100644
--- a/utils/build-presets.ini
+++ b/utils/build-presets.ini
@@ -686,7 +686,7 @@ swiftpm
@@ -717,7 +717,7 @@ swiftpm
xctest
dash-dash

View File

@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index e6b0af3581..1095cbaab7 100644
--- a/utils/build-presets.ini
+++ b/utils/build-presets.ini
@@ -708,7 +708,7 @@ install-lldb
@@ -723,7 +723,7 @@ install-lldb
install-llbuild
install-swiftpm
install-xctest

View File

@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index 1739e91dc2..0608fed9c1 100644
--- a/utils/build-presets.ini
+++ b/utils/build-presets.ini
@@ -708,6 +708,8 @@ install-destdir=%(install_destdir)s
@@ -740,6 +740,8 @@ install-destdir=%(install_destdir)s
# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s

View File

@ -1,6 +1,6 @@
--- swift/utils/build-script-impl 2017-01-23 12:47:20.401326309 -0600
+++ swift-pax/utils/build-script-impl 2017-01-23 13:24:10.339366996 -0600
@@ -1823,6 +1823,17 @@ function set_lldb_xcodebuild_options() {
@@ -1837,6 +1837,17 @@ function set_lldb_xcodebuild_options() {
fi
}
@ -18,7 +18,7 @@
#
# Configure and build each product
#
@@ -2624,6 +2634,12 @@ for host in "${ALL_HOSTS[@]}"; do
@@ -2735,6 +2746,12 @@ for host in "${ALL_HOSTS[@]}"; do
fi
call "${CMAKE_BUILD[@]}" "${build_dir}" $(cmake_config_opt ${product}) -- "${BUILD_ARGS[@]}" ${build_targets[@]}

View File

@ -0,0 +1,13 @@
The Nix glibc headers do not use include/x86_64-linux-gnu subdirectories.
--- swift/stdlib/public/Platform/CMakeLists.txt 2018-09-30 17:51:51.581766303 +0200
+++ swift/stdlib/public/Platform/CMakeLists.txt 2018-09-30 18:40:04.118956708 +0200
@@ -65,7 +65,7 @@
endif()
set(GLIBC_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
- set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_ARCH_INCLUDE_PATH}")
+ set(GLIBC_ARCH_INCLUDE_PATH "${GLIBC_SYSROOT_RELATIVE_INCLUDE_PATH}")
if(NOT "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}" STREQUAL "/")
set(GLIBC_INCLUDE_PATH "${SWIFT_SDK_${sdk}_ARCH_${arch}_PATH}${GLIBC_INCLUDE_PATH}")

View File

@ -0,0 +1,13 @@
Only use the Nix include dirs when no sysroot is configured.
--- clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:01:15.731109551 +0200
+++ clang/lib/Driver/ToolChains/Linux.cpp 2018-10-05 18:00:27.959509924 +0200
@@ -565,7 +565,7 @@
// Check for configure-time C include directories.
StringRef CIncludeDirs(C_INCLUDE_DIRS);
- if (CIncludeDirs != "") {
+ if (CIncludeDirs != "" && (SysRoot.empty() || SysRoot == "/")) {
SmallVector<StringRef, 5> dirs;
CIncludeDirs.split(dirs, ":");
for (StringRef dir : dirs) {

View File

@ -11,7 +11,7 @@ diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
index fe3c0191bb..c6a482bece 100644
--- a/lib/Driver/ToolChains/Gnu.cpp
+++ b/lib/Driver/ToolChains/Gnu.cpp
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
@@ -398,13 +398,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
if (!Args.hasArg(options::OPT_static)) {
if (Args.hasArg(options::OPT_rdynamic))
CmdArgs.push_back("-export-dynamic");

View File

@ -86,7 +86,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "069w4gdb104lc3vp48k3wywmgql56yc5g2g2i240xrr88in3qvqw";
sha256 = "0mgmxcr36b86jh56my3vhp9y4cravi0hbppa463q3c21a1cmjc19";
};
}).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -370,6 +370,7 @@ self: super: {
safecopy = dontCheck super.safecopy;
sai-shape-syb = dontCheck super.sai-shape-syb;
scp-streams = dontCheck super.scp-streams;
sdl2 = dontCheck super.sdl2; # the test suite needs an x server
sdl2-ttf = dontCheck super.sdl2-ttf; # as of version 0.2.1, the test suite requires user intervention
separated = dontCheck super.separated;
shadowsocks = dontCheck super.shadowsocks;
@ -1150,4 +1151,7 @@ self: super: {
# https://github.com/danfran/cabal-macosx/issues/13
cabal-macosx = dontCheck super.cabal-macosx;
# https://github.com/DanielG/cabal-helper/issues/59
cabal-helper = doJailbreak super.cabal-helper;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -46,7 +46,7 @@ self: super: {
# LTS-12.x versions do not compile.
base-orphans = self.base-orphans_0_8;
brick = doJailbreak super.brick_0_41_2; # https://github.com/jtdaugherty/brick/pull/188
brick = self.brick_0_41_2;
cassava-megaparsec = doJailbreak super.cassava-megaparsec;
config-ini = doJailbreak super.config-ini; # https://github.com/aisamanra/config-ini/issues/18
contravariant = self.contravariant_1_5;
@ -69,6 +69,7 @@ self: super: {
megaparsec = dontCheck (doJailbreak super.megaparsec);
neat-interpolation = dontCheck super.neat-interpolation; # test suite depends on broken HTF
patience = markBrokenVersion "0.1.1" super.patience;
polyparse = self.polyparse_1_12_1;
primitive = self.primitive_0_6_4_0;
QuickCheck = self.QuickCheck_2_12_6_1;
semigroupoids = self.semigroupoids_5_3_1;

View File

@ -1,6 +1,6 @@
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
compiler: ghc-8.4.3
compiler: ghc-8.4.4
core-packages:
- array-0.5.2.0
@ -12,12 +12,12 @@ core-packages:
- deepseq-1.4.3.0
- directory-1.3.1.5
- filepath-1.4.2
- ghc-8.4.3
- ghc-boot-8.4.3
- ghc-boot-th-8.4.3
- ghc-8.4.4
- ghc-boot-8.4.4
- ghc-boot-th-8.4.4
- ghc-compact-0.1.0.0
- ghc-prim-0.5.2.0
- ghci-8.4.3
- ghci-8.4.4
- haskeline-0.7.4.2
- hpc-0.6.0.3
- integer-gmp-1.0.2.0
@ -26,10 +26,10 @@ core-packages:
- pretty-1.1.3.6
- process-1.6.3.0
- rts-1.0
- stm-2.4.5.0
- stm-2.4.5.1
- template-haskell-2.13.0.0
- terminfo-0.4.1.1
- text-1.2.3.0
- text-1.2.3.1
- time-1.8.0.2
- transformers-0.5.5.0
- unix-2.7.2.2

File diff suppressed because it is too large Load Diff

View File

@ -186,7 +186,7 @@ in rec {
# the latest Devel version
perldevel = common {
version = "5.29.3";
sha256 = "054xi629408p2hv9475jghv6zd1bj69qqpiby8cy9qw5vismgi17";
version = "5.29.4";
sha256 = "153r0f6jdqrl7hxrvhfivf5g8ivhbvggfhg841q3hi3db5rc86k4";
};
}

View File

@ -1,12 +1,14 @@
{ stdenv, fetchFromGitHub, perl, cmake, ninja, vala_0_40, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
{ stdenv, fetchFromGitHub, cmake, ninja, vala_0_40, pkgconfig, gobjectIntrospection, gnome3, gtk3, glib, gettext }:
stdenv.mkDerivation rec {
name = "granite-${version}";
version = "5.1.0";
pname = "granite";
version = "5.2.0";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "elementary";
repo = "granite";
repo = pname;
rev = version;
sha256 = "1v1yhz6rp616xi417m9r8072s6mpz5i8vkdyj264b73p0lgjwh40";
};
@ -21,10 +23,10 @@ stdenv.mkDerivation rec {
gettext
gobjectIntrospection
ninja
perl
pkgconfig
vala_0_40
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
];
buildInputs = [
glib
gnome3.libgee
@ -33,9 +35,12 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "An extension to GTK+ used by elementary OS";
longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
longDescription = ''
Granite is a companion library for GTK+ and GLib. Among other things, it provides complex widgets and convenience functions
designed for use in apps built for elementary OS.
'';
homepage = https://github.com/elementary/granite;
license = licenses.lgpl3;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ vozz worldofpeace ];
};

View File

@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
rm -vf BUILD
'';
NIX_CFLAGS_COMPILE = "-Wno-error=unknown-warning-option";
enableParallelBuilds = true;
meta = with stdenv.lib; {

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
configureFlags = [ "--with-gssapi-impl=mit" ];
doCheck = true;
doCheck = !stdenv.hostPlatform.isDarwin;
meta = {
description = "GNU SASL, Simple Authentication and Security Layer library";

View File

@ -15,7 +15,9 @@ stdenv.mkDerivation {
buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng];
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
description = "An image loading and rendering library for X11";
platforms = platforms.unix;
license = with licenses; [ gpl2 lgpl2 ];
};
}

View File

@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
libPrefix = "itcl3.4";
};
meta = {
meta = with stdenv.lib; {
homepage = http://incrtcl.sourceforge.net/;
description = "Object Oriented Enhancements for Tcl/Tk";
platforms = stdenv.lib.platforms.unix;
platforms = platforms.unix;
license = licenses.tcltk;
};
}

View File

@ -21,9 +21,10 @@ stdenv.mkDerivation rec {
cp *.h $out/include
'';
meta = {
meta = with stdenv.lib; {
homepage = https://math.nist.gov/tnt/;
description = "JAMA/C++ Linear Algebra Package: Java-like matrix C++ templates";
platforms = stdenv.lib.platforms.unix;
platforms = platforms.unix;
license = licenses.publicDomain;
};
}

View File

@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
homepage = https://www.ece.uvic.ca/~frodo/jasper/;
description = "JPEG2000 Library";
platforms = platforms.unix;
license = licenses.jasper;
maintainers = with maintainers; [ pSub ];
};
}

View File

@ -18,8 +18,9 @@ stdenv.mkDerivation {
-e "s|install: install-bin install-man install-doc|install: install-bin|" Makefile
'';
meta = {
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.sander ];
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = [ maintainers.sander ];
license = licenses.afl21;
};
}

View File

@ -9,7 +9,8 @@ stdenv.mkDerivation {
sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw";
};
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
platforms = platforms.unix;
license = licenses.asl20;
};
}

View File

@ -9,7 +9,8 @@ stdenv.mkDerivation {
sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb";
};
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
platforms = platforms.unix;
license = with licenses; [ afl21 lgpl2 ];
};
}

View File

@ -13,7 +13,8 @@ stdenv.mkDerivation {
buildInputs = [ unzip
];
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
platforms = platforms.unix;
license = licenses.bsd3;
};
}

View File

@ -11,7 +11,9 @@ stdenv.mkDerivation {
inherit unzip;
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
homepage = http://httpunit.sourceforge.net;
platforms = platforms.unix;
license = licenses.mit;
};
}

View File

@ -9,7 +9,10 @@ stdenv.mkDerivation {
sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
};
meta = {
platforms = stdenv.lib.platforms.unix;
meta = with stdenv.lib; {
description = "Java-based solution for accessing, manipulating, and outputting XML data from Java code";
homepage = http://www.jdom.org;
platforms = platforms.unix;
license = licenses.bsdOriginal;
};
}

View File

@ -10,8 +10,9 @@ stdenv.mkDerivation {
PREFIX=''''${out}'';
buildInputs = [ jdk ];
meta = {
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.sander ];
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = [ maintainers.sander ];
license = licenses.mit;
};
}

Some files were not shown because too many files have changed in this diff Show More