Merge branch 'master' into staging
This commit is contained in:
commit
6705f30e2c
@ -15,7 +15,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
|
||||
afl21 = spdx {
|
||||
spdxId = "AFL-2.1";
|
||||
fullName = "Academic Free License";
|
||||
fullName = "Academic Free License v2.1";
|
||||
};
|
||||
|
||||
afl3 = spdx {
|
||||
spdxId = "AFL-3.0";
|
||||
fullName = "Academic Free License v3.0";
|
||||
};
|
||||
|
||||
agpl3 = spdx {
|
||||
@ -426,6 +431,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
fullName = "Notion modified LGPL";
|
||||
};
|
||||
|
||||
nposl3 = spdx {
|
||||
spdxId = "NPOSL-3.0";
|
||||
fullName = "Non-Profit Open Software License 3.0";
|
||||
};
|
||||
|
||||
ofl = spdx {
|
||||
spdxId = "OFL-1.1";
|
||||
fullName = "SIL Open Font License 1.1";
|
||||
@ -441,7 +451,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
fullName = "OpenSSL License";
|
||||
};
|
||||
|
||||
osl = spdx {
|
||||
osl21 = spdx {
|
||||
spdxId = "OSL-2.1";
|
||||
fullName = "Open Software License 2.1";
|
||||
};
|
||||
|
||||
osl3 = spdx {
|
||||
spdxId = "OSL-3.0";
|
||||
fullName = "Open Software License 3.0";
|
||||
};
|
||||
|
@ -120,6 +120,7 @@
|
||||
chrisrosset = "Christopher Rosset <chris@rosset.org.uk>";
|
||||
christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
|
||||
ciil = "Simon Lackerbauer <simon@lackerbauer.com>";
|
||||
ck3d = "Christian Kögler <ck3d@gmx.de>";
|
||||
ckampka = "Christian Kampka <christian@kampka.net>";
|
||||
ckauhaus = "Christian Kauhaus <christian@kauhaus.de>";
|
||||
cko = "Christine Koppelt <christine.koppelt@gmail.com>";
|
||||
@ -642,6 +643,7 @@
|
||||
theuni = "Christian Theune <ct@flyingcircus.io>";
|
||||
ThomasMader = "Thomas Mader <thomas.mader@gmail.com>";
|
||||
thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
|
||||
thpham = "Thomas Pham <thomas.pham@ithings.ch>";
|
||||
timbertson = "Tim Cuthbertson <tim@gfxmonk.net>";
|
||||
timokau = "Timo Kaufmann <timokau@zoho.com>";
|
||||
titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
|
||||
@ -699,6 +701,7 @@
|
||||
womfoo = "Kranium Gikos Mendoza <kranium@gikos.net>";
|
||||
wscott = "Wayne Scott <wsc9tt@gmail.com>";
|
||||
wyvie = "Elijah Rum <elijahrum@gmail.com>";
|
||||
xaverdh = "Dominik Xaver Hörl <hoe.dom@gmx.de>";
|
||||
xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
|
||||
xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>";
|
||||
xwvvvvwx = "David Terry <davidterry@posteo.de>";
|
||||
|
@ -146,6 +146,7 @@ sub start {
|
||||
($self->{allowReboot} ? "" : "-no-reboot ") .
|
||||
"-monitor unix:./monitor -chardev socket,id=shell,path=./shell " .
|
||||
"-device virtio-serial -device virtconsole,chardev=shell " .
|
||||
"-device virtio-rng-pci " .
|
||||
($showGraphics ? "-serial stdio" : "-nographic") . " " . ($ENV{QEMU_OPTS} || "");
|
||||
chdir $self->{stateDir} or die;
|
||||
exec $self->{startCommand};
|
||||
|
@ -45,7 +45,7 @@ let
|
||||
uid = ids.uids.pulseaudio;
|
||||
gid = ids.gids.pulseaudio;
|
||||
|
||||
stateDir = "/var/run/pulse";
|
||||
stateDir = "/run/pulse";
|
||||
|
||||
# Create pulse/client.conf even if PulseAudio is disabled so
|
||||
# that we can disable the autospawn feature in programs that
|
||||
@ -219,6 +219,12 @@ in {
|
||||
|
||||
{ target = "pulse/daemon.conf";
|
||||
source = writeText "daemon.conf" (lib.generators.toKeyValue {} cfg.daemon.config); }
|
||||
|
||||
{ target = "openal/alsoft.conf";
|
||||
source = writeText "alsoft.conf" "drivers=pulse"; }
|
||||
|
||||
{ target = "libao.conf";
|
||||
source = writeText "libao.conf" "default_driver=pulse"; }
|
||||
];
|
||||
|
||||
# Allow PulseAudio to get realtime priority using rtkit.
|
||||
|
@ -582,13 +582,15 @@ in {
|
||||
{
|
||||
environment = {
|
||||
etc = mapAttrs' (name: { packages, ... }: {
|
||||
name = "per-user-pkgs/${name}";
|
||||
value.source = pkgs.symlinkJoin {
|
||||
name = "per-user-pkgs.${name}";
|
||||
name = "profiles/per-user/${name}";
|
||||
value.source = pkgs.buildEnv {
|
||||
name = "user-environment";
|
||||
paths = packages;
|
||||
inherit (config.environment) pathsToLink extraOutputsToInstall;
|
||||
inherit (config.system.path) ignoreCollisions postBuild;
|
||||
};
|
||||
}) (filterAttrs (_: { packages, ... }: packages != []) cfg.users);
|
||||
profiles = ["/etc/per-user-pkgs/$LOGNAME"];
|
||||
profiles = ["/etc/profiles/per-user/$USER"];
|
||||
};
|
||||
}
|
||||
];
|
||||
|
@ -4,7 +4,7 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
|
||||
boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
|
||||
boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
|
||||
|
||||
boot.initrd.postDeviceCommands =
|
||||
|
@ -48,6 +48,10 @@ with lib;
|
||||
(mkRemovedOptionModule [ "services" "rmilter" "bindInetSockets" ] "Use services.rmilter.bindSocket.* instead")
|
||||
(mkRemovedOptionModule [ "services" "rmilter" "bindUnixSockets" ] "Use services.rmilter.bindSocket.* instead")
|
||||
|
||||
# Xsession script
|
||||
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
|
||||
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ])
|
||||
|
||||
# Old Grub-related options.
|
||||
(mkRenamedOptionModule [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ])
|
||||
(mkRenamedOptionModule [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ])
|
||||
|
@ -4,14 +4,6 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.buildkite-agent;
|
||||
configFile = pkgs.writeText "buildkite-agent.cfg"
|
||||
''
|
||||
token="${cfg.token}"
|
||||
name="${cfg.name}"
|
||||
meta-data="${cfg.meta-data}"
|
||||
hooks-path="${cfg.package}/share/hooks"
|
||||
build-path="${cfg.dataDir}"
|
||||
'';
|
||||
in
|
||||
|
||||
{
|
||||
@ -39,10 +31,13 @@ in
|
||||
type = types.listOf types.package;
|
||||
};
|
||||
|
||||
token = mkOption {
|
||||
type = types.str;
|
||||
tokenPath = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
The token from your Buildkite "Agents" page.
|
||||
|
||||
A run-time path to the token file, which is supposed to be provisioned
|
||||
outside of Nix store.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -62,16 +57,22 @@ in
|
||||
};
|
||||
|
||||
openssh =
|
||||
{ privateKey = mkOption {
|
||||
type = types.str;
|
||||
{ privateKeyPath = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Private agent key.
|
||||
|
||||
A run-time path to the key file, which is supposed to be provisioned
|
||||
outside of Nix store.
|
||||
'';
|
||||
};
|
||||
publicKey = mkOption {
|
||||
type = types.str;
|
||||
publicKeyPath = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Public agent key.
|
||||
|
||||
A run-time path to the key file, which is supposed to be provisioned
|
||||
outside of Nix store.
|
||||
'';
|
||||
};
|
||||
};
|
||||
@ -84,11 +85,15 @@ in
|
||||
home = cfg.dataDir;
|
||||
createHome = true;
|
||||
description = "Buildkite agent user";
|
||||
extraGroups = [ "keys" ];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.buildkite-agent =
|
||||
let copy = x: target: perms:
|
||||
"cp -f ${x} ${target}; ${pkgs.coreutils}/bin/chmod ${toString perms} ${target}; ";
|
||||
in
|
||||
{ description = "Buildkite Agent";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
@ -97,18 +102,26 @@ in
|
||||
HOME = cfg.dataDir;
|
||||
NIX_REMOTE = "daemon";
|
||||
};
|
||||
|
||||
## NB: maximum care is taken so that secrets (ssh keys and the CI token)
|
||||
## don't end up in the Nix store.
|
||||
preStart = ''
|
||||
${pkgs.coreutils}/bin/mkdir -m 0700 -p ${cfg.dataDir}/.ssh
|
||||
${pkgs.coreutils}/bin/mkdir -m 0700 -p ${cfg.dataDir}/.ssh
|
||||
${copy (toString cfg.openssh.privateKeyPath) "${cfg.dataDir}/.ssh/id_rsa" 600}
|
||||
${copy (toString cfg.openssh.publicKeyPath) "${cfg.dataDir}/.ssh/id_rsa.pub" 600}
|
||||
|
||||
echo "${cfg.openssh.privateKey}" > ${cfg.dataDir}/.ssh/id_rsa
|
||||
${pkgs.coreutils}/bin/chmod 600 ${cfg.dataDir}/.ssh/id_rsa
|
||||
|
||||
echo "${cfg.openssh.publicKey}" > ${cfg.dataDir}/.ssh/id_rsa.pub
|
||||
${pkgs.coreutils}/bin/chmod 600 ${cfg.dataDir}/.ssh/id_rsa.pub
|
||||
'';
|
||||
cat > "${cfg.dataDir}/buildkite-agent.cfg" <<EOF
|
||||
token="$(cat ${toString cfg.tokenPath})"
|
||||
name="${cfg.name}"
|
||||
meta-data="${cfg.meta-data}"
|
||||
hooks-path="${pkgs.buildkite-agent}/share/hooks"
|
||||
build-path="${cfg.dataDir}/builds"
|
||||
bootstrap-script="${pkgs.buildkite-agent}/share/bootstrap.sh"
|
||||
EOF
|
||||
'';
|
||||
|
||||
serviceConfig =
|
||||
{ ExecStart = "${pkgs.buildkite-agent}/bin/buildkite-agent start --config ${configFile}";
|
||||
{ ExecStart = "${pkgs.buildkite-agent}/bin/buildkite-agent start --config /var/lib/buildkite-agent/buildkite-agent.cfg";
|
||||
User = "buildkite-agent";
|
||||
RestartSec = 5;
|
||||
Restart = "on-failure";
|
||||
@ -116,4 +129,9 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "token" ] [ "services" "buildkite-agent" "tokenPath" ])
|
||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "openssh" "privateKey" ] [ "services" "buildkite-agent" "openssh" "privateKeyPath" ])
|
||||
(mkRenamedOptionModule [ "services" "buildkite-agent" "openssh" "publicKey" ] [ "services" "buildkite-agent" "openssh" "publicKeyPath" ])
|
||||
];
|
||||
}
|
||||
|
@ -188,8 +188,7 @@ let
|
||||
/* date format to be used while writing to the owncloud logfile */
|
||||
'logdateformat' => 'F d, Y H:i:s',
|
||||
|
||||
/* timezone used while writing to the owncloud logfile (default: UTC) */
|
||||
'logtimezone' => '${serverInfo.fullConfig.time.timeZone}',
|
||||
${tzSetting}
|
||||
|
||||
/* Append all database queries and parameters to the log file.
|
||||
(watch out, this option can increase the size of your log file)*/
|
||||
@ -339,6 +338,31 @@ let
|
||||
|
||||
'';
|
||||
|
||||
tzSetting = let tz = serverInfo.fullConfig.time.timeZone; in optionalString (!isNull tz) ''
|
||||
/* timezone used while writing to the owncloud logfile (default: UTC) */
|
||||
'logtimezone' => '${tz}',
|
||||
'';
|
||||
|
||||
postgresql = serverInfo.fullConfig.services.postgresql.package;
|
||||
|
||||
setupDb = pkgs.writeScript "setup-owncloud-db" ''
|
||||
#!${pkgs.stdenv.shell}
|
||||
PATH="${postgresql}/bin"
|
||||
createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
|
||||
createdb "${config.dbName}" -O "${config.dbUser}" || true
|
||||
psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
|
||||
|
||||
QUERY="CREATE TABLE appconfig
|
||||
( appid VARCHAR( 255 ) NOT NULL
|
||||
, configkey VARCHAR( 255 ) NOT NULL
|
||||
, configvalue VARCHAR( 255 ) NOT NULL
|
||||
);
|
||||
GRANT ALL ON appconfig TO ${config.dbUser};
|
||||
ALTER TABLE appconfig OWNER TO ${config.dbUser};"
|
||||
|
||||
psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
@ -353,7 +377,7 @@ rec {
|
||||
''}
|
||||
|
||||
<Directory ${config.package}>
|
||||
${builtins.readFile "${config.package}/.htaccess"}
|
||||
Include ${config.package}/.htaccess
|
||||
</Directory>
|
||||
'';
|
||||
|
||||
@ -373,7 +397,7 @@ rec {
|
||||
defaultText = "pkgs.owncloud70";
|
||||
example = literalExample "pkgs.owncloud70";
|
||||
description = ''
|
||||
PostgreSQL package to use.
|
||||
ownCloud package to use.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -574,13 +598,7 @@ rec {
|
||||
chmod -R o-rwx ${config.dataDir}
|
||||
chown -R wwwrun:wwwrun ${config.dataDir}
|
||||
|
||||
${pkgs.postgresql}/bin/createuser -s -r postgres
|
||||
${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
|
||||
${pkgs.postgresql}/bin/createdb "${config.dbName}" -O "${config.dbUser}" || true
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
|
||||
|
||||
QUERY="CREATE TABLE appconfig (appid VARCHAR( 255 ) NOT NULL ,configkey VARCHAR( 255 ) NOT NULL ,configvalue VARCHAR( 255 ) NOT NULL); GRANT ALL ON appconfig TO ${config.dbUser}; ALTER TABLE appconfig OWNER TO ${config.dbUser};"
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${setupDb}
|
||||
fi
|
||||
|
||||
if [ -e ${config.package}/config/ca-bundle.crt ]; then
|
||||
@ -591,7 +609,11 @@ rec {
|
||||
|
||||
chown wwwrun:wwwrun ${config.dataDir}/owncloud.log || true
|
||||
|
||||
QUERY="INSERT INTO groups (gid) values('admin'); INSERT INTO users (uid,password) values('${config.adminUser}','${builtins.hashString "sha1" config.adminPassword}'); INSERT INTO group_user (gid,uid) values('admin','${config.adminUser}');"
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
|
||||
QUERY="INSERT INTO groups (gid) values('admin');
|
||||
INSERT INTO users (uid,password)
|
||||
values('${config.adminUser}','${builtins.hashString "sha1" config.adminPassword}');
|
||||
INSERT INTO group_user (gid,uid)
|
||||
values('admin','${config.adminUser}');"
|
||||
${pkgs.sudo}/bin/sudo -u postgres ${postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
|
||||
'';
|
||||
}
|
||||
|
@ -59,12 +59,6 @@ let
|
||||
# Now it should be safe to assume that the script was called with the
|
||||
# expected parameters.
|
||||
|
||||
${optionalString cfg.displayManager.logToJournal ''
|
||||
if [ -z "$_DID_SYSTEMD_CAT" ]; then
|
||||
_DID_SYSTEMD_CAT=1 exec ${config.systemd.package}/bin/systemd-cat -t xsession -- "$0" "$@"
|
||||
fi
|
||||
''}
|
||||
|
||||
. /etc/profile
|
||||
cd "$HOME"
|
||||
|
||||
@ -72,16 +66,23 @@ let
|
||||
sessionType="$1"
|
||||
if [ "$sessionType" = default ]; then sessionType=""; fi
|
||||
|
||||
${optionalString (!cfg.displayManager.job.logsXsession && !cfg.displayManager.logToJournal) ''
|
||||
exec > ~/.xsession-errors 2>&1
|
||||
''}
|
||||
|
||||
${optionalString cfg.startDbusSession ''
|
||||
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
|
||||
exec ${pkgs.dbus.dbus-launch} --exit-with-session "$0" "$sessionType"
|
||||
fi
|
||||
''}
|
||||
|
||||
${optionalString cfg.displayManager.job.logToJournal ''
|
||||
if [ -z "$_DID_SYSTEMD_CAT" ]; then
|
||||
export _DID_SYSTEMD_CAT=1
|
||||
exec ${config.systemd.package}/bin/systemd-cat -t xsession "$0" "$sessionType"
|
||||
fi
|
||||
''}
|
||||
|
||||
${optionalString cfg.displayManager.job.logToFile ''
|
||||
exec &> >(tee ~/.xsession-errors)
|
||||
''}
|
||||
|
||||
# Start PulseAudio if enabled.
|
||||
${optionalString (config.hardware.pulseaudio.enable) ''
|
||||
${optionalString (!config.hardware.pulseaudio.systemWide)
|
||||
@ -306,26 +307,24 @@ in
|
||||
description = "Additional environment variables needed by the display manager.";
|
||||
};
|
||||
|
||||
logsXsession = mkOption {
|
||||
logToFile = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether the display manager redirects the
|
||||
output of the session script to
|
||||
<filename>~/.xsession-errors</filename>.
|
||||
Whether the display manager redirects the output of the
|
||||
session script to <filename>~/.xsession-errors</filename>.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
logToJournal = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether the display manager redirects the output of the
|
||||
session script to the systemd journal.
|
||||
'';
|
||||
};
|
||||
|
||||
logToJournal = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
By default, the stdout/stderr of sessions is written
|
||||
to <filename>~/.xsession-errors</filename>. When this option
|
||||
is enabled, it will instead be written to the journal.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -190,7 +190,7 @@ in
|
||||
services.xserver.displayManager.slim.enable = false;
|
||||
|
||||
services.xserver.displayManager.job = {
|
||||
logsXsession = true;
|
||||
logToFile = true;
|
||||
|
||||
# lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
|
||||
execCmd = ''
|
||||
|
@ -205,7 +205,7 @@ in
|
||||
services.xserver.displayManager.slim.enable = false;
|
||||
|
||||
services.xserver.displayManager.job = {
|
||||
logsXsession = true;
|
||||
logToFile = true;
|
||||
|
||||
environment = {
|
||||
# Load themes from system environment
|
||||
|
@ -220,7 +220,7 @@ in
|
||||
'';
|
||||
|
||||
services.xserver.displayManager.job = {
|
||||
logsXsession = true;
|
||||
logToFile = true;
|
||||
|
||||
execCmd = ''
|
||||
${optionalString (cfg.pulseaudio)
|
||||
|
@ -5,7 +5,13 @@
|
||||
|
||||
with lib;
|
||||
|
||||
let kernel = config.boot.kernelPackages.kernel; in
|
||||
let
|
||||
kernel = config.boot.kernelPackages.kernel;
|
||||
# FIXME: figure out a common place for this instead of copy pasting
|
||||
serialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
||||
else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
|
||||
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
@ -22,8 +28,8 @@ let kernel = config.boot.kernelPackages.kernel; in
|
||||
|
||||
systemd.services.backdoor =
|
||||
{ wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "dev-hvc0.device" "dev-ttyS0.device" ];
|
||||
after = [ "dev-hvc0.device" "dev-ttyS0.device" ];
|
||||
requires = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
|
||||
after = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
|
||||
script =
|
||||
''
|
||||
export USER=root
|
||||
@ -40,7 +46,7 @@ let kernel = config.boot.kernelPackages.kernel; in
|
||||
|
||||
cd /tmp
|
||||
exec < /dev/hvc0 > /dev/hvc0
|
||||
while ! exec 2> /dev/ttyS0; do sleep 0.1; done
|
||||
while ! exec 2> /dev/${serialDevice}; do sleep 0.1; done
|
||||
echo "connecting to host..." >&2
|
||||
stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
|
||||
echo
|
||||
@ -49,10 +55,10 @@ let kernel = config.boot.kernelPackages.kernel; in
|
||||
serviceConfig.KillSignal = "SIGHUP";
|
||||
};
|
||||
|
||||
# Prevent agetty from being instantiated on ttyS0, since it
|
||||
# interferes with the backdoor (writes to ttyS0 will randomly fail
|
||||
# Prevent agetty from being instantiated on ${serialDevice}, since it
|
||||
# interferes with the backdoor (writes to ${serialDevice} will randomly fail
|
||||
# with EIO). Likewise for hvc0.
|
||||
systemd.services."serial-getty@ttyS0".enable = false;
|
||||
systemd.services."serial-getty@${serialDevice}".enable = false;
|
||||
systemd.services."serial-getty@hvc0".enable = false;
|
||||
|
||||
boot.initrd.preDeviceCommands =
|
||||
@ -88,7 +94,7 @@ let kernel = config.boot.kernelPackages.kernel; in
|
||||
# Panic if an error occurs in stage 1 (rather than waiting for
|
||||
# user intervention).
|
||||
boot.kernelParams =
|
||||
[ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
|
||||
[ "console=${serialDevice}" "panic=1" "boot.panic_on_fail" ];
|
||||
|
||||
# `xwininfo' is used by the test driver to query open windows.
|
||||
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
||||
|
@ -14,6 +14,17 @@ with lib;
|
||||
let
|
||||
|
||||
qemu = config.system.build.qemu or pkgs.qemu_test;
|
||||
qemuKvm = {
|
||||
"i686-linux" = "${qemu}/bin/qemu-kvm";
|
||||
"x86_64-linux" = "${qemu}/bin/qemu-kvm -cpu kvm64";
|
||||
"armv7l-linux" = "${qemu}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
|
||||
"aarch64-linux" = "${qemu}/bin/qemu-system-aarch64 -enable-kvm -machine virt -cpu host";
|
||||
}.${pkgs.stdenv.system};
|
||||
|
||||
# FIXME: figure out a common place for this instead of copy pasting
|
||||
serialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
||||
else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
|
||||
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
|
||||
|
||||
vmName =
|
||||
if config.networking.hostName == ""
|
||||
@ -23,7 +34,7 @@ let
|
||||
cfg = config.virtualisation;
|
||||
|
||||
qemuGraphics = if cfg.graphics then "" else "-nographic";
|
||||
kernelConsole = if cfg.graphics then "" else "console=ttyS0";
|
||||
kernelConsole = if cfg.graphics then "" else "console=${serialDevice}";
|
||||
ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ];
|
||||
|
||||
# Shell script to start the VM.
|
||||
@ -72,11 +83,10 @@ let
|
||||
'')}
|
||||
|
||||
# Start QEMU.
|
||||
exec ${qemu}/bin/qemu-kvm \
|
||||
exec ${qemuKvm} \
|
||||
-name ${vmName} \
|
||||
-m ${toString config.virtualisation.memorySize} \
|
||||
-smp ${toString config.virtualisation.cores} \
|
||||
${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \
|
||||
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
|
||||
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
|
||||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
||||
@ -434,7 +444,9 @@ in
|
||||
|
||||
virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
|
||||
|
||||
virtualisation.qemu.options = [ "-vga std" "-usbdevice tablet" ];
|
||||
# FIXME: Figure out how to make this work on non-x86
|
||||
virtualisation.qemu.options =
|
||||
mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usbdevice tablet" ];
|
||||
|
||||
# Mount the host filesystem via 9P, and bind-mount the Nix store
|
||||
# of the host into our own filesystem. We use mkVMOverride to
|
||||
|
@ -263,7 +263,7 @@ in rec {
|
||||
tests.hibernate = callTest tests/hibernate.nix {};
|
||||
tests.hound = callTest tests/hound.nix {};
|
||||
tests.i3wm = callTest tests/i3wm.nix {};
|
||||
tests.initrd-network-ssh = callTest tests/initrd-network-ssh.nix {};
|
||||
tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
|
||||
tests.installer = callSubTests tests/installer.nix {};
|
||||
tests.influxdb = callTest tests/influxdb.nix {};
|
||||
tests.ipv6 = callTest tests/ipv6.nix {};
|
||||
@ -309,6 +309,7 @@ in rec {
|
||||
tests.leaps = callTest tests/leaps.nix { };
|
||||
tests.nsd = callTest tests/nsd.nix {};
|
||||
tests.openssh = callTest tests/openssh.nix {};
|
||||
tests.owncloud = callTest tests/owncloud.nix {};
|
||||
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
|
||||
#tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
|
||||
tests.peerflix = callTest tests/peerflix.nix {};
|
||||
|
@ -1,19 +1,6 @@
|
||||
import ./make-test.nix ({ pkgs, lib, ... }:
|
||||
import ../make-test.nix ({ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
keys = pkgs.runCommand "gen-keys" {
|
||||
outputs = [ "out" "dbPub" "dbPriv" "sshPub" "sshPriv" ];
|
||||
buildInputs = with pkgs; [ dropbear openssh ];
|
||||
}
|
||||
''
|
||||
touch $out
|
||||
dropbearkey -t rsa -f $dbPriv -s 4096 | sed -n 2p > $dbPub
|
||||
ssh-keygen -q -t rsa -b 4096 -N "" -f client
|
||||
mv client $sshPriv
|
||||
mv client.pub $sshPub
|
||||
'';
|
||||
|
||||
in {
|
||||
{
|
||||
name = "initrd-network-ssh";
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ willibutz ];
|
||||
@ -32,9 +19,9 @@ in {
|
||||
enable = true;
|
||||
ssh = {
|
||||
enable = true;
|
||||
authorizedKeys = [ "${readFile keys.sshPub}" ];
|
||||
authorizedKeys = [ "${readFile ./openssh.pub}" ];
|
||||
port = 22;
|
||||
hostRSAKey = keys.dbPriv;
|
||||
hostRSAKey = ./dropbear.priv;
|
||||
};
|
||||
};
|
||||
boot.initrd.preLVMCommands = ''
|
||||
@ -56,7 +43,7 @@ in {
|
||||
"${toString (head (splitString " " (
|
||||
toString (elemAt (splitString "\n" config.networking.extraHosts) 2)
|
||||
)))} "
|
||||
"${readFile keys.dbPub}"
|
||||
"${readFile ./dropbear.pub}"
|
||||
];
|
||||
};
|
||||
};
|
||||
@ -65,7 +52,7 @@ in {
|
||||
testScript = ''
|
||||
startAll;
|
||||
$client->waitForUnit("network.target");
|
||||
$client->copyFileFromHost("${keys.sshPriv}","/etc/sshKey");
|
||||
$client->copyFileFromHost("${./openssh.priv}","/etc/sshKey");
|
||||
$client->succeed("chmod 0600 /etc/sshKey");
|
||||
$client->waitUntilSucceeds("ping -c 1 server");
|
||||
$client->succeed("ssh -i /etc/sshKey -o UserKnownHostsFile=/etc/knownHosts server 'touch /fnord'");
|
BIN
nixos/tests/initrd-network-ssh/dropbear.priv
Normal file
BIN
nixos/tests/initrd-network-ssh/dropbear.priv
Normal file
Binary file not shown.
1
nixos/tests/initrd-network-ssh/dropbear.pub
Normal file
1
nixos/tests/initrd-network-ssh/dropbear.pub
Normal file
@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCzJ0OniLB91MpPC86I1m3wwJeAc+Gme7bAuaLIU/cSfPwxT5NO7MfCp0Pu94gYDKtDXMs/wXg0bTAVDeAFFkdIj6kBBumEmQLCTL48q2UxDIXVLT/E/AAgj6q7WwgCg7fwm4Vjn4z7aUyBx8EfRy+5/SQyeYla3D/lFYgMi5x4D6J+yeR+JPAptDE/IR5IizNV7mY0ZcoXYyHrrehI1tTYEEqjX13ZqS4OCBFWwHe1QHhRNM+jHhcATbgikjAj8FyFPtLvc+dSVtkuhQktQl36Bi8zMUQcV6+mM7Ln6DBcDlM9urHKLYPTWmUAyhxM955iglOn5z0RaAIcyNMT6hz0rHaNf0BIlmbXoTC0XGjHh/OnoOEC/zg0JqgQTnPiU45K4TnRSSXp2GfiDfiQAK0+HaXACkjuFR68u7WCZpB1Bse1OgKNClFqtRhIr5DilUb2/e5DCCmFkddMUcjmYqzZdbXNt7fo8CFULe+mbiCp8+tMg4aRTaDZ/Hk93nCvGE5TP2ypEMbfL6nRVKvXOjhdvSQQgKwx+O003FDEHCSG0Bpageh7yVpna+SPrbGklce7MjTpbx3iIwmvKpQ6asnK1L3KkahpY1S3NhQ+/S3Gs8KWQ5LAU+d3xiPX3jfIVHsCIIyxHDbwcJvxM4MFBFQpqRMD6E+LoM9RHjl4C9k2iQ== tmtynkky@duuni
|
12
nixos/tests/initrd-network-ssh/generate-keys.nix
Normal file
12
nixos/tests/initrd-network-ssh/generate-keys.nix
Normal file
@ -0,0 +1,12 @@
|
||||
with import ../../.. {};
|
||||
|
||||
runCommand "gen-keys" {
|
||||
buildInputs = [ dropbear openssh ];
|
||||
}
|
||||
''
|
||||
mkdir $out
|
||||
dropbearkey -t rsa -f $out/dropbear.priv -s 4096 | sed -n 2p > $out/dropbear.pub
|
||||
ssh-keygen -q -t rsa -b 4096 -N "" -f client
|
||||
mv client $out/openssh.priv
|
||||
mv client.pub $out/openssh.pub
|
||||
''
|
51
nixos/tests/initrd-network-ssh/openssh.priv
Normal file
51
nixos/tests/initrd-network-ssh/openssh.priv
Normal file
@ -0,0 +1,51 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIJKAIBAAKCAgEA7+9A2PCPOTAlFmrablrUWA+VZdAuLfM6JXeHsOF7ZbC2F6lv
|
||||
WmvDM925DQqhiAjcgWnt5WHWS5Y+b7lGnuzT7fyKegXd80nCRmqlpSG3srX0/lxR
|
||||
aQAJLzfoDjcsF+ceswQo6GSsYnCHVxMNs007gbbVY3f7o+sWZtLdxJPD2iHvl5Zr
|
||||
LK0d1RLMmU6cfIhIABlL0S8EWiv29RROepsCQnS0dnK2b+von1SCYoggvAMe2ToA
|
||||
IAJ8+uqaYfGAyn9q8fjZiRHxLmKDq90tKoCUL5r/2dmEIE+t8T/3PfHoq1QzZts9
|
||||
W9idhBdT21dEXBtGyoMtckp5njk5m82LQDYiOXkuSoIUhSOteh5g7fBv1BtVSERx
|
||||
Jg3UeJjPeGKFwdnzapmAKC2w/6V8xcIINNA+fhZA7B9fD1RAi2TECZ+gyMYDc4T+
|
||||
USlMSm9cfvSOrf2+5ngtFb84nHjqvClxCMLu+bCWK8HamqUzhE/a5LbR+48E7PyG
|
||||
s3KV+sWFN9KOnakTjj/6iQhXZRhgeAK39F2XTk5Ms5Y+BRSStnMoMZA2grIV+jHi
|
||||
1zbWokVqXPI5YRo5isR/PgtKAV6FfNWumcYoFJ9F40pMHQ6hJVEmtrCBx7EApSl3
|
||||
mSGbQJUmilLC51qNhwQRbD//ZtpIrN82HTMKzZ6kj7kDCdsff+wsnkIXmmMCAwEA
|
||||
AQKCAgA4tMINw6UF7hQF3VEsnbjr6xrzCiWv5HlMm5htPI1OdlpC81+G7ksfOfrf
|
||||
UzDkFrwOtftsqBfem268Nvyy2OQprfMIbdSMCFWrEM9/XJ2u1gRGDYmMGF8TUtI8
|
||||
cduw9oWx53zHl+uKBHBoKu+k/c7flFeQf63wisIroRCawhWau0SF/h3sXCndzuie
|
||||
Hw8q+4aQx2m80bDkotlmCNuXbIU3MZ/pEql9gDLlXTLHmMaryM0EqAmZhx0ErGe6
|
||||
WDqJIV4kPB0loSDwRoY6GzbugZ8ENUzcruTkQhCpIOYNNNw5idfwKkaxK1vm+SBv
|
||||
iYt1fVjYyfH2vhVKSNoNsaGEloa1u4Dymt/FpFztEpRzHXcw93N8BdLxJ4OUhzm2
|
||||
iAbpiyjniTIeAVVi7BUwLXh5WAx8nT0eeb1zKoZg1p1ciK5cYl1Uel7j8xRycsSW
|
||||
3YgmtuPqY4Agbc9v3eXbQZNDk48JFMEqpIxk97FAkRYpzfxg5Qq14WJCp60CkdRt
|
||||
T60hXy8lT/BcI8OWLfGJuBbsVLNRiC7PpwqRKQAinXSv134FpP7jrhpkMybs2oIS
|
||||
5obRG7J5OfOTp925erG5mrpwqa3BPkgqx347Wj9z8quOZyuhi+XaPvqmPtvs5JOl
|
||||
4RCqjt6RQlHm7xos9ZZGI4jDAIFaFWgyVZrYplOgwxWma4DTgQKCAQEA9+tizQRU
|
||||
lF0lxNcEPvsFnYJo80Y+MQK9VdtlhR19YuSfwP1NCaMG1MhQ+PVBVmepOwJMRJR7
|
||||
9PLfOouNMfixKBGP12dtStMuh7jowq/BxhRI6JWp3RhTZ1yJ9ouzHze7IDrEBa6w
|
||||
p0hUu9H0Sbt51LXbC3JmTyhbdhfry559DfyGW1Ma/bv/pihL9B5Y7sNf1thNp1gi
|
||||
GbQ9B+o2Yyw8ZD8zY+sl+aYDSWyCtcBV/KXEF74Bkfs/a5ExJ00X0jYj/TAp2ray
|
||||
T4PY0FR8wN/O10bFLP9j+Xa/ywbcPhoj8nvVRIg9VfWT/QaEd+KR0EZVxdjCCqne
|
||||
enbSQksTpAZNwQKCAQEA98E+BMmS+yHUVUhNZABtQ5avwuV4+DoSN8KTp3xwQ0CH
|
||||
m9fWxSDs12FdyMhDxrJPeywvHtZ18/7cl3dr8wnFVE0s4ongnRDXsNk5xN6J3AaO
|
||||
KqW4HF9cbwZqzLILy8TrO+EK/EQV9FypbrxqvxAlP1kezIA2CJNzVRAgimSuV/H7
|
||||
05HTnp5W06fjtEf8U1CUrdNetoSROUo1j/IMGPYGlsBFYAGrj5y/BlKd+3T3kjRp
|
||||
Xje7HpiykjrZHn0WDp04Ln+u9nveEewXmHKch313emt7HpW0xspp8JM8OZtEKozk
|
||||
D5PfYdBfMJJOUlqovCCzTTJ6kNOahknKXFeO/qs5IwKCAQEAjF0/zhWikXF/fcfD
|
||||
Bql2z2vTYdEmSvdjHSYff1Nn90K71DdVk5wytOxJM/sfp/z+yoMNjVKIL/IGQw5Z
|
||||
va4xFx+CUhGjxlZ0pLEjT37U9gHsGYsK5jvslLvG/MixfH5AOwoqi5ERQVTpbIF9
|
||||
jvVPEAh6YSu/ExglWGJIxTsRUIblxvTxdjEnl/p+rlM0RNJnA6vpo1J51BXA7CdF
|
||||
7bZQ5u0Feo/bK1I70ClYg/DGfkmYEV0pZG5cxNkqfDbgwsqWa7YGLGd94xkh+ymq
|
||||
jETqxeWyozxhbQ83nYpfzeVc7t//qlJ8b5uf0wUKoRmtNr9rtp13lzP/21REzPXW
|
||||
w+oxwQKCAQAoAf2Y2lAw25KlPuq4ZlU+n9u8FkBFnWMJvBMJ7c9XHNmJMf6NkLaO
|
||||
RTvWy3geYvbwxf7J9QnRH+vRTciR05cY+Olxn6A03N5nwXxRrToH3MsiWeZ0NnX/
|
||||
u8KNUYcUHbV60ulqOThuYHQ/3I9EUUAijaqqjV2sXts19ke68W0x6HKpBJhuudT9
|
||||
ktPzbdhyP8Xyl/pocNnerXwexZBsi3Ye6+eIDFz+8OnsBHVcgNPluS72tvsxgqj7
|
||||
ciNTiBGCxKKo55eCWBhRPpXE2WUrf/hGPYsBMl2h6FfZMH1+M/N7B4tgdJmS+woU
|
||||
Ftws8lTjJEiwA6HFN1ZxrwLNjJobx9yPAoIBAE0igsBuWWn6rXeOPylYg4264XOq
|
||||
8gb94pte2n9amDgCzyCn8m6AL3snLC/AoCD19DK+gyK0ukoesXPa3iX6w2xv69ZC
|
||||
urDx36Jhd4zrJb4QsFPoeKfDP+UvNVZaS41vipRRzY/y11em15prUZ4U8FA/UT1Y
|
||||
FzkBo9r6iUZRnyBLppMuEfWASDtuRNmeIHynoT1AcQOH3l9vR210iEpmAuJr0CYA
|
||||
bvTuz3UzzGGEAuIUvuaiRtkfKY52jBmiEr7SSPCr1HvLj3Ccz8bgjgR2kiXmcU50
|
||||
1zLnaPAD44LZ/0Fjqj+PimQGT6K7CNXPllmYh7MvoU52g3SVPf6rHlIR0Nc=
|
||||
-----END RSA PRIVATE KEY-----
|
1
nixos/tests/initrd-network-ssh/openssh.pub
Normal file
1
nixos/tests/initrd-network-ssh/openssh.pub
Normal file
@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDv70DY8I85MCUWatpuWtRYD5Vl0C4t8zold4ew4XtlsLYXqW9aa8Mz3bkNCqGICNyBae3lYdZLlj5vuUae7NPt/Ip6Bd3zScJGaqWlIbeytfT+XFFpAAkvN+gONywX5x6zBCjoZKxicIdXEw2zTTuBttVjd/uj6xZm0t3Ek8PaIe+XlmssrR3VEsyZTpx8iEgAGUvRLwRaK/b1FE56mwJCdLR2crZv6+ifVIJiiCC8Ax7ZOgAgAnz66pph8YDKf2rx+NmJEfEuYoOr3S0qgJQvmv/Z2YQgT63xP/c98eirVDNm2z1b2J2EF1PbV0RcG0bKgy1ySnmeOTmbzYtANiI5eS5KghSFI616HmDt8G/UG1VIRHEmDdR4mM94YoXB2fNqmYAoLbD/pXzFwgg00D5+FkDsH18PVECLZMQJn6DIxgNzhP5RKUxKb1x+9I6t/b7meC0VvziceOq8KXEIwu75sJYrwdqapTOET9rkttH7jwTs/IazcpX6xYU30o6dqROOP/qJCFdlGGB4Arf0XZdOTkyzlj4FFJK2cygxkDaCshX6MeLXNtaiRWpc8jlhGjmKxH8+C0oBXoV81a6ZxigUn0XjSkwdDqElUSa2sIHHsQClKXeZIZtAlSaKUsLnWo2HBBFsP/9m2kis3zYdMwrNnqSPuQMJ2x9/7CyeQheaYw== tmtynkky@duuni
|
39
nixos/tests/owncloud.nix
Normal file
39
nixos/tests/owncloud.nix
Normal file
@ -0,0 +1,39 @@
|
||||
import ./make-test.nix ({ pkgs, ... }:
|
||||
|
||||
{
|
||||
name = "owncloud";
|
||||
nodes =
|
||||
{ web =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services.postgresql.enable = true;
|
||||
services.httpd = {
|
||||
enable = true;
|
||||
logPerVirtualHost = true;
|
||||
adminAddr = "example@example.com";
|
||||
virtualHosts = [
|
||||
{
|
||||
hostName = "owncloud";
|
||||
extraSubservices =
|
||||
[
|
||||
{
|
||||
serviceType = "owncloud";
|
||||
adminPassword = "secret";
|
||||
dbPassword = "secret";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
|
||||
$web->waitForUnit("postgresql");
|
||||
$web->waitForUnit("httpd");
|
||||
|
||||
$web->succeed("curl -L 127.0.0.1:80");
|
||||
'';
|
||||
})
|
@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
|
||||
wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple and powerful audio tag editor";
|
||||
longDescription = ''
|
||||
|
@ -2,7 +2,7 @@
|
||||
, gnome3, libnotify, intltool, itstool, glib, gtk3, libxml2
|
||||
, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
|
||||
, libpthreadstubs, libXdmcp, epoxy, at_spi2_core, dbus, libgpgerror
|
||||
, appstream-glib, desktop_file_utils, atk, pango, duplicity
|
||||
, appstream-glib, desktop_file_utils, duplicity
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -44,29 +44,15 @@ stdenv.mkDerivation rec {
|
||||
glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
'';
|
||||
|
||||
# Manual rpath definition until https://github.com/mesonbuild/meson/issues/314 is fixed
|
||||
postFixup =
|
||||
let
|
||||
rpath = stdenv.lib.makeLibraryPath [
|
||||
glib
|
||||
gtk3
|
||||
gnome3.gnome_online_accounts
|
||||
gnome3.libpeas
|
||||
gnome3.nautilus
|
||||
libgpgerror
|
||||
libsecret
|
||||
# Transitive
|
||||
atk
|
||||
pango
|
||||
];
|
||||
in ''
|
||||
# Unwrap accidentally wrapped library
|
||||
mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
|
||||
postFixup = ''
|
||||
# Unwrap accidentally wrapped library
|
||||
mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
|
||||
|
||||
for elf in "$out"/bin/.*-wrapped "$out"/libexec/deja-dup/.deja-dup-monitor-wrapped "$out"/libexec/deja-dup/tools/*.so "$out"/lib/deja-dup/*.so "$out"/lib/nautilus/extensions-3.0/*.so; do
|
||||
patchelf --set-rpath '${rpath}':"$out/lib/deja-dup" "$elf"
|
||||
done
|
||||
'';
|
||||
# Patched meson does not add internal libraries to rpath
|
||||
for elf in "$out/bin/.deja-dup-wrapped" "$out/libexec/deja-dup/.deja-dup-monitor-wrapped" "$out/libexec/deja-dup/tools/libduplicity.so"; do
|
||||
patchelf --set-rpath "$(patchelf --print-rpath "$elf"):$out/lib/deja-dup" "$elf"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple backup tool";
|
||||
|
@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
|
||||
libkomparediff2
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
maintainers = [ maintainers.ambrop72 ];
|
||||
platforms = platforms.linux;
|
||||
|
@ -1,20 +1,26 @@
|
||||
{ stdenv, python3Packages, fetchurl }:
|
||||
{ stdenv, python3Packages, fetchFromGitHub }:
|
||||
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "cheat";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ docopt pygments ];
|
||||
propagatedBuildInputs = [ docopt pygments ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0w4k1h02p2gjv5wcr1c7r0ynb7v50qajx4hpyxz0ndh96f6x30pl";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chrisallenlane";
|
||||
repo = "cheat";
|
||||
rev = version;
|
||||
sha256 = "1da4m4n6nivjakpll6jj0aszrv24g2zax74034lzpv3pbh84fvas";
|
||||
};
|
||||
# no tests available
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
install -D man1/cheat.1.gz $out/share/man/man1/cheat.1.gz
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "cheat allows you to create and view interactive cheatsheets on the command-line";
|
||||
maintainers = with maintainers; [ mic92 ];
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "exercism-${version}";
|
||||
version = "2.4.0";
|
||||
version = "2.4.1";
|
||||
|
||||
goPackagePath = "github.com/exercism/cli";
|
||||
|
||||
@ -10,7 +10,7 @@ buildGoPackage rec {
|
||||
owner = "exercism";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "1hl13sr4ymqg9sjhkxdmhf8cfw69cic3bysw34xfv2j6bjjxfwaa";
|
||||
sha256 = "1nab4459zi2gkh18k9vsm54bz39c2sb60v2xy0i72j1vd99axjjj";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation {
|
||||
# MojoSetups have a ZIP file at the end. ZIP’s magic string is
|
||||
# most often PK\x03\x04. This *should* work for future updates,
|
||||
# but feel free to come up with something more reasonable.
|
||||
dataZipOffset=$(grep --max-count=1 --byte-offset --only-matching --text $'PK\x03\x04' $curSrc | cut -d: -f1)
|
||||
dataZipOffset=$(grep --max-count=1 --byte-offset --only-matching --text ''$'PK\x03\x04' $curSrc | cut -d: -f1)
|
||||
dd bs=$dataZipOffset skip=1 if=$curSrc of=data.zip 2>/dev/null
|
||||
unzip -q data.zip "data/*"
|
||||
rm data.zip
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc }:
|
||||
{ stdenv, fetchurl, patchelf, makeWrapper, xorg, gcc, gcc-unwrapped }:
|
||||
|
||||
assert stdenv.isLinux;
|
||||
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildPhase = with xorg; ''
|
||||
patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/xawt/libmawt.so
|
||||
patchelf --set-rpath "${gcc.cc}/lib" ./libiKVM64.so
|
||||
patchelf --set-rpath "${gcc-unwrapped.lib}/lib" ./libiKVM64.so
|
||||
patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libXcursor libX11 libXext libXrender libXtst libXi ]}" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/javaws
|
||||
patchelf --set-rpath "${gcc.cc}/lib:$out/jre/lib/amd64/jli" --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./jre/bin/java
|
||||
'';
|
||||
|
34
pkgs/applications/misc/oneko/default.nix
Normal file
34
pkgs/applications/misc/oneko/default.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchurl, xorg, x11 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.2.sakura.5";
|
||||
vname = "1.2.5";
|
||||
name = "oneko-${vname}";
|
||||
src = fetchurl {
|
||||
url = "http://www.daidouji.com/oneko/distfiles/oneko-${version}.tar.gz";
|
||||
sha256 = "2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f";
|
||||
};
|
||||
buildInputs = [ xorg.imake xorg.gccmakedep x11 ];
|
||||
|
||||
configurePhase = "xmkmf";
|
||||
|
||||
installPhase = ''
|
||||
make install BINDIR=$out/bin
|
||||
make install.man MANPATH=$out/share/man
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Creates a cute cat chasing around your mouse cursor";
|
||||
longDescription = ''
|
||||
Oneko changes your mouse cursor into a mouse
|
||||
and creates a little cute cat, which starts
|
||||
chasing around your mouse cursor.
|
||||
When the cat is done catching the mouse, it starts sleeping.
|
||||
'';
|
||||
homepage = "http://www.daidouji.com/oneko/";
|
||||
license = licenses.publicDomain;
|
||||
maintainers = [ maintainers.xaverdh ];
|
||||
meta.platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "machine-${version}";
|
||||
version = "0.12.2";
|
||||
version = "0.13.0";
|
||||
|
||||
goPackagePath = "github.com/docker/machine";
|
||||
|
||||
@ -11,7 +11,7 @@ buildGoPackage rec {
|
||||
rev = "v${version}";
|
||||
owner = "docker";
|
||||
repo = "machine";
|
||||
sha256 = "0ikgjb6x6h7f43vjabxnqgrrlq516zsz7vj945hca1w919jpdwhf";
|
||||
sha256 = "1bqblgz2avrvp9xv6rlvgl0xh2ghpml3a00xhq3mmzkznayw6chq";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
|
23
pkgs/applications/networking/cluster/kompose/default.nix
Normal file
23
pkgs/applications/networking/cluster/kompose/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "kompose-${version}";
|
||||
version = "1.5.0";
|
||||
|
||||
goPackagePath = "github.com/kubernetes/kompose";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "kubernetes";
|
||||
repo = "kompose";
|
||||
sha256 = "1r5f8jbr2c1xxb5fpfgy23w4m30zahhmrw23jlk1hpx2w1pi1iyh";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A tool to help users who are familiar with docker-compose move to Kubernetes";
|
||||
homepage = https://github.com/kubernetes/kompose;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [thpham];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
|
||||
let
|
||||
|
||||
version = "4.30.0.1663";
|
||||
version = "4.30.2.1665";
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath [
|
||||
xdg_utils
|
||||
@ -44,7 +44,7 @@ let
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
|
||||
sha256 = "13mh49nx75pvaygzi70sg96iad3mn9ym0p4p3ja46amkxbdkq7h7";
|
||||
sha256 = "0gk1h2p5apppw94353378b2z93c5kllhgadb91z1g3mczczsbm0n";
|
||||
}
|
||||
else
|
||||
throw "HipChat is not supported on ${stdenv.system}";
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
name = "qtox-${version}";
|
||||
version = "1.12.1";
|
||||
version = "1.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qTox";
|
||||
repo = "qTox";
|
||||
rev = "v${version}";
|
||||
sha256 = "1l1k8s10jj6nm9i33m8xhjwdhikvp7csdp6x1gxjxdj526aak8q9";
|
||||
sha256 = "08x71p23d0sp0w11k8z3wf3k56iclmdq9x652n8ggidgyrdi9f6y";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,29 +1,29 @@
|
||||
{ mkDerivation, lib, fetchgit, qtbase, qtquickcontrols, cmake }:
|
||||
{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake, libqmatrixclient }:
|
||||
|
||||
mkDerivation rec {
|
||||
name = "quaternion-git-${version}";
|
||||
version = "2017-10-07";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "quaternion-${version}";
|
||||
version = "0.0.4";
|
||||
|
||||
# quaternion and tensor share the same libqmatrixclient library as a git submodule
|
||||
#
|
||||
# As all 3 projects are in very early stages, we simply load the submodule.
|
||||
#
|
||||
# At some point in the future, we should separate out libqmatrixclient into its own
|
||||
# derivation.
|
||||
# libqmatrixclient doesn't support dynamic linking as of 0.1 so we simply pull in the source
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/QMatrixClient/Quaternion.git";
|
||||
rev = "1007f2ca4ad5e8cc5dba437d6a0cdea07d1f1332";
|
||||
sha256 = "0hvc81ld7fcwyrxsr2q3yvzh0rzhgmflby4nmyzcbjds7b7pv0xq";
|
||||
fetchSubmodules = true;
|
||||
src = fetchFromGitHub {
|
||||
owner = "QMatrixClient";
|
||||
repo = "Quaternion";
|
||||
rev = "v${version}";
|
||||
sha256 = "0an2nvwjs1hf7cb4maaj3rskhgsjgimzazsx53ndxskzwcssidvi";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtquickcontrols ];
|
||||
buildInputs = [ qtbase qtquickcontrols libqmatrixclient ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-Wno-dev"
|
||||
];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# take the source from libqmatrixclient
|
||||
postPatch = ''
|
||||
rm -rf lib
|
||||
ln -s ${libqmatrixclient.src} lib
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace $out/share/applications/quaternion.desktop \
|
||||
|
@ -1,5 +1,8 @@
|
||||
{ stdenv, fetchgit, qtbase, qtquickcontrols, qmake, makeDesktopItem }:
|
||||
|
||||
# we now have libqmatrixclient so a future version of tensor that supports it
|
||||
# should use that
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tensor-git-${version}";
|
||||
version = "2017-02-21";
|
||||
|
@ -72,7 +72,6 @@ in stdenv.mkDerivation rec {
|
||||
"--enable-system-sqlite"
|
||||
#"--enable-system-cairo"
|
||||
"--enable-startup-notification"
|
||||
"--enable-content-sandbox" # available since 26.0, but not much info available
|
||||
"--disable-crashreporter"
|
||||
"--disable-tests"
|
||||
"--disable-necko-wifi" # maybe we want to enable this at some point
|
||||
|
@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [
|
||||
./patches/fix-13791.patch
|
||||
# https://bugzilla.abisource.com/show_bug.cgi?id=13791
|
||||
(fetchurl {
|
||||
url = https://bugzilla.abisource.com/attachment.cgi?id=5860;
|
||||
sha256 = "02p8kz02xm1197zcpzjs010mna9hxsbq5lwgxr8b7qhh9yxja7al";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
|
@ -1,161 +0,0 @@
|
||||
From 46388f407c893123d9b3824a7570b050fc3b049b Mon Sep 17 00:00:00 2001
|
||||
From: James Cameron <quozl@laptop.org>
|
||||
Date: Thu, 17 Aug 2017 15:05:39 +1000
|
||||
Subject: [PATCH] Fix flickering
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
- in GR_Caret::s_blink_timeout, avoid repeated calls by stopping the
|
||||
timer, it will be restarted when needed,
|
||||
|
||||
- in GR_Caret::s_enable, avoid extra unnecessary _blink calls when blink
|
||||
is enabled, as they serve no purpose,
|
||||
|
||||
- in XAP_UnixFrameImpl::_fe::expose, use the Cairo clip rectangle
|
||||
instead of the expose event area, thanks to Hubert Figuière in
|
||||
865c1dda7e13deff04573ffc42028b71fee07f9c,
|
||||
|
||||
- in XAP_UnixFrameImpl::_fe::expose, do not return FALSE, as other
|
||||
handlers will need to handle the draw event,
|
||||
|
||||
- in GR_UnixCairoGraphics::flush, fix excessive draw events;
|
||||
gtk_widget_queue_draw only marks the widget as needing redrawing,
|
||||
which causes a draw event for each call to flush, therefore every
|
||||
caret blink, so use gdk_flush instead,
|
||||
|
||||
Fixes AbiSource #13791.
|
||||
Fixes Debian #851052.
|
||||
Fixes Fedora #1287835.
|
||||
Fixes Ubuntu LP: #1574278.
|
||||
Fixes Sugar Labs #4915.
|
||||
|
||||
Signed-off-by: James Cameron <quozl@laptop.org>
|
||||
---
|
||||
src/af/gr/gtk/gr_UnixCairoGraphics.cpp | 4 +---
|
||||
src/af/gr/xp/gr_Caret.cpp | 13 ++++---------
|
||||
src/af/xap/gtk/xap_UnixFrameImpl.cpp | 27 ++++++++++++++++++---------
|
||||
src/af/xap/gtk/xap_UnixFrameImpl.h | 2 +-
|
||||
4 files changed, 24 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
|
||||
index 509bd37..7c3c06f 100644
|
||||
--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
|
||||
+++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
|
||||
@@ -577,9 +577,7 @@ void GR_UnixCairoGraphics::_endPaint()
|
||||
|
||||
void GR_UnixCairoGraphics::flush(void)
|
||||
{
|
||||
- if (m_Widget) {
|
||||
- gtk_widget_queue_draw(m_Widget);
|
||||
- }
|
||||
+ gdk_flush();
|
||||
}
|
||||
|
||||
bool GR_UnixCairoGraphics::queryProperties(GR_Graphics::Properties gp) const
|
||||
diff --git a/src/af/gr/xp/gr_Caret.cpp b/src/af/gr/xp/gr_Caret.cpp
|
||||
index 5d5d116..a8aa451 100644
|
||||
--- a/src/af/gr/xp/gr_Caret.cpp
|
||||
+++ b/src/af/gr/xp/gr_Caret.cpp
|
||||
@@ -155,22 +155,17 @@ void GR_Caret::s_enable(UT_Worker * _w)
|
||||
{
|
||||
GR_Caret * c = static_cast<GR_Caret *>(_w->getInstanceData());
|
||||
|
||||
+ c->m_enabler->stop();
|
||||
c->m_worker->stop();
|
||||
- c->_blink(true);
|
||||
- if (!c->m_bCursorIsOn)
|
||||
- c->_blink(true); // blink again
|
||||
- else
|
||||
- {
|
||||
- c->_blink(true); // ?? - MARCM
|
||||
- c->_blink(true);
|
||||
- }
|
||||
c->m_worker->start();
|
||||
- c->m_enabler->stop();
|
||||
+ c->_blink(true);
|
||||
}
|
||||
|
||||
void GR_Caret::s_blink_timeout(UT_Worker * _w)
|
||||
{
|
||||
GR_Caret * c = static_cast<GR_Caret *>(_w->getInstanceData());
|
||||
+
|
||||
+ c->m_blinkTimeout->stop();
|
||||
if (c->isEnabled())
|
||||
c->disable();
|
||||
}
|
||||
diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.cpp b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
|
||||
index 780000e..e81961a 100644
|
||||
--- a/src/af/xap/gtk/xap_UnixFrameImpl.cpp
|
||||
+++ b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
|
||||
@@ -1208,15 +1208,23 @@ gint XAP_UnixFrameImpl::_fe::delete_event(GtkWidget * w, GdkEvent * /*event*/, g
|
||||
}
|
||||
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
-gint XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
|
||||
+gboolean XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
|
||||
#else
|
||||
gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
|
||||
#endif
|
||||
{
|
||||
XAP_UnixFrameImpl * pUnixFrameImpl = static_cast<XAP_UnixFrameImpl *>(g_object_get_data(G_OBJECT(w), "user_data"));
|
||||
FV_View * pView = static_cast<FV_View *>(pUnixFrameImpl->getFrame()->getCurrentView());
|
||||
+ double x, y, width, height;
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
- GdkEventExpose *pExposeEvent = reinterpret_cast<GdkEventExpose *>(gtk_get_current_event());
|
||||
+ cairo_clip_extents (cr, &x, &y, &width, &height);
|
||||
+ width -= x;
|
||||
+ height -= y;
|
||||
+#else
|
||||
+ x = pExposeEvent->area.x;
|
||||
+ y = pExposeEvent->area.y;
|
||||
+ width = pExposeEvent->area.width;
|
||||
+ height = pExposeEvent->area.height;
|
||||
#endif
|
||||
/* Jean: commenting out next lines since the zoom update code does draw only
|
||||
* part of what needs to be updated. */
|
||||
@@ -1230,20 +1238,21 @@ gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
|
||||
UT_Rect rClip;
|
||||
if (pGr->getPaintCount () > 0)
|
||||
return TRUE;
|
||||
- xxx_UT_DEBUGMSG(("Expose area: x %d y %d width %d height %d \n",pExposeEvent->area.x,pExposeEvent->area.y,pExposeEvent->area.width,pExposeEvent->area.height));
|
||||
- rClip.left = pGr->tlu(pExposeEvent->area.x);
|
||||
- rClip.top = pGr->tlu(pExposeEvent->area.y);
|
||||
- rClip.width = pGr->tlu(pExposeEvent->area.width)+1;
|
||||
- rClip.height = pGr->tlu(pExposeEvent->area.height)+1;
|
||||
-#if GTK_CHECK_VERSION(3,0,0)
|
||||
+ rClip.left = pGr->tlu(x);
|
||||
+ rClip.top = pGr->tlu(y);
|
||||
+ #if GTK_CHECK_VERSION(3,0,0)
|
||||
+ rClip.width = pGr->tlu(width);
|
||||
+ rClip.height = pGr->tlu(height);
|
||||
static_cast<GR_CairoGraphics *>(pGr)->setCairo(cr);
|
||||
pView->draw(&rClip);
|
||||
static_cast<GR_CairoGraphics *>(pGr)->setCairo(NULL);
|
||||
#else
|
||||
+ rClip.width = pGr->tlu(width)+1;
|
||||
+ rClip.height = pGr->tlu(height)+1;
|
||||
pView->draw(&rClip);
|
||||
#endif
|
||||
}
|
||||
- return FALSE;
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
static bool bScrollWait = false;
|
||||
diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.h b/src/af/xap/gtk/xap_UnixFrameImpl.h
|
||||
index 30ee5d8..26fbb2e 100644
|
||||
--- a/src/af/xap/gtk/xap_UnixFrameImpl.h
|
||||
+++ b/src/af/xap/gtk/xap_UnixFrameImpl.h
|
||||
@@ -152,7 +152,7 @@ protected:
|
||||
static gint key_release_event(GtkWidget* w, GdkEventKey* e);
|
||||
static gint delete_event(GtkWidget * w, GdkEvent * /*event*/, gpointer /*data*/);
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
- static gint draw(GtkWidget * w, cairo_t * cr);
|
||||
+ static gboolean draw(GtkWidget * w, cairo_t * cr);
|
||||
#else
|
||||
static gint expose(GtkWidget * w, GdkEventExpose* pExposeEvent);
|
||||
#endif
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1,25 +1,32 @@
|
||||
{ stdenv, fetchurl
|
||||
, intltool, pkgconfig, wrapGAppsHook
|
||||
{ stdenv, fetchFromGitHub, meson, ninja
|
||||
, gettext, pkgconfig, desktop_file_utils, wrapGAppsHook
|
||||
, appstream-glib, epoxy, glib, gtk3, mpv
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnome-mpv-${version}";
|
||||
version = "0.9";
|
||||
version = "0.13";
|
||||
|
||||
src = fetchurl {
|
||||
sha256 = "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0";
|
||||
url = "https://github.com/gnome-mpv/gnome-mpv/releases/download/v${version}/${name}.tar.xz";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnome-mpv";
|
||||
repo = "gnome-mpv";
|
||||
rev = "0d73b33d60050fd32bf8fae77d831548970a0b69"; # upstream forgot to update appdata
|
||||
# rev = "v${version}";
|
||||
sha256 = "1cjhw3kz163iwj2japhnv354i1lr112xyyfkxw82cwy2554cfim4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
|
||||
buildInputs = [ appstream-glib epoxy glib.dev gtk3 mpv ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||
nativeBuildInputs = [ meson ninja appstream-glib gettext pkgconfig desktop_file_utils wrapGAppsHook ];
|
||||
buildInputs = [ epoxy glib gtk3 mpv ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "meson test";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Simple GTK+ frontend for the mpv video player";
|
||||
|
@ -4,7 +4,7 @@
|
||||
, makeWrapper
|
||||
, attr, libcap, libcap_ng
|
||||
, CoreServices, Cocoa, rez, setfile
|
||||
, numaSupport ? stdenv.isLinux, numactl
|
||||
, numaSupport ? stdenv.isLinux && !stdenv.isArm, numactl
|
||||
, seccompSupport ? stdenv.isLinux, libseccomp
|
||||
, pulseSupport ? !stdenv.isDarwin, libpulseaudio
|
||||
, sdlSupport ? !stdenv.isDarwin, SDL
|
||||
@ -12,7 +12,7 @@
|
||||
, spiceSupport ? !stdenv.isDarwin, spice, spice_protocol
|
||||
, usbredirSupport ? spiceSupport, usbredir
|
||||
, xenSupport ? false, xen
|
||||
, x86Only ? false
|
||||
, hostCpuOnly ? false
|
||||
, nixosTestRunner ? false
|
||||
}:
|
||||
|
||||
@ -23,12 +23,17 @@ let
|
||||
audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
|
||||
+ optionalString pulseSupport "pa,"
|
||||
+ optionalString sdlSupport "sdl,";
|
||||
|
||||
hostCpuTargets = if stdenv.isi686 || stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu"
|
||||
else if stdenv.isArm then "arm-softmmu"
|
||||
else if stdenv.isAarch64 then "aarch64-softmmu"
|
||||
else throw "Don't know how to build a 'hostCpuOnly = true' QEMU";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qemu-"
|
||||
+ stdenv.lib.optionalString xenSupport "xen-"
|
||||
+ stdenv.lib.optionalString x86Only "x86-only-"
|
||||
+ stdenv.lib.optionalString hostCpuOnly "host-cpu-only-"
|
||||
+ stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
|
||||
+ version;
|
||||
|
||||
@ -75,7 +80,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional seccompSupport "--enable-seccomp"
|
||||
++ optional spiceSupport "--enable-spice"
|
||||
++ optional usbredirSupport "--enable-usb-redir"
|
||||
++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
|
||||
++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
|
||||
++ optional stdenv.isDarwin "--enable-cocoa"
|
||||
++ optional stdenv.isLinux "--enable-linux-aio"
|
||||
++ optional xenSupport "--enable-xen";
|
||||
|
@ -43,6 +43,10 @@ in stdenv.mkDerivation (args // {
|
||||
postUnpack = ''
|
||||
eval "$cargoDepsHook"
|
||||
|
||||
unpackFile "$cargoDeps"
|
||||
cargoDepsCopy=$(stripHash $(basename $cargoDeps))
|
||||
chmod -R +w "$cargoDepsCopy"
|
||||
|
||||
mkdir .cargo
|
||||
cat >.cargo/config <<-EOF
|
||||
[source.crates-io]
|
||||
@ -50,9 +54,11 @@ in stdenv.mkDerivation (args // {
|
||||
replace-with = 'vendored-sources'
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = '$cargoDeps'
|
||||
directory = '$(pwd)/$cargoDepsCopy'
|
||||
EOF
|
||||
|
||||
unset cargoDepsCopy
|
||||
|
||||
export RUST_LOG=${logLevel}
|
||||
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
'' + (args.postUnpack or "");
|
||||
|
@ -3,7 +3,7 @@
|
||||
, img ? "bzImage"
|
||||
, storeDir ? builtins.storeDir
|
||||
, rootModules ?
|
||||
[ "virtio_pci" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
|
||||
[ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
|
||||
}:
|
||||
|
||||
with pkgs;
|
||||
|
@ -1,18 +1,88 @@
|
||||
{ stdenv, fetchzip }:
|
||||
{
|
||||
stdenv, lib,
|
||||
fetchFromGitHub, fetchurl,
|
||||
runCommand, writeText,
|
||||
nodejs, ttfautohint-nox, otfcc,
|
||||
|
||||
# Custom font set options.
|
||||
# See https://github.com/be5invis/Iosevka#build-your-own-style
|
||||
design ? [], upright ? [], italic ? [], oblique ? [],
|
||||
# Custom font set name. Required if any custom settings above.
|
||||
set ? null
|
||||
}:
|
||||
|
||||
assert (design != []) -> set != null;
|
||||
assert (upright != []) -> set != null;
|
||||
assert (italic != []) -> set != null;
|
||||
assert (oblique != []) -> set != null;
|
||||
|
||||
let
|
||||
installPackageLock = import ./package-lock.nix { inherit fetchurl lib; };
|
||||
in
|
||||
|
||||
let pname = if set != null then "iosevka-${set}" else "iosevka"; in
|
||||
|
||||
let
|
||||
version = "1.13.3";
|
||||
in fetchzip rec {
|
||||
name = "iosevka-${version}";
|
||||
name = "${pname}-${version}";
|
||||
src = fetchFromGitHub {
|
||||
owner = "be5invis";
|
||||
repo ="Iosevka";
|
||||
rev = "v${version}";
|
||||
sha256 = "0wfhfiahllq8ngn0mybvp29cfcm7b8ndk3fyhizd620wrj50bazf";
|
||||
};
|
||||
in
|
||||
|
||||
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip";
|
||||
with lib;
|
||||
let unwords = concatStringsSep " "; in
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts
|
||||
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
|
||||
let
|
||||
param = name: options:
|
||||
if options != [] then "${name}='${unwords options}'" else null;
|
||||
config = unwords (lib.filter (x: x != null) [
|
||||
(param "design" design)
|
||||
(param "upright" upright)
|
||||
(param "italic" italic)
|
||||
(param "oblique" oblique)
|
||||
]);
|
||||
custom = design != [] || upright != [] || italic != [] || oblique != [];
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
inherit name pname version src;
|
||||
|
||||
nativeBuildInputs = [ nodejs ttfautohint-nox otfcc ];
|
||||
|
||||
passAsFile = [ "installPackageLock" ];
|
||||
installPackageLock = installPackageLock ./package-lock.json;
|
||||
|
||||
preConfigure = ''
|
||||
HOME=$TMPDIR
|
||||
source "$installPackageLockPath";
|
||||
npm --offline rebuild
|
||||
'';
|
||||
|
||||
sha256 = "0103rjxcp2sis42xp7fh7g8i03h5snvs8n78lgsf79g8ssw0p9d4";
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
${optionalString custom ''make custom-config set=${set} ${config}''}
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
makeFlags = lib.optionals custom [ "custom" "set=${set}" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
fontdir="$out/share/fonts/$pname"
|
||||
install -d "$fontdir"
|
||||
install "dist/$pname/ttf"/* "$fontdir"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://be5invis.github.io/Iosevka/;
|
||||
@ -23,6 +93,6 @@ in fetchzip rec {
|
||||
'';
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.cstrahan ];
|
||||
maintainers = with maintainers; [ cstrahan jfrankenau ttuegel ];
|
||||
};
|
||||
}
|
||||
|
1017
pkgs/data/fonts/iosevka/package-lock.json
generated
Normal file
1017
pkgs/data/fonts/iosevka/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
142
pkgs/data/fonts/iosevka/package-lock.nix
Normal file
142
pkgs/data/fonts/iosevka/package-lock.nix
Normal file
@ -0,0 +1,142 @@
|
||||
{ lib, fetchurl }:
|
||||
|
||||
with lib; with builtins;
|
||||
|
||||
let
|
||||
# Convert a base64-encoded string into a list of quads and padding.
|
||||
fromBase64 = str:
|
||||
let
|
||||
len = stringLength str;
|
||||
quads = 3 * len - 4 * padding;
|
||||
padding =
|
||||
if hasSuffix "==" str then 2 else
|
||||
if hasSuffix "=" str then 1 else
|
||||
0;
|
||||
chars = stringToCharacters (substring 0 (len - padding) str);
|
||||
table = {
|
||||
"A" = [0 0 0];
|
||||
"B" = [0 0 1];
|
||||
"C" = [0 0 2];
|
||||
"D" = [0 0 3];
|
||||
"E" = [0 1 0];
|
||||
"F" = [0 1 1];
|
||||
"G" = [0 1 2];
|
||||
"H" = [0 1 3];
|
||||
"I" = [0 2 0];
|
||||
"J" = [0 2 1];
|
||||
"K" = [0 2 2];
|
||||
"L" = [0 2 3];
|
||||
"M" = [0 3 0];
|
||||
"N" = [0 3 1];
|
||||
"O" = [0 3 2];
|
||||
"P" = [0 3 3];
|
||||
"Q" = [1 0 0];
|
||||
"R" = [1 0 1];
|
||||
"S" = [1 0 2];
|
||||
"T" = [1 0 3];
|
||||
"U" = [1 1 0];
|
||||
"V" = [1 1 1];
|
||||
"W" = [1 1 2];
|
||||
"X" = [1 1 3];
|
||||
"Y" = [1 2 0];
|
||||
"Z" = [1 2 1];
|
||||
"a" = [1 2 2];
|
||||
"b" = [1 2 3];
|
||||
"c" = [1 3 0];
|
||||
"d" = [1 3 1];
|
||||
"e" = [1 3 2];
|
||||
"f" = [1 3 3];
|
||||
"g" = [2 0 0];
|
||||
"h" = [2 0 1];
|
||||
"i" = [2 0 2];
|
||||
"j" = [2 0 3];
|
||||
"k" = [2 1 0];
|
||||
"l" = [2 1 1];
|
||||
"m" = [2 1 2];
|
||||
"n" = [2 1 3];
|
||||
"o" = [2 2 0];
|
||||
"p" = [2 2 1];
|
||||
"q" = [2 2 2];
|
||||
"r" = [2 2 3];
|
||||
"s" = [2 3 0];
|
||||
"t" = [2 3 1];
|
||||
"u" = [2 3 2];
|
||||
"v" = [2 3 3];
|
||||
"w" = [3 0 0];
|
||||
"x" = [3 0 1];
|
||||
"y" = [3 0 2];
|
||||
"z" = [3 0 3];
|
||||
"0" = [3 1 0];
|
||||
"1" = [3 1 1];
|
||||
"2" = [3 1 2];
|
||||
"3" = [3 1 3];
|
||||
"4" = [3 2 0];
|
||||
"5" = [3 2 1];
|
||||
"6" = [3 2 2];
|
||||
"7" = [3 2 3];
|
||||
"8" = [3 3 0];
|
||||
"9" = [3 3 1];
|
||||
"+" = [3 3 2];
|
||||
"/" = [3 3 3];
|
||||
};
|
||||
in
|
||||
take quads (concatMap (c: table.${c}) chars);
|
||||
|
||||
# Convert a list of quads with padding into a base16-encoded string.
|
||||
toBase16 = quads:
|
||||
if length quads == 0 then "" else
|
||||
if length quads == 1 then throw "toBase16: odd quads" else
|
||||
let
|
||||
hexad = 4 * elemAt quads 0 + elemAt quads 1;
|
||||
hexits = "0123456789abcdef";
|
||||
in
|
||||
substring hexad 1 hexits + toBase16 (drop 2 quads);
|
||||
in
|
||||
|
||||
let
|
||||
fetchResolved = { resolved, integrity, ... }:
|
||||
let args = { url = resolved; } // integrityHash integrity; in
|
||||
fetchurl args;
|
||||
integrityHash = integrity:
|
||||
if hasPrefix "sha1-" integrity then integritySHA1 integrity else
|
||||
if hasPrefix "sha512-" integrity then integritySHA512 integrity else
|
||||
throw "don't understand integrity: ${integrity}";
|
||||
integritySHA1 = integrity:
|
||||
{ sha1 = toBase16 (fromBase64 (removePrefix "sha1-" integrity)); };
|
||||
integritySHA512 = integrity:
|
||||
{ sha512 = toBase16 (fromBase64 (removePrefix "sha512-" integrity)); };
|
||||
in
|
||||
|
||||
let
|
||||
depend = name: attrs@{ version, dependencies ? {}, ... }:
|
||||
{
|
||||
inherit name version;
|
||||
src = fetchResolved attrs;
|
||||
depends = mapAttrsToList depend dependencies;
|
||||
};
|
||||
prepareDepend = { name, src, depends, ... }:
|
||||
''
|
||||
unpackFile '${src}'
|
||||
mv package '${name}'
|
||||
mkdir -p '${name}/node_modules'
|
||||
(
|
||||
cd '${name}/node_modules'
|
||||
${concatMapStrings prepareDepend depends}
|
||||
)
|
||||
'';
|
||||
in
|
||||
|
||||
packageLockFile:
|
||||
|
||||
let
|
||||
packageLock = fromJSON (readFile packageLockFile);
|
||||
depends = mapAttrsToList depend packageLock.dependencies;
|
||||
in
|
||||
''
|
||||
mkdir -p node_modules
|
||||
(
|
||||
cd node_modules
|
||||
${concatMapStrings prepareDepend depends}
|
||||
)
|
||||
''
|
||||
|
@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib";
|
||||
|
||||
# libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o
|
||||
# libtool: error: cannot find the library 'libexamples.la'
|
||||
enableParallelBuilding = false;
|
||||
|
||||
meta = {
|
||||
description = "High quality rendering engine for C++";
|
||||
|
||||
|
@ -6,11 +6,11 @@
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eccodes-${version}";
|
||||
version = "2.2.0";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz;
|
||||
sha256 = "1hzl0akjfxphqivnaj2kg131w8ki80ba3872h0a45f4pchci4h8s";
|
||||
url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
|
||||
sha256 = "0kiff19gk0w7ij0kx5ydqpsmdq499ylxxxq79lrgss218jy49aqq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec{
|
||||
name = "grib-api-${version}";
|
||||
version = "1.19.0";
|
||||
version = "1.24.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
|
||||
sha256 = "07cj9mw5bb249lxx1m9nmfdqb8b2a8cm7s6x62cdwca3sp16dv6a";
|
||||
sha256 = "1kbvyzaghbn1bqn97sslskmb6k3ki1dnr0g5abk5sb40n0y483bb";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -9,11 +9,11 @@ assert pythonSupport -> python != null && swig != null;
|
||||
assert docSupport -> doxygen != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libftdi1-1.3";
|
||||
name = "libftdi1-1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
|
||||
sha256 = "1x41mbzh4qy7mrv2n86r2cr176rx03iacn0a99c3dkzv9g4rb34s";
|
||||
sha256 = "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
40
pkgs/development/libraries/libqmatrixclient/default.nix
Normal file
40
pkgs/development/libraries/libqmatrixclient/default.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ stdenv, fetchFromGitHub, cmake
|
||||
, qtbase }:
|
||||
|
||||
# This doesn't actually do anything really yet as it doesn't support dynamic building
|
||||
# When it does, quaternion and tensor should use it
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libqmatrixclient-${version}";
|
||||
version = "0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "QMatrixClient";
|
||||
repo = "libqmatrixclient";
|
||||
rev = "v${version}";
|
||||
sha256 = "1dlanf0y65zf6n1b1f4jzw04w07sl85wiw01c3yyn2ivp3clr13l";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm644 -t $out/lib *.a
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description= "A Qt5 library to write cross-platfrom clients for Matrix";
|
||||
homepage = https://matrix.org/docs/projects/sdk/libqmatrixclient.html;
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
hydraPlatforms = [ ];
|
||||
};
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, json_c, hidapi }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libu2f-host-1.1.1";
|
||||
name = "libu2f-host-1.1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
|
||||
sha256 = "0g0f012w0c00cvj5g319x2b8prbh0d3fcac9960cy7xsd8chckg1";
|
||||
sha256 = "0vvs2p3b25cbybccv3f4ridnp7sg5i4hkzx3hx48ldcn1l1fqhv0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -1,5 +1,10 @@
|
||||
{ stdenv, fetchgit, cmake }:
|
||||
{ stdenv, fetchgit, cmake
|
||||
, hostPlatform, buildPlatform
|
||||
}:
|
||||
|
||||
let
|
||||
nativeBuild = hostPlatform == buildPlatform;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "microsoft_gsl-${version}";
|
||||
version = "2017-02-13";
|
||||
@ -10,8 +15,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "03d17mnx6n175aakin313308q14wzvaa9pd0m1yfk6ckhha4qf35";
|
||||
};
|
||||
|
||||
# build phase just runs the unit tests
|
||||
buildInputs = [ cmake ];
|
||||
|
||||
# build phase just runs the unit tests, so skip it if
|
||||
# we're doing a cross build
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildPhase = if nativeBuild then "make" else "true";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/include
|
||||
@ -20,9 +28,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Functions and types that are suggested for use by the C++ Core Guidelines";
|
||||
homepage = https://github.com/Microsoft/GSL;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ xwvvvvwx ];
|
||||
homepage = https://github.com/Microsoft/GSL;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ thoughtpolice xwvvvvwx ];
|
||||
};
|
||||
}
|
||||
|
@ -1,24 +1,28 @@
|
||||
{ stdenv, fetchurl, pkgconfig }:
|
||||
{ stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "snappy-${version}";
|
||||
version = "1.1.4";
|
||||
version = "1.1.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://github.com/google/snappy/releases/download/${version}/"
|
||||
+ "snappy-${version}.tar.gz";
|
||||
sha256 = "0mq0nz8gbi1sp3y6xcg0a6wbvnd6gc717f3vh2xrjmfj5w9gwjqk";
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "snappy";
|
||||
rev = "${version}";
|
||||
sha256 = "1x7r8sjmdqlqjz0xfiwdyrqpgaj5yrvrgb28ivgpvnxgar5qv6m2";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# -DNDEBUG for speed
|
||||
configureFlags = [ "CXXFLAGS=-DNDEBUG" ];
|
||||
|
||||
# SIGILL on darwin
|
||||
doCheck = !stdenv.isDarwin;
|
||||
checkPhase = ''
|
||||
(cd .. && ./build/snappy_unittest)
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://google.github.io/snappy/;
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
# Works around bunch of "format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}'" warnings
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isi686 "-Wno-error=format";
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.is64bit) "-Wno-error=format";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libusb ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, gnum4, pkgconfig, python2
|
||||
, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland
|
||||
, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland, libXext
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ gnum4 pkgconfig python2 ];
|
||||
|
||||
buildInputs = [ intel-gpu-tools libdrm libva libX11 mesa_noglu wayland ];
|
||||
buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext mesa_noglu wayland ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://cgit.freedesktop.org/vaapi/intel-driver/;
|
||||
|
@ -2119,13 +2119,13 @@ let
|
||||
sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
|
||||
};
|
||||
};
|
||||
"ajv-5.4.0" = {
|
||||
"ajv-5.5.0" = {
|
||||
name = "ajv";
|
||||
packageName = "ajv";
|
||||
version = "5.4.0";
|
||||
version = "5.5.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/ajv/-/ajv-5.4.0.tgz";
|
||||
sha1 = "32d1cf08dbc80c432f426f12e10b2511f6b46474";
|
||||
url = "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz";
|
||||
sha1 = "eb2840746e9dc48bd5e063a36e3fd400c5eab5a9";
|
||||
};
|
||||
};
|
||||
"har-schema-2.0.0" = {
|
||||
@ -4045,13 +4045,13 @@ let
|
||||
sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
|
||||
};
|
||||
};
|
||||
"commander-2.12.0" = {
|
||||
"commander-2.12.1" = {
|
||||
name = "commander";
|
||||
packageName = "commander";
|
||||
version = "2.12.0";
|
||||
version = "2.12.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/commander/-/commander-2.12.0.tgz";
|
||||
sha512 = "3drb1rxa9qbsn65n8gbwfj96afi8kv3kh9z30mm1x0hssz84kj7akkksd6qpbikcnpnmrm9fpxvqy5w6jw1xj9q4z3ijligiddjcl6h";
|
||||
url = "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz";
|
||||
sha512 = "36cb2mrf9piidjbqiz8krwx7r9hikgirjxzfrbyk3hd39xpmg489lia9d3cmzci80sx99428hg960sz9j5b72fn7pi928z5289ln8rw";
|
||||
};
|
||||
};
|
||||
"is-my-json-valid-2.16.1" = {
|
||||
@ -4063,15 +4063,6 @@ let
|
||||
sha512 = "2wmvqb2vfzjbnd2znxkg4sqpksxb9mi1lbr4r5zv535ykxzfv8dbnafra1lhk415wrbg9r1lfhyimcw5xfj3k4ry7inbmcjlnr4zj51";
|
||||
};
|
||||
};
|
||||
"@types/node-7.0.48" = {
|
||||
name = "_at_types_slash_node";
|
||||
packageName = "@types/node";
|
||||
version = "7.0.48";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/node/-/node-7.0.48.tgz";
|
||||
sha512 = "3bjps45216v1znjwv914yqhiya6y0gxra26zk80bv49rzsqf84kxv7ilrzm7j6wj5895957a0jbqwsdy78ylfbx61v3w11pydlmgf9c";
|
||||
};
|
||||
};
|
||||
"generate-function-2.0.0" = {
|
||||
name = "generate-function";
|
||||
packageName = "generate-function";
|
||||
@ -4844,7 +4835,7 @@ in
|
||||
})
|
||||
(sources."har-validator-5.0.3" // {
|
||||
dependencies = [
|
||||
(sources."ajv-5.4.0" // {
|
||||
(sources."ajv-5.5.0" // {
|
||||
dependencies = [
|
||||
sources."co-4.6.0"
|
||||
sources."fast-deep-equal-1.0.0"
|
||||
@ -6257,11 +6248,7 @@ in
|
||||
sources."supports-color-2.0.0"
|
||||
];
|
||||
})
|
||||
(sources."commander-2.12.0" // {
|
||||
dependencies = [
|
||||
sources."@types/node-7.0.48"
|
||||
];
|
||||
})
|
||||
sources."commander-2.12.1"
|
||||
(sources."is-my-json-valid-2.16.1" // {
|
||||
dependencies = [
|
||||
sources."generate-function-2.0.0"
|
||||
|
@ -28,6 +28,7 @@
|
||||
, "gulp"
|
||||
, "hipache"
|
||||
, "htmlhint"
|
||||
, "html-minifier"
|
||||
, "ionic"
|
||||
, "ios-deploy"
|
||||
, "istanbul"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-ppx_deriving_yojson-${version}";
|
||||
version = "3.0";
|
||||
version = "3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "whitequark";
|
||||
owner = "ocaml-ppx";
|
||||
repo = "ppx_deriving_yojson";
|
||||
rev = "v${version}";
|
||||
sha256 = "1id1a29qq0ax9qp98b5hv6p2q2r0vp4fbkkwzm1bxdhnasw97msk";
|
||||
sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ];
|
||||
@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.vbgl ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
broken = stdenv.lib.versionAtLeast ocaml.version "4.05";
|
||||
};
|
||||
}
|
||||
|
@ -4,15 +4,15 @@
|
||||
buildOcaml rec {
|
||||
name = "ppx_import";
|
||||
|
||||
version = "1.1";
|
||||
version = "1.4";
|
||||
|
||||
minimumSupportedOcamlVersion = "4.02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "whitequark";
|
||||
owner = "ocaml-ppx";
|
||||
repo = "ppx_import";
|
||||
rev = "v${version}";
|
||||
sha256 = "1hfvbc81dg58q7kkpn808b3j0xazrqfrr4v71sd1yvmnk71wak6k";
|
||||
sha256 = "14c2lp7r9080c4hsb1y1drbxxx3v44b7ib5wfh3kkh3f1jfsjwbk";
|
||||
};
|
||||
|
||||
buildInputs = [ cppo ounit ppx_deriving opam ];
|
||||
@ -29,4 +29,4 @@ buildOcaml rec {
|
||||
description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
47
pkgs/development/python-modules/bash_kernel/default.nix
Normal file
47
pkgs/development/python-modules/bash_kernel/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
, ipykernel
|
||||
, isPy27
|
||||
, pexpect
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "bash_kernel";
|
||||
version = "0.7.1";
|
||||
name = "${pname}-${version}";
|
||||
format = "flit";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1s2kc7m52kq28b4j1q3456g5ani6nmq4n0rpbqi3yvh7ks0rby19";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/takluyver/bash_kernel/pull/69.diff";
|
||||
sha256 = "1qd7qjjmcph4dk6j0bl31h2fdmfiyyazvrc9xqqj8y21ki2sl33j";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ ipykernel pexpect ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
preBuild = ''
|
||||
mkdir tmp
|
||||
export HOME=$PWD/tmp
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
python -m bash_kernel.install --prefix $out
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Bash Kernel for Jupyter";
|
||||
homepage = "https://github.com/takluyver/bash_kernel";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ zimbatm ];
|
||||
};
|
||||
}
|
@ -78,5 +78,6 @@ buildPythonPackage rec {
|
||||
description = "Statistical and novel interactive HTML plots for Python";
|
||||
homepage = "http://github.com/bokeh/bokeh";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ orivej ];
|
||||
};
|
||||
}
|
||||
|
44
pkgs/development/python-modules/pexpect/default.nix
Normal file
44
pkgs/development/python-modules/pexpect/default.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, ptyprocess
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pexpect";
|
||||
version = "4.3.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1nfjmz81gsixv22dywidakm7pff3ly1i4yly950bfp8gz1r0iaq0";
|
||||
};
|
||||
|
||||
# Wants to run pythonin a subprocess
|
||||
doCheck = false;
|
||||
|
||||
propagatedBuildInputs = [ ptyprocess ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = http://www.noah.org/wiki/Pexpect;
|
||||
description = "Automate interactive console applications such as ssh, ftp, etc";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ zimbatm ];
|
||||
|
||||
longDescription = ''
|
||||
Pexpect is similar to the Don Libes "Expect" system, but Pexpect
|
||||
as a different interface that is easier to understand. Pexpect
|
||||
is basically a pattern matching system. It runs programs and
|
||||
watches output. When output matches a given pattern Pexpect can
|
||||
respond as if a human were typing responses. Pexpect can be used
|
||||
for automation, testing, and screen scraping. Pexpect can be
|
||||
used for automating interactive console applications such as
|
||||
ssh, ftp, passwd, telnet, etc. It can also be used to control
|
||||
web applications via "lynx", "w3m", or some other text-based web
|
||||
browser. Pexpect is pure Python. Unlike other Expect-like
|
||||
modules for Python Pexpect does not require TCL or Expect nor
|
||||
does it require C extensions to be compiled. It should work on
|
||||
any platform that supports the standard Python pty module.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
source "$stdenv"/setup
|
||||
|
||||
cp --recursive "$src" ./
|
||||
|
||||
chmod --recursive u=rwx ./"$(basename "$src")"
|
||||
|
||||
cd ./"$(basename "$src")"
|
||||
|
||||
cmake ./
|
||||
|
||||
make
|
||||
|
||||
mkdir --parents "$out"/bin
|
||||
cp ./TraceFileGen "$out"/bin
|
||||
|
||||
mkdir --parents "$out"/share/doc/"$name"/html
|
||||
cp --recursive ./Documentation/html/* "$out/share/doc/$name/html/"
|
@ -1,22 +1,29 @@
|
||||
{ stdenv, fetchgit, cmake }:
|
||||
{ stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "tracefilegen-2015-11-14";
|
||||
name = "tracefilegen-2017-05-13";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/GarCoSim/TraceFileGen.git";
|
||||
rev = "4acf75b142683cc475c6b1c841a221db0753b404";
|
||||
sha256 = "0mh661l9d1lczv0mr2y9swzqqlwikyqiv1hdd71r9v8cvm54y5ij";
|
||||
src = fetchFromGitHub {
|
||||
owner = "GarCoSim";
|
||||
repo = "TraceFileGen";
|
||||
rev = "0ebfd1fdb54079d4bdeaa81fc9267ecb9f016d60";
|
||||
sha256 = "1gsx18ksgz5gwl3v62vgrmhxc0wc99i74qwhpn0h57zllk41drjc";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
builder = ./builder.sh;
|
||||
patches = [ ./gcc7.patch ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 TraceFileGen $out/bin/TraceFileGen
|
||||
mkdir -p $out/share/doc/${name}/
|
||||
cp -ar $src/Documentation/html $out/share/doc/${name}/.
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Automatically generate all types of basic memory management operations and write into trace files";
|
||||
homepage = https://github.com/GarCoSim;
|
||||
homepage = https://github.com/GarCoSim;
|
||||
maintainers = [ maintainers.cmcdragonkai ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/Utils/Logger.cpp b/Utils/Logger.cpp
|
||||
index 747cd63..e3efdf1 100644
|
||||
--- a/Utils/Logger.cpp
|
||||
+++ b/Utils/Logger.cpp
|
||||
@@ -29,7 +29,7 @@ Logger::Logger(char* tracepath) {
|
||||
trace = fopen(tracepath, "w");
|
||||
|
||||
// dot file is not used, set null as default value
|
||||
- dot = '\0';
|
||||
+ dot = nullptr;
|
||||
//dot = fopen("gcKons.dot", "w");
|
||||
//fprintf(dot,"digraph G {\n");
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
{ stdenv, fetchurl, jre, bc }:
|
||||
{ stdenv, fetchurl, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbt-${version}";
|
||||
version = "1.0.3";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
@ -10,14 +10,11 @@ stdenv.mkDerivation rec {
|
||||
"https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
|
||||
"https://cocl.us/sbt-${version}.tgz"
|
||||
];
|
||||
sha256 = "041cv25gxqsi3rlglw5d8aqgdzb6y5ak3f52dwqvzrrj854vyx13";
|
||||
sha256 = "0gz2akifi842y8av2hh7w2z6fd6z400nvk8ip87rkyhx3gw7cdw1";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
echo -java-home ${jre.home} >>conf/sbtopts
|
||||
|
||||
substituteInPlace bin/sbt-launch-lib.bash \
|
||||
--replace "| bc)" "| ${bc}/bin/bc)"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
@ -30,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.scala-sbt.org/;
|
||||
license = licenses.bsd3;
|
||||
description = "A build tool for Scala, Java and more";
|
||||
maintainers = with maintainers; [ rickynils ];
|
||||
maintainers = with maintainers; [ nequissimus rickynils ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
36
pkgs/development/tools/cloudfoundry-cli/default.nix
Normal file
36
pkgs/development/tools/cloudfoundry-cli/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub, go }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "cloudfoundry-cli-${version}";
|
||||
version = "6.32.0";
|
||||
|
||||
goPackagePath = "code.cloudfoundry.org/cli";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "cloudfoundry-attic";
|
||||
repo = "cli-with-i18n";
|
||||
sha256 = "16r8zvahn4b98krmyb8zq9370i6572dhz88bfxb3fnddcv6zy1ng";
|
||||
};
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
buildFlagsArray = ''
|
||||
-ldflags= -X ${goPackagePath}/version.binaryVersion=${version}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -Dm555 go/bin/cli "$out/bin/cf"
|
||||
remove-references-to -t ${go} "$out/bin/cf"
|
||||
install -Dm444 -t "$out/share/bash-completion/completions/" "$src/ci/installers/completion/cf"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The official command line client for Cloud Foundry";
|
||||
homepage = https://github.com/cloudfoundry/cli;
|
||||
maintainers = with maintainers; [ ris ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
2
pkgs/development/tools/jazzy/Gemfile
Normal file
2
pkgs/development/tools/jazzy/Gemfile
Normal file
@ -0,0 +1,2 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'jazzy'
|
100
pkgs/development/tools/jazzy/Gemfile.lock
Normal file
100
pkgs/development/tools/jazzy/Gemfile.lock
Normal file
@ -0,0 +1,100 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (2.3.5)
|
||||
activesupport (4.2.10)
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
claide (1.0.2)
|
||||
cocoapods (1.3.1)
|
||||
activesupport (>= 4.0.2, < 5)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.3.1)
|
||||
cocoapods-deintegrate (>= 1.0.1, < 2.0)
|
||||
cocoapods-downloader (>= 1.1.3, < 2.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
cocoapods-search (>= 1.0.0, < 2.0)
|
||||
cocoapods-stats (>= 1.0.0, < 2.0)
|
||||
cocoapods-trunk (>= 1.2.0, < 2.0)
|
||||
cocoapods-try (>= 1.1.0, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
escape (~> 0.0.4)
|
||||
fourflusher (~> 2.0.1)
|
||||
gh_inspector (~> 1.0)
|
||||
molinillo (~> 0.5.7)
|
||||
nap (~> 1.0)
|
||||
ruby-macho (~> 1.1)
|
||||
xcodeproj (>= 1.5.1, < 2.0)
|
||||
cocoapods-core (1.3.1)
|
||||
activesupport (>= 4.0.2, < 6)
|
||||
fuzzy_match (~> 2.0.4)
|
||||
nap (~> 1.0)
|
||||
cocoapods-deintegrate (1.0.1)
|
||||
cocoapods-downloader (1.1.3)
|
||||
cocoapods-plugins (1.0.0)
|
||||
nap
|
||||
cocoapods-search (1.0.0)
|
||||
cocoapods-stats (1.0.0)
|
||||
cocoapods-trunk (1.3.0)
|
||||
nap (>= 0.8, < 2.0)
|
||||
netrc (~> 0.11)
|
||||
cocoapods-try (1.1.0)
|
||||
colored2 (3.1.2)
|
||||
concurrent-ruby (1.0.5)
|
||||
escape (0.0.4)
|
||||
ffi (1.9.18)
|
||||
fourflusher (2.0.1)
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.0.3)
|
||||
i18n (0.9.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jazzy (0.9.0)
|
||||
cocoapods (~> 1.0)
|
||||
mustache (~> 0.99)
|
||||
open4
|
||||
redcarpet (~> 3.2)
|
||||
rouge (~> 1.5)
|
||||
sass (~> 3.4)
|
||||
sqlite3 (~> 1.3)
|
||||
xcinvoke (~> 0.3.0)
|
||||
liferaft (0.0.6)
|
||||
minitest (5.10.3)
|
||||
molinillo (0.5.7)
|
||||
mustache (0.99.8)
|
||||
nanaimo (0.2.3)
|
||||
nap (1.1.0)
|
||||
netrc (0.11.0)
|
||||
open4 (1.3.4)
|
||||
rb-fsevent (0.10.2)
|
||||
rb-inotify (0.9.10)
|
||||
ffi (>= 0.5.0, < 2)
|
||||
redcarpet (3.4.0)
|
||||
rouge (1.11.1)
|
||||
ruby-macho (1.1.0)
|
||||
sass (3.5.3)
|
||||
sass-listen (~> 4.0.0)
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
sqlite3 (1.3.13)
|
||||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.4)
|
||||
thread_safe (~> 0.1)
|
||||
xcinvoke (0.3.0)
|
||||
liferaft (~> 0.0.6)
|
||||
xcodeproj (1.5.3)
|
||||
CFPropertyList (~> 2.3.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.2.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
jazzy
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.6
|
17
pkgs/development/tools/jazzy/default.nix
Normal file
17
pkgs/development/tools/jazzy/default.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{ lib, bundlerEnv, ruby }:
|
||||
|
||||
bundlerEnv rec {
|
||||
inherit ruby;
|
||||
pname = "jazzy";
|
||||
gemdir = ./.;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command-line utility that generates documentation for Swift or Objective-C";
|
||||
homepage = https://github.com/realm/jazzy;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.darwin;
|
||||
maintainers = with maintainers; [
|
||||
peterromfeldhk
|
||||
];
|
||||
};
|
||||
}
|
343
pkgs/development/tools/jazzy/gemset.nix
Normal file
343
pkgs/development/tools/jazzy/gemset.nix
Normal file
@ -0,0 +1,343 @@
|
||||
{
|
||||
activesupport = {
|
||||
dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.2.10";
|
||||
};
|
||||
CFPropertyList = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06dddgcai6nay552h8wmnb2m93xx5hni48s16vkbf9vbym4nfw5x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.5";
|
||||
};
|
||||
claide = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0az54rp691hc42yl1xyix2cxv58byhaaf4gxbpghvvq29l476rzc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.2";
|
||||
};
|
||||
cocoapods = {
|
||||
dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "050b7795jc6802wcpcgi702qkgy8vjidgq6c6mbx2alrq7l0n8q7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
cocoapods-core = {
|
||||
dependencies = ["activesupport" "fuzzy_match" "nap"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pr42lpqs6q51gnnfxmgmbx7sw0dwyawylssj588izj8av18rhpy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
cocoapods-deintegrate = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1x4hxlip6zkrs1vcmw7sh45ayn5pxvsg782iifnmgjwn2pyskj7l";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
};
|
||||
cocoapods-downloader = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1664qg1wml70slcfklpnyq5ixp145f6iyn3c6pcqkqc64i1bsg87";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.3";
|
||||
};
|
||||
cocoapods-plugins = {
|
||||
dependencies = ["nap"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
cocoapods-search = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "02wmy5rbjk29c65zn62bffxv30qs11slql23qx65snkm0vd93mn6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
cocoapods-stats = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sfcwq2vq6cadj1811jdjys3d28pmk2r2a83px6w94rz6i19axid";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
cocoapods-trunk = {
|
||||
dependencies = ["nap" "netrc"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0shxr64j7f50yglp5l90vr1ba5p9pkk0a3b8apkbci2lmq5kq60b";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.0";
|
||||
};
|
||||
cocoapods-try = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1gf2zjmcjhh9psq15yfy82wz5jnlihf5bcw79f8hlv4cnqyspncj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
colored2 = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.2";
|
||||
};
|
||||
concurrent-ruby = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.5";
|
||||
};
|
||||
escape = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.4";
|
||||
};
|
||||
ffi = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.9.18";
|
||||
};
|
||||
fourflusher = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1dzmkxyzrk475c1yk5zddwhhj28b6fnj4jkk1h5gr1c2mrar72d5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.1";
|
||||
};
|
||||
fuzzy_match = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.4";
|
||||
};
|
||||
gh_inspector = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1lxvp8xpjd2cazzcp90phy567spp4v41bnk9awgx8absndv70k1x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.3";
|
||||
};
|
||||
i18n = {
|
||||
dependencies = ["concurrent-ruby"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0h5wygnbpxas8kwhqkwk6n4s334dxyxvlxykc6mxfndb0m56166r";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
jazzy = {
|
||||
dependencies = ["cocoapods" "mustache" "open4" "redcarpet" "rouge" "sass" "sqlite3" "xcinvoke"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0vvyszmpnzm0my5fp50z5bnqij6zq3cig2p46vgl683hsm48ldsq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
liferaft = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1kasbbx84gzsxx8w8bgr6xjg43h9bvzzaqg7si8jirnja8yc27k3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.6";
|
||||
};
|
||||
minitest = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05521clw19lrksqgvg2kmm025pvdhdaniix52vmbychrn2jm7kz2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.10.3";
|
||||
};
|
||||
molinillo = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19h1nks0x2ljwyijs2rd1f9sh05j8xqvjaqk1rslp5nyy6h4a758";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.7";
|
||||
};
|
||||
mustache = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.99.8";
|
||||
};
|
||||
nanaimo = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0z6rbji02x75vm5jw4hbpp75khp4z5yfgbaz1h9l8aa00hqf0fxd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.3";
|
||||
};
|
||||
nap = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
netrc = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.11.0";
|
||||
};
|
||||
open4 = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.4";
|
||||
};
|
||||
rb-fsevent = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.10.2";
|
||||
};
|
||||
rb-inotify = {
|
||||
dependencies = ["ffi"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.10";
|
||||
};
|
||||
redcarpet = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.4.0";
|
||||
};
|
||||
rouge = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13amckbdknnc5491ag28y8pqbyfpbzx5n4rlmadxhd3wkrhp92c8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.1";
|
||||
};
|
||||
ruby-macho = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1i9vkz3ki3yvps4z1hca2q2axniq95x4yypnc22p9pcfjdfrbrq6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
sass = {
|
||||
dependencies = ["sass-listen"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1167camc4ccqf9lcjlpyf96ji00f0041i7xanj2nm41fkx7kr7kr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.5.3";
|
||||
};
|
||||
sass-listen = {
|
||||
dependencies = ["rb-fsevent" "rb-inotify"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.0";
|
||||
};
|
||||
sqlite3 = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.13";
|
||||
};
|
||||
thread_safe = {
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.6";
|
||||
};
|
||||
tzinfo = {
|
||||
dependencies = ["thread_safe"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.4";
|
||||
};
|
||||
xcinvoke = {
|
||||
dependencies = ["liferaft"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "16pyq7wvx2c0fywrqxk3vg6psa3yjhbd7hw7hv2mjim6myjkdsb7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.0";
|
||||
};
|
||||
xcodeproj = {
|
||||
dependencies = ["CFPropertyList" "claide" "colored2" "nanaimo"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1gvnd5ixa4wbn1cpc6jp6i9z0dxhcwlxny47irzbr6zr8wpj3ww7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.3";
|
||||
};
|
||||
}
|
10
pkgs/development/tools/jazzy/update
Executable file
10
pkgs/development/tools/jazzy/update
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p bash ruby bundler bundix
|
||||
|
||||
rm Gemfile.lock
|
||||
bundler install
|
||||
bundix
|
||||
|
||||
if [ "clean" == "$1" ]; then
|
||||
rm -rf ~/.gem
|
||||
fi
|
@ -13,11 +13,11 @@ let
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "iozone-3.434";
|
||||
name = "iozone-3.471";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.iozone.org/src/current/iozone3_434.tar;
|
||||
sha256 = "0aj63mlb91aivz3z71zn8nbwci1pi18qk8zc65dm19cknffqsf1c";
|
||||
url = http://www.iozone.org/src/current/iozone3_471.tar;
|
||||
sha256 = "0w63b3d4ws1sm52lpdd08sl7n4ay438dl3wy0q9la12iq81rglid";
|
||||
};
|
||||
|
||||
license = fetchurl {
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, unzip }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "stm32flash-1.0";
|
||||
stdenv.mkDerivation rec {
|
||||
name = "stm32flash-0.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/stm32flash/stm32flash.tar.gz";
|
||||
sha256 = "04k631g9lzvp9xr4sw51xpq1g542np61s1l8fpwx9rbsc8m5l0i6";
|
||||
url = "mirror://sourceforge/stm32flash/${name}.tar.gz";
|
||||
sha256 = "01p396daqw3zh6nijffbfbwyqza33bi2k4q3m5yjzs02xwi99alp";
|
||||
};
|
||||
|
||||
buildFlags = [ "CC=cc" ];
|
||||
@ -21,6 +21,6 @@ stdenv.mkDerivation {
|
||||
homepage = https://sourceforge.net/projects/stm32flash/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = platforms.all; # Should work on all platforms
|
||||
maintainers = [ maintainers.the-kenny ];
|
||||
maintainers = with maintainers; [ the-kenny elitak ];
|
||||
};
|
||||
}
|
||||
|
@ -37,6 +37,8 @@ stdenv.mkDerivation {
|
||||
++ optional (!gtkClient) "--enable-fcmp=cli"
|
||||
++ optional (!server) "--disable-server";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Multiplayer (or single player), turn-based strategy game";
|
||||
|
||||
|
35
pkgs/games/freesweep/default.nix
Normal file
35
pkgs/games/freesweep/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ fetchurl, ncurses, stdenv,
|
||||
updateAutotoolsGnuConfigScriptsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "freesweep-${version}";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/rwestlund/freesweep/archive/v${version}.tar.gz";
|
||||
sha256 = "0l2kf14558lsq9qd2hs0kcyn9bbl1jdbzwrvcs6mnyjl7zpizcpj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
preConfigure = ''
|
||||
configureFlags="$configureFlags --with-prefsdir=$out/share"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D -m 0555 freesweep $out/bin/freesweep
|
||||
install -D -m 0444 sweeprc $out/share/sweeprc
|
||||
install -D -m 0444 freesweep.6 $out/share/man/man6/freesweep.6
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A console minesweeper-style game written in C for Unix-like systems";
|
||||
homepage = https://github.com/rwestlund/freesweep;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ kierdavis ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
9
pkgs/misc/emulators/openmsx/custom-nixos.mk
Normal file
9
pkgs/misc/emulators/openmsx/custom-nixos.mk
Normal file
@ -0,0 +1,9 @@
|
||||
# This file substitutes $sourceRoot/build/custom.mk
|
||||
|
||||
VERSION_EXEC:=false
|
||||
SYMLINK_FOR_BINARY:=false
|
||||
INSTALL_CONTRIB:=true
|
||||
INSTALL_BASE:=${out}
|
||||
INSTALL_DOC_DIR:=${INSTALL_BASE}/share/doc/openmsx
|
||||
INSTALL_SHARE_DIR:=${INSTALL_BASE}/share/openmsx
|
||||
INSTALL_BINARY_DIR:=${INSTALL_BASE}/bin
|
48
pkgs/misc/emulators/openmsx/default.nix
Normal file
48
pkgs/misc/emulators/openmsx/default.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig
|
||||
, python
|
||||
, alsaLib, glew, mesa_noglu, libpng
|
||||
, libogg, libtheora, libvorbis
|
||||
, SDL, SDL_image, SDL_ttf
|
||||
, freetype, tcl, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "openmsx-${version}";
|
||||
version = "git-2017-11-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openMSX";
|
||||
repo = "openMSX";
|
||||
rev = "eeb74206ae347a3b17e9b99f91f2b4682c5db22c";
|
||||
sha256 = "170amj7k6wjhwx6psbplqljvckvhxxbv3aw72jrdxl1fb8zlnq3s";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig python ];
|
||||
|
||||
buildInputs = [ alsaLib glew mesa_noglu libpng
|
||||
libogg libtheora libvorbis freetype
|
||||
SDL SDL_image SDL_ttf tcl zlib ];
|
||||
|
||||
postPatch = ''
|
||||
cp ${./custom-nixos.mk} build/custom.mk
|
||||
'';
|
||||
|
||||
dontAddPrefix = true;
|
||||
|
||||
# Many thanks @mthuurne from OpenMSX project
|
||||
# for providing support to Nixpkgs :)
|
||||
TCL_CONFIG="${tcl}/lib/";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A MSX emulator";
|
||||
longDescription = ''
|
||||
OpenMSX is an emulator for the MSX home computer system. Its goal is
|
||||
to emulate all aspects of the MSX with 100% accuracy.
|
||||
'';
|
||||
homepage = https://openmsx.org;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -16,7 +16,8 @@ let
|
||||
|
||||
buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
|
||||
|
||||
buildPhase = "make -f Makefile.libretro";
|
||||
makefile = "Makefile.libretro";
|
||||
|
||||
installPhase = ''
|
||||
COREDIR="$out/lib/retroarch/cores"
|
||||
mkdir -p $out/bin
|
||||
|
@ -32,15 +32,15 @@ in rec {
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the SHA256 for staging as well.
|
||||
version = "2.19";
|
||||
version = "2.21";
|
||||
url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
|
||||
sha256 = "15b0lvs456zjh5wwkhs9wh1ycih12ragk6170hnrrbkmk3k32wa8";
|
||||
sha256 = "1vxbnikdpsmca3nx064mqrm83xpjsfshy25mdfxmyg5vrzl09yms";
|
||||
inherit (stable) mono gecko32 gecko64;
|
||||
};
|
||||
|
||||
staging = fetchFromGitHub rec {
|
||||
inherit (unstable) version;
|
||||
sha256 = "16jps0x4srxnpdy3vxygvspz7qpd09i83c6j6kg8vv4qkna2lswi";
|
||||
sha256 = "1qznp4kgss4mhk1vvr91jmszsi47xg312r64l76jkgwijhypmvb7";
|
||||
owner = "wine-compholio";
|
||||
repo = "wine-staging";
|
||||
rev = "v${version}";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, cmake
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, cmake
|
||||
|
||||
# dependencies
|
||||
, glib, libXinerama
|
||||
@ -73,6 +73,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "15j8h251v9jpdg6h6wn1vb45pkk806pf9s5n3rdrps9r185w8hn8";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Patch to fix compilation on gcc-7 from conky PR
|
||||
# https://github.com/brndnmtthws/conky/pull/402
|
||||
(fetchpatch {
|
||||
name = "gcc7.patch";
|
||||
url = "https://github.com/brndnmtthws/conky/commit/6140122b82d50acc333e5d2a813cc1933ecc6d21.patch";
|
||||
sha256 = "1fblfj1w2kc0gshc2pq9lc1pxxsgmgh8byb1xs2v6amx15kj11k7";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/include.*CheckIncludeFile)/i include(CheckIncludeFiles)' \
|
||||
cmake/ConkyPlatformChecks.cmake
|
||||
|
@ -3,9 +3,9 @@
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
version = "4.14.1";
|
||||
version = "4.14.2";
|
||||
revision = "a";
|
||||
sha256 = "0yp05xyz2ygxkhd17s85cqnvi93a49svgm0l1kbyb7y08mg5gp4j";
|
||||
sha256 = "0bpkff1phc68shw6spkhd6zbxgjkgvdglym8b2hp383h14845qhb";
|
||||
|
||||
# modVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
|
||||
|
@ -1,36 +1,38 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libxml2, perl, autoreconfHook, doxygen }:
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, libtool, gettext
|
||||
, libxml2, perl, doxygen }:
|
||||
|
||||
let
|
||||
version = "2.3.2";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libsmbios-${version}";
|
||||
version = "2.3.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/dell/libsmbios/archive/v${version}.tar.gz";
|
||||
sha256 = "0kvi36jrvhspyyq0pjfdyvzvimdn27fvbdpf429qm3xdmfi78y2j";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dell";
|
||||
repo = "libsmbios";
|
||||
rev = "v${version}";
|
||||
sha256 = "1cl5nb6qk8ki87hwqf9n1dd9nlhkjnlpdxlhzvm82za16gs7apkl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
buildInputs = [ libxml2 perl doxygen ];
|
||||
nativeBuildInputs = [ autoreconfHook doxygen gettext libtool perl pkgconfig ];
|
||||
buildInputs = [ libxml2 ];
|
||||
|
||||
# It tries to install some Python stuff even when Python is disabled.
|
||||
installFlags = "pkgpythondir=$(TMPDIR)/python";
|
||||
configureFlags = [ "--disable-python" "--disable-graphviz" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall =
|
||||
''
|
||||
mkdir -p $out/include
|
||||
cp -va "src/include/"* "$out/include/"
|
||||
cp -va "out/public-include/"* "$out/include/"
|
||||
cp -a src/include/smbios_c $out/include/
|
||||
cp -a out/public-include/smbios_c $out/include/
|
||||
'';
|
||||
|
||||
# Hack to avoid TMPDIR in RPATHs.
|
||||
preFixup = ''rm -rf "$(pwd)" '';
|
||||
preFixup = ''rm -rf "$(pwd)" ''; # Hack to avoid TMPDIR in RPATHs
|
||||
|
||||
meta = {
|
||||
homepage = http://linux.dell.com/libsmbios/main;
|
||||
homepage = https://github.com/dell/libsmbios;
|
||||
description = "A library to obtain BIOS information";
|
||||
license = stdenv.lib.licenses.gpl2Plus; # alternatively, under the Open Software License version 2.1
|
||||
license = with stdenv.lib.licenses; [ osl21 gpl2Plus ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Library and tools for non-uniform memory access (NUMA) machines";
|
||||
homepage = http://oss.sgi.com/projects/libnuma/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
|
||||
maintainers = with maintainers; [ wkennington ];
|
||||
};
|
||||
}
|
||||
|
@ -47,6 +47,16 @@
|
||||
'';
|
||||
};
|
||||
|
||||
modsecurity-beta = {
|
||||
src = fetchFromGitHub {
|
||||
owner = "SpiderLabs";
|
||||
repo = "ModSecurity-nginx";
|
||||
rev = "abbf2c47f6f3205484a1a9db618e067dce213b89";
|
||||
sha256 = "04ar51bnqjca6g4p2irymgdmc8rh5nsi8ml43srm4krllnkvw8qn";
|
||||
};
|
||||
inputs = [ pkgs.curl pkgs.geoip pkgs.libmodsecurity pkgs.libxml2 pkgs.lmdb pkgs.yajl ];
|
||||
};
|
||||
|
||||
echo = {
|
||||
src = fetchFromGitHub {
|
||||
owner = "openresty";
|
||||
|
39
pkgs/servers/mail/exim/cve-2017-16943.patch
Normal file
39
pkgs/servers/mail/exim/cve-2017-16943.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From 4e6ae6235c68de243b1c2419027472d7659aa2b4 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Harris <jgh146exb@wizmail.org>
|
||||
Date: Fri, 24 Nov 2017 20:22:33 +0000
|
||||
Subject: [PATCH] Avoid release of store if there have been later allocations.
|
||||
Bug 2199
|
||||
|
||||
---
|
||||
src/receive.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/receive.c b/src/receive.c
|
||||
index e7e518a..d9b5001 100644
|
||||
--- a/src/receive.c
|
||||
+++ b/src/receive.c
|
||||
@@ -1810,8 +1810,8 @@ for (;;)
|
||||
(and sometimes lunatic messages can have ones that are 100s of K long) we
|
||||
call store_release() for strings that have been copied - if the string is at
|
||||
the start of a block (and therefore the only thing in it, because we aren't
|
||||
- doing any other gets), the block gets freed. We can only do this because we
|
||||
- know there are no other calls to store_get() going on. */
|
||||
+ doing any other gets), the block gets freed. We can only do this release if
|
||||
+ there were no allocations since the once that we want to free. */
|
||||
|
||||
if (ptr >= header_size - 4)
|
||||
{
|
||||
@@ -1820,9 +1820,10 @@ for (;;)
|
||||
header_size *= 2;
|
||||
if (!store_extend(next->text, oldsize, header_size))
|
||||
{
|
||||
+ BOOL release_ok = store_last_get[store_pool] == next->text;
|
||||
uschar *newtext = store_get(header_size);
|
||||
memcpy(newtext, next->text, ptr);
|
||||
- store_release(next->text);
|
||||
+ if (release_ok) store_release(next->text);
|
||||
next->text = newtext;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.9.1
|
@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
|
||||
url = "https://anonscm.debian.org/git/pkg-exim4/exim4.git/plain/debian/patches/79_CVE-2017-1000369.patch?h=4.89-2%2bdeb9u1";
|
||||
sha256 = "0v46zywgkv1rdqhybqqrd0rwkdaj6q1f4x0a3vm9p0wz8vad3023";
|
||||
})
|
||||
./cve-2017-16943.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -22,6 +22,18 @@ stdenv.mkDerivation rec {
|
||||
url = "http://git.openafs.org/?p=openafs.git;a=patch;h=c193e5cba18273a062d4162118c7055b54f7eb5e";
|
||||
sha256 = "1yc4gygcazwsslf6mzk1ai92as5jbsjv7212jcbb2dw83jydhc09";
|
||||
})
|
||||
# linux 4.14
|
||||
(fetchpatch {
|
||||
name = "test-for-__vfs_write-rather-than-__vfs_read.patch";
|
||||
url = "http://git.openafs.org/?p=openafs.git;a=patch;h=929e77a886fc9853ee292ba1aa52a920c454e94b";
|
||||
sha256 = "0g4jxqzvyrjy2q7mhxc5ikhypj3ljw1wri4lipzm66crsvycp9x5";
|
||||
})
|
||||
# linux 4.14
|
||||
(fetchpatch {
|
||||
name = "use-kernel_read-kernel_write-when-__vfs-variants-are-unavailable.patch";
|
||||
url = "http://git.openafs.org/?p=openafs.git;a=patch;h=5ee516b3789d3545f3d78fb3aba2480308359945";
|
||||
sha256 = "1vx55qb120y857mn1l00i58fj9cckschp86ch3g6hqrdc5q5bxv2";
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Web-based kanban board";
|
||||
license = licenses.osl;
|
||||
license = licenses.osl3;
|
||||
homepage = http://restya.com;
|
||||
maintainers = with maintainers; [ tstrobel ];
|
||||
platforms = platforms.linux;
|
||||
|
@ -1,18 +1,18 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
name = "antigen-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zsh-users/antigen/releases/download/v${version}/antigen.zsh";
|
||||
sha256 = "0s32280ak0gd0rr66g5dj6r5px0si8w47bcxlqfpaijg7i8xk1i7";
|
||||
sha256 = "0635dvnsqh7dpqdwx5qq3kx7m1cx2038zln6y9ycnbi3i0ilgj9z";
|
||||
};
|
||||
|
||||
phases = "installPhase";
|
||||
|
||||
installPhase = ''
|
||||
outdir=$out/share/antigen
|
||||
|
||||
mkdir -p $outdir
|
||||
cp $src $outdir/antigen.zsh
|
||||
'';
|
||||
|
@ -35,11 +35,11 @@ let
|
||||
# source both, but source the more global configuration files earlier
|
||||
# than the more local ones, so that more local configurations inherit
|
||||
# from but override the more global locations.
|
||||
|
||||
|
||||
if test -f /etc/fish/config.fish
|
||||
source /etc/fish/config.fish
|
||||
end
|
||||
|
||||
|
||||
# #
|
||||
############### ↑ Nix hook for sourcing /etc/fish/config.fish ↑ ###############
|
||||
'';
|
||||
@ -88,13 +88,15 @@ let
|
||||
|
||||
fish = stdenv.mkDerivation rec {
|
||||
name = "fish-${version}";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
|
||||
etcConfigAppendix = builtins.toFile "etc-config.appendix.fish" etcConfigAppendixText;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://fishshell.com/files/${version}/${name}.tar.gz";
|
||||
sha256 = "1yzx73kg5ng5ivhi68756sl5hpb8869110l9fwim6gn7f7bbprby";
|
||||
# There are differences between the release tarball and the tarball github packages from the tag
|
||||
# Hence we cannot use fetchFromGithub
|
||||
url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${name}.tar.gz";
|
||||
sha256 = "1jvvm27hp46w0cia14lfz6161dkz8b935j1m7j38i7rgx75bfxis";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses libiconv pcre2 ];
|
||||
@ -157,6 +159,8 @@ let
|
||||
tee -a $out/share/fish/__fish_build_paths.fish < ${(writeText "__fish_build_paths_suffix.fish" fishPreInitHooks)}
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Smart and user-friendly command line shell";
|
||||
homepage = http://fishshell.com/;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "xonsh-${version}";
|
||||
version = "0.5.12";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scopatz";
|
||||
repo = "xonsh";
|
||||
rev = version;
|
||||
sha256= "1s733ay5vcpcl14x23n0amnddyjfla55irddalvw52vijhd2aljz";
|
||||
sha256= "0hfsan22i81wffx2xbamm8wwkxgpv12z4kfl37p9m22vpqgg0fdg";
|
||||
};
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
31
pkgs/shells/zsh-command-time/default.nix
Normal file
31
pkgs/shells/zsh-command-time/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
# To make use of this plugin, need to add
|
||||
# programs.zsh.interactiveShellInit = ''
|
||||
# source ${pkgs.zsh-command-time}/share/zsh-command-time/command-time.plugin.zsh
|
||||
# ZSH_COMMAND_TIME_MIN_SECONDS=3
|
||||
# ZSH_COMMAND_TIME_ECHO=1
|
||||
# '';
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2017-05-09";
|
||||
name = "zsh-command-time-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "popstas";
|
||||
repo = "zsh-command-time";
|
||||
rev = "2111361cbc88c542c834fbab7802ae5ae8339824";
|
||||
sha256 = "0hr9c7196wy9cg7vkmknszr2h446yvg9pqrq0rf3213kz074dhpg";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
install -D $src/command-time.plugin.zsh --target-directory=$out/share/zsh-command-time
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Plugin that output time: xx after long commands";
|
||||
homepage = https://github.com/popstas/zsh-command-time;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "restic-${version}";
|
||||
version = "0.7.1";
|
||||
version = "0.8.0";
|
||||
|
||||
goPackagePath = "github.com/restic/restic";
|
||||
|
||||
@ -10,7 +10,7 @@ buildGoPackage rec {
|
||||
owner = "restic";
|
||||
repo = "restic";
|
||||
rev = "v${version}";
|
||||
sha256 = "07614wp0b6kjl8lq3qir271g0s2h8wvpdh43wsz1k6bip60nmqbf";
|
||||
sha256 = "10r2p4mkspkkzmj41jskqii02qkliwz2zfhvsabkg8clr8lzfkv9";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
73
pkgs/tools/inputmethods/skk/skk-dicts/default.nix
Normal file
73
pkgs/tools/inputmethods/skk/skk-dicts/default.nix
Normal file
@ -0,0 +1,73 @@
|
||||
{ stdenv, fetchurl, skktools }:
|
||||
|
||||
let
|
||||
# kana to kanji
|
||||
small = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.S";
|
||||
sha256 = "15kp4iwz58fp1zg0i13x7w9wwm15v8n2hhm0nf2zsl7az5mn5yi4";
|
||||
};
|
||||
medium = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.M";
|
||||
sha256 = "1vhagixhrp9lq5x7dldxcanhznawazp00xivpp1z52kx10lnkmv0";
|
||||
};
|
||||
large = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.L";
|
||||
sha256 = "07cv0j95iajkr48j4ln411vnhl3z93yx96zjc03bgs10dbpagaaz";
|
||||
};
|
||||
|
||||
# english to japanese
|
||||
edict = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.edict";
|
||||
sha256 = "18k8z1wkgwgfwbs6sylf39h1nc1p5l2b00h7mfjlb8p91plkb45w";
|
||||
};
|
||||
# misc
|
||||
assoc = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.assoc";
|
||||
sha256 = "12d6xpp1bfin9nwl35ydl5yc6vx0qpwhxss0khi19n1nsbyqnixm";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "skk-dicts-unstable-${version}";
|
||||
version = "2017-10-26";
|
||||
srcs = [ small medium large edict assoc ];
|
||||
nativeBuildInputs = [ skktools ];
|
||||
|
||||
phases = [ "installPhase" ];
|
||||
installPhase = ''
|
||||
function dictname() {
|
||||
src=$1
|
||||
name=$(basename $src) # remove dir name
|
||||
dict=$(echo $name | cut -b34-) # remove sha256 prefix
|
||||
echo $dict
|
||||
}
|
||||
mkdir -p $out/share
|
||||
|
||||
for src in $srcs; do
|
||||
dst=$out/share/$(dictname $src)
|
||||
echo ";;; -*- coding: utf-8 -*-" > $dst # libskk requires this on the first line
|
||||
iconv -f EUC-JP -t UTF-8 $src |\
|
||||
${skktools}/bin/skkdic-expr2 >> $dst
|
||||
done
|
||||
|
||||
# combine .L .edict and .assoc for convenience
|
||||
dst=$out/share/SKK-JISYO.combined
|
||||
echo ";;; -*- coding: utf-8 -*-" > $dst
|
||||
${skktools}/bin/skkdic-expr2 \
|
||||
$out/share/$(dictname ${large}) + \
|
||||
$out/share/$(dictname ${edict}) + \
|
||||
$out/share/$(dictname ${assoc}) >> $dst
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A collection of standard SKK dictionaries";
|
||||
longDescription = ''
|
||||
This package provides a collection of standard kana-to-kanji
|
||||
dictionaries for the SKK Japanese input method.
|
||||
'';
|
||||
homepage = https://github.com/skk-dev/dict;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user