Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2018-06-30 01:41:59 +02:00
commit f7781f5293
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
998 changed files with 16512 additions and 10378 deletions

View File

@ -735,6 +735,62 @@ sets at once:
}
```
### How to specify source overrides for your Haskell package
When starting a Haskell project you can use `developPackage`
to define a derivation for your package at the `root` path
as well as source override versions for Hackage packages, like so:
```nix
# default.nix
{ compilerVersion ? "ghc842" }:
let
# pinning nixpkgs using new Nix 2.0 builtin `fetchGit`
pkgs = import (fetchGit (import ./version.nix)) { };
compiler = pkgs.haskell.packages."${compilerVersion}";
pkg = compiler.developPackage {
root = ./.;
source-overrides = {
# Let's say the GHC 8.4.2 haskellPackages uses 1.6.0.0 and your test suite is incompatible with >= 1.6.0.0
HUnit = "1.5.0.0";
};
};
in pkg
```
This could be used in place of a simplified `stack.yaml` defining a Nix
derivation for your Haskell package.
As you can see this allows you to specify only the source version found on
Hackage and nixpkgs will take care of the rest.
You can also specify `buildInputs` for your Haskell derivation for packages
that directly depend on external libraries like so:
```nix
# default.nix
{ compilerVersion ? "ghc842" }:
let
# pinning nixpkgs using new Nix 2.0 builtin `fetchGit`
pkgs = import (fetchGit (import ./version.nix)) { };
compiler = pkgs.haskell.packages."${compilerVersion}";
pkg = compiler.developPackage {
root = ./.;
source-overrides = {
HUnit = "1.5.0.0"; # Let's say the GHC 8.4.2 haskellPackages uses 1.6.0.0 and your test suite is incompatible with >= 1.6.0.0
};
};
# in case your package source depends on any libraries directly, not just transitively.
buildInputs = [ zlib ];
in pkg.overrideAttrs(attrs: {
buildInputs = attrs.buildInputs ++ buildInputs;
})
```
Notice that you will need to override (via `overrideAttrs` or similar) the
derivation returned by the `developPackage` Nix lambda as there is no `buildInputs`
named argument you can pass directly into the `developPackage` lambda.
### How to recover from GHC's infamous non-deterministic library ID bug
GHC and distributed build farms don't get along well:

View File

@ -200,7 +200,7 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th
doCheck = false;
meta = {
homepage = "http://github.com/pytoolz/toolz/";
homepage = "https://github.com/pytoolz/toolz/";
description = "List processing tools and functional utilities";
license = licenses.bsd3;
maintainers = with maintainers; [ fridh ];
@ -245,7 +245,7 @@ with import <nixpkgs> {};
doCheck = false;
meta = {
homepage = "http://github.com/pytoolz/toolz/";
homepage = "https://github.com/pytoolz/toolz/";
description = "List processing tools and functional utilities";
};
};

View File

@ -173,6 +173,53 @@ rec {
fna);
in if fna == {} then "<λ>"
else "<λ:{${showFnas}}>"
else abort "toPretty: should never happen (v = ${v})";
else abort "generators.toPretty: should never happen (v = ${v})";
# PLIST handling
toPlist = {}: v: let
expr = ind: x: with builtins;
if isNull x then "" else
if isBool x then bool ind x else
if isInt x then int ind x else
if isString x then str ind x else
if isList x then list ind x else
if isAttrs x then attrs ind x else
abort "generators.toPlist: should never happen (v = ${v})";
literal = ind: x: ind + x;
bool = ind: x: literal ind (if x then "<true/>" else "<false/>");
int = ind: x: literal ind "<integer>${toString x}</integer>";
str = ind: x: literal ind "<string>${x}</string>";
key = ind: x: literal ind "<key>${x}</key>";
indent = ind: expr "\t${ind}";
item = ind: libStr.concatMapStringsSep "\n" (indent ind);
list = ind: x: libStr.concatStringsSep "\n" [
(literal ind "<array>")
(item ind x)
(literal ind "</array>")
];
attrs = ind: x: libStr.concatStringsSep "\n" [
(literal ind "<dict>")
(attr ind x)
(literal ind "</dict>")
];
attr = let attrFilter = name: value: name != "_module" && value != null;
in ind: x: libStr.concatStringsSep "\n" (lib.flatten (lib.mapAttrsToList
(name: value: lib.optional (attrFilter name value) [
(key "\t${ind}" name)
(expr "\t${ind}" value)
]) x));
in ''<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
${expr "" v}
</plist>'';
}

View File

@ -493,7 +493,7 @@ rec {
inherit priority content;
};
mkOptionDefault = mkOverride 1001; # priority of option defaults
mkOptionDefault = mkOverride 1500; # priority of option defaults
mkDefault = mkOverride 1000; # used in config sections of non-user modules to set a default
mkForce = mkOverride 50;
mkVMOverride = mkOverride 10; # used by nixos-rebuild build-vm
@ -532,9 +532,7 @@ rec {
#
mkAliasDefinitions = mkAliasAndWrapDefinitions id;
mkAliasAndWrapDefinitions = wrap: option:
mkMerge
(optional (isOption option && option.isDefined)
(wrap (mkMerge option.definitions)));
mkIf (isOption option && option.isDefined) (wrap (mkMerge option.definitions));
/* Compatibility. */
@ -669,22 +667,26 @@ rec {
};
doRename = { from, to, visible, warn, use }:
{ config, options, ... }:
let
fromOpt = getAttrFromPath from options;
toOpt = getAttrFromPath to options;
toOf = attrByPath to
(abort "Renaming error: option `${showOption to}' does not exist.");
in
{ config, options, ... }:
{ options = setAttrByPath from (mkOption {
{
options = setAttrByPath from (mkOption {
inherit visible;
description = "Alias of <option>${showOption to}</option>.";
apply = x: use (toOf config);
});
config = {
warnings =
let opt = getAttrFromPath from options; in
optional (warn && opt.isDefined)
"The option `${showOption from}' defined in ${showFiles opt.files} has been renamed to `${showOption to}'.";
} // setAttrByPath to (mkAliasDefinitions (getAttrFromPath from options));
config = mkMerge [
{
warnings = optional (warn && fromOpt.isDefined)
"The option `${showOption from}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption to}'.";
}
(mkAliasAndWrapDefinitions (setAttrByPath to) fromOpt)
];
};
}

View File

@ -46,7 +46,6 @@ rec {
# Misc boolean options
useAndroidPrebuilt = false;
useiOSPrebuilt = false;
isiPhoneSimulator = false;
} // mapAttrs (n: v: v final.parsed) inspect.predicates
// args;
in assert final.useAndroidPrebuilt -> final.isAndroid;

View File

@ -100,6 +100,8 @@ rec {
config = "aarch64-apple-ios";
# config = "aarch64-apple-darwin14";
sdkVer = "10.2";
xcodeVer = "8.2";
xcodePlatform = "iPhoneOS";
useiOSPrebuilt = true;
platform = {};
};
@ -108,6 +110,8 @@ rec {
config = "armv7a-apple-ios";
# config = "arm-apple-darwin10";
sdkVer = "10.2";
xcodeVer = "8.2";
xcodePlatform = "iPhoneOS";
useiOSPrebuilt = true;
platform = {};
};
@ -116,8 +120,9 @@ rec {
config = "x86_64-apple-ios";
# config = "x86_64-apple-darwin14";
sdkVer = "10.2";
xcodeVer = "8.2";
xcodePlatform = "iPhoneSimulator";
useiOSPrebuilt = true;
isiPhoneSimulator = true;
platform = {};
};
@ -125,8 +130,9 @@ rec {
config = "i686-apple-ios";
# config = "i386-apple-darwin11";
sdkVer = "10.2";
xcodeVer = "8.2";
xcodePlatform = "iPhoneSimulator";
useiOSPrebuilt = true;
isiPhoneSimulator = true;
platform = {};
};

View File

@ -1707,6 +1707,11 @@
github = "igsha";
name = "Igor Sharonov";
};
iimog = {
email = "iimog@iimog.org";
github = "iimog";
name = "Markus J. Ankenbrand";
};
ikervagyok = {
email = "ikervagyok@gmail.com";
github = "ikervagyok";
@ -1717,6 +1722,16 @@
github = "ilya-kolpakov";
name = "Ilya Kolpakov";
};
imalison = {
email = "IvanMalison@gmail.com";
github = "IvanMalison";
name = "Ivan Malison";
};
imalsogreg = {
email = "imalsogreg@gmail.com";
github = "imalsogreg";
name = "Greg Hale";
};
infinisil = {
email = "infinisil@icloud.com";
github = "infinisil";
@ -3092,6 +3107,11 @@
github = "pmiddend";
name = "Philipp Middendorf";
};
pmyjavec = {
email = "pauly@myjavec.com";
github = "pmyjavec";
name = "Pauly Myjavec";
};
pneumaticat = {
email = "kevin@potatofrom.space";
github = "pneumaticat";
@ -3871,6 +3891,11 @@
github = "timor";
name = "timor";
};
timput = {
email = "tim@timput.com";
github = "TimPut";
name = "Tim Put";
};
tiramiseb = {
email = "sebastien@maccagnoni.eu";
github = "tiramiseb";
@ -3906,6 +3931,11 @@
github = "tokudan";
name = "Daniel Frank";
};
tomahna = {
email = "kevin.rauscher@tomahna.fr";
github = "Tomahna";
name = "Kevin Rauscher";
};
tomberek = {
email = "tomberek@gmail.com";
github = "tomberek";

View File

@ -68,6 +68,18 @@ ibus.engines = with pkgs.ibus-engines; [ table table-others ];
<para>To use any input method, the package must be added in the configuration,
as shown above, and also (after running <literal>nixos-rebuild</literal>) the
input method must be added from IBus' preference dialog.</para>
<simplesect>
<title>Troubleshooting</title>
<para>If IBus works in some applications but not others, a likely cause of
this is that IBus is depending on a different version of
<literal>glib</literal> to what the applications are depending on. This can
be checked by running <literal>nix-store -q --requisites &lt;path&gt; | grep
glib</literal>, where <literal>&lt;path&gt;</literal> is the path of either
IBus or an application in the Nix store. The <literal>glib</literal>
packages must match exactly. If they do not, uninstalling and reinstalling
the application is a likely fix.</para>
</simplesect>
</section>
<section><title>Fcitx</title>

View File

@ -242,6 +242,7 @@
./services/desktops/gnome3/tracker-miners.nix
./services/desktops/profile-sync-daemon.nix
./services/desktops/telepathy.nix
./services/development/bloop.nix
./services/development/hoogle.nix
./services/editors/emacs.nix
./services/editors/infinoted.nix
@ -486,6 +487,7 @@
./services/networking/flannel.nix
./services/networking/flashpolicyd.nix
./services/networking/freenet.nix
./services/networking/freeradius.nix
./services/networking/gale.nix
./services/networking/gateone.nix
./services/networking/gdomap.nix
@ -662,6 +664,7 @@
./services/web-apps/tt-rss.nix
./services/web-apps/selfoss.nix
./services/web-apps/quassel-webserver.nix
./services/web-apps/virtlyst.nix
./services/web-apps/youtrack.nix
./services/web-servers/apache-httpd/default.nix
./services/web-servers/caddy.nix

View File

@ -14,7 +14,15 @@ with lib;
Read the repository password from a file.
'';
example = "/etc/nixos/restic-password";
};
s3CredentialsFile = mkOption {
type = with types; nullOr str;
description = ''
file containing the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
for an S3-hosted repository, in the format of an EnvironmentFile
as described by systemd.exec(5)
'';
};
repository = mkOption {
@ -134,6 +142,8 @@ with lib;
Type = "oneshot";
ExecStart = "${resticCmd} backup ${concatStringsSep " " backup.extraBackupArgs} ${concatStringsSep " " backup.paths}";
User = backup.user;
} // optionalAttrs (backup.s3CredentialsFile != null) {
EnvironmentFile = backup.s3CredentialsFile;
};
} // optionalAttrs backup.initialize {
preStart = ''

View File

@ -0,0 +1,37 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.bloop;
in {
options.services.bloop = {
install = mkOption {
type = types.bool;
default = false;
description = ''
Whether to install a user service for the Bloop server.
The service must be manually started for each user with
"systemctl --user start bloop".
'';
};
};
config = mkIf (cfg.install) {
systemd.user.services.bloop = {
description = "Bloop Scala build server";
serviceConfig = {
Type = "simple";
ExecStart = ''${pkgs.bloop}/bin/blp-server'';
Restart = "always";
};
};
environment.systemPackages = [ pkgs.bloop ];
};
}

View File

@ -9,18 +9,11 @@ let
# /var/lib/misc is for dnsmasq.leases.
stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc";
dns =
if cfg.dns == "none" then "none"
else if cfg.dns == "dnsmasq" then "dnsmasq"
else if config.services.resolved.enable then "systemd-resolved"
else if config.services.unbound.enable then "unbound"
else "default";
configFile = writeText "NetworkManager.conf" ''
[main]
plugins=keyfile
dhcp=${cfg.dhcp}
dns=${dns}
dns=${cfg.dns}
[keyfile]
${optionalString (cfg.unmanaged != [])
@ -217,19 +210,73 @@ in {
};
dns = mkOption {
type = types.enum [ "auto" "dnsmasq" "none" ];
default = "auto";
type = types.enum [ "default" "dnsmasq" "unbound" "systemd-resolved" "none" ];
default = "default";
description = ''
Set the DNS (<literal>resolv.conf</literal>) processing mode.
</para>
<para>
Options:
- auto: Check for systemd-resolved, unbound, or use default.
- dnsmasq:
Enable NetworkManager's dnsmasq integration. NetworkManager will run
dnsmasq as a local caching nameserver, using a "split DNS"
<variablelist>
<varlistentry>
<term><literal>"default"</literal></term>
<listitem><para>
NetworkManager will update <literal>/etc/resolv.conf</literal> to
reflect the nameservers provided by currently active connections.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"dnsmasq"</literal></term>
<listitem>
<para>
Enable NetworkManager's dnsmasq integration. NetworkManager will
run dnsmasq as a local caching nameserver, using a "split DNS"
configuration if you are connected to a VPN, and then update
resolv.conf to point to the local nameserver.
- none:
Disable NetworkManager's DNS integration completely.
It will not touch your /etc/resolv.conf.
<literal>resolv.conf</literal> to point to the local nameserver.
</para>
<para>
It is possible to pass custom options to the dnsmasq instance by
adding them to files in the
<literal>/etc/NetworkManager/dnsmasq.d/</literal> directory.
</para>
<para>
When multiple upstream servers are available, dnsmasq will
initially contact them in parallel and then use the fastest to
respond, probing again other servers after some time. This
behavior can be modified passing the
<literal>all-servers</literal> or <literal>strict-order</literal>
options to dnsmasq (see the manual page for more details).
</para>
<para>
Note that this option causes NetworkManager to launch and manage
its own instance of the dnsmasq daemon, which is
<emphasis>not</emphasis> the same as setting
<literal>services.dnsmasq.enable = true;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>"unbound"</literal></term>
<listitem><para>
NetworkManager will talk to unbound and dnssec-triggerd,
providing a "split DNS" configuration with DNSSEC support.
<literal>/etc/resolv.conf</literal> will be managed by
dnssec-trigger daemon.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"systemd-resolved"</literal></term>
<listitem><para>
NetworkManager will push the DNS configuration to systemd-resolved.
</para></listitem>
</varlistentry>
<varlistentry>
<term><literal>"none"</literal></term>
<listitem><para>
NetworkManager will not modify resolv.conf.
</para></listitem>
</varlistentry>
</variablelist>
'';
};

View File

@ -938,9 +938,12 @@ in {
protection.
'';
hw_offload = mkYesNoParam no ''
hw_offload = mkEnumParam ["yes" "no" "auto"] "no" ''
Enable hardware offload for this CHILD_SA, if supported by the IPsec
implementation.
implementation. The value <literal>yes</literal> enforces offloading
and the installation will fail if it's not supported by either kernel or
device. The value <literal>auto</literal> enables offloading, if it's
supported, but the installation does not fail otherwise.
'';
start_action = mkEnumParam ["none" "trap" "start"] "none" ''

View File

@ -131,6 +131,9 @@ in
};
};
# If networkmanager is enabled, ask it to interface with unbound.
networking.networkmanager.dns = "unbound";
};
}

View File

@ -47,7 +47,7 @@ in
};
# ZeroTier does not issue DHCP leases, but some strangers might...
networking.dhcpcd.denyInterfaces = [ "zt0" ];
networking.dhcpcd.denyInterfaces = [ "zt*" ];
# ZeroTier receives UDP transmissions on port 9993 by default
networking.firewall.allowedUDPPorts = [ 9993 ];

View File

@ -100,6 +100,7 @@ in
# Don't restart dbus-daemon. Bad things tend to happen if we do.
reloadIfChanged = true;
restartTriggers = [ configDir ];
environment = { LD_LIBRARY_PATH = config.system.nssModules.path; };
};
systemd.user = {

View File

@ -76,6 +76,8 @@ let
define('SMTP_FROM_NAME', '${escape ["'" "\\"] cfg.email.fromName}');
define('SMTP_FROM_ADDRESS', '${escape ["'" "\\"] cfg.email.fromAddress}');
define('DIGEST_SUBJECT', '${escape ["'" "\\"] cfg.email.digestSubject}');
${cfg.extraConfig}
'';
in {
@ -431,6 +433,26 @@ let
'';
};
pluginPackages = mkOption {
type = types.listOf types.package;
default = [];
description = ''
List of plugins to install. The list elements are expected to
be derivations. All elements in this derivation are automatically
copied to the <literal>plugins.local</literal> directory.
'';
};
themePackages = mkOption {
type = types.listOf types.package;
default = [];
description = ''
List of themes to install. The list elements are expected to
be derivations. All elements in this derivation are automatically
copied to the <literal>themes.local</literal> directory.
'';
};
logDestination = mkOption {
type = types.enum ["" "sql" "syslog"];
default = "sql";
@ -441,6 +463,14 @@ let
error.log).
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Additional lines to append to <literal>config.php</literal>.
'';
};
};
};
@ -517,6 +547,16 @@ let
rm -rf "${cfg.root}/*"
mkdir -m 755 -p "${cfg.root}"
cp -r "${pkgs.tt-rss}/"* "${cfg.root}"
${optionalString (cfg.pluginPackages != []) ''
for plugin in ${concatStringsSep " " cfg.pluginPackages}; do
cp -r "$plugin"/* "${cfg.root}/plugins.local/"
done
''}
${optionalString (cfg.themePackages != []) ''
for theme in ${concatStringsSep " " cfg.themePackages}; do
cp -r "$theme"/* "${cfg.root}/themes.local/"
done
''}
ln -sf "${tt-rss-config}" "${cfg.root}/config.php"
chown -R "${cfg.user}" "${cfg.root}"
chmod -R 755 "${cfg.root}"

View File

@ -0,0 +1,72 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.virtlyst;
stateDir = "/var/lib/virtlyst";
ini = pkgs.writeText "virtlyst-config.ini" ''
[wsgi]
master = true
threads = auto
http-socket = ${cfg.httpSocket}
application = ${pkgs.virtlyst}/lib/libVirtlyst.so
chdir2 = ${stateDir}
static-map = /static=${pkgs.virtlyst}/root/static
[Cutelyst]
production = true
DatabasePath = virtlyst.sqlite
TemplatePath = ${pkgs.virtlyst}/root/src
[Rules]
cutelyst.* = true
virtlyst.* = true
'';
in
{
options.services.virtlyst = {
enable = mkEnableOption "Virtlyst libvirt web interface";
adminPassword = mkOption {
type = types.str;
description = ''
Initial admin password with which the database will be seeded.
'';
};
httpSocket = mkOption {
type = types.str;
default = "localhost:3000";
description = ''
IP and/or port to which to bind the http socket.
'';
};
};
config = mkIf cfg.enable {
users.extraUsers.virtlyst = {
home = stateDir;
createHome = true;
group = mkIf config.virtualisation.libvirtd.enable "libvirtd";
};
systemd.services.virtlyst = {
wantedBy = [ "multi-user.target" ];
environment = {
VIRTLYST_ADMIN_PASSWORD = cfg.adminPassword;
};
serviceConfig = {
ExecStart = "${pkgs.cutelyst}/bin/cutelyst-wsgi2 --ini ${ini}";
User = "virtlyst";
WorkingDirectory = stateDir;
};
};
};
}

View File

@ -4,8 +4,15 @@ with lib;
let
cfg = config.services.lighttpd.cgit;
pathPrefix = if stringLength cfg.subdir == 0 then "" else "/" + cfg.subdir;
configFile = pkgs.writeText "cgitrc"
''
# default paths to static assets
css=${pathPrefix}/cgit.css
logo=${pathPrefix}/cgit.png
favicon=${pathPrefix}/favicon.ico
# user configuration
${cfg.configText}
'';
in
@ -18,8 +25,17 @@ in
type = types.bool;
description = ''
If true, enable cgit (fast web interface for git repositories) as a
sub-service in lighttpd. cgit will be accessible at
http://yourserver/cgit
sub-service in lighttpd.
'';
};
subdir = mkOption {
default = "cgit";
example = "";
type = types.str;
description = ''
The subdirectory in which to serve cgit. The web application will be
accessible at http://yourserver/''${subdir}
'';
};
@ -48,14 +64,14 @@ in
services.lighttpd.enableModules = [ "mod_cgi" "mod_alias" "mod_setenv" ];
services.lighttpd.extraConfig = ''
$HTTP["url"] =~ "^/cgit" {
$HTTP["url"] =~ "^/${cfg.subdir}" {
cgi.assign = (
"cgit.cgi" => "${pkgs.cgit}/cgit/cgit.cgi"
)
alias.url = (
"/cgit.css" => "${pkgs.cgit}/cgit/cgit.css",
"/cgit.png" => "${pkgs.cgit}/cgit/cgit.png",
"/cgit" => "${pkgs.cgit}/cgit/cgit.cgi"
"${pathPrefix}/cgit.css" => "${pkgs.cgit}/cgit/cgit.css",
"${pathPrefix}/cgit.png" => "${pkgs.cgit}/cgit/cgit.png",
"${pathPrefix}" => "${pkgs.cgit}/cgit/cgit.cgi"
)
setenv.add-environment = (
"CGIT_CONFIG" => "${configFile}"

View File

@ -147,6 +147,8 @@ in
${config.services.resolved.extraConfig}
'';
# If networkmanager is enabled, ask it to interface with resolved.
networking.networkmanager.dns = "systemd-resolved";
};
}

View File

@ -171,8 +171,12 @@ in
default = config.boot.zfs.enableUnstable;
description = ''
Request encryption keys or passwords for all encrypted datasets on import.
Dataset encryption is only supported in zfsUnstable at the moment.
For root pools the encryption key can be supplied via both an
interactive prompt (keylocation=prompt) and from a file
(keylocation=file://). Note that for data pools the encryption key can
be only loaded from a file and not via interactive prompt since the
import is processed in a background systemd service.
'';
};
@ -394,6 +398,7 @@ in
script = ''
zpool_cmd="${packages.zfsUser}/sbin/zpool"
("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -d ${cfgZfs.devNodes} -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}"
${optionalString cfgZfs.requestEncryptionCredentials "\"${packages.zfsUser}/sbin/zfs\" load-key -r \"${pool}\""}
'';
};

View File

@ -364,6 +364,7 @@ in rec {
tests.nsd = callTest tests/nsd.nix {};
tests.openssh = callTest tests/openssh.nix {};
tests.openldap = callTest tests/openldap.nix {};
tests.opensmtpd = callTest tests/opensmtpd.nix {};
tests.owncloud = callTest tests/owncloud.nix {};
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
tests.peerflix = callTest tests/peerflix.nix {};

115
nixos/tests/opensmtpd.nix Normal file
View File

@ -0,0 +1,115 @@
import ./make-test.nix {
name = "opensmtpd";
nodes = {
smtp1 = { pkgs, ... }: {
imports = [ common/user-account.nix ];
networking = {
firewall.allowedTCPPorts = [ 25 ];
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.1"; prefixLength = 24; }
];
};
environment.systemPackages = [ pkgs.opensmtpd ];
services.opensmtpd = {
enable = true;
extraServerArgs = [ "-v" ];
serverConfiguration = ''
listen on 0.0.0.0
# DO NOT DO THIS IN PRODUCTION!
# Setting up authentication requires a certificate which is painful in
# a test environment, but THIS WOULD BE DANGEROUS OUTSIDE OF A
# WELL-CONTROLLED ENVIRONMENT!
accept from any for any relay
'';
};
};
smtp2 = { pkgs, ... }: {
imports = [ common/user-account.nix ];
networking = {
firewall.allowedTCPPorts = [ 25 143 ];
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.2"; prefixLength = 24; }
];
};
environment.systemPackages = [ pkgs.opensmtpd ];
services.opensmtpd = {
enable = true;
extraServerArgs = [ "-v" ];
serverConfiguration = ''
listen on 0.0.0.0
accept from any for local deliver to mda \
"${pkgs.dovecot}/libexec/dovecot/deliver -d %{user.username}"
'';
};
services.dovecot2 = {
enable = true;
enableImap = true;
mailLocation = "maildir:~/mail";
protocols = [ "imap" ];
};
};
client = { pkgs, ... }: {
networking = {
useDHCP = false;
interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
{ address = "192.168.1.3"; prefixLength = 24; }
];
};
environment.systemPackages = let
sendTestMail = pkgs.writeScriptBin "send-a-test-mail" ''
#!${pkgs.python3.interpreter}
import smtplib, sys
with smtplib.SMTP('192.168.1.1') as smtp:
smtp.sendmail('alice@[192.168.1.1]', 'bob@[192.168.1.2]', """
From: alice@smtp1
To: bob@smtp2
Subject: Test
Hello World
""")
'';
checkMailLanded = pkgs.writeScriptBin "check-mail-landed" ''
#!${pkgs.python3.interpreter}
import imaplib
with imaplib.IMAP4('192.168.1.2', 143) as imap:
imap.login('bob', 'foobar')
imap.select()
status, refs = imap.search(None, 'ALL')
assert status == 'OK'
assert len(refs) == 1
status, msg = imap.fetch(refs[0], 'BODY[TEXT]')
assert status == 'OK'
content = msg[0][1]
print("===> content:", content)
split = content.split(b'\r\n')
print("===> split:", split)
lastline = split[-3]
print("===> lastline:", lastline)
assert lastline.strip() == b'Hello World'
'';
in [ sendTestMail checkMailLanded ];
};
};
testScript = ''
startAll;
$client->waitForUnit("network.target");
$smtp1->waitForUnit('opensmtpd');
$smtp2->waitForUnit('opensmtpd');
$smtp2->waitForUnit('dovecot2');
$client->succeed('send-a-test-mail');
$smtp1->waitUntilFails('smtpctl show queue | egrep .');
$smtp2->waitUntilFails('smtpctl show queue | egrep .');
$client->succeed('check-mail-landed >&2');
'';
}

View File

@ -0,0 +1,47 @@
{ stdenv, fetchpatch, python3, pkgconfig, which, libtool, autoconf, automake,
autogen, git, sqlite, gmp, zlib, fetchFromGitHub }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "clightning-${version}";
version = "0.6";
src = fetchFromGitHub {
fetchSubmodules = true;
owner = "ElementsProject";
repo = "lightning";
rev = "v${version}";
sha256 = "1xbi8c7kn21wj255fxnb9s0sqnzbn3wsz4p96z084k8mw1nc71vn";
};
enableParallelBuilding = true;
buildInputs = [ which sqlite gmp zlib autoconf libtool automake autogen python3 pkgconfig ];
makeFlags = [ "prefix=$(out)" ];
configurePhase = ''
./configure --prefix=$out --disable-developer --disable-valgrind
'';
postPatch = ''
echo "" > tools/refresh-submodules.sh
patchShebangs tools/generate-wire.py
'';
doCheck = false;
meta = {
description = "A Bitcoin Lightning Network implementation in C";
longDescription= ''
c-lightning is a standard compliant implementation of the Lightning
Network protocol. The Lightning Network is a scalability solution for
Bitcoin, enabling secure and instant transfer of funds between any two
parties for any amount.
'';
homepage = https://github.com/ElementsProject/lightning;
maintainers = with maintainers; [ jb55 ];
license = licenses.mit;
platforms = platforms.linux;
};
}

View File

@ -6,6 +6,7 @@ rec {
bitcoin = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
clightning = callPackage ./clightning.nix { };
bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; };
bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; };

View File

@ -5,7 +5,7 @@
name = "mma-${version}";
src = fetchurl {
url = "http://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
sha256 = "1g4gvc0nr0qjc0fyqrnx037zpaasgymgmrm5s7cdxqnld9wqw8ww";
};

View File

@ -8,7 +8,7 @@ in
stdenv.mkDerivation {
name = "abcde-${version}";
src = fetchurl {
url = "http://abcde.einval.com/download/abcde-${version}.tar.gz";
url = "https://abcde.einval.com/download/abcde-${version}.tar.gz";
sha256 = "0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774";
};

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
version = "0.9.5";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
sha256 = "0wfp8ihldyq2dhdyy7ld7z0zzfvnwam1dvbxnpd9d6xgc4k3j4nv";
};

View File

@ -0,0 +1,42 @@
{ mkDerivation, fetchgit, lib
, extra-cmake-modules, kdoctools
, qca-qt5, qjson, qtquickcontrols2, qtscript, qtwebengine
, karchive, kcmutils, kconfig, kdnssd, kguiaddons, kinit, kirigami2, knewstuff, knotifyconfig, ktexteditor, kwindowsystem
, fftw, phonon, plasma-framework, threadweaver
, curl, ffmpeg, gdk_pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mysql57, pcre, snappy, taglib, taglib_extras
}:
let
pname = "amarok";
version = "2.9.0-20180618";
in mkDerivation {
name = "${pname}-${version}";
src = fetchgit {
# master has the Qt5 version as of April 2018 but a formal release has not
# yet been made so change this back to the proper upstream when such a
# release is out
url = git://anongit.kde.org/amarok.git;
# url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
rev = "5d43efa454b6a6c9c833a6f3d7f8ff3cae738c96";
sha256 = "0fyrbgldg4wbb2darm4aav5fpzbacxzfjrdqwkhv9xr13j7zsvm3";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
qca-qt5 qjson qtquickcontrols2 qtscript qtwebengine
karchive kcmutils kconfig kdnssd kguiaddons kinit kirigami2 knewstuff knotifyconfig ktexteditor kwindowsystem
phonon plasma-framework threadweaver
curl fftw ffmpeg gdk_pixbuf libaio libmtp loudmouth lz4 lzo mysql57.server mysql57.server.static
pcre snappy taglib taglib_extras
];
enableParallelBuilding = true;
meta = with lib; {
license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg ];
};
}

View File

@ -1,40 +0,0 @@
{ mkDerivation, fetchgit, lib
, extra-cmake-modules, kdoctools
, qca-qt5, qjson, qtscript, qtwebkit
, kcmutils, kconfig, kdelibs4support, kdnssd, kinit, knewstuff, knotifyconfig, ktexteditor
, phonon, plasma-framework, threadweaver
, curl, ffmpeg, gdk_pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mysql57, pcre, snappy, taglib, taglib_extras
}:
let
pname = "amarok";
version = "2.8.91-20170228";
in mkDerivation {
name = "${pname}-${version}";
src = fetchgit {
url = git://anongit.kde.org/amarok.git;
# go back to the KDE mirror when kf5 is merged into master
# url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
rev = "323e2d5b43245c4c06e0b83385d37ef0d32920cb";
sha256 = "05w7kl6qfmkjz0y1bhgkkbmsqdll30bkjd6npkzvivrvp7dplmbh";
};
patches = [ ./qt5_11.patch ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
qca-qt5 qjson qtscript qtwebkit
kcmutils kconfig kdelibs4support kdnssd kinit knewstuff knotifyconfig ktexteditor
phonon plasma-framework threadweaver
curl ffmpeg gdk_pixbuf libaio libmtp loudmouth lz4 lzo mysql57.server mysql57.server.static
pcre snappy taglib taglib_extras
];
enableParallelBuilding = true;
meta = with lib; {
license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg ];
};
}

View File

@ -1,11 +0,0 @@
--- a/src/aboutdialog/ExtendedAboutDialog.cpp
+++ b/src/aboutdialog/ExtendedAboutDialog.cpp
@@ -30,6 +30,7 @@
#include <QLayout>
#include <QPushButton>
#include <QScrollBar>
+#include <QStyle>
#include <QTabWidget>
#include <qapplication.h>

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
version = "3.9";
src = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2";
url = "https://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2";
sha256 = "0dc7fg0v2l2j4h9cz1baz7rf4n0a5jgk09qvsj806sh6jp7w6ipm";
};

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
version = "2.6.2";
src = fetchurl {
url = "http://ftp.gnome.org/pub/GNOME/sources/banshee/2.6/banshee-${version}.tar.xz";
url = "https://ftp.gnome.org/pub/GNOME/sources/banshee/2.6/banshee-${version}.tar.xz";
sha256 = "1y30p8wxx5li39i5gpq2wib0ympy8llz0gyi6ri9bp730ndhhz7p";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "beast-0.7.1";
src = fetchurl {
url = "http://ftp.gtk.org/pub/beast/v0.7/${name}.tar.bz2";
url = "https://ftp.gtk.org/pub/beast/v0.7/${name}.tar.bz2";
sha256 = "0jyl1i1918rsn4296w07fsf6wx3clvad522m3bzgf8ms7gxivg5l";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "1.2";
src = fetchurl {
url = "http://devel.tlrmx.org/audio/source/${name}.tar.gz";
url = "https://devel.tlrmx.org/audio/source/${name}.tar.gz";
sha256 = "09ck2gxqky701dc1p0ip61rrn16v0pdc7ih2hc2sd63zcw53g2a7";
};

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
version = "0.90.0";
src = fetchurl {
url = "http://calf-studio-gear.org/files/${name}.tar.gz";
url = "https://calf-studio-gear.org/files/${name}.tar.gz";
sha256 = "0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib";
};

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
'';
meta = {
homepage = http://xiph.org/paranoia;
homepage = https://xiph.org/paranoia;
description = "A tool and library for reading digital audio from CDs";
platforms = stdenv.lib.platforms.unix;
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "deadbeef-mpris2-plugin-${version}";
version = "1.10";
version = "1.11";
src = fetchurl {
url = "https://github.com/Serranya/deadbeef-mpris2-plugin/releases/download/v${version}/${name}.tar.xz";
sha256 = "083fbvi06y85khr8hdm4rl5alxdanjbbyphizyr4hi93d7a0jg75";
sha256 = "1j631z34rwxf6wdjpsf8c2f1saq6qas1qmkgsg63m6zzpwqyizw0";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
version = "2.2.0";
src = fetchurl {
url = "http://ftp.gnu.org/gnu/denemo/denemo-${version}.tar.gz";
url = "https://ftp.gnu.org/gnu/denemo/denemo-${version}.tar.gz";
sha256 = "18zcs4xmfj4vpzi15dj7k5bjzzzlr3sjf9xhrrgy4samrrdpqzfh";
};

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
name = "drumgizmo-${version}";
src = fetchurl {
url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
url = "https://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
sha256 = "1q2jghjz0ygaja8dgvxp914if8yyzpa204amdcwb9yyinpxsahz4";
};

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
version = "2.9.1";
src = fetchurl {
url = "http://ecasound.seul.org/download/ecasound-${version}.tar.gz";
url = "https://ecasound.seul.org/download/ecasound-${version}.tar.gz";
sha256 = "1wyws3xc4f9pglrrqv6k9137sarv4asizqrxz8h0dn44rnzfiz1r";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "1.0.0";
src = fetchurl {
url = "http://download.drobilla.net/${name}.tar.bz2";
url = "https://download.drobilla.net/${name}.tar.bz2";
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
};

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
version = "1.1.0";
src = fetchurl {
url = "http://download.linuxsampler.org/packages/${name}.tar.bz2";
url = "https://download.linuxsampler.org/packages/${name}.tar.bz2";
sha256 = "087pc919q28r1vw31c7w4m14bqnp4md1i2wbmk8w0vmwv2cbx2ni";
};

View File

@ -12,11 +12,11 @@ in
stdenv.mkDerivation rec {
name = "guitarix-${version}";
version = "0.37.0";
version = "0.37.1";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
sha256 = "17dsd32yd92l7xq1x0b8jsws5yif2pk4zbfjbc560hgarym6r8x6";
sha256 = "064k0jzxqgx9gwf8za6jziansabzrwzjaim3qx1743ify5g3gaai";
};
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "0.8.4";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
sha256 = "0jyll4rkb6vja2widc340ww078rr24c6nmxbxdqvbxw409nccd01";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "0.9.73";
src = fetchurl {
url = "http://archive.notam02.no/arkiv/src/${name}.tar.gz";
url = "https://archive.notam02.no/arkiv/src/${name}.tar.gz";
sha256 = "1pji0zdwm3kxjrkbzj7fnxhr8ncrc8pyqnwyrh47fhypgqjv1br1";
};

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
version = "1.6.0";
src = fetchurl {
url = "http://download.drobilla.net/${name}.tar.bz2";
url = "https://download.drobilla.net/${name}.tar.bz2";
sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "japa-${version}";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
sha256 = "1jhj7s4vqk5c4lchdall0kslvj5sh91902hhfjvs6r3a5nrhwcp0";
};

View File

@ -3,7 +3,7 @@ stdenv.mkDerivation rec {
name = "ladspa-sdk-${version}";
version = "1.13";
src = fetchurl {
url = "http://www.ladspa.org/download/ladspa_sdk_${version}.tgz";
url = "https://www.ladspa.org/download/ladspa_sdk_${version}.tgz";
sha256 = "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm";
};

View File

@ -3,7 +3,7 @@ stdenv.mkDerivation rec {
name = "ladspa.h-${version}";
version = "1.13";
src = fetchurl {
url = "http://www.ladspa.org/download/ladspa_sdk_${version}.tgz";
url = "https://www.ladspa.org/download/ladspa_sdk_${version}.tgz";
sha256 = "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm";
};

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
version = "2.1.0";
src = fetchurl {
url = "http://download.linuxsampler.org/packages/${name}.tar.bz2";
url = "https://download.linuxsampler.org/packages/${name}.tar.bz2";
sha256 = "0fdxpw7jjfi058l95131d6d8538h05z7n94l60i6mhp9xbplj2jf";
};

View File

@ -3,18 +3,20 @@
, python36Packages, gnome3, glib, gst_all_1 }:
stdenv.mkDerivation rec {
version = "0.9.514";
version = "0.9.516";
name = "lollypop-${version}";
src = fetchgit {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "0ny8c5apldhhrcjl3wz01pbyjvf60b7xy39mpvbshvdpnqlnqsca";
sha256 = "0ln77cmcl5wi4xis9kmzg0knbykzwsd1n78rr7ff5y35m9p2zgrf";
};
nativeBuildInputs = with python36Packages; [
appstream-glib
desktop-file-utils
gobjectIntrospection
meson
ninja
pkgconfig
@ -22,9 +24,7 @@ stdenv.mkDerivation rec {
wrapPython
];
buildInputs = [
appstream-glib glib gobjectIntrospection
] ++ (with gnome3; [
buildInputs = [ glib ] ++ (with gnome3; [
easytag gsettings_desktop_schemas gtk3 libsecret libsoup totem-pl-parser
]) ++ (with gst_all_1; [
gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "1.2.2";
src = fetchurl {
url = "http://download.drobilla.net/${name}.tar.bz2";
url = "https://download.drobilla.net/${name}.tar.bz2";
sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
};

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
version = "2.0.0";
src = fetchurl {
url = "http://downloads.mixxx.org/${name}/${name}-src.tar.gz";
url = "https://downloads.mixxx.org/${name}/${name}-src.tar.gz";
sha256 = "0vb71w1yq0xwwsclrn2jj9bk8w4n14rfv5c0aw46c11mp8xz7f71";
};

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
patches = [ ./buildfix.diff ];
src = fetchurl {
url = "http://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz";
url = "https://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz";
sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz";
};

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Iris";
version = "3.21.1";
version = "3.21.3";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "10d97rkqk5qbrninrahn0gr90yd47ivw2zafb24sp7a2g0mm07md";
sha256 = "0gp51zz5qr93w0h14m1blmjnlgmilyb15lw2m75varslw1ar7vlg";
};
propagatedBuildInputs = [

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "nova-filters-${version}";
src = fetchurl {
url = http://klingt.org/~tim/nova-filters/nova-filters_0.2-2.tar.gz;
url = https://klingt.org/~tim/nova-filters/nova-filters_0.2-2.tar.gz;
sha256 = "16064vvl2w5lz4xi3lyjk4xx7fphwsxc14ajykvndiz170q32s6i";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "paprefs-0.9.10";
src = fetchurl {
url = "http://freedesktop.org/software/pulseaudio/paprefs/${name}.tar.xz";
url = "https://freedesktop.org/software/pulseaudio/paprefs/${name}.tar.xz";
sha256 = "1c5b3sb881szavly220q31g7rvpn94wr7ywlk00hqb9zaikml716";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "pavucontrol-3.0";
src = fetchurl {
url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
url = "https://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
sha256 = "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk";
};

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "helmholtz";
src = fetchurl {
url = "http://www.katjaas.nl/helmholtz/helmholtz~.zip";
url = "https://www.katjaas.nl/helmholtz/helmholtz~.zip";
name = "helmholtz.zip";
curlOpts = "--user-agent ''";
sha256 = "0h1fj7lmvq9j6rmw33rb8k0byxb898bi2xhcwkqalb84avhywgvs";

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "20160130";
src = fetchurl {
url = "http://www.chnry.net/data/puremapping-${version}-generic.zip";
url = "https://www.chnry.net/data/puremapping-${version}-generic.zip";
name = "puremapping";
sha256 = "1h7qgqd8srrxw2y1rkdw5js4k6f5vc8x6nlm2mq9mq9vjck7n1j7";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "2.2.4";
src = fetchurl {
url = "http://puredata.info/downloads/zexy/releases/${version}/${name}.tar.gz";
url = "https://puredata.info/downloads/zexy/releases/${version}/${name}.tar.gz";
sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp";
};

View File

@ -27,17 +27,6 @@ python2Packages.buildPythonApplication rec {
doCheck = false; # there are no tests
dontStrip = true; # we are not generating any binaries
installPhase = ''
runHook preInstall
siteDir=$(toPythonPath $out)
mkdir -p $siteDir
PYTHONPATH=$PYTHONPATH:$siteDir
${python2Packages.python.interpreter} setup.py install --prefix $out
runHook postInstall
'';
meta = with stdenv.lib; {
homepage = https://puddletag.net;
description = "An audio tag editor similar to the Windows program, Mp3tag";

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
if stdenv.system == "x86_64-linux" then
if builtins.isNull releasePath then
fetchurl {
url = "http://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2";
url = "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2";
sha256 = "0pan68fr22xbj7a930y29527vpry3f07q3i9ya4fp6g7aawffsga";
}
else

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation (rec {
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://www.rosegardenmusic.com/;
homepage = https://www.rosegardenmusic.com/;
description = "Music composition and editing environment";
longDescription = ''
Rosegarden is a music composition and editing environment based around

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
version = "2.4.1";
src = fetchurl {
url = "http://code.soundsoftware.ac.uk/attachments/download/1185/${name}.tar.gz";
url = "https://code.soundsoftware.ac.uk/attachments/download/1185/${name}.tar.gz";
sha256 = "06nlha70kgrby16nyhngrv5q846xagnxdinv608v7ga7vpywwmyb";
};

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
version = "0.8.2";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
sha256 = "17y3vbm5f6h5cmh3yfxjgqz4xhfwpkla3lqfspnbm4ndlzmfpykv";
};

View File

@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
homepage = http://tomahawk-player.org/;
license = licenses.gpl3Plus;
platforms = platforms.all;
broken = true; # 2018-06-25
};
}

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation {
A set of command-line tools to manipulate Ogg Vorbis audio
files, notably the `ogg123' player and the `oggenc' encoder.
'';
homepage = http://xiph.org/vorbis/;
homepage = https://xiph.org/vorbis/;
license = licenses.gpl2;
platforms = platforms.all;
};

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
name = "x42-plugins-${version}";
src = fetchurl {
url = "http://gareus.org/misc/x42-plugins/${name}.tar.xz";
url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz";
sha256 = "167ly9nxqq3g0j35i9jv9rvd8qp4i9ncfcjxmg972cp6q8ak8mdl";
};

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ cmake mpd_clientlib openssl ];
meta = {
homepage = http://www.ympd.org;
homepage = https://www.ympd.org;
description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
maintainers = [ stdenv.lib.maintainers.siddharthist ];
platforms = stdenv.lib.platforms.unix;

View File

@ -13,9 +13,9 @@ let
sha256Hash = "196yaswbxh2nd83gimjxr8ggr5xkdxq7n3xlh6ax73v59pj4hryq";
};
latestVersion = {
version = "3.2.0.18"; # "Android Studio 3.2 Beta 1"
build = "181.4847800";
sha256Hash = "1ipdvrx3qxwygq72jlf0dl4haxviscl41q18kclg519r1zbzd4cw";
version = "3.3.0.0"; # "Android Studio 3.3 Canary 1"
build = "181.4861037";
sha256Hash = "1abilixr386x65qzgp6pwdn41y1xi9h8yihgxhc1c97n90f5gab8";
};
in rec {
# Old alias
@ -43,6 +43,9 @@ in rec {
beta = mkStudio (latestVersion // {
pname = "android-studio-preview";
#pname = "android-studio-beta"; # TODO: Rename and provide symlink
version = "3.2.0.19"; # "Android Studio 3.2 Beta 2"
build = "181.4860949";
sha256Hash = "1v1h42xp2fxj8366q9l9b0shk0y1vz9kny0rf7y48kyr5h9glnwr";
meta = stable.meta // {
description = "The Official IDE for Android (beta channel)";

View File

@ -36,7 +36,7 @@ let
--set-rpath "${atomEnv.libPath}" \
$share/resources/app/apm/bin/node
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/share/atom/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux
$share/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux
dugite=$share/resources/app.asar.unpacked/node_modules/dugite
rm -f $dugite/git/bin/git

View File

@ -96,7 +96,7 @@ rec {
### Eclipse Platform
eclipse-platform = eclipse-platform-47; # always point to latest
eclipse-platform = eclipse-platform-48; # always point to latest
eclipse-platform-46 = buildEclipse {
name = "eclipse-platform-4.6.2";
@ -128,6 +128,21 @@ rec {
};
};
eclipse-platform-48 = buildEclipse {
name = "eclipse-platform-4.8";
description = "Eclipse Platform Photon";
sources = {
"x86_64-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-platform-4.8-linux-gtk-x86_64.tar.gz;
sha512 = "ccce2b954938479e42ef3f9b78f74b24ae4cae7499546fa4f9a55ec1849e1acfd06315d4529b11474a8b3d1142c9409c581edfa571baaf1342ab062f02467af2";
};
"i686-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-platform-4.8-linux-gtk.tar.gz;
sha512 = "f5f407727e22b848931cf38f71b1a0c30a9778aa227c3df137dcceec2fba2ecc309cbfa8b4a660b814d2edb60f65110381497b4325781cab4d6402784139e32b";
};
};
};
### Eclipse Scala SDK
eclipse-scala-sdk = eclipse-scala-sdk-441; # always point to latest
@ -150,7 +165,7 @@ rec {
### Eclipse SDK
eclipse-sdk = eclipse-sdk-47; # always point to latest
eclipse-sdk = eclipse-sdk-48; # always point to latest
eclipse-sdk-46 = buildEclipse {
name = "eclipse-sdk-4.6.2";
@ -182,6 +197,21 @@ rec {
};
};
eclipse-sdk-48 = buildEclipse {
name = "eclipse-sdk-4.8";
description = "Eclipse Photon Classic";
sources = {
"x86_64-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk-x86_64.tar.gz;
sha512 = "357ea9e7f426c68ced693f1c7b76eae23f9e3c7893de1f12d17994ec17b447896b5daa7292d5fbf6d9c4e5b7fd637ca5b2a6ba8ce40a2a7c2fe06f2124d31b75";
};
"i686-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk.tar.gz;
sha512 = "c7cae7baa3978d48477090bb9941e85b4c7484021ece9c5c77a7e859e57e5c1f13556262f92b561cfb11f828b934bad7a6018be7b8fd9454e3991e8d5cae9917";
};
};
};
eclipse-sdk-37 = buildEclipse {
name = "eclipse-sdk-3.7";
description = "Eclipse Classic";

View File

@ -470,12 +470,12 @@ rec {
jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}";
version = "4.7.3a";
version = "4.8";
src = fetchzip {
stripRoot = false;
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/org.eclipse.jdt-4.7.3a.zip;
sha256 = "10dndhqz894xf79zz07dlmkn7k33mn42nbmycr78xz6d2jy8cscx";
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/org.eclipse.jdt-4.8.zip;
sha256 = "1my0d1114mx5gzxmwqlx0rcny39ly97ixlwx53ljk6qcryhdnr88";
};
meta = with stdenv.lib; {

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = {
description = "An Emacs mode for editing Scala code";
homepage = http://www.scala-lang.org/node/354;
homepage = https://www.scala-lang.org/node/354;
# non-copyleft, BSD-style
license = "permissive";

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
name = "geany-${version}";
src = fetchurl {
url = "http://download.geany.org/${name}.tar.bz2";
url = "https://download.geany.org/${name}.tar.bz2";
sha256 = "66baaff43f12caebcf0efec9a5533044dc52837f799c73a1fd7312caa86099c2";
};

View File

@ -0,0 +1,47 @@
{ stdenv, fetchurl, wrapGAppsHook
, tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
let
version = "3.28.1";
pname = "gnome-latex";
in stdenv.mkDerivation {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1z481izrx057wraphnr82kxnpmmi8nvl7jswyylzm22kfs0mw402";
};
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
configureFlags = ["--disable-dconf-migration"];
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
itstool
intltool
];
buildInputs = with gnome3; [
amtk
defaultIconTheme
glib
gsettings-desktop-schemas
gspell
gtksourceview4
libgee
libxml2
tepl
];
doCheck = true;
passthru.updateScript = gnome3.updateScript { packageName = pname; };
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/GNOME-LaTeX;
description = "A LaTeX editor for the GNOME desktop";
maintainers = [ maintainers.manveru ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
urls = [
"https://www.mirbsd.org/MirOS/dist/jupp/${srcName}.tgz"
"http://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz" ];
"https://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz" ];
sha256 = "1fnf9jsd6p4jyybkhjjs328qx38ywy8w029ngc7j7kqp0ixn0l0s";
};

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
name = "monodevelop-${version}";
src = fetchurl {
url = "http://download.mono-project.com/sources/monodevelop/${name}.tar.bz2";
url = "https://download.mono-project.com/sources/monodevelop/${name}.tar.bz2";
sha256 = "0bim4bfv3zwijafl9g0cx3159zq43dlcv74mnyrda41j4p52w5ji";
};

View File

@ -20,11 +20,11 @@ let
in stdenv.mkDerivation rec {
name = "nano-${version}";
version = "2.9.7";
version = "2.9.8";
src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz";
sha256 = "1ga4sdk3ikx1ilggc6c77vyfpbmq3nrhg6svgglpf5sv60bv0jmn";
sha256 = "122lm0z97wk3mgnbn8m4d769d4j9rxyc9z7s89xd4gsdp8qsrpn2";
};
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;

View File

@ -15,7 +15,7 @@ in
stdenv.mkDerivation {
name = "netbeans-8.2";
src = fetchurl {
url = http://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101.zip;
url = https://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101.zip;
sha256 = "0j092qw7aqfc9vpnvr3ix1ii94p4ik6frcnw708iyv4s9crqi65d";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "4.0.5";
src = fetchurl {
url = http://www.scintilla.org/scite405.tgz;
url = https://www.scintilla.org/scite405.tgz;
sha256 = "0h16wk2986nkkhhdv5g4lxlcn02qwyja24x1r6vf02r1hf46b9q2";
};
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
homepage = http://www.scintilla.org/SciTE.html;
homepage = https://www.scintilla.org/SciTE.html;
description = "SCIntilla based Text Editor";
license = licenses.mit;
platforms = platforms.linux;

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "3.02";
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/tweak/${name}.tar.gz";
url = "https://www.chiark.greenend.org.uk/~sgtatham/tweak/${name}.tar.gz";
sha256 = "06js54pr5hwpwyxj77zs5s40n5aqvaw48dkj7rid2d47pyqijk2v";
};

View File

@ -3,18 +3,18 @@
stdenv.mkDerivation rec {
name = "typora-${version}";
version = "0.9.48";
version = "0.9.53";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
sha256 = "36a7c5f855306bcbe3364d12aca94c2f6d013a013e59b46f89df81496ec11800";
sha256 = "02k6x30l4mbjragqbq5rn663xbw3h4bxzgppfxqf5lwydswldklb";
}
else
fetchurl {
url = "https://www.typora.io/linux/typora_${version}_i386.deb";
sha256 = "7197c526918a791b15b701846f9f2f1747a5b8ceac77c4cba691ee6d74d07d1d";
sha256 = "1wyq1ri0wwdy7slbd9dwyrdynsaa644x44c815jl787sg4nhas6y";
}
;
@ -80,7 +80,6 @@ stdenv.mkDerivation rec {
wrapProgram $out/bin/typora \
"''${gappsWrapperArgs[@]}" \
--suffix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR" \
--prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share"
# Fix the desktop link

View File

@ -6,7 +6,7 @@
stdenv.mkDerivation {
name = "grass-7.2.2";
src = fetchurl {
url = http://grass.osgeo.org/grass72/source/grass-7.2.2.tar.gz;
url = https://grass.osgeo.org/grass72/source/grass-7.2.2.tar.gz;
sha256 = "0yzljbrxlqp4wbw08n1dvmm4vmwkg8glf1ff4xyh589r5ryb7gxv";
};

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
'';
src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2";
url = "https://qgis.org/downloads/${name}.tar.bz2";
sha256 = "0bm9sv268lc3v48zjypsjjs62xnyb7zabzrms4jsy020waz6sk9g";
};

View File

@ -3,6 +3,7 @@
, ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
, libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
, ocl-icd
}:
stdenv.mkDerivation rec {
@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
libsoup graphicsmagick json-glib openjpeg lua pugixml
colord colord-gtk libwebp libsecret gnome3.adwaita-icon-theme
osm-gps-map
osm-gps-map ocl-icd
];
cmakeFlags = [
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
# the wrappers:
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH ":" "$out/lib/darktable"
--prefix LD_LIBRARY_PATH ":" "$out/lib/darktable:${ocl-icd}/lib"
)
'';

View File

@ -6,11 +6,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "feh-${version}";
version = "2.26.3";
version = "2.26.4";
src = fetchurl {
url = "https://feh.finalrewind.org/${name}.tar.bz2";
sha256 = "08aagymgajcvciagwy2zdxhicvdfnjmd2xyx9bqjy7l1n16ydwrz";
sha256 = "15a7hjg7xwj1hsw3c5k18psvvmbqgn4g79qq03bsvibzl4kqakq7";
};
outputs = [ "out" "man" "doc" ];

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
version = "3.4.0";
src = fetchurl {
url = "http://ftp.gnome.org/pub/GNOME/sources/glabels/3.4/glabels-3.4.0.tar.xz";
url = "https://ftp.gnome.org/pub/GNOME/sources/glabels/3.4/glabels-3.4.0.tar.xz";
sha256 = "04345crf5yrhq6rlrymz630rxnm8yw41vx04hb6xn2nkjn9hf3nl";
};

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "gocr-0.51";
src = fetchurl {
url = "http://www-e.uni-magdeburg.de/jschulen/ocr/${name}.tar.gz";
url = "https://www-e.uni-magdeburg.de/jschulen/ocr/${name}.tar.gz";
sha256 = "14i6zi6q11h6d0qds2cpvgvhbxk5xaa027h8cd0wy1zblh7sxckf";
};

View File

@ -12,7 +12,7 @@ let
version = "150";
src = fetchurl {
url = "http://wsr.imagej.net/distros/cross-platform/ij150.zip";
url = "https://wsr.imagej.net/distros/cross-platform/ij150.zip";
sha256 = "97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b";
};
buildInputs = [ unzip makeWrapper ];

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "imlibsetroot-${version}";
version = "1.2";
src = fetchurl {
url = "http://robotmonkeys.net/wp-content/uploads/2010/03/imlibsetroot-12.tar.gz";
url = "https://robotmonkeys.net/wp-content/uploads/2010/03/imlibsetroot-12.tar.gz";
sha256 = "8c1b3b7c861e4d865883ec13a96b8e4ab22464a87d4e6c67255b17a88e3cfd1c";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "jpegoptim-${version}";
src = fetchurl {
url = "http://www.kokkonen.net/tjko/src/${name}.tar.gz";
url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz";
sha256 = "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8";
};

View File

@ -0,0 +1,40 @@
{ stdenv, fetchFromGitHub, python3Packages, libsForQt5, ghostscript }:
python3Packages.buildPythonApplication rec {
pname = "krop";
version = "0.5.0";
src = fetchFromGitHub {
owner = "arminstraub";
repo = pname;
rev = "v${version}";
sha256 = "0y8z9xr10wbzmi1dg1zpcsf3ihnxrnvlaf72821x3390s3qsnydf";
};
propagatedBuildInputs = with python3Packages; [
pyqt5
pypdf2
poppler-qt5
libsForQt5.poppler
ghostscript
];
# Disable checks because of interference with older Qt versions // xcb
doCheck = false;
meta = {
homepage = http://arminstraub.com/software/krop;
description = "Graphical tool to crop the pages of PDF files";
longDescription = ''
Krop is a tool that allows you to optimise your PDF files, and remove
sections of the page you do not want. A unique feature of krop, at least to my
knowledge, is its ability to automatically split pages into subpages to fit the
limited screensize of devices such as eReaders. This is particularly useful, if
your eReader does not support convenient scrolling. Krop also has a command line
interface.
'';
license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ leenaars ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation (rec {
name = "qiv-${version}";
src = fetchurl {
url = "http://spiegl.de/qiv/download/${name}.tgz";
url = "https://spiegl.de/qiv/download/${name}.tgz";
sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7";
};

View File

@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
url = "https://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
sha256 = "0xy5px96y1saq9l80vwvfn6anr2q42qlxdhm6ci2a0diwib5q9fd";
}
else throw "${name} is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";

View File

@ -6,7 +6,7 @@ assert (stdenv ? glibc);
stdenv.mkDerivation {
name = "seg3d-1.12_20090930";
src = fetchurl {
url = http://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
url = https://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";
};

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "zgv-${version}";
version = "5.9";
src = fetchurl {
url = "http://www.svgalib.org/rus/zgv/${name}.tar.gz";
url = "https://www.svgalib.org/rus/zgv/${name}.tar.gz";
sha256 = "1fk4i9x0cpnpn3llam0zy2pkmhlr2hy3iaxhxg07v9sizd4dircj";
};

View File

@ -1,4 +1,4 @@
{ stdenv, fetchzip, makeWrapper }:
{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
name = "1password-${version}";
@ -6,25 +6,24 @@ stdenv.mkDerivation rec {
src =
if stdenv.system == "i686-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_386_v${version}.zip";
sha256 = "0mv2m6rm6bdpca8vhyx213bg4kh06jl2sx8q7mnrp22c3f0yzh7f";
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
sha256 = "1yzzh1f6hx7vwdgzp0znsjarjiw4xqmmrkc5xwywgjpg81qqpl8c";
stripRoot = false;
}
else if stdenv.system == "x86_64-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_amd64_v${version}.zip";
sha256 = "016h5jcy6jic8j3mvlnpcig9jxs22vj71gh6rrap2q950bzi6fi1";
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
sha256 = "0dgj1zqmpdbnsz2v2j7nqm232cdgyp9wagc089dxi4hbzkmfcvzx";
stripRoot = false;
}
else if stdenv.system == "x86_64-darwin" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_darwin_amd64_v${version}.zip";
sha256 = "1l0bi0f6gd4q19wn3v409gj64wp51mr0xpb09da1fl33rl5fpszb";
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
sha256 = "116bvyfg38npdhlzaxan5y47cbw7jvj94q5w6v71kxsjzxk9l44a";
stripRoot = false;
}
else throw "Architecture not supported";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
install -D op $out/bin/op
'';

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