Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2020-05-01 08:57:10 +02:00
commit 484ee79050
147 changed files with 2392 additions and 1566 deletions

3
.github/CODEOWNERS vendored
View File

@ -176,6 +176,7 @@
# PHP
/doc/languages-frameworks/php.section.md @etu
/nixos/tests/php @etu
/pkgs/build-support/build-pecl.nix @etu
/pkgs/development/interpreters/php @etu
/pkgs/top-level/php-packages.nix @etu
/pkgs/build-support/build-pecl.nix @etu

View File

@ -9,18 +9,24 @@
Several versions of PHP are available on Nix, each of which having a
wide variety of extensions and libraries available.
The attribute `php` refers to the version of PHP considered most
stable and thoroughly tested in nixpkgs for any given release of
NixOS. Note that while this version of PHP may not be the latest major
release from upstream, any version of PHP supported in nixpkgs may be
utilized by specifying the desired attribute by version, such as
`php74`.
The different versions of PHP that nixpkgs provides are located under
attributes named based on major and minor version number; e.g.,
`php74` is PHP 7.4.
Only versions of PHP that are supported by upstream for the entirety
of a given NixOS release will be included in that release of
NixOS. See [PHP Supported
Versions](https://www.php.net/supported-versions.php).
The attribute `php` refers to the version of PHP considered most
stable and thoroughly tested in nixpkgs for any given release of
NixOS - not necessarily the latest major release from upstream.
All available PHP attributes are wrappers around their respective
binary PHP package and provide commonly used extensions this way. The
real PHP 7.4 package, i.e. the unwrapped one, is available as
`php74.unwrapped`; see the next section for more details.
Interactive tools built on PHP are put in `php.packages`; composer is
for example available at `php.packages.composer`.
@ -30,39 +36,44 @@ opcache extension shipped with PHP is available at
`php.extensions.opcache` and the third-party ImageMagick extension at
`php.extensions.imagick`.
The different versions of PHP that nixpkgs provides is located under
attributes named based on major and minor version number; e.g.,
`php74` is PHP 7.4 with commonly used extensions installed,
`php74base` is the same PHP runtime without extensions.
#### Installing PHP with packages
#### Installing PHP with extensions
A PHP package with specific extensions enabled can be built using
`php.withExtensions`. This is a function which accepts an anonymous
function as its only argument; the function should take one argument,
the set of all extensions, and return a list of wanted extensions. For
example, a PHP package with the opcache and ImageMagick extensions
enabled:
function as its only argument; the function should accept two named
parameters: `enabled` - a list of currently enabled extensions and
`all` - the set of all extensions, and return a list of wanted
extensions. For example, a PHP package with all default extensions and
ImageMagick enabled:
```nix
php.withExtensions (e: with e; [ imagick opcache ])
php.withExtensions ({ enabled, all }:
enabled ++ [ all.imagick ])
```
Note that this will give you a package with _only_ opcache and
ImageMagick, none of the other extensions which are enabled by default
in the `php` package will be available.
To enable building on a previous PHP package, the currently enabled
extensions are made available in its `enabledExtensions`
attribute. For example, to generate a package with all default
extensions enabled, except opcache, but with ImageMagick:
To exclude some, but not all, of the default extensions, you can
filter the `enabled` list like this:
```nix
php.withExtensions (e:
(lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
++ [ e.imagick ])
php.withExtensions ({ enabled, all }:
(lib.filter (e: e != php.extensions.opcache) enabled)
++ [ all.imagick ])
```
To build your list of extensions from the ground up, you can simply
ignore `enabled`:
```nix
php.withExtensions ({ all, ... }: with all; [ opcache imagick ])
```
`php.withExtensions` provides extensions by wrapping a minimal php
base package, providing a `php.ini` file listing all extensions to be
loaded. You can access this package through the `php.unwrapped`
attribute; useful if you, for example, need access to the `dev`
output. The generated `php.ini` file can be accessed through the
`php.phpIni` attribute.
If you want a PHP build with extra configuration in the `php.ini`
file, you can use `php.buildEnv`. This function takes two named and
optional parameters: `extensions` and `extraConfig`. `extensions`
@ -73,7 +84,7 @@ and ImageMagick extensions enabled, and `memory_limit` set to `256M`:
```nix
php.buildEnv {
extensions = e: with e; [ imagick opcache ];
extensions = { all, ... }: with all; [ imagick opcache ];
extraConfig = "memory_limit=256M";
}
```
@ -85,7 +96,7 @@ follows:
```nix
let
myPhp = php.withExtensions (e: with e; [ imagick opcache ]);
myPhp = php.withExtensions ({ all, ... }: with all; [ opcache imagick ]);
in {
services.phpfpm.pools."foo".phpPackage = myPhp;
};
@ -94,7 +105,7 @@ in {
```nix
let
myPhp = php.buildEnv {
extensions = e: with e; [ imagick opcache ];
extensions = { all, ... }: with all; [ imagick opcache ];
extraConfig = "memory_limit=256M";
};
in {
@ -105,8 +116,8 @@ in {
##### Example usage with `nix-shell`
This brings up a temporary environment that contains a PHP interpreter
with the extensions `imagick` and `opcache` enabled.
with the extensions `imagick` and `opcache` enabled:
```sh
nix-shell -p 'php.buildEnv { extensions = e: with e; [ imagick opcache ]; }'
nix-shell -p 'php.withExtensions ({ all, ... }: with all; [ imagick opcache ])'
```

View File

@ -1406,6 +1406,16 @@
githubId = 1103294;
name = "Christopher Rosset";
};
christianharke = {
email = "christian@harke.ch";
github = "christianharke";
githubId = 13007345;
name = "Christian Harke";
keys = [{
longkeyid = "rsa4096/0x830A9728630966F4";
fingerprint = "4EBB 30F1 E89A 541A A7F2 52BE 830A 9728 6309 66F4";
}];
};
christopherpoole = {
email = "mail@christopherpoole.net";
github = "christopherpoole";

View File

@ -43,6 +43,17 @@ with lib.maintainers; {
scope = "Maintain GNOME desktop environment and platform.";
};
php = {
members = [
aanderse
etu
globin
ma27
talyz
];
scope = "Maintain PHP related packages and extensions.";
};
podman = {
members = [
adisbladis

View File

@ -41,6 +41,11 @@
neo</command>!)
</para>
<para>
If the text is too small to be legible, try <command>setfont ter-132n</command>
to increase the font size.
</para>
<section xml:id="sec-installation-booting-networking">
<title>Networking in the installer</title>

View File

@ -145,69 +145,69 @@
</listitem>
<listitem>
<para>
Since this release there's an easy way to customize your PHP install to get a much smaller
base PHP with only wanted extensions enabled. See the following snippet installing a smaller PHP
with the extensions <literal>imagick</literal>, <literal>opcache</literal> and
Since this release there's an easy way to customize your PHP
install to get a much smaller base PHP with only wanted
extensions enabled. See the following snippet installing a
smaller PHP with the extensions <literal>imagick</literal>,
<literal>opcache</literal>, <literal>pdo</literal> and
<literal>pdo_mysql</literal> loaded:
<programlisting>
environment.systemPackages = [
(pkgs.php.buildEnv { extensions = pp: with pp; [
imagick
opcache
pdo_mysql
]; })
(pkgs.php.withExtensions
({ all, ... }: with all; [
imagick
opcache
pdo
pdo_mysql
])
)
];</programlisting>
The default <literal>php</literal> attribute hasn't lost any extensions -
the <literal>opcache</literal> extension was added there.
The default <literal>php</literal> attribute hasn't lost any
extensions. The <literal>opcache</literal> extension has been
added.
All upstream PHP extensions are available under <package><![CDATA[php.extensions.<name?>]]></package>.
</para>
<para>
The updated <literal>php</literal> attribute is now easily customizable to your liking
by using extensions instead of writing config files or changing configure flags.
Therefore we have removed the following configure flags:
All PHP <literal>config</literal> flags have been removed for
the following reasons:
<itemizedlist>
<title>PHP <literal>config</literal> flags that we don't read anymore:</title>
<listitem><para><literal>config.php.argon2</literal></para></listitem>
<listitem><para><literal>config.php.bcmath</literal></para></listitem>
<listitem><para><literal>config.php.bz2</literal></para></listitem>
<listitem><para><literal>config.php.calendar</literal></para></listitem>
<listitem><para><literal>config.php.curl</literal></para></listitem>
<listitem><para><literal>config.php.exif</literal></para></listitem>
<listitem><para><literal>config.php.ftp</literal></para></listitem>
<listitem><para><literal>config.php.gd</literal></para></listitem>
<listitem><para><literal>config.php.gettext</literal></para></listitem>
<listitem><para><literal>config.php.gmp</literal></para></listitem>
<listitem><para><literal>config.php.imap</literal></para></listitem>
<listitem><para><literal>config.php.intl</literal></para></listitem>
<listitem><para><literal>config.php.ldap</literal></para></listitem>
<listitem><para><literal>config.php.libxml2</literal></para></listitem>
<listitem><para><literal>config.php.libzip</literal></para></listitem>
<listitem><para><literal>config.php.mbstring</literal></para></listitem>
<listitem><para><literal>config.php.mysqli</literal></para></listitem>
<listitem><para><literal>config.php.mysqlnd</literal></para></listitem>
<listitem><para><literal>config.php.openssl</literal></para></listitem>
<listitem><para><literal>config.php.pcntl</literal></para></listitem>
<listitem><para><literal>config.php.pdo_mysql</literal></para></listitem>
<listitem><para><literal>config.php.pdo_odbc</literal></para></listitem>
<listitem><para><literal>config.php.pdo_pgsql</literal></para></listitem>
<listitem><para><literal>config.php.phpdbg</literal></para></listitem>
<listitem><para><literal>config.php.postgresql</literal></para></listitem>
<listitem><para><literal>config.php.readline</literal></para></listitem>
<listitem><para><literal>config.php.soap</literal></para></listitem>
<listitem><para><literal>config.php.sockets</literal></para></listitem>
<listitem><para><literal>config.php.sodium</literal></para></listitem>
<listitem><para><literal>config.php.sqlite</literal></para></listitem>
<listitem><para><literal>config.php.tidy</literal></para></listitem>
<listitem><para><literal>config.php.xmlrpc</literal></para></listitem>
<listitem><para><literal>config.php.xsl</literal></para></listitem>
<listitem><para><literal>config.php.zip</literal></para></listitem>
<listitem><para><literal>config.php.zlib</literal></para></listitem>
<listitem>
<para>
The updated <literal>php</literal> attribute is now easily
customizable to your liking by using
<literal>php.withExtensions</literal> or
<literal>php.buildEnv</literal> instead of writing config files
or changing configure flags.
</para>
</listitem>
<listitem>
<para>
The remaining configuration flags can now be set directly on
the <literal>php</literal> attribute. For example, instead of
<programlisting>
php.override {
config.php.embed = true;
config.php.apxs2 = false;
}
</programlisting>
you should now write
<programlisting>
php.override {
embedSupport = true;
apxs2Support = false;
}
</programlisting>
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>

View File

@ -85,8 +85,6 @@ CHAR_TO_KEY = {
}
# Forward references
nr_tests: int
failed_tests: list
log: "Logger"
machines: "List[Machine]"
@ -882,33 +880,16 @@ def run_tests() -> None:
if machine.is_up():
machine.execute("sync")
if nr_tests != 0:
nr_succeeded = nr_tests - len(failed_tests)
eprint("{} out of {} tests succeeded".format(nr_succeeded, nr_tests))
if len(failed_tests) > 0:
eprint(
"The following tests have failed:\n - {}".format(
"\n - ".join(failed_tests)
)
)
sys.exit(1)
@contextmanager
def subtest(name: str) -> Iterator[None]:
global nr_tests
global failed_tests
with log.nested(name):
nr_tests += 1
try:
yield
return True
except Exception as e:
failed_tests.append(
'Test "{}" failed with error: "{}"'.format(name, str(e))
)
log.log("error: {}".format(str(e)))
log.log(f'Test "{name}" failed with error: "{e}"')
raise e
return False
@ -928,9 +909,6 @@ if __name__ == "__main__":
]
exec("\n".join(machine_eval))
nr_tests = 0
failed_tests = []
@atexit.register
def clean_up() -> None:
with log.nested("cleaning up"):

View File

@ -15,7 +15,6 @@ let
nsswins = canLoadExternalModules && config.services.samba.nsswins;
ldap = canLoadExternalModules && (config.users.ldap.enable && config.users.ldap.nsswitch);
resolved = canLoadExternalModules && config.services.resolved.enable;
googleOsLogin = canLoadExternalModules && config.security.googleOsLogin.enable;
hostArray = mkMerge [
(mkBefore [ "files" ])
@ -32,7 +31,6 @@ let
(mkBefore [ "files" ])
(mkIf ldap [ "ldap" ])
(mkIf mymachines [ "mymachines" ])
(mkIf googleOsLogin [ "cache_oslogin oslogin" ])
(mkIf canLoadExternalModules (mkAfter [ "systemd" ]))
];
@ -172,7 +170,6 @@ in {
# configured IP addresses, or ::1 and 127.0.0.2 as
# fallbacks. Systemd also provides nss-mymachines to return IP
# addresses of local containers.
system.nssModules = (optionals canLoadExternalModules [ config.systemd.package.out ])
++ optional googleOsLogin pkgs.google-compute-engine-oslogin.out;
system.nssModules = (optionals canLoadExternalModules [ config.systemd.package.out ]);
};
}

View File

@ -1,7 +1,7 @@
# This module contains the basic configuration for building a NixOS
# installation CD.
{ config, lib, pkgs, ... }:
{ config, lib, options, pkgs, ... }:
with lib;
@ -15,6 +15,9 @@ with lib;
../../profiles/installation-device.nix
];
# Adds terminus_font for people with HiDPI displays
console.packages = options.console.packages.default ++ [ pkgs.terminus_font ];
# ISO naming.
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso";

View File

@ -49,6 +49,7 @@ in
# enable the nss module, so user lookups etc. work
system.nssModules = [ package ];
system.nssDatabases.passwd = [ "cache_oslogin" "oslogin" ];
# Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable.
# So indirect by a symlink.

View File

@ -7,7 +7,7 @@ let
fpm = config.services.phpfpm.pools.roundcube;
localDB = cfg.database.host == "localhost";
user = cfg.database.username;
phpWithPspell = pkgs.php.withExtensions (e: [ e.pspell ] ++ pkgs.php.enabledExtensions);
phpWithPspell = pkgs.php.withExtensions ({ enabled, all }: [ all.pspell ] ++ enabled);
in
{
options.services.roundcube = {

View File

@ -29,7 +29,7 @@ let
'') cfg.skins)}
${concatStringsSep "\n" (mapAttrsToList (k: v: ''
ln -s ${v} $out/share/mediawiki/extensions/${k}
ln -s ${if v != null then v else "$src/share/mediawiki/extensions/${k}"} $out/share/mediawiki/extensions/${k}
'') cfg.extensions)}
'';
};
@ -204,17 +204,28 @@ in
default = {};
type = types.attrsOf types.path;
description = ''
List of paths whose content is copied to the 'skins'
subdirectory of the MediaWiki installation.
Attribute set of paths whose content is copied to the <filename>skins</filename>
subdirectory of the MediaWiki installation in addition to the default skins.
'';
};
extensions = mkOption {
default = {};
type = types.attrsOf types.path;
type = types.attrsOf (types.nullOr types.path);
description = ''
List of paths whose content is copied to the 'extensions'
subdirectory of the MediaWiki installation.
Attribute set of paths whose content is copied to the <filename>extensions</filename>
subdirectory of the MediaWiki installation and enabled in configuration.
Use <literal>null</literal> instead of path to enable extensions that are part of MediaWiki.
'';
example = literalExample ''
{
Matomo = pkgs.fetchzip {
url = "https://github.com/DaSchTour/matomo-mediawiki-extension/archive/v4.0.1.tar.gz";
sha256 = "0g5rd3zp0avwlmqagc59cg9bbkn3r7wx7p6yr80s644mj6dlvs1b";
};
ParserFunctions = null;
}
'';
};

View File

@ -11,8 +11,8 @@ let
base = pkgs.php74;
in
base.buildEnv {
extensions = e: with e;
base.enabledExtensions ++ [
extensions = { enabled, all }: with all;
enabled ++ [
apcu redis memcached imagick
];
extraConfig = phpOptionsStr;

View File

@ -338,7 +338,7 @@ let
}
''
cat ${php}/etc/php.ini > $out
cat ${php}/lib/custom-php.ini > $out
cat ${php.phpIni} > $out
echo "$options" >> $out
'';

View File

@ -1033,7 +1033,6 @@ in
systemd.services.systemd-journald.stopIfChanged = false;
systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
systemd.targets.network-online.wantedBy = [ "multi-user.target" ];
systemd.services.systemd-binfmt.wants = [ "proc-sys-fs-binfmt_misc.mount" ];
# Don't bother with certain units in containers.

View File

@ -4,16 +4,20 @@ let
inherit (lib) mkOption types;
podmanPackage = (pkgs.podman.override { inherit (cfg) extraPackages; });
# Provides a fake "docker" binary mapping to podman
dockerCompat = pkgs.runCommandNoCC "${pkgs.podman.pname}-docker-compat-${pkgs.podman.version}" {
outputs = [ "out" "man" ];
inherit (pkgs.podman) meta;
dockerCompat = pkgs.runCommandNoCC "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" {
outputs = [ "out" "bin" "man" ];
inherit (podmanPackage) meta;
} ''
mkdir -p $out/bin
ln -s ${pkgs.podman}/bin/podman $out/bin/docker
mkdir $out
mkdir -p $bin/bin
ln -s ${podmanPackage.bin}/bin/podman $bin/bin/docker
mkdir -p $man/share/man/man1
for f in ${pkgs.podman.man}/share/man/man1/*; do
for f in ${podmanPackage.man}/share/man/man1/*; do
basename=$(basename $f | sed s/podman/docker/g)
ln -s $f $man/share/man/man1/$basename
done
@ -52,6 +56,19 @@ in
'';
};
extraPackages = mkOption {
type = with types; listOf package;
default = [ ];
example = lib.literalExample ''
[
pkgs.gvisor
]
'';
description = ''
Extra packages to be installed in the Podman wrapper.
'';
};
libpod = mkOption {
default = {};
description = "Libpod configuration";
@ -75,29 +92,24 @@ in
config = lib.mkIf cfg.enable {
environment.systemPackages = [
pkgs.podman # Docker compat
pkgs.runc # Default container runtime
pkgs.crun # Default container runtime (cgroups v2)
pkgs.conmon # Container runtime monitor
pkgs.slirp4netns # User-mode networking for unprivileged namespaces
pkgs.fuse-overlayfs # CoW for images, much faster than default vfs
pkgs.utillinux # nsenter
pkgs.iptables
]
++ lib.optional cfg.dockerCompat dockerCompat;
environment.systemPackages = [ podmanPackage ]
++ lib.optional cfg.dockerCompat dockerCompat;
environment.etc."containers/libpod.conf".text = ''
cni_plugin_dir = ["${pkgs.cni-plugins}/bin/"]
cni_config_dir = "/etc/cni/net.d/"
'' + cfg.libpod.extraConfig;
environment.etc."cni/net.d/87-podman-bridge.conflist".source = copyFile "${pkgs.podman.src}/cni/87-podman-bridge.conflist";
environment.etc."cni/net.d/87-podman-bridge.conflist".source = copyFile "${pkgs.podman-unwrapped.src}/cni/87-podman-bridge.conflist";
# Enable common /etc/containers configuration
virtualisation.containers.enable = true;
assertions = [{
assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable;
message = "Option dockerCompat conflicts with docker";
}];
};
}

View File

@ -101,6 +101,7 @@ let
prefixed indices. Ignore the error if the filter does not result in an
actionable list of indices (ignore_empty_list) and exit cleanly.
options:
allow_ilm_indices: true
ignore_empty_list: True
disable_action: False
filters:

View File

@ -22,6 +22,8 @@ in {
client = { ... }: {};
};
testScript = ''
MOCKUSER = "mockuser_nixos_org"
MOCKADMIN = "mockadmin_nixos_org"
start_all()
server.wait_for_unit("mock-google-metadata.service")
@ -29,10 +31,10 @@ in {
# mockserver should return a non-expired ssh key for both mockuser and mockadmin
server.succeed(
'${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockuser | grep -q "${snakeOilPublicKey}"'
f'${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys {MOCKUSER} | grep -q "${snakeOilPublicKey}"'
)
server.succeed(
'${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockadmin | grep -q "${snakeOilPublicKey}"'
f'${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys {MOCKADMIN} | grep -q "${snakeOilPublicKey}"'
)
# install snakeoil ssh key on the client, and provision .ssh/config file
@ -50,20 +52,22 @@ in {
client.fail("ssh ghost@server 'true'")
# we should be able to connect as mockuser
client.succeed("ssh mockuser@server 'true'")
client.succeed(f"ssh {MOCKUSER}@server 'true'")
# but we shouldn't be able to sudo
client.fail(
"ssh mockuser@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
f"ssh {MOCKUSER}@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
)
# we should also be able to log in as mockadmin
client.succeed("ssh mockadmin@server 'true'")
client.succeed(f"ssh {MOCKADMIN}@server 'true'")
# pam_oslogin_admin.so should now have generated a sudoers file
server.succeed("find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/mockadmin'")
server.succeed(
f"find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/{MOCKADMIN}'"
)
# and we should be able to sudo
client.succeed(
"ssh mockadmin@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
f"ssh {MOCKADMIN}@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
)
'';
})

View File

@ -7,24 +7,29 @@ import hashlib
import base64
from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import urlparse, parse_qs
from typing import Dict
SNAKEOIL_PUBLIC_KEY = os.environ['SNAKEOIL_PUBLIC_KEY']
MOCKUSER="mockuser_nixos_org"
MOCKADMIN="mockadmin_nixos_org"
def w(msg):
def w(msg: bytes):
sys.stderr.write(f"{msg}\n")
sys.stderr.flush()
def gen_fingerprint(pubkey):
def gen_fingerprint(pubkey: str):
decoded_key = base64.b64decode(pubkey.encode("ascii").split()[1])
return hashlib.sha256(decoded_key).hexdigest()
def gen_email(username):
def gen_email(username: str):
"""username seems to be a 21 characters long number string, so mimic that in a reproducible way"""
return str(int(hashlib.sha256(username.encode()).hexdigest(), 16))[0:21]
def gen_mockuser(username: str, uid: str, gid: str, home_directory: str, snakeoil_pubkey: str) -> Dict:
snakeoil_pubkey_fingerprint = gen_fingerprint(snakeoil_pubkey)
# seems to be a 21 characters long numberstring, so mimic that in a reproducible way
@ -56,7 +61,8 @@ def gen_mockuser(username: str, uid: str, gid: str, home_directory: str, snakeoi
class ReqHandler(BaseHTTPRequestHandler):
def _send_json_ok(self, data):
def _send_json_ok(self, data: dict):
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
@ -64,29 +70,62 @@ class ReqHandler(BaseHTTPRequestHandler):
w(out)
self.wfile.write(out)
def _send_json_success(self, success=True):
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
out = json.dumps({"success": success}).encode()
w(out)
self.wfile.write(out)
def _send_404(self):
self.send_response(404)
self.end_headers()
def do_GET(self):
p = str(self.path)
# mockuser and mockadmin are allowed to login, both use the same snakeoil public key
if p == '/computeMetadata/v1/oslogin/users?username=mockuser' \
or p == '/computeMetadata/v1/oslogin/users?uid=1009719690':
self._send_json_ok(gen_mockuser(username='mockuser', uid='1009719690', gid='1009719690',
home_directory='/home/mockuser', snakeoil_pubkey=SNAKEOIL_PUBLIC_KEY))
elif p == '/computeMetadata/v1/oslogin/users?username=mockadmin' \
or p == '/computeMetadata/v1/oslogin/users?uid=1009719691':
self._send_json_ok(gen_mockuser(username='mockadmin', uid='1009719691', gid='1009719691',
home_directory='/home/mockadmin', snakeoil_pubkey=SNAKEOIL_PUBLIC_KEY))
pu = urlparse(p)
params = parse_qs(pu.query)
# mockuser is allowed to login
elif p == f"/computeMetadata/v1/oslogin/authorize?email={gen_email('mockuser')}&policy=login":
self._send_json_ok({'success': True})
# users endpoint
if pu.path == "/computeMetadata/v1/oslogin/users":
# mockuser and mockadmin are allowed to login, both use the same snakeoil public key
if params.get('username') == [MOCKUSER] or params.get('uid') == ["1009719690"]:
username = MOCKUSER
uid = "1009719690"
elif params.get('username') == [MOCKADMIN] or params.get('uid') == ["1009719691"]:
username = MOCKADMIN
uid = "1009719691"
else:
self._send_404()
return
# mockadmin may also become root
elif p == f"/computeMetadata/v1/oslogin/authorize?email={gen_email('mockadmin')}&policy=login" or p == f"/computeMetadata/v1/oslogin/authorize?email={gen_email('mockadmin')}&policy=adminLogin":
self._send_json_ok({'success': True})
self._send_json_ok(gen_mockuser(username=username, uid=uid, gid=uid, home_directory=f"/home/{username}", snakeoil_pubkey=SNAKEOIL_PUBLIC_KEY))
return
# authorize endpoint
elif pu.path == "/computeMetadata/v1/oslogin/authorize":
# is user allowed to login?
if params.get("policy") == ["login"]:
# mockuser and mockadmin are allowed to login
if params.get('email') == [gen_email(MOCKUSER)] or params.get('email') == [gen_email(MOCKADMIN)]:
self._send_json_success()
return
self._send_json_success(False)
return
# is user allowed to become root?
elif params.get("policy") == ["adminLogin"]:
# only mockadmin is allowed to become admin
self._send_json_success((params['email'] == [gen_email(MOCKADMIN)]))
return
# send 404 for other policies
else:
self._send_404()
return
else:
sys.stderr.write(f"Unhandled path: {p}\n")
sys.stderr.flush()
self.send_response(501)
self.send_response(404)
self.end_headers()
self.wfile.write(b'')

View File

@ -8,6 +8,13 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
services.mediawiki.virtualHost.hostName = "localhost";
services.mediawiki.virtualHost.adminAddr = "root@example.com";
services.mediawiki.passwordFile = pkgs.writeText "password" "correcthorsebatterystaple";
services.mediawiki.extensions = {
Matomo = pkgs.fetchzip {
url = "https://github.com/DaSchTour/matomo-mediawiki-extension/archive/v4.0.1.tar.gz";
sha256 = "0g5rd3zp0avwlmqagc59cg9bbkn3r7wx7p6yr80s644mj6dlvs1b";
};
ParserFunctions = null;
};
};
testScript = ''

View File

@ -1,6 +1,6 @@
import ../make-test-python.nix ({pkgs, ...}: {
import ../make-test-python.nix ({pkgs, lib, ...}: {
name = "php-fpm-nginx-test";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ];
meta.maintainers = lib.teams.php.members;
machine = { config, lib, pkgs, ... }: {
services.nginx = {

View File

@ -1,6 +1,6 @@
import ../make-test-python.nix ({pkgs, ...}: {
import ../make-test-python.nix ({pkgs, lib, ...}: {
name = "php-httpd-test";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ];
meta.maintainers = lib.teams.php.members;
machine = { config, lib, pkgs, ... }: {
services.httpd = {

View File

@ -1,7 +1,9 @@
let
testString = "can-use-subgroups";
in import ../make-test-python.nix ({ ...}: {
in import ../make-test-python.nix ({lib, ...}: {
name = "php-httpd-pcre-jit-test";
meta.maintainers = lib.teams.php.members;
machine = { lib, pkgs, ... }: {
time.timeZone = "UTC";
services.httpd = {

View File

@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
installPhase = ''
mkdir -p $out/lib
cp target/release/librustzcash.a $out/lib/
cp $releaseDir/librustzcash.a $out/lib/
mkdir -p $out/include
cp librustzcash/include/librustzcash.h $out/include/
'';

View File

@ -0,0 +1,43 @@
{ stdenv, fetchurl, makeWrapper, emacs, tcl, tclx, espeak-ng }:
stdenv.mkDerivation rec {
pname = "emacspeak";
version = "51.0";
src = fetchurl {
url = "https://github.com/tvraman/emacspeak/releases/download/${version}/${pname}-${version}.tar.bz2";
sha256 = "09a0ywxlqa8jmc0wmvhaf7bdydnkyhy9nqfsdqcpbsgdzj6qpg90";
};
nativeBuildInputs = [ makeWrapper emacs ];
buildInputs = [ tcl tclx espeak-ng ];
preConfigure = ''
make config
'';
postBuild = ''
make -C servers/native-espeak PREFIX=$out "TCL_INCLUDE=${tcl}/include"
'';
postInstall = ''
make -C servers/native-espeak PREFIX=$out install
local d=$out/share/emacs/site-lisp/emacspeak/
install -d -- "$d"
cp -a . "$d"
find "$d" \( -type d -or \( -type f -executable \) \) -execdir chmod 755 {} +
find "$d" -type f -not -executable -execdir chmod 644 {} +
makeWrapper ${emacs}/bin/emacs $out/bin/emacspeak \
--set DTK_PROGRAM "${espeak-ng}/bin/espeak" \
--add-flags '-l "${placeholder "out"}/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.elc"'
'';
meta = with stdenv.lib; {
homepage = https://github.com/tvraman/emacspeak/;
description = "Emacs extension that provides spoken output";
license = licenses.gpl2;
maintainers = [ dema ];
platforms = platforms.linux;
};
}

View File

@ -65,6 +65,8 @@
};
};
emacspeak = callPackage ./emacspeak {};
ess-R-object-popup =
callPackage ./ess-R-object-popup { };

View File

@ -7,12 +7,12 @@
}:
stdenv.mkDerivation rec {
version = "3.0.1";
version = "3.0.2";
pname = "darktable";
src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "1dvwmgnlfvi1lvdhgyddcp5apwlc8v5gwy9gmfcpra8lv8hkjjy5";
sha256 = "1yrnkw8c47kmy2x6m1xp69hwyk02xyc8pd9kvcmyj54lzrhzdfka";
};
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];

View File

@ -95,7 +95,7 @@ rustPlatform.buildRustPackage rec {
installPhase = ''
runHook preInstall
install -D target/release/alacritty $out/bin/alacritty
install -D $releaseDir/alacritty $out/bin/alacritty
'' + (
if stdenv.isDarwin then ''

View File

@ -11,13 +11,13 @@
mkDerivation rec {
pname = "birdtray";
version = "1.8.0";
version = "1.8.1";
src = fetchFromGitHub {
owner = "gyunaev";
repo = pname;
rev = version;
sha256 = "15d0gz889vf9b2a046m93s5kdi6lw2sqjd5gaxgjkjrs20x5vr18";
sha256 = "15l8drdmamq1dpqpj0h9ajj2r5vcs23cx421drvhfgs6bqlzd1hl";
};
nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "googler";
version = "4.0";
version = "4.1";
src = fetchFromGitHub {
owner = "jarun";
repo = pname;
rev = "v${version}";
sha256 = "13jj15ph0vmbyxjslzl6z4h5b7wyllvhwgsrb6zf7qlkcmkd4vwy";
sha256 = "04d7n2l159s7c9xzvyvbnbii1k3zdbajagpx09x1l692cwjbvpxw";
};
propagatedBuildInputs = [ python ];

View File

@ -0,0 +1,35 @@
{ stdenv, fetchFromGitHub
, pkgconfig, libxkbcommon, wayland, wayland-protocols }:
stdenv.mkDerivation rec {
pname = "havoc";
version = "2019-12-08";
src = fetchFromGitHub {
owner = "ii8";
repo = pname;
rev = "507446c92ed7bf8380a58c5ba2b14aba5cdf412c";
sha256 = "13nfnan1gmy4cqxmqv0rc8a4mcb1g62v73d56hy7z2psv4am7a09";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libxkbcommon wayland wayland-protocols ];
dontConfigure = true;
installFlags = [ "PREFIX=$$out" ];
postInstall = ''
install -D -m 644 havoc.cfg -t $out/etc/${pname}/
install -D -m 644 README.md -t $out/share/doc/${pname}-${version}/
'';
meta = with stdenv.lib; {
description = "A minimal terminal emulator for Wayland";
homepage = "https://github.com/ii8/havoc";
license = with licenses; [ mit publicDomain ];
platforms = with platforms; unix;
maintainers = with maintainers; [ AndersonTorres ];
};
}

View File

@ -2,7 +2,7 @@
buildGoModule rec {
pname = "hugo";
version = "0.69.0";
version = "0.69.2";
goPackagePath = "github.com/gohugoio/hugo";
@ -10,10 +10,10 @@ buildGoModule rec {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "050gqjrdfy5ygwl60qdspjn9s6a84k311g3p2fk3sr7i4rnwf36l";
sha256 = "0bw31264q8w2r3fm3g2qjh9531nmbn942vl5rjf2cjff25c0d4ji";
};
modSha256 = "07zfqz7d2slswiyx0pw6ip4l428q7nc3i95d4w6d7hfqp0pvp6i0";
modSha256 = "1i1mw8jcklmnsqawc1jkgw4h1dxjxb9zaf2p8pgfzxzpy5cp6qkl";
buildFlags = [ "-tags" "extended" ];

View File

@ -4,18 +4,17 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "st-0.8.2";
name = "st-0.8.3";
src = fetchurl {
url = "https://dl.suckless.org/st/${name}.tar.gz";
sha256 = "0ddz2mdp1c7q67rd5vrvws9r0493ln0mlqyc3d73dv8im884xdxf";
sha256 = "0ll5wbw1szs70wdf8zy1y2ig5mfbqw2w4ls8d64r8z3y4gdf76lk";
};
inherit patches;
prePatch = optionalString (conf != null) ''
cp ${writeText "config.def.h" conf} config.def.h
'';
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
postPatch = optionalString (conf!=null) "cp ${configFile} config.def.h";
nativeBuildInputs = [ pkgconfig ncurses ];
buildInputs = [ libX11 libXft ] ++ extraLibs;

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "1s16wl101yabq0l7w0q50lxkr2gn090pcaj6l5sj6g5xvi9lhgbf";
sha256bin64 = "0k6fsqlpiwp9vds83hb3cg9xf74hqgbfdm3ijyad2rmwc5rqk0ax";
version = "83.0.4103.14";
sha256 = "1s3flhzp69g62285r9nwc5m9fa65ldx19inwdm4nq1m5bn63v6lj";
sha256bin64 = "0xbbj89xx98vvw1a4l4wj7hhwjasdmkxbbkgaad2cj4zqmbb8h52";
version = "83.0.4103.23";
};
dev = {
sha256 = "0djppzwzpfyyfjb1mhy5wws2379m3wpzyk2x3kw5nd0mdz35hbny";
sha256bin64 = "1wg55qhfvd5zvigjl6496za81mh9b2c5da53zy07bk8wj91ly8pf";
version = "84.0.4115.5";
sha256 = "1jgx55sb3azwb2rni89yxlz94j264iilwh0br29sngcailxamrbd";
sha256bin64 = "107yndkcdb78zxpswn9aja63n0q4q5q49183058z5jm4zlplkgad";
version = "84.0.4122.7";
};
stable = {
sha256 = "0ahqh3vmzbpai4xwn7qybgw9phc8ssjdvfc7384mxqk9swqgv7qg";
sha256bin64 = "0gpgim244594m35qwf625blwdqgjbp4qr846wq75a9a9zqwqs05w";
version = "81.0.4044.122";
sha256 = "1ls663s1f74p912x42qp3zcvm17kmjiv1ij6yy1c14gdhcpmjx7z";
sha256bin64 = "0nzds27x1j3298cq5xkgikjdddymbw88gcpnlm03492b6090257y";
version = "81.0.4044.129";
};
}

View File

@ -1,19 +1,20 @@
{ lib, buildGoModule, minikube }:
buildGoModule rec {
inherit (minikube) version src nativeBuildInputs buildInputs goPackagePath preBuild;
inherit (minikube) version src nativeBuildInputs buildInputs modSha256 commit;
pname = "docker-machine-hyperkit";
subPackages = [ "cmd/drivers/hyperkit" ];
modSha256 = minikube.go-modules.outputHash;
buildPhase = ''
make docker-machine-driver-hyperkit COMMIT=${commit}
'';
postInstall = ''
mv $out/bin/hyperkit $out/bin/docker-machine-driver-hyperkit
installPhase = ''
install out/docker-machine-driver-hyperkit -Dt $out/bin
'';
meta = with lib; {
homepage = "https://github.com/kubernetes/minikube/blob/master/docs/drivers.md";
homepage = "https://minikube.sigs.k8s.io/docs/drivers/hyperkit";
description = "HyperKit driver for docker-machine.";
license = licenses.asl20;
maintainers = with maintainers; [ atkinschang ];

View File

@ -1,22 +1,27 @@
{ lib, buildGoModule, minikube }:
buildGoModule rec {
inherit (minikube) version src nativeBuildInputs buildInputs goPackagePath preBuild;
inherit (minikube) version src nativeBuildInputs buildInputs modSha256 commit;
pname = "docker-machine-kvm2";
subPackages = [ "cmd/drivers/kvm" ];
modSha256 = minikube.go-modules.outputHash;
postPatch = ''
sed -i '/GOARCH=$*/d' Makefile
'';
postInstall = ''
mv $out/bin/kvm $out/bin/docker-machine-driver-kvm2
buildPhase = ''
make docker-machine-driver-kvm2 COMMIT=${commit}
'';
installPhase = ''
install out/docker-machine-driver-kvm2 -Dt $out/bin
'';
meta = with lib; {
homepage = "https://github.com/kubernetes/minikube/blob/master/docs/drivers.md";
homepage = "https://minikube.sigs.k8s.io/docs/drivers/kvm2";
description = "KVM2 driver for docker-machine.";
license = licenses.asl20;
maintainers = with maintainers; [ tadfisher atkinschang ];
platforms = platforms.unix;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "kubernix";
version = "0.2.0";
src = fetchFromGitHub {
owner = "saschagrunert";
repo = pname;
rev = "v${version}";
sha256 = "04dzfdzjwcwwaw9min322g30q0saxpq5kqzld4f22fmk820ki6gp";
};
cargoSha256 = "17agwqx7nhzi124yq1s6zpqb227drrhp9c11r3jbicc08dz88bwg";
doCheck = false;
meta = with stdenv.lib; {
description = "Single dependency Kubernetes clusters for local testing, experimenting and development";
homepage = "https://github.com/saschagrunert/kubernix";
license = with licenses; [ mit ];
maintainers = with maintainers; [ saschagrunert ];
platforms = platforms.linux;
};
}

View File

@ -1,67 +1,56 @@
{ stdenv
, buildGoModule
, fetchFromGitHub
, pkgconfig
, makeWrapper
, go-bindata
, installShellFiles
, pkg-config
, which
, libvirt
, vmnet
}:
buildGoModule rec {
pname = "minikube";
pname = "minikube";
version = "1.9.2";
# for -ldflags
commit = "1b78a7b8a99ad6a3c62b8d22f57120d614d17935";
goPackagePath = "k8s.io/minikube";
subPackages = [ "cmd/minikube" ];
modSha256 = "1pxs6myszgma3rzz0nhfjbnylv6m0xzlinvmlg0c4ijvkkzxg3v5";
# for -ldflags
commit = "1b78a7b8a99ad6a3c62b8d22f57120d614d17935";
modSha256 = "1pxs6myszgma3rzz0nhfjbnylv6m0xzlinvmlg0c4ijvkkzxg3v5";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "minikube";
rev = "v${version}";
owner = "kubernetes";
repo = "minikube";
rev = "v${version}";
sha256 = "025v45427d885qkjjg7ig8fgrvjalnf1lajsj0cnbwbih2m69svg";
};
nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ];
buildInputs = stdenv.lib.optionals stdenv.isLinux [ libvirt ]
++ stdenv.lib.optionals stdenv.isDarwin [ vmnet ];
nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];
preBuild = ''
go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/...
go-bindata -nomemcopy -o pkg/minikube/translate/translations.go -pkg translate translations/...
buildInputs = if stdenv.isDarwin then [ vmnet ] else if stdenv.isLinux then [ libvirt ] else null;
VERSION_MAJOR=$(grep "^VERSION_MAJOR" Makefile | sed "s/^.*\s//")
VERSION_MINOR=$(grep "^VERSION_MINOR" Makefile | sed "s/^.*\s//")
ISO_VERSION=v$VERSION_MAJOR.$VERSION_MINOR.0
ISO_BUCKET=$(grep "^ISO_BUCKET" Makefile | sed "s/^.*\s//")
export buildFlagsArray="-ldflags=\
-X ${goPackagePath}/pkg/version.version=v${version} \
-X ${goPackagePath}/pkg/version.isoVersion=$ISO_VERSION \
-X ${goPackagePath}/pkg/version.isoPath=$ISO_BUCKET \
-X ${goPackagePath}/pkg/version.gitCommitID=${commit} \
-X ${goPackagePath}/pkg/drivers/kvm.version=v${version} \
-X ${goPackagePath}/pkg/drivers/kvm.gitCommitID=${commit} \
-X ${goPackagePath}/pkg/drivers/hyperkit.version=v${version} \
-X ${goPackagePath}/pkg/drivers/hyperkit.gitCommitID=${commit}"
buildPhase = ''
make COMMIT=${commit}
'';
postInstall = ''
mkdir -p $out/share/bash-completion/completions/
MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $out/bin/minikube completion bash > $out/share/bash-completion/completions/minikube
installPhase = ''
install out/minikube -Dt $out/bin
mkdir -p $out/share/zsh/site-functions/
MINIKUBE_WANTUPDATENOTIFICATION=false MINIKUBE_WANTKUBECTLDOWNLOADMSG=false HOME=$PWD $out/bin/minikube completion zsh > $out/share/zsh/site-functions/_minikube
export HOME=$PWD
export MINIKUBE_WANTUPDATENOTIFICATION=false
export MINIKUBE_WANTKUBECTLDOWNLOADMSG=false
for shell in bash zsh; do
$out/bin/minikube completion $shell > minikube.$shell
installShellCompletion minikube.$shell
done
'';
meta = with stdenv.lib; {
homepage = "https://github.com/kubernetes/minikube";
homepage = "https://minikube.sigs.k8s.io";
description = "A tool that makes it easy to run Kubernetes locally";
license = licenses.asl20;
license = licenses.asl20;
maintainers = with maintainers; [ ebzzry copumpkin vdemeester atkinschang ];
platforms = with platforms; unix;
platforms = platforms.unix;
};
}

View File

@ -4,9 +4,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-aci";
rev = "v0.1.8";
version = "0.1.8";
sha256 = "14hya00ygz0khljjxwvkp6wbrbsavh2n8f26s2mjakph2havb8a3";
rev = "v0.2.1";
version = "0.2.1";
sha256 = "1ylc3w5m68q7vvdignrgw3kwdmrw7w0blmfffxc4cam0a6a7q05l";
};
acme =
{
@ -28,9 +28,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-alicloud";
rev = "v1.77.0";
version = "1.77.0";
sha256 = "0g8i8dmxzgkzylh2hh4fa9nq6x8bmxqaz0ly0f0cijb82lcbc3qf";
rev = "v1.80.1";
version = "1.80.1";
sha256 = "0d483lp3rwz99f77sds717hafzbz1z7gq58dw52qzqagam8lrc10";
};
archive =
{
@ -52,33 +52,33 @@
{
owner = "terraform-providers";
repo = "terraform-provider-auth0";
rev = "v0.8.1";
version = "0.8.1";
sha256 = "0hfmbw76p99xa9jz2sjss56p4wzqqhnf9l9gqgyamywfrdd2bn57";
};
aviatrix =
{
owner = "terraform-providers";
repo = "terraform-provider-aviatrix";
rev = "v2.12.0";
version = "2.12.0";
sha256 = "01n3cqb5k8gd0cll3nqbdmnx3mi0scm57j0xpzhxnif14kpj15g6";
rev = "v0.9.3";
version = "0.9.3";
sha256 = "04dd7jxhpw2dqj6h3sbknbl1fa92jzshznm8icxrjajpxhcnbc32";
};
avi =
{
owner = "terraform-providers";
repo = "terraform-provider-avi";
rev = "v0.2.1";
version = "0.2.1";
sha256 = "1pyknx5maq1qxm4i2y69iz9c2ym3q3n0fd4hbwxcl83n39cb5iy6";
rev = "18.2.8";
version = "18.2.8";
sha256 = "0vpa6wksvb4gz65hgq0vizw0bky400bqh9zgf41g0mqkhv3wwb4i";
};
aviatrix =
{
owner = "terraform-providers";
repo = "terraform-provider-aviatrix";
rev = "v2.13.0";
version = "2.13.0";
sha256 = "1913fp3lfvdr3npwr0vbdhb4xsvyyr1r76hv3h7rg5fidf3vpw5a";
};
aws =
{
owner = "terraform-providers";
repo = "terraform-provider-aws";
rev = "v2.55.0";
version = "2.55.0";
sha256 = "0pxmwdy5cin0navva1nf3l02yrqqbg01xcq3hf8w0ch8fgr8mr25";
rev = "v2.59.0";
version = "2.59.0";
sha256 = "0hkvjvabw8phl5mb9km2dxm64a5lf56g9aq9qf593zsij1rsjwkk";
};
azuread =
{
@ -92,9 +92,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-azurerm";
rev = "v2.3.0";
version = "2.3.0";
sha256 = "195r6l0ddpjmmf947c1k5v0vdscnhsg2ilp6x7pna418pnx84y2d";
rev = "v2.7.0";
version = "2.7.0";
sha256 = "0w4bafj3kn5kvkrc26ix1y9rgf3w4810x7la7g1aclpg7507fcv3";
};
azurestack =
{
@ -108,9 +108,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-baiducloud";
rev = "v1.1.0";
version = "1.1.0";
sha256 = "1va0b9vqfcv2nrqh8jwf80ylyl1x826jhb7h4ghnf18c144qm0i1";
rev = "v1.2.0";
version = "1.2.0";
sha256 = "1s2vk4vjni5nc50pdw60pm0grrf835xy551i6d4cmfxkkpqx3f6f";
};
bigip =
{
@ -180,17 +180,25 @@
{
owner = "terraform-providers";
repo = "terraform-provider-cloudflare";
rev = "v2.5.0";
version = "2.5.0";
sha256 = "1dqxn2iwbidmfb0850sicwqh4yp6ynarkl36lnr8nqw9lasvqr5a";
rev = "v2.6.0";
version = "2.6.0";
sha256 = "01z2znif5yy4bawcf76b6d0j3b67fljbx87b4b2cb5vqy4l4aamk";
};
cloudinit =
{
owner = "hashicorp";
repo = "terraform-provider-cloudinit";
rev = "v1.0.0";
version = "1.0.0";
sha256 = "0i926f4xkfydd2bxmim69xrvi9ymn1vrc66zl117axzsmy9200zx";
};
cloudscale =
{
owner = "terraform-providers";
repo = "terraform-provider-cloudscale";
rev = "v2.1.1";
version = "2.1.1";
sha256 = "122yi2wbd8mqddkwp2la6vwqw0kw7c9ff5j6y4xqczjg2bwb9mph";
rev = "v2.1.2";
version = "2.1.2";
sha256 = "052pa17a77fkmhvygfgmpz87xlc08qvz1apzc2scg2449xfdv7zb";
};
cloudstack =
{
@ -228,9 +236,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-digitalocean";
rev = "v1.15.1";
version = "1.15.1";
sha256 = "0nld6lgz5vy8n4s0y0wpssrslp866rha2znli6pd5sw1nvi6yg0z";
rev = "v1.16.0";
version = "1.16.0";
sha256 = "0yymgkn66a9mif0wic4rais7ap6d4gfxij835ssr2pr3rb49ay8d";
};
dme =
{
@ -268,9 +276,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-dome9";
rev = "v1.17.0";
version = "1.17.0";
sha256 = "123phc71rnb25lv9glybadhmr3pdsrbzl7xm6mj8j213a78qdmn5";
rev = "v1.18.1";
version = "1.18.1";
sha256 = "0m4fxpik55z9ah5nlhvy314xyxvlaldqbwdp3bx1xs9kpm3znvyl";
};
dyn =
{
@ -284,9 +292,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-exoscale";
rev = "v0.16.1";
version = "0.16.1";
sha256 = "0gs39nx12ws0ikal9zyqkyfiljbxbw0pj7llj9xsq96s7crvy6xr";
rev = "v0.16.2";
version = "0.16.2";
sha256 = "102z4v3shk0as76v90151j4c6p93wy16m1hzzk1yp50dlc8ffsks";
};
external =
{
@ -300,9 +308,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-fastly";
rev = "v0.13.0";
version = "0.13.0";
sha256 = "0mcjmk21fil4q98p8v3qln7s2fqbdkjv1pvba0cf9v9d101dhhi9";
rev = "v0.14.0";
version = "0.14.0";
sha256 = "1ak5gyrv66dnf5qy54hvwc4478n3cs5nxd0nwa2vf0gn2zp55bhy";
};
flexibleengine =
{
@ -332,33 +340,33 @@
{
owner = "terraform-providers";
repo = "terraform-provider-github";
rev = "v2.5.1";
version = "2.5.1";
sha256 = "1lqnwq5gsz34n6zzwajxrh0i1cbyicl4zxakr4fch7makri2fqwg";
rev = "v2.6.1";
version = "2.6.1";
sha256 = "1hg5pij2hllj6m6x8salsgw404ap7pw6yccvgynw4y4k26dl0jlr";
};
gitlab =
{
owner = "terraform-providers";
repo = "terraform-provider-gitlab";
rev = "v2.5.0";
version = "2.5.0";
sha256 = "1g7girhjks6p7rcs82p2zd8clp6kdfn6d1synlmfwiw6d3496fvf";
rev = "v2.6.0";
version = "2.6.0";
sha256 = "0qy58fgwipcjwxz473rpcnpkb22n9hqsjckx88lhc2br4pgbcbrd";
};
google-beta =
{
owner = "terraform-providers";
repo = "terraform-provider-google-beta";
rev = "v3.15.0";
version = "3.15.0";
sha256 = "1xncw82y48dcc464v2gzfmr94l3kgh9x2rlmpmmy6g4mihiwh38b";
rev = "v3.18.0";
version = "3.18.0";
sha256 = "1rsaqrgr6ddgx1pala83y70dk32s0mvf6vi877awmimxjzsa1l4r";
};
google =
{
owner = "terraform-providers";
repo = "terraform-provider-google";
rev = "v3.15.0";
version = "3.15.0";
sha256 = "0vw7sndy441xn34kiv2k9hq9p9g649amh7bk91rf0f5p8cmyll1c";
rev = "v3.18.0";
version = "3.18.0";
sha256 = "18cxl1qw1wyvzvhgjm1s3c19hbi5z9s6mipgazhrac70myw8dmy7";
};
grafana =
{
@ -372,9 +380,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-gridscale";
rev = "v1.5.0";
version = "1.5.0";
sha256 = "05nzia9sa555k07gkhyyckdgn9n6a50w8l3id69rjq1jjh0pngd7";
rev = "v1.5.1";
version = "1.5.1";
sha256 = "0m5j9y26a7jl3frnw1j8gll999brprgf0i29p201d3c9b02pxnla";
};
hcloud =
{
@ -404,9 +412,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-heroku";
rev = "v2.3.0";
version = "2.3.0";
sha256 = "1lv3l54fw6rgj2ixkz2dvaf3djj3slhrm0nlbza5c7zjb945igfq";
rev = "v2.4.0";
version = "2.4.0";
sha256 = "1rhny1mbkqkfiqshps5mc5f3ykxnpypsdi72hw4g1k29pbvr4hh8";
};
http =
{
@ -428,9 +436,17 @@
{
owner = "terraform-providers";
repo = "terraform-provider-huaweicloud";
rev = "v1.13.0";
version = "1.13.0";
sha256 = "1caix3lycqnd856z6c3zp9mmq3vr7rblwhhbkwn4rrcld8sv285j";
rev = "v1.14.0";
version = "1.14.0";
sha256 = "10g5xl3pspzmj0bjzqbw3br4k7kh2jplph06f7sz2zg9dncl4h5z";
};
ibm =
{
owner = "IBM-Cloud";
repo = "terraform-provider-ibm";
rev = "v1.4.0";
version = "1.4.0";
sha256 = "147vl55g6c49ihk8z2hwfq2v7g1yj35id1qfjlz0dxalm7cwa3l6";
};
icinga2 =
{
@ -464,6 +480,14 @@
version = "1.3.0";
sha256 = "19af40g8hgz2rdz6523v0fs71ww7qdlf2mh5j9vb7pfzriqwa5k9";
};
infoblox =
{
owner = "terraform-providers";
repo = "terraform-provider-infoblox";
rev = "v1.0.0";
version = "1.0.0";
sha256 = "0p95y5w3fzddygmsjc0j60z0f4aazvy5iwbwszj0i8gs42qhda2f";
};
jdcloud =
{
owner = "terraform-providers";
@ -484,9 +508,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-launchdarkly";
rev = "v1.1.0";
version = "1.1.0";
sha256 = "1gj0srv8shn6qg109y1g42dx8dybkp3qrjn412bvs6f063ggk0zs";
rev = "v1.2.2";
version = "1.2.2";
sha256 = "0rvyzn2a8bh8hvd3f6whfwzpx2frqnfmh8nwlasb0r4xya8lv3bc";
};
librato =
{
@ -500,9 +524,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-linode";
rev = "v1.9.2";
version = "1.9.2";
sha256 = "1nrk8fi0fwkcm4csrppjwv7vd2ilpbj01dywak696nj8b15w176q";
rev = "v1.9.3";
version = "1.9.3";
sha256 = "12jwvpnv4xl9crq6jynking2rcl4ci8ci22db3fadigxqs98hb4w";
};
local =
{
@ -556,9 +580,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-mongodbatlas";
rev = "v0.4.2";
version = "0.4.2";
sha256 = "0cb8dh7bwz9yzyhz8v9j6ksi4dgmmz8d1qpm7234rj36ccirnjmz";
rev = "v0.5.0";
version = "0.5.0";
sha256 = "15m7qmn1gd7gmzlqgf2q70kmihf8ihqabpkf122pxhb3iyikwh77";
};
mysql =
{
@ -604,17 +628,17 @@
{
owner = "terraform-providers";
repo = "terraform-provider-nomad";
rev = "v1.4.4";
version = "1.4.4";
sha256 = "05029s8h8vx7pl0y3d9cd5nlww3483caxhwkbrmk0vs7zdgxk8ns";
rev = "v1.4.5";
version = "1.4.5";
sha256 = "1sccm4mspjn92ky6nscsrmbb573mx53wzsvvapsf2p4119h9s30i";
};
ns1 =
{
owner = "terraform-providers";
repo = "terraform-provider-ns1";
rev = "v1.8.0";
version = "1.8.0";
sha256 = "1h1pqrj11wdi0fnrrh2mkwahi59jl2vd8affy4acx7kny4n92s49";
rev = "v1.8.1";
version = "1.8.1";
sha256 = "04s46f40md8hrqqiwj6wcq4qpx0115qk8hwbln9a7lsrh0zmmmb3";
};
nsxt =
{
@ -644,9 +668,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-oci";
rev = "v3.69.0";
version = "3.69.0";
sha256 = "17vndv6bpa9ajs7llnf64bb482b15virbv311d3ds5lrva4vvrv8";
rev = "v3.72.0";
version = "3.72.0";
sha256 = "05sl702b0j9lpsy3bjac104qngjlsln0v2ni8a78j97xif8jb0an";
};
oktaasa =
{
@ -660,9 +684,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-okta";
rev = "v3.1.1";
version = "3.1.1";
sha256 = "1hky6hqrfyl2gj1lykb7gazj9awjgsxhc028558whm5rysx2wpsr";
rev = "v3.2.0";
version = "3.2.0";
sha256 = "13z5srra4pj5p2dwzrqiny2ph4vmmp8q59ycmd7x2yi93fd02mcl";
};
oneandone =
{
@ -676,9 +700,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-opc";
rev = "v1.3.7";
version = "1.3.7";
sha256 = "01g09w8mqfp1d8phplsdj0vz63q5bgq9fqwy2kp4vrnwb70dq52w";
rev = "v1.4.0";
version = "1.4.0";
sha256 = "1yl8bbh4pf94wlmna294zcawylr9hiaix82wr321g9wb0vi3d5l8";
};
opennebula =
{
@ -692,9 +716,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-openstack";
rev = "v1.26.0";
version = "1.26.0";
sha256 = "1vsvzs8112vbi0x99yg6niw0wr55p09x7cg85qwjd0r42gpfdfq2";
rev = "v1.27.0";
version = "1.27.0";
sha256 = "0d6dms5y8vndcm10zfid1g13c5fi19z7hqll8z07jr0hgvhbzp2v";
};
opentelekomcloud =
{
@ -708,9 +732,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-opsgenie";
rev = "v0.2.9";
version = "0.2.9";
sha256 = "13y6awnm9j5qzq1bcmhg7ngzvx43h2dw9wmzdfi1xcpmv1ldvwpi";
rev = "v0.3.1";
version = "0.3.1";
sha256 = "1ciqhibij0fk2z20yabl464mj9srp1v6dy04dyazmxkw46bm1lc5";
};
oraclepaas =
{
@ -732,17 +756,17 @@
{
owner = "terraform-providers";
repo = "terraform-provider-packet";
rev = "v2.8.0";
version = "2.8.0";
sha256 = "1qnjla347hll0fav0ngnifblk6slbmh1klnm7k9jv327jmv92hz5";
rev = "v2.8.1";
version = "2.8.1";
sha256 = "1idrvkc2bbp3vwz2w45nazr1hq10f7bmyamb57q7mlswydcyk6b2";
};
pagerduty =
{
owner = "terraform-providers";
repo = "terraform-provider-pagerduty";
rev = "v1.5.1";
version = "1.5.1";
sha256 = "12n12sx1qxckqklcaphzr0j9bcwzrl6p8qzdc3d2csiqccqrpdas";
rev = "v1.7.0";
version = "1.7.0";
sha256 = "168v1mpl9df63yp8zjq79hyxcjj4imyzg20rdn6n71d6iz8v85g8";
};
panos =
{
@ -780,9 +804,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-profitbricks";
rev = "v1.4.4";
version = "1.4.4";
sha256 = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i";
rev = "v1.5.0";
version = "1.5.0";
sha256 = "0v9x8sj9c6acmbnkv4bnjvz93dd1fmg9b98rwghiakf968hxx6hl";
};
pureport =
{
@ -804,9 +828,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-rancher2";
rev = "v1.8.1";
version = "1.8.1";
sha256 = "15pvz1sd1x932yxdp7d679vax3dw56bfhp3422vxqsgmdgscwg1s";
rev = "v1.8.3";
version = "1.8.3";
sha256 = "1k2d9j17b7sssliraww6as196ihdcra1ylhg1qbynklpr0asiwna";
};
rancher =
{
@ -884,17 +908,17 @@
{
owner = "terraform-providers";
repo = "terraform-provider-signalfx";
rev = "v4.18.6";
version = "4.18.6";
sha256 = "1xjajkvkcksz0dnawjb3hv14ysp140g0vdj5warshafz8hjbys17";
rev = "v4.19.4";
version = "4.19.4";
sha256 = "15cf9paqrcznj99gv6mxqvgvkd8qbxkwz2145h2qxp5vdcykj78g";
};
skytap =
{
owner = "terraform-providers";
repo = "terraform-provider-skytap";
rev = "v0.14.0";
version = "0.14.0";
sha256 = "01cscykfw5qilf5rlvh7y2l3bqbv8f180ssqw7zqzyr9p4m6511l";
rev = "v0.14.1";
version = "0.14.1";
sha256 = "0ygsdkv7czyhsjsx1q57rmmcl8x66d65yarhg40hlng5c7xpi52g";
};
softlayer =
{
@ -904,6 +928,14 @@
version = "0.0.1";
sha256 = "1xcg5zm2n1pc3l7ng94k589r7ykv6fxsmr5qn9xmmpdf912rdnfq";
};
sops =
{
owner = "carlpett";
repo = "terraform-provider-sops";
rev = "v0.5.0";
version = "0.5.0";
sha256 = "18zhqjkw1639a1vrxniws3sf5p91vrf5m7kksaj3yfiavsr5q2ki";
};
spotinst =
{
owner = "terraform-providers";
@ -928,6 +960,14 @@
version = "1.0.0";
sha256 = "1x295va6c72465cxps0kx3rrb7s9aip2cniy6icsg1b2yrsb9b26";
};
sumologic =
{
owner = "terraform-providers";
repo = "terraform-provider-sumologic";
rev = "v2.0.0";
version = "2.0.0";
sha256 = "0j6lq9xcc3znjd4yd8gyzsbhwbbwi95k16kj1la9cicbvgra8iap";
};
telefonicaopencloud =
{
owner = "terraform-providers";
@ -948,9 +988,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-tencentcloud";
rev = "v1.30.7";
version = "1.30.7";
sha256 = "0d7byng63sxbgn8f5r92lkcaqvq3r0plm619h63f47h6z6z8xarc";
rev = "v1.32.0";
version = "1.32.0";
sha256 = "014zgslr14r446qifk4slq9g5qydxs7bk181gw227k9mr6krgba1";
};
terraform =
{
@ -964,9 +1004,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-tfe";
rev = "v0.15.1";
version = "0.15.1";
sha256 = "0372yjifsr4kvbc36hzhzf6ajlg6wy1r2x94p67m7rgr2fw061n2";
rev = "v0.16.0";
version = "0.16.0";
sha256 = "0c9csyp655wijlnr3rbmymg6gaa23y4fyav0b1y99qsxaa358af5";
};
tls =
{
@ -984,13 +1024,21 @@
version = "0.6.0";
sha256 = "10z032fa64sd8d6r4v2f4m7gp93v8wb2zk2r13fflzg5rfk5740z";
};
turbot =
{
owner = "terraform-providers";
repo = "terraform-provider-turbot";
rev = "v1.1.0";
version = "1.1.0";
sha256 = "1wb5n17rv1r5jn6xdzjjafw7s96i826x9ww8w6llllihgl798zn7";
};
ucloud =
{
owner = "terraform-providers";
repo = "terraform-provider-ucloud";
rev = "v1.17.0";
version = "1.17.0";
sha256 = "0dpy3bkrm20sk4zpkikas5c8ygl0zf9v6cnd34iblw1m41f44n7v";
rev = "v1.19.0";
version = "1.19.0";
sha256 = "17wkhhxvriqix520nv4q4jrk7gah8kkq3l4nj0rzp1kdwxphmsz0";
};
ultradns =
{
@ -1004,17 +1052,17 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vault";
rev = "v2.9.0";
version = "2.9.0";
sha256 = "0a1jkwxz45qcbnd91im0xz948k197zal78n6y45bwcbqnil32yiy";
rev = "v2.10.0";
version = "2.10.0";
sha256 = "1yg8ck9z5ycw8akfhnv4pnxyfzav9dzbhizv4dp78xi2gnddrawi";
};
vcd =
{
owner = "terraform-providers";
repo = "terraform-provider-vcd";
rev = "v2.7.0";
version = "2.7.0";
sha256 = "0bh8hqxpy6722q1v9cnpvn8fqwh5llzz1aavrbsib5brgjc8vqmy";
rev = "v2.8.0";
version = "2.8.0";
sha256 = "0myj5a9mrh7vg6h3gk5f0wsdp6832nz0z10h184107sdchpv253n";
};
venafi =
{
@ -1028,17 +1076,17 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vra7";
rev = "v0.5.0";
version = "0.5.0";
sha256 = "123yskwgzp771nx03sg49vwi5ph3zf2ajf06s7msj0blvz6wan4v";
rev = "v1.0.1";
version = "1.0.1";
sha256 = "0qmldgxmrv840c5rbmskdf4f9g4v52gg9v7magm6j2w2g0dp1022";
};
vsphere =
{
owner = "terraform-providers";
repo = "terraform-provider-vsphere";
rev = "v1.17.0";
version = "1.17.0";
sha256 = "16fglpfy8grlifaa1d1ymvjys7wh39m6py8h45g1xgs1jyfkz00s";
rev = "v1.17.3";
version = "1.17.3";
sha256 = "109rg8w6szdqq2hb9jg4j3i79z5ppb6vayikl1cg8m8dsv2whhrj";
};
vthunder =
{
@ -1052,9 +1100,9 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vultr";
rev = "v1.1.4";
version = "1.1.4";
sha256 = "14anp7b759yyh78ickas52amads2lmwg85h8i0ikln7qhrhl42d7";
rev = "v1.1.5";
version = "1.1.5";
sha256 = "06sxcqklqqsninqach05fzilh6k2h9bv66mgfhf9s53ggs5nm8z7";
};
wavefront =
{
@ -1068,8 +1116,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-yandex";
rev = "v0.35.0";
version = "0.35.0";
sha256 = "10zj5s0zdgh54rlczyvkq292v9xj1ivvn2k9ml65l6j3h0axlgxv";
rev = "v0.38.0";
version = "0.38.0";
sha256 = "16s9ffbdgws5hglfr6f48ipjv2sbkdpkg20m9s1m6v2f055nxwak";
};
}

View File

@ -50,9 +50,10 @@ let
# These are the providers that don't fall in line with the default model
special-providers = {
# Override the google providers
# Override providers that use Go modules + vendor/ folder
google = patchGoModVendor automated-providers.google;
google-beta = patchGoModVendor automated-providers.google-beta;
ibm = patchGoModVendor automated-providers.ibm;
# providers that were moved to the `hashicorp` organization,
# but haven't updated their references yet:
@ -129,12 +130,13 @@ let
'';
});
elasticsearch = callPackage ./elasticsearch {};
# Packages that don't fit the default model
ansible = callPackage ./ansible {};
gandi = callPackage ./gandi {};
ibm = callPackage ./ibm {};
elasticsearch = callPackage ./elasticsearch {};
libvirt = callPackage ./libvirt {};
lxd = callPackage ./lxd {};
ansible = callPackage ./ansible {};
vpsadmin = callPackage ./vpsadmin {};
};
in
automated-providers // special-providers

View File

@ -1,38 +0,0 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
#
# USAGE:
# install the following package globally or in nix-shell:
#
# (terraform.withPlugins ( plugins: [ terraform-provider-ibm ]))
#
# examples:
# https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples
#
buildGoPackage rec {
pname = "terraform-provider-ibm";
version = "0.11.1";
goPackagePath = "github.com/terraform-providers/terraform-provider-ibm";
subPackages = [ "./" ];
src = fetchFromGitHub {
owner = "IBM-Cloud";
repo = "terraform-provider-ibm";
sha256 = "1vp1kzadfkacn6c4illxjra8yki1fx7h77b38fixkcvc79mzasmv";
rev = "v${version}";
};
# Terraform allow checking the provider versions, but this breaks
# if the versions are not provided via file paths.
postBuild = "mv go/bin/terraform-provider-ibm{,_v${version}}";
meta = with stdenv.lib; {
homepage = "https://github.com/IBM-Cloud/terraform-provider-ibm";
description = "Terraform provider is used to manage IBM Cloud resources.";
platforms = platforms.all;
license = licenses.mpl20;
maintainers = with maintainers; [ jensbin ];
};
}

View File

@ -112,8 +112,10 @@ cd "$(dirname "$0")"
# individual repos to fetch
slugs=(
IBM-Cloud/terraform-provider-ibm
ajbosco/terraform-provider-segment
camptocamp/terraform-provider-pass
carlpett/terraform-provider-sops
poseidon/terraform-provider-matchbox
spaceapegames/terraform-provider-wavefront
tweag/terraform-provider-nixos

View File

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "terraform-provider-vpsadmin";
version = "0.1.0";
src = fetchFromGitHub {
owner = "vpsfreecz";
repo = "terraform-provider-vpsadmin";
rev = "v${version}";
hash = "sha256-+6jRjcManQdoKh7ewOJI1UaulY5OSbkIUHmtrBI33u4=";
};
modSha256 = "sha256-gz+t50uHFj4BQnJg6kOJI/joJVE+usLpVzTqziek2wY=";
subPackages = [ "." ];
# Terraform allow checking the provider versions, but this breaks
# if the versions are not provided via file paths.
postInstall = "mv $out/bin/${pname}{,_v${version}}";
meta = with stdenv.lib; {
description = "Terraform provider for vpsAdmin";
homepage = "https://github.com/vpsfreecz/terraform-provider-vpsadmin";
license = licenses.mpl20;
maintainers = with maintainers; [ zimbatm ];
};
}

View File

@ -19,7 +19,7 @@ buildRustPackage rec {
installPhase = ''
mkdir -p $out/bin
cp -p target/release/cfdyndns $out/bin/
cp -p $releaseDir/cfdyndns $out/bin/
'';
meta = with stdenv.lib; {

View File

@ -2,24 +2,16 @@
buildGoModule rec {
pname = "hydroxide";
version = "0.2.11";
version = "0.2.14";
src = fetchFromGitHub {
owner = "emersion";
repo = pname;
rev = "v${version}";
sha256 = "0rn35iyli80kgj3yn93lrx0ybgc8fhvmkvx1d18ill7r4cmavand";
sha256 = "0d8wjyzmw89yhrszz487f7i19rcz7xlx4w2wd4c69k5nsdrs6dys";
};
modSha256 = "0b19rcif8yiyvhrsjd3q5nsvr580lklamlphx4dk47n456ckcqfp";
# FIXME: remove with next release
patches = [
(fetchpatch {
url = "https://github.com/emersion/hydroxide/commit/80e0fa6f3e0154338fb0af8a82ca32ae6281dd15.patch";
sha256 = "1xi0clzgz14a7sxnwr0li7sz9p05sfh3zh5iqg2qz5f415k9jknj";
})
];
modSha256 = "0888ikywclhjb4n7xqxc7hvzlhx1qhf4c3skaddqs3nrxm171jwn";
subPackages = [ "cmd/hydroxide" ];

View File

@ -7,7 +7,7 @@ let
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
# source of the latter disappears much faster.
version = "8.58.0.93";
version = "8.59.0.77";
rpath = stdenv.lib.makeLibraryPath [
alsaLib
@ -62,9 +62,10 @@ let
fetchurl {
urls = [
"https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
];
sha256 = "1nqadil50z896jg0r202gw3xmm3diawn0pnh6n6nxn900f02avl3";
sha256 = "1cnlwlp84942ywji3x60zvhijavazdxfym3rfzq3ysky28b6mn6i";
}
else
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";

View File

@ -15,11 +15,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let
inherit (stdenv.lib) concatStringsSep makeBinPath optional;
version = "5.0.398100.0427";
version = "5.0.399860.0429";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "0b9jdicr783wagp2j79106bbk68974j3v8zg8nvky5fydl6ngjvi";
sha256 = "1jid8rs403b709scz8vpqsi1dxdmssn5426wa3d16p45blnxk16k";
};
};

View File

@ -0,0 +1,54 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkgconfig
, openssl
, libredirect
, writeText
}:
rustPlatform.buildRustPackage rec {
pname = "nym";
version = "0.6.0";
src = fetchFromGitHub {
owner = "nymtech";
repo = "nym";
rev = "v${version}";
sha256 = "1q9i24mzys6a9kp9n0bnxr3iwzblabmc6iif3ah75gffyf0cipk4";
};
cargoSha256 = "0qas544bs4wyllvqf2r5mvqxs1nviwcvxa3rzq10dvjyjm1xyh3k";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl ];
/*
Nym's test presence::converting_mixnode_presence_into_topology_mixnode::it_returns_resolved_ip_on_resolvable_hostname tries to resolve nymtech.net.
Since there is no external DNS resolution available in the build sandbox, we point cargo and its children (that's what we remove the 'unsetenv' call for) to a hosts file in which we statically resolve nymtech.net.
*/
preCheck = ''
export LD_PRELOAD=${libredirect.overrideAttrs (drv: {
postPatch = "sed -i -e /unsetenv/d libredirect.c";
})}/lib/libredirect.so
export NIX_REDIRECTS=/etc/hosts=${writeText "nym_resolve_test_hosts" "127.0.0.1 nymtech.net"}
'';
postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "A mixnet providing IP-level privacy";
longDescription = ''
Nym routes IP packets through other participating nodes to hide their source and destination.
In contrast with Tor, it prevents timing attacks at the cost of latency.
'';
homepage = "https://nymtech.net";
license = licenses.asl20;
maintainers = [ maintainers.ehmry ];
platforms = with platforms; intersectLists (linux ++ darwin) (x86 ++ x86_64); # see https://github.com/nymtech/nym/issues/179 for architectures
};
}

View File

@ -0,0 +1,37 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq nix-prefetch
# adapted from rust-analyzer
set -euo pipefail
cd "$(dirname "$0")"
nixpkgs=../../../..
owner=$(sed -nE 's/.*\bowner = "(.*)".*/\1/p' ./default.nix)
repo=$(sed -nE 's/.*\brepo = "(.*)".*/\1/p' ./default.nix)
rev=$(
curl -s "https://api.github.com/repos/$owner/$repo/releases" |
jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output
)
version=${rev:1}
old_version=$(sed -nE 's/.*\bversion = "(.*)".*/\1/p' ./default.nix)
if grep -q 'cargoSha256 = ""' ./default.nix; then
old_version='broken'
fi
if [[ "$version" == "$old_version" ]]; then
echo "Up to date: $version"
exit
fi
echo "$old_version -> $version"
sha256=$(nix-prefetch -f "$nixpkgs" nym.src --rev "$rev")
# Clear cargoSha256 to avoid inconsistency.
sed -e "s/version = \".*\"/version = \"$version\"/" \
-e "s/sha256 = \".*\"/sha256 = \"$sha256\"/" \
-e "s/cargoSha256 = \".*\"/cargoSha256 = \"\"/" \
--in-place ./default.nix
echo "Prebuilding for cargoSha256"
cargo_sha256=$(nix-prefetch "{ sha256 }: (import $nixpkgs {}).nym.cargoDeps.overrideAttrs (_: { outputHash = sha256; })")
sed "s/cargoSha256 = \".*\"/cargoSha256 = \"$cargo_sha256\"/" \
--in-place ./default.nix

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
let
_version = "2.8.4";
_build = "453";
_version = "2.8.6";
_build = "455";
version = "${_version}-${_build}";
name = "jameica-${version}";
@ -17,7 +17,7 @@ let
comment = "Free Runtime Environment for Java Applications.";
desktopName = "Jameica";
genericName = "Jameica";
categories = "Application;Office;";
categories = "Office;";
};
in
stdenv.mkDerivation rec {
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
owner = "willuhn";
repo = "jameica";
rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
sha256 = "1imm3wpdrgh2sr2wh9vgaf2mp1ixs845vgzk5ib82mak7lg9m1zl";
sha256 = "1pndklxsvixy6zyblqr62ki3pqaq8lfrzgasrvhclqxxh76gjlss";
};
# there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "sherpa";
version = "2.2.8";
version = "2.2.9";
src = fetchurl {
url = "https://www.hepforge.org/archive/sherpa/SHERPA-MC-${version}.tar.gz";
sha256 = "1al1imdrknvbcy8k113xysc14lln4msbv281bf0kx7p73wz59mv3";
sha256 = "1z7vws97k6zfzyqx0dkv2kq8d83dibi73i5jiqk5a22yplp6bnjh";
};
buildInputs = [ gfortran sqlite lhapdf rivet ];
@ -21,13 +21,11 @@ stdenv.mkDerivation rec {
"--enable-rivet=${rivet}"
];
CXXFLAGS = "-std=c++11"; # needed for rivet on OSX
meta = {
meta = with stdenv.lib; {
description = "Simulation of High-Energy Reactions of PArticles in lepton-lepton, lepton-photon, photon-photon, lepton-hadron and hadron-hadron collisions";
license = stdenv.lib.licenses.gpl2;
homepage = "https://gitlab.com/sherpa-team/sherpa";
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ veprbl ];
license = licenses.gpl2;
homepage = "https://gitlab.com/sherpa-team/sherpa";
platforms = platforms.unix;
maintainers = with maintainers; [ veprbl ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, darwin }:
{ stdenv, fetchFromGitHub, installShellFiles, rustPlatform, pkgconfig, openssl, darwin }:
with rustPlatform;
@ -15,7 +15,7 @@ buildRustPackage rec {
cargoSha256 = "0vcg2pl0s329fr8p23pwdx2jy7qahbr7n337ib61f69aaxi1xmq0";
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig installShellFiles ];
buildInputs = [ openssl ]
++ stdenv.lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
@ -23,8 +23,7 @@ buildRustPackage rec {
outputs = [ "out" "man" ];
preFixup = ''
mkdir -p "$man/man/man1"
cp target/release/build/git-ignore-*/out/git-ignore.1 "$man/man/man1/"
installManPage $releaseDir/build/git-ignore-*/out/git-ignore.1
'';
meta = with stdenv.lib; {

View File

@ -71,10 +71,10 @@ index 33d78dd..2b087db 100644
#endif /* HEADER_LDCACHE_H */
diff --git a/src/nvc_info.c b/src/nvc_info.c
index cc96542..3fe7612 100644
index 30e3cfd..6d12a50 100644
--- a/src/nvc_info.c
+++ b/src/nvc_info.c
@@ -163,15 +163,13 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char *
@@ -167,15 +167,13 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char *
if (path_resolve_full(err, path, root, ldcache) < 0)
return (-1);
ldcache_init(&ld, err, path);
@ -91,7 +91,7 @@ index cc96542..3fe7612 100644
goto fail;
info->nlibs32 = size;
@@ -179,13 +177,11 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char *
@@ -183,13 +181,11 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char *
if (info->libs32 == NULL)
goto fail;
if (ldcache_resolve(&ld, LIB32_ARCH, root, libs,
@ -106,7 +106,7 @@ index cc96542..3fe7612 100644
return (rv);
}
@@ -199,7 +195,7 @@ find_binary_paths(struct error *err, struct nvc_driver_info *info, const char *r
@@ -203,7 +199,7 @@ find_binary_paths(struct error *err, struct nvc_driver_info *info, const char *r
char path[PATH_MAX];
int rv = -1;
@ -116,10 +116,10 @@ index cc96542..3fe7612 100644
return (-1);
}
diff --git a/src/nvc_ldcache.c b/src/nvc_ldcache.c
index d41a24d..65b7878 100644
index 6ff380f..cbe6a69 100644
--- a/src/nvc_ldcache.c
+++ b/src/nvc_ldcache.c
@@ -331,7 +331,7 @@ nvc_ldcache_update(struct nvc_context *ctx, const struct nvc_container *cnt)
@@ -340,7 +340,7 @@ nvc_ldcache_update(struct nvc_context *ctx, const struct nvc_container *cnt)
if (validate_args(ctx, cnt != NULL) < 0)
return (-1);

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, libelf, libcap, libseccomp }:
{ stdenv, lib, fetchFromGitHub, pkgconfig, libelf, libcap, libseccomp }:
with lib; let
@ -13,13 +13,13 @@ with lib; let
in stdenv.mkDerivation rec {
pname = "libnvidia-container";
version = "1.0.0";
version = "1.0.6";
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "libnvidia-container";
rev = "v${version}";
sha256 = "1ws6mfsbgxhzlb5w1r8qqg2arvxkr21n59i4cqsyz3h5jsqsflbw";
sha256 = "1pnpc9knwh8d1zqb28zc3spkjc00w0z10vd3jna8ksvpl35jl7w3";
};
# locations of nvidia-driver libraries are not resolved via ldconfig which
@ -42,6 +42,8 @@ in stdenv.mkDerivation rec {
touch deps/src/nvidia-modprobe-${modp-ver}/.download_stamp
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libelf libcap libseccomp ];
meta = {

View File

@ -0,0 +1,48 @@
{ podman-unwrapped
, runCommand
, makeWrapper
, lib
, extraPackages ? []
, podman # Docker compat
, runc # Default container runtime
, crun # Default container runtime (cgroups v2)
, conmon # Container runtime monitor
, slirp4netns # User-mode networking for unprivileged namespaces
, fuse-overlayfs # CoW for images, much faster than default vfs
, utillinux # nsenter
, cni-plugins
, iptables
}:
let
podman = podman-unwrapped;
binPath = lib.makeBinPath ([
runc
crun
conmon
slirp4netns
fuse-overlayfs
utillinux
iptables
] ++ extraPackages);
in runCommand podman.name {
inherit (podman) name pname version meta outputs;
nativeBuildInputs = [
makeWrapper
];
} ''
# Symlink everything but $bin from podman-unwrapped
${
lib.concatMapStringsSep "\n"
(o: "ln -s ${podman.${o}} ${placeholder o}")
(builtins.filter (o: o != "bin")
podman.outputs)}
mkdir -p $bin/bin
ln -s ${podman-unwrapped}/share $bin/share
makeWrapper ${podman-unwrapped}/bin/podman $bin/bin/podman \
--prefix PATH : ${binPath}
''

View File

@ -1,51 +1,37 @@
{ fetchurl
, libX11
, libXrandr
, libXcursor
, libXft
, libXt
, libxcb
, xcbutil
, xcb-util-cursor
, xcbutilkeysyms
, xcbutilwm
, stdenv
}:
{ stdenv, fetchFromGitHub, pkgconfig, xorg }:
stdenv.mkDerivation {
pname = "spectrwm";
version = "2.7.2";
version = "3.3.0";
src = fetchurl {
url = "https://github.com/conformal/spectrwm/archive/SPECTRWM_2_7_2.tar.gz";
sha256 = "1yssqnhxlfl1b60gziqp8c5pzs1lr8p6anrnp9ga1zfdql3b7993";
src = fetchFromGitHub {
owner = "conformal";
repo = "spectrwm";
rev = "SPECTRWM_3_3_0";
sha256 = "139mswlr0z5dbp5migm98qqg84syq0py1qladp3226xy6q3bnn08";
};
buildInputs = [
libX11
libxcb
nativeBuildInputs = [ pkgconfig ];
buildInputs = with xorg; [
libXrandr
libXcursor
libXft
libXt
xcbutil
xcb-util-cursor
xcbutilkeysyms
xcbutilwm
];
sourceRoot = let
subdir = if stdenv.isDarwin then "osx" else "linux";
in "spectrwm-SPECTRWM_2_7_2/${subdir}";
in "source/${subdir}";
makeFlags = [ "PREFIX=$(out)" ];
installPhase = "PREFIX=$out make install";
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with stdenv.lib; {
description = "A tiling window manager";
homepage = "https://github.com/conformal/spectrwm";
maintainers = with maintainers; [ jb55 ];
maintainers = with maintainers; [ christianharke ];
license = licenses.isc;
platforms = platforms.all;

View File

@ -1,6 +1,6 @@
{ stdenv, ocaml, findlib, dune, dune_2, opaline }:
{ pname, version, buildInputs ? [], ... }@args:
{ pname, version, buildInputs ? [], enableParallelBuilding ? true, ... }@args:
let Dune = if args.useDune2 or false then dune_2 else dune; in
@ -11,14 +11,16 @@ else
stdenv.mkDerivation ({
inherit enableParallelBuilding;
buildPhase = ''
runHook preBuild
dune build -p ${pname}
dune build -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
runHook postBuild
'';
checkPhase = ''
runHook preCheck
dune runtest -p ${pname}
dune runtest -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
runHook postCheck
'';
installPhase = ''

View File

@ -1,14 +1,14 @@
{ lib, fetchzip }:
let
version = "1.0.5";
version = "1.0.6";
in
fetchzip rec {
name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
sha256 = "1iqqix7rr22ij0cn7vg812qs4gbjpphndgbzm57abqk658lra4kl";
sha256 = "1198k5zw91g85h6n7rg3y7wcj1nrbby9zlr6zwlmiq0nb37n0d3g";
postFetch = ''
mkdir -p $out/share/fonts

View File

@ -9,17 +9,18 @@
, gtk-engine-murrine
, gdk-pixbuf
, librsvg
, python3
}:
stdenv.mkDerivation rec {
pname = "pop-gtk-theme";
version = "2020-02-10";
version = "2020-04-22";
src = fetchFromGitHub {
owner = "pop-os";
repo = "gtk-theme";
rev = "ed888e9dd5de142cb899e362beedaf694594cc7e";
sha256 = "0ryr1jx9pzij6pkv7sam07f90w5lbrzx0fj5vdxl94612mh76aad";
rev = "b3f98dfd61cfff81f69cdc7f57bce7a9efaa36f4";
sha256 = "0vhcc694x33sgcpbqkrc5bycbd7017k4iii0mjjxgd22jd5lzgkb";
};
nativeBuildInputs = [
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
gtk3
inkscape
optipng
python3
];
buildInputs = [
@ -41,9 +43,9 @@ stdenv.mkDerivation rec {
];
postPatch = ''
for file in $(find -name render-\*.sh); do
patchShebangs "$file"
patchShebangs .
for file in $(find -name render-\*.sh); do
substituteInPlace "$file" \
--replace 'INKSCAPE="/usr/bin/inkscape"' \
'INKSCAPE="inkscape"' \

View File

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-window-is-ready-remover";
version = "unstable-2020-03-25";
src = fetchFromGitHub {
owner = "nunofarruca";
repo = "WindowIsReady_Remover";
rev = "a9f9b3a060a6ba8eec71332f39dc2569b6e93761";
sha256 = "0l6cg9kz2plbvsqhgwfajknzw9yv3mg9gxdbsk147gbh2arnp6v3";
};
uuid = "windowIsReady_Remover@nunofarruca@gmail.com";
installPhase = ''
mkdir -p $out/share/gnome-shell/extensions/
cp -r ${uuid} $out/share/gnome-shell/extensions/${uuid}
'';
meta = with stdenv.lib; {
description = "GNOME Shell extension removing window is ready notification";
homepage = "https://github.com/nunofarruca/WindowIsReady_Remover";
license = licenses.unfree;
};
}

View File

@ -0,0 +1,52 @@
{ stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, glibc
, version, hashes }:
with stdenv;
let
OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
MODEL = toString hostPlatform.parsed.cpu.bits;
in mkDerivation {
pname = "dmd-bootstrap";
inherit version;
src = fetchurl rec {
name = "dmd.${version}.${OS}.tar.xz";
url = "http://downloads.dlang.org/releases/2.x/${version}/${name}";
sha256 = hashes.${OS} or (throw "missing bootstrap sha256 for OS ${OS}");
};
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ fixDarwinDylibNames autoPatchelfHook ];
propagatedBuildInputs = [ curl tzdata ] ++ lib.optional hostPlatform.isLinux glibc;
installPhase = ''
mkdir -p $out
# try to copy model-specific binaries into bin first
mv ${OS}/bin${MODEL} $out/bin || true
mv src license.txt ${OS}/* $out/
# move man into place
mkdir -p $out/share
mv man $out/share/
# move docs into place
mkdir -p $out/share/doc
mv html/d $out/share/doc/
# fix paths in dmd.conf (one level less)
substituteInPlace $out/bin/dmd.conf --replace "/../../" "/../"
'';
meta = with lib; {
inherit version;
description = "Digital Mars D Compiler Package";
# As of 2.075 all sources and binaries use the boost license
license = licenses.boost;
maintainers = [ maintainers.lionello ];
homepage = "https://dlang.org/";
platforms = [ "x86_64-darwin" "i686-linux" "x86_64-linux" ];
};
}

View File

@ -0,0 +1,9 @@
{ callPackage }:
callPackage ./binary.nix {
version = "2.090.1";
hashes = {
# Get these from `nix-prefetch-url http://downloads.dlang.org/releases/2.x/2.090.1/dmd.2.090.1.linux.tar.xz` etc..
osx = "0rbn7j4dr3q0y09fblpj999bi063pi4230rqd5xgd3gwxxa0cz7l";
linux = "1vk6lsvd6y7ccvffd23yial4ig90azaxf2rxc6yvidqd1qhan807";
};
}

View File

@ -1,11 +1,13 @@
{ stdenv, lib, fetchFromGitHub
, makeWrapper, unzip, which, writeTextFile
, curl, tzdata, gdb, darwin, git
, targetPackages, ldc
, version ? "2.085.1"
, dmdSha256 ? "0ccidfcawrcwdpfjwjiln5xwr4ffp8i2hwx52p8zn3xmc5yxm660"
, druntimeSha256 ? "109f2glsqrlshk06761xlw4r5v22mivp873cq9g5gcax3g00k617"
, phobosSha256 ? "0giispqqx8j8xg6c0hm7nx77bcahiwic8rvf12sws3sv5pizv8pr"
, curl, tzdata, gdb, darwin, git, callPackage
, targetPackages, fetchpatch, bash
, dmdBootstrap ? callPackage ./bootstrap.nix { }
, HOST_DMD ? "${dmdBootstrap}/bin/dmd"
, version ? "2.091.1"
, dmdSha256 ? "0brz0n84jdkhr4sq4k91w48p739psbhbb1jk2pi9q60psmx353yr"
, druntimeSha256 ? "0smgpmfriffh110ksski1s5j921kmxbc2zjy0dyj9ksyrxbzklbl"
, phobosSha256 ? "1n00anajgibrfs1xzvrmag28hvbvkc0w1fwlimqbznvhf28rhrxs"
}:
let
@ -51,7 +53,17 @@ stdenv.mkDerivation rec {
})
];
patchFlags = [ "--directory=dmd" "-p1" ];
patchFlags = [ "--directory=dmd" "-p1" "-F3" ];
patches = [
(fetchpatch {
url = "https://github.com/dlang/dmd/commit/4157298cf04f7aae9f701432afd1de7b7e05c30f.patch";
sha256 = "0v4xgqmrx5r8vbx5a4v88s0xnm23mam9nm99yfga7s2sxr0hi5p2";
})
(fetchpatch {
url = "https://github.com/dlang/dmd/commit/1b8a4c90b040bf2f0b68a2739de4991315580b13.patch";
sha256 = "1iih6aalv4fsw9mbrlrybhngkkchzzrzg7q8zl047w36c0x397cs";
})
];
sourceRoot = ".";
@ -62,15 +74,17 @@ stdenv.mkDerivation rec {
patchShebangs .
'';
postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
postPatch = ''
substituteInPlace dmd/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash"
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
'';
nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ]
nativeBuildInputs = [ makeWrapper unzip which gdb git ]
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
Foundation
@ -89,7 +103,7 @@ stdenv.mkDerivation rec {
# Buid and install are based on http://wiki.dlang.org/Building_DMD
buildPhase = ''
cd dmd
make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=ldmd2
make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=${HOST_DMD}
cd ../druntime
make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd}
cd ../phobos
@ -147,8 +161,7 @@ stdenv.mkDerivation rec {
# Everything is now Boost licensed, even the backend.
# https://github.com/dlang/dmd/pull/6680
license = licenses.boost;
maintainers = with maintainers; [ ThomasMader ];
maintainers = with maintainers; [ ThomasMader lionello ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper }:
{ stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper, installShellFiles }:
stdenv.mkDerivation rec {
pname = "fstar";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0wix7l229afkn6c6sk4nwkfq0nznsiqdkds4ixi2yyf72immwmmb";
};
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper installShellFiles ];
buildInputs = with ocamlPackages; [
z3 ocaml findlib batteries menhir stdint
@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
installFlags = [ "-C" "src/ocaml-output" ];
postInstall = ''
wrapProgram $out/bin/fstar.exe --prefix PATH ":" "${z3}/bin"
installShellCompletion --bash .completion/bash/fstar.exe.bash
installShellCompletion --fish .completion/fish/fstar.exe.fish
installShellCompletion --zsh --name _fstar.exe .completion/zsh/__fstar.exe
'';
meta = with stdenv.lib; {

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, libxml2
, version, hashes }:
with stdenv;
let
OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
ARCH = toString hostPlatform.parsed.cpu.name;
in mkDerivation {
pname = "ldc-bootstrap";
inherit version;
src = fetchurl rec {
name = "ldc2-${version}-${OS}-${ARCH}.tar.xz";
url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/${name}";
sha256 = hashes."${OS}-${ARCH}" or (throw "missing bootstrap sha256 for ${OS}-${ARCH}");
};
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ fixDarwinDylibNames autoPatchelfHook ];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxml2 stdenv.cc.cc ];
propagatedBuildInputs = [ curl tzdata ];
installPhase = ''
mkdir -p $out
mv bin etc import lib LICENSE README $out/
'';
meta = with lib; {
inherit version;
description = "The LLVM-based D Compiler";
homepage = "https://github.com/ldc-developers/ldc";
# from https://github.com/ldc-developers/ldc/blob/master/LICENSE
license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
maintainers = with maintainers; [ ThomasMader lionello ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
};
}

View File

@ -0,0 +1,10 @@
{ callPackage }:
callPackage ./binary.nix {
version = "1.19.0";
hashes = {
# Get these from `nix-prefetch-url https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc..
osx-x86_64 = "1bp3xkh9zp64dzq8isanib1gacb3nfbl70qv15qygwk1zan6zgy7";
linux-x86_64 = "146grr2lwarfk13wgkpyb77xb6b3as1is2rf4s2hipqjmc8biy1h";
linux-aarch64 = "1fv6jshfvi15m7masgxq1hgp216qjd5amizrqdf26vhrq3a08li3";
};
}

View File

@ -1,173 +1,5 @@
{ stdenv, fetchurl, cmake, ninja, llvm_5, llvm_8, curl, tzdata
, libconfig, lit, gdb, unzip, darwin, bash
, callPackage, makeWrapper, runCommand, targetPackages
, bootstrapVersion ? false
, version ? "1.17.0"
, ldcSha256 ? "1aag5jfrng6p4ms0fs90hjbv9bcj3hj8h52r68c3cm6racdajbva"
}:
let
bootstrapLdc = if !bootstrapVersion then
# LDC 0.17.x is the last version which doesn't need a working D compiler to
# build so we use that version to bootstrap the actual build.
callPackage ./default.nix {
bootstrapVersion = true;
version = "0.17.6";
ldcSha256 = "0qf5kbxddgmg3kqzi0kf4bgv8vdrnv16y07hcpm0cwv9mc3qr2w6";
}
else
"";
pathConfig = runCommand "ldc-lib-paths" {} ''
mkdir $out
echo ${tzdata}/share/zoneinfo/ > $out/TZDatabaseDirFile
echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > $out/LibcurlPathFile
'';
in
stdenv.mkDerivation rec {
pname = "ldc";
inherit version;
enableParallelBuilding = true;
src = fetchurl {
url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz";
sha256 = ldcSha256;
};
# https://issues.dlang.org/show_bug.cgi?id=19553
hardeningDisable = [ "fortify" ];
postUnpack = ''
patchShebangs .
''
+ stdenv.lib.optionalString (!bootstrapVersion) ''
rm ldc-${version}-src/tests/d2/dmd-testsuite/fail_compilation/mixin_gc.d
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/xtest46_gc.d
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/testptrref_gc.d
# test depends on current year
rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/ddocYear.d
''
+ stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
# https://github.com/NixOS/nixpkgs/issues/34817
rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
'';
postPatch = ''
# Setting SHELL=$SHELL when dmd testsuite is run doesn't work on Linux somehow
substituteInPlace tests/d2/dmd-testsuite/Makefile --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash"
''
+ stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isLinux) ''
substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
''
+ stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
substituteInPlace runtime/phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
''
+ stdenv.lib.optionalString (bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
# Was not able to compile on darwin due to "__inline_isnanl"
# being undefined.
# TODO Remove with version > 0.17.6
substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan
'';
nativeBuildInputs = [ cmake ninja makeWrapper unzip ]
++ stdenv.lib.optionals (!bootstrapVersion) [
bootstrapLdc lit lit.python
]
++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin)
# https://github.com/NixOS/nixpkgs/issues/57120
# https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
llvm_5
++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin)
llvm_8
++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin)
# https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
gdb
++ stdenv.lib.optionals (bootstrapVersion) [
libconfig llvm_5
]
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin
darwin.apple_sdk.frameworks.Foundation;
buildInputs = [ curl tzdata ];
cmakeFlags = stdenv.lib.optionals (!bootstrapVersion) [
"-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J${pathConfig}"
"-DCMAKE_BUILD_TYPE=Release"
];
postConfigure = ''
export DMD=$PWD/bin/ldmd2
'';
makeFlags = [ "DMD=$DMD" ];
fixNames = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
fixDarwinDylibNames() {
local flags=()
for fn in "$@"; do
flags+=(-change "$(basename "$fn")" "$fn")
done
for fn in "$@"; do
if [ -L "$fn" ]; then continue; fi
echo "$fn: fixing dylib"
install_name_tool -id "$fn" "''${flags[@]}" "$fn"
done
}
fixDarwinDylibNames $(find "$(pwd)/lib" -name "*.dylib")
export DYLD_LIBRARY_PATH=$(pwd)/lib
'';
# https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746
additionalExceptions = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin
"|druntime-test-shared";
doCheck = !bootstrapVersion;
checkPhase = stdenv.lib.optionalString doCheck ''
# Build default lib test runners
ninja -j$NIX_BUILD_CORES all-test-runners
${fixNames}
# Run dmd testsuite
export DMD_TESTSUITE_MAKE_ARGS="-j$NIX_BUILD_CORES DMD=$DMD CC=$CXX"
ctest -V -R "dmd-testsuite"
# Build and run LDC D unittests.
ctest --output-on-failure -R "ldc2-unittest"
# Run LIT testsuite.
ctest -V -R "lit-tests"
# Run default lib unittests
ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${additionalExceptions}"
'';
postInstall = ''
wrapProgram $out/bin/ldc2 \
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
'';
meta = with stdenv.lib; {
description = "The LLVM-based D compiler";
homepage = "https://github.com/ldc-developers/ldc";
# from https://github.com/ldc-developers/ldc/blob/master/LICENSE
license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
maintainers = with maintainers; [ ThomasMader ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
};
import ./generic.nix {
version = "1.20.1";
ldcSha256 = "1bqsgab22v02pc3c9gcyf15y7aimadv24d68icaw5lpgnvzxy89b";
}

View File

@ -0,0 +1,143 @@
{ version, ldcSha256 }:
{ stdenv, fetchurl, cmake, ninja, llvm_5, llvm_8, curl, tzdata
, libconfig, lit, gdb, unzip, darwin, bash
, callPackage, makeWrapper, runCommand, targetPackages
, ldcBootstrap ? callPackage ./bootstrap.nix { }
}:
let
pathConfig = runCommand "ldc-lib-paths" {} ''
mkdir $out
echo ${tzdata}/share/zoneinfo/ > $out/TZDatabaseDirFile
echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > $out/LibcurlPathFile
'';
in
stdenv.mkDerivation rec {
pname = "ldc";
inherit version;
enableParallelBuilding = true;
src = fetchurl {
url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz";
sha256 = ldcSha256;
};
# https://issues.dlang.org/show_bug.cgi?id=19553
hardeningDisable = [ "fortify" ];
postUnpack = ''
patchShebangs .
''
+ ''
rm ldc-${version}-src/tests/d2/dmd-testsuite/fail_compilation/mixin_gc.d
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/xtest46_gc.d
rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/testptrref_gc.d
# test depends on current year
rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/ddocYear.d
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
# https://github.com/NixOS/nixpkgs/issues/34817
rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
'';
postPatch = ''
# Setting SHELL=$SHELL when dmd testsuite is run doesn't work on Linux somehow
substituteInPlace tests/d2/dmd-testsuite/Makefile --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash"
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace runtime/phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
'';
nativeBuildInputs = [
cmake ninja makeWrapper unzip ldcBootstrap lit lit.python
]
++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Foundation
# https://github.com/NixOS/nixpkgs/issues/57120
# https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
llvm_5
]
++ stdenv.lib.optionals (!stdenv.hostPlatform.isDarwin) [
llvm_8
# https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
gdb
];
buildInputs = [ curl tzdata ];
cmakeFlags = [
"-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J${pathConfig}"
"-DCMAKE_BUILD_TYPE=Release"
];
postConfigure = ''
export DMD=$PWD/bin/ldmd2
'';
makeFlags = [ "DMD=$DMD" ];
fixNames = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
fixDarwinDylibNames() {
local flags=()
for fn in "$@"; do
flags+=(-change "$(basename "$fn")" "$fn")
done
for fn in "$@"; do
if [ -L "$fn" ]; then continue; fi
echo "$fn: fixing dylib"
install_name_tool -id "$fn" "''${flags[@]}" "$fn"
done
}
fixDarwinDylibNames $(find "$(pwd)/lib" -name "*.dylib")
export DYLD_LIBRARY_PATH=$(pwd)/lib
'';
# https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746
additionalExceptions = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin
"|druntime-test-shared";
checkPhase = ''
# Build default lib test runners
ninja -j$NIX_BUILD_CORES all-test-runners
${fixNames}
# Run dmd testsuite
export DMD_TESTSUITE_MAKE_ARGS="-j$NIX_BUILD_CORES DMD=$DMD"
ctest -V -R "dmd-testsuite"
# Build and run LDC D unittests.
ctest --output-on-failure -R "ldc2-unittest"
# Run LIT testsuite.
ctest -V -R "lit-tests"
# Run default lib unittests
ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${additionalExceptions}"
'';
postInstall = ''
wrapProgram $out/bin/ldc2 \
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
'';
meta = with stdenv.lib; {
description = "The LLVM-based D compiler";
homepage = "https://github.com/ldc-developers/ldc";
# from https://github.com/ldc-developers/ldc/blob/master/LICENSE
license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
maintainers = with maintainers; [ ThomasMader lionello ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
};
}

View File

@ -1,23 +1,32 @@
{ stdenv, fetchurl, python2Packages }:
{ stdenv, python3Packages }:
python2Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "hy";
version = "0.17.0";
version = "0.18.0";
src = python2Packages.fetchPypi {
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi";
sha256 = "04dfwm336gw61fmgwikvh0cnxk682p19b4w555wl5d7mlym4rwj2";
};
propagatedBuildInputs = with python2Packages; [
checkInputs = with python3Packages; [ flake8 pytest ];
propagatedBuildInputs = with python3Packages; [
appdirs
astor
clint
colorama
fastentrypoints
funcparserlib
rply
pygments
];
# Hy does not include tests in the source distribution from PyPI, so only test executable.
checkPhase = ''
$out/bin/hy --help > /dev/null
'';
meta = with stdenv.lib; {
description = "A LISP dialect embedded in Python";
homepage = "http://hylang.org/";

View File

@ -1,9 +1,10 @@
{ self, callPackage, lib }:
callPackage ./default.nix {
inherit self;
version = "2.0.5";
version = "2.0.5-2020-03-20";
rev = "e613105";
isStable = true;
sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7";
sha256 = "0k843z90s4hi0qhri6ixy8sv21nig8jwbznpqgqg845ji530kqj7";
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
platforms = with lib; filter (p: p != "aarch64-linux")
(platforms.linux ++ platforms.darwin);

View File

@ -1,7 +1,8 @@
{ self, callPackage }:
callPackage ./default.nix {
inherit self;
version = "2.1.0-beta3";
version = "2.1.0-2020-03-20";
rev = "9143e86";
isStable = false;
sha256 = "1hyrhpkwjqsv54hnnx4cl8vk44h9d6c9w0fz1jfjz00w255y7lhs";
sha256 = "1zw1yr0375d6jr5x20zvkvk76hkaqamjynbswpl604w6r6id070b";
}

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, buildPackages
{ stdenv, fetchFromGitHub, buildPackages
, name ? "luajit-${version}"
, isStable
, sha256
, rev
, version
, extraMeta ? {}
, callPackage
@ -10,6 +11,7 @@
, enableFFI ? true
, enableJIT ? true
, enableJITDebugModule ? enableJIT
, enableGC64 ? stdenv.hostPlatform.isAarch64
, enable52Compat ? false
, enableValgrindSupport ? false
, valgrind ? null
@ -28,6 +30,7 @@ let
optional (!enableFFI) "-DLUAJIT_DISABLE_FFI"
++ optional (!enableJIT) "-DLUAJIT_DISABLE_JIT"
++ optional enable52Compat "-DLUAJIT_ENABLE_LUA52COMPAT"
++ optional (!enableGC64) "-DLUAJIT_DISABLE_GC64"
++ optional useSystemMalloc "-DLUAJIT_USE_SYSMALLOC"
++ optional enableValgrindSupport "-DLUAJIT_USE_VALGRIND"
++ optional enableGDBJITSupport "-DLUAJIT_USE_GDBJIT"
@ -37,9 +40,10 @@ let
in
stdenv.mkDerivation rec {
inherit name version;
src = fetchurl {
url = "http://luajit.org/download/LuaJIT-${version}.tar.gz";
inherit sha256;
src = fetchFromGitHub {
owner = "LuaJIT";
repo = "LuaJIT";
inherit sha256 rev;
};
luaversion = "5.1";

View File

@ -1,250 +1,280 @@
# We have tests for PCRE and PHP-FPM in nixos/tests/php/ or
# both in the same attribute named nixosTests.php
{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin
, writeText , autoconf, automake, bison, flex, libtool, pkgconfig, re2c
, apacheHttpd, libargon2, libxml2, pcre, pcre2 , systemd, valgrind
}:
{ callPackage, lib, stdenv, nixosTests }@_args:
let
generic =
{ version
, sha256
, extraPatches ? []
{ callPackage, lib, stdenv, nixosTests, config, fetchurl, makeWrapper
, symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
, pkgconfig, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
, systemd, valgrind
# Sapi flags
, cgiSupport ? config.php.cgi or true
, cliSupport ? config.php.cli or true
, fpmSupport ? config.php.fpm or true
, pearSupport ? config.php.pear or true
, pharSupport ? config.php.phar or true
, phpdbgSupport ? config.php.phpdbg or true
, version
, sha256
, extraPatches ? []
# Sapi flags
, cgiSupport ? true
, cliSupport ? true
, fpmSupport ? true
, pearSupport ? true
, pharSupport ? true
, phpdbgSupport ? true
# Misc flags
, apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin)
, argon2Support ? config.php.argon2 or true
, cgotoSupport ? config.php.cgoto or false
, embedSupport ? config.php.embed or false
, ipv6Support ? config.php.ipv6 or true
, systemdSupport ? config.php.systemd or stdenv.isLinux
, valgrindSupport ? config.php.valgrind or true
, ztsSupport ? (config.php.zts or false) || (apxs2Support)
}: let
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
in stdenv.mkDerivation {
pname = "php";
# Misc flags
, apxs2Support ? !stdenv.isDarwin
, argon2Support ? true
, cgotoSupport ? false
, embedSupport ? false
, ipv6Support ? true
, systemdSupport ? stdenv.isLinux
, valgrindSupport ? true
, ztsSupport ? apxs2Support
}@args:
let
# buildEnv wraps php to provide additional extensions and
# configuration. Its usage is documented in
# doc/languages-frameworks/php.section.md.
#
# Create a buildEnv with earlier overridden values and
# extensions functions in its closure. This is necessary for
# consecutive calls to buildEnv and overrides to work as
# expected.
mkBuildEnv = prevArgs: prevExtensionFunctions: lib.makeOverridable (
{ extensions ? ({...}: []), extraConfig ? "", ... }@innerArgs:
let
allArgs = args // prevArgs // innerArgs;
filteredArgs = builtins.removeAttrs allArgs [ "extensions" "extraConfig" ];
php = generic filteredArgs;
inherit version;
php-packages = (callPackage ../../../top-level/php-packages.nix {
php = phpWithExtensions;
});
enableParallelBuilding = true;
allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
enabledExtensions =
builtins.foldl'
(state: f:
f { enabled = state; all = php-packages.extensions; })
[]
allExtensionFunctions;
nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ];
getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
buildInputs =
# PCRE extension
[ pcre' ]
# Enable sapis
++ lib.optional pearSupport [ libxml2.dev ]
# Misc deps
++ lib.optional apxs2Support apacheHttpd
++ lib.optional argon2Support libargon2
++ lib.optional systemdSupport systemd
++ lib.optional valgrindSupport valgrind
;
CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
configureFlags =
# Disable all extensions
[ "--disable-all" ]
# PCRE
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ]
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ [ "PCRE_LIBDIR=${pcre'}" ]
# Enable sapis
++ lib.optional (!cgiSupport) "--disable-cgi"
++ lib.optional (!cliSupport) "--disable-cli"
++ lib.optional fpmSupport "--enable-fpm"
++ lib.optional pearSupport [ "--with-pear=$(out)/lib/php/pear" "--enable-xml" "--with-libxml" ]
++ lib.optional (pearSupport && (lib.versionOlder version "7.4")) "--enable-libxml"
++ lib.optional pharSupport "--enable-phar"
++ lib.optional phpdbgSupport "--enable-phpdbg"
# Misc flags
++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
++ lib.optional argon2Support "--with-password-argon2=${libargon2}"
++ lib.optional cgotoSupport "--enable-re2c-cgoto"
++ lib.optional embedSupport "--enable-embed"
++ lib.optional (!ipv6Support) "--disable-ipv6"
++ lib.optional systemdSupport "--with-fpm-systemd"
++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
++ lib.optional ztsSupport "--enable-maintainer-zts"
;
hardeningDisable = [ "bindnow" ];
preConfigure = ''
# Don't record the configure flags since this causes unnecessary
# runtime dependencies
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
export EXTENSION_DIR=$out/lib/php/extensions
./buildconf --copy --force
if test -f $src/genfiles; then
./genfiles
fi
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace "-lstdc++" "-lc++"
'';
postInstall = ''
test -d $out/etc || mkdir $out/etc
cp php.ini-production $out/etc/php.ini
'';
postFixup = ''
mkdir -p $dev/bin $dev/share/man/man1
mv $out/bin/phpize $out/bin/php-config $dev/bin/
mv $out/share/man/man1/phpize.1.gz \
$out/share/man/man1/php-config.1.gz \
$dev/share/man/man1/
'';
src = fetchurl {
url = "https://www.php.net/distributions/php-${version}.tar.bz2";
inherit sha256;
};
patches = [ ./fix-paths-php7.patch ] ++ extraPatches;
separateDebugInfo = true;
outputs = [ "out" "dev" ];
meta = with stdenv.lib; {
description = "An HTML-embedded scripting language";
homepage = "https://www.php.net/";
license = licenses.php301;
maintainers = with maintainers; [ globin etu ma27 ];
platforms = platforms.all;
outputsToInstall = [ "out" "dev" ];
};
};
generic' = { version, sha256, self, selfWithExtensions, ... }@args:
let
php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]);
php-packages = (callPackage ../../../top-level/php-packages.nix {
php = self;
phpWithExtensions = selfWithExtensions;
});
buildEnv = { extensions ? (_: []), extraConfig ? "" }:
let
getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
enabledExtensions = extensions php-packages.extensions;
# Generate extension load configuration snippets from the
# extension parameter. This is an attrset suitable for use
# with textClosureList, which is used to put the strings in
# the right order - if a plugin which is dependent on
# another plugin is placed before its dependency, it will
# fail to load.
extensionTexts =
lib.listToAttrs
(map (ext:
# Recursively get a list of all internal dependencies
# for a list of extensions.
getDepsRecursively = extensions:
let
extName = getExtName ext;
type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension";
deps = lib.concatMap
(ext: ext.internalDeps or [])
extensions;
in
lib.nameValuePair extName {
text = "${type}=${ext}/lib/php/extensions/${extName}.so";
deps = lib.optionals (ext ? internalDeps)
(map getExtName ext.internalDeps);
})
enabledExtensions);
if ! (deps == []) then
deps ++ (getDepsRecursively deps)
else
deps;
extNames = map getExtName enabledExtensions;
extraInit = writeText "custom-php.ini" ''
${lib.concatStringsSep "\n"
(lib.textClosureList extensionTexts extNames)}
${extraConfig}
# Generate extension load configuration snippets from the
# extension parameter. This is an attrset suitable for use
# with textClosureList, which is used to put the strings in
# the right order - if a plugin which is dependent on
# another plugin is placed before its dependency, it will
# fail to load.
extensionTexts =
lib.listToAttrs
(map (ext:
let
extName = getExtName ext;
type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension";
in
lib.nameValuePair extName {
text = "${type}=${ext}/lib/php/extensions/${extName}.so";
deps = lib.optionals (ext ? internalDeps)
(map getExtName ext.internalDeps);
})
(enabledExtensions ++ (getDepsRecursively enabledExtensions)));
extNames = map getExtName enabledExtensions;
extraInit = writeText "php.ini" ''
${lib.concatStringsSep "\n"
(lib.textClosureList extensionTexts extNames)}
${extraConfig}
'';
phpWithExtensions = symlinkJoin rec {
name = "php-with-extensions-${version}";
inherit (php) version;
nativeBuildInputs = [ makeWrapper ];
passthru = {
buildEnv = mkBuildEnv allArgs allExtensionFunctions;
withExtensions = mkWithExtensions allArgs allExtensionFunctions;
phpIni = "${phpWithExtensions}/lib/php.ini";
unwrapped = php;
tests = nixosTests.php;
inherit (php-packages) packages extensions;
inherit (php) meta;
};
paths = [ php ];
postBuild = ''
cp ${extraInit} $out/lib/php.ini
wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
if test -e $out/bin/php-fpm; then
wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib
fi
'';
};
in
phpWithExtensions);
mkWithExtensions = prevArgs: prevExtensionFunctions: extensions:
mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; };
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
in
stdenv.mkDerivation {
pname = "php";
inherit version;
enableParallelBuilding = true;
nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ];
buildInputs =
# PCRE extension
[ pcre' ]
# Enable sapis
++ lib.optional pearSupport [ libxml2.dev ]
# Misc deps
++ lib.optional apxs2Support apacheHttpd
++ lib.optional argon2Support libargon2
++ lib.optional systemdSupport systemd
++ lib.optional valgrindSupport valgrind
;
CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
configureFlags =
# Disable all extensions
[ "--disable-all" ]
# PCRE
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ]
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ [ "PCRE_LIBDIR=${pcre'}" ]
# Enable sapis
++ lib.optional (!cgiSupport) "--disable-cgi"
++ lib.optional (!cliSupport) "--disable-cli"
++ lib.optional fpmSupport "--enable-fpm"
++ lib.optional pearSupport [ "--with-pear=$(out)/lib/php/pear" "--enable-xml" "--with-libxml" ]
++ lib.optional (pearSupport && (lib.versionOlder version "7.4")) "--enable-libxml"
++ lib.optional pharSupport "--enable-phar"
++ lib.optional phpdbgSupport "--enable-phpdbg"
# Misc flags
++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
++ lib.optional argon2Support "--with-password-argon2=${libargon2}"
++ lib.optional cgotoSupport "--enable-re2c-cgoto"
++ lib.optional embedSupport "--enable-embed"
++ lib.optional (!ipv6Support) "--disable-ipv6"
++ lib.optional systemdSupport "--with-fpm-systemd"
++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
++ lib.optional ztsSupport "--enable-maintainer-zts"
;
hardeningDisable = [ "bindnow" ];
preConfigure = ''
# Don't record the configure flags since this causes unnecessary
# runtime dependencies
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
export EXTENSION_DIR=$out/lib/php/extensions
./buildconf --copy --force
if test -f $src/genfiles; then
./genfiles
fi
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace "-lstdc++" "-lc++"
'';
in
symlinkJoin {
name = "php-with-extensions-${version}";
inherit (php) version;
nativeBuildInputs = [ makeWrapper ];
passthru = {
inherit buildEnv withExtensions enabledExtensions;
inherit (php-packages) packages extensions;
};
paths = [ php ];
postBuild = ''
cp ${extraInit} $out/lib/custom-php.ini
wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
postInstall = ''
test -d $out/etc || mkdir $out/etc
cp php.ini-production $out/etc/php.ini
'';
if test -e $out/bin/php-fpm; then
wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib
fi
'';
postFixup = ''
mkdir -p $dev/bin $dev/share/man/man1
mv $out/bin/phpize $out/bin/php-config $dev/bin/
mv $out/share/man/man1/phpize.1.gz \
$out/share/man/man1/php-config.1.gz \
$dev/share/man/man1/
'';
src = fetchurl {
url = "https://www.php.net/distributions/php-${version}.tar.bz2";
inherit sha256;
};
withExtensions = extensions: buildEnv { inherit extensions; };
in
php.overrideAttrs (_: {
passthru = {
enabledExtensions = [];
inherit buildEnv withExtensions;
inherit (php-packages) packages extensions;
};
});
patches = [ ./fix-paths-php7.patch ] ++ extraPatches;
php72base = generic' {
separateDebugInfo = true;
outputs = [ "out" "dev" ];
passthru = {
buildEnv = mkBuildEnv {} [];
withExtensions = mkWithExtensions {} [];
};
meta = with stdenv.lib; {
description = "An HTML-embedded scripting language";
homepage = "https://www.php.net/";
license = licenses.php301;
maintainers = teams.php.members;
platforms = platforms.all;
outputsToInstall = [ "out" "dev" ];
};
};
php72base = callPackage generic (_args // {
version = "7.2.29";
sha256 = "08xry2fgqgg8s0ym1hh11wkbr36av3zq1bn4krbciw1b7x8gb8ga";
self = php72base;
selfWithExtensions = php72;
# https://bugs.php.net/bug.php?id=76826
extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
};
});
php73base = generic' {
php73base = callPackage generic (_args // {
version = "7.3.16";
sha256 = "0bh499v9dfgh9k51w4rird1slb9rh9whp5h37fb84c98d992s1xq";
self = php73base;
selfWithExtensions = php73;
# https://bugs.php.net/bug.php?id=76826
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
};
});
php74base = generic' {
php74base = callPackage generic (_args // {
version = "7.4.4";
sha256 = "17w2m4phhpj76x5fx67vgjrlkcczqvky3f5in1kjg2pch90qz3ih";
self = php74base;
selfWithExtensions = php74;
};
});
defaultPhpExtensions = extensions: with extensions; ([
defaultPhpExtensions = { all, ... }: with all; ([
bcmath calendar curl ctype dom exif fileinfo filter ftp gd
gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache
openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql
@ -252,13 +282,13 @@ let
tokenizer xmlreader xmlwriter zip zlib
] ++ lib.optionals (!stdenv.isDarwin) [ imap ]);
defaultPhpExtensionsWithHash = extensions:
(defaultPhpExtensions extensions) ++ [ extensions.hash ];
defaultPhpExtensionsWithHash = { all, ... }:
(defaultPhpExtensions { inherit all; }) ++ [ all.hash ];
php74 = php74base.withExtensions defaultPhpExtensions;
php73 = php73base.withExtensions defaultPhpExtensionsWithHash;
php72 = php72base.withExtensions defaultPhpExtensionsWithHash;
in {
inherit php72base php73base php74base php72 php73 php74;
inherit php72 php73 php74;
}

View File

@ -1,23 +1,41 @@
{ stdenv, fetchurl, makeWrapper }:
{ stdenv, fetchFromGitHub, autoreconfHook, strace, which }:
stdenv.mkDerivation rec {
name = "libeatmydata-105";
pname = "libeatmydata";
version = "105";
src = fetchurl {
url = "https://www.flamingspork.com/projects/libeatmydata/${name}.tar.gz";
sha256 = "1pd8sc73cgc41ldsvq6g8ics1m5k8gdcb91as9yg8z5jnrld1lmx";
src = fetchFromGitHub {
owner = "stewartsmith";
repo = pname;
rev = "${pname}-${version}";
sha256 = "0sx803h46i81h67xbpd3c7ky0nhaw4gij214nsx4lqig70223v9r";
};
patches = [ ./find-shell-lib.patch ];
patchFlags = "-p0";
postPatch = ''
substituteInPlace eatmydata.in --replace NIX_OUT_DIR $out
substituteInPlace eatmydata.in \
--replace NIX_OUT_DIR $out
patchShebangs .
'';
meta = {
homepage = "https://www.flamingspork.com/projects/libeatmydata/";
license = stdenv.lib.licenses.gpl3Plus;
nativeBuildInputs = [
autoreconfHook
] ++ stdenv.lib.optionals doCheck [ strace which ];
# while we can *build* in parallel, the tests also run in parallel which does
# not work with v105. Later versions (unreleased) have a fix for that. The
# problem is that on hydra we cannot use strace, so the tests don't run there.
enableParallelBuilding = true;
doCheck = false;
meta = with stdenv.lib; {
description = "Small LD_PRELOAD library to disable fsync and friends";
platforms = stdenv.lib.platforms.unix;
homepage = "https://www.flamingspork.com/projects/libeatmydata/";
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}

View File

@ -1,8 +1,21 @@
{ fetchurl, stdenv, libtool, gettext, zlib, bzip2, flac, libvorbis
{ fetchurl, stdenv, substituteAll
, libtool, gettext, zlib, bzip2, flac, libvorbis
, exiv2, libgsf, rpm, pkgconfig, fetchpatch
, gstreamerSupport ? true, gst_all_1 ? null
# ^ Needed e.g. for proper id3 and FLAC support.
# Set to `false` to decrease package closure size by about 87 MB (53%).
, gstPlugins ? (gst: [ gst.gst-plugins-base gst.gst-plugins-good ])
# If an application needs additional gstreamer plugins it can also make them
# available by adding them to the environment variable
# GST_PLUGIN_SYSTEM_PATH_1_0, e.g. like this:
# postInstall = ''
# wrapProgram $out/bin/extract --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
# '';
# See also <https://nixos.org/nixpkgs/manual/#sec-language-gnome>.
, gtkSupport ? true, glib ? null, gtk3 ? null
, videoSupport ? true, ffmpeg ? null, libmpeg2 ? null}:
assert gstreamerSupport -> gst_all_1 != null && builtins.isList (gstPlugins gst_all_1);
assert gtkSupport -> glib != null && gtk3 != null;
assert videoSupport -> ffmpeg != null && libmpeg2 != null;
@ -28,6 +41,15 @@ stdenv.mkDerivation rec {
sha256 = "01xhcjbzv6p53wz7y2ii76kb8m9iwvnm4ip9w4a0bpgaxqz4b9fw";
excludes = [ "ChangeLog" ];
})
] ++ stdenv.lib.optionals gstreamerSupport [
# Libraries cannot be wrapped so we need to hardcode the plug-in paths.
(substituteAll {
src = ./gst-hardcode-plugins.patch;
load_gst_plugins = stdenv.lib.concatMapStrings
(plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'')
(gstPlugins gst_all_1);
})
];
preConfigure =
@ -40,7 +62,9 @@ stdenv.mkDerivation rec {
[ libtool gettext zlib bzip2 flac libvorbis exiv2
libgsf rpm
pkgconfig
] ++ stdenv.lib.optionals gtkSupport [ glib gtk3 ]
] ++ stdenv.lib.optionals gstreamerSupport
([ gst_all_1.gstreamer ] ++ gstPlugins gst_all_1)
++ stdenv.lib.optionals gtkSupport [ glib gtk3 ]
++ stdenv.lib.optionals videoSupport [ ffmpeg libmpeg2 ];
configureFlags = [

View File

@ -0,0 +1,11 @@
--- a/src/plugins/gstreamer_extractor.c
+++ b/src/plugins/gstreamer_extractor.c
@@ -2215,6 +2215,7 @@ void __attribute__ ((constructor))
gstreamer_init ()
{
gst_init (NULL, NULL);
+ @load_gst_plugins@
g_log_set_default_handler (&log_handler, NULL);
g_log_set_handler (NULL, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,
&log_handler, NULL);

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
, rdma-core, zlib, numactl, libevent, hwloc, pkgsTargetTarget, symlinkJoin
, libpsm2, libfabric
# Enable CUDA support
, cudaSupport ? false, cudatoolkit ? null
@ -9,6 +10,10 @@
# Pass PATH/LD_LIBRARY_PATH to point to current mpirun by default
, enablePrefix ? false
# Enable libfabric support (necessary for Omnipath networks) on x86_64 linux
, fabricSupport ? stdenv.isLinux && stdenv.isx86_64
}:
assert !cudaSupport || cudatoolkit != null;
@ -44,7 +49,8 @@ in stdenv.mkDerivation rec {
++ lib.optionals isLinux [ libnl numactl ]
++ lib.optionals cudaSupport [ cudatoolkit ]
++ [ libevent hwloc ]
++ lib.optional (isLinux || isFreeBSD) rdma-core;
++ lib.optional (isLinux || isFreeBSD) rdma-core
++ lib.optional fabricSupport [ libpsm2 libfabric ];
nativeBuildInputs = [ perl ];
@ -56,6 +62,7 @@ in stdenv.mkDerivation rec {
# https://github.com/openucx/ucx
# https://www.open-mpi.org/faq/?category=buildcuda
++ lib.optionals cudaSupport [ "--with-cuda=${cudatoolkit_joined}" "--enable-dlopen" ]
++ lib.optionals fabricSupport [ "--with-psm2=${libpsm2}" "--with-libfabric=${libfabric}" ]
;
enableParallelBuilding = true;

View File

@ -1,6 +1,6 @@
{ callPackage, ... }:
callPackage ./generic-v3.nix {
version = "3.11.3";
sha256 = "0cn6h6fg5h64q5h3ncfwr3m7yszf5n9gpvgpv7s1csndp0ffzmin";
version = "3.11.4";
sha256 = "00g61f1yd8z5l0z0svmr3hms38ph35lcx2y7hivw6fahslw0l8yw";
}

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
# At least, we use -fPIC for other packages to be able to use this in shared
# objects.
cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" "-DOPENGL_INCLUDE_DIR=${libGL}/include" ]
++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ]
++ optional (qtLib != null) [ "-DVTK_Group_Qt:BOOL=ON" ]
++ optional stdenv.isDarwin [ "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" ]
++ optional enablePython [ "-DVTK_WRAP_PYTHON:BOOL=ON" ];
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Open source libraries for 3D computer graphics, image processing and visualization";
homepage = "http://www.vtk.org/";
homepage = "https://www.vtk.org/";
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ knedlsepp ];
platforms = with stdenv.lib.platforms; unix;

View File

@ -8,11 +8,11 @@ buildDunePackage rec {
minimumOCamlVersion = "4.07";
pname = "x509";
version = "0.11.0";
version = "0.11.1";
src = fetchurl {
url = "https://github.com/mirleft/ocaml-x509/releases/download/v${version}/x509-v${version}.tbz";
sha256 = "0gcs3vpmixxxx2q4b2iphb1xw1jffya1wkp0p1xbmsfcghzrj20m";
sha256 = "1vmjqwmxf7zz157rlp3wp3zp88kw62m4f22i0xmxhinssd0dvr9c";
};
useDune2 = true;

View File

@ -34,7 +34,7 @@ buildPythonPackage rec {
meta = with stdenv.lib; {
description = "The uncompromising Python code formatter";
homepage = "https://github.com/ambv/black";
homepage = "https://github.com/psf/black";
license = licenses.mit;
maintainers = with maintainers; [ sveitser ];
};

View File

@ -6,7 +6,7 @@
buildGoPackage rec {
pname = "asmfmt";
version = "1.1";
version = "1.2.1";
goPackagePath = "github.com/klauspost/asmfmt";
@ -14,19 +14,15 @@ buildGoPackage rec {
owner = "klauspost";
repo = "asmfmt";
rev = "v${version}";
sha256 = "08mybfizcvck460axakycz9ndzcgwqilp5mmgm4bl8hfrn36mskw";
sha256 = "0qwxb4yx12yl817vgbhs7acaj98lgk27dh50mb8sm9ccw1f43h9i";
};
patches = [
(fetchpatch {
excludes = ["README.md"];
url = "https://github.com/klauspost/asmfmt/commit/39a37c8aed8095e0fdfb07f78fc8acbd465d9627.patch";
sha256 = "18bc77l87mf0yvqc3adlakxz6wflyqfsc2wrmh9q0nlqghlmnw5k";
})
];
goDeps = ./deps.nix;
# This package comes with its own version of goimports, gofmt and goreturns
# but these binaries are outdated and are offered by other packages.
subPackages = [ "cmd/asmfmt" ];
meta = with lib; {
description = "Go Assembler Formatter";
homepage = "https://github.com/klauspost/asmfmt";

View File

@ -72,7 +72,7 @@ python3Packages.buildPythonApplication rec {
homepage = "https://mesonbuild.com";
description = "SCons-like build system that use python as a front-end language and Ninja as a building backend";
license = licenses.asl20;
maintainers = with maintainers; [ jtojnar mbe rasendubi ];
maintainers = with maintainers; [ jtojnar mbe ];
platforms = platforms.all;
};
}

View File

@ -29,7 +29,6 @@
, gnumake
, gnupg
, gnutar
, p7zip
, json-glib
, libcap
, libdwarf
@ -99,7 +98,6 @@ in stdenv.mkDerivation rec {
cpio = "${cpio}/bin/cpio";
git = "${gitMinimal}/bin/git";
rofilesfuse = "${ostree}/bin/rofiles-fuse";
sevenz = "${p7zip}/bin/7z";
strip = "${binutils}/bin/strip";
eustrip = "${elfutils}/bin/eu-strip";
euelfcompress = "${elfutils}/bin/eu-elfcompress";

View File

@ -49,15 +49,6 @@
va_end (ap);
return res;
@@ -470,7 +470,7 @@ un7z (GFile *dir,
GError **error)
{
gboolean res;
- const gchar *argv[] = { "7z", "x", sevenz_path, NULL };
+ const gchar *argv[] = { "@sevenz@", "x", sevenz_path, NULL };
res = flatpak_spawnv (dir, NULL, 0, error, argv);
@@ -483,7 +483,7 @@ unrpm (GFile *dir,
GError **error)
{

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "golangci-lint";
version = "1.25.0";
version = "1.25.1";
src = fetchFromGitHub {
owner = "golangci";
repo = "golangci-lint";
rev = "v${version}";
sha256 = "0xf9chk6f1ydg2wyi6wzj2fxl641z7iyk6spp5gb1chq7plsi8sm";
sha256 = "04r26nn72myacs6v2jq8mi4kjik82iwsh6w59h4k9yk0my3fjwia";
};
modSha256 = "15lb8y4kj2h514nl5517ah3ml9d2i71zv6ah08lpycz1b4v9hlwv";
modSha256 = "1pz5f2hv2lssiwsp60hsycg2ijyafb7r5fl2yrvflqg547k3n8x2";
subPackages = [ "cmd/golangci-lint" ];
meta = with lib; {

View File

@ -1,25 +1,22 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage {
buildGoPackage rec {
pname = "gox";
version = "20181025";
version = "1.0.1";
goPackagePath = "github.com/mitchellh/gox";
src = fetchFromGitHub {
owner = "mitchellh";
repo = "gox";
rev = "9cc487598128d0963ff9dcc51176e722788ec645";
sha256 = "18indkdwq2m1wy95d71lgbf46jxxrfc5km1fys5laapz993h77v6";
rev = "v${version}";
sha256 = "0mkh81hd7kn45dz7b6yhzqsg2mvg1g6pwx89jjigxrnqhyg9vrl7";
};
goDeps = ./deps.nix;
meta = with stdenv.lib; {
homepage = "https://github.com/mitchellh/gox";
description = "A dead simple, no frills Go cross compile tool";
platforms = platforms.all;
license = licenses.mpl20;
};
}

View File

@ -1,11 +0,0 @@
[
{
goPackagePath = "github.com/mitchellh/iochan";
fetch = {
type = "git";
url = "https://github.com/mitchellh/iochan";
rev = "87b45ffd0e9581375c491fef3d32130bb15c5bd7";
sha256 = "1435kdcx3j1xgr6mm5c7w7hjx015jb20yfqlkp93q143hspf02fx";
};
}
]

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "act";
version = "0.2.7";
version = "0.2.8";
src = fetchFromGitHub {
owner = "nektos";
repo = pname;
rev = "v${version}";
sha256 = "0qx3vwsynmil1h3d2dzvqz0jzshfyy3vin14zjfmd353d915hf06";
sha256 = "14ird8z8f467spa0kdzjf6lq7pipq7rwxrdk6ppv7y1fxw96qm9x";
};
modSha256 = "0276dngh29kzgm95d23r8ajjrrkss0v0f0wfq1ribgsxh17v0y5n";
modSha256 = "09q8dh4g4k0y7mrhwyi9py7zdiipmq91j3f32cn635v2xw6zyg2k";
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];

View File

@ -2,13 +2,13 @@
buildGoPackage rec {
pname = "scc";
version = "2.11.0";
version = "2.12.0";
src = fetchFromGitHub {
owner = "boyter";
repo = "scc";
rev = "v${version}";
sha256 = "1wk6s9ga9rkywgqys960s6fz4agwzh3ac2l6cpcr7kca4379s28k";
sha256 = "0hbcq5qn97kr9d4q9m2p1mj3ijn8zmwycrs5bgf1kfiwr09wg2yh";
};
goPackagePath = "github.com/boyter/scc";

View File

@ -0,0 +1,34 @@
{ stdenv
, lib
, rustPlatform
, fetchFromGitHub
, perl, pkgconfig, openssl, Security, libiconv, curl
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-deny";
version = "0.6.6";
src = fetchFromGitHub {
owner = "EmbarkStudios";
repo = pname;
rev = version;
sha256 = "0pmh6x7rb0v1g087xgyicw9mm4ayppgh7vzvq3hs8vip2zvy7r56";
};
cargoSha256 = "00lh6nxc17dyl8z2l70gzc7l1vpn448lzi1c69wxxcqnk8y0ka9w";
nativeBuildInputs = [ perl pkgconfig ];
buildInputs = [ openssl ]
++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ];
meta = with lib; {
description = "Cargo plugin to generate list of all licenses for a crate";
homepage = "https://github.com/EmbarkStudios/cargo-deny";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ matthiasbeyer ];
};
}

View File

@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
installPhase = ''
mkdir -p $out/bin
cp -p target/release/racerd $out/bin/
cp -p $releaseDir/racerd $out/bin/
wrapProgram $out/bin/racerd --set-default RUST_SRC_PATH "$RUST_SRC_PATH"
'';

View File

@ -1,6 +1,6 @@
From 786cd8df9e9fa245c4dbab1bfd21b7949b8a5300 Mon Sep 17 00:00:00 2001
From b0d7b8b348adba8131b12f99be7a9a30a1cca867 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Thu, 26 Mar 2020 01:54:11 +0100
Date: Thu, 30 Apr 2020 00:24:57 +0200
Subject: [PATCH] Add cargo.lock
---
@ -10,7 +10,7 @@ Subject: [PATCH] Add cargo.lock
diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644
index 00000000..976ea6d4
index 00000000..8ae15438
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,2527 @@
@ -49,9 +49,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "anyhow"
+version = "1.0.27"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "013a6e0a2cbe3d20f9c60b65458f7a7f7a5e636c5d0f45a5a6aee5d4b1f01785"
+checksum = "d9a60d744a80c30fcb657dfe2c1b22bcb3e814c1a1e3674f32bf5820b570fbff"
+
+[[package]]
+name = "arrayref"
@ -213,9 +213,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "cc"
+version = "1.0.50"
+version = "1.0.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
+checksum = "c3d87b23d6a92cd03af510a5ade527033f6aa6fa92161e2d5863a907d4c5e31d"
+
+[[package]]
+name = "cfg-if"
@ -359,9 +359,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "curl"
+version = "0.4.28"
+version = "0.4.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eda1c0c03cacf3365d84818a40293f0e3f3953db8759c9c565a3b434edf0b52e"
+checksum = "762e34611d2d5233a506a79072be944fddd057db2f18e04c0d6fa79e3fd466fd"
+dependencies = [
+ "curl-sys",
+ "libc",
@ -374,9 +374,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "curl-sys"
+version = "0.4.30+curl-7.69.1"
+version = "0.4.31+curl-7.70.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "923b38e423a8f47a4058e96f2a1fa2865a6231097ee860debd678d244277d50c"
+checksum = "dcd62757cc4f5ab9404bc6ca9f0ae447e729a1403948ce5106bd588ceac6a3b0"
+dependencies = [
+ "cc",
+ "libc",
@ -494,9 +494,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "filetime"
+version = "0.2.8"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
+checksum = "f59efc38004c988e4201d11d263b8171f49a2e7ec0bdbb71773433f271504a5e"
+dependencies = [
+ "cfg-if",
+ "libc",
@ -604,9 +604,9 @@ index 00000000..976ea6d4
+checksum = "9a5081aa3de1f7542a794a397cde100ed903b0630152d0973479018fd85423a7"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+]
+
+[[package]]
@ -692,9 +692,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.8"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1010591b26bbfe835e9faeabeb11866061cc7dcebffd56ad7d0942d0e61aefd8"
+checksum = "61565ff7aaace3525556587bd2dc31d4a07071957be715e63ce7b1eccf51a8f4"
+dependencies = [
+ "libc",
+]
@ -772,9 +772,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.1.18"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0256f0aec7352539102a9efbcb75543227b7ab1117e0f95450023af730128451"
+checksum = "5b47b4c4e017b01abdc5bcc126d2d1002e5a75bbe3ce73f9f4f311a916363704"
+dependencies = [
+ "byteorder",
+ "rayon",
@ -782,7 +782,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "js-sys"
+version = "0.3.37"
+version = "0.3.38"
+dependencies = [
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
@ -811,9 +811,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "libc"
+version = "0.2.68"
+version = "0.2.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dea0c0405123bba743ee3f91f49b1c7cfb684eef0da0a50110f758ccf24cdff0"
+checksum = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005"
+
+[[package]]
+name = "libz-sys"
@ -1001,9 +1001,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "num_cpus"
+version = "1.12.0"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6"
+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+dependencies = [
+ "hermit-abi",
+ "libc",
@ -1011,9 +1011,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "openssl"
+version = "0.10.28"
+version = "0.10.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "973293749822d7dd6370d6da1e523b0d1db19f06c459134c658b2a4261378b52"
+checksum = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd"
+dependencies = [
+ "bitflags 1.2.1",
+ "cfg-if",
@ -1031,18 +1031,18 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "openssl-src"
+version = "111.7.0+1.1.1e"
+version = "111.9.0+1.1.1g"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fde5a8c01ef8aa31ff8d0aaf9bae248581ed8840fca0b66e51cc9f294a8cb2c"
+checksum = "a2dbe10ddd1eb335aba3780eb2eaa13e1b7b441d2562fd962398740927f39ec4"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.54"
+version = "0.9.55"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986"
+checksum = "7717097d810a0f2e2323f9e5d11e71608355e24828410b55b9d4f18aa5f9a5d8"
+dependencies = [
+ "autocfg 1.0.0",
+ "cc",
@ -1108,9 +1108,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0-alpha.4"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
@ -1167,35 +1167,35 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "proc-macro-error"
+version = "0.4.12"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7"
+checksum = "98e9e4b82e0ef281812565ea4751049f1bdcdfccda7d3f459f2e138a40c08678"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+ "version_check 0.9.1",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "0.4.12"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de"
+checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+ "syn-mid",
+ "version_check 0.9.1",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.14"
+version = "0.5.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcfdefadc3d57ca21cf17990a28ef4c0f7c61383a28cb7604cf4a18e6ede1420"
+checksum = "0d659fe7c6d27f25e9d80a1a094c223f5246f6a6596453e09d7229bf42750b63"
+
+[[package]]
+name = "proc-macro-nested"
@ -1214,9 +1214,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.9"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c09721c6781493a2a492a96b5a5bf19b65917fe6728884e7c44dd0c60ca3435"
+checksum = "df246d292ff63439fea9bc8c0a270bed0e390d5ebd4db4ba15aba81111b5abe3"
+dependencies = [
+ "unicode-xid 0.2.0",
+]
@ -1242,7 +1242,7 @@ index 00000000..976ea6d4
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+]
+
+[[package]]
@ -1495,9 +1495,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "regex"
+version = "1.3.6"
+version = "1.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6946991529684867e47d86474e3a6d0c0ab9b82d5821e314b1ede31fa3a4b3"
+checksum = "a6020f034922e3194c711b82a627453881bc4682166cabb07134a10c26ba7692"
+dependencies = [
+ "aho-corasick",
+ "memchr",
@ -1578,9 +1578,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "ryu"
+version = "1.0.3"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "535622e6be132bccd223f4bb2b8ac8d53cda3c7a6394944d3b2b33fb974f9d76"
+checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1"
+
+[[package]]
+name = "safemem"
@ -1628,29 +1628,29 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "serde"
+version = "1.0.105"
+version = "1.0.106"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e707fbbf255b8fc8c3b99abb91e7257a622caeb20a9818cbadbeeede4e0932ff"
+checksum = "36df6ac6412072f67cf767ebbde4133a5b2e88e76dc6187fa7104cd16f783399"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.105"
+version = "1.0.106"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac5d00fc561ba2724df6758a17de23df5914f20e41cb00f94d5b7ae42fffaff8"
+checksum = "9e549e3abf4fb8621bd1609f11dfc9f5e50320802273b12f3811a67e6716ea6c"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.48"
+version = "1.0.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9371ade75d4c2d6cb154141b9752cf3781ec9c05e0e5cf35060e1e70ee7b9c25"
+checksum = "a7894c8ed05b7a3a279aeb79025fdec1d3158080b75b98a08faf2806bb799edd"
+dependencies = [
+ "itoa",
+ "ryu",
@ -1677,15 +1677,15 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "smallvec"
+version = "1.2.0"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc"
+checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4"
+
+[[package]]
+name = "socket2"
+version = "0.3.11"
+version = "0.3.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
+checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918"
+dependencies = [
+ "cfg-if",
+ "libc",
@ -1713,9 +1713,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "structopt"
+version = "0.3.12"
+version = "0.3.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8faa2719539bbe9d77869bfb15d4ee769f99525e707931452c97b693b3f159d"
+checksum = "863246aaf5ddd0d6928dfeb1a9ca65f505599e4e1b399935ef7e75107516b4ef"
+dependencies = [
+ "clap",
+ "lazy_static",
@ -1724,15 +1724,15 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "structopt-derive"
+version = "0.4.5"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f88b8e18c69496aad6f9ddf4630dd7d585bcaf765786cb415b9aec2fe5a0430"
+checksum = "d239ca4b13aee7a2142e6795cbd69e457665ff8037aed33b3effdc430d2f927a"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+]
+
+[[package]]
@ -1748,11 +1748,11 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "syn"
+version = "1.0.17"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0df0eb663f387145cab623dea85b09c2c5b4b0aef44e945d928e682fce71bb03"
+checksum = "410a7488c0a728c7ceb4ad59b9567eb4053d02e8cc7f5c0e0eeeb39518369213"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "unicode-xid 0.2.0",
+]
@ -1763,9 +1763,9 @@ index 00000000..976ea6d4
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+]
+
+[[package]]
@ -1832,21 +1832,20 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "threadpool"
+version = "1.7.1"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
+checksum = "e8dae184447c15d5a6916d973c642aec485105a13cd238192a6927ae3e077d66"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "time"
+version = "0.1.42"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
+dependencies = [
+ "libc",
+ "redox_syscall",
+ "winapi",
+]
+
@ -1900,9 +1899,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "trybuild"
+version = "1.0.24"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b4e093c5ed1a60b22557090120aa14f90ca801549c0949d775ea07c1407720"
+checksum = "4e5696e4fd793743fbcc29943fe965ea3993b6c3d2a6a3a35c6680d926fd3a49"
+dependencies = [
+ "glob",
+ "lazy_static",
@ -2038,9 +2037,9 @@ index 00000000..976ea6d4
+checksum = "2bc16925d405153a91e01cdac2a5549aa25ca9148b5176e25e601f6536344d94"
+dependencies = [
+ "heck",
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+]
+
+[[package]]
@ -2051,7 +2050,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "cfg-if",
+ "js-sys",
@ -2067,7 +2066,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-anyref-xform"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "rayon",
@ -2079,14 +2078,14 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "bumpalo",
+ "lazy_static",
+ "log 0.4.8",
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+ "wasm-bindgen-shared",
+]
+
@ -2100,7 +2099,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-cli"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "assert_cmd",
@ -2128,7 +2127,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-cli-support"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "base64 0.9.3",
@ -2150,7 +2149,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.10"
+version = "0.4.11"
+dependencies = [
+ "cfg-if",
+ "futures-channel-preview",
@ -2162,7 +2161,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "quote 1.0.3",
+ "trybuild",
@ -2173,18 +2172,18 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "syn 1.0.17",
+ "syn 1.0.18",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-multi-value-xform"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "rayon",
@ -2205,11 +2204,11 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.60"
+version = "0.2.61"
+
+[[package]]
+name = "wasm-bindgen-test"
+version = "0.3.10"
+version = "0.3.11"
+dependencies = [
+ "console_error_panic_hook",
+ "js-sys",
@ -2235,15 +2234,15 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-test-macro"
+version = "0.3.10"
+version = "0.3.11"
+dependencies = [
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+]
+
+[[package]]
+name = "wasm-bindgen-threads-xform"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "walrus",
@ -2252,7 +2251,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-wasm-conventions"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "walrus",
@ -2260,7 +2259,7 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-wasm-interpreter"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "log 0.4.8",
@ -2271,18 +2270,18 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wasm-bindgen-webidl"
+version = "0.2.60"
+version = "0.2.61"
+dependencies = [
+ "anyhow",
+ "env_logger",
+ "heck",
+ "lazy_static",
+ "log 0.4.8",
+ "proc-macro2 1.0.9",
+ "proc-macro2 1.0.10",
+ "quote 1.0.3",
+ "sourcefile",
+ "structopt",
+ "syn 1.0.17",
+ "syn 1.0.18",
+ "wasm-bindgen-backend",
+ "weedle",
+]
@ -2336,25 +2335,25 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "wast"
+version = "11.0.0"
+version = "14.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df4d67ba9266f4fcaf2e8a1afadc5e2a959e51aecc07b1ecbdf85a6ddaf08bde"
+checksum = "47b11c94c63d5365a76ea287f8e6e5b6050233fae4b2423aea2a1e126a385e17"
+dependencies = [
+ "leb128",
+]
+
+[[package]]
+name = "wat"
+version = "1.0.12"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9400dc1c8512087b2d974b1b9b0a6c4e6e26e7e8acf629e3e351165a1ed301"
+checksum = "03db18bc33cff3859c296efbefdcc00763a644539feeadca3415a1cee8a2835d"
+dependencies = [
+ "wast 11.0.0",
+ "wast 14.0.0",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.37"
+version = "0.3.38"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
@ -2393,6 +2392,7 @@ index 00000000..976ea6d4
+name = "websockets"
+version = "0.1.0"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
@ -2437,9 +2437,9 @@ index 00000000..976ea6d4
+
+[[package]]
+name = "winapi-util"
+version = "0.1.3"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
@ -2542,5 +2542,5 @@ index 00000000..976ea6d4
+ "web-sys",
+]
--
2.25.0
2.25.4

View File

@ -2,19 +2,19 @@
rustPlatform.buildRustPackage rec {
pname = "wasm-bindgen-cli";
version = "0.2.60";
version = "0.2.61";
src = fetchFromGitHub {
owner = "rustwasm";
repo = "wasm-bindgen";
rev = version;
sha256 = "1jr4v5y9hbkyg8gjkr3qc2qxwhyagfs8q3y3z248mr1919mcas8h";
sha256 = "1lz4yscs17vix96isqpwwjhjcgj46zh2ljiwvfsk44wky8vwkyb7";
};
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
nativeBuildInputs = [ pkgconfig ];
cargoSha256 = "08g110qahipgm1qyyihgqwnkr23w0gk1gp63ici5dj2qsxnc4mxv";
cargoSha256 = "1vblvajhx5gn08rinv6bnw61zah62il015rzm0d4vs2b9p0iaann";
cargoPatches = [ ./0001-Add-cargo.lock.patch ];
cargoBuildFlags = [ "-p" pname ];

View File

@ -1,13 +1,13 @@
{ callPackage, openssl, icu, python3, enableNpm ? true }:
let
buildNodejs = callPackage ./nodejs.nix {
buildNodejs = callPackage ./nodejs.nix {
inherit openssl icu;
python = python3;
};
in
buildNodejs {
inherit enableNpm;
version = "13.13.0";
sha256 = "0wy7d2alli59gwl73hpaf3bz1wxkkcw5yjsgyz42695fz86p64b7";
version = "13.14.0";
sha256 = "1gi9nl99wsiqpwm266jdsa8g6rmjw4wqwgrkx9f2qk1y3hjcs0vf";
}

View File

@ -0,0 +1,14 @@
{ callPackage, openssl, icu66, python3, enableNpm ? true }:
let
buildNodejs = callPackage ./nodejs.nix {
inherit openssl;
icu = icu66;
python = python3;
};
in
buildNodejs {
inherit enableNpm;
version = "14.1.0";
sha256 = "0pw39628y8qi2jagmmnfj0fkcbv00qcd1cqybiprf1v22hhij44n";
}

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl, flex}:
{stdenv, fetchurl, flex, makeWrapper}:
let
s = # Generated upstream information
rec {
baseName="gnuchess";
version="6.2.5";
version="6.2.6";
name="${baseName}-${version}";
url="mirror://gnu/chess/${name}.tar.gz";
sha256="00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs";
sha256="0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn";
};
buildInputs = [
flex
@ -18,6 +18,13 @@ stdenv.mkDerivation {
inherit (s) url sha256;
};
inherit buildInputs;
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/gnuchessx --set PATH "$out/bin"
wrapProgram $out/bin/gnuchessu --set PATH "$out/bin"
'';
meta = {
inherit (s) version;
description = "GNU Chess engine";

View File

@ -129,6 +129,15 @@
name = "libatk1.0-0.deb";
};
}
rec {
name = "libatomic1_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
sha256 = "8dd843d4497f66c1af07551d8cc636e63ffff692187b51d0a01191c96bc0049a";
url = "mirror://steamrt/pool/main/g/gcc-5/libatomic1_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libatomic1.deb";
};
}
rec {
name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt2_amd64";
sha256 = "d33b00c3e19337f3abbb070f646adda7420f171f5487dca5e253b68b63a4d8fc";
@ -246,6 +255,15 @@
name = "libcap2.deb";
};
}
rec {
name = "libcapsule-tools-relocatable_0.20190926.0-0co1+srt1_amd64";
sha256 = "9ddaac17a0f812eec785e34eefccb8ea24a4abf0fa6ad008d03b26d5493ea010";
url = "mirror://steamrt/pool/main/libc/libcapsule/libcapsule-tools-relocatable_0.20190926.0-0co1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libcapsule-tools-relocatable.deb";
};
}
rec {
name = "libcg_3.0.0016-0ubuntu1+srt6_amd64";
sha256 = "6e627aa3ff1724ec8759431f3ead530f4c1511eb2b881d168a1929c8eac2e196";
@ -669,6 +687,15 @@
name = "libindicator7.deb";
};
}
rec {
name = "libitm1_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
sha256 = "3c01841997e77fe1616b16936394c86383dc76e875f70e6d96ed016e4b945050";
url = "mirror://steamrt/pool/main/g/gcc-5/libitm1_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libitm1.deb";
};
}
rec {
name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt5_amd64";
sha256 = "9a419baf1b88386cf643ca64965de607321e5d27f13c5bd68be0eb1a803fd7a9";
@ -993,6 +1020,15 @@
name = "libpulse0.deb";
};
}
rec {
name = "libquadmath0_5.4.0-7.really.6+steamrt1.2+srt2_amd64";
sha256 = "12523138b2f21cd6d824b5c778ee49789ef0129ba6207cf03d3cf6b4138b1a1b";
url = "mirror://steamrt/pool/main/g/gcc-5/libquadmath0_5.4.0-7.really.6+steamrt1.2+srt2_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libquadmath0.deb";
};
}
rec {
name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt6_amd64";
sha256 = "e55b129066b92ab99f518d2f857b54e8754c3c873b5fb603270e3c4c36564a7b";
@ -1192,27 +1228,27 @@
};
}
rec {
name = "libsteam-runtime-tools-0-0_0.20200109.0-0+steamrt1.1+srt1_amd64";
sha256 = "680a2855b601ecccc81179df162722081ad0c7f4d1689e25bbce9d19de1a3eb6";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-0_0.20200109.0-0+steamrt1.1+srt1_amd64.deb";
name = "libsteam-runtime-tools-0-0_0.20200415.0+srt1_amd64";
sha256 = "0db05ccf5ca6705a6001d2c43ae5163cc289ef60126381bf886014e2344b4190";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-0_0.20200415.0+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libsteam-runtime-tools-0-0.deb";
};
}
rec {
name = "libsteam-runtime-tools-0-helpers_0.20200109.0-0+steamrt1.1+srt1_amd64";
sha256 = "b33f5c1217c7927057428b54faa4d0fcdddda1b5b18d708f755e96893ed6e108";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-helpers_0.20200109.0-0+steamrt1.1+srt1_amd64.deb";
name = "libsteam-runtime-tools-0-helpers_0.20200415.0+srt1_amd64";
sha256 = "c568548d3c73df1c61efe06574e4ab17c2250059e9659690dec6c43db8695ce8";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-helpers_0.20200415.0+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libsteam-runtime-tools-0-helpers.deb";
};
}
rec {
name = "libsteam-runtime-tools-0-relocatable-libs_0.20200109.0-0+steamrt1.1+srt1_amd64";
sha256 = "4f2ddb4dd6f48636f95bb301541a023ba8235672e1e053be8da9961787958d18";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-relocatable-libs_0.20200109.0-0+steamrt1.1+srt1_amd64.deb";
name = "libsteam-runtime-tools-0-relocatable-libs_0.20200415.0+srt1_amd64";
sha256 = "450c03778f4901e8b54f5dc879b071a84d18f4fc65e6308b91eebf40c77ef093";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-relocatable-libs_0.20200415.0+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libsteam-runtime-tools-0-relocatable-libs.deb";
@ -1444,18 +1480,18 @@
};
}
rec {
name = "libvulkan1_1.2.135~srt-0+steamrt1.1+srt1_amd64";
sha256 = "99b0d38e6a2240dbea57c3ebee18de7013ee5d346c82bc82243c18e66bc50ae4";
url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.2.135~srt-0+steamrt1.1+srt1_amd64.deb";
name = "libvulkan1_1.2.135.0-1~steamrt1.1+srt1_amd64";
sha256 = "fa3dfb44b47c35e8a16de3c8240accdca131b70dd59a84f6e38cc6824219fa28";
url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.2.135.0-1~steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libvulkan1.deb";
};
}
rec {
name = "libwaffle-1-0_1.6.0-2~steamrt1.3+srt1_amd64";
sha256 = "40ebf5f91707d0f183841ab8673f7bdd6d77540f090fc97cb69be54381c382be";
url = "mirror://steamrt/pool/main/w/waffle/libwaffle-1-0_1.6.0-2~steamrt1.3+srt1_amd64.deb";
name = "libwaffle-1-0_1.6.1-0+steamrt1.1+srt1_amd64";
sha256 = "a2a73515ddef193da5de918190df27fce75cf27c3081662c2f6fc5d227c96cc4";
url = "mirror://steamrt/pool/main/w/waffle/libwaffle-1-0_1.6.1-0+steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "libwaffle-1-0.deb";
@ -1912,27 +1948,27 @@
};
}
rec {
name = "steam-runtime-tools-bin_0.20200109.0-0+steamrt1.1+srt1_amd64";
sha256 = "b5fcefb31c79a4ac085ef1050cdb2770507fbcf04eae713f9f16fdc3a483a85d";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/steam-runtime-tools-bin_0.20200109.0-0+steamrt1.1+srt1_amd64.deb";
name = "steam-runtime-tools-bin_0.20200415.0+srt1_amd64";
sha256 = "e21848eb4cf02402600a952f5ca8bafbd95db9f5b3bb8d5af746721c5ac4ebc3";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/steam-runtime-tools-bin_0.20200415.0+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "steam-runtime-tools-bin.deb";
};
}
rec {
name = "steamrt-legacy_1.20200128.0+srt1_amd64";
sha256 = "16a8adf316032424fa5cd53f498c53472c45a66b572e8c60adb2ff3ae7556eed";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20200128.0+srt1_amd64.deb";
name = "steamrt-legacy_1.20200421.0+srt1_amd64";
sha256 = "9ee2744dbefc6c8055d3f496ad8e7ab8df01049a5571b9558c23b15001218fa6";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20200421.0+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "steamrt-legacy.deb";
};
}
rec {
name = "steamrt-libs_1.20200128.0+srt1_amd64";
sha256 = "18247c8534f8d67f63f4ece884b15276e0eecf540d0758ed6d5ae8b6a6ba510b";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20200128.0+srt1_amd64.deb";
name = "steamrt-libs_1.20200421.0+srt1_amd64";
sha256 = "52ffad4cdca3f7f1c8091474a1a978941512c993e52d15fadab49165e248603b";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20200421.0+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "steamrt-libs.deb";
@ -1975,72 +2011,54 @@
};
}
rec {
name = "vulkan-tools_1.2.131.1+dfsg1-1+steamrt1.1+srt1_amd64";
sha256 = "b5c0c3fd9f5329f2aff54ce73f9281e3e61156556e1ee50c697b37f2144b1531";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools_1.2.131.1+dfsg1-1+steamrt1.1+srt1_amd64.deb";
name = "vulkan-tools_1.2.135.0+dfsg1-1~steamrt1.1+srt1_amd64";
sha256 = "bb70e1a31fe204319ea24292fe0ee7a9073f1b8f79e66ffb1ab192e500f8452b";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools_1.2.135.0+dfsg1-1~steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-tools.deb";
};
}
rec {
name = "vulkan-tools-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_amd64";
sha256 = "33b03b9413ec308f5ee5b8699e9f9ad939b501b602eea185fdcaa69863deb70c";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_amd64.deb";
name = "vulkan-tools-multiarch_1.2.135.0+dfsg1-1~steamrt1.1+srt1_amd64";
sha256 = "8e8aa0bf8fe147dd52e442a88e57a16f86b3a807201175585d47c64531865822";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools-multiarch_1.2.135.0+dfsg1-1~steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-tools-multiarch.deb";
};
}
rec {
name = "vulkan-utils_1.2.131.1+dfsg1-1+steamrt1.1+srt1_all";
sha256 = "f10004e20ed5fc93edf035f8f34bb9f8307eb34974a3ed5aae9ba87f00a2c468";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-utils_1.2.131.1+dfsg1-1+steamrt1.1+srt1_all.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-utils.deb";
};
}
rec {
name = "vulkan-utils-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_amd64";
sha256 = "a1e9387bb5cb7effb23c5994dd2724614cfed7a447ec9c449ee4effcab58fd4c";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-utils-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-utils-multiarch.deb";
};
}
rec {
name = "waffle-utils_1.6.0-2~steamrt1.3+srt1_amd64";
sha256 = "b465d2c357b0376f355a99ac99830e78974747859ec4ca9084bdeff9891920d6";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils_1.6.0-2~steamrt1.3+srt1_amd64.deb";
name = "waffle-utils_1.6.1-0+steamrt1.1+srt1_amd64";
sha256 = "ad14f1e2dcc6b9ed7b036989cf5f18efb683879927a4b474692bbe1d7ddbe94c";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils_1.6.1-0+steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "waffle-utils.deb";
};
}
rec {
name = "waffle-utils-multiarch_1.6.0-2~steamrt1.3+srt1_amd64";
sha256 = "de563095affd9fd5a4ec2941b72481bbd6176bdc210dad587372bab3cec406c1";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils-multiarch_1.6.0-2~steamrt1.3+srt1_amd64.deb";
name = "waffle-utils-multiarch_1.6.1-0+steamrt1.1+srt1_amd64";
sha256 = "cf66bcb711bee45fb722d4125d37d8001fe7f3691f81ac224b62f849af0b4fba";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils-multiarch_1.6.1-0+steamrt1.1+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "waffle-utils-multiarch.deb";
};
}
rec {
name = "zenity_3.4.0-0ubuntu4+steamrt2+srt6_amd64";
sha256 = "5eb59aa8d2211153c780aab2304e8694d7eb0204f284193ff2a037dc9e1274db";
url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt6_amd64.deb";
name = "zenity_3.4.0-0ubuntu4+steamrt3+srt1_amd64";
sha256 = "c31a99f8d47cba157db251ea97cd14074d99c622969dd4d4173f76494feb7723";
url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt3+srt1_amd64.deb";
source = fetchurl {
inherit url sha256;
name = "zenity.deb";
};
}
rec {
name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all";
sha256 = "bc8f0b80672833be72c6dd87d406b5fc0ef92e51f91e3a461678fc97844649bc";
url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all.deb";
name = "zenity-common_3.4.0-0ubuntu4+steamrt3+srt1_all";
sha256 = "7ec603c8b00c5573e88e1df9785af4baef93b54e377e697515eb939b7c119cdc";
url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt3+srt1_all.deb";
source = fetchurl {
inherit url sha256;
name = "zenity-common.deb";
@ -2183,6 +2201,15 @@
name = "libatk1.0-0.deb";
};
}
rec {
name = "libatomic1_5.4.0-7.really.6+steamrt1.2+srt2_i386";
sha256 = "aafd5b3b573f22562e3f93bfa449ca374e2788fb14d555193c5c57e996def8fb";
url = "mirror://steamrt/pool/main/g/gcc-5/libatomic1_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libatomic1.deb";
};
}
rec {
name = "libattr1_2.4.46-5ubuntu1+steamrt1.1+srt2_i386";
sha256 = "bcea5d6f2743c617dac44c4d836b6937a64816f3c288a56b656ee4adbf63714a";
@ -2300,6 +2327,15 @@
name = "libcap2.deb";
};
}
rec {
name = "libcapsule-tools-relocatable_0.20190926.0-0co1+srt1_i386";
sha256 = "5ce9e11e0204db54cecb59b59b1c6fc6bd5e4aefe73a327dbb85283b08591428";
url = "mirror://steamrt/pool/main/libc/libcapsule/libcapsule-tools-relocatable_0.20190926.0-0co1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libcapsule-tools-relocatable.deb";
};
}
rec {
name = "libcg_3.0.0016-0ubuntu1+srt6_i386";
sha256 = "a21ba20d03f43163c1222fbc6a570c20783a1d504dcf92306ab029c437fd0df9";
@ -2723,6 +2759,15 @@
name = "libindicator7.deb";
};
}
rec {
name = "libitm1_5.4.0-7.really.6+steamrt1.2+srt2_i386";
sha256 = "188591aec152ece7b33b765079593a110a005046977d15794d5cc3be5b3381c7";
url = "mirror://steamrt/pool/main/g/gcc-5/libitm1_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libitm1.deb";
};
}
rec {
name = "libjack-jackd2-0_1.9.8~dfsg.1-1ubuntu2+srt5_i386";
sha256 = "a59a4de570335899d10f36b4b9552ee894fc0bb21c4ee4e06ed689f3fa55c2e6";
@ -3047,6 +3092,15 @@
name = "libpulse0.deb";
};
}
rec {
name = "libquadmath0_5.4.0-7.really.6+steamrt1.2+srt2_i386";
sha256 = "58f646279972a537cf838fc935f9f37285e5255604d7b5c1e034644e77d3e25b";
url = "mirror://steamrt/pool/main/g/gcc-5/libquadmath0_5.4.0-7.really.6+steamrt1.2+srt2_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libquadmath0.deb";
};
}
rec {
name = "libroken18-heimdal_1.6~git20120311.dfsg.1-2+srt6_i386";
sha256 = "8827d782d8fedf7fe0285bbab14914e61d2ac5fe5e7ea297fbff916c7fd73939";
@ -3246,27 +3300,27 @@
};
}
rec {
name = "libsteam-runtime-tools-0-0_0.20200109.0-0+steamrt1.1+srt1_i386";
sha256 = "dfd80854857cdbc764f799f34acd7f37a4c3e773c4ba5c7c81394071148a140f";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-0_0.20200109.0-0+steamrt1.1+srt1_i386.deb";
name = "libsteam-runtime-tools-0-0_0.20200415.0+srt1_i386";
sha256 = "7da98a9a206829dbf5cc95570049502d1cf8dd2a2234a981787f14cc098c1739";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-0_0.20200415.0+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libsteam-runtime-tools-0-0.deb";
};
}
rec {
name = "libsteam-runtime-tools-0-helpers_0.20200109.0-0+steamrt1.1+srt1_i386";
sha256 = "f2c5fc6abcc3a938e2a0b27e8682b56944a2a61416e8d0edb5878af2e16c98cb";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-helpers_0.20200109.0-0+steamrt1.1+srt1_i386.deb";
name = "libsteam-runtime-tools-0-helpers_0.20200415.0+srt1_i386";
sha256 = "bf06ad0ef0d5c80ddff53c58e4397c87fd655e1913ecf48a29560d27719b4d71";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-helpers_0.20200415.0+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libsteam-runtime-tools-0-helpers.deb";
};
}
rec {
name = "libsteam-runtime-tools-0-relocatable-libs_0.20200109.0-0+steamrt1.1+srt1_i386";
sha256 = "c06ea7ec21d2114925c09d5245e87482c81cc4e1928ed31827ab58cb094721ae";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-relocatable-libs_0.20200109.0-0+steamrt1.1+srt1_i386.deb";
name = "libsteam-runtime-tools-0-relocatable-libs_0.20200415.0+srt1_i386";
sha256 = "79e3b5b5a2904daccb17f5f54e3a87842dd9408fe04a8fee8d4ee83c3a3c0bcf";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/libsteam-runtime-tools-0-relocatable-libs_0.20200415.0+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libsteam-runtime-tools-0-relocatable-libs.deb";
@ -3498,18 +3552,18 @@
};
}
rec {
name = "libvulkan1_1.2.135~srt-0+steamrt1.1+srt1_i386";
sha256 = "ac161149e1106247de706788a7ea29dbe5e3c17c2b8aedf97ec892b311abbb75";
url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.2.135~srt-0+steamrt1.1+srt1_i386.deb";
name = "libvulkan1_1.2.135.0-1~steamrt1.1+srt1_i386";
sha256 = "dd6167b259a8ec4c927f3fa710d01456321b3ff40f6daa3383ec353866615aaa";
url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.2.135.0-1~steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libvulkan1.deb";
};
}
rec {
name = "libwaffle-1-0_1.6.0-2~steamrt1.3+srt1_i386";
sha256 = "875ebdcc60fd8be86b6e83a2155bea69aa3ef7442d60eef277bcdf814c663452";
url = "mirror://steamrt/pool/main/w/waffle/libwaffle-1-0_1.6.0-2~steamrt1.3+srt1_i386.deb";
name = "libwaffle-1-0_1.6.1-0+steamrt1.1+srt1_i386";
sha256 = "06f22a35ca49969e44f1bdaca82a1d085e69211bf3b39915d77d80f414ea8668";
url = "mirror://steamrt/pool/main/w/waffle/libwaffle-1-0_1.6.1-0+steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "libwaffle-1-0.deb";
@ -3966,27 +4020,27 @@
};
}
rec {
name = "steam-runtime-tools-bin_0.20200109.0-0+steamrt1.1+srt1_i386";
sha256 = "52e587b75463b08e0e903e30cd4b836bd4e39ead8d556807e5628eff36fdc477";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/steam-runtime-tools-bin_0.20200109.0-0+steamrt1.1+srt1_i386.deb";
name = "steam-runtime-tools-bin_0.20200415.0+srt1_i386";
sha256 = "3ea27a32f19f6e5133385fe4072f3d9a027c4f83604355baa34cf3ae5e346db5";
url = "mirror://steamrt/pool/main/s/steam-runtime-tools/steam-runtime-tools-bin_0.20200415.0+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "steam-runtime-tools-bin.deb";
};
}
rec {
name = "steamrt-legacy_1.20200128.0+srt1_i386";
sha256 = "3adf8b89ac83f12eeb431785bd18a569b1174bc81aa24d5c562687b823704f28";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20200128.0+srt1_i386.deb";
name = "steamrt-legacy_1.20200421.0+srt1_i386";
sha256 = "08371f2a03aacd50f578b7aca4e6934fc60b9db1927e9eb3c8f1a5f6421e79e5";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-legacy_1.20200421.0+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "steamrt-legacy.deb";
};
}
rec {
name = "steamrt-libs_1.20200128.0+srt1_i386";
sha256 = "8ad6092d1b4d257883ca4f3fac8ee5b9a71413c8bdbc149a9bec843047867311";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20200128.0+srt1_i386.deb";
name = "steamrt-libs_1.20200421.0+srt1_i386";
sha256 = "0f84ef7ebea603df58d4549a8368a51ceb3989d136174870bfd4c2ed50a13195";
url = "mirror://steamrt/pool/main/s/steamrt/steamrt-libs_1.20200421.0+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "steamrt-libs.deb";
@ -4029,72 +4083,54 @@
};
}
rec {
name = "vulkan-tools_1.2.131.1+dfsg1-1+steamrt1.1+srt1_i386";
sha256 = "6a8576cc6fadc4d18c97b100dc24bad1906f6f56cab024997787355025695df4";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools_1.2.131.1+dfsg1-1+steamrt1.1+srt1_i386.deb";
name = "vulkan-tools_1.2.135.0+dfsg1-1~steamrt1.1+srt1_i386";
sha256 = "1a252f79e90034726d80e49ab892ddfd504fa32dfef93887ed2c6e6e83e77248";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools_1.2.135.0+dfsg1-1~steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-tools.deb";
};
}
rec {
name = "vulkan-tools-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_i386";
sha256 = "fae0430f540c71bd8f6ab3099f8aa132d2eda858b66facf3d8a586ab38cffde6";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_i386.deb";
name = "vulkan-tools-multiarch_1.2.135.0+dfsg1-1~steamrt1.1+srt1_i386";
sha256 = "f7f68aefcb4f45f855949ad84463c68071595568db27480d3df3ed9be5683b5f";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-tools-multiarch_1.2.135.0+dfsg1-1~steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-tools-multiarch.deb";
};
}
rec {
name = "vulkan-utils_1.2.131.1+dfsg1-1+steamrt1.1+srt1_all";
sha256 = "f10004e20ed5fc93edf035f8f34bb9f8307eb34974a3ed5aae9ba87f00a2c468";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-utils_1.2.131.1+dfsg1-1+steamrt1.1+srt1_all.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-utils.deb";
};
}
rec {
name = "vulkan-utils-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_i386";
sha256 = "f81b81ef14f11662d2d5e5a7f688c2ef4f9ad9625ec5e59de91aab3f1ad45406";
url = "mirror://steamrt/pool/main/v/vulkan-tools/vulkan-utils-multiarch_1.2.131.1+dfsg1-1+steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "vulkan-utils-multiarch.deb";
};
}
rec {
name = "waffle-utils_1.6.0-2~steamrt1.3+srt1_i386";
sha256 = "37df214d4f0fd1c5e9afce405756fc1615f2d5cba468b34569b13f3e8a08a2a5";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils_1.6.0-2~steamrt1.3+srt1_i386.deb";
name = "waffle-utils_1.6.1-0+steamrt1.1+srt1_i386";
sha256 = "c88c88a12f5a9486a20275624c45ab7ac2170e846ea1368d1180e7b39c9d586f";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils_1.6.1-0+steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "waffle-utils.deb";
};
}
rec {
name = "waffle-utils-multiarch_1.6.0-2~steamrt1.3+srt1_i386";
sha256 = "5866f8bf43b6c19608670a8c565ce8f0dac9db9c943e65ac25e9cb4f951997a4";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils-multiarch_1.6.0-2~steamrt1.3+srt1_i386.deb";
name = "waffle-utils-multiarch_1.6.1-0+steamrt1.1+srt1_i386";
sha256 = "9aa2ee8c466c343dda5c8db9465238eb5f4cb55b5cfcfca8a3c109ba1d6c6d65";
url = "mirror://steamrt/pool/main/w/waffle/waffle-utils-multiarch_1.6.1-0+steamrt1.1+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "waffle-utils-multiarch.deb";
};
}
rec {
name = "zenity_3.4.0-0ubuntu4+steamrt2+srt6_i386";
sha256 = "1c772d4f96424d204ab4913efcafbe43518257ca5032ca7b23d6c6ab76439117";
url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt2+srt6_i386.deb";
name = "zenity_3.4.0-0ubuntu4+steamrt3+srt1_i386";
sha256 = "b8b0d0781ed2e59ac22af8006e61323a5f1f5be44d47e0fea0ca32e8c575528d";
url = "mirror://steamrt/pool/main/z/zenity/zenity_3.4.0-0ubuntu4+steamrt3+srt1_i386.deb";
source = fetchurl {
inherit url sha256;
name = "zenity.deb";
};
}
rec {
name = "zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all";
sha256 = "bc8f0b80672833be72c6dd87d406b5fc0ef92e51f91e3a461678fc97844649bc";
url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt2+srt6_all.deb";
name = "zenity-common_3.4.0-0ubuntu4+steamrt3+srt1_all";
sha256 = "7ec603c8b00c5573e88e1df9785af4baef93b54e377e697515eb939b7c119cdc";
url = "mirror://steamrt/pool/main/z/zenity/zenity-common_3.4.0-0ubuntu4+steamrt3+srt1_all.deb";
source = fetchurl {
inherit url sha256;
name = "zenity-common.deb";

View File

@ -56,8 +56,8 @@ in rec {
winetricks = fetchFromGitHub rec {
# https://github.com/Winetricks/winetricks/releases
version = "20191224";
sha256 = "07q3zh2i3xqzpg46ljarhq3a4ha9zwpc6jqzvly0kfglkh3b3v66";
version = "20200412";
sha256 = "0ccr8wdmhkhbccxs5hvn44ppl969n8j0c3rnnir5v6akjcb2nzzv";
owner = "Winetricks";
repo = "winetricks";
rev = version;

View File

@ -10,10 +10,10 @@
}:
let
version = "1.12.1";
version = "1.13";
prebuilt_server = fetchurl {
url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
sha256 = "1sk6hbbnf4g6q58fspwlh8bn16j73j3i8hlcshqxzhfhl746krb3";
sha256 = "11gqsl2x18hgwdjajag9q8qdxqvdqr9m67zka22z7hnd3k569vjz";
};
in
stdenv.mkDerivation rec {
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
owner = "Genymobile";
repo = pname;
rev = "v${version}";
sha256 = "16zi0d2jjm2nlrwkwvsxzfpgy45ami45wfh67wq7na2h2ywfmgcp";
sha256 = "1zc73l5vm4hca8niaa3y76kpk7i9vj89wv4gbxmf1yjmixb71hby";
};
# postPatch:

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