Merge remote-tracking branch 'origin/master' into haskell-updates.

This commit is contained in:
Peter Simons 2020-07-03 11:23:30 +02:00
commit 7536a09d30
313 changed files with 2612 additions and 1536 deletions

View file

@ -85,19 +85,19 @@
<title>Installing packages on unsupported systems</title> <title>Installing packages on unsupported systems</title>
<para> <para>
There are also two ways to try compiling a package which has been marked as unsuported for the given system. There are also two ways to try compiling a package which has been marked as unsupported for the given system.
</para> </para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
For allowing the build of a broken package once, you can use an environment variable for a single invocation of the nix tools: For allowing the build of an unsupported package once, you can use an environment variable for a single invocation of the nix tools:
<programlisting>$ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1</programlisting> <programlisting>$ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1</programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
For permanently allowing broken packages to be built, you may add <literal>allowUnsupportedSystem = true;</literal> to your user's configuration file, like this: For permanently allowing unsupported packages to be built, you may add <literal>allowUnsupportedSystem = true;</literal> to your user's configuration file, like this:
<programlisting> <programlisting>
{ {
allowUnsupportedSystem = true; allowUnsupportedSystem = true;

View file

@ -95,6 +95,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
fullName = ''BSD 2-clause "Simplified" License''; fullName = ''BSD 2-clause "Simplified" License'';
}; };
bsd2Patent = spdx {
spdxId = "BSD-2-Clause-Patent";
fullName = ''BSD-2-Clause Plus Patent License'';
};
bsd3 = spdx { bsd3 = spdx {
spdxId = "BSD-3-Clause"; spdxId = "BSD-3-Clause";
fullName = ''BSD 3-clause "New" or "Revised" License''; fullName = ''BSD 3-clause "New" or "Revised" License'';

View file

@ -283,6 +283,12 @@
githubId = 273837; githubId = 273837;
name = "Mateusz Czapliński"; name = "Mateusz Czapliński";
}; };
akamaus = {
email = "dmitryvyal@gmail.com";
github = "akamaus";
githubId = 58955;
name = "Dmitry Vyal";
};
akaWolf = { akaWolf = {
email = "akawolf0@gmail.com"; email = "akawolf0@gmail.com";
github = "akaWolf"; github = "akaWolf";
@ -3716,6 +3722,12 @@
githubId = 41977; githubId = 41977;
name = "Joachim Fasting"; name = "Joachim Fasting";
}; };
joachimschmidt557 = {
email = "joachim.schmidt557@outlook.com";
github = "joachimschmidt557";
githubId = 28556218;
name = "Joachim Schmidt";
};
joamaki = { joamaki = {
email = "joamaki@gmail.com"; email = "joamaki@gmail.com";
github = "joamaki"; github = "joamaki";
@ -6314,6 +6326,12 @@
fingerprint = "240B 57DE 4271 2480 7CE3 EAC8 4F74 D536 1C4C A31E"; fingerprint = "240B 57DE 4271 2480 7CE3 EAC8 4F74 D536 1C4C A31E";
}]; }];
}; };
priegger = {
email = "philipp@riegger.name";
github = "priegger";
githubId = 228931;
name = "Philipp Riegger";
};
prikhi = { prikhi = {
email = "pavan.rikhi@gmail.com"; email = "pavan.rikhi@gmail.com";
github = "prikhi"; github = "prikhi";

View file

@ -74,6 +74,7 @@ moonscript,,,,,arobyn
nvim-client,,,,, nvim-client,,,,,
penlight,,,,, penlight,,,,,
rapidjson,,,,, rapidjson,,,,,
readline,,,,,
say,,,,, say,,,,,
std__debug,std._debug,,,, std__debug,std._debug,,,,
std_normalize,std.normalize,,,, std_normalize,std.normalize,,,,

1 # nix name luarocks name server version luaversion maintainers
74 nvim-client
75 penlight
76 rapidjson
77 readline
78 say
79 std__debug std._debug
80 std_normalize std.normalize

View file

@ -360,6 +360,18 @@ start_all()
</note> </note>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<methodname>wait_for_console_text</methodname>
</term>
<listitem>
<para>
Wait until the supplied regular expressions match a line of the serial
console output. This method is useful when OCR is not possibile or
accurate enough.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<methodname>wait_for_window</methodname> <methodname>wait_for_window</methodname>

View file

@ -146,7 +146,7 @@
partition. It uses the initially reserved 512MiB at the start of the partition. It uses the initially reserved 512MiB at the start of the
disk. disk.
<screen language="commands"><prompt># </prompt>parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB <screen language="commands"><prompt># </prompt>parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
<prompt># </prompt>parted /dev/sda -- set 3 boot on</screen> <prompt># </prompt>parted /dev/sda -- set 3 esp on</screen>
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
@ -513,7 +513,7 @@ Retype new UNIX password: ***</screen>
<prompt># </prompt>parted /dev/sda -- mkpart primary 512MiB -8GiB <prompt># </prompt>parted /dev/sda -- mkpart primary 512MiB -8GiB
<prompt># </prompt>parted /dev/sda -- mkpart primary linux-swap -8GiB 100% <prompt># </prompt>parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
<prompt># </prompt>parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB <prompt># </prompt>parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
<prompt># </prompt>parted /dev/sda -- set 3 boot on</screen> <prompt># </prompt>parted /dev/sda -- set 3 esp on</screen>
</example> </example>
<example xml:id="ex-install-sequence"> <example xml:id="ex-install-sequence">

View file

@ -17,7 +17,7 @@
, e2fsprogs , e2fsprogs
, libfaketime , libfaketime
, perl , perl
, lkl , fakeroot
}: }:
let let
@ -26,7 +26,7 @@ in
pkgs.stdenv.mkDerivation { pkgs.stdenv.mkDerivation {
name = "ext4-fs.img${lib.optionalString compressImage ".zst"}"; name = "ext4-fs.img${lib.optionalString compressImage ".zst"}";
nativeBuildInputs = [ e2fsprogs.bin libfaketime perl lkl ] nativeBuildInputs = [ e2fsprogs.bin libfaketime perl fakeroot ]
++ lib.optional compressImage zstd; ++ lib.optional compressImage zstd;
buildCommand = buildCommand =
@ -37,32 +37,31 @@ pkgs.stdenv.mkDerivation {
${populateImageCommands} ${populateImageCommands}
) )
# Add the closures of the top-level store objects. echo "Preparing store paths for image..."
storePaths=$(cat ${sdClosureInfo}/store-paths)
# Create nix/store before copying path
mkdir -p ./rootImage/nix/store
xargs -I % cp -a --reflink=auto % -t ./rootImage/nix/store/ < ${sdClosureInfo}/store-paths
(
GLOBIGNORE=".:.."
shopt -u dotglob
cp -a --reflink=auto ./files/* -t ./rootImage/
)
# Also include a manifest of the closures in a format suitable for nix-store --load-db
cp ${sdClosureInfo}/registration ./rootImage/nix-path-registration
# Make a crude approximation of the size of the target image. # Make a crude approximation of the size of the target image.
# If the script starts failing, increase the fudge factors here. # If the script starts failing, increase the fudge factors here.
numInodes=$(find $storePaths ./files | wc -l) numInodes=$(find ./rootImage | wc -l)
numDataBlocks=$(du -s -c -B 4096 --apparent-size $storePaths ./files | tail -1 | awk '{ print int($1 * 1.10) }') numDataBlocks=$(du -s -c -B 4096 --apparent-size ./rootImage | tail -1 | awk '{ print int($1 * 1.10) }')
bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks)) bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks))
echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)" echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)"
truncate -s $bytes $img truncate -s $bytes $img
faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $img
# Also include a manifest of the closures in a format suitable for nix-store --load-db. faketime -f "1970-01-01 00:00:01" fakeroot mkfs.ext4 -L ${volumeLabel} -U ${uuid} -d ./rootImage $img
cp ${sdClosureInfo}/registration nix-path-registration
cptofs -t ext4 -i $img nix-path-registration /
# Create nix/store before copying paths
faketime -f "1970-01-01 00:00:01" mkdir -p nix/store
cptofs -t ext4 -i $img nix /
echo "copying store paths to image..."
cptofs -t ext4 -i $img $storePaths /nix/store/
echo "copying files to image..."
cptofs -t ext4 -i $img ./files/* /
export EXT2FS_NO_MTAB_OK=yes export EXT2FS_NO_MTAB_OK=yes
# I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build. # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build.

View file

@ -3,6 +3,8 @@ from contextlib import contextmanager, _GeneratorContextManager
from queue import Queue, Empty from queue import Queue, Empty
from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
from xml.sax.saxutils import XMLGenerator from xml.sax.saxutils import XMLGenerator
import queue
import io
import _thread import _thread
import argparse import argparse
import atexit import atexit
@ -672,6 +674,22 @@ class Machine:
with self.nested("waiting for {} to appear on screen".format(regex)): with self.nested("waiting for {} to appear on screen".format(regex)):
retry(screen_matches) retry(screen_matches)
def wait_for_console_text(self, regex: str) -> None:
self.log("waiting for {} to appear on console".format(regex))
# Buffer the console output, this is needed
# to match multiline regexes.
console = io.StringIO()
while True:
try:
console.write(self.last_lines.get())
except queue.Empty:
self.sleep(1)
continue
console.seek(0)
matches = re.search(regex, console.read())
if matches is not None:
return
def send_key(self, key: str) -> None: def send_key(self, key: str) -> None:
key = CHAR_TO_KEY.get(key, key) key = CHAR_TO_KEY.get(key, key)
self.send_monitor_command("sendkey {}".format(key)) self.send_monitor_command("sendkey {}".format(key))
@ -735,11 +753,16 @@ class Machine:
self.monitor, _ = self.monitor_socket.accept() self.monitor, _ = self.monitor_socket.accept()
self.shell, _ = self.shell_socket.accept() self.shell, _ = self.shell_socket.accept()
# Store last serial console lines for use
# of wait_for_console_text
self.last_lines: Queue = Queue()
def process_serial_output() -> None: def process_serial_output() -> None:
assert self.process.stdout is not None assert self.process.stdout is not None
for _line in self.process.stdout: for _line in self.process.stdout:
# Ignore undecodable bytes that may occur in boot menus # Ignore undecodable bytes that may occur in boot menus
line = _line.decode(errors="ignore").replace("\r", "").rstrip() line = _line.decode(errors="ignore").replace("\r", "").rstrip()
self.last_lines.put(line)
eprint("{} # {}".format(self.name, line)) eprint("{} # {}".format(self.name, line))
self.logger.enqueue({"msg": line, "machine": self.name}) self.logger.enqueue({"msg": line, "machine": self.name})

View file

@ -114,7 +114,7 @@ rec {
imagemagick_tiff = imagemagick_light.override { inherit libtiff; }; imagemagick_tiff = imagemagick_light.override { inherit libtiff; };
# Generate onvenience wrappers for running the test driver # Generate convenience wrappers for running the test driver
# interactively with the specified network, and for starting the # interactively with the specified network, and for starting the
# VMs from the command line. # VMs from the command line.
driver = let warn = if skipLint then lib.warn "Linting is disabled!" else lib.id; in warn (runCommand testDriverName driver = let warn = if skipLint then lib.warn "Linting is disabled!" else lib.id; in warn (runCommand testDriverName

View file

@ -686,6 +686,7 @@
./services/networking/ocserv.nix ./services/networking/ocserv.nix
./services/networking/ofono.nix ./services/networking/ofono.nix
./services/networking/oidentd.nix ./services/networking/oidentd.nix
./services/networking/onedrive.nix
./services/networking/openfire.nix ./services/networking/openfire.nix
./services/networking/openvpn.nix ./services/networking/openvpn.nix
./services/networking/ostinato.nix ./services/networking/ostinato.nix

View file

@ -102,6 +102,9 @@ in
programs.fish.shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases; programs.fish.shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases;
# Required for man completions
documentation.man.generateCaches = true;
environment.etc."fish/foreign-env/shellInit".text = cfge.shellInit; environment.etc."fish/foreign-env/shellInit".text = cfge.shellInit;
environment.etc."fish/foreign-env/loginShellInit".text = cfge.loginShellInit; environment.etc."fish/foreign-env/loginShellInit".text = cfge.loginShellInit;
environment.etc."fish/foreign-env/interactiveShellInit".text = cfge.interactiveShellInit; environment.etc."fish/foreign-env/interactiveShellInit".text = cfge.interactiveShellInit;

View file

@ -1,14 +1,16 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with builtins;
with lib; with lib;
let let
cfg = config.services.gitlab-runner; cfg = config.services.gitlab-runner;
hasDocker = config.virtualisation.docker.enable; hasDocker = config.virtualisation.docker.enable;
hashedServices = with builtins; (mapAttrs' (name: service: nameValuePair hashedServices = mapAttrs'
"${name}_${config.networking.hostName}_${ (name: service: nameValuePair
"${name}_${config.networking.hostName}_${
substring 0 12 substring 0 12
(hashString "md5" (unsafeDiscardStringContext (toJSON service)))}" (hashString "md5" (unsafeDiscardStringContext (toJSON service)))}"
service) service)
cfg.services); cfg.services;
configPath = "$HOME/.gitlab-runner/config.toml"; configPath = "$HOME/.gitlab-runner/config.toml";
configureScript = pkgs.writeShellScriptBin "gitlab-runner-configure" ( configureScript = pkgs.writeShellScriptBin "gitlab-runner-configure" (
if (cfg.configFile != null) then '' if (cfg.configFile != null) then ''
@ -76,7 +78,7 @@ let
++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages ++ map (v: "--docker-allowed-images ${escapeShellArg v}") service.dockerAllowedImages
++ map (v: "--docker-allowed-services ${escapeShellArg v}") service.dockerAllowedServices ++ map (v: "--docker-allowed-services ${escapeShellArg v}") service.dockerAllowedServices
) )
))} && sleep 1 ))} && sleep 1 || exit 1
fi fi
'') hashedServices)} '') hashedServices)}
@ -89,8 +91,17 @@ let
# update global options # update global options
remarshal --if toml --of json ${configPath} \ remarshal --if toml --of json ${configPath} \
| jq -cM '.check_interval = ${toString cfg.checkInterval} | | jq -cM ${escapeShellArg (concatStringsSep " | " [
.concurrent = ${toString cfg.concurrent}' \ ".check_interval = ${toJSON cfg.checkInterval}"
".concurrent = ${toJSON cfg.concurrent}"
".sentry_dsn = ${toJSON cfg.sentryDSN}"
".listen_address = ${toJSON cfg.prometheusListenAddress}"
".session_server.listen_address = ${toJSON cfg.sessionServer.listenAddress}"
".session_server.advertise_address = ${toJSON cfg.sessionServer.advertiseAddress}"
".session_server.session_timeout = ${toJSON cfg.sessionServer.sessionTimeout}"
"del(.[] | nulls)"
"del(.session_server[] | nulls)"
])} \
| remarshal --if json --of toml \ | remarshal --if json --of toml \
| sponge ${configPath} | sponge ${configPath}
@ -141,6 +152,66 @@ in
0 does not mean unlimited. 0 does not mean unlimited.
''; '';
}; };
sentryDSN = mkOption {
type = types.nullOr types.str;
default = null;
example = "https://public:private@host:port/1";
description = ''
Data Source Name for tracking of all system level errors to Sentry.
'';
};
prometheusListenAddress = mkOption {
type = types.nullOr types.str;
default = null;
example = "localhost:8080";
description = ''
Address (&lt;host&gt;:&lt;port&gt;) on which the Prometheus metrics HTTP server
should be listening.
'';
};
sessionServer = mkOption {
type = types.submodule {
options = {
listenAddress = mkOption {
type = types.nullOr types.str;
default = null;
example = "0.0.0.0:8093";
description = ''
An internal URL to be used for the session server.
'';
};
advertiseAddress = mkOption {
type = types.nullOr types.str;
default = null;
example = "runner-host-name.tld:8093";
description = ''
The URL that the Runner will expose to GitLab to be used
to access the session server.
Fallbacks to <option>listenAddress</option> if not defined.
'';
};
sessionTimeout = mkOption {
type = types.int;
default = 1800;
description = ''
How long in seconds the session can stay active after
the job completes (which will block the job from finishing).
'';
};
};
};
default = { };
example = literalExample ''
{
listenAddress = "0.0.0.0:8093";
}
'';
description = ''
The session server allows the user to interact with jobs
that the Runner is responsible for. A good example of this is the
<link xlink:href="https://docs.gitlab.com/ee/ci/interactive_web_terminal/index.html">interactive web terminal</link>.
'';
};
gracefulTermination = mkOption { gracefulTermination = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;

View file

@ -5,14 +5,14 @@ with lib;
let let
cfg = config.services.openldap; cfg = config.services.openldap;
openldap = pkgs.openldap; openldap = cfg.package;
dataFile = pkgs.writeText "ldap-contents.ldif" cfg.declarativeContents; dataFile = pkgs.writeText "ldap-contents.ldif" cfg.declarativeContents;
configFile = pkgs.writeText "slapd.conf" ((optionalString cfg.defaultSchemas '' configFile = pkgs.writeText "slapd.conf" ((optionalString cfg.defaultSchemas ''
include ${pkgs.openldap.out}/etc/schema/core.schema include ${openldap.out}/etc/schema/core.schema
include ${pkgs.openldap.out}/etc/schema/cosine.schema include ${openldap.out}/etc/schema/cosine.schema
include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema include ${openldap.out}/etc/schema/inetorgperson.schema
include ${pkgs.openldap.out}/etc/schema/nis.schema include ${openldap.out}/etc/schema/nis.schema
'') + '' '') + ''
${cfg.extraConfig} ${cfg.extraConfig}
database ${cfg.database} database ${cfg.database}
@ -46,6 +46,18 @@ in
"; ";
}; };
package = mkOption {
type = types.package;
default = pkgs.openldap;
description = ''
OpenLDAP package to use.
This can be used to, for example, set an OpenLDAP package
with custom overrides to enable modules or other
functionality.
'';
};
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = "openldap"; default = "openldap";
@ -152,10 +164,10 @@ in
"; ";
example = literalExample '' example = literalExample ''
''' '''
include ${pkgs.openldap.out}/etc/schema/core.schema include ${openldap.out}/etc/schema/core.schema
include ${pkgs.openldap.out}/etc/schema/cosine.schema include ${openldap.out}/etc/schema/cosine.schema
include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema include ${openldap.out}/etc/schema/inetorgperson.schema
include ${pkgs.openldap.out}/etc/schema/nis.schema include ${openldap.out}/etc/schema/nis.schema
database bdb database bdb
suffix dc=example,dc=org suffix dc=example,dc=org

View file

@ -0,0 +1,72 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.onedrive;
onedriveLauncher = pkgs.writeShellScriptBin
"onedrive-launcher"
''
# XDG_CONFIG_HOME is not recognized in the environment here.
if [ -f $HOME/.config/onedrive-launcher ]
then
# Hopefully using underscore boundary helps locate variables
for _onedrive_config_dirname_ in $(cat $HOME/.config/onedrive-launcher | grep -v '[ \t]*#' )
do
systemctl --user start onedrive@$_onedrive_config_dirname_
done
else
systemctl --user start onedrive@onedrive
fi
''
;
in {
### Documentation
# meta.doc = ./onedrive.xml;
### Interface
options.services.onedrive = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable OneDrive service";
};
package = lib.mkOption {
type = lib.types.package;
default = pkgs.onedrive;
defaultText = "pkgs.onedrive";
example = lib.literalExample "pkgs.onedrive";
description = ''
OneDrive package to use.
'';
};
};
### Implementation
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.user.services."onedrive@" = {
description = "Onedrive sync service";
serviceConfig = {
Type = "simple";
ExecStart = ''
${cfg.package}/bin/onedrive --monitor --verbose --confdir=%h/.config/%i
'';
Restart="on-failure";
RestartSec=3;
RestartPreventExitStatus=3;
};
};
systemd.user.services.onedrive-launcher = {
wantedBy = [ "default.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${onedriveLauncher}/bin/onedrive-launcher";
};
};
};
}

View file

@ -0,0 +1,34 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="onedrive">
<title>Microsoft OneDrive</title>
<para>
Microsoft Onedrive is a popular cloud file-hosting service, used by 85% of Fortune 500 companies. NixOS uses a popular OneDrive client for Linux maintained by github user abraunegg. The Linux client is excellent and allows customization of which files or paths to download, not much unlike the default Windows OneDrive client by Microsoft itself. The client allows syncing with multiple onedrive accounts at the same time, of any type- OneDrive personal, OneDrive business, Office365 and Sharepoint libraries, without any additional charge.
</para>
<para>
For more information, guides and documentation, see <link xlink:href="https://abraunegg.github.io/"/>.
</para>
<para>
To enable OneDrive support, add the following to your <filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-services.onedrive.enable"/> = true;
</programlisting>
This installs the <literal>onedrive</literal> package and a service <literal>onedriveLauncher</literal> which will instantiate a <literal>onedrive</literal> service for all your OneDrive accounts. Follow the steps in documentation of the onedrive client to setup your accounts. To use the service with multiple accounts, create a file named <filename>onedrive-launcher</filename> in <filename>~/.config</filename> and add the filename of the config directory, relative to <filename>~/.config</filename>. For example, if you have two OneDrive accounts with configs in <filename>~/.config/onedrive_bob_work</filename> and <filename>~/.config/onedrive_bob_personal</filename>, add the following lines:
<programlisting>
onedrive_bob_work
# Not in use:
# onedrive_bob_office365
onedrive_bob_personal
</programlisting>
No such file needs to be created if you are using only a single OneDrive account with config in the default location <filename>~/.config/onedrive</filename>, in the absence of <filename>~/.config/onedrive-launcher</filename>, only a single service is instantiated, with default config path.
</para>
<para>
If you wish to use a custom OneDrive package, say from another channel, add the following line:
<programlisting>
<xref linkend="opt-services.onedrive.package"/> = pkgs.unstable.onedrive;
</programlisting>
</para>
</chapter>

View file

@ -55,6 +55,7 @@ let
storePath = config.boot.loader.grub.storePath; storePath = config.boot.loader.grub.storePath;
bootloaderId = if args.efiBootloaderId == null then "NixOS${efiSysMountPoint'}" else args.efiBootloaderId; bootloaderId = if args.efiBootloaderId == null then "NixOS${efiSysMountPoint'}" else args.efiBootloaderId;
timeout = if config.boot.loader.timeout == null then -1 else config.boot.loader.timeout; timeout = if config.boot.loader.timeout == null then -1 else config.boot.loader.timeout;
users = if cfg.users == {} || cfg.version != 1 then cfg.users else throw "GRUB version 1 does not support user accounts.";
inherit efiSysMountPoint; inherit efiSysMountPoint;
inherit (args) devices; inherit (args) devices;
inherit (efi) canTouchEfiVariables; inherit (efi) canTouchEfiVariables;
@ -137,6 +138,67 @@ in
''; '';
}; };
users = mkOption {
default = {};
example = {
root = { hashedPasswordFile = "/path/to/file"; };
};
description = ''
User accounts for GRUB. When specified, the GRUB command line and
all boot options except the default are password-protected.
All passwords and hashes provided will be stored in /boot/grub/grub.cfg,
and will be visible to any local user who can read this file. Additionally,
any passwords and hashes provided directly in a Nix configuration
(as opposed to external files) will be copied into the Nix store, and
will be visible to all local users.
'';
type = with types; attrsOf (submodule {
options = {
hashedPasswordFile = mkOption {
example = "/path/to/file";
default = null;
type = with types; uniq (nullOr str);
description = ''
Specifies the path to a file containing the password hash
for the account, generated with grub-mkpasswd-pbkdf2.
This hash will be stored in /boot/grub/grub.cfg, and will
be visible to any local user who can read this file.
'';
};
hashedPassword = mkOption {
example = "grub.pbkdf2.sha512.10000.674DFFDEF76E13EA...2CC972B102CF4355";
default = null;
type = with types; uniq (nullOr str);
description = ''
Specifies the password hash for the account,
generated with grub-mkpasswd-pbkdf2.
This hash will be copied to the Nix store, and will be visible to all local users.
'';
};
passwordFile = mkOption {
example = "/path/to/file";
default = null;
type = with types; uniq (nullOr str);
description = ''
Specifies the path to a file containing the
clear text password for the account.
This password will be stored in /boot/grub/grub.cfg, and will
be visible to any local user who can read this file.
'';
};
password = mkOption {
example = "Pa$$w0rd!";
default = null;
type = with types; uniq (nullOr str);
description = ''
Specifies the clear text password for the account.
This password will be copied to the Nix store, and will be visible to all local users.
'';
};
};
});
};
mirroredBoots = mkOption { mirroredBoots = mkOption {
default = [ ]; default = [ ];
example = [ example = [

View file

@ -247,6 +247,45 @@ if ($grubVersion == 1) {
} }
else { else {
my @users = ();
foreach my $user ($dom->findnodes('/expr/attrs/attr[@name = "users"]/attrs/attr')) {
my $name = $user->findvalue('@name') or die;
my $hashedPassword = $user->findvalue('./attrs/attr[@name = "hashedPassword"]/string/@value');
my $hashedPasswordFile = $user->findvalue('./attrs/attr[@name = "hashedPasswordFile"]/string/@value');
my $password = $user->findvalue('./attrs/attr[@name = "password"]/string/@value');
my $passwordFile = $user->findvalue('./attrs/attr[@name = "passwordFile"]/string/@value');
if ($hashedPasswordFile) {
open(my $f, '<', $hashedPasswordFile) or die "Can't read file '$hashedPasswordFile'!";
$hashedPassword = <$f>;
chomp $hashedPassword;
}
if ($passwordFile) {
open(my $f, '<', $passwordFile) or die "Can't read file '$passwordFile'!";
$password = <$f>;
chomp $password;
}
if ($hashedPassword) {
if (index($hashedPassword, "grub.pbkdf2.") == 0) {
$conf .= "\npassword_pbkdf2 $name $hashedPassword";
}
else {
die "Password hash for GRUB user '$name' is not valid!";
}
}
elsif ($password) {
$conf .= "\npassword $name $password";
}
else {
die "GRUB user '$name' has no password!";
}
push(@users, $name);
}
if (@users) {
$conf .= "\nset superusers=\"" . join(' ',@users) . "\"\n";
}
if ($copyKernels == 0) { if ($copyKernels == 0) {
$conf .= " $conf .= "
" . $grubStore->search; " . $grubStore->search;
@ -350,7 +389,7 @@ sub copyToKernelsDir {
} }
sub addEntry { sub addEntry {
my ($name, $path) = @_; my ($name, $path, $options) = @_;
return unless -e "$path/kernel" && -e "$path/initrd"; return unless -e "$path/kernel" && -e "$path/initrd";
my $kernel = copyToKernelsDir(Cwd::abs_path("$path/kernel")); my $kernel = copyToKernelsDir(Cwd::abs_path("$path/kernel"));
@ -396,7 +435,7 @@ sub addEntry {
$conf .= " " . ($xen ? "module" : "kernel") . " $kernel $kernelParams\n"; $conf .= " " . ($xen ? "module" : "kernel") . " $kernel $kernelParams\n";
$conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n"; $conf .= " " . ($xen ? "module" : "initrd") . " $initrd\n\n";
} else { } else {
$conf .= "menuentry \"$name\" {\n"; $conf .= "menuentry \"$name\" " . ($options||"") . " {\n";
$conf .= $grubBoot->search . "\n"; $conf .= $grubBoot->search . "\n";
if ($copyKernels == 0) { if ($copyKernels == 0) {
$conf .= $grubStore->search . "\n"; $conf .= $grubStore->search . "\n";
@ -413,7 +452,7 @@ sub addEntry {
# Add default entries. # Add default entries.
$conf .= "$extraEntries\n" if $extraEntriesBeforeNixOS; $conf .= "$extraEntries\n" if $extraEntriesBeforeNixOS;
addEntry("NixOS - Default", $defaultConfig); addEntry("NixOS - Default", $defaultConfig, "--unrestricted");
$conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS; $conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS;

View file

@ -102,6 +102,8 @@ in
systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ]; systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ];
systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ];
systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ]; systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ];
systemd.services.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"];
systemd.paths.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"];
boot.initrd.extraUtilsCommands = '' boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd
@ -146,6 +148,7 @@ in
# We use `mkAfter` to ensure that LUKS password prompt would be shown earlier than the splash screen. # We use `mkAfter` to ensure that LUKS password prompt would be shown earlier than the splash screen.
boot.initrd.preLVMCommands = mkAfter '' boot.initrd.preLVMCommands = mkAfter ''
mkdir -p /etc/plymouth mkdir -p /etc/plymouth
mkdir -p /run/plymouth
ln -s ${configFile} /etc/plymouth/plymouthd.conf ln -s ${configFile} /etc/plymouth/plymouthd.conf
ln -s $extraUtils/share/plymouth/plymouthd.defaults /etc/plymouth/plymouthd.defaults ln -s $extraUtils/share/plymouth/plymouthd.defaults /etc/plymouth/plymouthd.defaults
ln -s $extraUtils/share/plymouth/logo.png /etc/plymouth/logo.png ln -s $extraUtils/share/plymouth/logo.png /etc/plymouth/logo.png

View file

@ -197,9 +197,7 @@ in
Request encryption keys or passwords for all encrypted datasets on import. Request encryption keys or passwords for all encrypted datasets on import.
For root pools the encryption key can be supplied via both an For root pools the encryption key can be supplied via both an
interactive prompt (keylocation=prompt) and from a file interactive prompt (keylocation=prompt) and from a file
(keylocation=file://). Note that for data pools the encryption key can (keylocation=file://).
be only loaded from a file and not via interactive prompt since the
import is processed in a background systemd service.
''; '';
}; };
@ -490,7 +488,11 @@ in
description = "Import ZFS pool \"${pool}\""; description = "Import ZFS pool \"${pool}\"";
# we need systemd-udev-settle until https://github.com/zfsonlinux/zfs/pull/4943 is merged # we need systemd-udev-settle until https://github.com/zfsonlinux/zfs/pull/4943 is merged
requires = [ "systemd-udev-settle.service" ]; requires = [ "systemd-udev-settle.service" ];
after = [ "systemd-udev-settle.service" "systemd-modules-load.service" ]; after = [
"systemd-udev-settle.service"
"systemd-modules-load.service"
"systemd-ask-password-console.service"
];
wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ]; wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ];
before = (getPoolMounts pool) ++ [ "local-fs.target" ]; before = (getPoolMounts pool) ++ [ "local-fs.target" ];
unitConfig = { unitConfig = {
@ -515,7 +517,20 @@ in
done done
poolImported "${pool}" || poolImport "${pool}" # Try one last time, e.g. to import a degraded pool. poolImported "${pool}" || poolImport "${pool}" # Try one last time, e.g. to import a degraded pool.
if poolImported "${pool}"; then if poolImported "${pool}"; then
${optionalString cfgZfs.requestEncryptionCredentials "\"${packages.zfsUser}/sbin/zfs\" load-key -r \"${pool}\""} ${optionalString cfgZfs.requestEncryptionCredentials ''
${packages.zfsUser}/sbin/zfs list -rHo name,keylocation ${pool} | while IFS=$'\t' read ds kl; do
(case "$kl" in
none )
;;
prompt )
${config.systemd.package}/bin/systemd-ask-password "Enter key for $ds:" | ${packages.zfsUser}/sbin/zfs load-key "$ds"
;;
* )
${packages.zfsUser}/sbin/zfs load-key "$ds"
;;
esac) < /dev/null # To protect while read ds kl in case anything reads stdin
done
''}
echo "Successfully imported ${pool}" echo "Successfully imported ${pool}"
else else
exit 1 exit 1

View file

@ -126,6 +126,7 @@ in
grafana = handleTest ./grafana.nix {}; grafana = handleTest ./grafana.nix {};
graphite = handleTest ./graphite.nix {}; graphite = handleTest ./graphite.nix {};
graylog = handleTest ./graylog.nix {}; graylog = handleTest ./graylog.nix {};
grub = handleTest ./grub.nix {};
gvisor = handleTest ./gvisor.nix {}; gvisor = handleTest ./gvisor.nix {};
hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {}; hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {}; hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};

View file

@ -1,11 +1,6 @@
import ./make-test-python.nix ({ pkgs, ... } : import ./make-test-python.nix ({ pkgs, ... } :
{ {
name = "graphite"; name = "graphite";
meta = {
# Fails on dependency `python-2.7-Twisted`'s test suite
# complaining `ImportError: No module named zope.interface`.
broken = true;
};
nodes = { nodes = {
one = one =
{ ... }: { { ... }: {
@ -21,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ... } :
api = { api = {
enable = true; enable = true;
port = 8082; port = 8082;
finders = [ pkgs.python3Packages.influxgraph ]; finders = [ ];
}; };
carbon.enableCache = true; carbon.enableCache = true;
seyren.enable = false; # Implicitely requires openssl-1.0.2u which is marked insecure seyren.enable = false; # Implicitely requires openssl-1.0.2u which is marked insecure
@ -41,10 +36,14 @@ import ./make-test-python.nix ({ pkgs, ... } :
# even if they're still in preStart (which takes quite long for graphiteWeb). # even if they're still in preStart (which takes quite long for graphiteWeb).
# Wait for ports to open so we're sure the services are up and listening. # Wait for ports to open so we're sure the services are up and listening.
one.wait_for_open_port(8080) one.wait_for_open_port(8080)
one.wait_for_open_port(8082)
one.wait_for_open_port(2003) one.wait_for_open_port(2003)
one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003') one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003')
one.wait_until_succeeds( one.wait_until_succeeds(
"curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2" "curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
) )
one.wait_until_succeeds(
"curl 'http://localhost:8082/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
)
''; '';
}) })

60
nixos/tests/grub.nix Normal file
View file

@ -0,0 +1,60 @@
import ./make-test-python.nix ({ lib, ... }: {
name = "grub";
meta = with lib.maintainers; {
maintainers = [ rnhmjoj ];
};
machine = { ... }: {
virtualisation.useBootLoader = true;
boot.loader.timeout = null;
boot.loader.grub = {
enable = true;
users.alice.password = "supersecret";
# OCR is not accurate enough
extraConfig = "serial; terminal_output serial";
};
};
testScript = ''
def grub_login_as(user, password):
"""
Enters user and password to log into GRUB
"""
machine.wait_for_console_text("Enter username:")
machine.send_chars(user + "\n")
machine.wait_for_console_text("Enter password:")
machine.send_chars(password + "\n")
def grub_select_all_configurations():
"""
Selects "All configurations" from the GRUB menu
to trigger a login request.
"""
machine.send_monitor_command("sendkey down")
machine.send_monitor_command("sendkey ret")
machine.start()
# wait for grub screen
machine.wait_for_console_text("GNU GRUB")
grub_select_all_configurations()
with subtest("Invalid credentials are rejected"):
grub_login_as("wronguser", "wrongsecret")
machine.wait_for_console_text("error: access denied.")
grub_select_all_configurations()
with subtest("Valid credentials are accepted"):
grub_login_as("alice", "supersecret")
machine.send_chars("\n") # press enter to boot
machine.wait_for_console_text("Linux version")
with subtest("Machine boots correctly"):
machine.wait_for_unit("multi-user.target")
'';
})

View file

@ -18,7 +18,7 @@ import ../make-test-python.nix {
machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout") machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout")
# Ping the daemon # Ping the daemon
machine.succeed("lorri internal__ping shell.nix") machine.succeed("lorri internal ping shell.nix")
# Wait for the daemon to finish the build # Wait for the daemon to finish the build
machine.wait_until_succeeds("grep --fixed-strings 'Completed' lorri.stdout") machine.wait_until_succeeds("grep --fixed-strings 'Completed' lorri.stdout")

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aeolus"; pname = "aeolus";
version = "0.9.8"; version = "0.9.9";
src = fetchurl { src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "1zfr3567mwbqsfybkhg03n5dvmhllk88c9ayb10qzz2nh6d7g2qn"; sha256 = "04y1j36y7vc93bv299vfiawbww4ym6q7avfx8vw6rmxr817zrch3";
}; };
buildInputs = [ buildInputs = [

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "flacon"; pname = "flacon";
version = "6.0.0"; version = "6.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "flacon"; owner = "flacon";
repo = "flacon"; repo = "flacon";
rev = "v${version}"; rev = "v${version}";
sha256 = "0p5z6rwckda0lkljrrvx6i90fazj53cxg9pasfmi8154j1z72dj2"; sha256 = "04yp3aym7h70xjni9ancqv5lc4zds5a8dgw3fzgqs8k5nmh074gv";
}; };
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ft2-clone"; pname = "ft2-clone";
version = "1.25_fix"; version = "1.26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "8bitbubsy"; owner = "8bitbubsy";
repo = "ft2-clone"; repo = "ft2-clone";
rev = "v${version}"; rev = "v${version}";
sha256 = "0q2mcp3xpgwilmiwzr9nnxlyg9c1kynh6cxzlyd95n520j00s6i7"; sha256 = "0fqb4415qy2nwjz7ahi43nk795ifswb2b37sc7p5n9m4yc8h53wv";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "giada"; pname = "giada";
version = "0.16.2.2"; version = "0.16.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "monocasual"; owner = "monocasual";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0rpg5qmw3b76xcra869shb8fwk5wfzpzw216n96hxa5s6k69cm0p"; sha256 = "1sysv5d0wq6ib47bqsn3wdzkqzjpzjrgzg15bkllbm67hiz9abhh";
}; };
configureFlags = [ configureFlags = [

View file

@ -14,16 +14,16 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ncspot"; pname = "ncspot";
version = "0.1.3"; version = "0.1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hrkfdn"; owner = "hrkfdn";
repo = "ncspot"; repo = "ncspot";
rev = "v${version}"; rev = version;
sha256 = "144a7wn5l64fhvj8vgwl7z4bp8lbq0pb0dl38x9y4wkqmdh6wrli"; sha256 = "02g2lamabkwayhm56498pfvl9g0xx2vsan2j48ssrwjx6rwmlh7n";
}; };
cargoSha256 = "19gn0v7j1ly3ywgflfj27pnrwjiiy17m3g1z0kzagxpjy2xi2qxy"; cargoSha256 = "07gw2az11lpldwpb792l64b7xlarvx77364rn4i8g6a5271zahz3";
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pt2-clone"; pname = "pt2-clone";
version = "1.19"; version = "1.20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "8bitbubsy"; owner = "8bitbubsy";
repo = "pt2-clone"; repo = "pt2-clone";
rev = "v${version}"; rev = "v${version}";
sha256 = "0lr8gq4immc5cx1wr5ng6ccxs9afbd2dk6i0n5np25z14dvbvk3k"; sha256 = "0s4yk8w19qa58n5p558n6m7d5mslr9h9z5q3ayrgqcchdlm8cfky";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ergo"; pname = "ergo";
version = "3.2.6"; version = "3.2.7";
src = fetchurl { src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "1a38j7dy6ax9xvcjbdkiz0z33ln4rlmgrxznvqhdf11j70g1sr6x"; sha256 = "1ng2q9yp03j8p2xh7rlqad5h4p82ks1l00401pq7m0y02q90szr8";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -268,12 +268,12 @@ in
clion = buildClion rec { clion = buildClion rec {
name = "clion-${version}"; name = "clion-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "C/C++ IDE. New. Intelligent. Cross-platform"; description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz"; url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
sha256 = "0136hmknkxrsgbygxqzrq1836kg02p14hmv5mzbpp79yglhv2xml"; /* updated by script */ sha256 = "0q5bnb0rmsgks7brrdpgah83s2ixa4pyhw8jvg9p2g48b582rmf7"; /* updated by script */
}; };
wmClass = "jetbrains-clion"; wmClass = "jetbrains-clion";
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@ -281,12 +281,12 @@ in
datagrip = buildDataGrip rec { datagrip = buildDataGrip rec {
name = "datagrip-${version}"; name = "datagrip-${version}";
version = "2020.1.3"; /* updated by script */ version = "2020.1.5"; /* updated by script */
description = "Your Swiss Army Knife for Databases and SQL"; description = "Your Swiss Army Knife for Databases and SQL";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz"; url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
sha256 = "0ivnicpn67mfyhmiwbx80pq5l2xa4g1cpp79mh7rgm2c5klmf201"; /* updated by script */ sha256 = "0605d772156lzlz5904px2spdijc92yz6rjvmpyg6vk5zv5k2wm9"; /* updated by script */
}; };
wmClass = "jetbrains-datagrip"; wmClass = "jetbrains-datagrip";
update-channel = "DataGrip RELEASE"; update-channel = "DataGrip RELEASE";
@ -294,12 +294,12 @@ in
goland = buildGoland rec { goland = buildGoland rec {
name = "goland-${version}"; name = "goland-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "Up and Coming Go IDE"; description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz"; url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "0v6vi6m94fwzsg5s357ymh8604zkv6q0zhyqfh9sj4ynzi7l4fyv"; /* updated by script */ sha256 = "0pqwj4gc23gf10xqciwndimb4ml7djmx8m5rh52c07m77y4aniyn"; /* updated by script */
}; };
wmClass = "jetbrains-goland"; wmClass = "jetbrains-goland";
update-channel = "GoLand RELEASE"; update-channel = "GoLand RELEASE";
@ -307,12 +307,12 @@ in
idea-community = buildIdea rec { idea-community = buildIdea rec {
name = "idea-community-${version}"; name = "idea-community-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "0q848swfg9mjiini5bbjdj1f0qpd1n4glxdpncjj7mbpvp7s2h5k"; /* updated by script */ sha256 = "07gfqyp6blbf7v8p106ngpq7c5p0llcjahi205yg2jgzkhshn7ld"; /* updated by script */
}; };
wmClass = "jetbrains-idea-ce"; wmClass = "jetbrains-idea-ce";
update-channel = "IntelliJ IDEA RELEASE"; update-channel = "IntelliJ IDEA RELEASE";
@ -320,12 +320,12 @@ in
idea-ultimate = buildIdea rec { idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}"; name = "idea-ultimate-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz"; url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
sha256 = "13khjc7fp28mpcdn74msdw57nzhicg32xrrvj7s7na2qd9gqz0hf"; /* updated by script */ sha256 = "13qj8n5daz0z0pjizyfsvbbr1gxp5479ar3a68ygi0vrpmbdbssd"; /* updated by script */
}; };
wmClass = "jetbrains-idea"; wmClass = "jetbrains-idea";
update-channel = "IntelliJ IDEA RELEASE"; update-channel = "IntelliJ IDEA RELEASE";
@ -346,12 +346,12 @@ in
phpstorm = buildPhpStorm rec { phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}"; name = "phpstorm-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "Professional IDE for Web and PHP developers"; description = "Professional IDE for Web and PHP developers";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
sha256 = "16gclbczd9czqhply0xb2ykv0bw4bgv85fihy1n2szc4rp643qdw"; /* updated by script */ sha256 = "00c8vlp125j56v9g9d4rc5g4dhgvl1bhi6qrzvpaf6x77jbq4fv4"; /* updated by script */
}; };
wmClass = "jetbrains-phpstorm"; wmClass = "jetbrains-phpstorm";
update-channel = "PhpStorm RELEASE"; update-channel = "PhpStorm RELEASE";
@ -359,12 +359,12 @@ in
pycharm-community = buildPycharm rec { pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}"; name = "pycharm-community-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "PyCharm Community Edition"; description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz"; url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "0p2q01yragab7c15aicpmaby075y7mpf6iavdfipi033q4gnlnki"; /* updated by script */ sha256 = "1s04b9w7sydix1sjqzmby63nwcvzs6iw28wz7441kxgryl9qg0qw"; /* updated by script */
}; };
wmClass = "jetbrains-pycharm-ce"; wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm RELEASE"; update-channel = "PyCharm RELEASE";
@ -372,12 +372,12 @@ in
pycharm-professional = buildPycharm rec { pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}"; name = "pycharm-professional-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "PyCharm Professional Edition"; description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz"; url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1lq97aqnibvg483ww7wi8slh302gydd2kdkw6p2516rjcmm6n324"; /* updated by script */ sha256 = "1ysj00qbn5ik6i5953b9mln4g456fmn3phdln9m5jmcb0126y235"; /* updated by script */
}; };
wmClass = "jetbrains-pycharm"; wmClass = "jetbrains-pycharm";
update-channel = "PyCharm RELEASE"; update-channel = "PyCharm RELEASE";
@ -385,12 +385,12 @@ in
rider = buildRider rec { rider = buildRider rec {
name = "rider-${version}"; name = "rider-${version}";
version = "2020.1.2"; /* updated by script */ version = "2020.1.3"; /* updated by script */
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz"; url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
sha256 = "0flwq61p7827f8nmldqgfpxbfl422imclksw6w97mgzqqhcbgksd"; /* updated by script */ sha256 = "1zzkd3b5j3q6jqrvibxz33a4fcm7pgqfx91bqjs615v3499ncng7"; /* updated by script */
}; };
wmClass = "jetbrains-rider"; wmClass = "jetbrains-rider";
update-channel = "Rider RELEASE"; update-channel = "Rider RELEASE";
@ -398,12 +398,12 @@ in
ruby-mine = buildRubyMine rec { ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}"; name = "ruby-mine-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "The Most Intelligent Ruby and Rails IDE"; description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
sha256 = "0xhx3n2xdk0k0qx7hdiyfga16hjf2j95k219wh7mh0cys20hkrg8"; /* updated by script */ sha256 = "1ycwml7fyhjajjfy1fhggmx0mcdcjidkxll7357rv2z51r0yhc9h"; /* updated by script */
}; };
wmClass = "jetbrains-rubymine"; wmClass = "jetbrains-rubymine";
update-channel = "RubyMine RELEASE"; update-channel = "RubyMine RELEASE";
@ -411,12 +411,12 @@ in
webstorm = buildWebStorm rec { webstorm = buildWebStorm rec {
name = "webstorm-${version}"; name = "webstorm-${version}";
version = "2020.1.1"; /* updated by script */ version = "2020.1.2"; /* updated by script */
description = "Professional IDE for Web and JavaScript development"; description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
sha256 = "0d543g06bxpw4q2p19vmvrxpbhqsvspjbs3sqnw6hxni7wcflhkg"; /* updated by script */ sha256 = "1szgiccimfk99z9x1k99lgic6ix81fdahf1k3a88rddl8hhncjwv"; /* updated by script */
}; };
wmClass = "jetbrains-webstorm"; wmClass = "jetbrains-webstorm";
update-channel = "WebStorm RELEASE"; update-channel = "WebStorm RELEASE";

View file

@ -24,7 +24,7 @@ let
) deviceIds; ) deviceIds;
quartus = stdenv.mkDerivation rec { quartus = stdenv.mkDerivation rec {
version = "19.1.0.670"; version = "20.1.0.711";
pname = "quartus-prime-lite-unwrapped"; pname = "quartus-prime-lite-unwrapped";
src = let src = let
@ -34,12 +34,12 @@ let
}; };
hashes = { hashes = {
"arria_lite" = "1flj9w0vb2p9f9zll136izr6qvmxn0lg72bvaqxs3sxc9vj06wm1"; "arria_lite" = "09g2knq23h3vj0s5y7hsdnqbbkr3pnv53dzpqcw2lq9mb5zfs9r0";
"cyclonev" = "0bqxpvjgph0y6slk0jq75mcqzglmqkm0jsx10y9xz5llm6zxzqab"; "cyclonev" = "05hrpysasyfb7xhxg68spdffxyvxcx0iagibd5jz643b7n6aalpa";
"cyclone" = "0pzs8y4s3snxg4g6lrb21qi88abm48g279xzd98qv17qxb2z82rr"; "cyclone" = "1x3rnwsvzrb5kwdz35sbcabxmcvj8xxpnjlpcjwfc69ybiyr6sgz";
"cyclone10lp" = "1ccxq8n20y40y47zddkijcv41w3cddvydddr3m4844q31in3nxha"; "cyclone10lp" = "1x6d4hm697mjgzaxixrw5va8anr6ihhx96x2524r6axpwqf6wcja";
"max" = "1cxzbqscxvlcy74dpqmvlnxjyyxfwcx3spygpvpwi6dfj3ipgm2z"; "max" = "060b7v0xh86kkjyiix7akfkzhx2kl1b3q117kp7xibnz6yrzwmy3";
"max10" = "14k83javivbk65mpb17wdwsyb8xk7x9gzj9x0wnd24mmijrvdy9s"; "max10" = "05840l9pmqa4i1b3ajfaxkqz1hppls556vbq16a42acz2qs2g578";
}; };
devicePackages = map (id: { devicePackages = map (id: {
@ -48,10 +48,10 @@ let
}) (lib.attrValues supportedDeviceIds); }) (lib.attrValues supportedDeviceIds);
in map require ([{ in map require ([{
name = "QuartusLiteSetup-${version}-linux.run"; name = "QuartusLiteSetup-${version}-linux.run";
sha256 = "15vxvqxqdk29ahlw3lkm1nzxyhzy4626wb9s5f2h6sjgq64r8m7f"; sha256 = "07ssrv8p8kacal6xd80n4h7l5xz13aw1m1gfqqaxig0ivsj971z5";
} { } {
name = "ModelSimSetup-${version}-linux.run"; name = "ModelSimSetup-${version}-linux.run";
sha256 = "0j1vfr91jclv88nam2plx68arxmz4g50sqb840i60wqd5b0l3y6r"; sha256 = "0smxasrmr1c8k6hy378knskpjmz4cgpgb35v5jclns0kx68y3c42";
}] ++ devicePackages); }] ++ devicePackages);
nativeBuildInputs = [ unstick ]; nativeBuildInputs = [ unstick ];
@ -81,9 +81,6 @@ let
--disable-components ${lib.concatStringsSep "," disabledComponents} \ --disable-components ${lib.concatStringsSep "," disabledComponents} \
--mode unattended --installdir $out --accept_eula 1 --mode unattended --installdir $out --accept_eula 1
# This patch is from https://wiki.archlinux.org/index.php/Altera_Design_Software
patch --force --strip 0 --directory $out < ${./vsim.patch}
rm -r $out/uninstall $out/logs rm -r $out/uninstall $out/logs
''; '';

View file

@ -1,11 +0,0 @@
--- modelsim_ase/vco 1970-01-01 01:00:01.000000000 +0100
+++ modelsim_ase/vco 1970-01-01 01:00:01.000000000 +0100
@@ -207,7 +207,7 @@
2.[5-9]*) vco="linux" ;;
2.[1-9][0-9]*) vco="linux" ;;
3.[0-9]*) vco="linux" ;;
- *) vco="linux_rh60" ;;
+ *) vco="linux" ;;
esac
if [ ! -x "$dir/$vco/vsim" ]; then
if [ -x "$dir/linuxle/vsim" ]; then

View file

@ -3,13 +3,13 @@
mkDerivation rec { mkDerivation rec {
pname = "tiled"; pname = "tiled";
version = "1.3.5"; version = "1.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bjorn"; owner = "bjorn";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0d1bs909vga1k494xnggq1mcjfxjrwa4acc0mj5rv73xqkc9mb2s"; sha256 = "1x8jymmc56di1c1wxalsp6qhcban2hahn70ndd097b8mx52gckjr";
}; };
nativeBuildInputs = [ pkgconfig qmake ]; nativeBuildInputs = [ pkgconfig qmake ];

View file

@ -23,13 +23,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "akira"; pname = "akira";
version = "2019-10-12"; version = "2020-05-01";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "akiraux"; owner = "akiraux";
repo = "Akira"; repo = "Akira";
rev = "cab952dee4591b6bde34d670c1f853f5a3ff6b19"; rev = "87c495fa0a686b1e9b84aff7d9c0a9553da2c466";
sha256 = "1fp3a79hkh6xwwqqdrx4zqq2zhsm236c6fhhl5f2nmi108yxz04q"; sha256 = "0ikz6dyx0z2wqskas628hbrbhx3z5gy7i4acrvspfhhg6rk88aqd";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -59,8 +59,6 @@ stdenv.mkDerivation rec {
mesonFlags = [ "-Dprofile=default" ]; mesonFlags = [ "-Dprofile=default" ];
patches = [ ./fix-build-with-vala-0-44-or-later.patch ];
postPatch = '' postPatch = ''
chmod +x build-aux/meson/post_install.py chmod +x build-aux/meson/post_install.py
patchShebangs build-aux/meson/post_install.py patchShebangs build-aux/meson/post_install.py

View file

@ -1,88 +0,0 @@
From bcda8fd53f6f232db0b6411269ba108af551629f Mon Sep 17 00:00:00 2001
From: Alberto Fanjul <albertofanjul@gmail.com>
Date: Tue, 9 Apr 2019 09:45:36 +0200
Subject: [PATCH] Build on vala >= 0.44.2
---
src/FileFormat/JsonObject.vala | 2 +-
src/FileFormat/JsonObjectArray.vala | 2 +-
src/FileFormat/ZipArchiveHandler.vala | 18 +++++++++++++++++-
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/FileFormat/JsonObject.vala b/src/FileFormat/JsonObject.vala
index 7bfe46f..805fbad 100644
--- a/src/FileFormat/JsonObject.vala
+++ b/src/FileFormat/JsonObject.vala
@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObject : GLib.Object {
private ObjectClass obj_class;
- public JsonObject.from_object (Json.Object object) {
+ protected JsonObject.from_object (Json.Object object) {
Object (object: object);
}
diff --git a/src/FileFormat/JsonObjectArray.vala b/src/FileFormat/JsonObjectArray.vala
index 4f6e573..d0a7dad 100644
--- a/src/FileFormat/JsonObjectArray.vala
+++ b/src/FileFormat/JsonObjectArray.vala
@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObjectArray : Object {
*
* Your JsonObject implementation should have it's own list of items
*/
- public JsonObjectArray (Json.Object object, string property_name) {
+ protected JsonObjectArray (Json.Object object, string property_name) {
Object (object: object, property_name: property_name);
}
diff --git a/src/FileFormat/ZipArchiveHandler.vala b/src/FileFormat/ZipArchiveHandler.vala
index ca60dd0..5d65aa2 100644
--- a/src/FileFormat/ZipArchiveHandler.vala
+++ b/src/FileFormat/ZipArchiveHandler.vala
@@ -262,11 +262,17 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
continue;
}
+ Posix.off_t offset;
+#if VALA_0_42
+ uint8[] buffer;
+ while (archive.read_data_block (out buffer, out offset) == Archive.Result.OK) {
+ if (extractor.write_data_block (buffer, offset) != Archive.Result.OK) {
+#else
void* buffer = null;
size_t buffer_length;
- Posix.off_t offset;
while (archive.read_data_block (out buffer, out buffer_length, out offset) == Archive.Result.OK) {
if (extractor.write_data_block (buffer, buffer_length, offset) != Archive.Result.OK) {
+#endif
break;
}
}
@@ -316,9 +322,15 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
// Add an entry to the archive
Archive.Entry entry = new Archive.Entry ();
entry.set_pathname (initial_folder.get_relative_path (current_file));
+#if VALA_0_42
+ entry.set_size ((Archive.int64_t) file_info.get_size ());
+ entry.set_filetype (Archive.FileType.IFREG);
+ entry.set_perm (Archive.FileType.IFREG);
+#else
entry.set_size (file_info.get_size ());
entry.set_filetype ((uint) Posix.S_IFREG);
entry.set_perm (0644);
+#endif
if (archive.write_header (entry) != Archive.Result.OK) {
critical ("Error writing '%s': %s (%d)", current_file.get_path (), archive.error_string (), archive.errno ());
@@ -333,7 +345,11 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
break;
}
+#if VALA_0_42
+ archive.write_data (buffer[0:bytes_read]);
+#else
archive.write_data (buffer, bytes_read);
+#endif
}
}
}

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "drawio"; pname = "drawio";
version = "13.3.1"; version = "13.3.5";
src = fetchurl { src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm"; url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
sha256 = "0zvxmqqbgfxad1n9pa4h99l8hys486wziw5yyndxbv1v80p55p0p"; sha256 = "16pds6sip90davrlrk17a7ms5nh1bs8js5i0hbci1l8gsfyx22i7";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "pdfcpu"; pname = "pdfcpu";
version = "0.3.3"; version = "0.3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pdfcpu"; owner = "pdfcpu";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "09z4z2csp7ld47q36x2id5zadaihisbnk7bkdvci826hwm8km7sl"; sha256 = "00c4psgfh4hia144zsdhrq83bw3fqda1ancv2gkn5ymxkbpnpyrn";
}; };
vendorSha256 = "09alkpfyxapycv6zsaz7prgbr0a1jzd78n7w2mh01mg4hhb2j3k7"; vendorSha256 = "09alkpfyxapycv6zsaz7prgbr0a1jzd78n7w2mh01mg4hhb2j3k7";

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "processing"; pname = "processing";
version = "3.5.3"; version = "3.5.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "processing"; owner = "processing";
repo = "processing"; repo = "processing";
rev = "processing-0269-${version}"; rev = "processing-0270-${version}";
sha256 = "0ajniy3a0i0rx7is46r85yh3ah4zm4ra1gbllmihw9pmnfjgfajn"; sha256 = "0cvv8jda9y8qnfcsziasyv3w7h3w22q78ihr23cm4an63ghxci58";
}; };
nativeBuildInputs = [ ant rsync makeWrapper ]; nativeBuildInputs = [ ant rsync makeWrapper ];
@ -22,8 +22,10 @@ stdenv.mkDerivation rec {
# do not download a file during build # do not download a file during build
${xmlstarlet}/bin/xmlstarlet ed --inplace -P -d '//get[@src="http://download.processing.org/reference.zip"]' build/build.xml ${xmlstarlet}/bin/xmlstarlet ed --inplace -P -d '//get[@src="http://download.processing.org/reference.zip"]' build/build.xml
install -D -m0444 ${fetchurl { install -D -m0444 ${fetchurl {
url = "http://download.processing.org/reference.zip"; # Use archive.org link for reproducibility until the following issue is fixed:
sha256 = "198bpk8mzns6w5h0zdf50wr6iv7sgdi6v7jznj5rbsnpgyilxz35"; # https://github.com/processing/processing/issues/5711
url = "https://web.archive.org/web/20200406132357/https://download.processing.org/reference.zip";
sha256 = "093hc7kc9wfxqgf5dzfmfp68pbsy8x647cj0a25vgjm1swi61zbi";
} }
} ./java/reference.zip } ./java/reference.zip

View file

@ -31,6 +31,7 @@
, rttr , rttr
, kpurpose , kpurpose
, kdeclarative , kdeclarative
, wrapGAppsHook
}: }:
mkDerivation { mkDerivation {
@ -69,6 +70,7 @@ mkDerivation {
rttr rttr
kpurpose kpurpose
kdeclarative kdeclarative
wrapGAppsHook
]; ];
# Both MLT and FFMpeg paths must be set or Kdenlive will complain that it # Both MLT and FFMpeg paths must be set or Kdenlive will complain that it
# doesn't find them. See: # doesn't find them. See:

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ArchiSteamFarm"; pname = "ArchiSteamFarm";
version = "4.2.2.1"; version = "4.2.3.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-generic.zip"; url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-generic.zip";
sha256 = "0pr9rrhi44yl99c2i12rimmc4mhbh0ma9jn17cgsh8p0kbj8sq94"; sha256 = "0v69rrs5fr1n5llfx42xkiish52al7kb36fjy3ng0j9qfp3g8pj7";
}; };
nativeBuildInputs = [ unzip makeWrapper jq ]; nativeBuildInputs = [ unzip makeWrapper jq ];

View file

@ -17,11 +17,11 @@ let python = python3Packages.python; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "blender"; pname = "blender";
version = "2.83.0"; version = "2.83.1";
src = fetchurl { src = fetchurl {
url = "https://download.blender.org/source/${pname}-${version}.tar.xz"; url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
sha256 = "07rzm4xaj94pjxy2vlqfhi1adsqpshfkrzrq8kljmcbnw22vrqhl"; sha256 = "1kd74nzqvpcpsb4lghnjj9z3ps93lzqbhkv3lp5p79rqs8y64i23";
}; };
patches = lib.optional stdenv.isDarwin ./darwin.patch; patches = lib.optional stdenv.isDarwin ./darwin.patch;
@ -57,6 +57,10 @@ stdenv.mkDerivation rec {
--replace '${"$"}{LIBDIR}/python' \ --replace '${"$"}{LIBDIR}/python' \
'${python}' '${python}'
substituteInPlace build_files/cmake/platform/platform_apple.cmake \ substituteInPlace build_files/cmake/platform/platform_apple.cmake \
--replace 'set(PYTHON_VERSION 3.7)' \
'set(PYTHON_VERSION ${python.pythonVersion})' \
--replace '${"$"}{PYTHON_VERSION}m' \
'${"$"}{PYTHON_VERSION}' \
--replace '${"$"}{LIBDIR}/python' \ --replace '${"$"}{LIBDIR}/python' \
'${python}' \ '${python}' \
--replace '${"$"}{LIBDIR}/opencollada' \ --replace '${"$"}{LIBDIR}/opencollada' \

View file

@ -30,11 +30,11 @@ let
in in
mkDerivation rec { mkDerivation rec {
pname = "calibre"; pname = "calibre";
version = "4.17.0"; version = "4.19.0";
src = fetchurl { src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
sha256 = "1qgzx2q8a5g102z311ibz4aw1ipn2j1lbndgadig7xvy6zdhknma"; sha256 = "1kpj65spwr9m88vshsljpdrw5jy7bbpqgqcrvqb17abh7fnnrb4x";
}; };
patches = [ patches = [

View file

@ -2,13 +2,13 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
pname = "cherrytree"; pname = "cherrytree";
version = "0.39.3"; version = "0.39.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "giuspen"; owner = "giuspen";
repo = "cherrytree"; repo = "cherrytree";
rev = version; rev = version;
sha256 = "1k9i7acpphx0if6ij2p9fkmj638ry6hcyr1rdr039a8zi8hq98gz"; sha256 = "1wycgn1f3b858qb6kn2bsaabak8n52qkpd24w54xz6fjizlnw7x0";
}; };

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "clightd"; pname = "clightd";
version = "4.1"; version = "4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FedeDP"; owner = "FedeDP";
repo = "Clightd"; repo = "Clightd";
rev = version; rev = version;
sha256 = "0pqnn52nn22k49f5cw4jcr8vcbff28n56i8fizg1mmfshy8pn891"; sha256 = "07z1m1x7nnczd51sg7m2lb6rb2c37c8glsnbrlq44hx176sj9cmj";
}; };
# dbus-1.pc has datadir=/etc # dbus-1.pc has datadir=/etc

View file

@ -10,13 +10,13 @@
mkDerivation rec { mkDerivation rec {
pname = "ddcui"; pname = "ddcui";
version = "0.1.1"; version = "0.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rockowitz"; owner = "rockowitz";
repo = "ddcui"; repo = "ddcui";
rev = "v${version}"; rev = "v${version}";
sha256 = "02qr7i3pdq8p6lnhwihfgd9b7y9zwpdk6gwv626rz32ai6mfrfhl"; sha256 = "0myma1zw6dlygv3xbin662d91zcnwss10syf12q2fppkrd8qdgqf";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, zlib, which, IOKit, qtbase }: { lib, stdenv, fetchFromGitHub, fetchpatch, zlib, which, IOKit, qtbase, libusb-compat-0_1 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gpsbabel"; pname = "gpsbabel";
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
}) })
]; ];
buildInputs = [ zlib qtbase which ] buildInputs = [ zlib qtbase which libusb-compat-0_1 ]
++ lib.optionals stdenv.isDarwin [ IOKit ]; ++ lib.optionals stdenv.isDarwin [ IOKit ];
/* FIXME: Building the documentation, with "make doc", requires this: /* FIXME: Building the documentation, with "make doc", requires this:

View file

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "gpxsee"; pname = "gpxsee";
version = "7.30"; version = "7.31";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumic0"; owner = "tumic0";
repo = "GPXSee"; repo = "GPXSee";
rev = version; rev = version;
sha256 = "09gajwqc30r9a2sn972qdx3gx0gki9n0zafq986hn6zsr3z43mfs"; sha256 = "0y60h66p8ydkinxk9x4sp4cm6gq66nc9jcavy135vmycsiq9gphn";
}; };
patches = [ patches = [

View file

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "heimer"; pname = "heimer";
version = "1.17.0"; version = "1.18.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "juzzlin"; owner = "juzzlin";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1sxdi1an9x62q9vwv7r2761my4dva6nc63n9861swxjjk18hmmar"; sha256 = "16p18svfcp201gd624wzmf0gpdvywybxp8539igin6s70k6rpc97";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "minder"; pname = "minder";
version = "1.8.0"; version = "1.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phase1geo"; owner = "phase1geo";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "13klasvrndwsmpcxkgy7kvsl2jqmp2cl52vb4i0hk18lr004scgy"; sha256 = "1j3jk76rd0sc9sd9zrd24q3636559wd809yfnb9bv5jmvn9s1bkz";
}; };
nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ]; nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];

View file

@ -0,0 +1,57 @@
{ stdenv, fetchFromGitHub, nim, termbox, pcre }:
let
noise = fetchFromGitHub {
owner = "jangko";
repo = "nim-noise";
rev = "db1e86e312413e4348fa82c02340784316a89cc1";
sha256 = "0n9l2dww5smrsl1xfqxjnxz3f1srb72lc1wl3pdvs6xfyf44qzlh";
};
nimbox = fetchFromGitHub {
owner = "dom96";
repo = "nimbox";
rev = "6a56e76c01481176f16ae29b7d7c526bd83f229b";
sha256 = "15x1sdfxa1xcqnr68705jfnlv83lm0xnp2z9iz3pgc4bz5vwn4x1";
};
lscolors = fetchFromGitHub {
owner = "joachimschmidt557";
repo = "nim-lscolors";
rev = "v0.3.3";
sha256 = "0526hqh46lcfsvymb67ldsc8xbfn24vicn3b8wrqnh6mag8wynf4";
};
in stdenv.mkDerivation rec {
pname = "nimmm";
version = "0.1.2";
src = fetchFromGitHub {
owner = "joachimschmidt557";
repo = "nimmm";
rev = "v${version}";
sha256 = "1zpq181iz6g7yfi298gjwv33b89l4fpnkjprimykah7py5cpw67w";
};
nativeBuildInputs = [ nim ];
buildInputs = [ termbox pcre ];
NIX_LDFLAGS = "-lpcre";
buildPhase = ''
export HOME=$TMPDIR;
nim -p:${noise} -p:${nimbox} -p:${lscolors}/src c -d:release src/nimmm.nim
'';
installPhase = ''
install -Dt $out/bin src/nimmm
'';
meta = with stdenv.lib; {
description = "Terminal file manager written in nim";
homepage = "https://github.com/joachimschmidt557/nimmm";
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = [ maintainers.joachimschmidt557 ];
};
}

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "pueue"; pname = "pueue";
version = "0.6.0"; version = "0.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Nukesor"; owner = "Nukesor";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "06jxj89ya91grrwxfs7l1ahy46y993kxsc8gpkxajc0j5ihax2al"; sha256 = "0x8slqxpnk4pis834g11wzp8fqsxwhdf0xnssz1pkkww4dqzali0";
}; };
cargoSha256 = "191j3lpd24ycissw0y2hv65i1cjzf24draamq3sxv7hv0sxcjw4d"; cargoSha256 = "0r110zlzpzg0j5cq9zg0kk46qigp6bzd0kzmpx3ddvhblhxvq5m5";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "rmapi"; pname = "rmapi";
version = "0.0.11"; version = "0.0.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "juruen"; owner = "juruen";
repo = "rmapi"; repo = "rmapi";
rev = "v${version}"; rev = "v${version}";
sha256 = "0zks1pcj2s2pqkmw0hhm41vgdhfgj2r6dmvpsagbmf64578ww349"; sha256 = "049m0p4wbsl822iym8xmc938d4k90iw7wjdzcxfyy8d27hv9mp45";
}; };
vendorSha256 = "077s13pcql5w2m6wzls1q06r7p501kazbwzxgfh6akwza15kb4is"; vendorSha256 = "077s13pcql5w2m6wzls1q06r7p501kazbwzxgfh6akwza15kb4is";

View file

@ -11,13 +11,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "sequeler"; pname = "sequeler";
version = "0.7.91"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Alecaddd"; owner = "Alecaddd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "071vfx7bdf7hfa4784xz97vrj9x5aipgjbp30r00kg2zhg8wa2ls"; sha256 = "090plqnby2wxzr1waq5kz89w3269j363mgxwfz9g7qg55lddaahz";
}; };
nativeBuildInputs = [ meson ninja pkgconfig vala gettext wrapGAppsHook python3 desktop-file-utils ]; nativeBuildInputs = [ meson ninja pkgconfig vala gettext wrapGAppsHook python3 desktop-file-utils ];

View file

@ -16,10 +16,10 @@ let
pname = "simplenote"; pname = "simplenote";
version = "1.17.0"; version = "1.19.0";
sha256 = { sha256 = {
x86_64-linux = "14kjx4y3kvw7h8wk8mmkpx1288jscmd8bgl10bw6kcfigcwahpw3"; x86_64-linux = "1bvg8xlf2y9nz7dzs5jkr5b48hwmvhvb6m4ia1fyvnqqq46nz9wb";
}.${system} or throwSystem; }.${system} or throwSystem;
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,7 +1,25 @@
{ stdenv, fetchFromGitLab, pkgconfig, cmake, gettext, cairo, pango, pcre { stdenv
, glib, imlib2, gtk2, libXinerama, libXrender, libXcomposite, libXdamage , fetchFromGitLab
, libX11, libXrandr, librsvg, libpthreadstubs, libXdmcp , pkg-config
, libstartup_notification, wrapGAppsHook , cmake
, gettext
, cairo
, pango
, pcre
, glib
, imlib2
, gtk2
, libXinerama
, libXrender
, libXcomposite
, libXdamage
, libX11
, libXrandr
, librsvg
, libpthreadstubs
, libXdmcp
, libstartup_notification
, wrapGAppsHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,13 +33,35 @@ stdenv.mkDerivation rec {
sha256 = "1937z0kixb6r82izj12jy4x8z4n96dfq1hx05vcsvsg1sx3wxgb0"; sha256 = "1937z0kixb6r82izj12jy4x8z4n96dfq1hx05vcsvsg1sx3wxgb0";
}; };
enableParallelBuilding = true; nativeBuildInputs = [
pkg-config
cmake
gettext
wrapGAppsHook
];
nativeBuildInputs = [ pkgconfig cmake gettext wrapGAppsHook ]; buildInputs = [
cairo
pango
pcre
glib
imlib2
gtk2
libXinerama
libXrender
libXcomposite
libXdamage
libX11
libXrandr
librsvg
libpthreadstubs
libXdmcp
libstartup_notification
];
buildInputs = [ cairo pango pcre glib imlib2 gtk2 libXinerama libXrender cmakeFlags = [
libXcomposite libXdamage libX11 libXrandr librsvg libpthreadstubs "-Ddocdir=share/doc/${pname}"
libXdmcp libstartup_notification ]; ];
postPatch = '' postPatch = ''
for f in ./src/launcher/apps-common.c \ for f in ./src/launcher/apps-common.c \

View file

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, python3Packages }: { stdenv, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
version = "0.26.0"; version = "0.27.0";
name = "toot-${version}"; name = "toot-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ihabunek"; owner = "ihabunek";
repo = "toot"; repo = "toot";
rev = version; rev = version;
sha256 = "146jj83jixahgxwh12bbkfvci2wrz398h5x01kgppdy59m4pa4pl"; sha256 = "197g9lvwg8qnsf18kifcqdj3cpfdnxz9vay766rn9bi4nfz0s6j2";
}; };
checkInputs = with python3Packages; [ pytest ]; checkInputs = with python3Packages; [ pytest ];
@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Mastodon CLI interface"; description = "Mastodon CLI interface";
homepage = "https://github.com/ihabunek/toot"; homepage = "https://github.com/ihabunek/toot";
license = licenses.mit; license = licenses.gpl3;
maintainers = [ maintainers.matthiasbeyer ]; maintainers = [ maintainers.matthiasbeyer ];
}; };

View file

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "tut"; pname = "tut";
version = "0.0.9"; version = "0.0.10";
goPackagePath = "github.com/RasmusLindroth/tut"; goPackagePath = "github.com/RasmusLindroth/tut";
goDeps = ./deps.nix; goDeps = ./deps.nix;
@ -11,7 +11,7 @@ buildGoPackage rec {
owner = "RasmusLindroth"; owner = "RasmusLindroth";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "19y6brw1d6dlp2gnkdpbp261662h5j46rmiqg73cxhrlws0y0kfk"; sha256 = "09l6dmzrvcpix3wg4djs6zk3ql6b6lfhd8z9aglbi6fix4pm8565";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -19,13 +19,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "ulauncher"; pname = "ulauncher";
version = "5.7.3"; version = "5.8.0";
disabled = python3Packages.isPy27; disabled = python3Packages.isPy27;
src = fetchurl { src = fetchurl {
url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz"; url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
sha256 = "0wq2zsq3496fjfg89q01dsm7sb7kv92sycvqm6ad8z1z2kpisrbh"; sha256 = "1czxzcxix9iwv1sir1q64j5aavc7lzjjwqpisgdc1kidkwnk05zp";
}; };
nativeBuildInputs = with python3Packages; [ nativeBuildInputs = with python3Packages; [

View file

@ -2,13 +2,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "cni"; pname = "cni";
version = "0.7.1"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containernetworking"; owner = "containernetworking";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "02qn1br8164d99978acalisy1sx294g1axnii4yh1wji0fc735xz"; sha256 = "16i59dhiq7pc7qs32cdk4yv4w9rjx4vvlw7fb6a6jhq6hxxjrgiw";
}; };
goPackagePath = "github.com/containernetworking/cni"; goPackagePath = "github.com/containernetworking/cni";

View file

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "kube-router"; pname = "kube-router";
version = "0.4.0"; version = "1.0.0";
goPackagePath = "github.com/cloudnativelabs/kube-router"; goPackagePath = "github.com/cloudnativelabs/kube-router";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "cloudnativelabs"; owner = "cloudnativelabs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1g1y3l87a4il9g2yrl1ryx8xfd4x220azxhr3rxm5l9vhnnjwswa"; sha256 = "0b6rsiq3pwp7wknmblgd8kszh9bd7nhvlsnyyamqnhlfjl97929x";
}; };
buildFlagsArray = '' buildFlagsArray = ''

View file

@ -1,22 +1,31 @@
{ stdenv, buildGoPackage, fetchFromGitHub }: { stdenv, buildGoPackage, fetchFromGitHub, installShellFiles }:
buildGoPackage rec { buildGoPackage rec {
pname = "kubeless"; pname = "kubeless";
version = "1.0.6"; version = "1.0.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubeless"; owner = "kubeless";
repo = "kubeless"; repo = "kubeless";
rev = "v${version}"; rev = "v${version}";
sha256 = "1fcdyd1jf0yibfx9jc16m0vmazm2jymps92llh3vh5zqd36bxbyd"; sha256 = "0x2hydywnnlh6arzz71p7gg9yzq5z2y2lppn1jszvkbgh11kkqfr";
}; };
goPackagePath = "github.com/kubeless/kubeless"; goPackagePath = "github.com/kubeless/kubeless";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/kubeless" ]; subPackages = [ "cmd/kubeless" ];
buildFlagsArray = '' buildFlagsArray = ''
-ldflags=-X github.com/kubeless/kubeless/pkg/version.Version=${version} -ldflags=-s -w -X github.com/kubeless/kubeless/pkg/version.Version=${version}
'';
postInstall = ''
for shell in bash; do
$out/bin/kubeless completion $shell > kubeless.$shell
installShellCompletion kubeless.$shell
done
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "qbec"; pname = "qbec";
version = "0.12.0"; version = "0.12.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "splunk"; owner = "splunk";
repo = "qbec"; repo = "qbec";
rev = "v${version}"; rev = "v${version}";
sha256 = "0vy1cqqyga68qjbvyhsgl281qkbsvhvmwbxc93hygsxzm9kczy4p"; sha256 = "1g90z155nhcblr48qypw8qw3l8g4dz33iflv4cg4xrhwjp8dfbv9";
}; };
vendorSha256 = "15hbjghi2ifylg7nr85qlk0alsy97h9zj6hf5w84m76dla2bcjf3"; vendorSha256 = "15hbjghi2ifylg7nr85qlk0alsy97h9zj6hf5w84m76dla2bcjf3";

View file

@ -43,18 +43,18 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mattermost-desktop"; pname = "mattermost-desktop";
version = "4.3.1"; version = "4.5.0";
src = src =
if stdenv.hostPlatform.system == "x86_64-linux" then if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz"; url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz";
sha256 = "076nv5h6xscbw1987az00x493qhqgrli87gnn57zbvz0acgvlhfv"; sha256 = "1p44vxs7i9f15h4xjyr99g8x73qygv909a32lfkqip1fh8lk7sf4";
} }
else if stdenv.hostPlatform.system == "i686-linux" then else if stdenv.hostPlatform.system == "i686-linux" then
fetchurl { fetchurl {
url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz"; url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz";
sha256 = "19ps9g8j6kp4haj6r3yfy4ma2wm6isq5fa8zlcz6g042ajkqq0ij"; sha256 = "03pn853z2famqxcsrwayqb94pzghlpfb0qs2nfi8mc5zzsgcic7z";
} }
else else
throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}"; throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}";

View file

@ -1,4 +1,5 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, gtk2, gtkspell2, aspell { stdenv, fetchurl, makeWrapper, pkgconfig, gtk2, gtk2-x11
, gtkspell2, aspell
, gst_all_1, startupnotification, gettext , gst_all_1, startupnotification, gettext
, perlPackages, libxml2, nss, nspr, farstream , perlPackages, libxml2, nss, nspr, farstream
, libXScrnSaver, ncurses, avahi, dbus, dbus-glib, intltool, libidn , libXScrnSaver, ncurses, avahi, dbus, dbus-glib, intltool, libidn
@ -29,19 +30,24 @@ let unwrapped = stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"; NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0";
buildInputs = [ buildInputs = [
gtkspell2 aspell startupnotification aspell startupnotification
gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
libxml2 nss nspr farstream libxml2 nss nspr
libXScrnSaver ncurses python libXScrnSaver ncurses python
avahi dbus dbus-glib intltool libidn avahi dbus dbus-glib intltool libidn
libICE libXext libSM cyrus_sasl libICE libXext libSM cyrus_sasl
] ]
++ (lib.optional (openssl != null) openssl) ++ (lib.optional (openssl != null) openssl)
++ (lib.optional (gnutls != null) gnutls) ++ (lib.optional (gnutls != null) gnutls)
++ (lib.optional (libgcrypt != null) libgcrypt); ++ (lib.optional (libgcrypt != null) libgcrypt)
++ (lib.optionals (stdenv.isLinux) [gtk2 gtkspell2 farstream])
++ (lib.optional (stdenv.isDarwin) gtk2-x11);
propagatedBuildInputs = [ pkgconfig gtk2 gettext ]
++ (with perlPackages; [ perl XMLParser ]); propagatedBuildInputs = [ pkgconfig gettext ]
++ (with perlPackages; [ perl XMLParser ])
++ (lib.optional (stdenv.isLinux) gtk2)
++ (lib.optional (stdenv.isDarwin) gtk2-x11);
patches = [ ./pidgin-makefile.patch ./add-search-path.patch ]; patches = [ ./pidgin-makefile.patch ./add-search-path.patch ];
@ -56,7 +62,8 @@ let unwrapped = stdenv.mkDerivation rec {
"--disable-tcl" "--disable-tcl"
] ]
++ (lib.optionals (cyrus_sasl != null) [ "--enable-cyrus-sasl=yes" ]) ++ (lib.optionals (cyrus_sasl != null) [ "--enable-cyrus-sasl=yes" ])
++ (lib.optionals (gnutls != null) ["--enable-gnutls=yes" "--enable-nss=no"]); ++ (lib.optionals (gnutls != null) ["--enable-gnutls=yes" "--enable-nss=no"])
++ (lib.optionals (stdenv.isDarwin) ["--disable-gtkspell" "--disable-vv"]);
enableParallelBuilding = true; enableParallelBuilding = true;
@ -69,7 +76,7 @@ let unwrapped = stdenv.mkDerivation rec {
description = "Multi-protocol instant messaging client"; description = "Multi-protocol instant messaging client";
homepage = "http://pidgin.im"; homepage = "http://pidgin.im";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.unix;
maintainers = [ maintainers.vcunat ]; maintainers = [ maintainers.vcunat ];
}; };
}; };

View file

@ -2,7 +2,7 @@
"name": "riot-desktop", "name": "riot-desktop",
"productName": "Riot", "productName": "Riot",
"main": "src/electron-main.js", "main": "src/electron-main.js",
"version": "1.6.6", "version": "1.6.7",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.", "author": "New Vector Ltd.",
"repository": { "repository": {

View file

@ -8,12 +8,12 @@
let let
executableName = "riot-desktop"; executableName = "riot-desktop";
version = "1.6.6"; version = "1.6.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vector-im"; owner = "vector-im";
repo = "riot-desktop"; repo = "riot-desktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "0yrybi6cv3lj0fq4ab4rzjm9l4flfw97hkwzlp7zzixb3z9h09h8"; sha256 = "0l1ih7rkb0nnc79607kkg0k69j9kwqrczhgkqzsmvqxjz7pk9kgn";
}; };
electron = electron_7; electron = electron_7;

View file

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "riot-web"; pname = "riot-web";
version = "1.6.6"; version = "1.6.7";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "0j88wcha5rr6qaxik4m90v9mgfcj3r9nb4gpd2dzi7m1zf7kivkw"; sha256 = "14g5rbvcw6p0q50slbf0c7s39i54ggv2cjc5iv93yvfrwn3z0f8p";
}; };
installPhase = '' installPhase = ''

View file

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

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, mkDerivation, cmake, pkgconfig, qtbase, qtkeychain, sqlite }: { lib, stdenv, fetchurl, mkDerivation, cmake, pkgconfig, qtbase, qtkeychain, sqlite, libsecret }:
mkDerivation rec { mkDerivation rec {
pname = "owncloud-client"; pname = "owncloud-client";
@ -12,6 +12,10 @@ mkDerivation rec {
nativeBuildInputs = [ pkgconfig cmake ]; nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ qtbase qtkeychain sqlite ]; buildInputs = [ qtbase qtkeychain sqlite ];
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
];
cmakeFlags = [ cmakeFlags = [
"-UCMAKE_INSTALL_LIBDIR" "-UCMAKE_INSTALL_LIBDIR"
"-DNO_SHIBBOLETH=1" "-DNO_SHIBBOLETH=1"

View file

@ -2,19 +2,20 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "protonvpn-cli-ng"; pname = "protonvpn-cli-ng";
version = "2.2.2"; version = "2.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "protonvpn"; owner = "protonvpn";
repo = "${pname}"; repo = "${pname}";
rev = "v${version}"; rev = "v${version}";
sha256 = "0ixjb02kj4z79whm1izd8mrn2h0rp9cmw4im1qvp93rahqxdd4n8"; sha256 = "08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw";
}; };
propagatedBuildInputs = (with python3Packages; [ propagatedBuildInputs = (with python3Packages; [
requests requests
docopt docopt
setuptools setuptools
jinja2
pythondialog pythondialog
]) ++ [ ]) ++ [
dialog dialog

View file

@ -2,13 +2,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "rclone"; pname = "rclone";
version = "1.52.1"; version = "1.52.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1v91c3wydpixi0p0afclp4baxchigy3czlm1mq9hn6cw973z6spf"; sha256 = "1da6azr4j5sbzb5xpy2xk4vqi6bdpmzlq3pxrmakaskicz64nnld";
}; };
goPackagePath = "github.com/rclone/rclone"; goPackagePath = "github.com/rclone/rclone";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "atlassian-cli"; pname = "atlassian-cli";
version = "9.2.0"; version = "9.3.0";
src = fetchzip { src = fetchzip {
url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip"; url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
sha256 = "0rdnbx3zfz3lpgka7bb8jzapkr81l2yvgsbmn8hrhva5k61xwx3d"; sha256 = "1gsyxkkx04vhp8ii0xbln5h8wa8x3dj6xhh2fyjs4z0bil4hlf06";
extraPostFetch = "chmod go-w $out"; extraPostFetch = "chmod go-w $out";
}; };

View file

@ -0,0 +1,56 @@
{ stdenv
, fetchFromGitHub
, rustPlatform
, pkgconfig
, extra-cmake-modules
, libX11
, libXi
, libXtst
, libnotify
, openssl
, xclip
, xdotool
}:
rustPlatform.buildRustPackage rec {
pname = "espanso";
version = "0.6.3";
src = fetchFromGitHub {
owner = "federico-terzi";
repo = pname;
rev = "v${version}";
sha256 = "1x5p7hniapggqd18rx26mjvdf33z7rm7zz5vsqm2siv3mcl19033";
};
cargoSha256 = "0liwwdncymjql5dw7rwhhimcr7qdbyvfgmsd0bawvi0ym7m1v408";
nativeBuildInputs = [
extra-cmake-modules
pkgconfig
];
buildInputs = [
libX11
libXtst
libXi
libnotify
openssl
xdotool
];
# Some tests require networking
doCheck = false;
meta = with stdenv.lib; {
description = "Cross-platform Text Expander written in Rust";
homepage = "https://espanso.org";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ kimat ];
platforms = platforms.all;
longDescription = ''
Espanso detects when you type a keyword and replaces it while you're typing.
'';
};
}

View file

@ -5,11 +5,11 @@ let
in in
buildPythonApplication rec { buildPythonApplication rec {
pname = "todoman"; pname = "todoman";
version = "3.7.0"; version = "3.8.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "16brw2zhm5vamffin6qjb0lxjlj3ba40vaficl851nw2xh2mrdhy"; sha256 = "1aq7f63bhs9dnwzp15nfr07f2ki6s3lnqfap3b09rhchn6lfznwb";
}; };
LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "picard-tools"; pname = "picard-tools";
version = "2.23.0"; version = "2.23.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar"; url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
sha256 = "0yhgfz5jjw55ipgdb32wjdcb01xx2g9ikgvwinnfwswx50iscf5a"; sha256 = "1g4539x2081jgrbn207nsimpq9q5izd4z6cx7s8lr8p8ab8spbmk";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lean"; pname = "lean";
version = "3.16.2"; version = "3.16.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "leanprover-community"; owner = "leanprover-community";
repo = "lean"; repo = "lean";
rev = "v${version}"; rev = "v${version}";
sha256 = "0fvm7gvbr5kn258sqpnxa7dvzz84iv1dx1n066vih5gz80plz4lh"; sha256 = "0s1ay6qgpkxhygfbfrl1cw2pd8bpgw2dw71rzhza20ndqwk8nqs5";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "workcraft"; pname = "workcraft";
version = "3.2.6"; version = "3.3.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz"; url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz";
sha256 = "1sfbxmk71gp7paw4l5azqr0lsgsyp4308gx2jz8w4k3nasfshz25"; sha256 = "072i7kan2c9f4s9jxwqr4ccsi9979c12xhwr385sbq06rwyrna85";
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];

View file

@ -26,7 +26,9 @@ let
darcs-to-git = callPackage ./darcs-to-git { }; darcs-to-git = callPackage ./darcs-to-git { };
delta = callPackage ./delta { }; delta = callPackage ./delta {
inherit (darwin.apple_sdk.frameworks) Security;
};
diff-so-fancy = callPackage ./diff-so-fancy { }; diff-so-fancy = callPackage ./diff-so-fancy { };

View file

@ -1,25 +1,32 @@
{ lib, fetchFromGitHub, rustPlatform, llvmPackages, installShellFiles }: { stdenv
, lib
, fetchFromGitHub
, rustPlatform
, installShellFiles
, libiconv
, Security
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "delta"; pname = "delta";
version = "0.1.1"; version = "0.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dandavison"; owner = "dandavison";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1b5ap468d0gvgwkx6wqxvayzda2xw95lymd0kl38nq1fc0ica6hk"; sha256 = "15c7rsmiinnpxh12520jz3wr0j86vgzjq1ss5pf30fa7lcgicb32";
}; };
LLVM_CONFIG_PATH = "${llvmPackages.llvm}/bin/llvm-config"; cargoSha256 = "0lzz32qh80s4dxr0d4pg0qagkn549lr4vbqknl2l0cmlq1bvvq6g";
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
cargoSha256 = "07mjl751r9d88fnmnan0ip0m3vxqf51vq2y7k3g3yywcgasj9jgr";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
postInstall = '' postInstall = ''
installShellCompletion --bash --name delta.bash completion/bash/completion.sh installShellCompletion --bash --name delta.bash completion/completion.bash
installShellCompletion --zsh --name _delta completion/completion.zsh
''; '';
meta = with lib; { meta = with lib; {
@ -27,6 +34,6 @@ rustPlatform.buildRustPackage rec {
description = "A syntax-highlighting pager for git"; description = "A syntax-highlighting pager for git";
changelog = "https://github.com/dandavison/delta/releases/tag/${version}"; changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ marsam ma27 ]; maintainers = with maintainers; [ marsam ma27 zowoq ];
}; };
} }

View file

@ -4,11 +4,11 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "git-machete"; pname = "git-machete";
version = "2.14.0"; version = "2.15.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "01ch4d0r3bi9nl5nknp3dyizc2rl9w46gm1ydnvqbrzhgw65lpp0"; sha256 = "0qv08a6xsdmcm8l69m4103vn4crb0ilzx94334xjbdl0sykm55q0";
}; };
nativeBuildInputs = [ installShellFiles pbr ]; nativeBuildInputs = [ installShellFiles pbr ];

View file

@ -1,17 +1,22 @@
{ lib { lib
, buildPythonApplication , buildPythonApplication
, fetchPypi , fetchFromGitHub
, git
, pytest
, pyyaml , pyyaml
, setuptools , setuptools
, installShellFiles
}: }:
buildPythonApplication rec { buildPythonApplication rec {
version = "0.10.5"; version = "0.10.9";
pname = "gita"; pname = "gita";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; sha256 = "0wilyf4nnn2jyxrfqs8krya3zvhj6x36szsp9xhb6h08g1ihzp5i";
sha256 = "1xggslmrrfszpl190klkc97fnl88gml1bnkmkzp6aimdch66g4jg"; rev = "v${version}";
repo = "gita";
owner = "nosarthur";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -19,6 +24,29 @@ buildPythonApplication rec {
setuptools setuptools
]; ];
nativeBuildInputs = [ installShellFiles ];
postUnpack = ''
for case in "\n" ""; do
substituteInPlace source/tests/test_main.py \
--replace "'gita$case'" "'source$case'"
done
'';
checkInputs = [
git
pytest
];
checkPhase = ''
git init
pytest tests
'';
postInstall = ''
installShellCompletion --bash --name gita ${src}/.gita-completion.bash
'';
meta = with lib; { meta = with lib; {
description = "A command-line tool to manage multiple git repos"; description = "A command-line tool to manage multiple git repos";
homepage = "https://github.com/nosarthur/gita"; homepage = "https://github.com/nosarthur/gita";

View file

@ -5,10 +5,10 @@
mkDerivation rec { mkDerivation rec {
pname = "clipgrab"; pname = "clipgrab";
version = "3.8.12"; version = "3.8.13";
src = fetchurl { src = fetchurl {
sha256 = "1nnph6sn4mpdj20hngwr57ripmdp60w3vrn89s8ssy7cjv500ngd"; sha256 = "0ryaha33m41y0xjrspa838qqr4iy2c8vbvhbb334qimpqn1hj3q5";
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz! # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
url = "https://download.clipgrab.org/${pname}-${version}.tar.gz"; url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
}; };

View file

@ -76,7 +76,7 @@ in buildBazelPackage rec {
rm -f "$bazelOut"/java.log "$bazelOut"/java.log.* rm -f "$bazelOut"/java.log "$bazelOut"/java.log.*
''; '';
sha256 = "0mkgbw08f6kgklvjmlfpyld35q7dvxm9pvrhaf7m7nx69sich6jq"; sha256 = "0myffqywbvqhax995z55jymwnwyxmp13r27kpbc7wb5fk9s4skvr";
}; };
buildAttrs = { buildAttrs = {

View file

@ -7,13 +7,13 @@
buildGoModule rec { buildGoModule rec {
pname = "umoci"; pname = "umoci";
version = "0.4.5"; version = "0.4.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openSUSE"; owner = "opencontainers";
repo = "umoci"; repo = "umoci";
rev = "v${version}"; rev = "v${version}";
sha256 = "1gzj4nnys73wajdwjn5jsskvnhzh8s2vmyl76ax8drpvw19bd5g3"; sha256 = "0jaar26l940yh77cs31c3zndiycp85m3fz4zivcibzi68g6n6yzg";
}; };
vendorSha256 = null; vendorSha256 = null;
@ -24,7 +24,7 @@ buildGoModule rec {
postInstall = '' postInstall = ''
sed -i '/SHELL =/d' Makefile sed -i '/SHELL =/d' Makefile
make local-doc make docs
installManPage doc/man/*.[1-9] installManPage doc/man/*.[1-9]
''; '';
@ -33,6 +33,6 @@ buildGoModule rec {
homepage = "https://umo.ci"; homepage = "https://umo.ci";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ zokrezyl ]; maintainers = with maintainers; [ zokrezyl ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation (args // {
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
oasis setup oasis setup
ocaml setup.ml -configure ocaml setup.ml -configure --prefix $OCAMLFIND_DESTDIR --exec-prefix $out
ocaml setup.ml -build ocaml setup.ml -build
runHook postBuild runHook postBuild
''; '';
@ -37,9 +37,7 @@ stdenv.mkDerivation (args // {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out mkdir -p $out
sed -i s+/usr/local+$out+g setup.ml ocaml setup.ml -install
sed -i s+/usr/local+$out+g setup.data
prefix=$OCAMLFIND_DESTDIR ocaml setup.ml -install
runHook postInstall runHook postInstall
''; '';

View file

@ -1,40 +1,44 @@
{ stdenv, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig { stdenv, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig
, qtbase, qtimageformats, qtwebkit, qtx11extras, mkDerivation , qtbase, qtimageformats, qtwebengine, qtx11extras, mkDerivation
, libarchive, libXdmcp, libpthreadstubs, xcbutilkeysyms }: , libarchive, libXdmcp, libpthreadstubs, xcbutilkeysyms }:
mkDerivation rec { mkDerivation rec {
pname = "zeal"; pname = "zeal";
version = "0.6.1"; version = "0.6.999";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zealdocs"; owner = "zealdocs";
repo = "zeal"; repo = "zeal";
rev = "v${version}"; rev = "1ce0e2e446232e7647c5588c1f603f1dd88e0f67";
sha256 = "05qcjpibakv4ibhxgl5ajbkby3w7bkxsv3nfv2a0kppi1z0f8n8v"; sha256 = "0gj5qcm7ck8m5zfmiabay2f7wbxldmrkw8m3xi7v9i8y8hx0jkxr";
}; };
# while ads can be disabled from the user settings, by default they are not so # we only need this if we are using a version that hasn't been released. We
# we patch it out completely instead # could also match on the "VERSION x.y.z" bit but then it would have to be
patches = [ ./remove_ads.patch ]; # updated based on whatever is the latest release, so instead just rewrite the
# line.
postPatch = ''
sed -i CMakeLists.txt \
-e 's@^project.*@project(Zeal VERSION ${version})@'
'';
nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ]; nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ];
buildInputs = [ buildInputs = [
qtbase qtimageformats qtwebkit qtx11extras qtbase qtimageformats qtwebengine qtx11extras
libarchive libarchive
libXdmcp libpthreadstubs xcbutilkeysyms libXdmcp libpthreadstubs xcbutilkeysyms
]; ];
enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple offline API documentation browser"; description = "A simple offline API documentation browser";
longDescription = '' longDescription = ''
Zeal is a simple offline API documentation browser inspired by Dash (macOS Zeal is a simple offline API documentation browser inspired by Dash (macOS
app), available for Linux and Windows. app), available for Linux and Windows.
''; '';
homepage = "https://zealdocs.org/"; homepage = "https://zealdocs.org/";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ skeidel peterhoeg ]; maintainers = with maintainers; [ skeidel peterhoeg ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -1,23 +0,0 @@
commit 1b61397175b6e60f23224db463301c9057830859
Author: Peter Hoeg <peter@hoeg.com>
Date: Mon Feb 19 07:38:03 2018 +0800
strip container with ads
diff --git a/src/app/resources/browser/welcome.html b/src/app/resources/browser/welcome.html
index bb3f511..67382b2 100644
--- a/src/app/resources/browser/welcome.html
+++ b/src/app/resources/browser/welcome.html
@@ -20,12 +20,6 @@
<span id="version" class="has-text-weight-light is-size-5"></span>
</p>
<p class="subtitle">Docs for everyone</p>
- <div id="carboncontainer" style="margin-top: 75px;">
- <div id="carbon" class="box">
- <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=zealdocsforwindowsorg"
- onerror="document.getElementById('carboncontainer').style.display = 'none';" id="_carbonads_js"></script>
- </div>
- </div>
</div>
<div class="column">
<p class="subtitle is-5">Customize</p>

View file

@ -7,7 +7,7 @@ let
# occasionally suffers from pointless hash changes, # occasionally suffers from pointless hash changes,
# and having stable sources for older versions has advantages, too. # and having stable sources for older versions has advantages, too.
urls = map (prefix: prefix + "cc5e14a264912/etc/root.hints") [ urls = map (prefix: prefix + "cc5e14a264912/etc/root.hints") [
"https://gitlab.labs.nic.cz/knot/knot-resolver/raw/" "https://gitlab.nic.cz/knot/knot-resolver/raw/"
"https://raw.githubusercontent.com/CZ-NIC/knot-resolver/" "https://raw.githubusercontent.com/CZ-NIC/knot-resolver/"
]; ];
sha256 = "0vdrff4l8s8grif52dnh091s8qydhh88k25zqd9rj66sf1qwcwxl"; sha256 = "0vdrff4l8s8grif52dnh091s8qydhh88k25zqd9rj66sf1qwcwxl";

View file

@ -4,13 +4,13 @@
let let
pname = "baobab"; pname = "baobab";
version = "3.34.0"; version = "3.34.1";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "01w6m5ylyqs4wslpjn1hg6n6ynwh3rghksak0qs8r9m6dm3dkss6"; sha256 = "1i90gc1cpw5507zn54k46hj4mjgdxsq8cvpnlgxq0ksy2d7iv63z";
}; };
nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ]; nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ];

View file

@ -1,5 +1,5 @@
{ {
mkDerivation, mkDerivation, fetchpatch,
extra-cmake-modules, kdoctools, extra-cmake-modules, kdoctools,
bluez-qt, kactivities, kauth, kconfig, kdbusaddons, kdelibs4support, bluez-qt, kactivities, kauth, kconfig, kdbusaddons, kdelibs4support,
kglobalaccel, ki18n, kidletime, kio, knotifyconfig, kwayland, libkscreen, kglobalaccel, ki18n, kidletime, kio, knotifyconfig, kwayland, libkscreen,
@ -18,4 +18,14 @@ mkDerivation {
cmakeFlags = [ cmakeFlags = [
"-DHAVE_DDCUTIL=On" "-DHAVE_DDCUTIL=On"
]; ];
patches = [
# This fixes an issue where 'DDCA_Feature_List*' cannot be converted to
# 'DDCA_Feature_List'.
# This can be dropped with the next release.
# https://bugs.kde.org/show_bug.cgi?id=423605
(fetchpatch {
url = "https://invent.kde.org/plasma/powerdevil/-/commit/fcb26be2fb279e6ad3b7b814d26a5921d16201eb.patch";
sha256 = "0gdyaa0nd1c1d6x2h0m933lascm8zm5sikd99wxmkf7hhaby6k2s";
})
];
} }

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "closure-compiler"; pname = "closure-compiler";
version = "20200517"; version = "20200614";
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz"; url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
sha256 = "05bbsrxw2nxjlcfc22w1ympi66jnmzymivg29cvidh5n28jgwba2"; sha256 = "0a54y2d9nfg60knfv34kf6sdsh065dzam86l3wprf8gvqffxxcli";
}; };
sourceRoot = "."; sourceRoot = ".";

View file

@ -13,7 +13,7 @@ buildGoModule rec {
vendorSha256 = "0nsm4gsbbn8myz4yfi6m7qc3iizhdambsr18iks0clkdn3mi2jn1"; vendorSha256 = "0nsm4gsbbn8myz4yfi6m7qc3iizhdambsr18iks0clkdn3mi2jn1";
subPackages = [ "cmd/jsonnet" ]; subPackages = [ "cmd/jsonnet" "cmd/jsonnetfmt" ];
meta = with lib; { meta = with lib; {
description = "An implementation of Jsonnet in pure Go"; description = "An implementation of Jsonnet in pure Go";
@ -21,4 +21,4 @@ buildGoModule rec {
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ nshalman ]; maintainers = with maintainers; [ nshalman ];
}; };
} }

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nim"; pname = "nim";
version = "1.2.0"; version = "1.2.4";
src = fetchurl { src = fetchurl {
url = "https://nim-lang.org/download/${pname}-${version}.tar.xz"; url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
sha256 = "0xf56xb42hc92h4xnvk72q4n3ysjbyhf0rg60lc84r9r6wx5i52f"; sha256 = "0dnn60slvp3ynlx3zhv3cjkanv8zglljxws0db8g0rdyz8r8zwgf";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -1,6 +1,6 @@
import ./generic.nix { import ./generic.nix {
major_version = "4"; major_version = "4";
minor_version = "11"; minor_version = "11";
patch_version = "0+alpha3"; patch_version = "0+beta1";
sha256 = "0c2g8ncq15nx9pdl14hnsc9342j80s7i1bsyiw98cvgic5miyw9b"; sha256 = "1xhkwprbnd3wp6bi3k74f42l1mff1ngn7gl4rgad9dk4ly0yzfdr";
} }

View file

@ -10,13 +10,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "souffle"; pname = "souffle";
version = "1.7.1"; version = "2.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "souffle-lang"; owner = "souffle-lang";
repo = "souffle"; repo = "souffle";
rev = version; rev = version;
sha256 = "0px8kh5875q2iyza4ylpa6vxpy6qxg0qvn2idk1j6dcdf5pdryph"; sha256 = "1azn32x0xbbk8gagipb34qk3y1srm927j5d34w20isgjxir4xsnz";
}; };
nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ]; nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];

View file

@ -33,9 +33,15 @@ let
}; };
"8.11" = { "8.11" = {
version = "1.2.1"; version = "1.2.2";
rev = "v1.2.1-8.11"; rev = "v1.2.2-8.11";
sha256 = "06k0h7lansxs479is3vj5ikg8s5k4c6svnqcwmxbni4wx8bhmg17"; sha256 = "0g2y0s8kb2imbqyrx9hmvjzpwmicid7shv7ma10fnb8dgk2dqkf9";
};
"8.12" = {
version = "1.2.2";
rev = "v1.2.2-8.12";
sha256 = "0fkz78i2gn9x9scfa7n8fl2sq7czppsicy7w5mq919qqfp0w1aj0";
}; };
}; };
param = params.${coq.coq-version}; param = params.${coq.coq-version};

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "janet"; pname = "janet";
version = "1.10.0"; version = "1.10.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "janet-lang"; owner = "janet-lang";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0kx3c4v0481b4xx239w10ajwp8ngq8smxzh3m77dazd89r997n1g"; sha256 = "18k6dzxzr149p0bby4r0z6kybylig87rwj7gk3z6a98zf6k4xmsw";
}; };
nativeBuildInputs = [ meson ninja ]; nativeBuildInputs = [ meson ninja ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zef"; pname = "zef";
version = "0.8.4"; version = "0.8.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ugexe"; owner = "ugexe";
repo = "zef"; repo = "zef";
rev = "v${version}"; rev = "v${version}";
sha256 = "02a3awnjr1mgb9275xvp3xms80vcxkq55ffi8sbjzxpwyadj5y5k"; sha256 = "17a5ns0ph8626q3b4wv9v2n0zqmhqbqyzjzxa387kr19qs933yy6";
}; };
buildInputs = [ rakudo makeWrapper ]; buildInputs = [ rakudo makeWrapper ];

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "amdvlk"; pname = "amdvlk";
version = "2020.Q2.5"; version = "2020.Q2.6";
src = fetchRepoProject { src = fetchRepoProject {
name = "${pname}-src"; name = "${pname}-src";
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git"; manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
rev = "refs/tags/v-${version}"; rev = "refs/tags/v-${version}";
sha256 = "008adby8vx12ma155x64n7aj9vp9ygqgij3mm3q20i187db7d1ab"; sha256 = "1h5j4qaqm4kg5jybkkk6v1mdy0jx0k06mrb8n8jl415z08f0pjgj";
}; };
buildInputs = [ buildInputs = [

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