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 ### How to recover from GHC's infamous non-deterministic library ID bug
GHC and distributed build farms don't get along well: 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; doCheck = false;
meta = { meta = {
homepage = "http://github.com/pytoolz/toolz/"; homepage = "https://github.com/pytoolz/toolz/";
description = "List processing tools and functional utilities"; description = "List processing tools and functional utilities";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = with maintainers; [ fridh ]; maintainers = with maintainers; [ fridh ];
@ -245,7 +245,7 @@ with import <nixpkgs> {};
doCheck = false; doCheck = false;
meta = { meta = {
homepage = "http://github.com/pytoolz/toolz/"; homepage = "https://github.com/pytoolz/toolz/";
description = "List processing tools and functional utilities"; description = "List processing tools and functional utilities";
}; };
}; };

View File

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

View File

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

View File

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

View File

@ -1707,6 +1707,11 @@
github = "igsha"; github = "igsha";
name = "Igor Sharonov"; name = "Igor Sharonov";
}; };
iimog = {
email = "iimog@iimog.org";
github = "iimog";
name = "Markus J. Ankenbrand";
};
ikervagyok = { ikervagyok = {
email = "ikervagyok@gmail.com"; email = "ikervagyok@gmail.com";
github = "ikervagyok"; github = "ikervagyok";
@ -1717,6 +1722,16 @@
github = "ilya-kolpakov"; github = "ilya-kolpakov";
name = "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 = { infinisil = {
email = "infinisil@icloud.com"; email = "infinisil@icloud.com";
github = "infinisil"; github = "infinisil";
@ -3092,6 +3107,11 @@
github = "pmiddend"; github = "pmiddend";
name = "Philipp Middendorf"; name = "Philipp Middendorf";
}; };
pmyjavec = {
email = "pauly@myjavec.com";
github = "pmyjavec";
name = "Pauly Myjavec";
};
pneumaticat = { pneumaticat = {
email = "kevin@potatofrom.space"; email = "kevin@potatofrom.space";
github = "pneumaticat"; github = "pneumaticat";
@ -3871,6 +3891,11 @@
github = "timor"; github = "timor";
name = "timor"; name = "timor";
}; };
timput = {
email = "tim@timput.com";
github = "TimPut";
name = "Tim Put";
};
tiramiseb = { tiramiseb = {
email = "sebastien@maccagnoni.eu"; email = "sebastien@maccagnoni.eu";
github = "tiramiseb"; github = "tiramiseb";
@ -3906,6 +3931,11 @@
github = "tokudan"; github = "tokudan";
name = "Daniel Frank"; name = "Daniel Frank";
}; };
tomahna = {
email = "kevin.rauscher@tomahna.fr";
github = "Tomahna";
name = "Kevin Rauscher";
};
tomberek = { tomberek = {
email = "tomberek@gmail.com"; email = "tomberek@gmail.com";
github = "tomberek"; 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, <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 as shown above, and also (after running <literal>nixos-rebuild</literal>) the
input method must be added from IBus' preference dialog.</para> 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>
<section><title>Fcitx</title> <section><title>Fcitx</title>

View File

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

View File

@ -14,7 +14,15 @@ with lib;
Read the repository password from a file. Read the repository password from a file.
''; '';
example = "/etc/nixos/restic-password"; 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 { repository = mkOption {
@ -134,6 +142,8 @@ with lib;
Type = "oneshot"; Type = "oneshot";
ExecStart = "${resticCmd} backup ${concatStringsSep " " backup.extraBackupArgs} ${concatStringsSep " " backup.paths}"; ExecStart = "${resticCmd} backup ${concatStringsSep " " backup.extraBackupArgs} ${concatStringsSep " " backup.paths}";
User = backup.user; User = backup.user;
} // optionalAttrs (backup.s3CredentialsFile != null) {
EnvironmentFile = backup.s3CredentialsFile;
}; };
} // optionalAttrs backup.initialize { } // optionalAttrs backup.initialize {
preStart = '' 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. # /var/lib/misc is for dnsmasq.leases.
stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc"; 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" '' configFile = writeText "NetworkManager.conf" ''
[main] [main]
plugins=keyfile plugins=keyfile
dhcp=${cfg.dhcp} dhcp=${cfg.dhcp}
dns=${dns} dns=${cfg.dns}
[keyfile] [keyfile]
${optionalString (cfg.unmanaged != []) ${optionalString (cfg.unmanaged != [])
@ -217,19 +210,73 @@ in {
}; };
dns = mkOption { dns = mkOption {
type = types.enum [ "auto" "dnsmasq" "none" ]; type = types.enum [ "default" "dnsmasq" "unbound" "systemd-resolved" "none" ];
default = "auto"; default = "default";
description = '' description = ''
Set the DNS (<literal>resolv.conf</literal>) processing mode.
</para>
<para>
Options: Options:
- auto: Check for systemd-resolved, unbound, or use default. <variablelist>
- dnsmasq: <varlistentry>
Enable NetworkManager's dnsmasq integration. NetworkManager will run <term><literal>"default"</literal></term>
dnsmasq as a local caching nameserver, using a "split DNS" <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 configuration if you are connected to a VPN, and then update
resolv.conf to point to the local nameserver. <literal>resolv.conf</literal> to point to the local nameserver.
- none: </para>
Disable NetworkManager's DNS integration completely. <para>
It will not touch your /etc/resolv.conf. 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. protection.
''; '';
hw_offload = mkYesNoParam no '' hw_offload = mkEnumParam ["yes" "no" "auto"] "no" ''
Enable hardware offload for this CHILD_SA, if supported by the IPsec 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" '' 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... # 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 # ZeroTier receives UDP transmissions on port 9993 by default
networking.firewall.allowedUDPPorts = [ 9993 ]; networking.firewall.allowedUDPPorts = [ 9993 ];

View File

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

View File

@ -76,6 +76,8 @@ let
define('SMTP_FROM_NAME', '${escape ["'" "\\"] cfg.email.fromName}'); define('SMTP_FROM_NAME', '${escape ["'" "\\"] cfg.email.fromName}');
define('SMTP_FROM_ADDRESS', '${escape ["'" "\\"] cfg.email.fromAddress}'); define('SMTP_FROM_ADDRESS', '${escape ["'" "\\"] cfg.email.fromAddress}');
define('DIGEST_SUBJECT', '${escape ["'" "\\"] cfg.email.digestSubject}'); define('DIGEST_SUBJECT', '${escape ["'" "\\"] cfg.email.digestSubject}');
${cfg.extraConfig}
''; '';
in { 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 { logDestination = mkOption {
type = types.enum ["" "sql" "syslog"]; type = types.enum ["" "sql" "syslog"];
default = "sql"; default = "sql";
@ -441,6 +463,14 @@ let
error.log). 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}/*" rm -rf "${cfg.root}/*"
mkdir -m 755 -p "${cfg.root}" mkdir -m 755 -p "${cfg.root}"
cp -r "${pkgs.tt-rss}/"* "${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" ln -sf "${tt-rss-config}" "${cfg.root}/config.php"
chown -R "${cfg.user}" "${cfg.root}" chown -R "${cfg.user}" "${cfg.root}"
chmod -R 755 "${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 let
cfg = config.services.lighttpd.cgit; cfg = config.services.lighttpd.cgit;
pathPrefix = if stringLength cfg.subdir == 0 then "" else "/" + cfg.subdir;
configFile = pkgs.writeText "cgitrc" 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} ${cfg.configText}
''; '';
in in
@ -18,8 +25,17 @@ in
type = types.bool; type = types.bool;
description = '' description = ''
If true, enable cgit (fast web interface for git repositories) as a If true, enable cgit (fast web interface for git repositories) as a
sub-service in lighttpd. cgit will be accessible at sub-service in lighttpd.
http://yourserver/cgit '';
};
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.enableModules = [ "mod_cgi" "mod_alias" "mod_setenv" ];
services.lighttpd.extraConfig = '' services.lighttpd.extraConfig = ''
$HTTP["url"] =~ "^/cgit" { $HTTP["url"] =~ "^/${cfg.subdir}" {
cgi.assign = ( cgi.assign = (
"cgit.cgi" => "${pkgs.cgit}/cgit/cgit.cgi" "cgit.cgi" => "${pkgs.cgit}/cgit/cgit.cgi"
) )
alias.url = ( alias.url = (
"/cgit.css" => "${pkgs.cgit}/cgit/cgit.css", "${pathPrefix}/cgit.css" => "${pkgs.cgit}/cgit/cgit.css",
"/cgit.png" => "${pkgs.cgit}/cgit/cgit.png", "${pathPrefix}/cgit.png" => "${pkgs.cgit}/cgit/cgit.png",
"/cgit" => "${pkgs.cgit}/cgit/cgit.cgi" "${pathPrefix}" => "${pkgs.cgit}/cgit/cgit.cgi"
) )
setenv.add-environment = ( setenv.add-environment = (
"CGIT_CONFIG" => "${configFile}" "CGIT_CONFIG" => "${configFile}"

View File

@ -147,6 +147,8 @@ in
${config.services.resolved.extraConfig} ${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; default = config.boot.zfs.enableUnstable;
description = '' description = ''
Request encryption keys or passwords for all encrypted datasets on import. Request encryption keys or passwords for all encrypted datasets on import.
Dataset encryption is only supported in zfsUnstable at the moment. 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 = '' script = ''
zpool_cmd="${packages.zfsUser}/sbin/zpool" zpool_cmd="${packages.zfsUser}/sbin/zpool"
("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -d ${cfgZfs.devNodes} -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}" ("$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.nsd = callTest tests/nsd.nix {};
tests.openssh = callTest tests/openssh.nix {}; tests.openssh = callTest tests/openssh.nix {};
tests.openldap = callTest tests/openldap.nix {}; tests.openldap = callTest tests/openldap.nix {};
tests.opensmtpd = callTest tests/opensmtpd.nix {};
tests.owncloud = callTest tests/owncloud.nix {}; tests.owncloud = callTest tests/owncloud.nix {};
tests.pam-oath-login = callTest tests/pam-oath-login.nix {}; tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
tests.peerflix = callTest tests/peerflix.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; }; bitcoin = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; }; bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
clightning = callPackage ./clightning.nix { };
bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; }; bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { boost = boost165; withGui = true; };
bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; }; bitcoind-abc = callPackage ./bitcoin-abc.nix { boost = boost165; withGui = false; };

View File

@ -5,7 +5,7 @@
name = "mma-${version}"; name = "mma-${version}";
src = fetchurl { 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"; sha256 = "1g4gvc0nr0qjc0fyqrnx037zpaasgymgmrm5s7cdxqnld9wqw8ww";
}; };

View File

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

View File

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

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
version = "2.6.2"; version = "2.6.2";
src = fetchurl { 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"; sha256 = "1y30p8wxx5li39i5gpq2wib0ympy8llz0gyi6ri9bp730ndhhz7p";
}; };

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "beast-0.7.1"; name = "beast-0.7.1";
src = fetchurl { 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"; sha256 = "0jyl1i1918rsn4296w07fsf6wx3clvad522m3bzgf8ms7gxivg5l";
}; };

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
version = "2.2.0"; version = "2.2.0";
src = fetchurl { 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"; sha256 = "18zcs4xmfj4vpzi15dj7k5bjzzzlr3sjf9xhrrgy4samrrdpqzfh";
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
patches = [ ./buildfix.diff ]; patches = [ ./buildfix.diff ];
src = fetchurl { 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"; sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz";
}; };

View File

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

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "nova-filters-${version}"; name = "nova-filters-${version}";
src = fetchurl { 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"; sha256 = "16064vvl2w5lz4xi3lyjk4xx7fphwsxc14ajykvndiz170q32s6i";
}; };

View File

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

View File

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

View File

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

View File

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

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "2.2.4"; version = "2.2.4";
src = fetchurl { 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"; sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp";
}; };

View File

@ -27,17 +27,6 @@ python2Packages.buildPythonApplication rec {
doCheck = false; # there are no tests doCheck = false; # there are no tests
dontStrip = true; # we are not generating any binaries 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; { meta = with stdenv.lib; {
homepage = https://puddletag.net; homepage = https://puddletag.net;
description = "An audio tag editor similar to the Windows program, Mp3tag"; 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 stdenv.system == "x86_64-linux" then
if builtins.isNull releasePath then if builtins.isNull releasePath then
fetchurl { 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"; sha256 = "0pan68fr22xbj7a930y29527vpry3f07q3i9ya4fp6g7aawffsga";
} }
else else

View File

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

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
version = "2.4.1"; version = "2.4.1";
src = fetchurl { 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"; sha256 = "06nlha70kgrby16nyhngrv5q846xagnxdinv608v7ga7vpywwmyb";
}; };

View File

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

View File

@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
homepage = http://tomahawk-player.org/; homepage = http://tomahawk-player.org/;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.all; 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 A set of command-line tools to manipulate Ogg Vorbis audio
files, notably the `ogg123' player and the `oggenc' encoder. files, notably the `ogg123' player and the `oggenc' encoder.
''; '';
homepage = http://xiph.org/vorbis/; homepage = https://xiph.org/vorbis/;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;
}; };

View File

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

View File

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

View File

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

View File

@ -36,7 +36,7 @@ let
--set-rpath "${atomEnv.libPath}" \ --set-rpath "${atomEnv.libPath}" \
$share/resources/app/apm/bin/node $share/resources/app/apm/bin/node
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 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 dugite=$share/resources/app.asar.unpacked/node_modules/dugite
rm -f $dugite/git/bin/git rm -f $dugite/git/bin/git

View File

@ -96,7 +96,7 @@ rec {
### Eclipse Platform ### Eclipse Platform
eclipse-platform = eclipse-platform-47; # always point to latest eclipse-platform = eclipse-platform-48; # always point to latest
eclipse-platform-46 = buildEclipse { eclipse-platform-46 = buildEclipse {
name = "eclipse-platform-4.6.2"; 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 = eclipse-scala-sdk-441; # always point to latest eclipse-scala-sdk = eclipse-scala-sdk-441; # always point to latest
@ -150,7 +165,7 @@ rec {
### Eclipse SDK ### Eclipse SDK
eclipse-sdk = eclipse-sdk-47; # always point to latest eclipse-sdk = eclipse-sdk-48; # always point to latest
eclipse-sdk-46 = buildEclipse { eclipse-sdk-46 = buildEclipse {
name = "eclipse-sdk-4.6.2"; 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 { eclipse-sdk-37 = buildEclipse {
name = "eclipse-sdk-3.7"; name = "eclipse-sdk-3.7";
description = "Eclipse Classic"; description = "Eclipse Classic";

View File

@ -470,12 +470,12 @@ rec {
jdt = buildEclipseUpdateSite rec { jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}"; name = "jdt-${version}";
version = "4.7.3a"; version = "4.8";
src = fetchzip { src = fetchzip {
stripRoot = false; 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; 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 = "10dndhqz894xf79zz07dlmkn7k33mn42nbmycr78xz6d2jy8cscx"; sha256 = "1my0d1114mx5gzxmwqlx0rcny39ly97ixlwx53ljk6qcryhdnr88";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "An Emacs mode for editing Scala code"; 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 # non-copyleft, BSD-style
license = "permissive"; license = "permissive";

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
name = "geany-${version}"; name = "geany-${version}";
src = fetchurl { src = fetchurl {
url = "http://download.geany.org/${name}.tar.bz2"; url = "https://download.geany.org/${name}.tar.bz2";
sha256 = "66baaff43f12caebcf0efec9a5533044dc52837f799c73a1fd7312caa86099c2"; 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 { src = fetchurl {
urls = [ urls = [
"https://www.mirbsd.org/MirOS/dist/jupp/${srcName}.tgz" "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"; sha256 = "1fnf9jsd6p4jyybkhjjs328qx38ywy8w029ngc7j7kqp0ixn0l0s";
}; };

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
name = "monodevelop-${version}"; name = "monodevelop-${version}";
src = fetchurl { 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"; sha256 = "0bim4bfv3zwijafl9g0cx3159zq43dlcv74mnyrda41j4p52w5ji";
}; };

View File

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

View File

@ -15,7 +15,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "netbeans-8.2"; name = "netbeans-8.2";
src = fetchurl { 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"; sha256 = "0j092qw7aqfc9vpnvr3ix1ii94p4ik6frcnw708iyv4s9crqi65d";
}; };

View File

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

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "3.02"; version = "3.02";
src = fetchurl { 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"; sha256 = "06js54pr5hwpwyxj77zs5s40n5aqvaw48dkj7rid2d47pyqijk2v";
}; };

View File

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

View File

@ -6,7 +6,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "grass-7.2.2"; name = "grass-7.2.2";
src = fetchurl { 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"; sha256 = "0yzljbrxlqp4wbw08n1dvmm4vmwkg8glf1ff4xyh589r5ryb7gxv";
}; };

View File

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

View File

@ -3,6 +3,7 @@
, ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
, libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3 , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
, ocl-icd
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
libsoup graphicsmagick json-glib openjpeg lua pugixml libsoup graphicsmagick json-glib openjpeg lua pugixml
colord colord-gtk libwebp libsecret gnome3.adwaita-icon-theme colord colord-gtk libwebp libsecret gnome3.adwaita-icon-theme
osm-gps-map osm-gps-map ocl-icd
]; ];
cmakeFlags = [ cmakeFlags = [
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
# the wrappers: # the wrappers:
preFixup = '' preFixup = ''
gappsWrapperArgs+=( 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 { stdenv.mkDerivation rec {
name = "feh-${version}"; name = "feh-${version}";
version = "2.26.3"; version = "2.26.4";
src = fetchurl { src = fetchurl {
url = "https://feh.finalrewind.org/${name}.tar.bz2"; url = "https://feh.finalrewind.org/${name}.tar.bz2";
sha256 = "08aagymgajcvciagwy2zdxhicvdfnjmd2xyx9bqjy7l1n16ydwrz"; sha256 = "15a7hjg7xwj1hsw3c5k18psvvmbqgn4g79qq03bsvibzl4kqakq7";
}; };
outputs = [ "out" "man" "doc" ]; outputs = [ "out" "man" "doc" ];

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
version = "3.4.0"; version = "3.4.0";
src = fetchurl { 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"; sha256 = "04345crf5yrhq6rlrymz630rxnm8yw41vx04hb6xn2nkjn9hf3nl";
}; };

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "gocr-0.51"; name = "gocr-0.51";
src = fetchurl { 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"; sha256 = "14i6zi6q11h6d0qds2cpvgvhbxk5xaa027h8cd0wy1zblh7sxckf";
}; };

View File

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

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "imlibsetroot-${version}"; name = "imlibsetroot-${version}";
version = "1.2"; version = "1.2";
src = fetchurl { 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"; sha256 = "8c1b3b7c861e4d865883ec13a96b8e4ab22464a87d4e6c67255b17a88e3cfd1c";
}; };

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
name = "jpegoptim-${version}"; name = "jpegoptim-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.kokkonen.net/tjko/src/${name}.tar.gz"; url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz";
sha256 = "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8"; 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}"; name = "qiv-${version}";
src = fetchurl { src = fetchurl {
url = "http://spiegl.de/qiv/download/${name}.tgz"; url = "https://spiegl.de/qiv/download/${name}.tgz";
sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7"; sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7";
}; };

View File

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

View File

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

View File

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

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