Merge master into staging-next
This commit is contained in:
commit
ea3935a6c4
24
.github/CODEOWNERS
vendored
24
.github/CODEOWNERS
vendored
@ -12,7 +12,7 @@
|
||||
|
||||
# Libraries
|
||||
/lib @edolstra @nbp
|
||||
/lib/systems @nbp @ericson2314
|
||||
/lib/systems @nbp @ericson2314 @matthewbauer
|
||||
/lib/generators.nix @edolstra @nbp @Profpatsch
|
||||
/lib/debug.nix @edolstra @nbp @Profpatsch
|
||||
|
||||
@ -20,9 +20,11 @@
|
||||
/default.nix @nbp
|
||||
/pkgs/top-level/default.nix @nbp @Ericson2314
|
||||
/pkgs/top-level/impure.nix @nbp @Ericson2314
|
||||
/pkgs/top-level/stage.nix @nbp @Ericson2314
|
||||
/pkgs/stdenv/generic @Ericson2314
|
||||
/pkgs/stdenv/cross @Ericson2314
|
||||
/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
|
||||
/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
|
||||
/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer
|
||||
/pkgs/stdenv/generic @Ericson2314 @matthewbauer
|
||||
/pkgs/stdenv/cross @Ericson2314 @matthewbauer
|
||||
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej
|
||||
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
|
||||
/pkgs/build-support/setup-hooks @Ericson2314
|
||||
@ -74,6 +76,14 @@
|
||||
/pkgs/stdenv/darwin @NixOS/darwin-maintainers
|
||||
/pkgs/os-specific/darwin @NixOS/darwin-maintainers
|
||||
|
||||
# C compilers
|
||||
/pkgs/development/compilers/gcc @matthewbauer
|
||||
/pkgs/development/compilers/llvm @matthewbauer
|
||||
|
||||
# Compatibility stuff
|
||||
/pkgs/top-level/unix-tools.nix @matthewbauer
|
||||
/pkgs/development/tools/xcbuild @matthewbauer
|
||||
|
||||
# Beam-related (Erlang, Elixir, LFE, etc)
|
||||
/pkgs/development/beam-modules @gleber
|
||||
/pkgs/development/interpreters/erlang @gleber
|
||||
@ -97,3 +107,9 @@
|
||||
/pkgs/desktops/plasma-5 @ttuegel
|
||||
/pkgs/development/libraries/kde-frameworks @ttuegel
|
||||
/pkgs/development/libraries/qt-5 @ttuegel
|
||||
|
||||
# PostgreSQL and related stuff
|
||||
/pkgs/servers/sql/postgresql @thoughtpolice
|
||||
/nixos/modules/services/databases/postgresql.xml @thoughtpolice
|
||||
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
|
||||
/nixos/tests/postgresql.nix @thoughtpolice
|
||||
|
@ -400,6 +400,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
free = false;
|
||||
};
|
||||
|
||||
jasper = spdx {
|
||||
spdxId = "JasPer-2.0";
|
||||
fullName = "JasPer License";
|
||||
};
|
||||
|
||||
lgpl2 = spdx {
|
||||
spdxId = "LGPL-2.0";
|
||||
|
@ -471,6 +471,7 @@ rec {
|
||||
"x86_64-linux" = pc64;
|
||||
"armv5tel-linux" = sheevaplug;
|
||||
"armv6l-linux" = raspberrypi;
|
||||
"armv7a-linux" = armv7l-hf-multiplatform;
|
||||
"armv7l-linux" = armv7l-hf-multiplatform;
|
||||
"aarch64-linux" = aarch64-multiplatform;
|
||||
"mipsel-linux" = fuloong2f_n32;
|
||||
|
@ -3910,6 +3910,11 @@
|
||||
github = "sjagoe";
|
||||
name = "Simon Jagoe";
|
||||
};
|
||||
sjau = {
|
||||
email = "nixos@sjau.ch";
|
||||
github = "sjau";
|
||||
name = "Stephan Jau";
|
||||
};
|
||||
sjmackenzie = {
|
||||
email = "setori88@gmail.com";
|
||||
github = "sjmackenzie";
|
||||
@ -4158,6 +4163,11 @@
|
||||
github = "taku0";
|
||||
name = "Takuo Yonezawa";
|
||||
};
|
||||
talyz = {
|
||||
email = "kim.lindberger@gmail.com";
|
||||
github = "talyz";
|
||||
name = "Kim Lindberger";
|
||||
};
|
||||
tari = {
|
||||
email = "peter@taricorp.net";
|
||||
github = "tari";
|
||||
|
@ -97,6 +97,16 @@
|
||||
start org.nixos.nix-daemon</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The Syncthing state and configuration data has been moved from
|
||||
<varname>services.syncthing.dataDir</varname> to the newly defined
|
||||
<varname>services.syncthing.configDir</varname>, which default to
|
||||
<literal>/var/lib/syncthing/.config/syncthing</literal>.
|
||||
This change makes possible to share synced directories using ACLs
|
||||
without Syncthing resetting the permission on every start.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -332,6 +332,7 @@
|
||||
lirc = 305;
|
||||
lidarr = 306;
|
||||
slurm = 307;
|
||||
kapacitor = 308;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
@ -624,6 +625,7 @@
|
||||
lirc = 305;
|
||||
lidarr = 306;
|
||||
slurm = 307;
|
||||
kapacitor = 308;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
@ -433,6 +433,7 @@
|
||||
./services/monitoring/hdaps.nix
|
||||
./services/monitoring/heapster.nix
|
||||
./services/monitoring/incron.nix
|
||||
./services/monitoring/kapacitor.nix
|
||||
./services/monitoring/longview.nix
|
||||
./services/monitoring/monit.nix
|
||||
./services/monitoring/munin.nix
|
||||
|
@ -13,7 +13,7 @@ with lib;
|
||||
# Set up the per-user profile.
|
||||
mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR"
|
||||
if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then
|
||||
echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR, should be $(id -u)" >&2
|
||||
echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2
|
||||
fi
|
||||
|
||||
if [ -w "$HOME" ]; then
|
||||
@ -35,7 +35,7 @@ with lib;
|
||||
NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER"
|
||||
mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR"
|
||||
if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then
|
||||
echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR, should be $(id -u)" >&2
|
||||
echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2
|
||||
fi
|
||||
|
||||
# Set up a default Nix expression from which to install stuff.
|
||||
|
@ -28,7 +28,10 @@ with lib;
|
||||
(config:
|
||||
let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
|
||||
in if enabled then [ pkgs.gutenprint ] else [ ]))
|
||||
(mkRenamedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ])
|
||||
(mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
|
||||
(config:
|
||||
let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
|
||||
in if value != "" then [ value ] else []))
|
||||
(mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
|
||||
(mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])
|
||||
|
@ -271,5 +271,5 @@ in
|
||||
};
|
||||
|
||||
meta.doc = ./postgresql.xml;
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ thoughtpolice ];
|
||||
}
|
||||
|
@ -14,15 +14,16 @@ let
|
||||
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
||||
pgSuperUser = config.services.postgresql.superUser;
|
||||
|
||||
databaseYml = ''
|
||||
production:
|
||||
adapter: postgresql
|
||||
database: ${cfg.databaseName}
|
||||
host: ${cfg.databaseHost}
|
||||
password: ${cfg.databasePassword}
|
||||
username: ${cfg.databaseUsername}
|
||||
encoding: utf8
|
||||
'';
|
||||
databaseConfig = {
|
||||
production = {
|
||||
adapter = "postgresql";
|
||||
database = cfg.databaseName;
|
||||
host = cfg.databaseHost;
|
||||
password = cfg.databasePassword;
|
||||
username = cfg.databaseUsername;
|
||||
encoding = "utf8";
|
||||
};
|
||||
};
|
||||
|
||||
gitalyToml = pkgs.writeText "gitaly.toml" ''
|
||||
socket_path = "${lib.escape ["\""] gitalySocket}"
|
||||
@ -45,35 +46,31 @@ let
|
||||
'') gitlabConfig.production.repositories.storages))}
|
||||
'';
|
||||
|
||||
gitlabShellYml = ''
|
||||
user: ${cfg.user}
|
||||
gitlab_url: "http+unix://${pathUrlQuote gitlabSocket}"
|
||||
http_settings:
|
||||
self_signed_cert: false
|
||||
repos_path: "${cfg.statePath}/repositories"
|
||||
secret_file: "${cfg.statePath}/config/gitlab_shell_secret"
|
||||
log_file: "${cfg.statePath}/log/gitlab-shell.log"
|
||||
custom_hooks_dir: "${cfg.statePath}/custom_hooks"
|
||||
redis:
|
||||
bin: ${pkgs.redis}/bin/redis-cli
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
database: 0
|
||||
namespace: resque:gitlab
|
||||
'';
|
||||
gitlabShellConfig = {
|
||||
user = cfg.user;
|
||||
gitlab_url = "http+unix://${pathUrlQuote gitlabSocket}";
|
||||
http_settings.self_signed_cert = false;
|
||||
repos_path = "${cfg.statePath}/repositories";
|
||||
secret_file = "${cfg.statePath}/config/gitlab_shell_secret";
|
||||
log_file = "${cfg.statePath}/log/gitlab-shell.log";
|
||||
custom_hooks_dir = "${cfg.statePath}/custom_hooks";
|
||||
redis = {
|
||||
bin = "${pkgs.redis}/bin/redis-cli";
|
||||
host = "127.0.0.1";
|
||||
port = 6379;
|
||||
database = 0;
|
||||
namespace = "resque:gitlab";
|
||||
};
|
||||
};
|
||||
|
||||
redisYml = ''
|
||||
production:
|
||||
url: redis://localhost:6379/
|
||||
'';
|
||||
redisConfig.production.url = "redis://localhost:6379/";
|
||||
|
||||
secretsYml = ''
|
||||
production:
|
||||
secret_key_base: ${cfg.secrets.secret}
|
||||
otp_key_base: ${cfg.secrets.otp}
|
||||
db_key_base: ${cfg.secrets.db}
|
||||
openid_connect_signing_key: ${builtins.toJSON cfg.secrets.jws}
|
||||
'';
|
||||
secretsConfig.production = {
|
||||
secret_key_base = cfg.secrets.secret;
|
||||
otp_key_base = cfg.secrets.otp;
|
||||
db_key_base = cfg.secrets.db;
|
||||
openid_connect_signing_key = cfg.secrets.jws;
|
||||
};
|
||||
|
||||
gitlabConfig = {
|
||||
# These are the default settings from config/gitlab.example.yml
|
||||
@ -115,12 +112,8 @@ let
|
||||
upload_pack = true;
|
||||
receive_pack = true;
|
||||
};
|
||||
workhorse = {
|
||||
secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
|
||||
};
|
||||
git = {
|
||||
bin_path = "git";
|
||||
};
|
||||
workhorse.secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
|
||||
git.bin_path = "git";
|
||||
monitoring = {
|
||||
ip_whitelist = [ "127.0.0.0/8" "::1/128" ];
|
||||
sidekiq_exporter = {
|
||||
@ -138,7 +131,7 @@ let
|
||||
HOME = "${cfg.statePath}/home";
|
||||
UNICORN_PATH = "${cfg.statePath}/";
|
||||
GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
|
||||
GITLAB_STATE_PATH = "${cfg.statePath}";
|
||||
GITLAB_STATE_PATH = cfg.statePath;
|
||||
GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
|
||||
SCHEMA = "${cfg.statePath}/db/schema.rb";
|
||||
GITLAB_LOG_PATH = "${cfg.statePath}/log";
|
||||
@ -146,13 +139,11 @@ let
|
||||
GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
|
||||
GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret";
|
||||
GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks";
|
||||
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "gitlab-redis.yml" redisYml;
|
||||
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "redis.yml" (builtins.toJSON redisConfig);
|
||||
prometheus_multiproc_dir = "/run/gitlab";
|
||||
RAILS_ENV = "production";
|
||||
};
|
||||
|
||||
unicornConfig = builtins.readFile ./defaultUnicornConfig.rb;
|
||||
|
||||
gitlab-rake = pkgs.stdenv.mkDerivation rec {
|
||||
name = "gitlab-rake";
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
@ -162,7 +153,6 @@ let
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
||||
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
||||
--set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
|
||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
|
||||
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
|
||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||
@ -306,7 +296,6 @@ in {
|
||||
|
||||
initialRootPassword = mkOption {
|
||||
type = types.str;
|
||||
default = "UseNixOS!";
|
||||
description = ''
|
||||
Initial password of the root account if this is a new install.
|
||||
'';
|
||||
@ -461,10 +450,30 @@ in {
|
||||
}
|
||||
];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /run/gitlab 0755 ${cfg.user} ${cfg.group} -"
|
||||
"d ${gitlabEnv.HOME} 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.backupPath} 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/shell 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/tmp/pids 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/tmp/sockets 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/uploads 0700 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/custom_hooks/pre-receive.d 0700 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/custom_hooks/post-receive.d 0700 ${cfg.user} ${cfg.group} -"
|
||||
"d ${cfg.statePath}/custom_hooks/update.d 0700 ${cfg.user} ${cfg.group} -"
|
||||
"d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
|
||||
];
|
||||
|
||||
systemd.services.gitlab-sidekiq = {
|
||||
after = [ "network.target" "redis.service" ];
|
||||
after = [ "network.target" "redis.service" "gitlab.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
partOf = [ "gitlab.service" ];
|
||||
environment = gitlabEnv;
|
||||
path = with pkgs; [
|
||||
config.services.postgresql.package
|
||||
@ -486,10 +495,8 @@ in {
|
||||
};
|
||||
|
||||
systemd.services.gitaly = {
|
||||
after = [ "network.target" "gitlab.service" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment.HOME = gitlabEnv.HOME;
|
||||
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
|
||||
path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
@ -505,8 +512,6 @@ in {
|
||||
systemd.services.gitlab-workhorse = {
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment.HOME = gitlabEnv.HOME;
|
||||
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
|
||||
path = with pkgs; [
|
||||
gitAndTools.git
|
||||
gnutar
|
||||
@ -514,10 +519,6 @@ in {
|
||||
openssh
|
||||
gitlab-workhorse
|
||||
];
|
||||
preStart = ''
|
||||
mkdir -p /run/gitlab
|
||||
chown ${cfg.user}:${cfg.group} /run/gitlab
|
||||
'';
|
||||
serviceConfig = {
|
||||
PermissionsStartOnly = true; # preStart must be run as root
|
||||
Type = "simple";
|
||||
@ -538,7 +539,7 @@ in {
|
||||
};
|
||||
|
||||
systemd.services.gitlab = {
|
||||
after = [ "network.target" "postgresql.service" "redis.service" ];
|
||||
after = [ "gitlab-workhorse.service" "gitaly.service" "network.target" "postgresql.service" "redis.service" ];
|
||||
requires = [ "gitlab-sidekiq.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = gitlabEnv;
|
||||
@ -551,102 +552,75 @@ in {
|
||||
gnupg
|
||||
];
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.backupPath}
|
||||
mkdir -p ${cfg.statePath}/builds
|
||||
mkdir -p ${cfg.statePath}/repositories
|
||||
mkdir -p ${gitlabConfig.production.shared.path}/artifacts
|
||||
mkdir -p ${gitlabConfig.production.shared.path}/lfs-objects
|
||||
mkdir -p ${gitlabConfig.production.shared.path}/pages
|
||||
mkdir -p ${cfg.statePath}/log
|
||||
mkdir -p ${cfg.statePath}/tmp/pids
|
||||
mkdir -p ${cfg.statePath}/tmp/sockets
|
||||
mkdir -p ${cfg.statePath}/shell
|
||||
mkdir -p ${cfg.statePath}/db
|
||||
mkdir -p ${cfg.statePath}/uploads
|
||||
mkdir -p ${cfg.statePath}/custom_hooks/pre-receive.d
|
||||
mkdir -p ${cfg.statePath}/custom_hooks/post-receive.d
|
||||
mkdir -p ${cfg.statePath}/custom_hooks/update.d
|
||||
|
||||
rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
|
||||
mkdir -p ${cfg.statePath}/config
|
||||
|
||||
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret
|
||||
|
||||
mkdir -p /run/gitlab
|
||||
mkdir -p ${cfg.statePath}/log
|
||||
[ -d /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
|
||||
[ -d /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
|
||||
[ -d /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
|
||||
ln -sf $GITLAB_SHELL_CONFIG_PATH /run/gitlab/shell-config.yml
|
||||
chown -R ${cfg.user}:${cfg.group} /run/gitlab
|
||||
|
||||
# Prepare home directory
|
||||
mkdir -p ${gitlabEnv.HOME}/.ssh
|
||||
touch ${gitlabEnv.HOME}/.ssh/authorized_keys
|
||||
chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
|
||||
|
||||
cp -rf ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
|
||||
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||
${optionalString cfg.smtp.enable ''
|
||||
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
||||
''}
|
||||
ln -sf ${cfg.statePath}/config /run/gitlab/config
|
||||
if [ -e ${cfg.statePath}/lib ]; then
|
||||
rm ${cfg.statePath}/lib
|
||||
fi
|
||||
ln -sf ${pkgs.gitlab}/share/gitlab/lib ${cfg.statePath}/lib
|
||||
|
||||
ln -sf ${cfg.packages.gitlab}/share/gitlab/lib ${cfg.statePath}/lib
|
||||
[ -L /run/gitlab/config ] || ln -sf ${cfg.statePath}/config /run/gitlab/config
|
||||
[ -L /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
|
||||
[ -L /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
|
||||
[ -L /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
|
||||
${optionalString cfg.smtp.enable ''
|
||||
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
||||
''}
|
||||
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||
|
||||
# JSON is a subset of YAML
|
||||
ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
|
||||
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml
|
||||
ln -fs ${pkgs.writeText "secrets.yml" secretsYml} ${cfg.statePath}/config/secrets.yml
|
||||
ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb
|
||||
ln -sf ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
|
||||
ln -sf ${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} ${cfg.statePath}/config/database.yml
|
||||
ln -sf ${pkgs.writeText "secrets.yml" (builtins.toJSON secretsConfig)} ${cfg.statePath}/config/secrets.yml
|
||||
ln -sf ${./defaultUnicornConfig.rb} ${cfg.statePath}/config/unicorn.rb
|
||||
|
||||
# Install the shell required to push repositories
|
||||
ln -sf ${pkgs.writeText "config.yml" (builtins.toJSON gitlabShellConfig)} /run/gitlab/shell-config.yml
|
||||
[ -L ${cfg.statePath}/shell/hooks ] || ln -sf ${cfg.packages.gitlab-shell}/hooks ${cfg.statePath}/shell/hooks
|
||||
${cfg.packages.gitlab-shell}/bin/install
|
||||
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/
|
||||
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}/
|
||||
chown -R ${cfg.user}:${cfg.group} /run/gitlab
|
||||
|
||||
# Install the shell required to push repositories
|
||||
ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} "$GITLAB_SHELL_CONFIG_PATH"
|
||||
ln -fs ${cfg.packages.gitlab-shell}/hooks "$GITLAB_SHELL_HOOKS_PATH"
|
||||
${cfg.packages.gitlab-shell}/bin/install
|
||||
|
||||
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
|
||||
if ! test -e "${cfg.statePath}/db-created"; then
|
||||
if ! test -e "${cfg.statePath}/db-created"; then
|
||||
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
|
||||
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'"
|
||||
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} ${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName}
|
||||
touch "${cfg.statePath}/db-created"
|
||||
|
||||
# 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
|
||||
|
||||
# enable required pg_trgm extension for gitlab
|
||||
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql ${cfg.databaseName} -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake db:schema:load
|
||||
|
||||
touch "${cfg.statePath}/db-created"
|
||||
fi
|
||||
|
||||
# Always do the db migrations just to be sure the database is up-to-date
|
||||
${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
|
||||
${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.user} ${gitlab-rake}/bin/gitlab-rake db:seed_fu \
|
||||
GITLAB_ROOT_PASSWORD='${cfg.initialRootPassword}' GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
|
||||
touch "${cfg.statePath}/db-seeded"
|
||||
fi
|
||||
|
||||
# The gitlab:shell:setup regenerates the authorized_keys file so that
|
||||
# the store path to the gitlab-shell in it gets updated
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.user} force=yes ${gitlab-rake}/bin/gitlab-rake gitlab:shell:setup RAILS_ENV=production
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H force=yes ${gitlab-rake}/bin/gitlab-rake gitlab:shell:setup
|
||||
|
||||
# The gitlab:shell:create_hooks task seems broken for fixing links
|
||||
# so we instead delete all the hooks and create them anew
|
||||
rm -f ${cfg.statePath}/repositories/**/*.git/hooks
|
||||
${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks RAILS_ENV=production
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks
|
||||
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${pkgs.git}/bin/git config --global core.autocrlf "input"
|
||||
|
||||
# Change permissions in the last step because some of the
|
||||
# intermediary scripts like to create directories as root.
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
|
||||
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}
|
||||
chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}
|
||||
chmod -R ug+rwX,o-rwx ${cfg.statePath}/repositories
|
||||
chmod -R ug-s ${cfg.statePath}/repositories
|
||||
|
@ -157,6 +157,7 @@ in {
|
||||
Restart = "on-failure";
|
||||
ProtectSystem = "strict";
|
||||
ReadWritePaths = "${cfg.configDir}";
|
||||
KillSignal = "SIGINT";
|
||||
PrivateTmp = true;
|
||||
RemoveIPC = true;
|
||||
};
|
||||
|
154
nixos/modules/services/monitoring/kapacitor.nix
Normal file
154
nixos/modules/services/monitoring/kapacitor.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
@ -93,6 +93,8 @@ in
|
||||
|
||||
services.timesyncd.enable = mkForce false;
|
||||
|
||||
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service"; };
|
||||
|
||||
systemd.services.chronyd =
|
||||
{ description = "chrony NTP daemon";
|
||||
|
||||
|
@ -67,6 +67,8 @@ in
|
||||
environment.systemPackages = [ pkgs.ntp ];
|
||||
services.timesyncd.enable = mkForce false;
|
||||
|
||||
systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "ntpd.service"; };
|
||||
|
||||
users.users = singleton
|
||||
{ name = ntpUser;
|
||||
uid = config.ids.uids.ntp;
|
||||
|
@ -62,9 +62,21 @@ in {
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/syncthing";
|
||||
description = ''
|
||||
Path where synced directories will exist.
|
||||
'';
|
||||
};
|
||||
|
||||
configDir = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path where the settings and keys will exist.
|
||||
'';
|
||||
default =
|
||||
let
|
||||
nixos = config.system.stateVersion;
|
||||
cond = versionAtLeast nixos "19.03";
|
||||
in cfg.dataDir + (optionalString cond "/.config/syncthing");
|
||||
};
|
||||
|
||||
openDefaultPorts = mkOption {
|
||||
@ -144,7 +156,7 @@ in {
|
||||
${cfg.package}/bin/syncthing \
|
||||
-no-browser \
|
||||
-gui-address=${cfg.guiAddress} \
|
||||
-home=${cfg.dataDir}
|
||||
-home=${cfg.configDir}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
@ -39,7 +39,8 @@ in
|
||||
systemd.services.zerotierone = {
|
||||
description = "ZeroTierOne";
|
||||
path = [ cfg.package ];
|
||||
after = [ "network.target" ];
|
||||
bindsTo = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart = ''
|
||||
mkdir -p /var/lib/zerotier-one/networks.d
|
||||
|
@ -22,6 +22,7 @@ let
|
||||
gnugrep
|
||||
findutils
|
||||
getent
|
||||
stdenv.cc.libc # nscd in update-users-groups.pl
|
||||
shadow
|
||||
nettools # needed for hostname
|
||||
utillinux # needed for mount and mountpoint
|
||||
|
135
nixos/modules/virtualisation/docker-preloader.nix
Normal file
135
nixos/modules/virtualisation/docker-preloader.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -185,7 +185,10 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
imports = [ ../profiles/qemu-guest.nix ];
|
||||
imports = [
|
||||
../profiles/qemu-guest.nix
|
||||
./docker-preloader.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
|
||||
|
@ -283,6 +283,7 @@ in rec {
|
||||
tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {};
|
||||
tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
|
||||
tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.nix {};
|
||||
tests.docker-preloader = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-preloader.nix {};
|
||||
tests.docker-registry = callTest tests/docker-registry.nix {};
|
||||
tests.dovecot = callTest tests/dovecot.nix {};
|
||||
tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
|
||||
@ -300,7 +301,7 @@ in rec {
|
||||
tests.fsck = callTest tests/fsck.nix {};
|
||||
tests.fwupd = callTest tests/fwupd.nix {};
|
||||
tests.gdk-pixbuf = callTest tests/gdk-pixbuf.nix {};
|
||||
#tests.gitlab = callTest tests/gitlab.nix {};
|
||||
tests.gitlab = callTest tests/gitlab.nix {};
|
||||
tests.gitolite = callTest tests/gitolite.nix {};
|
||||
tests.gjs = callTest tests/gjs.nix {};
|
||||
tests.gocd-agent = callTest tests/gocd-agent.nix {};
|
||||
|
@ -12,8 +12,10 @@ with pkgs.lib;
|
||||
|
||||
mapAttrs (channel: chromiumPkg: makeTest rec {
|
||||
name = "chromium-${channel}";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ aszlig ];
|
||||
meta = {
|
||||
maintainers = with maintainers; [ aszlig ];
|
||||
# https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
|
||||
inherit (chromiumPkg.meta) timeout;
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
@ -166,7 +168,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
||||
|
||||
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
|
||||
die "sandbox not working properly: $clipboard"
|
||||
unless $clipboard =~ /namespace sandbox.*yes/mi
|
||||
unless $clipboard =~ /layer 1 sandbox.*namespace/mi
|
||||
&& $clipboard =~ /pid namespaces.*yes/mi
|
||||
&& $clipboard =~ /network namespaces.*yes/mi
|
||||
&& $clipboard =~ /seccomp.*sandbox.*yes/mi
|
||||
@ -184,7 +186,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
||||
|
||||
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
|
||||
die "copying twice in a row does not work properly: $clipboard"
|
||||
unless $clipboard =~ /namespace sandbox.*yes/mi
|
||||
unless $clipboard =~ /layer 1 sandbox.*namespace/mi
|
||||
&& $clipboard =~ /pid namespaces.*yes/mi
|
||||
&& $clipboard =~ /network namespaces.*yes/mi
|
||||
&& $clipboard =~ /seccomp.*sandbox.*yes/mi
|
||||
|
27
nixos/tests/docker-preloader.nix
Normal file
27
nixos/tests/docker-preloader.nix
Normal 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");
|
||||
'';
|
||||
})
|
@ -1,14 +1,18 @@
|
||||
# This test runs gitlab and checks if it works
|
||||
|
||||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
|
||||
name = "gitlab";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ domenkozar offline ];
|
||||
maintainers = [ globin ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
gitlab = { ... }: {
|
||||
virtualisation.memorySize = 768;
|
||||
virtualisation.memorySize = 4096;
|
||||
systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
|
||||
systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
|
||||
systemd.services.gitaly.serviceConfig.Restart = mkForce "no";
|
||||
systemd.services.gitlab-sidekiq.serviceConfig.Restart = mkForce "no";
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
@ -19,10 +23,10 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.gitlab.serviceConfig.TimeoutStartSec = "10min";
|
||||
services.gitlab = {
|
||||
enable = true;
|
||||
databasePassword = "dbPassword";
|
||||
initialRootPassword = "notproduction";
|
||||
secrets = {
|
||||
secret = "secret";
|
||||
otp = "otpsecret";
|
||||
@ -65,8 +69,12 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
|
||||
testScript = ''
|
||||
$gitlab->start();
|
||||
$gitlab->waitForUnit("gitaly.service");
|
||||
$gitlab->waitForUnit("gitlab-workhorse.service");
|
||||
$gitlab->waitForUnit("gitlab.service");
|
||||
$gitlab->waitForUnit("gitlab-sidekiq.service");
|
||||
$gitlab->waitUntilSucceeds("curl http://localhost:80/users/sign_in");
|
||||
$gitlab->waitForFile("/var/gitlab/state/tmp/sockets/gitlab.socket");
|
||||
$gitlab->waitUntilSucceeds("curl -sSf http://localhost/users/sign_in");
|
||||
$gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2")
|
||||
'';
|
||||
})
|
||||
|
30
pkgs/applications/audio/avldrums-lv2/default.nix
Normal file
30
pkgs/applications/audio/avldrums-lv2/default.nix
Normal 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" ];
|
||||
};
|
||||
}
|
@ -40,15 +40,6 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace "chibios/os/various/shell.c" \
|
||||
--replace "#ifdef __DATE__" "#if 0"
|
||||
|
||||
# Hardcode full path to compiler tools
|
||||
for f in "firmware/Makefile.patch" \
|
||||
"firmware/Makefile" \
|
||||
"firmware/flasher/Makefile" \
|
||||
"firmware/mounter/Makefile"; do
|
||||
substituteInPlace "$f" \
|
||||
--replace "arm-none-eabi-" "${gcc-arm-embedded}/bin/arm-none-eabi-"
|
||||
done
|
||||
|
||||
# Hardcode path to "make"
|
||||
for f in "firmware/compile_firmware_linux.sh" \
|
||||
"firmware/compile_patch_linux.sh"; do
|
||||
|
36
pkgs/applications/audio/cmusfm/default.nix
Normal file
36
pkgs/applications/audio/cmusfm/default.nix
Normal 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;
|
||||
};
|
||||
}
|
49
pkgs/applications/audio/hybridreverb2/default.nix
Normal file
49
pkgs/applications/audio/hybridreverb2/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lightdm-mini-greeter-${version}";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prikhi";
|
||||
repo = "lightdm-mini-greeter";
|
||||
rev = version;
|
||||
sha256 = "1g3lrh034w38hiq96b0xmghmlf87hcycwdh06dwkdksr0hl08wxy";
|
||||
sha256 = "1xlj5wqagp765rqw40ci4wir21qwyszasynk82x8308k5d3asvwb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A minimal, configurable, single-user GTK3 LightDM greeter";
|
||||
homepage = https://github.com/prikhi/lightdm-mini-greeter;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ mnacamura ];
|
||||
maintainers = with maintainers; [ mnacamura prikhi ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -13,9 +13,9 @@ let
|
||||
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "3.3.0.13"; # "Android Studio 3.3 Beta 1"
|
||||
build = "182.5073496";
|
||||
sha256Hash = "0bg1h0msd6mpkvirkg4pssa1ak32smv2rlxxsjdm3p29p8gg59px";
|
||||
version = "3.3.0.14"; # "Android Studio 3.3 Beta 2"
|
||||
build = "182.5078385";
|
||||
sha256Hash = "10jw508fzxbknfl1l058ksnnli2nav91wmh2x2p0mz96lkf5bvhn";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.4.0.1"; # "Android Studio 3.4 Canary 2"
|
||||
|
@ -3,14 +3,14 @@
|
||||
let
|
||||
versions = {
|
||||
atom = {
|
||||
version = "1.32.0";
|
||||
sha256 = "0dha8zi4gshxj993ns7ybi7q86pfqwzsasrk3a7b5xrdqbrcm5md";
|
||||
version = "1.32.1";
|
||||
sha256 = "1x22jbhvagqw9mvq0v7z4z09qp727vl0rkyvaxn98xnj9gvcfkq9";
|
||||
};
|
||||
|
||||
atom-beta = {
|
||||
version = "1.33.0";
|
||||
beta = 0;
|
||||
sha256 = "1x4s12zvfd2gjy7mimndbhs6x9k37jq4dyy6r1mzhwfysix74val";
|
||||
beta = 1;
|
||||
sha256 = "0sf98apmb57msgr5p1xly0mffzn2s808nsfsmbisk4qqmm9fv2m3";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, vala, pkgconfig, meson, ninja, python3
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3
|
||||
, granite, gtk3, desktop-file-utils, gnome3, gtksourceview, webkitgtk, gtkspell3
|
||||
, discount, gobjectIntrospection, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "quilter";
|
||||
version = "1.6.3";
|
||||
version = "1.6.8";
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "lainsce";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1wa0i6dgg6fgb7q9z33v9qmn1a1dn3ik58v1f3a49dvd5xyf8q6q";
|
||||
sha256 = "07i9pivpddgixn1wzbr15gvzf0n5pklx0gkjjaa35kvj2z8k31x5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -22,40 +22,19 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
vala
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
discount
|
||||
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
|
||||
gnome3.libgee
|
||||
granite
|
||||
gtk3
|
||||
gtksourceview
|
||||
gtkspell3
|
||||
webkitgtk
|
||||
gnome3.libgee
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix build with vala 0.42 - Drop these in next release
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lainsce/quilter/commit/a58838213cd7f2d33048c7b34b96dc8875612624.patch";
|
||||
sha256 = "1a4w1zql4zfk8scgrrssrm9n3sh5fsc1af5zvrqk8skbv7f2c80n";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lainsce/quilter/commit/d1800ce830343a1715bc83da3339816554896be5.patch";
|
||||
sha256 = "0xl5iz8bgx5661vbbq8qa1wkfvw9d3da67x564ckjfi05zq1vddz";
|
||||
})
|
||||
# Correct libMarkdown dependency discovery: See https://github.com/lainsce/quilter/pull/170
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lainsce/quilter/commit/8b1f3a60bd14cb86c1c62f9917c5f0c12bc4e459.patch";
|
||||
sha256 = "1kjc6ygf9yjvqfa4xhzxiava3338swp9wbjhpfaa3pyz3ayh188n";
|
||||
})
|
||||
# post_install script cleanups: See https://github.com/lainsce/quilter/pull/171
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lainsce/quilter/commit/55bf3b10cd94fcc40b0867bbdb1931a09f577922.patch";
|
||||
sha256 = "1330amichaif2qfrh4qkxwqbcpr87ipik7vzjbjdm2bv3jz9353r";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@ -65,9 +44,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Focus on your writing - designed for elementary OS";
|
||||
homepage = https://github.com/lainsce/quilter;
|
||||
license = licenses.gpl2Plus;
|
||||
homepage = https://github.com/lainsce/quilter;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ worldofpeace ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -129,6 +129,7 @@ let
|
||||
kontact = callPackage ./kontact.nix {};
|
||||
kontactinterface = callPackage ./kontactinterface.nix {};
|
||||
konquest = callPackage ./konquest.nix {};
|
||||
konqueror = callPackage ./konqueror.nix {};
|
||||
korganizer = callPackage ./korganizer.nix {};
|
||||
kpimtextedit = callPackage ./kpimtextedit.nix {};
|
||||
ksmtp = callPackage ./ksmtp {};
|
||||
|
20
pkgs/applications/kde/konqueror.nix
Normal file
20
pkgs/applications/kde/konqueror.nix
Normal 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; [ ];
|
||||
};
|
||||
}
|
||||
|
71
pkgs/applications/misc/gImageReader/default.nix
Normal file
71
pkgs/applications/misc/gImageReader/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -1,15 +1,15 @@
|
||||
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre10 }:
|
||||
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "josm-${version}";
|
||||
version = "14289";
|
||||
version = "14382";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
||||
sha256 = "102dph3479qskzf72cpb9139pq9ifka6pzna1c6s5rs2il6mfvsb";
|
||||
sha256 = "1a2nx9jr1fvw95gdvl9kj3z0cs6ndafm0k4l0lwfx9p9qn4lgzjg";
|
||||
};
|
||||
|
||||
buildInputs = [ jre10 makeWrapper ];
|
||||
buildInputs = [ jdk11 makeWrapper ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "josm";
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/bin $out/share/java
|
||||
cp -v $src $out/share/java/josm.jar
|
||||
|
||||
makeWrapper ${jre10}/bin/java $out/bin/josm \
|
||||
makeWrapper ${jdk11}/bin/java $out/bin/josm \
|
||||
--add-flags "-jar $out/share/java/josm.jar"
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, granite
|
||||
{ stdenv, fetchFromGitHub, vala_0_40, pkgconfig, meson, ninja, python3, granite
|
||||
, gtk3, gnome3, gtksourceview, json-glib, gobjectIntrospection, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "notejot";
|
||||
version = "1.4.5";
|
||||
version = "1.4.7";
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
@ -20,11 +20,12 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
vala
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
|
||||
gnome3.libgee
|
||||
granite
|
||||
gtk3
|
||||
@ -39,9 +40,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Stupidly-simple sticky notes applet";
|
||||
homepage = https://github.com/lainsce/notejot;
|
||||
license = licenses.gpl2Plus;
|
||||
homepage = https://github.com/lainsce/notejot;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ worldofpeace ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ in stdenv.mkDerivation {
|
||||
# XXX I would prefer to include these here, though we will need to file a bug upstream to get that changed.
|
||||
#"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
|
||||
#"-DAVRDUDE_PATH=${avrdude}/bin/avrdude"
|
||||
"-DNANO=OFF"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -64,10 +64,15 @@ stdenv.mkDerivation rec {
|
||||
(if i3Support || i3GapsSupport then makeWrapper else null)
|
||||
];
|
||||
|
||||
fixupPhase = if (i3Support || i3GapsSupport) then ''
|
||||
wrapProgram $out/bin/polybar \
|
||||
--prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
|
||||
'' else null;
|
||||
postConfigure = ''
|
||||
substituteInPlace ../include/settings.hpp --replace \
|
||||
"${stdenv.cc}" "${stdenv.cc.name}"
|
||||
'';
|
||||
|
||||
postInstall = if (i3Support || i3GapsSupport) then ''
|
||||
wrapProgram $out/bin/polybar \
|
||||
--prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
|
||||
'' else "";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake pkgconfig
|
||||
|
@ -3,47 +3,51 @@
|
||||
, gettext
|
||||
, libxml2
|
||||
, pkgconfig
|
||||
, gtk3
|
||||
, glib
|
||||
, granite
|
||||
, gtk3
|
||||
, gnome3
|
||||
, cmake
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
, elementary-cmake-modules
|
||||
, gobjectIntrospection
|
||||
, gsettings-desktop-schemas
|
||||
, vala_0_40
|
||||
, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "regextester-${version}";
|
||||
version = "0.1.7";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "artemanufrij";
|
||||
repo = "regextester";
|
||||
rev = version;
|
||||
sha256 = "07shdm10dc7jz2hka5dc51yp81a0dgc47nmkrp6fs6r9wqx0j30n";
|
||||
sha256 = "1xwwv1hccni1mrbl58f7ly4qfq6738vn24bcbl2q346633cd7kx3";
|
||||
};
|
||||
|
||||
XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
|
||||
"${granite}/share"
|
||||
"${gnome3.libgee}/share"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
vala
|
||||
cmake
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
gobjectIntrospection
|
||||
libxml2
|
||||
elementary-cmake-modules
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
wrapGAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
gtk3
|
||||
glib
|
||||
granite
|
||||
gtk3
|
||||
gnome3.defaultIconTheme
|
||||
gnome3.libgee
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A desktop application to test regular expressions interactively";
|
||||
homepage = https://github.com/artemanufrij/regextester;
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, python3Packages, hackrf, rtl-sdr }:
|
||||
{ stdenv, fetchFromGitHub, python3Packages
|
||||
, hackrf, rtl-sdr, airspy, limesuite }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "urh-${version}";
|
||||
@ -11,7 +12,7 @@ python3Packages.buildPythonApplication rec {
|
||||
sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c";
|
||||
};
|
||||
|
||||
buildInputs = [ hackrf rtl-sdr ];
|
||||
buildInputs = [ hackrf rtl-sdr airspy limesuite ];
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pyqt5 numpy psutil cython pyzmq
|
||||
];
|
||||
|
@ -222,6 +222,8 @@ let
|
||||
use_gold = true;
|
||||
gold_path = "${stdenv.cc}/bin";
|
||||
is_debug = false;
|
||||
# at least 2X compilation speedup
|
||||
use_jumbo_build = true;
|
||||
|
||||
proprietary_codecs = false;
|
||||
use_sysroot = false;
|
||||
|
@ -11,8 +11,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-alicloud";
|
||||
version = "1.17.0";
|
||||
sha256 = "1zmywmcgfmx5ccp0qxj912sqymisxdg2s84b4qclfa225hrbaqpn";
|
||||
version = "1.21.0";
|
||||
sha256 = "17853l2s5z1y2g24wdkapdp26hw0sx5w73y118h0px85fiwhkq79";
|
||||
};
|
||||
archive =
|
||||
{
|
||||
@ -39,15 +39,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-aws";
|
||||
version = "1.38.0";
|
||||
sha256 = "1jhr2l8p7wf7kgr2y0c40n1jb9p2153xkpcp4b2half2vhsh1nwi";
|
||||
version = "1.42.0";
|
||||
sha256 = "1wi1m7i6vq53p36x1prax4yaz400834024q494zg0ckk4rvngfp6";
|
||||
};
|
||||
azurerm =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-azurerm";
|
||||
version = "1.15.0";
|
||||
sha256 = "1pdmj0ww5y2nwxivlf5l886nwd76hpqhwdayab2fp16zyl1qbpfd";
|
||||
version = "1.17.0";
|
||||
sha256 = "03sjlqkwy0qa382sjwi21g6h2fz1mpsiqcd4naj5zh76fkp8aslw";
|
||||
};
|
||||
azurestack =
|
||||
{
|
||||
@ -88,8 +88,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-circonus";
|
||||
version = "0.1.1";
|
||||
sha256 = "05n1q9hc0h31icxsmyi2y60wiwd5fs2hz1dqm3bl6hgh5x3ss1im";
|
||||
version = "0.2.0";
|
||||
sha256 = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45";
|
||||
};
|
||||
clc =
|
||||
{
|
||||
@ -102,8 +102,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-cloudflare";
|
||||
version = "1.5.0";
|
||||
sha256 = "0l8bmnxmjr2g3xxw8w0ay91cvs4kzc65wkdwybfahvq9r6mww45n";
|
||||
version = "1.7.0";
|
||||
sha256 = "0sqq6miwyh6z86b3wq2bhkaj4x39g2nqq784py8nm8gvs06gcm5a";
|
||||
};
|
||||
cloudscale =
|
||||
{
|
||||
@ -130,22 +130,22 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-consul";
|
||||
version = "2.1.0";
|
||||
sha256 = "1qm29vj8ms37zb4b3bhdv4b4vrl0am134zmc654lb2g582cnj9yw";
|
||||
version = "2.2.0";
|
||||
sha256 = "13jwvf7n7238pzvdq9m6vnl9vqa9hkr1mrcf9sa1q9lxkim9ijfk";
|
||||
};
|
||||
datadog =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-datadog";
|
||||
version = "1.3.0";
|
||||
sha256 = "0d3xccfkzibjp4jl8irja1cdhppdn3b7nh4wy857zvfxpfhz7aj2";
|
||||
version = "1.4.0";
|
||||
sha256 = "06ik2k0jkm4200d8njpsidwfjl12ikn5ciqkmlxfwr3b8s1w8kpa";
|
||||
};
|
||||
digitalocean =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-digitalocean";
|
||||
version = "0.1.3";
|
||||
sha256 = "10crxciw7y2gnm8vqp007vw0k7c1a1xk2z2zsjr5rksk6qlnri4k";
|
||||
version = "1.0.2";
|
||||
sha256 = "0ilkdnadzsidq8hia5wk4jyk6034pmajrpkgwf4ryz7kx41vy2g6";
|
||||
};
|
||||
dme =
|
||||
{
|
||||
@ -172,8 +172,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-docker";
|
||||
version = "1.0.1";
|
||||
sha256 = "1q5bsdvp47gvpiyqlzgrpxczlh6m9g870pn84ks49xfkwk5izpz6";
|
||||
version = "1.1.0";
|
||||
sha256 = "1ba9z9fd69hpg6kg30nf95zzskzipi74s1aadywc068gfrkdm9jj";
|
||||
};
|
||||
dyn =
|
||||
{
|
||||
@ -193,15 +193,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-fastly";
|
||||
version = "0.3.0";
|
||||
sha256 = "1hh4s81g256iy1rvp9snqbyhidz8n6p7pzanlxp89ffrq9p32sp0";
|
||||
version = "0.4.0";
|
||||
sha256 = "1fkn9b6ibs36cmhknb3x05g31rf73w70xwx05rh9fhybrz5dd9z9";
|
||||
};
|
||||
flexibleengine =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-flexibleengine";
|
||||
version = "1.1.0";
|
||||
sha256 = "07g6kc211crxf9nvgvghg05jdahd1fb09lpwfcps9ph259pwwam3";
|
||||
version = "1.2.1";
|
||||
sha256 = "000v6fmmnwfibzfssk23s9qwrb8a9l0j1qd14x2dqsc7ql0kbnz8";
|
||||
};
|
||||
github =
|
||||
{
|
||||
@ -221,8 +221,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-google";
|
||||
version = "1.18.0";
|
||||
sha256 = "0zwy1imby0xqvb86a82rdvglipf2sfpi3rmsj72iikp7vi3mqk64";
|
||||
version = "1.19.1";
|
||||
sha256 = "1n2a1y9103xkndmvr5cvj7i1m8s9lv61vgijgk3m2f73pb4znak0";
|
||||
};
|
||||
grafana =
|
||||
{
|
||||
@ -235,15 +235,22 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-hcloud";
|
||||
version = "1.3.0";
|
||||
sha256 = "0sb9pajsy0if18vgw5pllgv8qvb4v7pv65m2f3hfkck2za82ndwb";
|
||||
version = "1.4.0";
|
||||
sha256 = "00mq6p2y61z4hg9dncf3mj59cp6fx4iqrn86m96wkw346shs6prs";
|
||||
};
|
||||
helm =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-helm";
|
||||
version = "0.6.2";
|
||||
sha256 = "11j4lpzbrdszgkjf1gjyibh9c5w0fly01qdkrflv98ry5csx9q5b";
|
||||
};
|
||||
heroku =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-heroku";
|
||||
version = "1.4.0";
|
||||
sha256 = "159a9add5v4dj2bry1b85i74q2lb4pjjypkm5hzrbqys6gn2imhn";
|
||||
version = "1.5.0";
|
||||
sha256 = "0hzzhqd87vkcbzndsn15g4nl3qhv2kvnhs9zv6kbxaxm7p7rm3pz";
|
||||
};
|
||||
http =
|
||||
{
|
||||
@ -284,8 +291,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-kubernetes";
|
||||
version = "1.2.0";
|
||||
sha256 = "0slvhj8f7p27r9v4vb5vjyqpmzlpaji1djzwsxsf247df68mka61";
|
||||
version = "1.3.0";
|
||||
sha256 = "0fhh0r92whcxqz4z2kb6qx9dyygms5mz7ifhb9c7s2r22jnfz1j3";
|
||||
};
|
||||
librato =
|
||||
{
|
||||
@ -294,6 +301,13 @@
|
||||
version = "0.1.0";
|
||||
sha256 = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923";
|
||||
};
|
||||
linode =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-linode";
|
||||
version = "1.1.0";
|
||||
sha256 = "19c269w8jjx04a8rhm4x7bg2xad3y0s74wgis446mwaw7mhla3l3";
|
||||
};
|
||||
local =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
@ -340,8 +354,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-newrelic";
|
||||
version = "1.0.1";
|
||||
sha256 = "0g4fd2rvx90f2bmjl6jjdvrsx7ayhf30vj9y3mklhxgsd9x83wpq";
|
||||
version = "1.1.0";
|
||||
sha256 = "040pxbr4xp0h6s0njdwy0phlkblnk5p3xrcms2gkwyzkqpd82s8b";
|
||||
};
|
||||
nomad =
|
||||
{
|
||||
@ -371,12 +385,19 @@
|
||||
version = "1.0.0";
|
||||
sha256 = "12vpa09xrq8z1pjq0bwzq3889c4fl6c5kvynwqy0z1pdx21m60ha";
|
||||
};
|
||||
nutanix =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-nutanix";
|
||||
version = "1.0.0";
|
||||
sha256 = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541";
|
||||
};
|
||||
oci =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-oci";
|
||||
version = "3.1.1";
|
||||
sha256 = "0wrvb44gs0c1khvam5lrq53l2889japg7d4nyk2hrpywy9japc8m";
|
||||
version = "3.5.0";
|
||||
sha256 = "0f4m6rahis1n62w0h0amg8sjs5bb3ifnrfzq1dys7r01k5411wcf";
|
||||
};
|
||||
oneandone =
|
||||
{
|
||||
@ -389,22 +410,22 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-opc";
|
||||
version = "1.2.1";
|
||||
sha256 = "0mnvi47kbdwwpfzdlcd1mhd15w5b0ivwxi1a5lvs0zyqf0g0cas8";
|
||||
version = "1.3.0";
|
||||
sha256 = "1ksqjfp6gxgrpc9gcs9jv3wj5058z93h7prv4mhvc2bilal4gc0p";
|
||||
};
|
||||
openstack =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-openstack";
|
||||
version = "1.9.0";
|
||||
sha256 = "0prmdj78jsyrns876cglfp8a3dbpfl33bwb0dj072flh4yknfrdr";
|
||||
version = "1.11.0";
|
||||
sha256 = "1wqb7q10nyr4jy9ny4giazblwhh3qrn4s1f0xb5q702b5igbfwwm";
|
||||
};
|
||||
opentelekomcloud =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-opentelekomcloud";
|
||||
version = "1.1.0";
|
||||
sha256 = "04pcgygcz2ld5hp7f29j2z3d4ypy4fm4m1zbbs9l9gc3fya88iny";
|
||||
version = "1.2.0";
|
||||
sha256 = "05w899l18gmdywfhakjvaxqxxzd9cxga3s932ljfibr0ssipkhh9";
|
||||
};
|
||||
opsgenie =
|
||||
{
|
||||
@ -431,8 +452,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-packet";
|
||||
version = "1.2.4";
|
||||
sha256 = "11ga29d5bzmn6rzlb6sb28nh1zbbwglinzn185pysqx6n21l6wva";
|
||||
version = "1.2.5";
|
||||
sha256 = "1c40w1q18piip4fn572mnf67g07h6g03hnin23c7jw265m4yr222";
|
||||
};
|
||||
pagerduty =
|
||||
{
|
||||
@ -445,8 +466,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-panos";
|
||||
version = "1.4.0";
|
||||
sha256 = "033xpglbn0q805b129kf1ywl13m4pgrkwlvgl347nldysryiasxq";
|
||||
version = "1.4.1";
|
||||
sha256 = "1mlz01v01675cf9ja8i42c6ssklf65kd8wpjzf0j472lfwki4xpp";
|
||||
};
|
||||
postgresql =
|
||||
{
|
||||
@ -508,15 +529,15 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-runscope";
|
||||
version = "0.4.0";
|
||||
sha256 = "1n3q2hdwvkkn5rphrcl5qfv4ry2mrr13dcjwzhbym2i1nhpxkld0";
|
||||
version = "0.5.0";
|
||||
sha256 = "0n0m39gaiwhqigjny51a7g36ldik33alimkqqbv6hqyzrhk0qs8h";
|
||||
};
|
||||
scaleway =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-scaleway";
|
||||
version = "1.6.0";
|
||||
sha256 = "1ykcakfw0gp239jp4brpjynxzzvlhldfpv12hkgymj22s37n5jnn";
|
||||
version = "1.7.0";
|
||||
sha256 = "0gsjvpwfw2sc6ncy8v3j6gs0aanq3b08j3gid43687mfd782f4gk";
|
||||
};
|
||||
softlayer =
|
||||
{
|
||||
@ -553,6 +574,13 @@
|
||||
version = "1.0.0";
|
||||
sha256 = "0jl6bp6gwg96sdk5j6s13vv1j9gxjpy2yva3barmzv9138i665mz";
|
||||
};
|
||||
tencentcloud =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-tencentcloud";
|
||||
version = "1.2.2";
|
||||
sha256 = "1ypsfm48c30szg3zc1sknblhwcnca8aapfgp62bhszyqxq6zq37s";
|
||||
};
|
||||
terraform =
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
@ -592,8 +620,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-vault";
|
||||
version = "1.1.4";
|
||||
sha256 = "00i9rl9pnmicvndkmvcmlj6y80341dmkqnhq09f94yljh1w1zpvv";
|
||||
version = "1.2.0";
|
||||
sha256 = "1z92dcr5b665l69gxs1hw1rizc5znvf0ck1lksphd301l2ywk97b";
|
||||
};
|
||||
vcd =
|
||||
{
|
||||
@ -606,8 +634,8 @@
|
||||
{
|
||||
owner = "terraform-providers";
|
||||
repo = "terraform-provider-vsphere";
|
||||
version = "1.8.1";
|
||||
sha256 = "0y6n7mvv1f3jqsxlvf68iq85k69fj7a333203vkvc83dba84aqki";
|
||||
version = "1.9.0";
|
||||
sha256 = "1by9klwvdw3m854jffimfnsz1lnbaixi4zcv4zzs63dc3flwy2b2";
|
||||
};
|
||||
matchbox =
|
||||
{
|
||||
|
@ -113,8 +113,8 @@ in rec {
|
||||
terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
|
||||
|
||||
terraform_0_11 = pluggable (generic {
|
||||
version = "0.11.8";
|
||||
sha256 = "1kdmx21l32vj5kvkimkx0s5mxgmgkdwlgbin4f3iqjflzip0cddh";
|
||||
version = "0.11.10";
|
||||
sha256 = "08mapla89g106bvqr41zfd7l4ki55by6207qlxq9caiha54nx4nb";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
@ -56,11 +56,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "signal-desktop-${version}";
|
||||
version = "1.17.2";
|
||||
version = "1.17.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "1ibci07w4dh7r0dkwb3nbqm470rgak2a98rlqf8390rxrinfli3p";
|
||||
sha256 = "1k0gj24562jfj748s7qcn1f7brr1c0zn2dppxvfv2ka2r2n0z1h4";
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tribler-${version}";
|
||||
version = "7.0.2";
|
||||
version = "7.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
|
||||
sha256 = "1p0d0l0sa0nrnbyx2gg50nklkljwvl581i9w3z5qbkfzc7jsdy42";
|
||||
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
|
||||
sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
|
||||
pythonPackages.psutil
|
||||
pythonPackages.meliae
|
||||
pythonPackages.sip
|
||||
pythonPackages.pillow
|
||||
pythonPackages.networkx
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,7 +2,7 @@
|
||||
libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }:
|
||||
|
||||
let
|
||||
version = "1.0.6-1";
|
||||
version = "1.1.0-1";
|
||||
|
||||
description = ''
|
||||
An application that runs on your computer in the background and seamlessly encrypts
|
||||
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
|
||||
sha256 = "1as4xdsik2w9clbrwp1k00491324cg6araz3jq2m013yg1cild28";
|
||||
sha256 = "0l29z208krnd3dginc203m4p5dlmnxf08vpmbm9xzlckwmswizkb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
@ -38,10 +38,10 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,lib,share/applications}
|
||||
# mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
|
||||
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
|
||||
|
||||
cp -r usr/lib/protonmail/bridge/Desktop-Bridge{,.sh} $out/lib
|
||||
# cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
|
||||
cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||
|
||||
ln -s $out/lib/Desktop-Bridge $out/bin/Desktop-Bridge
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, vala, pkgconfig, meson, ninja, python3, granite, gtk3
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3, granite, gtk3
|
||||
, gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobjectIntrospection, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aesop";
|
||||
version = "1.0.5";
|
||||
version = "1.0.7";
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
@ -21,11 +21,12 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkgconfig
|
||||
python3
|
||||
vala
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
|
||||
gnome3.libgee
|
||||
granite
|
||||
gtk3
|
||||
@ -34,14 +35,6 @@ stdenv.mkDerivation rec {
|
||||
poppler
|
||||
];
|
||||
|
||||
# Fix build with vala 0.42
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/lainsce/aesop/commit/a90b3c711bd162583533370deb031c2c6254c82d.patch";
|
||||
sha256 = "1zf831g6sqq3966q0i00x3jhlbfh9blcky6pnyp5qp59hxyxy169";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
@ -49,9 +42,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The simplest PDF viewer around";
|
||||
homepage = https://github.com/lainsce/aesop;
|
||||
license = licenses.gpl2Plus;
|
||||
homepage = https://github.com/lainsce/aesop;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ worldofpeace ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,46 +1,70 @@
|
||||
{ stdenv, fetchFromGitHub, vala, pkgconfig, libxml2, cmake, ninja, gtk3, granite, gnome3
|
||||
, gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, unzip, unar, wrapGAppsHook }:
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, granite, gnome3
|
||||
, gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bookworm";
|
||||
version = "1.0.0";
|
||||
version = "4f7b118281667d22f1b3205edf0b775341fa49cb";
|
||||
|
||||
name = "${pname}-${version}";
|
||||
name = "${pname}-2018-10-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "babluboy";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0nv1nxird0s0qfhh8fr82mkj4qimhklw1bwcjwmvjdsvsxxs9520";
|
||||
sha256 = "0bcyim87zk4b4xmgfs158lnds3y8jg7ppzw54kjpc9rh66fpn3b9";
|
||||
};
|
||||
|
||||
# See: https://github.com/babluboy/bookworm/pull/220
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/worldofpeace/bookworm/commit/b2faf685c46b95d6a2d4ec3725e4e4122b61e99a.patch";
|
||||
sha256 = "14az86cj5j65hngfflrp1rmnrkdrhg2a8pl7www3jgfwasxay975";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
bash
|
||||
gobjectIntrospection
|
||||
libxml2
|
||||
meson
|
||||
ninja
|
||||
pkgconfig
|
||||
vala
|
||||
python3
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = with gnome3; [
|
||||
glib
|
||||
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
|
||||
granite
|
||||
gtk3
|
||||
html2text
|
||||
libgee
|
||||
poppler
|
||||
python2
|
||||
sqlite
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
'';
|
||||
|
||||
# These programs are expected in PATH from the source code and scripts
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ unzip unar poppler_utils html2text ]}"
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ unzip unar poppler_utils html2text coreutils curl gnugrep ]}"
|
||||
--prefix PATH : $out/bin
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
patchShebangs $out/share/bookworm/scripts/mobi_lib/*.py
|
||||
patchShebangs $out/share/bookworm/scripts/tasks/*.sh
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple, focused eBook reader";
|
||||
longDescription = ''
|
||||
|
@ -12,25 +12,27 @@
|
||||
, ninja
|
||||
, libgudev
|
||||
, libevdev
|
||||
, vala
|
||||
, libsoup
|
||||
, vala_0_40
|
||||
, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "spice-up-${version}";
|
||||
version = "1.3.2";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Philip-Scott";
|
||||
repo = "Spice-up";
|
||||
rev = version;
|
||||
sha256 = "087cdi7na93pgz7vf046h94v5ydvpiccpwhllq85ix8g4pa5rp85";
|
||||
sha256 = "1qb1hlw7g581dmgg5mh832ixjkcgqm3lqzj6xma2cz8wdncwwjaq";
|
||||
};
|
||||
|
||||
USER = "nix-build-user";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
vala
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
cmake
|
||||
ninja
|
||||
gettext
|
||||
@ -38,12 +40,14 @@ stdenv.mkDerivation rec {
|
||||
gobjectIntrospection # For setup hook
|
||||
];
|
||||
buildInputs = [
|
||||
gtk3
|
||||
granite
|
||||
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
|
||||
gnome3.libgee
|
||||
granite
|
||||
gtk3
|
||||
json-glib
|
||||
libgudev
|
||||
libevdev
|
||||
libgudev
|
||||
libsoup
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -4,8 +4,8 @@ let
|
||||
hts-nim = fetchFromGitHub {
|
||||
owner = "brentp";
|
||||
repo = "hts-nim";
|
||||
rev = "9cd83e30522ab64cd71eb8209be4154aa5579ce1";
|
||||
sha256 = "10g408idy14667varq1syf06rrbpk63i3ib7i5dh1md4ib19av6f";
|
||||
rev = "v0.2.5";
|
||||
sha256 = "1fma99rjqxgg9dihkd10hm1jjp5amsk5wsxnvq1lk4mcsjix5xqb";
|
||||
};
|
||||
|
||||
docopt = fetchFromGitHub {
|
||||
@ -28,7 +28,10 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ nim ];
|
||||
|
||||
buildPhase = "nim -p:${hts-nim}/src -p:${docopt}/src c -d:release mosdepth.nim";
|
||||
buildPhase = ''
|
||||
HOME=$TMPDIR
|
||||
nim -p:${hts-nim}/src -p:${docopt}/src c --nilseqs:on -d:release mosdepth.nim
|
||||
'';
|
||||
installPhase = "install -Dt $out/bin mosdepth";
|
||||
fixupPhase = "patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc htslib pcre ]} $out/bin/mosdepth";
|
||||
|
||||
|
@ -13,11 +13,11 @@ with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kicad-${version}";
|
||||
series = "5.0";
|
||||
version = "5.0.0";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
|
||||
sha256 = "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p";
|
||||
sha256 = "0skig2wdxxc2677m8a8m1xrg3pkhqiqnmkcyr2hv0b2j30rzdr2z";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "z3-${version}";
|
||||
version = "4.7.1";
|
||||
version = "4.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = "z3";
|
||||
rev = "3b1b82bef05a1b5fd69ece79c80a95fb6d72a990";
|
||||
sha256 = "1s850r6qifwl83zzgvrb5l0jigvmymzpv18ph71hg2bcpk7kjw3d";
|
||||
rev = name;
|
||||
sha256 = "1vr57bwx40sd5riijyrhy70i2wnv9xrdihf6y5zdz56yq88rl48f";
|
||||
};
|
||||
|
||||
buildInputs = [ python fixDarwinDylibNames ];
|
||||
|
@ -7,49 +7,39 @@
|
||||
, gnome3
|
||||
, cmake
|
||||
, ninja
|
||||
, vala
|
||||
, vala_0_40
|
||||
, libqalculate
|
||||
, gobjectIntrospection
|
||||
, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nasc-${version}";
|
||||
version = "0.4.7";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "parnold-x";
|
||||
repo = "nasc";
|
||||
rev = version;
|
||||
sha256 = "0p74953pdgsijvqj3msssqiwm6sc1hzp68dlmjamqrqirwgqv5aa";
|
||||
sha256 = "1rrp3djsv7lrgsqjn7x50msv0c5ffhz90lj1v11di0kp05m6q9j9";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Install libqalculatenasc.so
|
||||
(fetchpatch {
|
||||
url = https://github.com/parnold-x/nasc/commit/93a799f9afb3e32f3f1a54e056b59570aae2e437.patch;
|
||||
sha256 = "1m32w2zaswzxnzbr7p3lf8s6fac4mjvfhm8v9k59b4jyzmvrl631";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = https://github.com/parnold-x/nasc/commit/570b49169326de154af2cf43c5f12268fff1dc6d.patch;
|
||||
sha256 = "1y3w6rxn0453iscx2xg427wy1bd5kv4z1c41hhbjmg614ycp6bka";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
vala
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
cmake
|
||||
ninja
|
||||
gobjectIntrospection # for setup-hook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libqalculate
|
||||
gtk3
|
||||
granite
|
||||
gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
|
||||
gnome3.gtksourceview
|
||||
gnome3.libgee
|
||||
gnome3.libsoup
|
||||
gnome3.gtksourceview
|
||||
granite
|
||||
gtk3
|
||||
libqalculate
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -18,13 +18,13 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "simgrid-${version}";
|
||||
version = "3.20";
|
||||
version = "3.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simgrid";
|
||||
repo = "simgrid";
|
||||
rev = "v${version}";
|
||||
sha256 = "0xb20qhvsah2dz2hvn850i3w9a5ghsbcx8vka2ap6xsdkxf593gy";
|
||||
rev = "v${replaceChars ["."] ["_"] version}";
|
||||
sha256 = "1v0dwlww2wl56ms8lvg5zwffzbmz3sjzpkqc73f714mrc9g02bxs";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl python3 boost valgrind ]
|
||||
@ -107,6 +107,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://simgrid.gforge.inria.fr/;
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = with maintainers; [ mickours ];
|
||||
platforms = platforms.x86_64;
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, buildGo19Package, fetchFromGitHub, curl, libgit2_0_27, ncurses, pkgconfig, readline }:
|
||||
let
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
in
|
||||
buildGo19Package {
|
||||
name = "grv-${version}";
|
||||
@ -14,10 +14,14 @@ buildGo19Package {
|
||||
owner = "rgburke";
|
||||
repo = "grv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hlqw6b51jglqzzjgazncckpgarp25ghshl0lxv1mff80jg8wd1a";
|
||||
sha256 = "00v502mwnpv09l7fsbq3s72i5fz5dxbildwxgw0r8zzf6d54xrgl";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
rm util/update_latest_release.go
|
||||
'';
|
||||
|
||||
buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "hub-${version}";
|
||||
version = "2.5.1";
|
||||
version = "2.6.0";
|
||||
|
||||
goPackagePath = "github.com/github/hub";
|
||||
|
||||
@ -10,10 +10,11 @@ buildGoPackage rec {
|
||||
owner = "github";
|
||||
repo = "hub";
|
||||
rev = "v${version}";
|
||||
sha256 = "0a5i351v998vdwf883qhh39c15x56db01fr9hscz4ha7r9550pqg";
|
||||
sha256 = "0hxmbpyv2yjxg4v3z50x5ikgcz7mgv5prya8jcpi277vq2s0wwa1";
|
||||
};
|
||||
|
||||
buildInputs = [ groff ronn ruby utillinux ] ++
|
||||
nativeBuildInputs = [ groff ronn utillinux ];
|
||||
buildInputs = [ ruby ] ++
|
||||
stdenv.lib.optional stdenv.isDarwin Security;
|
||||
|
||||
postPatch = ''
|
||||
@ -29,7 +30,7 @@ buildGoPackage rec {
|
||||
install -D etc/hub.fish_completion "$bin/share/fish/vendor_completions.d/hub.fish"
|
||||
|
||||
make man-pages
|
||||
cp -r share/man $bin/share/man
|
||||
cp -vr --parents share/man/man[1-9]/*.[1-9] $bin/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -11,29 +11,29 @@ let
|
||||
groups = [ "default" "unicorn" "ed25519" "metrics" ];
|
||||
};
|
||||
|
||||
version = "11.4.3";
|
||||
version = "11.4.4";
|
||||
|
||||
sources = if gitlabEnterprise then {
|
||||
gitlabDeb = fetchurl {
|
||||
url = "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_${version}-ee.0_amd64.deb/download.deb";
|
||||
sha256 = "1cw75qj508z6n00rqgqjzdm2013kyb7c57cypmq0m08nc6f3jspz";
|
||||
sha256 = "15lpcdjcw6lpmzlhqnpd6pgaxh7wvx2mldjd1vqr414r4bcnhgy4";
|
||||
};
|
||||
gitlab = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-ee";
|
||||
rev = "v${version}-ee";
|
||||
sha256 = "1vqc77whpbsifbm9vgcmpxnw13v8jz1s9q04i8jfv99c59fjlids";
|
||||
sha256 = "046hchr7q4jnx3j4yxg3rdixfzlva35al3ci26pf9vxrbbl5y8cg";
|
||||
};
|
||||
} else {
|
||||
gitlabDeb = fetchurl {
|
||||
url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_${version}-ce.0_amd64.deb/download.deb";
|
||||
sha256 = "0vk03k42pp92h520wnynl9czcigjhj9m7y68z1x0gwqr9m61r7zm";
|
||||
sha256 = "02p7azyjgb984bk491q6f4zk1mikbcd38rif08kl07bjjzzkir81";
|
||||
};
|
||||
gitlab = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-ce";
|
||||
rev = "v${version}";
|
||||
sha256 = "1zvjz2gv2vwqqjz52zcvi0ap3d8rdbpgsqk9wv80hqq4v37a5gfx";
|
||||
sha256 = "1hq9iyp0xrxwmncn61ja3pdj9h2hmdy1l63d1ic3r1dyacybaf2g";
|
||||
};
|
||||
};
|
||||
|
||||
@ -63,17 +63,7 @@ stdenv.mkDerivation rec {
|
||||
--replace "ps -U" "${procps}/bin/ps -U"
|
||||
|
||||
sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
|
||||
|
||||
# required for some gems:
|
||||
cat > config/database.yml <<EOF
|
||||
production:
|
||||
adapter: <%= ENV["GITLAB_DATABASE_ADAPTER"] || sqlite %>
|
||||
database: gitlab
|
||||
host: <%= ENV["GITLAB_DATABASE_HOST"] || "127.0.0.1" %>
|
||||
password: <%= ENV["GITLAB_DATABASE_PASSWORD"] || "blerg" %>
|
||||
username: gitlab
|
||||
encoding: utf8
|
||||
EOF
|
||||
sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
|
@ -7,7 +7,16 @@ gatherLibraries() {
|
||||
addEnvHooks "$targetOffset" gatherLibraries
|
||||
|
||||
isExecutable() {
|
||||
readelf -h "$1" 2> /dev/null | grep -q '^ *Type: *EXEC\>'
|
||||
# For dynamically linked ELF files it would be enough to check just for the
|
||||
# INTERP section. However, we won't catch statically linked executables as
|
||||
# they only have an ELF type of EXEC but no INTERP.
|
||||
#
|
||||
# So what we do here is just check whether *either* the ELF type is EXEC
|
||||
# *or* there is an INTERP section. This also catches position-independent
|
||||
# executables, as they typically have an INTERP section but their ELF type
|
||||
# is DYN.
|
||||
LANG=C readelf -h -l "$1" 2> /dev/null \
|
||||
| grep -q '^ *Type: *EXEC\>\|^ *INTERP\>'
|
||||
}
|
||||
|
||||
# We cache dependencies so that we don't need to search through all of them on
|
||||
@ -157,7 +166,7 @@ autoPatchelf() {
|
||||
isELF "$file" || continue
|
||||
if isExecutable "$file"; then
|
||||
# Skip if the executable is statically linked.
|
||||
readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
|
||||
LANG=C readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
|
||||
fi
|
||||
autoPatchelfFile "$file"
|
||||
done < <(find "$prefix" -type f -print0)
|
||||
|
@ -1,18 +1,18 @@
|
||||
{stdenv, fetchzip}:
|
||||
|
||||
let
|
||||
version = "2.004";
|
||||
version = "3.001";
|
||||
in fetchzip rec {
|
||||
name = "comfortaa-${version}";
|
||||
|
||||
url = "http://openfontlibrary.org/assets/downloads/comfortaa/38318a69b56162733bf82bc0170b7521/comfortaa.zip";
|
||||
url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip";
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts $out/share/doc
|
||||
unzip -l $downloadedFile
|
||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
||||
unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name}
|
||||
'';
|
||||
sha256 = "1gnscf3kw9p5gbc5594a22cc6nmiir9mhp1nl3mkbzd4v1jfbh2h";
|
||||
sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949;
|
||||
|
@ -1,11 +1,11 @@
|
||||
{stdenv, fetchzip}:
|
||||
|
||||
let
|
||||
version = "2014-11-11";
|
||||
version = "2016-06-23";
|
||||
in fetchzip {
|
||||
name = "open-dyslexic-${version}";
|
||||
|
||||
url = https://github.com/antijingoist/open-dyslexic/archive/f4b5ba89018b44d633608907e15f93fb3fabbabc.zip;
|
||||
url = https://github.com/antijingoist/open-dyslexic/archive/20160623-Stable.zip;
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/{doc,fonts}
|
||||
@ -13,7 +13,7 @@ in fetchzip {
|
||||
unzip -j $downloadedFile \*/README.md -d $out/share/doc/open-dyslexic
|
||||
'';
|
||||
|
||||
sha256 = "045xc7kj56q4ygnjppm8f8fwqqvf21x1piabm4nh8hwgly42a3w2";
|
||||
sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://opendyslexic.org/;
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
let
|
||||
version = "3.0.2";
|
||||
version = "3.0.3";
|
||||
in fetchzip rec {
|
||||
name = "overpass-${version}";
|
||||
|
||||
@ -12,7 +12,7 @@ in fetchzip rec {
|
||||
mkdir -p $out/share/doc/${name} ; unzip -j $downloadedFile \*.md -d $out/share/doc/${name}
|
||||
'';
|
||||
|
||||
sha256 = "05zv3zcfc9a707sn3hhf46b126k19d9byzvi5ixp5y2548vjvl6s";
|
||||
sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://overpassfont.org/;
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ fetchurl }:
|
||||
|
||||
fetchurl {
|
||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/420a405e4dbccd78b2a471b632b9fe1a1e04502b.tar.gz";
|
||||
sha256 = "01vdbp1yh2s0afijz9ap4590mlpiica7l6k0mpfc0jwzymn9w86n";
|
||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/98ec0eee2ddef5d4a00e2ac4a95e8add46d23b69.tar.gz";
|
||||
sha256 = "0svcaaflqi5c815z3yrh61bjny1jnwp42sylmsnwryjldqvizc1a";
|
||||
}
|
||||
|
@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ashalkhakov matthewbauer ];
|
||||
platforms = platforms.unix;
|
||||
badPlatforms = [ "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
|
@ -1,17 +1,57 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi
|
||||
{ stdenv, lib, buildPythonApplication, fetchFromGitHub
|
||||
, bottle, click, colorama
|
||||
, lockfile, pyserial, requests
|
||||
, semantic-version
|
||||
, pytest, semantic-version, tox
|
||||
, git
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "platformio";
|
||||
version = "3.5.3";
|
||||
let
|
||||
args = lib.concatStringsSep " " ((map (e: "--deselect tests/${e}") [
|
||||
"commands/test_ci.py::test_ci_boards"
|
||||
"commands/test_ci.py::test_ci_project_conf"
|
||||
"commands/test_ci.py::test_ci_lib_and_board"
|
||||
"commands/test_init.py::test_init_enable_auto_uploading"
|
||||
"commands/test_init.py::test_init_custom_framework"
|
||||
"commands/test_init.py::test_init_incorrect_board"
|
||||
"commands/test_init.py::test_init_ide_atom"
|
||||
"commands/test_init.py::test_init_ide_eclipse"
|
||||
"commands/test_init.py::test_init_duplicated_boards"
|
||||
"commands/test_init.py::test_init_special_board"
|
||||
"commands/test_lib.py::test_search"
|
||||
"commands/test_lib.py::test_install_duplicates"
|
||||
"commands/test_lib.py::test_global_lib_update_check"
|
||||
"commands/test_lib.py::test_global_lib_update"
|
||||
"commands/test_lib.py::test_global_lib_uninstall"
|
||||
"commands/test_lib.py::test_lib_show"
|
||||
"commands/test_lib.py::test_lib_stats"
|
||||
"commands/test_lib.py::test_global_install_registry"
|
||||
"commands/test_lib.py::test_global_install_archive"
|
||||
"commands/test_lib.py::test_global_install_repository"
|
||||
"commands/test_lib.py::test_global_lib_list"
|
||||
"commands/test_test.py::test_local_env"
|
||||
"test_builder.py::test_build_flags"
|
||||
"test_builder.py::test_build_unflags"
|
||||
"test_misc.py::test_api_cache"
|
||||
"test_misc.py::test_ping_internet_ips"
|
||||
"test_pkgmanifest.py::test_packages"
|
||||
]) ++ (map (e: "--ignore=tests/${e}") [
|
||||
"commands/test_boards.py"
|
||||
"commands/test_platform.py"
|
||||
"commands/test_update.py"
|
||||
"test_maintenance.py"
|
||||
"test_ino2cpp.py"
|
||||
]));
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1l4s2xh1p9h767amk9zapzivz4irl2y3kff3dna6icvsgq6rz011";
|
||||
in buildPythonApplication rec {
|
||||
pname = "platformio";
|
||||
version = "3.6.1";
|
||||
|
||||
# pypi tarball doesn't contain tests
|
||||
src = fetchFromGitHub {
|
||||
owner = "platformio";
|
||||
repo = "platformio-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "01xz9figqrzb0m9467q14lg51vmgq0hbaap0xdx08n5v2ycmzj0v";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -19,12 +59,25 @@ buildPythonPackage rec {
|
||||
pyserial requests semantic-version
|
||||
];
|
||||
|
||||
HOME = "/tmp";
|
||||
|
||||
checkInputs = [ pytest tox ];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
py.test -v tests ${args}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
patches = [ ./fix-searchpath.patch ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
broken = stdenv.isAarch64;
|
||||
description = "An open source ecosystem for IoT development";
|
||||
homepage = http://platformio.org;
|
||||
maintainers = with maintainers; [ mog makefu ];
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ mog makefu ];
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "closure-compiler-${version}";
|
||||
version = "20180805";
|
||||
version = "20180910";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
|
||||
sha256 = "1jis9ykbbynq6pa8sl1jy8888l2bk9g4xsiiiab51zn62shqnq26";
|
||||
sha256 = "12k4cp9f8g03k3zf2g70pn6ybx8gk0hfh81ypiyb5hkfij95bi9k";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -149,8 +149,7 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
|
||||
in rec {
|
||||
cudatoolkit_6 = common {
|
||||
version = "6.0.37";
|
||||
url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
|
||||
@ -199,8 +198,8 @@ in {
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
cudatoolkit_9 = common {
|
||||
version = "9.1.85.1";
|
||||
cudatoolkit_9_1 = common {
|
||||
version = "9.1.85.3";
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux";
|
||||
sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4";
|
||||
runPatches = [
|
||||
@ -208,9 +207,40 @@ in {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux";
|
||||
sha256 = "1f53ij5nb7g0vb5pcpaqvkaj1x4mfq3l0mhkfnqbk8sfrvby775g";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/2/cuda_9.1.85.2_linux";
|
||||
sha256 = "16g0w09h3bqmas4hy1m0y6j5ffyharslw52fn25gql57bfihg7ym";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/3/cuda_9.1.85.3_linux";
|
||||
sha256 = "12mcv6f8z33z8y41ja8bv5p5iqhv2vx91mv3b5z6fcj7iqv98422";
|
||||
})
|
||||
];
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
}
|
||||
cudatoolkit_9_2 = common {
|
||||
version = "9.2.148.1";
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux";
|
||||
sha256 = "04c6v9b50l4awsf9w9zj5vnxvmc0hk0ypcfjksbh4vnzrz14wigm";
|
||||
runPatches = [
|
||||
(fetchurl {
|
||||
url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux";
|
||||
sha256 = "1kx6l4yzsamk6q1f4vllcpywhbfr2j5wfl4h5zx8v6dgfpsjm2lw";
|
||||
})
|
||||
];
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
cudatoolkit_9 = cudatoolkit_9_2;
|
||||
|
||||
cudatoolkit_10_0 = common {
|
||||
version = "10.0.130";
|
||||
url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux";
|
||||
sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj";
|
||||
|
||||
gcc = gcc6;
|
||||
};
|
||||
|
||||
cudatoolkit_10 = cudatoolkit_10_0;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
# based on https://github.com/nim-lang/Nim/blob/v0.18.0/.travis.yml
|
||||
|
||||
{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-8_x, openssl, pcre, readline, sqlite, boehmgc, sfml, tzdata, coreutils }:
|
||||
{ stdenv, lib, fetchurl, makeWrapper, nodejs-slim-10_x, openssl, pcre, readline, boehmgc, sfml, tzdata, coreutils }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nim-${version}";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://nim-lang.org/download/${name}.tar.xz";
|
||||
sha256 = "45c74adb35f08dfa9add1112ae17330e5d902ebb4a36e7046caee8b79e6f3bd0";
|
||||
sha256 = "0biwvw1gividp5lkf0daq1wp9v6ms4xy6dkf5zj0sn9w4m3n76d1";
|
||||
};
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
|
||||
"-lcrypto"
|
||||
"-lpcre"
|
||||
"-lreadline"
|
||||
"-lsqlite3"
|
||||
"-lgc"
|
||||
];
|
||||
|
||||
@ -28,12 +27,21 @@ stdenv.mkDerivation rec {
|
||||
# used for bootstrapping, but koch insists on moving the nim compiler around
|
||||
# as part of building it, so it cannot be read-only
|
||||
|
||||
buildInputs = [
|
||||
makeWrapper nodejs-slim-8_x tzdata coreutils
|
||||
openssl pcre readline sqlite boehmgc sfml
|
||||
nativeBuildInputs = [
|
||||
makeWrapper nodejs-slim-10_x tzdata coreutils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl pcre readline boehmgc sfml
|
||||
];
|
||||
|
||||
phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" "checkPhase" ];
|
||||
|
||||
buildPhase = ''
|
||||
# use $CC to trigger the linker since calling ld in build.sh causes an error
|
||||
LD=$CC
|
||||
# build.sh wants to write to $HOME/.cache
|
||||
HOME=$TMPDIR
|
||||
sh build.sh
|
||||
./bin/nim c koch
|
||||
./koch boot -d:release \
|
||||
@ -51,33 +59,24 @@ stdenv.mkDerivation rec {
|
||||
--suffix PATH : ${lib.makeBinPath [ stdenv.cc ]}
|
||||
'';
|
||||
|
||||
postPatch =
|
||||
patchPhase =
|
||||
let disableTest = ''sed -i '1i discard \"\"\"\n disabled: true\n\"\"\"\n\n' '';
|
||||
disableStdLibTest = ''sed -i -e '/^when isMainModule/,/^END$/{s/^/#/}' '';
|
||||
disableCompile = ''sed -i -e 's/^/#/' '';
|
||||
in ''
|
||||
substituteInPlace ./tests/async/tioselectors.nim --replace "/bin/sleep" "sleep"
|
||||
substituteInPlace ./tests/osproc/tworkingdir.nim --replace "/usr/bin" "${coreutils}/bin"
|
||||
substituteInPlace ./tests/stdlib/ttimes.nim --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
|
||||
|
||||
# disable supposedly broken tests
|
||||
${disableTest} ./tests/errmsgs/tproper_stacktrace2.nim
|
||||
${disableTest} ./tests/vm/trgba.nim
|
||||
|
||||
# disable tests requiring network access (not available in the build container)
|
||||
${disableTest} ./tests/stdlib/thttpclient.nim
|
||||
${disableTest} ./tests/cpp/tasync_cpp.nim
|
||||
${disableTest} ./tests/niminaction/Chapter7/Tweeter/src/tweeter.nim
|
||||
|
||||
# disable tests requiring un-downloadable dependencies (using nimble, which isn't available in the fetch phase)
|
||||
${disableCompile} ./tests/manyloc/keineschweine/keineschweine.nim
|
||||
${disableTest} ./tests/manyloc/keineschweine/keineschweine.nim
|
||||
${disableCompile} ./tests/manyloc/nake/nakefile.nim
|
||||
${disableTest} ./tests/manyloc/nake/nakefile.nim
|
||||
${disableCompile} ./tests/manyloc/named_argument_bug/main.nim
|
||||
${disableTest} ./tests/manyloc/named_argument_bug/main.nim
|
||||
'' + lib.optionalString stdenv.isAarch64 ''
|
||||
# disable test supposedly broken on aarch64
|
||||
${disableStdLibTest} ./lib/pure/stats.nim
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
PATH=$PATH:$out/bin
|
||||
./koch tests
|
||||
'';
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
{ stdenv, lib, fetchurl, bash, cpio, autoconf, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
, alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir
|
||||
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
|
||||
, libjpeg, giflib
|
||||
@ -10,31 +10,30 @@
|
||||
let
|
||||
|
||||
/**
|
||||
* The JRE libraries are in directories that depend on the CPU.
|
||||
* The JDK libraries are in directories that depend on the CPU.
|
||||
*/
|
||||
architecture =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
"i386"
|
||||
else "amd64";
|
||||
|
||||
update = "10.0.2";
|
||||
major = "11";
|
||||
update = ".0.1";
|
||||
build = "13";
|
||||
repover = "jdk-${update}+${build}";
|
||||
repover = "jdk-${major}${update}+${build}";
|
||||
paxflags = if stdenv.isi686 then "msp" else "m";
|
||||
|
||||
openjdk10 = stdenv.mkDerivation {
|
||||
name = "openjdk-${update}-b${build}";
|
||||
openjdk = stdenv.mkDerivation {
|
||||
name = "openjdk-${major}${update}-b${build}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://hg.openjdk.java.net/jdk-updates/jdk10u/archive/${repover}.tar.gz";
|
||||
sha256 = "0y7hyzgvn6z8gyp3h9xvxwj6zda899y6i629jn6yxqzj96q56jpk";
|
||||
url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz";
|
||||
sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm";
|
||||
};
|
||||
|
||||
outputs = [ "out" "jre" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
|
||||
autoconf cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
|
||||
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
|
||||
libXi libXinerama libXcursor libXrandr lndir fontconfig
|
||||
] ++ lib.optionals (!minimal && enableGnome2) [
|
||||
@ -55,12 +54,11 @@ let
|
||||
|
||||
configureFlagsArray=(
|
||||
"--with-boot-jdk=${bootjdk.home}"
|
||||
"--with-update-version=${update}"
|
||||
"--with-update-version=${major}${update}"
|
||||
"--with-build-number=${build}"
|
||||
"--with-milestone=fcs"
|
||||
"--enable-unlimited-crypto"
|
||||
"--disable-debug-symbols"
|
||||
"--disable-freetype-bundling"
|
||||
"--with-zlib=system"
|
||||
"--with-giflib=system"
|
||||
"--with-stdc++lib=dynamic"
|
||||
@ -86,7 +84,7 @@ let
|
||||
buildFlags = [ "all" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
|
||||
mkdir -p $out/lib/openjdk $out/share
|
||||
|
||||
cp -av build/*/images/jdk/* $out/lib/openjdk
|
||||
|
||||
@ -101,57 +99,29 @@ let
|
||||
# jni.h expects jni_md.h to be in the header search path.
|
||||
ln -s $out/include/linux/*_md.h $out/include/
|
||||
|
||||
# Copy the JRE to a separate output and setup fallback fonts
|
||||
cp -av build/*/images/jre $jre/lib/openjdk/
|
||||
mkdir $out/lib/openjdk/jre
|
||||
${lib.optionalString (!minimal) ''
|
||||
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||
''}
|
||||
|
||||
# Remove crap from the installation.
|
||||
rm -rf $out/lib/openjdk/demo
|
||||
${lib.optionalString minimal ''
|
||||
for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do
|
||||
rm ''${d}/{libjsound,libjsoundalsa,libfontmanager}.so
|
||||
done
|
||||
rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
|
||||
''}
|
||||
|
||||
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
||||
|
||||
# Set PaX markings
|
||||
exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
|
||||
exes=$(file $out/lib/openjdk/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
|
||||
echo "to mark: *$exes*"
|
||||
for file in $exes; do
|
||||
echo "marking *$file*"
|
||||
paxmark ${paxflags} "$file"
|
||||
done
|
||||
|
||||
# Remove duplicate binaries.
|
||||
for i in $(cd $out/lib/openjdk/bin && echo *); do
|
||||
if [ "$i" = java ]; then continue; fi
|
||||
if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
|
||||
ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
|
||||
fi
|
||||
done
|
||||
|
||||
ln -s $out/lib/openjdk/bin $out/bin
|
||||
ln -s $jre/lib/openjdk/jre/bin $jre/bin
|
||||
ln -s $jre/lib/openjdk/jre $out/jre
|
||||
'';
|
||||
|
||||
# FIXME: this is unnecessary once the multiple-outputs branch is merged.
|
||||
preFixup = ''
|
||||
prefix=$jre stripDirs "$STRIP" "$stripDebugList" "''${stripDebugFlags:--S}"
|
||||
patchELF $jre
|
||||
propagatedBuildInputs+=" $jre"
|
||||
|
||||
# Propagate the setJavaClassPath setup hook from the JRE so that
|
||||
# any package that depends on the JRE has $CLASSPATH set up
|
||||
# properly.
|
||||
mkdir -p $jre/nix-support
|
||||
# Propagate the setJavaClassPath setup hook so that any package
|
||||
# that depends on the JDK has $CLASSPATH set up properly.
|
||||
mkdir -p $out/nix-support
|
||||
#TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
|
||||
echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs
|
||||
echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
|
||||
|
||||
# Set JAVA_HOME automatically.
|
||||
mkdir -p $out/nix-support
|
||||
@ -196,7 +166,7 @@ let
|
||||
|
||||
passthru = {
|
||||
inherit architecture;
|
||||
home = "${openjdk10}/lib/openjdk";
|
||||
home = "${openjdk}/lib/openjdk";
|
||||
};
|
||||
};
|
||||
in openjdk10
|
||||
in openjdk
|
@ -16,12 +16,12 @@ let
|
||||
src = if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
(if version == "10" then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2"
|
||||
else if version == "8" then fetchboot "8" "x86_64" "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks"
|
||||
else throw "No bootstrap for version")
|
||||
else throw "No bootstrap jdk for version ${version}")
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||
(if version == "10" then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7"
|
||||
else if version == "8" then fetchboot "8" "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9"
|
||||
else throw "No bootstrap for version")
|
||||
else throw "No bootstrap for system";
|
||||
else throw "No bootstrap jdk for system ${stdenv.hostPlatform.system}";
|
||||
|
||||
bootstrap = runCommand "openjdk-bootstrap" {
|
||||
passthru.home = "${bootstrap}/lib/openjdk";
|
||||
|
@ -6,13 +6,13 @@ let
|
||||
sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
|
||||
};
|
||||
|
||||
jdk = stdenv.mkDerivation {
|
||||
name = "zulu10.3+5-jdk10";
|
||||
jdk = stdenv.mkDerivation rec {
|
||||
name = "zulu11.2.3-jdk11.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.zip;
|
||||
sha256 = "05pxfjn8fqw6ddr8m5hzyphwzqgrq8w6b4h3lwc1s7ymh05xmspz";
|
||||
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
|
||||
url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
|
||||
sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
|
||||
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip freetype ];
|
||||
@ -34,8 +34,8 @@ let
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
# Propagate the setJavaClassPath setup hook from the JRE so that
|
||||
# any package that depends on the JRE has $CLASSPATH set up
|
||||
# Propagate the setJavaClassPath setup hook from the JDK so that
|
||||
# any package that depends on the JDK has $CLASSPATH set up
|
||||
# properly.
|
||||
mkdir -p $out/nix-support
|
||||
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
|
||||
@ -49,7 +49,6 @@ let
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
jre = jdk;
|
||||
home = jdk;
|
||||
};
|
||||
|
@ -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
|
@ -5,17 +5,20 @@
|
||||
# Note that the created binaries still need `patchelf --set-interpreter ...`
|
||||
# to get rid of ${glibc} dependency.
|
||||
, purgeNixReferences ? false
|
||||
, texinfo
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbcl-${version}";
|
||||
version = "1.4.12";
|
||||
version = "1.4.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||
sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a";
|
||||
sha256 = "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm";
|
||||
};
|
||||
|
||||
buildInputs = [texinfo];
|
||||
|
||||
patchPhase = ''
|
||||
echo '"${version}.nixos"' > version.lisp-expr
|
||||
echo "
|
||||
@ -46,11 +49,6 @@ stdenv.mkDerivation rec {
|
||||
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
|
||||
|
||||
# Fix the tests
|
||||
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
|
||||
sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
|
||||
sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
|
||||
sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
|
||||
|
||||
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
|
||||
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
|
||||
|
||||
@ -83,6 +81,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildPhase = ''
|
||||
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
|
||||
(cd doc/manual ; make info)
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
@ -32,11 +32,10 @@
|
||||
, makeWrapper
|
||||
, gnumake
|
||||
, file
|
||||
#, systemtap
|
||||
}:
|
||||
|
||||
let
|
||||
v_base = "4.1.3";
|
||||
v_base = "4.2.1";
|
||||
version = "${v_base}-RELEASE";
|
||||
version_friendly = "${v_base}";
|
||||
|
||||
@ -54,15 +53,15 @@ let
|
||||
# For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759
|
||||
clang = fetch {
|
||||
repo = "swift-clang";
|
||||
sha256 = "0j8bi6jv4m4hqiib02q5cvnxd9j6bwiri853x6px86vai3mdff0h";
|
||||
sha256 = "0l6w4xzpl3w2nax9a0b885nfzhfj38p2g99158nb5bzfd4s0man7";
|
||||
};
|
||||
llvm = fetch {
|
||||
repo = "swift-llvm";
|
||||
sha256 = "0q5cv4iydm8c1kcax32573y3q2cbpihwgj5aa8ws1fnpy4jvq934";
|
||||
sha256 = "1664zwxbq0a1cmxr9n5a0vw6vdk6ygr7rpglpdsfc7ki857vpsyv";
|
||||
};
|
||||
compilerrt = fetch {
|
||||
repo = "swift-compiler-rt";
|
||||
sha256 = "1wkymmxi2v759xkwlzfrq9rivndjfvp6ikrzz10mvvrvyvrgwqnl";
|
||||
sha256 = "19s6qxn4i0kxpf39xjp2i7zg427iinbmaxqkbb1p91g616y367sf";
|
||||
};
|
||||
cmark = fetch {
|
||||
repo = "swift-cmark";
|
||||
@ -70,32 +69,32 @@ let
|
||||
};
|
||||
lldb = fetch {
|
||||
repo = "swift-lldb";
|
||||
sha256 = "1d0pa7xm289bjb6r52hkkmlngkqkwbwgixnmm30bin2q18mkxk7s";
|
||||
sha256 = "00kz0xhj1p6ckyandj2gs1yfl29kxv84x9pfph00r8crbkd2jz7b";
|
||||
};
|
||||
llbuild = fetch {
|
||||
repo = "swift-llbuild";
|
||||
sha256 = "04y0ihfyam2n671vmpk9gy0gb9lb3ivh6mr19862p5kg5bmrcic1";
|
||||
sha256 = "1mkkhydshhxr28igbldzr0hhqvb6ql43cpf3ba5vglfkbcz6wh6q";
|
||||
};
|
||||
pm = fetch {
|
||||
repo = "swift-package-manager";
|
||||
sha256 = "08d87fc29qq7m92jaxkiczsa7b567pwbibiwwkzdrj6a0gr11qn3";
|
||||
sha256 = "1aqvmgq9g5zs4k2qnkvw3h3mar66d690hqq6g2dmrapsyb321j9l";
|
||||
};
|
||||
xctest = fetch {
|
||||
repo = "swift-corelibs-xctest";
|
||||
sha256 = "1alkgxx8jsr2jjv2kchnjaaddb1byjwim015m1z3qxh6lknqm0k5";
|
||||
sha256 = "1n4w7bfgy73vjzbvbphlwayy0dw73bbrayrpkqq8lbidg0x9lam8";
|
||||
};
|
||||
foundation = fetch {
|
||||
repo = "swift-corelibs-foundation";
|
||||
sha256 = "1bhrag63rmz41bg2g6ap01qrdpq37hislgf5hg6myy2v69q7mahx";
|
||||
sha256 = "1bfnkj8s3v327cy0czkngz0ryzmz7amjzkkxbsg2zyrhf9a9f0f7";
|
||||
};
|
||||
libdispatch = fetch {
|
||||
repo = "swift-corelibs-libdispatch";
|
||||
sha256 = "198vskbajch8s168a649qz5an92i2mxmmmzcjlgxlzh38fgxri0n";
|
||||
sha256 = "0fibrx54nbaawhsgd7cbr356ji9qvf8y8ahd5bdx28fpj6q0cnwc";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
swift = fetch {
|
||||
repo = "swift";
|
||||
sha256 = "1ydx11pkvaasgjbr29lnha0lpnak758gd5l0aqzmp3q6mcyvfm7a";
|
||||
sha256 = "0y277wi0m6zp1yph9s14mmc65m21q5fm6lgzkn2rkrbaz25fdzak";
|
||||
};
|
||||
};
|
||||
|
||||
@ -111,7 +110,6 @@ let
|
||||
ncurses
|
||||
sqlite
|
||||
swig
|
||||
# systemtap?
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@ -215,8 +213,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
|
||||
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
|
||||
substituteInPlace swift-corelibs-libdispatch/src/CMakeLists.txt \
|
||||
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
|
||||
substituteInPlace swift/utils/build-script-impl \
|
||||
--replace '/usr/include/c++' "${clang.cc.gcc}/include/c++"
|
||||
patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch}
|
||||
'' + stdenv.lib.optionalString stdenv.needsPax ''
|
||||
patch -p1 -d swift -i ${./patches/build-script-pax.patch}
|
||||
'' + ''
|
||||
@ -228,24 +229,24 @@ stdenv.mkDerivation rec {
|
||||
-e 's/^test-installable-package$/# \0/' \
|
||||
-e 's/^test$/# \0/' \
|
||||
-e 's/^validation-test$/# \0/' \
|
||||
-e 's/^long-test$/# \0/'
|
||||
-e 's/^long-test$/# \0/' \
|
||||
-e 's/^stress-test$/# \0/' \
|
||||
-e 's/^test-optimized$/# \0/'
|
||||
|
||||
# https://bugs.swift.org/browse/SR-5779
|
||||
sed -i -e 's|"-latomic"|"-Wl,-rpath,${clang.cc.gcc.lib}/lib" "-L${clang.cc.gcc.lib}/lib" "-latomic"|' swift/cmake/modules/AddSwift.cmake
|
||||
|
||||
substituteInPlace clang/lib/Driver/ToolChains/Linux.cpp \
|
||||
--replace ' addPathIfExists(D, SysRoot + "/usr/lib", Paths);' \
|
||||
' addPathIfExists(D, SysRoot + "/usr/lib", Paths); addPathIfExists(D, "${glibc}/lib", Paths);'
|
||||
--replace 'SysRoot + "/usr/lib' '"${glibc}/lib" "'
|
||||
patch -p1 -d clang -i ${./patches/llvm-include-dirs.patch}
|
||||
patch -p1 -d clang -i ${./purity.patch}
|
||||
|
||||
# Workaround hardcoded dep on "libcurses" (vs "libncurses"):
|
||||
sed -i 's,curses,ncurses,' llbuild/*/*/CMakeLists.txt
|
||||
|
||||
# This test fails on one of my machines, not sure why.
|
||||
# Disabling for now.
|
||||
rm llbuild/tests/Examples/buildsystem-capi.llbuild
|
||||
|
||||
PREFIX=''${out/#\/}
|
||||
substituteInPlace swift-corelibs-foundation/build.py \
|
||||
--replace usr/lib "$PREFIX/lib"
|
||||
substituteInPlace swift-corelibs-xctest/build_script.py \
|
||||
--replace usr "$PREFIX"
|
||||
substituteInPlace swiftpm/Utilities/bootstrap \
|
||||
@ -263,6 +264,7 @@ stdenv.mkDerivation rec {
|
||||
# Extract the generated tarball into the store
|
||||
PREFIX=''${out/#\/}
|
||||
tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX
|
||||
find $out -type d -empty -delete
|
||||
|
||||
paxmark pmr $out/bin/swift
|
||||
paxmark pmr $out/bin/*
|
||||
@ -290,4 +292,3 @@ stdenv.mkDerivation rec {
|
||||
broken = stdenv.isAarch64; # 2018-09-04, never built on Hydra
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
|
||||
index 7ee57ad2df..e6b0af3581 100644
|
||||
--- a/utils/build-presets.ini
|
||||
+++ b/utils/build-presets.ini
|
||||
@@ -686,7 +686,7 @@ swiftpm
|
||||
@@ -717,7 +717,7 @@ swiftpm
|
||||
xctest
|
||||
dash-dash
|
||||
|
||||
|
@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
|
||||
index e6b0af3581..1095cbaab7 100644
|
||||
--- a/utils/build-presets.ini
|
||||
+++ b/utils/build-presets.ini
|
||||
@@ -708,7 +708,7 @@ install-lldb
|
||||
@@ -723,7 +723,7 @@ install-lldb
|
||||
install-llbuild
|
||||
install-swiftpm
|
||||
install-xctest
|
||||
|
@ -11,7 +11,7 @@ diff --git a/utils/build-presets.ini b/utils/build-presets.ini
|
||||
index 1739e91dc2..0608fed9c1 100644
|
||||
--- a/utils/build-presets.ini
|
||||
+++ b/utils/build-presets.ini
|
||||
@@ -708,6 +708,8 @@ install-destdir=%(install_destdir)s
|
||||
@@ -740,6 +740,8 @@ install-destdir=%(install_destdir)s
|
||||
# Path to the .tar.gz package we would create.
|
||||
installable-package=%(installable_package)s
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- swift/utils/build-script-impl 2017-01-23 12:47:20.401326309 -0600
|
||||
+++ swift-pax/utils/build-script-impl 2017-01-23 13:24:10.339366996 -0600
|
||||
@@ -1823,6 +1823,17 @@ function set_lldb_xcodebuild_options() {
|
||||
@@ -1837,6 +1837,17 @@ function set_lldb_xcodebuild_options() {
|
||||
fi
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
#
|
||||
# Configure and build each product
|
||||
#
|
||||
@@ -2624,6 +2634,12 @@ for host in "${ALL_HOSTS[@]}"; do
|
||||
@@ -2735,6 +2746,12 @@ for host in "${ALL_HOSTS[@]}"; do
|
||||
fi
|
||||
|
||||
call "${CMAKE_BUILD[@]}" "${build_dir}" $(cmake_config_opt ${product}) -- "${BUILD_ARGS[@]}" ${build_targets[@]}
|
||||
|
@ -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}")
|
@ -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) {
|
@ -11,7 +11,7 @@ diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||
index fe3c0191bb..c6a482bece 100644
|
||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
@@ -398,13 +398,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
if (!Args.hasArg(options::OPT_static)) {
|
||||
if (Args.hasArg(options::OPT_rdynamic))
|
||||
CmdArgs.push_back("-export-dynamic");
|
||||
|
@ -86,7 +86,7 @@ self: super: {
|
||||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "069w4gdb104lc3vp48k3wywmgql56yc5g2g2i240xrr88in3qvqw";
|
||||
sha256 = "0mgmxcr36b86jh56my3vhp9y4cravi0hbppa463q3c21a1cmjc19";
|
||||
};
|
||||
}).override {
|
||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||
@ -370,6 +370,7 @@ self: super: {
|
||||
safecopy = dontCheck super.safecopy;
|
||||
sai-shape-syb = dontCheck super.sai-shape-syb;
|
||||
scp-streams = dontCheck super.scp-streams;
|
||||
sdl2 = dontCheck super.sdl2; # the test suite needs an x server
|
||||
sdl2-ttf = dontCheck super.sdl2-ttf; # as of version 0.2.1, the test suite requires user intervention
|
||||
separated = dontCheck super.separated;
|
||||
shadowsocks = dontCheck super.shadowsocks;
|
||||
@ -1150,4 +1151,7 @@ self: super: {
|
||||
# https://github.com/danfran/cabal-macosx/issues/13
|
||||
cabal-macosx = dontCheck super.cabal-macosx;
|
||||
|
||||
# https://github.com/DanielG/cabal-helper/issues/59
|
||||
cabal-helper = doJailbreak super.cabal-helper;
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
@ -46,7 +46,7 @@ self: super: {
|
||||
|
||||
# LTS-12.x versions do not compile.
|
||||
base-orphans = self.base-orphans_0_8;
|
||||
brick = doJailbreak super.brick_0_41_2; # https://github.com/jtdaugherty/brick/pull/188
|
||||
brick = self.brick_0_41_2;
|
||||
cassava-megaparsec = doJailbreak super.cassava-megaparsec;
|
||||
config-ini = doJailbreak super.config-ini; # https://github.com/aisamanra/config-ini/issues/18
|
||||
contravariant = self.contravariant_1_5;
|
||||
@ -69,6 +69,7 @@ self: super: {
|
||||
megaparsec = dontCheck (doJailbreak super.megaparsec);
|
||||
neat-interpolation = dontCheck super.neat-interpolation; # test suite depends on broken HTF
|
||||
patience = markBrokenVersion "0.1.1" super.patience;
|
||||
polyparse = self.polyparse_1_12_1;
|
||||
primitive = self.primitive_0_6_4_0;
|
||||
QuickCheck = self.QuickCheck_2_12_6_1;
|
||||
semigroupoids = self.semigroupoids_5_3_1;
|
||||
|
@ -1,6 +1,6 @@
|
||||
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
|
||||
|
||||
compiler: ghc-8.4.3
|
||||
compiler: ghc-8.4.4
|
||||
|
||||
core-packages:
|
||||
- array-0.5.2.0
|
||||
@ -12,12 +12,12 @@ core-packages:
|
||||
- deepseq-1.4.3.0
|
||||
- directory-1.3.1.5
|
||||
- filepath-1.4.2
|
||||
- ghc-8.4.3
|
||||
- ghc-boot-8.4.3
|
||||
- ghc-boot-th-8.4.3
|
||||
- ghc-8.4.4
|
||||
- ghc-boot-8.4.4
|
||||
- ghc-boot-th-8.4.4
|
||||
- ghc-compact-0.1.0.0
|
||||
- ghc-prim-0.5.2.0
|
||||
- ghci-8.4.3
|
||||
- ghci-8.4.4
|
||||
- haskeline-0.7.4.2
|
||||
- hpc-0.6.0.3
|
||||
- integer-gmp-1.0.2.0
|
||||
@ -26,10 +26,10 @@ core-packages:
|
||||
- pretty-1.1.3.6
|
||||
- process-1.6.3.0
|
||||
- rts-1.0
|
||||
- stm-2.4.5.0
|
||||
- stm-2.4.5.1
|
||||
- template-haskell-2.13.0.0
|
||||
- terminfo-0.4.1.1
|
||||
- text-1.2.3.0
|
||||
- text-1.2.3.1
|
||||
- time-1.8.0.2
|
||||
- transformers-0.5.5.0
|
||||
- unix-2.7.2.2
|
||||
|
705
pkgs/development/haskell-modules/hackage-packages.nix
generated
705
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -186,7 +186,7 @@ in rec {
|
||||
|
||||
# the latest Devel version
|
||||
perldevel = common {
|
||||
version = "5.29.3";
|
||||
sha256 = "054xi629408p2hv9475jghv6zd1bj69qqpiby8cy9qw5vismgi17";
|
||||
version = "5.29.4";
|
||||
sha256 = "153r0f6jdqrl7hxrvhfivf5g8ivhbvggfhg841q3hi3db5rc86k4";
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, perl, cmake, ninja, vala_0_40, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
|
||||
{ stdenv, fetchFromGitHub, cmake, ninja, vala_0_40, pkgconfig, gobjectIntrospection, gnome3, gtk3, glib, gettext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "granite-${version}";
|
||||
version = "5.1.0";
|
||||
pname = "granite";
|
||||
version = "5.2.0";
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = "granite";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1v1yhz6rp616xi417m9r8072s6mpz5i8vkdyj264b73p0lgjwh40";
|
||||
};
|
||||
@ -21,10 +23,10 @@ stdenv.mkDerivation rec {
|
||||
gettext
|
||||
gobjectIntrospection
|
||||
ninja
|
||||
perl
|
||||
pkgconfig
|
||||
vala_0_40
|
||||
vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gnome3.libgee
|
||||
@ -33,9 +35,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An extension to GTK+ used by elementary OS";
|
||||
longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
|
||||
longDescription = ''
|
||||
Granite is a companion library for GTK+ and GLib. Among other things, it provides complex widgets and convenience functions
|
||||
designed for use in apps built for elementary OS.
|
||||
'';
|
||||
homepage = https://github.com/elementary/granite;
|
||||
license = licenses.lgpl3;
|
||||
license = licenses.lgpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ vozz worldofpeace ];
|
||||
};
|
||||
|
@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
|
||||
rm -vf BUILD
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=unknown-warning-option";
|
||||
|
||||
enableParallelBuilds = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = [ "--with-gssapi-impl=mit" ];
|
||||
|
||||
doCheck = true;
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
meta = {
|
||||
description = "GNU SASL, Simple Authentication and Security Layer library";
|
||||
|
@ -15,7 +15,9 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
description = "An image loading and rendering library for X11";
|
||||
platforms = platforms.unix;
|
||||
license = with licenses; [ gpl2 lgpl2 ];
|
||||
};
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "incrtcl-${version}";
|
||||
version = "4.0.4";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.0.4.tar.gz;
|
||||
sha256 = "1ppc9b13cvmc6rp77k7dl2zb26xk0z30vxygmr4h1xr2r8w091k3";
|
||||
@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
|
||||
libPrefix = "itcl3.4";
|
||||
};
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://incrtcl.sourceforge.net/;
|
||||
description = "Object Oriented Enhancements for Tcl/Tk";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.tcltk;
|
||||
};
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jama-${version}";
|
||||
version = "1.2.5";
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = https://math.nist.gov/tnt/jama125.zip;
|
||||
sha256 = "031ns526fvi2nv7jzzv02i7i5sjcyr0gj884i3an67qhsx8vyckl";
|
||||
@ -21,9 +21,10 @@ stdenv.mkDerivation rec {
|
||||
cp *.h $out/include
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://math.nist.gov/tnt/;
|
||||
description = "JAMA/C++ Linear Algebra Package: Java-like matrix C++ templates";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.publicDomain;
|
||||
};
|
||||
}
|
||||
|
@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://www.ece.uvic.ca/~frodo/jasper/;
|
||||
description = "JPEG2000 Library";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.jasper;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
};
|
||||
}
|
||||
|
@ -18,8 +18,9 @@ stdenv.mkDerivation {
|
||||
-e "s|install: install-bin install-man install-doc|install: install-bin|" Makefile
|
||||
'';
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.sander ];
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.sander ];
|
||||
license = licenses.afl21;
|
||||
};
|
||||
}
|
||||
|
@ -3,13 +3,14 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "gwt-dnd-2.6.5";
|
||||
builder = ./builder.sh;
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = http://gwt-dnd.googlecode.com/files/gwt-dnd-2.6.5.jar;
|
||||
sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.unix;
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
@ -3,13 +3,14 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "gwt-widgets-0.2.0";
|
||||
builder = ./builder.sh;
|
||||
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/gwt-widget/gwt-widgets-0.2.0-bin.tar.gz;
|
||||
sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.unix;
|
||||
license = with licenses; [ afl21 lgpl2 ];
|
||||
};
|
||||
}
|
||||
|
@ -12,8 +12,9 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ unzip
|
||||
];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.unix;
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
||||
|
@ -11,7 +11,9 @@ stdenv.mkDerivation {
|
||||
|
||||
inherit unzip;
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://httpunit.sourceforge.net;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
|
@ -9,7 +9,10 @@ stdenv.mkDerivation {
|
||||
sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
|
||||
};
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
meta = with stdenv.lib; {
|
||||
description = "Java-based solution for accessing, manipulating, and outputting XML data from Java code";
|
||||
homepage = http://www.jdom.org;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.bsdOriginal;
|
||||
};
|
||||
}
|
||||
|
@ -10,8 +10,9 @@ stdenv.mkDerivation {
|
||||
PREFIX=''''${out}'';
|
||||
buildInputs = [ jdk ];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.sander ];
|
||||
meta = with stdenv.lib; {
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.sander ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user