Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-11-04 18:01:44 +00:00 committed by GitHub
commit 20bee66ec8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 1793 additions and 1122 deletions

View File

@ -13,7 +13,7 @@ into your `configuration.nix` or bring them into scope with `nix-shell -p rustc
For other versions such as daily builds (beta and nightly),
use either `rustup` from nixpkgs (which will manage the rust installation in your home directory),
or use Mozilla's [Rust nightlies overlay](#using-the-rust-nightlies-overlay).
or use a community maintained [Rust overlay](#using-community-rust-overlays).
## Compiling Rust applications with Cargo {#compiling-rust-applications-with-cargo}
@ -900,11 +900,87 @@ rustc 1.26.0-nightly (188e693b3 2018-03-26)
To see that you are using nightly.
## Using the Rust nightlies overlay {#using-the-rust-nightlies-overlay}
## Using community Rust overlays {#using-community-rust-overlays}
Mozilla provides an overlay for nixpkgs to bring a nightly version of Rust into scope.
This overlay can _also_ be used to install recent unstable or stable versions
of Rust, if desired.
There are two community maintained approaches to Rust toolchain management:
- [oxalica's Rust overlay](https://github.com/oxalica/rust-overlay)
- [fenix](https://github.com/nix-community/fenix)
Oxalica's overlay allows you to select a particular Rust version and components.
See [their documentation](https://github.com/oxalica/rust-overlay#rust-overlay) for more
detailed usage.
Fenix is an alternative to `rustup` and can also be used as an overlay.
Both Oxalica's overlay and fenix better integrate with nix and cache optimizations.
Because of this and ergonomics, either of those community projects
should be preferred to the Mozilla's Rust overlay (nixpkgs-mozilla).
### How to select a specific rustc and toolchain version {#how-to-select-a-specific-rustc-and-toolchain-version}
You can consume the oxalica overlay and use it to grab a specific Rust toolchain version.
Here is an example `shell.nix` showing how to grab the current stable toolchain:
```nix
{ pkgs ? import <nixpkgs> {
overlays = [
(import (fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"))
];
}
}:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
pkg-config
rust-bin.stable.latest.minimal
];
}
```
You can try this out by:
1. Saving that to `shell.nix`
2. Executing `nix-shell --pure --command 'rustc --version'`
As of writing, this prints out `rustc 1.56.0 (09c42c458 2021-10-18)`.
### How to use an overlay toolchain in a derivation {#how-to-use-an-overlay-toolchain-in-a-derivation}
You can also use an overlay's Rust toolchain with `buildRustPackage`.
The below snippet demonstrates invoking `buildRustPackage` with an oxalica overlay selected Rust toolchain:
```nix
with import <nixpkgs> {
overlays = [
(import (fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"))
];
};
rustPlatform.buildRustPackage rec {
pname = "ripgrep";
version = "12.1.1";
nativeBuildInputs = [
rust-bin.stable.latest.minimal
];
src = fetchFromGitHub {
owner = "BurntSushi";
repo = "ripgrep";
rev = version;
sha256 = "1hqps7l5qrjh9f914r5i6kmcz6f1yb951nv4lby0cjnp5l253kps";
};
cargoSha256 = "03wf9r2csi6jpa7v5sw5lpxkrk4wfzwmzx7k3991q3bdjzcwnnwp";
meta = with lib; {
description = "A fast line-oriented regex search tool, similar to ag and ack";
homepage = "https://github.com/BurntSushi/ripgrep";
license = licenses.unlicense;
maintainers = [ maintainers.tailhook ];
};
}
```
Follow the below steps to try that snippet.
1. create a new directory
1. save the above snippet as `default.nix` in that directory
1. cd into that directory and run `nix-build`
### Rust overlay installation {#rust-overlay-installation}
@ -912,27 +988,15 @@ You can use this overlay by either changing your local nixpkgs configuration,
or by adding the overlay declaratively in a nix expression, e.g. in `configuration.nix`.
For more information see [the manual on installing overlays](#sec-overlays-install).
#### Imperative rust overlay installation {#imperative-rust-overlay-installation}
Clone [nixpkgs-mozilla](https://github.com/mozilla/nixpkgs-mozilla),
and create a symbolic link to the file
[rust-overlay.nix](https://github.com/mozilla/nixpkgs-mozilla/blob/master/rust-overlay.nix)
in the `~/.config/nixpkgs/overlays` directory.
```ShellSession
$ git clone https://github.com/mozilla/nixpkgs-mozilla.git
$ mkdir -p ~/.config/nixpkgs/overlays
$ ln -s $(pwd)/nixpkgs-mozilla/rust-overlay.nix ~/.config/nixpkgs/overlays/rust-overlay.nix
```
### Declarative rust overlay installation {#declarative-rust-overlay-installation}
### Declarative Rust overlay installation {#declarative-rust-overlay-installation}
This snippet shows how to use oxalica's Rust overlay.
Add the following to your `configuration.nix`, `home-configuration.nix`, `shell.nix`, or similar:
```nix
{ pkgs ? import <nixpkgs> {
overlays = [
(import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz))
(import (builtins.fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"))
# Further overlays go here
];
};
@ -940,36 +1004,3 @@ Add the following to your `configuration.nix`, `home-configuration.nix`, `shell.
```
Note that this will fetch the latest overlay version when rebuilding your system.
### Rust overlay usage {#rust-overlay-usage}
The overlay contains attribute sets corresponding to different versions of the rust toolchain, such as:
* `latest.rustChannels.stable`
* `latest.rustChannels.nightly`
* a function `rustChannelOf`, called as `(rustChannelOf { date = "2018-04-11"; channel = "nightly"; })`, or...
* `(nixpkgs.rustChannelOf { rustToolchain = ./rust-toolchain; })` if you have a local `rust-toolchain` file (see https://github.com/mozilla/nixpkgs-mozilla#using-in-nix-expressions for an example)
Each of these contain packages such as `rust`, which contains your usual rust development tools with the respective toolchain chosen.
For example, you might want to add `latest.rustChannels.stable.rust` to the list of packages in your configuration.
Imperatively, the latest stable version can be installed with the following command:
```ShellSession
$ nix-env -Ai nixpkgs.latest.rustChannels.stable.rust
```
Or using the attribute with nix-shell:
```ShellSession
$ nix-shell -p nixpkgs.latest.rustChannels.stable.rust
```
Substitute the `nixpkgs` prefix with `nixos` on NixOS.
To install the beta or nightly channel, "stable" should be substituted by
"nightly" or "beta", or
use the function provided by this overlay to pull a version based on a
build date.
The overlay automatically updates itself as it uses the same source as
[rustup](https://www.rustup.rs/).

View File

@ -6252,6 +6252,12 @@
githubId = 278013;
name = "Tomasz Kontusz";
};
kubukoz = {
email = "kubukoz@gmail.com";
github = "kubukoz";
githubId = 894884;
name = "Jakub Kozłowski";
};
kurnevsky = {
email = "kurnevsky@gmail.com";
github = "kurnevsky";

View File

@ -37,7 +37,7 @@ let
keyDrv = drv: if canEval drv.drvPath then { key = drv.drvPath; value = drv; } else { };
immediateDependenciesOf = drv:
concatLists (mapAttrsToList (n: v: derivationsIn v) (removeAttrs drv ["meta" "passthru"]));
concatLists (mapAttrsToList (n: v: derivationsIn v) (removeAttrs drv (["meta" "passthru"] ++ optionals (drv?passthru) (attrNames drv.passthru))));
derivationsIn = x:
if !canEval x then []

View File

@ -1754,6 +1754,14 @@ Superuser created successfully.
better user experience and benefit from this change.
</para>
</listitem>
<listitem>
<para>
A new option
<literal>services.prometheus.enableReload</literal> has been
added which can be enabled to reload the prometheus service
when its config file changes instead of restarting.
</para>
</listitem>
<listitem>
<para>
Dokuwiki now supports caddy! However

View File

@ -497,6 +497,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `cawbird` Twitter client now uses its own API keys to count as different application than upstream builds. This is done to evade application-level rate limiting. While existing accounts continue to work, users may want to remove and re-register their account in the client to enjoy a better user experience and benefit from this change.
- A new option `services.prometheus.enableReload` has been added which can be enabled to reload the prometheus service when its config file changes instead of restarting.
- Dokuwiki now supports caddy! However
- the nginx option has been removed, in the new configuration, please use the `dokuwiki.webserver = "nginx"` instead.
- The "${hostname}" option has been deprecated, please use `dokuwiki.sites = [ "${hostname}" ]` instead

View File

@ -7,6 +7,30 @@ let
workingDir = "/var/lib/" + cfg.stateDir;
prometheusYmlOut = "${workingDir}/prometheus-substituted.yaml";
writeConfig = pkgs.writeShellScriptBin "write-prometheus-config" ''
PATH="${makeBinPath (with pkgs; [ coreutils envsubst ])}"
touch '${prometheusYmlOut}'
chmod 600 '${prometheusYmlOut}'
envsubst -o '${prometheusYmlOut}' -i '${prometheusYml}'
'';
triggerReload = pkgs.writeShellScriptBin "trigger-reload-prometheus" ''
PATH="${makeBinPath (with pkgs; [ systemd ])}"
if systemctl -q is-active prometheus.service; then
systemctl reload prometheus.service
fi
'';
reload = pkgs.writeShellScriptBin "reload-prometheus" ''
PATH="${makeBinPath (with pkgs; [ systemd coreutils gnugrep ])}"
cursor=$(journalctl --show-cursor -n0 | grep -oP "cursor: \K.*")
kill -HUP $MAINPID
journalctl -u prometheus.service --after-cursor="$cursor" -f \
| grep -m 1 "Completed loading of configuration file" > /dev/null
'';
# a wrapper that verifies that the configuration is valid
promtoolCheck = what: name: file:
if cfg.checkConfig then
@ -47,7 +71,11 @@ let
cmdlineArgs = cfg.extraFlags ++ [
"--storage.tsdb.path=${workingDir}/data/"
"--config.file=/run/prometheus/prometheus-substituted.yaml"
"--config.file=${
if cfg.enableReload
then prometheusYmlOut
else "/run/prometheus/prometheus-substituted.yaml"
}"
"--web.listen-address=${cfg.listenAddress}:${builtins.toString cfg.port}"
"--alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}"
"--alertmanager.timeout=${toString cfg.alertmanagerTimeout}s"
@ -731,6 +759,25 @@ in {
'';
};
enableReload = mkOption {
default = false;
type = types.bool;
description = ''
Reload prometheus when configuration file changes (instead of restart).
The following property holds: switching to a configuration
(<literal>switch-to-configuration</literal>) that changes the prometheus
configuration only finishes successully when prometheus has finished
loading the new configuration.
Note that prometheus will also get reloaded when the location of the
<option>environmentFile</option> changes but not when its contents
changes. So when you change it contents make sure to reload prometheus
manually or include the hash of <option>environmentFile</option> in its
name.
'';
};
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
@ -928,7 +975,7 @@ in {
systemd.services.prometheus = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = ''
preStart = mkIf (!cfg.enableReload) ''
${lib.getBin pkgs.envsubst}/bin/envsubst -o "/run/prometheus/prometheus-substituted.yaml" \
-i "${prometheusYml}"
'';
@ -936,9 +983,10 @@ in {
ExecStart = "${cfg.package}/bin/prometheus" +
optionalString (length cmdlineArgs != 0) (" \\\n " +
concatStringsSep " \\\n " cmdlineArgs);
ExecReload = mkIf cfg.enableReload "+${reload}/bin/reload-prometheus";
User = "prometheus";
Restart = "always";
EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
EnvironmentFile = mkIf (cfg.environmentFile != null && !cfg.enableReload) [ cfg.environmentFile ];
RuntimeDirectory = "prometheus";
RuntimeDirectoryMode = "0700";
WorkingDirectory = workingDir;
@ -946,5 +994,48 @@ in {
StateDirectoryMode = "0700";
};
};
systemd.services.prometheus-config-write = mkIf cfg.enableReload {
wantedBy = [ "prometheus.service" ];
before = [ "prometheus.service" ];
serviceConfig = {
Type = "oneshot";
User = "prometheus";
StateDirectory = cfg.stateDir;
StateDirectoryMode = "0700";
EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
ExecStart = "${writeConfig}/bin/write-prometheus-config";
};
};
# prometheus-config-reload will activate after prometheus. However, what we
# don't want is that on startup it immediately reloads prometheus because
# prometheus itself might have just started.
#
# Instead we only want to reload prometheus when the config file has
# changed. So on startup prometheus-config-reload will just output a
# harmless message and then stay active (RemainAfterExit).
#
# Then, when the config file has changed, switch-to-configuration notices
# that this service has changed and needs to be reloaded
# (reloadIfChanged). The reload command then actually writes the new config
# and reloads prometheus.
systemd.services.prometheus-config-reload = mkIf cfg.enableReload {
wantedBy = [ "prometheus.service" ];
after = [ "prometheus.service" ];
reloadIfChanged = true;
serviceConfig = {
Type = "oneshot";
User = "prometheus";
StateDirectory = cfg.stateDir;
StateDirectoryMode = "0700";
EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
RemainAfterExit = true;
TimeoutSec = 60;
ExecStart = "${pkgs.logger}/bin/logger 'prometheus-config-reload will only reload prometheus when reloaded itself.'";
ExecReload = [
"${writeConfig}/bin/write-prometheus-config"
"+${triggerReload}/bin/trigger-reload-prometheus"
];
};
};
};
}

View File

@ -138,3 +138,9 @@ foreach my $fn (@oldCopied) {
# Rewrite /etc/.clean.
close CLEAN;
write_file("/etc/.clean", map { "$_\n" } @copied);
# Create /etc/NIXOS tag if not exists.
# When /etc is not on a persistent filesystem, it will be wiped after reboot,
# so we need to check and re-create it during activation.
open TAG, ">>/etc/NIXOS";
close TAG;

View File

@ -41,6 +41,7 @@ in import ./make-test-python.nix {
networking.firewall.allowedTCPPorts = [ grpcPort ];
services.prometheus = {
enable = true;
enableReload = true;
scrapeConfigs = [
{
job_name = "prometheus";
@ -118,6 +119,36 @@ in import ./make-test-python.nix {
# };
#};
};
# Adds a "specialisation" of the above config which allows us to
# "switch" to it and see if the services.prometheus.enableReload
# functionality actually reloads the prometheus service instead of
# restarting it.
specialisation = {
"prometheus-config-change" = {
configuration = {
environment.systemPackages = [ pkgs.yq ];
# This configuration just adds a new prometheus job
# to scrape the node_exporter metrics of the s3 machine.
# We also use an environmentFile to test if that works correctly.
services.prometheus = {
environmentFile = pkgs.writeText "prometheus-config-env-file" ''
JOB_NAME=s3-node_exporter
'';
scrapeConfigs = [
{
job_name = "$JOB_NAME";
static_configs = [
{
targets = [ "s3:9100" ];
}
];
}
];
};
};
};
};
};
query = { pkgs, ... }: {
@ -171,10 +202,17 @@ in import ./make-test-python.nix {
};
environment.systemPackages = [ pkgs.minio-client ];
services.prometheus.exporters.node = {
enable = true;
openFirewall = true;
};
};
};
testScript = { nodes, ... } : ''
import json
# Before starting the other machines we first make sure that our S3 service is online
# and has a bucket added for thanos:
s3.start()
@ -193,6 +231,12 @@ in import ./make-test-python.nix {
# Check if prometheus responds to requests:
prometheus.wait_for_unit("prometheus.service")
# Check if prometheus' config file is correctly locked down because it could contain secrets.
prometheus.succeed(
"stat -c '%a %U' /var/lib/prometheus2/prometheus-substituted.yaml | grep '600 prometheus'"
)
prometheus.wait_for_open_port(${toString queryPort})
prometheus.succeed("curl -sf http://127.0.0.1:${toString queryPort}/metrics")
@ -245,5 +289,61 @@ in import ./make-test-python.nix {
+ "jq .thanos.labels.some_label | "
+ "grep 'required by thanos'"
)
# Check if switching to a NixOS configuration that changes the prometheus
# configuration reloads (instead of restarts) prometheus before the switch
# finishes successfully:
with subtest("config change reloads prometheus"):
# We check if prometheus has finished reloading by looking for the message
# "Completed loading of configuration file" in the journal between the start
# and finish of switching to the new NixOS configuration.
#
# To mark the start we record the journal cursor before starting the switch:
cursor_before_switching = json.loads(
prometheus.succeed("journalctl -n1 -o json --output-fields=__CURSOR")
)["__CURSOR"]
# Now we switch:
prometheus_config_change = prometheus.succeed(
"readlink /run/current-system/specialisation/prometheus-config-change"
).strip()
prometheus.succeed(prometheus_config_change + "/bin/switch-to-configuration test")
# Next we retrieve all logs since the start of switching:
logs_after_starting_switching = prometheus.succeed(
"""
journalctl --after-cursor='{cursor_before_switching}' -o json --output-fields=MESSAGE
""".format(
cursor_before_switching=cursor_before_switching
)
)
# Finally we check if the message "Completed loading of configuration file"
# occurs before the "finished switching to system configuration" message:
finished_switching_msg = (
"finished switching to system configuration " + prometheus_config_change
)
reloaded_before_switching_finished = False
finished_switching = False
for log_line in logs_after_starting_switching.split("\n"):
msg = json.loads(log_line)["MESSAGE"]
if "Completed loading of configuration file" in msg:
reloaded_before_switching_finished = True
if msg == finished_switching_msg:
finished_switching = True
break
assert reloaded_before_switching_finished
assert finished_switching
# Check if the reloaded config includes the new s3-node_exporter job:
prometheus.succeed(
"""
curl -sf http://127.0.0.1:${toString queryPort}/api/v1/status/config \
| jq -r .data.yaml \
| yq '.scrape_configs | any(.job_name == "s3-node_exporter")' \
| grep true
"""
)
'';
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "ashuffle";
version = "3.10.1";
version = "3.12.3";
src = fetchFromGitHub {
owner = "joshkunz";
repo = "ashuffle";
rev = "v${version}";
sha256 = "103jhajqwryiaf52qqgshajcnsxsz4l8gn3sz6bxs7k0yq5x1knr";
sha256 = "sha256-y2DH8SjSZ8hV6DAC4uDw5Wn7O0oj/WIhIr4BE/+jUxM=";
fetchSubmodules = true;
};

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "pt2-clone";
version = "1.36";
version = "1.37";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "pt2-clone";
rev = "v${version}";
sha256 = "sha256-QyhBoWCkj7iYXAFsyVH6+XH2P/MQEXZQfAcUDu4Rtco=";
sha256 = "sha256-r9H+qF542j2qjmOEjJLAtnMU7SkJBJB8nH39zhkZu9M=";
};
nativeBuildInputs = [ cmake ];

View File

@ -3,13 +3,13 @@
buildDotnetModule rec {
pname = "btcpayserver";
version = "1.3.1";
version = "1.3.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-gJvUW/U+O83Q0VDo6a5VkWx2RuofMNs/mPn/hnM2XiE=";
sha256 = "sha256-TAngdQz3FupoqPrqskjSQ9xSDbZV4/6+j7C4NjBFcFw=";
};
projectFile = "BTCPayServer/BTCPayServer.csproj";

View File

@ -31,8 +31,8 @@
})
(fetchNuGet {
name = "BTCPayServer.Lightning.All";
version = "1.2.13";
sha256 = "16nhahb6bnjwhw3wh044zfkqpb5k40kyhdazs2h6y4phjhm5hq2r";
version = "1.2.14";
sha256 = "0avb0jlisx1nv0ary2nc82aamn95qmrrqshwbk8szzjqgvxzv4k2";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Charge";
@ -44,11 +44,6 @@
version = "1.2.9";
sha256 = "0r855lnh6cyj6hpwhdpdhpp39332v7lmk93ri2q8gs9lsnwdyjr8";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Common";
version = "1.2.6";
sha256 = "09p2ks1qgy6jnpcfwgdnxvldyyadwnh3mwmq9z89vvzmmgs19xkk";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Common";
version = "1.2.7";
@ -61,8 +56,8 @@
})
(fetchNuGet {
name = "BTCPayServer.Lightning.LND";
version = "1.2.9";
sha256 = "1zyr58kwdyb02dfgxza73fqvzcjlf59msllmf06anl9im4pqcjx6";
version = "1.2.10";
sha256 = "10m8kw7598l9ap6y17znvm43cz5ca6qxbrh105knyb6hfzpsyqwp";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Ptarmigan";

View File

@ -7,16 +7,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "polkadot";
version = "0.9.12";
version = "0.9.12-1";
src = fetchFromGitHub {
owner = "paritytech";
repo = "polkadot";
rev = "v${version}";
sha256 = "1d1ppj8djqm97k18cbdvbgv9a5vhvxdgjiqair0bmxc44hwapl65";
sha256 = "sha256-+HATcxdIDQGDIQBF08yy/eKBcS10Hp7C0nZFVsYFNwQ=";
};
cargoSha256 = "09kcacz836sm1zsi08mmf4ca5vbqc0lwwaam9p4vi0v4kd45axx9";
cargoSha256 = "sha256-1qg4ZnSORRVI7eCVMrR7lY3tzo7KJt+dC2RBXqbKrig=";
nativeBuildInputs = [ clang ];

View File

@ -444,6 +444,21 @@
license = lib.licenses.free;
};
}) {};
capf-autosuggest = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "capf-autosuggest";
ename = "capf-autosuggest";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/capf-autosuggest-0.2.tar";
sha256 = "0a3bkf3c1gwv9m4rq9kvgw48y5av4arnymnm64yija55ygrnm88b";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/capf-autosuggest.html";
license = lib.licenses.free;
};
}) {};
caps-lock = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "caps-lock";
@ -1101,10 +1116,10 @@
elpaBuild {
pname = "ebdb";
ename = "ebdb";
version = "0.8.6";
version = "0.8.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.8.6.tar";
sha256 = "0amr1s1q5w4513qw31qsr8gpsfgj5b2j7qn017rmwbaf1mj0k6z0";
url = "https://elpa.gnu.org/packages/ebdb-0.8.8.tar";
sha256 = "035xakji5vypdpc06qp9yhg8ny7qn80h8kax6cl80p0lljplzrnn";
};
packageRequires = [ emacs seq ];
meta = {
@ -1161,10 +1176,10 @@
elpaBuild {
pname = "eev";
ename = "eev";
version = "20211024";
version = "20211101";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20211024.tar";
sha256 = "165mscb1kpgd3db92vklglnaph60rvrr8wm3hpkhrbyac100ryji";
url = "https://elpa.gnu.org/packages/eev-20211101.tar";
sha256 = "0sxbf116msfv6ly1dqga2sz2zpqr78nzp3v44qy7rps2887incmr";
};
packageRequires = [ emacs ];
meta = {
@ -1275,6 +1290,41 @@
license = lib.licenses.free;
};
}) {};
embark = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "embark";
ename = "embark";
version = "0.13";
src = fetchurl {
url = "https://elpa.gnu.org/packages/embark-0.13.tar";
sha256 = "04x3cfikfvzr2xl1zh6kj0q31160kmh1vrzyrla3n6f8z5qch63x";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/embark.html";
license = lib.licenses.free;
};
}) {};
embark-consult = callPackage ({ consult
, elpaBuild
, emacs
, embark
, fetchurl
, lib }:
elpaBuild {
pname = "embark-consult";
ename = "embark-consult";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/embark-consult-0.2.tar";
sha256 = "0f1022yk6d88glrrawa8cl6yd5n44p8wnbfwn0f8z6j1n8wxq37z";
};
packageRequires = [ consult emacs embark ];
meta = {
homepage = "https://elpa.gnu.org/packages/embark-consult.html";
license = lib.licenses.free;
};
}) {};
emms = callPackage ({ cl-lib ? null
, elpaBuild
, fetchurl
@ -1284,10 +1334,10 @@
elpaBuild {
pname = "emms";
ename = "emms";
version = "7.7";
version = "7.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/emms-7.7.tar";
sha256 = "0n9nx4wgjxkr8nsxcq8svg0x0qkqj7bsd2j0ihy4jzj29xmyxl0h";
url = "https://elpa.gnu.org/packages/emms-7.8.tar";
sha256 = "1nlb9rrdlbcqghph30r9i9m1brbdha818czbms0zhzdisxb0smi0";
};
packageRequires = [ cl-lib nadvice seq ];
meta = {
@ -1424,10 +1474,10 @@
elpaBuild {
pname = "exwm";
ename = "exwm";
version = "0.24";
version = "0.25";
src = fetchurl {
url = "https://elpa.gnu.org/packages/exwm-0.24.tar";
sha256 = "0lj1a3cmbpf4h6x8k6x8cdm1qb51ca6filydnvi5zcda8zpl060s";
url = "https://elpa.gnu.org/packages/exwm-0.25.tar";
sha256 = "0imd4v9ccvpsskmfnycz5fgabsvdjp1msg5v8rc7x0v26r3kr4x7";
};
packageRequires = [ xelb ];
meta = {
@ -1499,10 +1549,10 @@
elpaBuild {
pname = "flymake-proselint";
ename = "flymake-proselint";
version = "0.2.2";
version = "0.2.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/flymake-proselint-0.2.2.tar";
sha256 = "0v43d2cszrq8lzshm17x6aiqbkzwz5kj8x5sznc3nip9gaqsrfv1";
url = "https://elpa.gnu.org/packages/flymake-proselint-0.2.3.tar";
sha256 = "1384m52zkrlkkkyxg1zimp7dwrxhx8wbvw5ga5vg78yl6cqx9kbc";
};
packageRequires = [ emacs ];
meta = {
@ -2013,10 +2063,10 @@
elpaBuild {
pname = "ivy-posframe";
ename = "ivy-posframe";
version = "0.6.2";
version = "0.6.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.2.tar";
sha256 = "1x6pm0pry2j7yazhxvq1gydbymwll9yg85m8qi4sh8s0pnm0vjzk";
url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.3.tar";
sha256 = "0b498qzaydjrhplx4d7zcrs883dlrhfiz812sv4m3pmhfwifcchh";
};
packageRequires = [ emacs ivy posframe ];
meta = {
@ -3005,10 +3055,10 @@
elpaBuild {
pname = "phps-mode";
ename = "phps-mode";
version = "0.4.7";
version = "0.4.12";
src = fetchurl {
url = "https://elpa.gnu.org/packages/phps-mode-0.4.7.tar";
sha256 = "0y5milfjf45bi7gj7brl2lhyla8nsj3dc1a4nfq1wx3zw8arlc50";
url = "https://elpa.gnu.org/packages/phps-mode-0.4.12.tar";
sha256 = "0xkzx5narbry0kbamzxv1hjgsal98cj9rp3ck25xg2ywb6nspwcw";
};
packageRequires = [ emacs ];
meta = {
@ -3050,10 +3100,10 @@
elpaBuild {
pname = "posframe";
ename = "posframe";
version = "1.0.4";
version = "1.1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/posframe-1.0.4.tar";
sha256 = "0i2pw90gw9zb22gj8yyvcp3b2k1bxxhbjj0idvr5iz1vd9023bc6";
url = "https://elpa.gnu.org/packages/posframe-1.1.0.tar";
sha256 = "0ddm149dz71nksbpz7rwa8cax1nisf6wklv5iq4zrcbf5ghpagkg";
};
packageRequires = [ emacs ];
meta = {
@ -3651,10 +3701,10 @@
elpaBuild {
pname = "sketch-mode";
ename = "sketch-mode";
version = "1.0.3";
version = "1.0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/sketch-mode-1.0.3.tar";
sha256 = "17xa8754zp07izgd3b9hywlwd1jrbzyc5y1rrhin7w6r0pyvqs51";
url = "https://elpa.gnu.org/packages/sketch-mode-1.0.4.tar";
sha256 = "1gv03ykr40laf52hm8p0glfsy895jghkp5a8q599zwg5wpz3zdc9";
};
packageRequires = [];
meta = {
@ -4045,10 +4095,10 @@
elpaBuild {
pname = "tramp";
ename = "tramp";
version = "2.5.1.3";
version = "2.5.1.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.5.1.3.tar";
sha256 = "1qcwdavfrbw8yyfy5rbzbcfyqavqbz13jncahkqlgwbkqvmgh7y5";
url = "https://elpa.gnu.org/packages/tramp-2.5.1.4.tar";
sha256 = "0mk9r9hj43klah7mwldg4bw7fxcqvrbwv1gj6g90zdfsflqy7nh9";
};
packageRequires = [ emacs ];
meta = {
@ -4090,10 +4140,10 @@
elpaBuild {
pname = "transient";
ename = "transient";
version = "0.3.6";
version = "0.3.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/transient-0.3.6.tar";
sha256 = "11n2551kvfjrqyk0x78bz6pirnfs126cbchiv1pchqwyk8z8c9ks";
url = "https://elpa.gnu.org/packages/transient-0.3.7.tar";
sha256 = "0x4xjbaw98dma7232bzw53rbq9q70vms6lvvramng7vfaz0mcy2a";
};
packageRequires = [ emacs ];
meta = {
@ -4219,10 +4269,10 @@
elpaBuild {
pname = "vc-backup";
ename = "vc-backup";
version = "1.0.0";
version = "1.1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vc-backup-1.0.0.tar";
sha256 = "0vcrbb4s1rzar9q882kfcslycxvycp61923sg82i29b7yd0yrgdr";
url = "https://elpa.gnu.org/packages/vc-backup-1.1.0.tar";
sha256 = "1ipkymndxymbayrgr3jz27p64bkjf1nq9h4w3afpzkpqzw237ak5";
};
packageRequires = [];
meta = {
@ -4337,6 +4387,26 @@
license = lib.licenses.free;
};
}) {};
vertico-posframe = callPackage ({ elpaBuild
, emacs
, fetchurl
, lib
, posframe
, vertico }:
elpaBuild {
pname = "vertico-posframe";
ename = "vertico-posframe";
version = "0.3.10";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-posframe-0.3.10.tar";
sha256 = "1bksipfi92adlmnk2rdw33c2g6qhw8hplcg67xhc299svqlkd0j2";
};
packageRequires = [ emacs posframe vertico ];
meta = {
homepage = "https://elpa.gnu.org/packages/vertico-posframe.html";
license = lib.licenses.free;
};
}) {};
vigenere = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "vigenere";

View File

@ -282,10 +282,10 @@
elpaBuild {
pname = "flymake-kondor";
ename = "flymake-kondor";
version = "0.1.2";
version = "0.1.3";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/flymake-kondor-0.1.2.tar";
sha256 = "17mmn9mj4zl5f7byairkgxz6s2mrq73q3219s73c0b2g0g846krn";
url = "https://elpa.nongnu.org/nongnu/flymake-kondor-0.1.3.tar";
sha256 = "07k8b3wayp1h4hir98zs5srjjsnh6w0h9pzn4vnq9s2jr355509n";
};
packageRequires = [ emacs ];
meta = {
@ -387,10 +387,10 @@
elpaBuild {
pname = "geiser-guile";
ename = "geiser-guile";
version = "0.17";
version = "0.18";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.17.tar";
sha256 = "0g4982rfxjp08qi6nxz73lsbdwf388fx511394yw4s7ml6v1m4kd";
url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.18.tar";
sha256 = "1jnqra7gysscn0gb1ap56rbjlrnhsmma7q4yfiy3zxsz8m69xhqf";
};
packageRequires = [ emacs geiser ];
meta = {
@ -975,10 +975,10 @@
elpaBuild {
pname = "rust-mode";
ename = "rust-mode";
version = "1.0.0";
version = "1.0.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.0.tar";
sha256 = "0ch3hf954iy5hh5zyjjg68szdk5icppmi8nbap27wfwgvhvyfa67";
url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.1.tar";
sha256 = "1rybjnaycvjgqp8g8lkjzgvnwd4565cbx88qlnxfrlqd5161r1k3";
};
packageRequires = [ emacs ];
meta = {
@ -1099,10 +1099,10 @@
elpaBuild {
pname = "swift-mode";
ename = "swift-mode";
version = "8.4.1";
version = "8.4.2";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.1.tar";
sha256 = "0f87bjgva0iv818bh2dqvc1svrwh5zm134jpxcmvmzr1yqazx4qp";
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.2.tar";
sha256 = "0rkri1414f2w2bw76dwnmylcdca6x9bkdvlq1aznz76ac259klji";
};
packageRequires = [ emacs seq ];
meta = {

View File

@ -6,13 +6,13 @@
trivialBuild rec {
pname = "sunrise-commander";
version = "0.pre+unstable=2021-07-22";
version = "0.pre+unstable=2021-09-27";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "7662f635c372224e2356d745185db1e718fb7ee4";
hash = "sha256-NYUqJ2rDidVchX2B0+ApNbQeZFxxCnKRYXb6Ia+NzLI=";
rev = "16e6df7e86c7a383fb4400fae94af32baf9cb24e";
hash = "sha256-D36qiRi5OTZrBtJ/bD/javAWizZ8NLlC/YP4rdLCSsw=";
};
buildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pdfsam-basic";
version = "4.2.6";
version = "4.2.7";
src = fetchurl {
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
sha256 = "sha256-H8vFbQHFTO7blTJyfaEuyVUIljhfFautIrXV73zmBeI=";
sha256 = "sha256-PVG4KZX6KxkrooywgEmqOItyLt5hGs+b/KCaguduGyc=";
};
unpackPhase = ''

View File

@ -1,6 +1,6 @@
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, qmake
, qtscript
, wrapQtAppsHook
@ -8,14 +8,20 @@
stdenv.mkDerivation rec {
pname = "smplayer";
version = "21.1.0";
version = "21.10.0";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
hash = "sha256-Y0uq32XoQ8fpIJDScRfA7p3RYd6x1PWZSsYyAYYKf/c=";
src = fetchFromGitHub {
owner = "smplayer-dev";
repo = pname;
rev = "v${version}";
hash = "sha256-p6036c8KX3GCINmkjHZlDLgHhLKri+t2WNWzP4KsSI8=";
};
nativeBuildInputs = [ qmake wrapQtAppsHook ];
nativeBuildInputs = [
qmake
wrapQtAppsHook
];
buildInputs = [ qtscript ];
dontUseQmakeConfigure = true;

View File

@ -110,20 +110,25 @@ in
};
noto-fonts-emoji = let
version = "2.028";
version = "2.034";
emojiPythonEnv =
python3.withPackages (p: with p; [ fonttools nototools ]);
in stdenv.mkDerivation {
pname = "noto-fonts-emoji";
version = builtins.replaceStrings [ "_" ] [ "." ] version;
inherit version;
src = fetchFromGitHub {
owner = "googlefonts";
repo = "noto-emoji";
rev = "v${version}";
sha256 = "0dy7px7wfl6bqkfzz82jm4gvbjp338ddsx0mwfl6m7z48l7ng4v6";
sha256 = "1d6zzk0ii43iqfnjbldwp8sasyx99lbjp1nfgqjla7ixld6yp98l";
};
makeFlags = [
# TODO(@sternenseemann): remove if afdko is new enough to know about Unicode 14.0
"BYPASS_SEQUENCE_CHECK=True"
];
nativeBuildInputs = [
cairo
imagemagick
@ -166,7 +171,7 @@ in
homepage = "https://github.com/googlefonts/noto-emoji";
license = with licenses; [ ofl asl20 ];
platforms = platforms.all;
maintainers = with maintainers; [ mathnerd314 ];
maintainers = with maintainers; [ mathnerd314 sternenseemann ];
};
};

View File

@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, fetchFromGitHub, fixDarwinDylibNames
, autoconf, boost, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4
, perl, python3, rapidjson, re2, snappy, thrift, tzdata , utf8proc, which
, autoconf, boost, brotli, cmake, flatbuffers, gflags, glog, gtest, jemalloc
, lz4, perl, python3, rapidjson, re2, snappy, thrift, tzdata , utf8proc, which
, zlib, zstd
, enableShared ? !stdenv.hostPlatform.isStatic
}:
@ -31,22 +31,23 @@ in stdenv.mkDerivation rec {
};
sourceRoot = "apache-arrow-${version}/cpp";
ARROW_JEMALLOC_URL = fetchurl {
ARROW_JEMALLOC_URL = jemalloc.src;
ARROW_MIMALLOC_URL = fetchFromGitHub {
# From
# ./cpp/cmake_modules/ThirdpartyToolchain.cmake
# ./cpp/thirdparty/versions.txt
url =
"https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2";
hash = "sha256-NDMOXOJ2CZ4uiVDZM121qHVomkxqVnUe87HYxTf4h/Y=";
owner = "microsoft";
repo = "mimalloc";
rev = "v1.7.2";
hash = "sha256-yHupYFgC8mJuLUSpuEAfwF7l6Ue4EiuO1Q4qN4T6wWc=";
};
ARROW_MIMALLOC_URL = fetchurl {
# From
# ./cpp/cmake_modules/ThirdpartyToolchain.cmake
# ./cpp/thirdparty/versions.txt
url =
"https://github.com/microsoft/mimalloc/archive/v1.7.2.tar.gz";
hash = "sha256-sZEuNUVlpLaYQQ91g8D4OTSm27Ot5Uq33csVaTIJNr0=";
ARROW_XSIMD_URL = fetchFromGitHub {
owner = "xtensor-stack";
repo = "xsimd";
rev = "aeec9c872c8b475dedd7781336710f2dd2666cb2";
hash = "sha256-vWKdJkieKhaxyAJhijXUmD7NmNvMWd79PskQojulA1w=";
};
patches = [
@ -119,11 +120,6 @@ in stdenv.mkDerivation rec {
"-DCMAKE_INSTALL_RPATH=@loader_path/../lib" # needed for tools executables
] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
ARROW_XSIMD_URL = fetchurl {
url = "https://github.com/xtensor-stack/xsimd/archive/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz";
sha256 = "09kvl962c6b0wnb7pb2n9dhvkflzwalgq6gwwi8628fgi9n1x10a";
};
doInstallCheck = true;
ARROW_TEST_DATA =
if doInstallCheck then "${arrow-testing}/data" else null;

View File

@ -6,7 +6,6 @@
, aws-c-http
, aws-c-io
, cmake
, ninja
, s2n-tls
}:
@ -23,7 +22,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [

View File

@ -0,0 +1,31 @@
{ lib
, buildGoPackage
, fetchFromGitHub
}:
buildGoPackage rec {
pname = "go-mk";
version = "0.pre+date=2015-03-24";
src = fetchFromGitHub {
owner = "dcjones";
repo = "mk";
rev = "73d1b31466c16d0a13a220e5fad7cd8ef6d984d1";
hash = "sha256-fk2Qd3LDMx+RapKi1M9yCuxpS0IB6xlbEWW+H6t94AI=";
};
goPackagePath = "github.com/dcjones/mk";
meta = with lib; {
inherit (src.meta) homepage;
description = "A reboot of Plan9's mk, written in Go";
longDescription = ''
Mk is a reboot of the Plan 9 mk command, which itself is a successor to
make. This tool is for anyone who loves make, but hates all its stupid
bullshit.
'';
license = licenses.bsd2;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}

View File

@ -1,4 +0,0 @@
source $stdenv/setup
installFlags="PREFIX=$out"
preInstall="mkdir -p $out/man/man1 $out/bin"
genericBuild

View File

@ -1,15 +0,0 @@
{lib, stdenv, fetchurl}:
stdenv.mkDerivation rec {
pname = "mk";
version = "unstable-2006-01-31";
src = fetchurl {
url = "http://tarballs.nixos.org/${pname}-20060131.tar.gz";
sha256 = "0za8dp1211bdp4584xb59liqpww7w1ql0cmlv34p9y928nibcxsr";
};
builder = ./builder.sh;
meta = {
platforms = lib.platforms.unix;
};
}

View File

@ -0,0 +1,65 @@
{ stdenv, coreutils, lib, installShellFiles, zlib, autoPatchelfHook, fetchurl }:
let
version = "0.0.7";
assets = {
x86_64-darwin = {
asset = "scala-cli-x86_64-apple-darwin.gz";
sha256 = "0v6vlmw1zrzvbpa59y4cfv74mx56lyx109vk9cb942pyiv0ia6gf";
};
x86_64-linux = {
asset = "scala-cli-x86_64-pc-linux.gz";
sha256 = "1xdkvjfw550lpjw5fsrv7mbnx5i8ix8lrxcd31yipm8p9g4vjcdn";
};
};
in
stdenv.mkDerivation {
pname = "scala-cli";
inherit version;
nativeBuildInputs = [ autoPatchelfHook installShellFiles ];
buildInputs = [ coreutils zlib stdenv.cc.cc ];
src =
let
asset = assets."${stdenv.hostPlatform.system}" or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
in
fetchurl {
url = "https://github.com/Virtuslab/scala-cli/releases/download/v${version}/${asset.asset}";
sha256 = asset.sha256;
};
unpackPhase = ''
runHook preUnpack
gzip -d < $src > scala-cli
runHook postUnpack
'';
installPhase = ''
runHook preInstall
install -Dm755 scala-cli $out/bin/scala-cli
runHook postInstall
'';
# We need to call autopatchelf before generating completions
dontAutoPatchelf = true;
postFixup = ''
autoPatchelf $out
# hack to ensure the completion function looks right
# as $0 is used to generate the compdef directive
PATH="$out/bin:$PATH"
installShellCompletion --cmd scala-cli \
--bash <(scala-cli completions bash) \
--zsh <(scala-cli completions zsh)
'';
meta = with lib; {
homepage = "https://scala-cli.virtuslab.org";
downloadPage = "https://github.com/VirtusLab/scala-cli/releases/v${version}";
license = licenses.asl20;
description = "Command-line tool to interact with the Scala language";
maintainers = [ maintainers.kubukoz ];
platforms = builtins.attrNames assets;
};
}

View File

@ -1,5 +1,7 @@
{ lib, stdenv, fetchurl, openssl, python, zlib, libuv, util-linux, http-parser
, pkg-config, which
# for `.pkgs` attribute
, callPackage
# Updater dependencies
, writeScript, coreutils, gnugrep, jq, curl, common-updater-scripts, nix, runtimeShell
, gnupg
@ -40,9 +42,7 @@ let
(builtins.attrNames sharedLibDeps);
extraConfigFlags = optionals (!enableNpm) [ "--without-npm" ];
in
stdenv.mkDerivation {
self = stdenv.mkDerivation {
inherit version;
name = "${baseName}-${version}";
@ -83,6 +83,10 @@ in
passthru.interpreterName = "nodejs";
passthru.pkgs = callPackage ../../node-packages/default.nix {
nodejs = self;
};
setupHook = ./setup-hook.sh;
pos = builtins.unsafeGetAttrPos "version" args;
@ -147,4 +151,5 @@ in
};
passthru.python = python; # to ensure nodeEnv uses the same version
}
};
in self

View File

@ -2,7 +2,7 @@
let
# having the full version string here makes it easier to update
modDirVersion = "5.14.14-zen1";
modDirVersion = "5.14.15-zen1";
parts = lib.splitString "-" modDirVersion;
version = lib.elemAt parts 0;
suffix = lib.elemAt parts 1;
@ -19,7 +19,7 @@ buildLinux (args // {
owner = "zen-kernel";
repo = "zen-kernel";
rev = "v${modDirVersion}";
sha256 = "sha256-cW3i672F7dmU3tzR1cJCkrm8T6F9uYt4DyMFDL37Fpo=";
sha256 = "sha256-2nShtZodkPBCbGdK0dI+RGTRS5/JOUP/7//L//MJI4c=";
};
structuredExtraConfig = with lib.kernel; {

View File

@ -0,0 +1,11 @@
diff -Naur msr-old/msr.c msr-20060208/msr.c
--- msr-old/msr.c 1969-12-31 21:00:01.000000000 -0300
+++ msr-20060208/msr.c 2021-11-02 21:19:34.576722617 -0300
@@ -19,6 +19,7 @@
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>

View File

@ -0,0 +1,40 @@
{ lib
, stdenv
, fetchzip
, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "msr";
version = "20060208";
src = fetchzip {
name = "${pname}-${version}";
url = "http://www.etallen.com/msr/${pname}-${version}.src.tar.gz";
hash = "sha256-e01qYWbOALkXp5NpexuVodMxA3EBySejJ6ZBpZjyT+E=";
};
nativeBuildInputs = [
installShellFiles
];
patches = [
./000-include-sysmacros.patch
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin/
cp msr $out/bin/
installManPage msr.man
runHook postInstall
'';
meta = with lib; {
homepage = "http://www.etallen.com/msr.html";
description = "Linux tool to display or modify x86 model-specific registers (MSRs)";
license = licenses.bsd0;
maintainers = with maintainers; [ AndersonTorres ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@ -9,6 +9,7 @@
# For the update script
, coreutils
, curl
, nix-prefetch-git
, jq
, nodePackages
@ -41,7 +42,7 @@ let
in
stdenv.mkDerivation rec {
pname = "botamusique";
version = "unstable-${lib.substring 0 10 srcJson.date}";
version = srcJson.version;
inherit src;
@ -67,21 +68,21 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [
python3Packages.wrapPython
nodejs
makeWrapper
nodejs
python3Packages.wrapPython
];
pythonPath = with python3Packages; [
pymumble
packaging
magic
requests
youtube-dl
flask
magic
mutagen
packaging
pillow
pymumble
pyradios
requests
yt-dlp
];
buildPhase = ''
@ -118,9 +119,17 @@ stdenv.mkDerivation rec {
'';
passthru.updateScript = pkgs.writeShellScript "botamusique-updater" ''
export PATH=${lib.makeBinPath [ coreutils nix-prefetch-git jq nodePackages.node2nix ]}
export PATH=${lib.makeBinPath [ coreutils curl nix-prefetch-git jq nodePackages.node2nix ]}
set -ex
nix-prefetch-git https://github.com/azlux/botamusique > ${toString ./src.json}
OWNER=azlux
REPO=botamusique
VERSION=$(curl https://api.github.com/repos/$OWNER/$REPO/releases/latest | jq -r '.tag_name')
nix-prefetch-git --rev "$VERSION" --url https://github.com/$OWNER/$REPO | \
jq > ${toString ./src.json } \
--arg version "$VERSION" \
'.version |= $version'
path=$(jq '.path' -r < ${toString ./src.json})
tmp=$(mktemp -d)
@ -129,7 +138,7 @@ stdenv.mkDerivation rec {
# botamusique doesn't have a version in its package.json
# But that's needed for node2nix
jq < "$path"/web/package.json > "$tmp/package.json" \
--arg version "0.0.0" \
--arg version "$VERSION" \
'.version |= $version'
node2nix \

View File

@ -4526,8 +4526,8 @@ let
args = {
name = "botamusique";
packageName = "botamusique";
version = "0.0.0";
src = ../../../../../../../../../tmp/tmp.IOzfGq3zuo;
version = "7.2.2";
src = ../../../../../../../../../tmp/tmp.axdirie3HR;
dependencies = [
sources."@babel/code-frame-7.10.4"
sources."@babel/compat-data-7.12.7"

View File

@ -1,11 +1,12 @@
{
"url": "https://github.com/azlux/botamusique",
"rev": "3733353170e1d24b5f3ce2a21643c27ca2a39835",
"date": "2021-09-01T12:19:37+02:00",
"path": "/nix/store/07vl4lhi6dshh4n7pcyrxvy9m028rrbr-botamusique",
"sha256": "0cggan70zymbh9iwggq9a04zkky86k9cncprxb9nnr35gp4l4992",
"rev": "9b9b4e40ce7b077ebfa3b9be08d32025d1e43bc3",
"date": "2021-10-27T02:29:59+02:00",
"path": "/nix/store/9gxn2bw0757yrmx0xhhwq642lixyy88x-botamusique",
"sha256": "07n6nyi84ddqp2x8xrds7q83yfqapl5qhkcprzjsmvxhv4a3ar8q",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
"leaveDotGit": false,
"version": "7.2.2"
}

View File

@ -67,17 +67,17 @@ stdenv.mkDerivation rec {
libmnl
gnutls
readline
] ++ optionals (enableOpenconnect) [ openconnect ];
] ++ optionals (enableOpenconnect) [ openconnect ]
++ optionals (firewallType == "iptables") [ iptables ]
++ optionals (firewallType == "nftables") [ libnftnl ]
++ optionals (enablePolkit) [ polkit ]
++ optionals (enablePptp) [ pptp ppp ]
;
nativeBuildInputs = [
pkg-config
file
]
++ optionals (enablePolkit) [ polkit ]
++ optionals (enablePptp) [ pptp ppp ]
++ optionals (firewallType == "iptables") [ iptables ]
++ optionals (firewallType == "nftables") [ libnftnl ]
;
];
# fix invalid path to 'file'
postPatch = ''

View File

@ -1,4 +1,13 @@
{ stdenv, lib, fetchFromGitHub, nix, makeWrapper, coreutils, gnutar, gzip, bzip2 }:
{ lib
, stdenv
, fetchFromGitHub
, bzip2
, coreutils
, gnutar
, gzip
, makeWrapper
, nix
}:
stdenv.mkDerivation rec {
pname = "nix-bundle";
@ -13,25 +22,40 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
# coreutils, gnutar is actually needed by nix for bootstrap
buildInputs = [ nix coreutils gnutar gzip bzip2 ];
binPath = lib.makeBinPath [ nix coreutils gnutar gzip bzip2 ];
# coreutils, gnutar are needed by nix for bootstrap
buildInputs = [
bzip2
coreutils
gnutar
gzip
nix
];
makeFlags = [ "PREFIX=$(out)" ];
postInstall = ''
mkdir -p $out/bin
makeWrapper $out/share/nix-bundle/nix-bundle.sh $out/bin/nix-bundle \
--prefix PATH : ${binPath}
cp $out/share/nix-bundle/nix-run.sh $out/bin/nix-run
--prefix PATH : ${lib.makeBinPath buildInputs}
ln -s $out/share/nix-bundle/nix-run.sh $out/bin/nix-run
'';
meta = with lib; {
homepage = "https://github.com/matthewbauer/nix-bundle";
description = "Create bundles from Nixpkgs attributes";
longDescription = ''
nix-bundle is a way to package Nix attributes into single-file
executables.
Benefits:
- Single-file output
- Can be run by non-root users
- No runtime
- Distro agnostic
- No installation
'';
license = licenses.mit;
maintainers = [ maintainers.matthewbauer ];
platforms = platforms.all;
description = "Create bundles from Nixpkgs attributes";
license = licenses.mit;
homepage = "https://github.com/matthewbauer/nix-bundle";
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2021-11-02";
version = "2021-11-04";
src = fetchFromGitHub {
owner = "offensive-security";
repo = pname;
rev = version;
sha256 = "sha256-47/gsOZaFI3ujht3dj2lvsspe/Iv/ujdFkcvhgGAm9E=";
sha256 = "sha256-4qNQcmBq0q+FDRGtunUfngO+1jAK+fUBUHsq8E2rAy0=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,23 +1,26 @@
{ lib, stdenv, fetchFromGitHub, which
{ lib
, stdenv
, fetchFromGitHub
, darwin ? null
, xorgproto ? null
, fontconfig ? null
, freetype ? null
, libX11
, libXext ? null
, libXt ? null
, fontconfig ? null
, freetype ? null
, perl ? null # For building web manuals
, which
, xorgproto ? null
}:
stdenv.mkDerivation {
pname = "plan9port";
version = "2021-04-22";
version = "0.pre+date=2021-10-19";
src = fetchFromGitHub {
owner = "9fans";
repo = "plan9port";
rev = "70cc6e5ba7798b315c3fb3aae19620a01604a459";
hash = "sha256-HCn8R9YSocHrpw/xK5n8gsCLSAbAQgw0NtjO9vYIbKo=";
rev = "d0d440860f2000a1560abb3f593cdc325fcead4c";
hash = "sha256-2aYXqPGwrReyFPrLDtEjgQd/RJjpOfI3ge/tDocYpRQ=";
};
postPatch = ''
@ -44,10 +47,18 @@ stdenv.mkDerivation {
buildInputs = [
perl
] ++ lib.optionals (!stdenv.isDarwin) [
xorgproto libX11 libXext libXt fontconfig
freetype # fontsrv wants ft2build.h provides system fonts for acme and sam.
fontconfig
freetype # fontsrv wants ft2build.h provides system fonts for acme and sam
libX11
libXext
libXt
xorgproto
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
Carbon Cocoa IOKit Metal QuartzCore
Carbon
Cocoa
IOKit
Metal
QuartzCore
]);
builder = ./builder.sh;

View File

@ -1577,6 +1577,8 @@ with pkgs;
cpuid = callPackage ../os-specific/linux/cpuid { };
msr = callPackage ../os-specific/linux/msr { };
ctrtool = callPackage ../tools/archivers/ctrtool { };
crowbar = callPackage ../tools/security/crowbar { };
@ -2186,6 +2188,8 @@ with pkgs;
bmake = callPackage ../development/tools/build-managers/bmake { };
go-mk = callPackage ../development/tools/build-managers/go-mk { };
boca = callPackage ../development/libraries/boca { };
bochs = callPackage ../applications/virtualization/bochs {
@ -7081,13 +7085,9 @@ with pkgs;
nodejs_latest = nodejs-16_x;
nodejs-slim_latest = nodejs-slim-16_x;
nodePackages_latest = dontRecurseIntoAttrs (callPackage ../development/node-packages/default.nix {
nodejs = nodejs_latest;
});
nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs;
nodePackages = dontRecurseIntoAttrs (callPackage ../development/node-packages/default.nix {
inherit nodejs;
});
nodePackages = dontRecurseIntoAttrs nodejs.pkgs;
np2kai = callPackage ../misc/emulators/np2kai { };
@ -14791,8 +14791,6 @@ with pkgs;
minizinc = callPackage ../development/tools/minizinc { };
minizincide = qt514.callPackage ../development/tools/minizinc/ide.nix { };
mk = callPackage ../development/tools/build-managers/mk { };
mkcert = callPackage ../development/tools/misc/mkcert { };
mkdocs = callPackage ../development/tools/documentation/mkdocs { };
@ -15088,6 +15086,8 @@ with pkgs;
sbt-extras = callPackage ../development/tools/build-managers/sbt-extras { };
scala-cli = callPackage ../development/tools/build-managers/scala-cli {};
scc = callPackage ../development/tools/misc/scc { };
scss-lint = callPackage ../development/tools/scss-lint { };