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 # Libraries
/lib @edolstra @nbp /lib @edolstra @nbp
/lib/systems @nbp @ericson2314 /lib/systems @nbp @ericson2314 @matthewbauer
/lib/generators.nix @edolstra @nbp @Profpatsch /lib/generators.nix @edolstra @nbp @Profpatsch
/lib/debug.nix @edolstra @nbp @Profpatsch /lib/debug.nix @edolstra @nbp @Profpatsch
@ -20,9 +20,11 @@
/default.nix @nbp /default.nix @nbp
/pkgs/top-level/default.nix @nbp @Ericson2314 /pkgs/top-level/default.nix @nbp @Ericson2314
/pkgs/top-level/impure.nix @nbp @Ericson2314 /pkgs/top-level/impure.nix @nbp @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314 /pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
/pkgs/stdenv/generic @Ericson2314 /pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
/pkgs/stdenv/cross @Ericson2314 /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/cc-wrapper @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej /pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
/pkgs/build-support/setup-hooks @Ericson2314 /pkgs/build-support/setup-hooks @Ericson2314
@ -74,6 +76,14 @@
/pkgs/stdenv/darwin @NixOS/darwin-maintainers /pkgs/stdenv/darwin @NixOS/darwin-maintainers
/pkgs/os-specific/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) # Beam-related (Erlang, Elixir, LFE, etc)
/pkgs/development/beam-modules @gleber /pkgs/development/beam-modules @gleber
/pkgs/development/interpreters/erlang @gleber /pkgs/development/interpreters/erlang @gleber
@ -97,3 +107,9 @@
/pkgs/desktops/plasma-5 @ttuegel /pkgs/desktops/plasma-5 @ttuegel
/pkgs/development/libraries/kde-frameworks @ttuegel /pkgs/development/libraries/kde-frameworks @ttuegel
/pkgs/development/libraries/qt-5 @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; free = false;
}; };
jasper = spdx {
spdxId = "JasPer-2.0";
fullName = "JasPer License";
};
lgpl2 = spdx { lgpl2 = spdx {
spdxId = "LGPL-2.0"; spdxId = "LGPL-2.0";

View File

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

View File

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

View File

@ -97,6 +97,16 @@
start org.nixos.nix-daemon</command>. start org.nixos.nix-daemon</command>.
</para> </para>
</listitem> </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> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>

View File

@ -332,6 +332,7 @@
lirc = 305; lirc = 305;
lidarr = 306; lidarr = 306;
slurm = 307; slurm = 307;
kapacitor = 308;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! # 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; lirc = 305;
lidarr = 306; lidarr = 306;
slurm = 307; slurm = 307;
kapacitor = 308;
# When adding a gid, make sure it doesn't match an existing # When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal # uid. Users and groups with the same name should have equal

View File

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

View File

@ -13,7 +13,7 @@ with lib;
# Set up the per-user profile. # Set up the per-user profile.
mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR" mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR"
if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then 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 fi
if [ -w "$HOME" ]; then if [ -w "$HOME" ]; then
@ -35,7 +35,7 @@ with lib;
NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER" NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER"
mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR" mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR"
if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then 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 fi
# Set up a default Nix expression from which to install stuff. # Set up a default Nix expression from which to install stuff.

View File

@ -28,7 +28,10 @@ with lib;
(config: (config:
let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config; let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
in if enabled then [ pkgs.gutenprint ] else [ ])) 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" ] "") (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
(mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ]) (mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
(mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ]) (mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])

View File

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

View File

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

View File

@ -157,6 +157,7 @@ in {
Restart = "on-failure"; Restart = "on-failure";
ProtectSystem = "strict"; ProtectSystem = "strict";
ReadWritePaths = "${cfg.configDir}"; ReadWritePaths = "${cfg.configDir}";
KillSignal = "SIGINT";
PrivateTmp = true; PrivateTmp = true;
RemoveIPC = 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; services.timesyncd.enable = mkForce false;
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service"; };
systemd.services.chronyd = systemd.services.chronyd =
{ description = "chrony NTP daemon"; { description = "chrony NTP daemon";

View File

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

View File

@ -62,9 +62,21 @@ in {
dataDir = mkOption { dataDir = mkOption {
type = types.path; type = types.path;
default = "/var/lib/syncthing"; default = "/var/lib/syncthing";
description = ''
Path where synced directories will exist.
'';
};
configDir = mkOption {
type = types.path;
description = '' description = ''
Path where the settings and keys will exist. 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 { openDefaultPorts = mkOption {
@ -144,7 +156,7 @@ in {
${cfg.package}/bin/syncthing \ ${cfg.package}/bin/syncthing \
-no-browser \ -no-browser \
-gui-address=${cfg.guiAddress} \ -gui-address=${cfg.guiAddress} \
-home=${cfg.dataDir} -home=${cfg.configDir}
''; '';
}; };
}; };

View File

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

View File

@ -22,6 +22,7 @@ let
gnugrep gnugrep
findutils findutils
getent getent
stdenv.cc.libc # nscd in update-users-groups.pl
shadow shadow
nettools # needed for hostname nettools # needed for hostname
utillinux # needed for mount and mountpoint 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 in
{ {
imports = [ ../profiles/qemu-guest.nix ]; imports = [
../profiles/qemu-guest.nix
./docker-preloader.nix
];
options = { options = {

View File

@ -283,6 +283,7 @@ in rec {
tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {}; 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-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.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.docker-registry = callTest tests/docker-registry.nix {};
tests.dovecot = callTest tests/dovecot.nix {}; tests.dovecot = callTest tests/dovecot.nix {};
tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.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.fsck = callTest tests/fsck.nix {};
tests.fwupd = callTest tests/fwupd.nix {}; tests.fwupd = callTest tests/fwupd.nix {};
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.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.gitolite = callTest tests/gitolite.nix {};
tests.gjs = callTest tests/gjs.nix {}; tests.gjs = callTest tests/gjs.nix {};
tests.gocd-agent = callTest tests/gocd-agent.nix {}; tests.gocd-agent = callTest tests/gocd-agent.nix {};

View File

@ -12,8 +12,10 @@ with pkgs.lib;
mapAttrs (channel: chromiumPkg: makeTest rec { mapAttrs (channel: chromiumPkg: makeTest rec {
name = "chromium-${channel}"; name = "chromium-${channel}";
meta = with pkgs.stdenv.lib.maintainers; { meta = {
maintainers = [ aszlig ]; maintainers = with maintainers; [ aszlig ];
# https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
inherit (chromiumPkg.meta) timeout;
}; };
enableOCR = true; enableOCR = true;
@ -166,7 +168,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o"); my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
die "sandbox not working properly: $clipboard" 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 =~ /pid namespaces.*yes/mi
&& $clipboard =~ /network namespaces.*yes/mi && $clipboard =~ /network namespaces.*yes/mi
&& $clipboard =~ /seccomp.*sandbox.*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"); my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
die "copying twice in a row does not work properly: $clipboard" 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 =~ /pid namespaces.*yes/mi
&& $clipboard =~ /network namespaces.*yes/mi && $clipboard =~ /network namespaces.*yes/mi
&& $clipboard =~ /seccomp.*sandbox.*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 # This test runs gitlab and checks if it works
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
name = "gitlab"; name = "gitlab";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ domenkozar offline ]; maintainers = [ globin ];
}; };
nodes = { nodes = {
gitlab = { ... }: { 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 = { services.nginx = {
enable = true; enable = true;
@ -19,10 +23,10 @@ import ./make-test.nix ({ pkgs, ...} : {
}; };
}; };
systemd.services.gitlab.serviceConfig.TimeoutStartSec = "10min";
services.gitlab = { services.gitlab = {
enable = true; enable = true;
databasePassword = "dbPassword"; databasePassword = "dbPassword";
initialRootPassword = "notproduction";
secrets = { secrets = {
secret = "secret"; secret = "secret";
otp = "otpsecret"; otp = "otpsecret";
@ -65,8 +69,12 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = '' testScript = ''
$gitlab->start(); $gitlab->start();
$gitlab->waitForUnit("gitaly.service");
$gitlab->waitForUnit("gitlab-workhorse.service");
$gitlab->waitForUnit("gitlab.service"); $gitlab->waitForUnit("gitlab.service");
$gitlab->waitForUnit("gitlab-sidekiq.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" \ substituteInPlace "chibios/os/various/shell.c" \
--replace "#ifdef __DATE__" "#if 0" --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" # Hardcode path to "make"
for f in "firmware/compile_firmware_linux.sh" \ for f in "firmware/compile_firmware_linux.sh" \
"firmware/compile_patch_linux.sh"; do "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 { stdenv.mkDerivation rec {
name = "lightdm-mini-greeter-${version}"; name = "lightdm-mini-greeter-${version}";
version = "0.3.2"; version = "0.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "prikhi"; owner = "prikhi";
repo = "lightdm-mini-greeter"; repo = "lightdm-mini-greeter";
rev = version; rev = version;
sha256 = "1g3lrh034w38hiq96b0xmghmlf87hcycwdh06dwkdksr0hl08wxy"; sha256 = "1xlj5wqagp765rqw40ci4wir21qwyszasynk82x8308k5d3asvwb";
}; };
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
description = "A minimal, configurable, single-user GTK3 LightDM greeter"; description = "A minimal, configurable, single-user GTK3 LightDM greeter";
homepage = https://github.com/prikhi/lightdm-mini-greeter; homepage = https://github.com/prikhi/lightdm-mini-greeter;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ mnacamura ]; maintainers = with maintainers; [ mnacamura prikhi ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

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

View File

@ -3,14 +3,14 @@
let let
versions = { versions = {
atom = { atom = {
version = "1.32.0"; version = "1.32.1";
sha256 = "0dha8zi4gshxj993ns7ybi7q86pfqwzsasrk3a7b5xrdqbrcm5md"; sha256 = "1x22jbhvagqw9mvq0v7z4z09qp727vl0rkyvaxn98xnj9gvcfkq9";
}; };
atom-beta = { atom-beta = {
version = "1.33.0"; version = "1.33.0";
beta = 0; beta = 1;
sha256 = "1x4s12zvfd2gjy7mimndbhs6x9k37jq4dyy6r1mzhwfysix74val"; 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 , granite, gtk3, desktop-file-utils, gnome3, gtksourceview, webkitgtk, gtkspell3
, discount, gobjectIntrospection, wrapGAppsHook }: , discount, gobjectIntrospection, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quilter"; pname = "quilter";
version = "1.6.3"; version = "1.6.8";
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1wa0i6dgg6fgb7q9z33v9qmn1a1dn3ik58v1f3a49dvd5xyf8q6q"; sha256 = "07i9pivpddgixn1wzbr15gvzf0n5pklx0gkjjaa35kvj2z8k31x5";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -22,40 +22,19 @@ stdenv.mkDerivation rec {
ninja ninja
pkgconfig pkgconfig
python3 python3
vala vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
discount discount
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee
granite granite
gtk3 gtk3
gtksourceview gtksourceview
gtkspell3 gtkspell3
webkitgtk 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 = '' postPatch = ''
@ -65,9 +44,9 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Focus on your writing - designed for elementary OS"; description = "Focus on your writing - designed for elementary OS";
homepage = https://github.com/lainsce/quilter; homepage = https://github.com/lainsce/quilter;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ worldofpeace ]; maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -129,6 +129,7 @@ let
kontact = callPackage ./kontact.nix {}; kontact = callPackage ./kontact.nix {};
kontactinterface = callPackage ./kontactinterface.nix {}; kontactinterface = callPackage ./kontactinterface.nix {};
konquest = callPackage ./konquest.nix {}; konquest = callPackage ./konquest.nix {};
konqueror = callPackage ./konqueror.nix {};
korganizer = callPackage ./korganizer.nix {}; korganizer = callPackage ./korganizer.nix {};
kpimtextedit = callPackage ./kpimtextedit.nix {}; kpimtextedit = callPackage ./kpimtextedit.nix {};
ksmtp = callPackage ./ksmtp {}; 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 { stdenv.mkDerivation rec {
name = "josm-${version}"; name = "josm-${version}";
version = "14289"; version = "14382";
src = fetchurl { src = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "102dph3479qskzf72cpb9139pq9ifka6pzna1c6s5rs2il6mfvsb"; sha256 = "1a2nx9jr1fvw95gdvl9kj3z0cs6ndafm0k4l0lwfx9p9qn4lgzjg";
}; };
buildInputs = [ jre10 makeWrapper ]; buildInputs = [ jdk11 makeWrapper ];
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "josm"; name = "josm";
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share/java mkdir -p $out/bin $out/share/java
cp -v $src $out/share/java/josm.jar 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" --add-flags "-jar $out/share/java/josm.jar"
mkdir -p $out/share/applications 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 }: , gtk3, gnome3, gtksourceview, json-glib, gobjectIntrospection, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "notejot"; pname = "notejot";
version = "1.4.5"; version = "1.4.7";
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -20,11 +20,12 @@ stdenv.mkDerivation rec {
ninja ninja
pkgconfig pkgconfig
python3 python3
vala vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee gnome3.libgee
granite granite
gtk3 gtk3
@ -39,9 +40,9 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Stupidly-simple sticky notes applet"; description = "Stupidly-simple sticky notes applet";
homepage = https://github.com/lainsce/notejot; homepage = https://github.com/lainsce/notejot;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ worldofpeace ]; maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

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. # 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" #"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
#"-DAVRDUDE_PATH=${avrdude}/bin/avrdude" #"-DAVRDUDE_PATH=${avrdude}/bin/avrdude"
"-DNANO=OFF"
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

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

View File

@ -3,47 +3,51 @@
, gettext , gettext
, libxml2 , libxml2
, pkgconfig , pkgconfig
, gtk3 , glib
, granite , granite
, gtk3
, gnome3 , gnome3
, cmake , meson
, ninja , ninja
, vala , gobjectIntrospection
, elementary-cmake-modules , gsettings-desktop-schemas
, vala_0_40
, wrapGAppsHook }: , wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "regextester-${version}"; name = "regextester-${version}";
version = "0.1.7"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "artemanufrij"; owner = "artemanufrij";
repo = "regextester"; repo = "regextester";
rev = version; rev = version;
sha256 = "07shdm10dc7jz2hka5dc51yp81a0dgc47nmkrp6fs6r9wqx0j30n"; sha256 = "1xwwv1hccni1mrbl58f7ly4qfq6738vn24bcbl2q346633cd7kx3";
}; };
XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
"${granite}/share"
"${gnome3.libgee}/share"
];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
wrapGAppsHook meson
vala
cmake
ninja ninja
gettext gettext
gobjectIntrospection
libxml2 libxml2
elementary-cmake-modules vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
gtk3 glib
granite granite
gtk3
gnome3.defaultIconTheme
gnome3.libgee gnome3.libgee
gsettings-desktop-schemas
]; ];
postInstall = ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A desktop application to test regular expressions interactively"; description = "A desktop application to test regular expressions interactively";
homepage = https://github.com/artemanufrij/regextester; 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 { python3Packages.buildPythonApplication rec {
name = "urh-${version}"; name = "urh-${version}";
@ -11,7 +12,7 @@ python3Packages.buildPythonApplication rec {
sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c"; sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c";
}; };
buildInputs = [ hackrf rtl-sdr ]; buildInputs = [ hackrf rtl-sdr airspy limesuite ];
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
pyqt5 numpy psutil cython pyzmq pyqt5 numpy psutil cython pyzmq
]; ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }: libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }:
let let
version = "1.0.6-1"; version = "1.1.0-1";
description = '' description = ''
An application that runs on your computer in the background and seamlessly encrypts An application that runs on your computer in the background and seamlessly encrypts
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb"; url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
sha256 = "1as4xdsik2w9clbrwp1k00491324cg6araz3jq2m013yg1cild28"; sha256 = "0l29z208krnd3dginc203m4p5dlmnxf08vpmbm9xzlckwmswizkb";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
@ -38,10 +38,10 @@ in stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir -p $out/{bin,lib,share/applications} 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 -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 cp ${desktopItem}/share/applications/* $out/share/applications
ln -s $out/lib/Desktop-Bridge $out/bin/Desktop-Bridge 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 }: , gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobjectIntrospection, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aesop"; pname = "aesop";
version = "1.0.5"; version = "1.0.7";
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -21,11 +21,12 @@ stdenv.mkDerivation rec {
ninja ninja
pkgconfig pkgconfig
python3 python3
vala vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gnome3.libgee gnome3.libgee
granite granite
gtk3 gtk3
@ -34,14 +35,6 @@ stdenv.mkDerivation rec {
poppler poppler
]; ];
# Fix build with vala 0.42
patches = [
(fetchpatch {
url = "https://github.com/lainsce/aesop/commit/a90b3c711bd162583533370deb031c2c6254c82d.patch";
sha256 = "1zf831g6sqq3966q0i00x3jhlbfh9blcky6pnyp5qp59hxyxy169";
})
];
postPatch = '' postPatch = ''
chmod +x meson/post_install.py chmod +x meson/post_install.py
patchShebangs meson/post_install.py patchShebangs meson/post_install.py
@ -49,9 +42,9 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The simplest PDF viewer around"; description = "The simplest PDF viewer around";
homepage = https://github.com/lainsce/aesop; homepage = https://github.com/lainsce/aesop;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ worldofpeace ]; maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,46 +1,70 @@
{ stdenv, fetchFromGitHub, vala, pkgconfig, libxml2, cmake, ninja, gtk3, granite, gnome3 { stdenv, fetchFromGitHub, fetchpatch, vala_0_40, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, granite, gnome3
, gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, unzip, unar, wrapGAppsHook }: , gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bookworm"; pname = "bookworm";
version = "1.0.0"; version = "4f7b118281667d22f1b3205edf0b775341fa49cb";
name = "${pname}-${version}"; name = "${pname}-2018-10-21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "babluboy"; owner = "babluboy";
repo = pname; repo = pname;
rev = version; 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 = [ nativeBuildInputs = [
cmake bash
gobjectIntrospection gobjectIntrospection
libxml2 libxml2
meson
ninja ninja
pkgconfig pkgconfig
vala python3
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = with gnome3; [ buildInputs = with gnome3; [
glib glib
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
granite granite
gtk3 gtk3
html2text html2text
libgee libgee
poppler poppler
python2
sqlite sqlite
webkitgtk 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 = '' preFixup = ''
gappsWrapperArgs+=( 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; { meta = with stdenv.lib; {
description = "A simple, focused eBook reader"; description = "A simple, focused eBook reader";
longDescription = '' longDescription = ''

View File

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

View File

@ -4,8 +4,8 @@ let
hts-nim = fetchFromGitHub { hts-nim = fetchFromGitHub {
owner = "brentp"; owner = "brentp";
repo = "hts-nim"; repo = "hts-nim";
rev = "9cd83e30522ab64cd71eb8209be4154aa5579ce1"; rev = "v0.2.5";
sha256 = "10g408idy14667varq1syf06rrbpk63i3ib7i5dh1md4ib19av6f"; sha256 = "1fma99rjqxgg9dihkd10hm1jjp5amsk5wsxnvq1lk4mcsjix5xqb";
}; };
docopt = fetchFromGitHub { docopt = fetchFromGitHub {
@ -28,7 +28,10 @@ in stdenv.mkDerivation rec {
buildInputs = [ nim ]; 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"; installPhase = "install -Dt $out/bin mosdepth";
fixupPhase = "patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc htslib pcre ]} $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 { stdenv.mkDerivation rec {
name = "kicad-${version}"; name = "kicad-${version}";
series = "5.0"; series = "5.0";
version = "5.0.0"; version = "5.0.1";
src = fetchurl { src = fetchurl {
url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz"; url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
sha256 = "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p"; sha256 = "0skig2wdxxc2677m8a8m1xrg3pkhqiqnmkcyr2hv0b2j30rzdr2z";
}; };
postPatch = '' postPatch = ''

View File

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

View File

@ -7,49 +7,39 @@
, gnome3 , gnome3
, cmake , cmake
, ninja , ninja
, vala , vala_0_40
, libqalculate , libqalculate
, gobjectIntrospection , gobjectIntrospection
, wrapGAppsHook }: , wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "nasc-${version}"; name = "nasc-${version}";
version = "0.4.7"; version = "0.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "parnold-x"; owner = "parnold-x";
repo = "nasc"; repo = "nasc";
rev = version; 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 = [ nativeBuildInputs = [
pkgconfig pkgconfig
wrapGAppsHook wrapGAppsHook
vala vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
cmake cmake
ninja ninja
gobjectIntrospection # for setup-hook gobjectIntrospection # for setup-hook
]; ];
buildInputs = [ buildInputs = [
libqalculate gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
gtk3 gnome3.gtksourceview
granite
gnome3.libgee gnome3.libgee
gnome3.libsoup gnome3.libsoup
gnome3.gtksourceview granite
gtk3
libqalculate
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -18,13 +18,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "simgrid-${version}"; name = "simgrid-${version}";
version = "3.20"; version = "3.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "simgrid"; owner = "simgrid";
repo = "simgrid"; repo = "simgrid";
rev = "v${version}"; rev = "v${replaceChars ["."] ["_"] version}";
sha256 = "0xb20qhvsah2dz2hvn850i3w9a5ghsbcx8vka2ap6xsdkxf593gy"; sha256 = "1v0dwlww2wl56ms8lvg5zwffzbmz3sjzpkqc73f714mrc9g02bxs";
}; };
nativeBuildInputs = [ cmake perl python3 boost valgrind ] nativeBuildInputs = [ cmake perl python3 boost valgrind ]
@ -107,6 +107,6 @@ stdenv.mkDerivation rec {
homepage = http://simgrid.gforge.inria.fr/; homepage = http://simgrid.gforge.inria.fr/;
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = with maintainers; [ mickours ]; 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 }: { stdenv, buildGo19Package, fetchFromGitHub, curl, libgit2_0_27, ncurses, pkgconfig, readline }:
let let
version = "0.2.0"; version = "0.3.0";
in in
buildGo19Package { buildGo19Package {
name = "grv-${version}"; name = "grv-${version}";
@ -14,10 +14,14 @@ buildGo19Package {
owner = "rgburke"; owner = "rgburke";
repo = "grv"; repo = "grv";
rev = "v${version}"; rev = "v${version}";
sha256 = "0hlqw6b51jglqzzjgazncckpgarp25ghshl0lxv1mff80jg8wd1a"; sha256 = "00v502mwnpv09l7fsbq3s72i5fz5dxbildwxgw0r8zzf6d54xrgl";
fetchSubmodules = true; fetchSubmodules = true;
}; };
postPatch = ''
rm util/update_latest_release.go
'';
buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ]; buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

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

View File

@ -11,29 +11,29 @@ let
groups = [ "default" "unicorn" "ed25519" "metrics" ]; groups = [ "default" "unicorn" "ed25519" "metrics" ];
}; };
version = "11.4.3"; version = "11.4.4";
sources = if gitlabEnterprise then { sources = if gitlabEnterprise then {
gitlabDeb = fetchurl { gitlabDeb = fetchurl {
url = "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_${version}-ee.0_amd64.deb/download.deb"; 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 { gitlab = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-ee"; repo = "gitlab-ee";
rev = "v${version}-ee"; rev = "v${version}-ee";
sha256 = "1vqc77whpbsifbm9vgcmpxnw13v8jz1s9q04i8jfv99c59fjlids"; sha256 = "046hchr7q4jnx3j4yxg3rdixfzlva35al3ci26pf9vxrbbl5y8cg";
}; };
} else { } else {
gitlabDeb = fetchurl { gitlabDeb = fetchurl {
url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_${version}-ce.0_amd64.deb/download.deb"; 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 { gitlab = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-ce"; repo = "gitlab-ce";
rev = "v${version}"; rev = "v${version}";
sha256 = "1zvjz2gv2vwqqjz52zcvi0ap3d8rdbpgsqk9wv80hqq4v37a5gfx"; sha256 = "1hq9iyp0xrxwmncn61ja3pdj9h2hmdy1l63d1ic3r1dyacybaf2g";
}; };
}; };
@ -63,17 +63,7 @@ stdenv.mkDerivation rec {
--replace "ps -U" "${procps}/bin/ps -U" --replace "ps -U" "${procps}/bin/ps -U"
sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb
# 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
''; '';
buildPhase = '' buildPhase = ''

View File

@ -7,7 +7,16 @@ gatherLibraries() {
addEnvHooks "$targetOffset" gatherLibraries addEnvHooks "$targetOffset" gatherLibraries
isExecutable() { 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 # We cache dependencies so that we don't need to search through all of them on
@ -157,7 +166,7 @@ autoPatchelf() {
isELF "$file" || continue isELF "$file" || continue
if isExecutable "$file"; then if isExecutable "$file"; then
# Skip if the executable is statically linked. # Skip if the executable is statically linked.
readelf -l "$file" | grep -q "^ *INTERP\\>" || continue LANG=C readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
fi fi
autoPatchelfFile "$file" autoPatchelfFile "$file"
done < <(find "$prefix" -type f -print0) done < <(find "$prefix" -type f -print0)

View File

@ -1,18 +1,18 @@
{stdenv, fetchzip}: {stdenv, fetchzip}:
let let
version = "2.004"; version = "3.001";
in fetchzip rec { in fetchzip rec {
name = "comfortaa-${version}"; 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 = '' postFetch = ''
mkdir -p $out/share/fonts $out/share/doc mkdir -p $out/share/fonts $out/share/doc
unzip -l $downloadedFile unzip -l $downloadedFile
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name} unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name}
''; '';
sha256 = "1gnscf3kw9p5gbc5594a22cc6nmiir9mhp1nl3mkbzd4v1jfbh2h"; sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949; homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949;

View File

@ -1,11 +1,11 @@
{stdenv, fetchzip}: {stdenv, fetchzip}:
let let
version = "2014-11-11"; version = "2016-06-23";
in fetchzip { in fetchzip {
name = "open-dyslexic-${version}"; 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 = '' postFetch = ''
mkdir -p $out/share/{doc,fonts} mkdir -p $out/share/{doc,fonts}
@ -13,7 +13,7 @@ in fetchzip {
unzip -j $downloadedFile \*/README.md -d $out/share/doc/open-dyslexic unzip -j $downloadedFile \*/README.md -d $out/share/doc/open-dyslexic
''; '';
sha256 = "045xc7kj56q4ygnjppm8f8fwqqvf21x1piabm4nh8hwgly42a3w2"; sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://opendyslexic.org/; homepage = https://opendyslexic.org/;

View File

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

View File

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

View File

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

View File

@ -1,17 +1,57 @@
{ stdenv, buildPythonPackage, fetchPypi { stdenv, lib, buildPythonApplication, fetchFromGitHub
, bottle, click, colorama , bottle, click, colorama
, lockfile, pyserial, requests , lockfile, pyserial, requests
, semantic-version , pytest, semantic-version, tox
, git , git
}: }:
buildPythonPackage rec { let
pname = "platformio"; args = lib.concatStringsSep " " ((map (e: "--deselect tests/${e}") [
version = "3.5.3"; "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 { in buildPythonApplication rec {
inherit pname version; pname = "platformio";
sha256 = "1l4s2xh1p9h767amk9zapzivz4irl2y3kff3dna6icvsgq6rz011"; version = "3.6.1";
# pypi tarball doesn't contain tests
src = fetchFromGitHub {
owner = "platformio";
repo = "platformio-core";
rev = "v${version}";
sha256 = "01xz9figqrzb0m9467q14lg51vmgq0hbaap0xdx08n5v2ycmzj0v";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -19,12 +59,25 @@ buildPythonPackage rec {
pyserial requests semantic-version pyserial requests semantic-version
]; ];
HOME = "/tmp";
checkInputs = [ pytest tox ];
checkPhase = ''
runHook preCheck
py.test -v tests ${args}
runHook postCheck
'';
patches = [ ./fix-searchpath.patch ]; patches = [ ./fix-searchpath.patch ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = stdenv.isAarch64;
description = "An open source ecosystem for IoT development"; description = "An open source ecosystem for IoT development";
homepage = http://platformio.org; homepage = http://platformio.org;
maintainers = with maintainers; [ mog makefu ];
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ mog makefu ];
}; };
} }

View File

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

View File

@ -149,8 +149,7 @@ let
}; };
}; };
in { in rec {
cudatoolkit_6 = common { cudatoolkit_6 = common {
version = "6.0.37"; version = "6.0.37";
url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run"; 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; gcc = gcc6;
}; };
cudatoolkit_9 = common { cudatoolkit_9_1 = common {
version = "9.1.85.1"; version = "9.1.85.3";
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux"; url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux";
sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4"; sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4";
runPatches = [ runPatches = [
@ -208,9 +207,40 @@ in {
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux"; url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux";
sha256 = "1f53ij5nb7g0vb5pcpaqvkaj1x4mfq3l0mhkfnqbk8sfrvby775g"; 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; 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 # 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 { stdenv.mkDerivation rec {
name = "nim-${version}"; name = "nim-${version}";
version = "0.18.0"; version = "0.19.0";
src = fetchurl { src = fetchurl {
url = "https://nim-lang.org/download/${name}.tar.xz"; url = "https://nim-lang.org/download/${name}.tar.xz";
sha256 = "45c74adb35f08dfa9add1112ae17330e5d902ebb4a36e7046caee8b79e6f3bd0"; sha256 = "0biwvw1gividp5lkf0daq1wp9v6ms4xy6dkf5zj0sn9w4m3n76d1";
}; };
doCheck = !stdenv.isDarwin; doCheck = !stdenv.isDarwin;
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
"-lcrypto" "-lcrypto"
"-lpcre" "-lpcre"
"-lreadline" "-lreadline"
"-lsqlite3"
"-lgc" "-lgc"
]; ];
@ -28,12 +27,21 @@ stdenv.mkDerivation rec {
# used for bootstrapping, but koch insists on moving the nim compiler around # used for bootstrapping, but koch insists on moving the nim compiler around
# as part of building it, so it cannot be read-only # as part of building it, so it cannot be read-only
buildInputs = [ nativeBuildInputs = [
makeWrapper nodejs-slim-8_x tzdata coreutils makeWrapper nodejs-slim-10_x tzdata coreutils
openssl pcre readline sqlite boehmgc sfml
]; ];
buildInputs = [
openssl pcre readline boehmgc sfml
];
phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" "checkPhase" ];
buildPhase = '' 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 sh build.sh
./bin/nim c koch ./bin/nim c koch
./koch boot -d:release \ ./koch boot -d:release \
@ -51,33 +59,24 @@ stdenv.mkDerivation rec {
--suffix PATH : ${lib.makeBinPath [ stdenv.cc ]} --suffix PATH : ${lib.makeBinPath [ stdenv.cc ]}
''; '';
postPatch = patchPhase =
let disableTest = ''sed -i '1i discard \"\"\"\n disabled: true\n\"\"\"\n\n' ''; 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/^/#/' ''; disableCompile = ''sed -i -e 's/^/#/' '';
in '' in ''
substituteInPlace ./tests/async/tioselectors.nim --replace "/bin/sleep" "sleep" substituteInPlace ./tests/async/tioselectors.nim --replace "/bin/sleep" "sleep"
substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin" substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin"
substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" 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) # disable tests requiring network access (not available in the build container)
${disableTest} ./tests/stdlib/thttpclient.nim ${disableTest} ./tests/stdlib/thttpclient.nim
${disableTest} ./tests/cpp/tasync_cpp.nim '' + lib.optionalString stdenv.isAarch64 ''
${disableTest} ./tests/niminaction/Chapter7/Tweeter/src/tweeter.nim # disable test supposedly broken on aarch64
${disableStdLibTest} ./lib/pure/stats.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
''; '';
checkPhase = '' checkPhase = ''
PATH=$PATH:$out/bin
./koch tests ./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 , alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
, libjpeg, giflib , libjpeg, giflib
@ -10,31 +10,30 @@
let let
/** /**
* The JRE libraries are in directories that depend on the CPU. * The JDK libraries are in directories that depend on the CPU.
*/ */
architecture = architecture =
if stdenv.hostPlatform.system == "i686-linux" then if stdenv.hostPlatform.system == "i686-linux" then
"i386" "i386"
else "amd64"; else "amd64";
update = "10.0.2"; major = "11";
update = ".0.1";
build = "13"; build = "13";
repover = "jdk-${update}+${build}"; repover = "jdk-${major}${update}+${build}";
paxflags = if stdenv.isi686 then "msp" else "m"; paxflags = if stdenv.isi686 then "msp" else "m";
openjdk10 = stdenv.mkDerivation { openjdk = stdenv.mkDerivation {
name = "openjdk-${update}-b${build}"; name = "openjdk-${major}${update}-b${build}";
src = fetchurl { src = fetchurl {
url = "http://hg.openjdk.java.net/jdk-updates/jdk10u/archive/${repover}.tar.gz"; url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz";
sha256 = "0y7hyzgvn6z8gyp3h9xvxwj6zda899y6i629jn6yxqzj96q56jpk"; sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm";
}; };
outputs = [ "out" "jre" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ 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 libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr lndir fontconfig libXi libXinerama libXcursor libXrandr lndir fontconfig
] ++ lib.optionals (!minimal && enableGnome2) [ ] ++ lib.optionals (!minimal && enableGnome2) [
@ -55,12 +54,11 @@ let
configureFlagsArray=( configureFlagsArray=(
"--with-boot-jdk=${bootjdk.home}" "--with-boot-jdk=${bootjdk.home}"
"--with-update-version=${update}" "--with-update-version=${major}${update}"
"--with-build-number=${build}" "--with-build-number=${build}"
"--with-milestone=fcs" "--with-milestone=fcs"
"--enable-unlimited-crypto" "--enable-unlimited-crypto"
"--disable-debug-symbols" "--disable-debug-symbols"
"--disable-freetype-bundling"
"--with-zlib=system" "--with-zlib=system"
"--with-giflib=system" "--with-giflib=system"
"--with-stdc++lib=dynamic" "--with-stdc++lib=dynamic"
@ -86,7 +84,7 @@ let
buildFlags = [ "all" ]; buildFlags = [ "all" ];
installPhase = '' 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 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. # jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/ 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. # Remove crap from the installation.
rm -rf $out/lib/openjdk/demo rm -rf $out/lib/openjdk/demo
${lib.optionalString minimal '' ${lib.optionalString minimal ''
for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
rm ''${d}/{libjsound,libjsoundalsa,libfontmanager}.so
done
''} ''}
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
# Set PaX markings # 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*" echo "to mark: *$exes*"
for file in $exes; do for file in $exes; do
echo "marking *$file*" echo "marking *$file*"
paxmark ${paxflags} "$file" paxmark ${paxflags} "$file"
done 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 $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 = '' preFixup = ''
prefix=$jre stripDirs "$STRIP" "$stripDebugList" "''${stripDebugFlags:--S}" # Propagate the setJavaClassPath setup hook so that any package
patchELF $jre # that depends on the JDK has $CLASSPATH set up properly.
propagatedBuildInputs+=" $jre" mkdir -p $out/nix-support
# 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
#TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 #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. # Set JAVA_HOME automatically.
mkdir -p $out/nix-support mkdir -p $out/nix-support
@ -196,7 +166,7 @@ let
passthru = { passthru = {
inherit architecture; 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 src = if stdenv.hostPlatform.system == "x86_64-linux" then
(if version == "10" then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2" (if version == "10" then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2"
else if version == "8" then fetchboot "8" "x86_64" "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks" 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 else if stdenv.hostPlatform.system == "i686-linux" then
(if version == "10" then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7" (if version == "10" then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7"
else if version == "8" then fetchboot "8" "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9" else if version == "8" then fetchboot "8" "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9"
else throw "No bootstrap for version") 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" { bootstrap = runCommand "openjdk-bootstrap" {
passthru.home = "${bootstrap}/lib/openjdk"; passthru.home = "${bootstrap}/lib/openjdk";

View File

@ -6,13 +6,13 @@ let
sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0"; sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
}; };
jdk = stdenv.mkDerivation { jdk = stdenv.mkDerivation rec {
name = "zulu10.3+5-jdk10"; name = "zulu11.2.3-jdk11.0.1";
src = fetchurl { src = fetchurl {
url = https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.zip; url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
sha256 = "05pxfjn8fqw6ddr8m5hzyphwzqgrq8w6b4h3lwc1s7ymh05xmspz"; sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/"; curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
}; };
buildInputs = [ unzip freetype ]; buildInputs = [ unzip freetype ];
@ -34,8 +34,8 @@ let
''; '';
preFixup = '' preFixup = ''
# Propagate the setJavaClassPath setup hook from the JRE so that # Propagate the setJavaClassPath setup hook from the JDK so that
# any package that depends on the JRE has $CLASSPATH set up # any package that depends on the JDK has $CLASSPATH set up
# properly. # properly.
mkdir -p $out/nix-support mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
@ -49,7 +49,6 @@ let
''; '';
passthru = { passthru = {
jre = jdk;
home = 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 ...` # Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency. # to get rid of ${glibc} dependency.
, purgeNixReferences ? false , purgeNixReferences ? false
, texinfo
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sbcl-${version}"; name = "sbcl-${version}";
version = "1.4.12"; version = "1.4.13";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a"; sha256 = "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm";
}; };
buildInputs = [texinfo];
patchPhase = '' patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr echo '"${version}.nixos"' > version.lisp-expr
echo " 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)))' '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests # 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-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
@ -83,6 +81,7 @@ stdenv.mkDerivation rec {
buildPhase = '' buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
(cd doc/manual ; make info)
''; '';
installPhase = '' installPhase = ''

View File

@ -32,11 +32,10 @@
, makeWrapper , makeWrapper
, gnumake , gnumake
, file , file
#, systemtap
}: }:
let let
v_base = "4.1.3"; v_base = "4.2.1";
version = "${v_base}-RELEASE"; version = "${v_base}-RELEASE";
version_friendly = "${v_base}"; version_friendly = "${v_base}";
@ -54,15 +53,15 @@ let
# For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759 # For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
clang = fetch { clang = fetch {
repo = "swift-clang"; repo = "swift-clang";
sha256 = "0j8bi6jv4m4hqiib02q5cvnxd9j6bwiri853x6px86vai3mdff0h"; sha256 = "0l6w4xzpl3w2nax9a0b885nfzhfj38p2g99158nb5bzfd4s0man7";
}; };
llvm = fetch { llvm = fetch {
repo = "swift-llvm"; repo = "swift-llvm";
sha256 = "0q5cv4iydm8c1kcax32573y3q2cbpihwgj5aa8ws1fnpy4jvq934"; sha256 = "1664zwxbq0a1cmxr9n5a0vw6vdk6ygr7rpglpdsfc7ki857vpsyv";
}; };
compilerrt = fetch { compilerrt = fetch {
repo = "swift-compiler-rt"; repo = "swift-compiler-rt";
sha256 = "1wkymmxi2v759xkwlzfrq9rivndjfvp6ikrzz10mvvrvyvrgwqnl"; sha256 = "19s6qxn4i0kxpf39xjp2i7zg427iinbmaxqkbb1p91g616y367sf";
}; };
cmark = fetch { cmark = fetch {
repo = "swift-cmark"; repo = "swift-cmark";
@ -70,32 +69,32 @@ let
}; };
lldb = fetch { lldb = fetch {
repo = "swift-lldb"; repo = "swift-lldb";
sha256 = "1d0pa7xm289bjb6r52hkkmlngkqkwbwgixnmm30bin2q18mkxk7s"; sha256 = "00kz0xhj1p6ckyandj2gs1yfl29kxv84x9pfph00r8crbkd2jz7b";
}; };
llbuild = fetch { llbuild = fetch {
repo = "swift-llbuild"; repo = "swift-llbuild";
sha256 = "04y0ihfyam2n671vmpk9gy0gb9lb3ivh6mr19862p5kg5bmrcic1"; sha256 = "1mkkhydshhxr28igbldzr0hhqvb6ql43cpf3ba5vglfkbcz6wh6q";
}; };
pm = fetch { pm = fetch {
repo = "swift-package-manager"; repo = "swift-package-manager";
sha256 = "08d87fc29qq7m92jaxkiczsa7b567pwbibiwwkzdrj6a0gr11qn3"; sha256 = "1aqvmgq9g5zs4k2qnkvw3h3mar66d690hqq6g2dmrapsyb321j9l";
}; };
xctest = fetch { xctest = fetch {
repo = "swift-corelibs-xctest"; repo = "swift-corelibs-xctest";
sha256 = "1alkgxx8jsr2jjv2kchnjaaddb1byjwim015m1z3qxh6lknqm0k5"; sha256 = "1n4w7bfgy73vjzbvbphlwayy0dw73bbrayrpkqq8lbidg0x9lam8";
}; };
foundation = fetch { foundation = fetch {
repo = "swift-corelibs-foundation"; repo = "swift-corelibs-foundation";
sha256 = "1bhrag63rmz41bg2g6ap01qrdpq37hislgf5hg6myy2v69q7mahx"; sha256 = "1bfnkj8s3v327cy0czkngz0ryzmz7amjzkkxbsg2zyrhf9a9f0f7";
}; };
libdispatch = fetch { libdispatch = fetch {
repo = "swift-corelibs-libdispatch"; repo = "swift-corelibs-libdispatch";
sha256 = "198vskbajch8s168a649qz5an92i2mxmmmzcjlgxlzh38fgxri0n"; sha256 = "0fibrx54nbaawhsgd7cbr356ji9qvf8y8ahd5bdx28fpj6q0cnwc";
fetchSubmodules = true; fetchSubmodules = true;
}; };
swift = fetch { swift = fetch {
repo = "swift"; repo = "swift";
sha256 = "1ydx11pkvaasgjbr29lnha0lpnak758gd5l0aqzmp3q6mcyvfm7a"; sha256 = "0y277wi0m6zp1yph9s14mmc65m21q5fm6lgzkn2rkrbaz25fdzak";
}; };
}; };
@ -111,7 +110,6 @@ let
ncurses ncurses
sqlite sqlite
swig swig
# systemtap?
]; ];
cmakeFlags = [ cmakeFlags = [
@ -215,8 +213,11 @@ stdenv.mkDerivation rec {
substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \ substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
--replace '/usr/include' "${stdenv.cc.libc.dev}/include" --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 \ substituteInPlace swift/utils/build-script-impl \
--replace '/usr/include/c++' "${clang.cc.gcc}/include/c++" --replace '/usr/include/c++' "${clang.cc.gcc}/include/c++"
patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch}
'' + stdenv.lib.optionalString stdenv.needsPax '' '' + stdenv.lib.optionalString stdenv.needsPax ''
patch -p1 -d swift -i ${./patches/build-script-pax.patch} 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-installable-package$/# \0/' \
-e 's/^test$/# \0/' \ -e 's/^test$/# \0/' \
-e 's/^validation-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 # 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 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 \ substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
--replace ' addPathIfExists(D, SysRoot + "/usr/lib", Paths);' \ --replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
' addPathIfExists(D, SysRoot + "/usr/lib", Paths); addPathIfExists(D, "${glibc}/lib", Paths);' patch -p1 -d clang -i ${./patches/llvm-include-dirs.patch}
patch -p1 -d clang -i ${./purity.patch} patch -p1 -d clang -i ${./purity.patch}
# Workaround hardcoded dep on "libcurses" (vs "libncurses"): # Workaround hardcoded dep on "libcurses" (vs "libncurses"):
sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt 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/#\/} PREFIX=''${out/#\/}
substituteInPlace swift-corelibs-foundation/build.py \
--replace usr/lib "$PREFIX/lib"
substituteInPlace swift-corelibs-xctest/build_script.py \ substituteInPlace swift-corelibs-xctest/build_script.py \
--replace usr "$PREFIX" --replace usr "$PREFIX"
substituteInPlace swiftpm/Utilities/bootstrap \ substituteInPlace swiftpm/Utilities/bootstrap \
@ -263,6 +264,7 @@ stdenv.mkDerivation rec {
# Extract the generated tarball into the store # Extract the generated tarball into the store
PREFIX=''${out/#\/} PREFIX=''${out/#\/}
tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX 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/swift
paxmark pmr $out/bin/* paxmark pmr $out/bin/*
@ -290,4 +292,3 @@ stdenv.mkDerivation rec {
broken = stdenv.isAarch64; # 2018-09-04, never built on Hydra 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 index 7ee57ad2df..e6b0af3581 100644
--- a/utils/build-presets.ini --- a/utils/build-presets.ini
+++ b/utils/build-presets.ini +++ b/utils/build-presets.ini
@@ -686,7 +686,7 @@ swiftpm @@ -717,7 +717,7 @@ swiftpm
xctest xctest
dash-dash dash-dash

View File

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

View File

@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index 1739e91dc2..0608fed9c1 100644 index 1739e91dc2..0608fed9c1 100644
--- a/utils/build-presets.ini --- a/utils/build-presets.ini
+++ b/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. # Path to the .tar.gz package we would create.
installable-package=%(installable_package)s 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/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 +++ 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 fi
} }
@ -18,7 +18,7 @@
# #
# Configure and build each product # 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 fi
call "${CMAKE_BUILD[@]}" "${build_dir}" $(cmake_config_opt ${product}) -- "${BUILD_ARGS[@]}" ${build_targets[@]} 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 index fe3c0191bb..c6a482bece 100644
--- a/lib/Driver/ToolChains/Gnu.cpp --- a/lib/Driver/ToolChains/Gnu.cpp
+++ b/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_static)) {
if (Args.hasArg(options::OPT_rdynamic)) if (Args.hasArg(options::OPT_rdynamic))
CmdArgs.push_back("-export-dynamic"); CmdArgs.push_back("-export-dynamic");

View File

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

View File

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

View File

@ -1,6 +1,6 @@
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml # pkgs/development/haskell-modules/configuration-hackage2nix.yaml
compiler: ghc-8.4.3 compiler: ghc-8.4.4
core-packages: core-packages:
- array-0.5.2.0 - array-0.5.2.0
@ -12,12 +12,12 @@ core-packages:
- deepseq-1.4.3.0 - deepseq-1.4.3.0
- directory-1.3.1.5 - directory-1.3.1.5
- filepath-1.4.2 - filepath-1.4.2
- ghc-8.4.3 - ghc-8.4.4
- ghc-boot-8.4.3 - ghc-boot-8.4.4
- ghc-boot-th-8.4.3 - ghc-boot-th-8.4.4
- ghc-compact-0.1.0.0 - ghc-compact-0.1.0.0
- ghc-prim-0.5.2.0 - ghc-prim-0.5.2.0
- ghci-8.4.3 - ghci-8.4.4
- haskeline-0.7.4.2 - haskeline-0.7.4.2
- hpc-0.6.0.3 - hpc-0.6.0.3
- integer-gmp-1.0.2.0 - integer-gmp-1.0.2.0
@ -26,10 +26,10 @@ core-packages:
- pretty-1.1.3.6 - pretty-1.1.3.6
- process-1.6.3.0 - process-1.6.3.0
- rts-1.0 - rts-1.0
- stm-2.4.5.0 - stm-2.4.5.1
- template-haskell-2.13.0.0 - template-haskell-2.13.0.0
- terminfo-0.4.1.1 - terminfo-0.4.1.1
- text-1.2.3.0 - text-1.2.3.1
- time-1.8.0.2 - time-1.8.0.2
- transformers-0.5.5.0 - transformers-0.5.5.0
- unix-2.7.2.2 - 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 # the latest Devel version
perldevel = common { perldevel = common {
version = "5.29.3"; version = "5.29.4";
sha256 = "054xi629408p2hv9475jghv6zd1bj69qqpiby8cy9qw5vismgi17"; 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 { stdenv.mkDerivation rec {
name = "granite-${version}"; pname = "granite";
version = "5.1.0"; version = "5.2.0";
name = "${pname}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elementary"; owner = "elementary";
repo = "granite"; repo = pname;
rev = version; rev = version;
sha256 = "1v1yhz6rp616xi417m9r8072s6mpz5i8vkdyj264b73p0lgjwh40"; sha256 = "1v1yhz6rp616xi417m9r8072s6mpz5i8vkdyj264b73p0lgjwh40";
}; };
@ -21,10 +23,10 @@ stdenv.mkDerivation rec {
gettext gettext
gobjectIntrospection gobjectIntrospection
ninja ninja
perl
pkgconfig pkgconfig
vala_0_40 vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
]; ];
buildInputs = [ buildInputs = [
glib glib
gnome3.libgee gnome3.libgee
@ -33,9 +35,12 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An extension to GTK+ used by elementary OS"; 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; homepage = https://github.com/elementary/granite;
license = licenses.lgpl3; license = licenses.lgpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ vozz worldofpeace ]; maintainers = with maintainers; [ vozz worldofpeace ];
}; };

View File

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

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
configureFlags = [ "--with-gssapi-impl=mit" ]; configureFlags = [ "--with-gssapi-impl=mit" ];
doCheck = true; doCheck = !stdenv.hostPlatform.isDarwin;
meta = { meta = {
description = "GNU SASL, Simple Authentication and Security Layer library"; 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]; buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng];
meta = { meta = with stdenv.lib; {
platforms = stdenv.lib.platforms.unix; description = "An image loading and rendering library for X11";
platforms = platforms.unix;
license = with licenses; [ gpl2 lgpl2 ];
}; };
} }

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "incrtcl-${version}"; name = "incrtcl-${version}";
version = "4.0.4"; version = "4.0.4";
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.0.4.tar.gz; url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.0.4.tar.gz;
sha256 = "1ppc9b13cvmc6rp77k7dl2zb26xk0z30vxygmr4h1xr2r8w091k3"; sha256 = "1ppc9b13cvmc6rp77k7dl2zb26xk0z30vxygmr4h1xr2r8w091k3";
@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
libPrefix = "itcl3.4"; libPrefix = "itcl3.4";
}; };
meta = { meta = with stdenv.lib; {
homepage = http://incrtcl.sourceforge.net/; homepage = http://incrtcl.sourceforge.net/;
description = "Object Oriented Enhancements for Tcl/Tk"; description = "Object Oriented Enhancements for Tcl/Tk";
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
license = licenses.tcltk;
}; };
} }

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jama-${version}"; name = "jama-${version}";
version = "1.2.5"; version = "1.2.5";
src = fetchurl { src = fetchurl {
url = https://math.nist.gov/tnt/jama125.zip; url = https://math.nist.gov/tnt/jama125.zip;
sha256 = "031ns526fvi2nv7jzzv02i7i5sjcyr0gj884i3an67qhsx8vyckl"; sha256 = "031ns526fvi2nv7jzzv02i7i5sjcyr0gj884i3an67qhsx8vyckl";
@ -21,9 +21,10 @@ stdenv.mkDerivation rec {
cp *.h $out/include cp *.h $out/include
''; '';
meta = { meta = with stdenv.lib; {
homepage = https://math.nist.gov/tnt/; homepage = https://math.nist.gov/tnt/;
description = "JAMA/C++ Linear Algebra Package: Java-like matrix C++ templates"; 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/; homepage = https://www.ece.uvic.ca/~frodo/jasper/;
description = "JPEG2000 Library"; description = "JPEG2000 Library";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.jasper;
maintainers = with maintainers; [ pSub ]; 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 -e "s|install: install-bin install-man install-doc|install: install-bin|" Makefile
''; '';
meta = { meta = with stdenv.lib; {
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.sander ]; maintainers = [ maintainers.sander ];
license = licenses.afl21;
}; };
} }

View File

@ -3,13 +3,14 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "gwt-dnd-2.6.5"; name = "gwt-dnd-2.6.5";
builder = ./builder.sh; builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = http://gwt-dnd.googlecode.com/files/gwt-dnd-2.6.5.jar; url = http://gwt-dnd.googlecode.com/files/gwt-dnd-2.6.5.jar;
sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw"; sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw";
}; };
meta = { meta = with stdenv.lib; {
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
license = licenses.asl20;
}; };
} }

View File

@ -3,13 +3,14 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "gwt-widgets-0.2.0"; name = "gwt-widgets-0.2.0";
builder = ./builder.sh; builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/gwt-widget/gwt-widgets-0.2.0-bin.tar.gz; url = mirror://sourceforge/gwt-widget/gwt-widgets-0.2.0-bin.tar.gz;
sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb"; sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb";
}; };
meta = { meta = with stdenv.lib; {
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
license = with licenses; [ afl21 lgpl2 ];
}; };
} }

View File

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

View File

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

View File

@ -9,7 +9,10 @@ stdenv.mkDerivation {
sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf"; sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
}; };
meta = { meta = with stdenv.lib; {
platforms = stdenv.lib.platforms.unix; 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}''; PREFIX=''''${out}'';
buildInputs = [ jdk ]; buildInputs = [ jdk ];
meta = { meta = with stdenv.lib; {
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.sander ]; maintainers = [ maintainers.sander ];
license = licenses.mit;
}; };
} }

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