Project import generated by Copybara.

GitOrigin-RevId: e5cc06a1e806070693add4f231060a62b962fc44
This commit is contained in:
Default email 2021-04-17 02:35:05 +02:00
parent 2ee3044113
commit be14b713bb
219 changed files with 7297 additions and 3670 deletions

View file

@ -248,11 +248,19 @@ rec {
# BSDs # BSDs
amd64-netbsd = { amd64-netbsd = lib.warn "The amd64-netbsd system example is deprecated. Use x86_64-netbsd instead." x86_64-netbsd;
x86_64-netbsd = {
config = "x86_64-unknown-netbsd"; config = "x86_64-unknown-netbsd";
libc = "nblibc"; libc = "nblibc";
}; };
x86_64-netbsd-llvm = {
config = "x86_64-unknown-netbsd";
libc = "nblibc";
useLLVM = true;
};
# #
# WASM # WASM
# #

View file

@ -4067,6 +4067,12 @@
githubId = 12491746; githubId = 12491746;
name = "Masato Yonekawa"; name = "Masato Yonekawa";
}; };
hzeller = {
email = "h.zeller@acm.org";
github = "hzeller";
githubId = 140937;
name = "Henner Zeller";
};
i077 = { i077 = {
email = "nixpkgs@imranhossa.in"; email = "nixpkgs@imranhossa.in";
github = "i077"; github = "i077";

View file

@ -955,6 +955,11 @@ environment.systemPackages = [
<link linkend="opt-boot.extraSystemdUnitPaths">boot.extraSystemdUnitPaths</link> list. <link linkend="opt-boot.extraSystemdUnitPaths">boot.extraSystemdUnitPaths</link> list.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
PostgreSQL 9.5 is scheduled EOL during the 21.05 life cycle and has been removed.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View file

@ -366,6 +366,7 @@
./services/games/minecraft-server.nix ./services/games/minecraft-server.nix
./services/games/minetest-server.nix ./services/games/minetest-server.nix
./services/games/openarena.nix ./services/games/openarena.nix
./services/games/quake3-server.nix
./services/games/teeworlds.nix ./services/games/teeworlds.nix
./services/games/terraria.nix ./services/games/terraria.nix
./services/hardware/acpid.nix ./services/hardware/acpid.nix

View file

@ -295,8 +295,7 @@ in
# systems! # systems!
mkDefault (if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11 mkDefault (if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11
else if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6 else if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5 else throw "postgresql_9_5 was removed, please upgrade your postgresql version.");
else throw "postgresql_9_4 was removed, please upgrade your postgresql version.");
services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}"; services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}";

View file

@ -0,0 +1,111 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.quake3-server;
configFile = pkgs.writeText "q3ds-extra.cfg" ''
set net_port ${builtins.toString cfg.port}
${cfg.extraConfig}
'';
defaultBaseq3 = pkgs.requireFile rec {
name = "baseq3";
hashMode = "recursive";
sha256 = "5dd8ee09eabd45e80450f31d7a8b69b846f59738726929298d8a813ce5725ed3";
message = ''
Unfortunately, we cannot download ${name} automatically.
Please purchase a legitimate copy of Quake 3 and change into the installation directory.
You can either add all relevant files to the nix-store like this:
mkdir /tmp/baseq3
cp baseq3/pak*.pk3 /tmp/baseq3
nix-store --add-fixed sha256 --recursive /tmp/baseq3
Alternatively you can set services.quake3-server.baseq3 to a path and copy the baseq3 directory into
$services.quake3-server.baseq3/.q3a/
'';
};
home = pkgs.runCommand "quake3-home" {} ''
mkdir -p $out/.q3a/baseq3
for file in ${cfg.baseq3}/*; do
ln -s $file $out/.q3a/baseq3/$(basename $file)
done
ln -s ${configFile} $out/.q3a/baseq3/nix.cfg
'';
in {
options = {
services.quake3-server = {
enable = mkEnableOption "Quake 3 dedicated server";
port = mkOption {
type = types.port;
default = 27960;
description = ''
UDP Port the server should listen on.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open the firewall.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
seta rconPassword "superSecret" // sets RCON password for remote console
seta sv_hostname "My Quake 3 server" // name that appears in server list
'';
description = ''
Extra configuration options. Note that options changed via RCON will not be persisted. To list all possible
options, use "cvarlist 1" via RCON.
'';
};
baseq3 = mkOption {
type = types.either types.package types.path;
default = defaultBaseq3;
example = "/var/lib/q3ds";
description = ''
Path to the baseq3 files (pak*.pk3). If this is on the nix store (type = package) all .pk3 files should be saved
in the top-level directory. If this is on another filesystem (e.g /var/lib/baseq3) the .pk3 files are searched in
$baseq3/.q3a/baseq3/
'';
};
};
};
config = let
baseq3InStore = builtins.typeOf cfg.baseq3 == "set";
in mkIf cfg.enable {
networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ cfg.port ];
systemd.services.q3ds = {
description = "Quake 3 dedicated server";
wantedBy = [ "multi-user.target" ];
after = [ "networking.target" ];
environment.HOME = if baseq3InStore then home else cfg.baseq3;
serviceConfig = with lib; {
Restart = "always";
DynamicUser = true;
WorkingDirectory = home;
# It is possible to alter configuration files via RCON. To ensure reproducibility we have to prevent this
ReadOnlyPaths = if baseq3InStore then home else cfg.baseq3;
ExecStartPre = optionalString (!baseq3InStore) "+${pkgs.coreutils}/bin/cp ${configFile} ${cfg.baseq3}/.q3a/baseq3/nix.cfg";
ExecStart = "${pkgs.ioquake3}/ioq3ded.x86_64 +exec nix.cfg";
};
};
};
meta.maintainers = with maintainers; [ f4814n ];
}

View file

@ -405,7 +405,7 @@ in
}; };
} // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) { } // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) {
${cfg.mailUser} = ${cfg.mailUser} =
{ description = "Virtual Mail User"; } // optionalAttrs (cfg.mailGroup != null) { description = "Virtual Mail User"; isSystemUser = true; } // optionalAttrs (cfg.mailGroup != null)
{ group = cfg.mailGroup; }; { group = cfg.mailGroup; };
}; };

View file

@ -165,7 +165,7 @@ in {
baseUrl = mkOption { baseUrl = mkOption {
type = types.str; type = types.str;
default = "http://localhost/hyperkitty/"; default = "http://localhost:18507/archives/";
description = '' description = ''
Where can Mailman connect to Hyperkitty's internal API, preferably on Where can Mailman connect to Hyperkitty's internal API, preferably on
localhost? localhost?
@ -391,6 +391,7 @@ in {
plugins = ["python3"]; plugins = ["python3"];
home = pythonEnv; home = pythonEnv;
module = "mailman_web.wsgi"; module = "mailman_web.wsgi";
http = "127.0.0.1:18507";
}; };
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig); uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
in { in {

View file

@ -192,8 +192,8 @@ in
# Auto-migrate on first run or if the package has changed # Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version" versionFile="${cfg.dataDir}/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
${pythonEnv}/bin/etebase-server migrate ${pythonEnv}/bin/etebase-server migrate --no-input
${pythonEnv}/bin/etebase-server collectstatic ${pythonEnv}/bin/etebase-server collectstatic --no-input --clear
echo ${pkgs.etebase-server} > "$versionFile" echo ${pkgs.etebase-server} > "$versionFile"
fi fi
''; '';
@ -211,6 +211,7 @@ in
users = optionalAttrs (cfg.user == defaultUser) { users = optionalAttrs (cfg.user == defaultUser) {
users.${defaultUser} = { users.${defaultUser} = {
isSystemUser = true;
group = defaultUser; group = defaultUser;
home = cfg.dataDir; home = cfg.dataDir;
}; };

View file

@ -50,15 +50,10 @@ let
# List of components used in config # List of components used in config
extraComponents = filter useComponent availableComponents; extraComponents = filter useComponent availableComponents;
testedPackage = if (cfg.autoExtraComponents && cfg.config != null) package = if (cfg.autoExtraComponents && cfg.config != null)
then (cfg.package.override { inherit extraComponents; }) then (cfg.package.override { inherit extraComponents; })
else cfg.package; else cfg.package;
# overridePythonAttrs has to be applied after override
package = testedPackage.overridePythonAttrs (oldAttrs: {
doCheck = false;
});
# If you are changing this, please update the description in applyDefaultConfig # If you are changing this, please update the description in applyDefaultConfig
defaultConfig = { defaultConfig = {
homeassistant.time_zone = config.time.timeZone; homeassistant.time_zone = config.time.timeZone;
@ -188,9 +183,13 @@ in {
}; };
package = mkOption { package = mkOption {
default = pkgs.home-assistant; default = pkgs.home-assistant.overrideAttrs (oldAttrs: {
doInstallCheck = false;
});
defaultText = literalExample '' defaultText = literalExample ''
pkgs.home-assistant pkgs.home-assistant.overrideAttrs (oldAttrs: {
doInstallCheck = false;
})
''; '';
type = types.package; type = types.package;
example = literalExample '' example = literalExample ''
@ -199,12 +198,11 @@ in {
} }
''; '';
description = '' description = ''
Home Assistant package to use. Tests are automatically disabled, as they take a considerable amout of time to complete. Home Assistant package to use. By default the tests are disabled, as they take a considerable amout of time to complete.
Override <literal>extraPackages</literal> or <literal>extraComponents</literal> in order to add additional dependencies. Override <literal>extraPackages</literal> or <literal>extraComponents</literal> in order to add additional dependencies.
If you specify <option>config</option> and do not set <option>autoExtraComponents</option> If you specify <option>config</option> and do not set <option>autoExtraComponents</option>
to <literal>false</literal>, overriding <literal>extraComponents</literal> will have no effect. to <literal>false</literal>, overriding <literal>extraComponents</literal> will have no effect.
Avoid <literal>home-assistant.overridePythonAttrs</literal> if you use Avoid <literal>home-assistant.overridePythonAttrs</literal> if you use <literal>autoExtraComponents</literal>.
<literal>autoExtraComponents</literal>.
''; '';
}; };

View file

@ -33,11 +33,11 @@
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation"> <link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
installation instructions of Synapse </link>. installation instructions of Synapse </link>.
<programlisting> <programlisting>
{ pkgs, ... }: { pkgs, lib, ... }:
let let
fqdn = fqdn =
let let
join = hostName: domain: hostName + optionalString (domain != null) ".${domain}"; join = hostName: domain: hostName + lib.optionalString (domain != null) ".${domain}";
in join config.networking.hostName config.networking.domain; in join config.networking.hostName config.networking.domain;
in { in {
networking = { networking = {
@ -132,7 +132,7 @@ in {
} }
]; ];
}; };
}; }
</programlisting> </programlisting>
</para> </para>

View file

@ -5,6 +5,7 @@ with lib;
let let
cfg = config.services.fprintd; cfg = config.services.fprintd;
fprintdPkg = if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd;
in in
@ -17,25 +18,30 @@ in
services.fprintd = { services.fprintd = {
enable = mkOption { enable = mkEnableOption "fprintd daemon and PAM module for fingerprint readers handling";
type = types.bool;
default = false;
description = ''
Whether to enable fprintd daemon and PAM module for fingerprint readers handling.
'';
};
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.fprintd; default = fprintdPkg;
defaultText = "pkgs.fprintd"; defaultText = "if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd";
description = '' description = ''
fprintd package to use. fprintd package to use.
''; '';
}; };
}; tod = {
enable = mkEnableOption "Touch OEM Drivers library support";
driver = mkOption {
type = types.package;
example = literalExample "pkgs.libfprint-2-tod1-goodix";
description = ''
Touch OEM Drivers (TOD) package to use.
'';
};
};
};
}; };
@ -49,6 +55,10 @@ in
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];
systemd.services.fprintd.environment = mkIf cfg.tod.enable {
FP_TOD_DRIVERS_DIR = "${cfg.tod.driver}${cfg.tod.driver.driverPath}";
};
}; };
} }

View file

@ -702,7 +702,7 @@ in
cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/ cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/
cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/ cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/
cp -r ${cfg.package}/share/discourse/plugins.dist/* /run/discourse/plugins/ cp -r ${cfg.package}/share/discourse/plugins.dist/* /run/discourse/plugins/
${lib.concatMapStrings (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins} ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins}
ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads
ln -sf /var/lib/discourse/backups /run/discourse/public/backups ln -sf /var/lib/discourse/backups /run/discourse/public/backups
@ -726,7 +726,8 @@ in
export ADMIN_EMAIL="${cfg.admin.email}" export ADMIN_EMAIL="${cfg.admin.email}"
export ADMIN_NAME="${cfg.admin.fullName}" export ADMIN_NAME="${cfg.admin.fullName}"
export ADMIN_USERNAME="${cfg.admin.username}" export ADMIN_USERNAME="${cfg.admin.username}"
export ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})" ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
export ADMIN_PASSWORD
discourse-rake admin:create_noninteractively discourse-rake admin:create_noninteractively
discourse-rake themes:update discourse-rake themes:update
@ -938,7 +939,8 @@ in
set -o errexit -o pipefail -o nounset -o errtrace set -o errexit -o pipefail -o nounset -o errtrace
shopt -s inherit_errexit shopt -s inherit_errexit
export api_key=$(<'${apiKeyPath}') api_key=$(<'${apiKeyPath}')
export api_key
jq <${mail-receiver-json} \ jq <${mail-receiver-json} \
'.DISCOURSE_API_KEY = $ENV.api_key' \ '.DISCOURSE_API_KEY = $ENV.api_key' \

View file

@ -676,6 +676,7 @@ in
Defines the address and other parameters of the upstream servers. Defines the address and other parameters of the upstream servers.
''; '';
default = {}; default = {};
example = { "127.0.0.1:8000" = {}; };
}; };
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
@ -690,6 +691,14 @@ in
Defines a group of servers to use as proxy target. Defines a group of servers to use as proxy target.
''; '';
default = {}; default = {};
example = literalExample ''
"backend_server" = {
servers = { "127.0.0.1:8000" = {}; };
extraConfig = ''''
keepalive 16;
'''';
};
'';
}; };
virtualHosts = mkOption { virtualHosts = mkOption {

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: { config, lib, ... }:
with lib; with lib;
let let
@ -150,9 +150,6 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
aliases = [ "dbus-org.freedesktop.resolve1.service" ]; aliases = [ "dbus-org.freedesktop.resolve1.service" ];
restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ]; restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
# Upstream bug: https://github.com/systemd/systemd/issues/18078
# systemd-resolved without libidn2 is broken
environment.LD_LIBRARY_PATH = "${lib.getLib pkgs.libidn2}/lib";
}; };
environment.etc = { environment.etc = {

View file

@ -321,5 +321,48 @@ import ./make-test-python.nix ({ pkgs, ... }: {
docker.succeed( docker.succeed(
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'" "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
) )
with subtest("Ensure docker load on merged images loads all of the constituent images"):
docker.succeed(
"docker load --input='${examples.mergedBashAndRedis}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bash.imageName}-${examples.bash.imageTag}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'"
)
docker.succeed("docker run --rm ${examples.bash.imageName} bash --version")
docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version")
docker.succeed("docker rmi ${examples.bash.imageName}")
docker.succeed("docker rmi ${examples.redis.imageName}")
with subtest(
"Ensure docker load on merged images loads all of the constituent images (missing tags)"
):
docker.succeed(
"docker load --input='${examples.mergedBashNoTagAndRedis}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bashNoTag.imageName}-${examples.bashNoTag.imageTag}'"
)
docker.succeed(
"docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'"
)
# we need to explicitly specify the generated tag here
docker.succeed(
"docker run --rm ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag} bash --version"
)
docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version")
docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}")
docker.succeed("docker rmi ${examples.redis.imageName}")
with subtest("mergeImages preserves owners of the original images"):
docker.succeed(
"docker load --input='${examples.mergedBashFakeRoot}'"
)
docker.succeed(
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
)
''; '';
}) })

View file

@ -8,6 +8,8 @@ import ./make-test-python.nix {
enable = true; enable = true;
protocols = [ "imap" "pop3" ]; protocols = [ "imap" "pop3" ];
modules = [ pkgs.dovecot_pigeonhole ]; modules = [ pkgs.dovecot_pigeonhole ];
mailUser = "vmail";
mailGroup = "vmail";
}; };
environment.systemPackages = let environment.systemPackages = let
sendTestMail = pkgs.writeScriptBin "send-testmail" '' sendTestMail = pkgs.writeScriptBin "send-testmail" ''

View file

@ -15,13 +15,13 @@ assert withGtk3 -> gtk3 != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "carla"; pname = "carla";
version = "2.2.0"; version = "2.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "falkTX"; owner = "falkTX";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "B4xoRuNEW4Lz9haP8fqxOTcysGTNEXFOq9UXqUJLSFw="; sha256 = "sha256-724EFBpbmPMuU1m3T0XMaeohURJA5JcxHfUPYbZ/2LE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,6 +1,7 @@
{ mkDerivation { mkDerivation
, cmake , cmake
, fetchFromGitLab , fetchFromGitLab
, nix-update-script
, gst_all_1 , gst_all_1
, lib , lib
, libpulseaudio , libpulseaudio
@ -11,17 +12,23 @@
, qttools , qttools
, taglib , taglib
, zlib , zlib
, python3
}: }:
let
py = python3.withPackages (ps: with ps; [
pydbus
]);
in
mkDerivation rec { mkDerivation rec {
pname = "sayonara-player"; pname = "sayonara";
version = "1.6.0-beta6"; version = "1.6.0-beta7";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "luciocarreras"; owner = "luciocarreras";
repo = "sayonara-player"; repo = "sayonara-player";
rev = version; rev = version;
sha256 = "sha256-SbJS0DQvbW++CNXbuDHQxFlLRb1kTtDdIdHOqu0YxeQ="; sha256 = "14svszfldx32vn937rszd21rgl31vb5kzs0hnrg41ygx0br61rvd";
}; };
nativeBuildInputs = [ cmake ninja pkg-config qttools ]; nativeBuildInputs = [ cmake ninja pkg-config qttools ];
@ -32,6 +39,7 @@ mkDerivation rec {
qtbase qtbase
taglib taglib
zlib zlib
py
] ]
++ (with gst_all_1; [ ++ (with gst_all_1; [
gstreamer gstreamer
@ -54,6 +62,12 @@ mkDerivation rec {
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
''; '';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; { meta = with lib; {
description = "Sayonara music player"; description = "Sayonara music player";
homepage = "https://sayonara-player.com/"; homepage = "https://sayonara-player.com/";

View file

@ -1,40 +1,47 @@
{ stdenv { stdenv
, lib , lib
, fetchurl , fetchFromGitHub
, autoreconfHook
, perl
, pkg-config , pkg-config
, libsidplayfp , libsidplayfp
, alsaSupport ? stdenv.hostPlatform.isLinux , alsaSupport ? stdenv.hostPlatform.isLinux
, alsaLib , alsaLib
, pulseSupport ? stdenv.hostPlatform.isLinux , pulseSupport ? stdenv.hostPlatform.isLinux
, libpulseaudio , libpulseaudio
, out123Support ? stdenv.hostPlatform.isDarwin
, mpg123
}: }:
assert alsaSupport -> alsaLib != null;
assert pulseSupport -> libpulseaudio != null;
let
inherit (lib) optional;
inherit (lib.versions) majorMinor;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sidplayfp"; pname = "sidplayfp";
version = "2.0.2"; version = "2.1.1";
src = fetchurl { src = fetchFromGitHub {
url = "mirror://sourceforge/sidplay-residfp/sidplayfp/${majorMinor version}/${pname}-${version}.tar.gz"; owner = "libsidplayfp";
sha256 = "1s2dfs9z1hwarpfzawg11wax9nh0zcqx4cafwq7iysckyg4scz4k"; repo = "sidplayfp";
rev = "v${version}";
sha256 = "0s3xmg3yzfqbsnlh2y46w7b5jim5zq7mshs6hx03q8wdr75cvwh4";
}; };
nativeBuildInputs = [ pkg-config ] nativeBuildInputs = [ autoreconfHook perl pkg-config ];
++ optional alsaSupport alsaLib
++ optional pulseSupport libpulseaudio;
buildInputs = [ libsidplayfp ]; buildInputs = [ libsidplayfp ]
++ lib.optional alsaSupport alsaLib
++ lib.optional pulseSupport libpulseaudio
++ lib.optional out123Support mpg123;
configureFlags = lib.optionals out123Support [
"--with-out123"
];
enableParallelBuilding = true;
meta = with lib; { meta = with lib; {
description = "A SID player using libsidplayfp"; description = "A SID player using libsidplayfp";
homepage = "https://sourceforge.net/projects/sidplay-residfp/"; homepage = "https://github.com/libsidplayfp/sidplayfp";
license = with licenses; [ gpl2Plus ]; license = with licenses; [ gpl2Plus ];
maintainers = with maintainers; [ dezgeg ]; maintainers = with maintainers; [ dezgeg OPNA2608 ];
platforms = with platforms; linux; platforms = platforms.all;
}; };
} }

View file

@ -6,20 +6,20 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "electrs"; pname = "electrs";
version = "0.8.7"; version = "0.8.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "romanz"; owner = "romanz";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "101prhxg7dr701gwm4s15maxb7cf65hf85hc7ai53b404v39vm71"; sha256 = "01fli2k5yh4iwlds97p5c36q19s3zxrqhkzp9dsjbgsf7sv35r3y";
}; };
# needed for librocksdb-sys # needed for librocksdb-sys
nativeBuildInputs = [ llvmPackages.clang ]; nativeBuildInputs = [ llvmPackages.clang ];
LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
cargoSha256 = "12ypx0rkpbjl4awzx8ga30qhiqqd56a24q4jwlxxnfpw9ks1z252"; cargoSha256 = "1rqpadlr9r4z2z825li6vi5a21hivc3bsn5ibxshrdrwiycyyxz8";
meta = with lib; { meta = with lib; {
description = "An efficient re-implementation of Electrum Server in Rust"; description = "An efficient re-implementation of Electrum Server in Rust";

View file

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "openethereum"; pname = "openethereum";
version = "3.2.1"; version = "3.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openethereum"; owner = "openethereum";
repo = "openethereum"; repo = "openethereum";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-+bzMo0s+wdp8T/YjPk6mrPSPid1G8WScB8FJhXdL9JQ="; sha256 = "143w0b0ff1s73qzr844l25w90d2y2z0b3w2fr5kkbc1wsnpcq7jp";
}; };
cargoSha256 = "sha256-ibjjJ5zGF6wbO24/RoYKsTYsMNXHb1EdekDwSICPc5g="; cargoSha256 = "1gm02pcfll362add8a0dcb0sk0mag8z0q23b87yb6fs870bqvhib";
LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,25 +1,26 @@
{ rust, rustPlatform, stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper { rust, rustPlatform, stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper
, fetchpatch, cargo, pkg-config, curl, coreutils, boost174, db62, hexdump , cargo, pkg-config, curl, coreutils, boost174, db62, hexdump, libsodium
, libsodium, libevent, utf8cpp, util-linux, withWallet ? true, withDaemon ? true , libevent, utf8cpp, util-linux, withDaemon ? true, withMining ? true
, withUtils ? true , withUtils ? true, withWallet ? true, withZmq ? true, zeromq
}: }:
rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec { rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
pname = "zcash"; pname = "zcash";
version = "4.3.0"; version = "4.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zcash"; owner = "zcash";
repo = "zcash"; repo = "zcash";
rev = "v${version}"; rev = "v${version}";
sha256 = "00pn1jw8j90y7i8nc92b51znz4gczphvdzbkbcjx63cf6vk7v4ks"; sha256 = "19vhblyqkaf1lapx8s4v88xjpslqmrd1jnar46rschzcz0mm9sq4";
}; };
cargoSha256 = "1rl9sjbvpfrv1mlyb04vw1935qx0kz9cs177xl7izdva1ixk9blr"; cargoSha256 = "1yiy1506ijndxb9bx79p7fkfvw1c5zdsljil4m55xz1mv8dzhbgm";
nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ]; nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
buildInputs = [ boost174 libevent libsodium utf8cpp ] buildInputs = [ boost174 libevent libsodium utf8cpp ]
++ lib.optional withWallet db62; ++ lib.optional withWallet db62
++ lib.optional withZmq zeromq;
# Use the stdenv default phases (./configure; make) instead of the # Use the stdenv default phases (./configure; make) instead of the
# ones from buildRustPackage. # ones from buildRustPackage.
@ -28,14 +29,6 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
checkPhase = "checkPhase"; checkPhase = "checkPhase";
installPhase = "installPhase"; installPhase = "installPhase";
patches = [
# See https://github.com/zcash/zcash/pull/5015
(fetchpatch {
url = "https://github.com/zcash/zcash/commit/a0ac27ec6ed434a233c7ad2468258f6e6e7e9688.patch";
sha256 = "0pmx1spql9p8vvpjgw7qf3qy46f4mh9ni16bq4ss1xz1z9zgjc4k";
})
];
postPatch = '' postPatch = ''
# Have to do this here instead of in preConfigure because # Have to do this here instead of in preConfigure because
# cargoDepsCopy gets unset after postPatch. # cargoDepsCopy gets unset after postPatch.
@ -49,7 +42,8 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
"RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}" "RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
] ++ lib.optional (!withWallet) "--disable-wallet" ] ++ lib.optional (!withWallet) "--disable-wallet"
++ lib.optional (!withDaemon) "--without-daemon" ++ lib.optional (!withDaemon) "--without-daemon"
++ lib.optional (!withUtils) "--without-utils"; ++ lib.optional (!withUtils) "--without-utils"
++ lib.optional (!withMining) "--disable-mining";
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -110,6 +110,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
aggressive-completion = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "aggressive-completion";
ename = "aggressive-completion";
version = "1.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/aggressive-completion-1.5.tar";
sha256 = "1gy0q5yc1a0w31qpyb92f672zcfgxbp5s104ycgk11jxk4y17nw9";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/aggressive-completion.html";
license = lib.licenses.free;
};
}) {};
aggressive-indent = callPackage ({ cl-lib ? null aggressive-indent = callPackage ({ cl-lib ? null
, elpaBuild , elpaBuild
, emacs , emacs
@ -219,16 +234,16 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
auctex = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: auctex = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "auctex"; pname = "auctex";
ename = "auctex"; ename = "auctex";
version = "13.0.5"; version = "13.0.6";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.0.5.tar"; url = "https://elpa.gnu.org/packages/auctex-13.0.6.tar";
sha256 = "072wwsqfl8n2gi2inbp0s8k1ydr6fh1zyvc3rgynwzibjjniy319"; sha256 = "00wp388rh2nnk8fam53kilykg90jylps31qxv9ijy1lsp1hqdjys";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ emacs ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/auctex.html"; homepage = "https://elpa.gnu.org/packages/auctex.html";
license = lib.licenses.free; license = lib.licenses.free;
@ -925,10 +940,10 @@
elpaBuild { elpaBuild {
pname = "dts-mode"; pname = "dts-mode";
ename = "dts-mode"; ename = "dts-mode";
version = "0.1.0"; version = "0.1.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/dts-mode-0.1.0.el"; url = "https://elpa.gnu.org/packages/dts-mode-0.1.1.tar";
sha256 = "08xwqbdg0gwipc3gfacs3gpc6zz6lhkw7pyj7n9qhg020c4qv7hq"; sha256 = "1hdbf7snfbg3pfg1vhbak1gq5smaklvaqj1y9mjcnxyipqi47q28";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -1133,10 +1148,10 @@
elpaBuild { elpaBuild {
pname = "emms"; pname = "emms";
ename = "emms"; ename = "emms";
version = "6.3"; version = "7.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/emms-6.3.tar"; url = "https://elpa.gnu.org/packages/emms-7.1.tar";
sha256 = "12cfq503li0gcqmm5bmqz8yjvfdif5xvz0l9vx3g5jl6ljygwgmf"; sha256 = "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52";
}; };
packageRequires = [ cl-lib seq ]; packageRequires = [ cl-lib seq ];
meta = { meta = {
@ -1205,10 +1220,10 @@
elpaBuild { elpaBuild {
pname = "excorporate"; pname = "excorporate";
ename = "excorporate"; ename = "excorporate";
version = "0.9.3"; version = "0.9.5";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/excorporate-0.9.3.tar"; url = "https://elpa.gnu.org/packages/excorporate-0.9.5.tar";
sha256 = "1ybj0ww7x7l7ymykk6hs720whabavmwnrwq7x8dkn41wma181zzy"; sha256 = "0z5x8lqvxh8zra23nmh36cdnr2yk855i4fc3mlbwaj5sdy9sqpf5";
}; };
packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ]; packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ];
meta = { meta = {
@ -1366,16 +1381,16 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ggtags = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: ggtags = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "ggtags"; pname = "ggtags";
ename = "ggtags"; ename = "ggtags";
version = "0.8.13"; version = "0.9.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ggtags-0.8.13.el"; url = "https://elpa.gnu.org/packages/ggtags-0.9.0.tar";
sha256 = "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"; sha256 = "0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ emacs ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/ggtags.html"; homepage = "https://elpa.gnu.org/packages/ggtags.html";
license = lib.licenses.free; license = lib.licenses.free;
@ -1779,10 +1794,10 @@
elpaBuild { elpaBuild {
pname = "ivy-posframe"; pname = "ivy-posframe";
ename = "ivy-posframe"; ename = "ivy-posframe";
version = "0.5.5"; version = "0.6.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ivy-posframe-0.5.5.tar"; url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.0.tar";
sha256 = "184730grclxmlw6nfs41d4g6fvz9c6xnclvwgqx1ii0xm7p9xy95"; sha256 = "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf";
}; };
packageRequires = [ emacs ivy posframe ]; packageRequires = [ emacs ivy posframe ];
meta = { meta = {
@ -2497,16 +2512,16 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
org = callPackage ({ elpaBuild, fetchurl, lib }: org = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "org"; pname = "org";
ename = "org"; ename = "org";
version = "9.4.4"; version = "9.4.5";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.4.4.tar"; url = "https://elpa.gnu.org/packages/org-9.4.5.tar";
sha256 = "05ma8n6hr10323d85ay8ai0xrpc9q2m93n8avqh7j9fmmb3bhr0b"; sha256 = "0h5qhrd984vf17qc227wz68191xfgbpq32dyhw0lcz2d9i0pl3xk";
}; };
packageRequires = []; packageRequires = [ emacs ];
meta = { meta = {
homepage = "https://elpa.gnu.org/packages/org.html"; homepage = "https://elpa.gnu.org/packages/org.html";
license = lib.licenses.free; license = lib.licenses.free;
@ -2561,10 +2576,10 @@
elpaBuild { elpaBuild {
pname = "osc"; pname = "osc";
ename = "osc"; ename = "osc";
version = "0.2"; version = "0.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/osc-0.2.el"; url = "https://elpa.gnu.org/packages/osc-0.4.tar";
sha256 = "1b1ck9kb9mkyd7nlj4cqahsshar6h8mpvqss6n3dp4cl3r6dk1sw"; sha256 = "0zfrzxalvvf9wwwhwsqgl3v2ca6m2rfl5hd7sz662s6gmbwawqqa";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -2726,10 +2741,10 @@
elpaBuild { elpaBuild {
pname = "posframe"; pname = "posframe";
ename = "posframe"; ename = "posframe";
version = "0.8.8"; version = "1.0.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/posframe-0.8.8.tar"; url = "https://elpa.gnu.org/packages/posframe-1.0.0.tar";
sha256 = "1ij6brzcxv9viz37qafcinlfx5l20w8x8s6786r1rsda5n1xsmvd"; sha256 = "1k06dbh9xqn2vix5qkcapl57v0c21b344r8dx6j5qr4jxirsn2x5";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3676,10 +3691,10 @@
elpaBuild { elpaBuild {
pname = "tramp"; pname = "tramp";
ename = "tramp"; ename = "tramp";
version = "2.5.0.2"; version = "2.5.0.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.5.0.2.tar"; url = "https://elpa.gnu.org/packages/tramp-2.5.0.3.tar";
sha256 = "16f782rjkmxxs5sz3wv4d46i7hbl483ashmrkvljf7lpnrl91s93"; sha256 = "0c77d1ihn17lzk9jb7ss346ryprnbii1zmijl6zj0kk4lm8fpfl3";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3897,10 +3912,10 @@
elpaBuild { elpaBuild {
pname = "verilog-mode"; pname = "verilog-mode";
ename = "verilog-mode"; ename = "verilog-mode";
version = "2021.2.2.263931197"; version = "2021.4.12.188864585";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/verilog-mode-2021.2.2.263931197.tar"; url = "https://elpa.gnu.org/packages/verilog-mode-2021.4.12.188864585.tar";
sha256 = "0rizadyzrsprc3mw3h2ag4760wapx5gxzsr11rgrllwzzqwin1ks"; sha256 = "0np2q0jhf1fbb1nl5nx1q9hw40yg62bhlddp2raqryxbkvsh0nbv";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -3908,6 +3923,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
vertico = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "vertico";
ename = "vertico";
version = "0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-0.4.tar";
sha256 = "1af9ri51i7pn1pcsmbavnwqafrn46vbxrbqjzfi6a7q6n5yv77im";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/vertico.html";
license = lib.licenses.free;
};
}) {};
vigenere = callPackage ({ elpaBuild, emacs, fetchurl, lib }: vigenere = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "vigenere"; pname = "vigenere";
@ -3930,10 +3960,10 @@
elpaBuild { elpaBuild {
pname = "visual-filename-abbrev"; pname = "visual-filename-abbrev";
ename = "visual-filename-abbrev"; ename = "visual-filename-abbrev";
version = "1.0"; version = "1.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/visual-filename-abbrev-1.0.el"; url = "https://elpa.gnu.org/packages/visual-filename-abbrev-1.1.tar";
sha256 = "086cmyv08jd3qadjrd14b7c932i8msxjdvxxa36pyac18d3i50kj"; sha256 = "1l2wq7q28lcl78flxqvsxc9h96whpynqq8kpmbiy3nzlw2mrgr8g";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -4268,10 +4298,10 @@
elpaBuild { elpaBuild {
pname = "ztree"; pname = "ztree";
ename = "ztree"; ename = "ztree";
version = "1.0.5"; version = "1.0.6";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ztree-1.0.5.tar"; url = "https://elpa.gnu.org/packages/ztree-1.0.6.tar";
sha256 = "14pbbsyav1dzz8m8waqdcmcx9bhw5g8m2kh1ahpxc3i2lfhdan1x"; sha256 = "1cyd31az566dmh3lyp7czw7kkkih7drr4c88b7da1xzbfkvibm2j";
}; };
packageRequires = [ cl-lib ]; packageRequires = [ cl-lib ];
meta = { meta = {

View file

@ -4,10 +4,10 @@
elpaBuild { elpaBuild {
pname = "org"; pname = "org";
ename = "org"; ename = "org";
version = "20210322"; version = "20210412";
src = fetchurl { src = fetchurl {
url = "https://orgmode.org/elpa/org-20210322.tar"; url = "https://orgmode.org/elpa/org-20210412.tar";
sha256 = "0iv54rhwa0972yr1wqzmlkggs5vc6qajz8mmyfhynp65ap088g6v"; sha256 = "17hj4y0c9hjqqa7inzjadz9z64vh621lm4cb0asm13r7d1v186yf";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -19,10 +19,10 @@
elpaBuild { elpaBuild {
pname = "org-plus-contrib"; pname = "org-plus-contrib";
ename = "org-plus-contrib"; ename = "org-plus-contrib";
version = "20210322"; version = "20210412";
src = fetchurl { src = fetchurl {
url = "https://orgmode.org/elpa/org-plus-contrib-20210322.tar"; url = "https://orgmode.org/elpa/org-plus-contrib-20210412.tar";
sha256 = "0riswc3ira8hsawm37yypji55z47bw2477kaw3qx7ghz3n62r9nf"; sha256 = "162nl1a62l9d4nazply93sx4lih11845z87hxmpfd0n7i7s290mh";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View file

@ -17,12 +17,12 @@ let
auto-pairs-kak = buildKakounePluginFrom2Nix { auto-pairs-kak = buildKakounePluginFrom2Nix {
pname = "auto-pairs-kak"; pname = "auto-pairs-kak";
version = "2020-10-04"; version = "2021-03-28";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alexherbo2"; owner = "alexherbo2";
repo = "auto-pairs.kak"; repo = "auto-pairs.kak";
rev = "fd735ec149ef0d9ca5f628a95b1e52858b5afbdc"; rev = "526779a26a5cf5f48e7c4f5c5fecca274968a737";
sha256 = "07795kv9njlnp6mckwv141ny2ns6wyf5r0dfjaxh9ngd105zgif1"; sha256 = "0gkhvwxyh8pdfydrj7zkfidk0drrbhvdi1fq3pkzllna3vz8q181";
}; };
meta.homepage = "https://github.com/alexherbo2/auto-pairs.kak/"; meta.homepage = "https://github.com/alexherbo2/auto-pairs.kak/";
}; };
@ -41,12 +41,12 @@ let
fzf-kak = buildKakounePluginFrom2Nix { fzf-kak = buildKakounePluginFrom2Nix {
pname = "fzf-kak"; pname = "fzf-kak";
version = "2021-03-15"; version = "2021-04-03";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andreyorst"; owner = "andreyorst";
repo = "fzf.kak"; repo = "fzf.kak";
rev = "4e6c9a857511fccdbbc835a1c9acb205b6486a4c"; rev = "1b3a3beebbe7134e671fde2ef2f4242b34ae2c60";
sha256 = "0syhhdlsm7vg6hcd2n2acag9g562z49rbb5smh5p2gnplhmp93i0"; sha256 = "0rsd65zcizbq3isy8576gqw7mcml5ixw84padaz6ndwfif5fv701";
}; };
meta.homepage = "https://github.com/andreyorst/fzf.kak/"; meta.homepage = "https://github.com/andreyorst/fzf.kak/";
}; };
@ -65,12 +65,12 @@ let
kakoune-buffers = buildKakounePluginFrom2Nix { kakoune-buffers = buildKakounePluginFrom2Nix {
pname = "kakoune-buffers"; pname = "kakoune-buffers";
version = "2020-06-11"; version = "2021-04-02";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Delapouite"; owner = "Delapouite";
repo = "kakoune-buffers"; repo = "kakoune-buffers";
rev = "67959fbad727ba8470fe8cd6361169560f4fb532"; rev = "7832ea7a4528363482f5684f16cbcebcbec0adfd";
sha256 = "09prhzz4yzf6ryw0npd1gpcfp77681vgawpp1ilfvbf25xgbbz33"; sha256 = "196d36jww6asf5zr03l1rwg49kkv16s2d4zyryb2m3zvy7prf2bb";
}; };
meta.homepage = "https://github.com/Delapouite/kakoune-buffers/"; meta.homepage = "https://github.com/Delapouite/kakoune-buffers/";
}; };
@ -147,14 +147,26 @@ let
meta.homepage = "https://github.com/mayjs/openscad.kak/"; meta.homepage = "https://github.com/mayjs/openscad.kak/";
}; };
pandoc-kak = buildKakounePluginFrom2Nix {
pname = "pandoc-kak";
version = "2020-11-30";
src = fetchFromGitHub {
owner = "basbebe";
repo = "pandoc.kak";
rev = "63979f7e08b86d80436bbe2d9dba173a56057b97";
sha256 = "16pmmnpyxf8r7gpj8g1lwa960nscjmcl52n1a7s6xcqkp9856wxs";
};
meta.homepage = "https://github.com/basbebe/pandoc.kak/";
};
powerline-kak = buildKakounePluginFrom2Nix { powerline-kak = buildKakounePluginFrom2Nix {
pname = "powerline-kak"; pname = "powerline-kak";
version = "2021-02-25"; version = "2021-04-06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andreyorst"; owner = "andreyorst";
repo = "powerline.kak"; repo = "powerline.kak";
rev = "64ad98b6c85e63345563671b043960464d51c4b0"; rev = "6fa5ad383f2884f201d6e3ef07a4687c606df525";
sha256 = "09w2sk19qi64hgsyg4gb407vyppnlgk272mqbinz2r3apy6szkl3"; sha256 = "1s7ggjby0bymq48njzhdvkkarmzl44803xv0dlnzrj7q9c3xv27a";
}; };
meta.homepage = "https://github.com/andreyorst/powerline.kak/"; meta.homepage = "https://github.com/andreyorst/powerline.kak/";
}; };
@ -197,12 +209,12 @@ let
tabs-kak = buildKakounePluginFrom2Nix { tabs-kak = buildKakounePluginFrom2Nix {
pname = "tabs-kak"; pname = "tabs-kak";
version = "2021-02-16"; version = "2021-04-14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "enricozb"; owner = "enricozb";
repo = "tabs.kak"; repo = "tabs.kak";
rev = "1aaa8cd89e404cbbd76d44ff8089de0951612fbf"; rev = "048f83455ea7c671ab06e9b9578ac25e5de1d6fb";
sha256 = "0dfz6j6yxl65jbh4xvpiy2abr2sdjyalynzhl28y7l1gzqv4ni3j"; sha256 = "0xswpsdf1bj54inl6vf2lzbjkxfc6g0fyv5kd6y9ahlh5irij8z0";
}; };
meta.homepage = "https://github.com/enricozb/tabs.kak/"; meta.homepage = "https://github.com/enricozb/tabs.kak/";
}; };

View file

@ -3,6 +3,7 @@ alexherbo2/replace-mode.kak
alexherbo2/sleuth.kak alexherbo2/sleuth.kak
andreyorst/fzf.kak andreyorst/fzf.kak
andreyorst/powerline.kak andreyorst/powerline.kak
basbebe/pandoc.kak
danr/kakoune-easymotion danr/kakoune-easymotion
Delapouite/kakoune-buffers Delapouite/kakoune-buffers
Delapouite/kakoune-registers Delapouite/kakoune-registers

View file

@ -1,25 +1,38 @@
{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl { mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos
, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql , xlibsWrapper, sqlite, gsl, qwt, fcgi, python3Packages, libspatialindex
, txt2tags, openssl, libzip, hdf5, netcdf, exiv2 , libspatialite, postgresql, txt2tags, openssl, libzip, hdf5, netcdf, exiv2
, qtbase, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns , protobuf, qtbase, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport
, withGrass ? true, grass , qtxmlpatterns, withGrass ? true, grass, withWebKit ? true, qtwebkit }:
, withWebKit ? true, qtwebkit
}:
with lib; with lib;
let let
pythonBuildInputs = with python3Packages; pythonBuildInputs = with python3Packages; [
[ qscintilla-qt5 gdal jinja2 numpy psycopg2 qscintilla-qt5
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ]; gdal
jinja2
numpy
psycopg2
chardet
dateutil
pyyaml
pytz
requests
urllib3
pygments
pyqt5
sip
owslib
six
];
in mkDerivation rec { in mkDerivation rec {
version = "3.10.13"; version = "3.16.5";
pname = "qgis"; pname = "qgis";
name = "${pname}-unwrapped-${version}"; name = "${pname}-unwrapped-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qgis"; owner = "qgis";
repo = "QGIS"; repo = "QGIS";
rev = "final-${lib.replaceStrings ["."] ["_"] version}"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "0za77znk1phrxzy2cgxpwrld3d0pi0xvhsg78rg4wkb23vaqv6zb"; sha256 = "1xkvgj1v2jgp107jyh9xmk1dzbbqxwkqy69z56vsaa8lf9gwgn5h";
}; };
passthru = { passthru = {
@ -27,10 +40,32 @@ in mkDerivation rec {
inherit python3Packages; inherit python3Packages;
}; };
buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2 buildInputs = [
fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf openssl
qtbase qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns ] proj
++ lib.optional withGrass grass geos
xlibsWrapper
sqlite
gsl
qwt
exiv2
protobuf
fcgi
libspatialindex
libspatialite
postgresql
txt2tags
libzip
hdf5
netcdf
qtbase
qtsensors
qca-qt5
qtkeychain
qscintilla
qtserialport
qtxmlpatterns
] ++ lib.optional withGrass grass
++ lib.optional withWebKit qtwebkit ++ lib.optional withWebKit qtwebkit
++ pythonBuildInputs; ++ pythonBuildInputs;
@ -45,10 +80,11 @@ in mkDerivation rec {
--replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"' --replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"'
''; '';
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=OFF"
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
"-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5"
++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
meta = { meta = {

View file

@ -55,11 +55,11 @@
mkDerivation rec { mkDerivation rec {
pname = "digikam"; pname = "digikam";
version = "7.1.0"; version = "7.2.0";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "1gmblnsm0aida3yynyddm6jdh59hx3w177hrhfar616z793ch0xi"; sha256 = "sha256-zYfs4UOu+gLmkqSvXDw8wQe5pNYYBNefp33S40R5ihc=";
}; };
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ]; nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];

View file

@ -1,15 +1,31 @@
{ lib, buildPythonApplication, fetchPypi, appdirs, attrs { lib
, beautifulsoup4, click-plugins, elasticsearch, flask-compress , buildPythonApplication
, flask_login, flask_wtf, html2text, python-dotenv, python-frontmatter , fetchPypi
, requests, tinydb, validators, werkzeug, wtforms }: , appdirs
, attrs
, beautifulsoup4
, click-plugins
, elasticsearch
, flask-compress
, flask_login
, flask_wtf
, html2text
, python-dotenv
, python-frontmatter
, requests
, tinydb
, validators
, werkzeug
, wtforms
}:
buildPythonApplication rec { buildPythonApplication rec {
pname = "archivy"; pname = "archivy";
version = "1.1.1"; version = "1.1.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-yUXsTPb5oJYZA9MlHz7eLowRjD/ltq5VLTHeOMqcL/M="; sha256 = "sha256-oSmwQcKvp9RABmc7aq6fdLOZapMauIi6+7azVTXVb30=";
}; };
# Relax some dependencies # Relax some dependencies
@ -22,6 +38,7 @@ buildPythonApplication rec {
--replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \ --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
--replace 'requests ==' 'requests >=' \ --replace 'requests ==' 'requests >=' \
--replace 'validators ==' 'validators >=' \ --replace 'validators ==' 'validators >=' \
--replace 'tinydb ==' 'tinydb >='
''; '';
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "dasel"; pname = "dasel";
version = "1.14.0"; version = "1.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TomWright"; owner = "TomWright";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1g4a001k86myfln0xlzy8w9krwamvfchnvywpr1p3x6iw95z46w8"; sha256 = "0nxdyd0zg4w1zr8p9z2x88h36vbn7ryk7160zszdiwh5qmdlv47v";
}; };
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY="; vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "go-org"; pname = "go-org";
version = "1.4.0"; version = "1.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "niklasfasching"; owner = "niklasfasching";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-nMZzRbu3lxunIlnnmb49Ljt8oSiYpj+8gZ0u/OFRRDM="; sha256 = "sha256-Wp8WEfRcrtn+VdcbehYcOJI5FkPQiyo6nLsTDvR7riE=";
}; };
vendorSha256 = "sha256-njx89Ims7GZql8sbVmH/E9gM/ONRWiPRLVs+FzsCSzI="; vendorSha256 = "sha256-njx89Ims7GZql8sbVmH/E9gM/ONRWiPRLVs+FzsCSzI=";

View file

@ -0,0 +1,59 @@
{ lib
, stdenv
, fetchurl
, guile
, guile-commonmark
, guile-reader
, makeWrapper
, pkg-config
}:
stdenv.mkDerivation rec {
pname = "haunt";
version = "0.2.4";
src = fetchurl {
url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-zOkICg7KmJJhPWPtJRT3C9sYB1Oig1xLtgPNGe0n3xQ=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
];
buildInputs = [
guile
guile-commonmark
guile-reader
];
postInstall = ''
wrapProgram $out/bin/haunt \
--prefix GUILE_LOAD_PATH : "$out/share/guile/site:${guile-commonmark}/share/guile/site:${guile-reader}/share/guile/site" \
--prefix GUILE_LOAD_COMPILED_PATH : "$out/share/guile/site:${guile-commonmark}/share/guile/site:${guile-reader}/share/guile/site"
'';
meta = with lib; {
homepage = "https://dthompson.us/projects/haunt.html";
description = "Guile-based static site generator";
longDescription = ''
Haunt is a simple, functional, hackable static site generator that gives
authors the ability to treat websites as Scheme programs.
By giving authors the full expressive power of Scheme, they are able to
control every aspect of the site generation process. Haunt provides a
simple, functional build system that can be easily extended for this
purpose.
Haunt has no opinion about what markup language authors should use to
write posts, though it comes with support for the popular Markdown
format. Likewise, Haunt has no opinion about how authors structure their
sites. Though it comes with support for building simple blogs or Atom
feeds, authors should feel empowered to tweak, replace, or create builders
to do things that aren't provided out-of-the-box.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = guile.meta.platforms;
};
}

View file

@ -4,8 +4,11 @@
, python3Packages , python3Packages
, gobject-introspection , gobject-introspection
, gtk3 , gtk3
, itstool
, libwnck3 , libwnck3
, keybinder3 , keybinder3
, desktop-file-utils
, shared-mime-info
, wrapGAppsHook , wrapGAppsHook
, wafHook , wafHook
}: }:
@ -14,19 +17,22 @@ with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
pname = "kupfer"; pname = "kupfer";
version = "319"; version = "321";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "https://github.com/kupferlauncher/kupfer/releases/download/v${version}/kupfer-v${version}.tar.xz"; url = "https://github.com/kupferlauncher/kupfer/releases/download/v${version}/kupfer-v${version}.tar.bz2";
sha256 = "0c9xjx13r8ckfr4az116bhxsd3pk78v04c3lz6lqhraak0rp4d92"; sha256 = "0nagjp63gxkvsgzrpjk78cbqx9a7rbnjivj1avzb2fkhrlxa90c7";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
wrapGAppsHook intltool wrapGAppsHook intltool
# For setup hook # For setup hook
gobject-introspection wafHook gobject-introspection wafHook
itstool # for help pages
desktop-file-utils # for update-desktop-database
shared-mime-info # for update-mime-info
]; ];
buildInputs = [ docutils libwnck3 keybinder3 ]; buildInputs = [ docutils libwnck3 keybinder3 ];
propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ]; propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];

View file

@ -1,4 +1,5 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, ncurses, readline { lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper, ncurses, readline
, archivemount, atool, fzf, libarchive, rclone, sshfs, unzip, vlock
, conf ? null, withIcons ? false, withNerdIcons ? false }: , conf ? null, withIcons ? false, withNerdIcons ? false }:
# Mutually exclusive options # Mutually exclusive options
@ -7,19 +8,19 @@ assert withNerdIcons -> withIcons == false;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nnn"; pname = "nnn";
version = "3.6"; version = "4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1hwv7ncp8pmzdir30877ni4qlmczmb3yjdkbfd1pssr08y1srsc7"; sha256 = "0cbxgss9j0bvsp3czjx1kpm9id7c5xxmjfnvjyk3pfd69ygif2kl";
}; };
configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf); configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
preBuild = lib.optionalString (conf != null) "cp ${configFile} src/nnn.h"; preBuild = lib.optionalString (conf != null) "cp ${configFile} src/nnn.h";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ readline ncurses ]; buildInputs = [ readline ncurses ];
makeFlags = [ "PREFIX=$(out)" ] makeFlags = [ "PREFIX=$(out)" ]
@ -31,6 +32,9 @@ stdenv.mkDerivation rec {
install -Dm555 misc/auto-completion/bash/nnn-completion.bash $out/share/bash-completion/completions/nnn.bash install -Dm555 misc/auto-completion/bash/nnn-completion.bash $out/share/bash-completion/completions/nnn.bash
install -Dm555 misc/auto-completion/zsh/_nnn -t $out/share/zsh/site-functions install -Dm555 misc/auto-completion/zsh/_nnn -t $out/share/zsh/site-functions
install -Dm555 misc/auto-completion/fish/nnn.fish -t $out/share/fish/vendor_completions.d install -Dm555 misc/auto-completion/fish/nnn.fish -t $out/share/fish/vendor_completions.d
wrapProgram $out/bin/nnn \
--prefix PATH : ${lib.makeBinPath [ archivemount atool fzf libarchive rclone sshfs unzip vlock ]}
''; '';
meta = with lib; { meta = with lib; {

View file

@ -5,18 +5,17 @@
, electron , electron
, common-updater-scripts , common-updater-scripts
, writeShellScript , writeShellScript
, jq
, makeDesktopItem , makeDesktopItem
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "stretchly"; pname = "stretchly";
version = "1.5.0"; version = "1.6.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
sha256 = "19czwmwqsn82zdzln9zqqyl9sb3dm95gp58dqn1459gyinkzpvda"; sha256 = "1q0ihp6cd65lnscbr7xj3yyb06qds77r4s6m1xbk5l9vs2rw923d";
}; };
icon = fetchurl { icon = fetchurl {

View file

@ -1,7 +1,6 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, meson , meson
, pkg-config , pkg-config
, ninja , ninja
@ -28,26 +27,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "waybar"; pname = "waybar";
version = "0.9.5"; version = "0.9.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Alexays"; owner = "Alexays";
repo = "Waybar"; repo = "Waybar";
rev = version; rev = version;
sha256 = "1kzrgqaclfk6gcwhknxn28xl74gm5swipgn8kk8avacb4nsw1l9q"; sha256 = "17cn4d3dx92v40jd9vl41smp8hh3gf5chd1j2f7l1lrpfpnllg5x";
}; };
patches = [
# XXX: REMOVE ON NEXT VERSION BUMP
# Fixes compatibility of the bluetooth and network modules with linux kernel
# >=5.11
# c.f. https://github.com/Alexays/Waybar/issues/994
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/Alexays/Waybar/pull/1015.patch";
sha256 = "sha256-jQZEM3Yru2yxcXAzapU47DoAv4ZoabrV80dH42I2OFk=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkg-config scdoc wrapGAppsHook cmake meson ninja pkg-config scdoc wrapGAppsHook cmake
] ++ lib.optional withMediaPlayer gobject-introspection; ] ++ lib.optional withMediaPlayer gobject-introspection;

View file

@ -1,24 +0,0 @@
From 5eb4d6a384753896d495b09d8651c48672ef234d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Wed, 25 Nov 2020 11:26:49 +0100
Subject: [PATCH] replace git with normal python package
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index ef25aad..b4246a4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,2 @@
-git+https://github.com/Yubico/yubikey-manager.git
+yubikey-manager
./py/qr
--
2.29.2

View file

@ -6,11 +6,11 @@
mkDerivation rec { mkDerivation rec {
pname = "yubioath-desktop"; pname = "yubioath-desktop";
version = "5.0.4"; version = "5.0.5";
src = fetchurl { src = fetchurl {
url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz"; url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz";
sha256 = "1aw88xvg6gjsfwmmlcrdcgyycn2cp7b8vxjzj14h7igcj02xh84h"; sha256 = "05xs6xh9pi50h0668arirj0gnz11adpixgsdkds072077gasdm0g";
}; };
doCheck = false; doCheck = false;
@ -19,10 +19,6 @@ mkDerivation rec {
nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ]; nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ];
patches = [
./0001-replace-git-with-normal-python-package.patch
];
postPatch = '' postPatch = ''
substituteInPlace deployment.pri \ substituteInPlace deployment.pri \
--replace '/usr/bin' "$out/bin" --replace '/usr/bin' "$out/bin"
@ -48,7 +44,7 @@ mkDerivation rec {
cp resources/icons/*.{icns,ico,png,svg} $out/share/yubioath/icons cp resources/icons/*.{icns,ico,png,svg} $out/share/yubioath/icons
substituteInPlace $out/share/applications/com.yubico.yubioath.desktop \ substituteInPlace $out/share/applications/com.yubico.yubioath.desktop \
--replace 'Exec=yubioath-desktop' "Exec=$out/bin/yubioath-desktop" \ --replace 'Exec=yubioath-desktop' "Exec=$out/bin/yubioath-desktop" \
--replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons/com.yubico.yubioath.png" --replace 'Icon=com.yubico.yubioath' "Icon=$out/share/yubioath/icons/com.yubico.yubioath.png"
''; '';
meta = with lib; { meta = with lib; {

View file

@ -1,20 +1,20 @@
{ {
"stable": { "stable": {
"version": "89.0.4389.128", "version": "90.0.4430.72",
"sha256": "0nysvsck91yxcb3wf6v3nzar77k7j9bby7xfzsvd7wlqxdmflx8s", "sha256": "0hw916j55lm3qnidfp92i8w6zywdd47rhihn9pn23b7ziz58ik55",
"sha256bin64": "07m43yqq6j7mfhdnm127p29b2611l8lmbq87iszlgg6dgkqxa0qr", "sha256bin64": "0k1m786b94kh7r2c58qj8b9a39yr4m30kkrxk5d9q7dn1abl3wa3",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-01-07", "version": "2021-02-09",
"url": "https://gn.googlesource.com/gn", "url": "https://gn.googlesource.com/gn",
"rev": "595e3be7c8381d4eeefce62a63ec12bae9ce5140", "rev": "dfcbc6fed0a8352696f92d67ccad54048ad182b3",
"sha256": "08y7cjlgjdbzja5ij31wxc9i191845m01v1hc7y176svk9y0hj1d" "sha256": "1941bzg37c4dpsk3sh6ga3696gpq6vjzpcw9rsnf6kdr9mcgdxvn"
} }
}, },
"chromedriver": { "chromedriver": {
"version": "89.0.4389.23", "version": "90.0.4430.24",
"sha256_linux": "169inx1xl7750mdd1g7yji72m33kvpk7h1dy4hyj0qignrifdm0r", "sha256_linux": "0byibxrs4ggid8qn5h72mmnw8l4y8xya2q1jbc6z74pmw8r9hkj7",
"sha256_darwin": "1a84nn4rnd215h4sjghmw03mdr49wyab8j4vlnv3xp516yn07gr3" "sha256_darwin": "0psll7vahj43jkj1wqq7mygf18l7ivp56ckc8wv4w5bnfmqv660k"
} }
}, },
"beta": { "beta": {
@ -31,9 +31,9 @@
} }
}, },
"dev": { "dev": {
"version": "91.0.4469.4", "version": "91.0.4472.10",
"sha256": "08lffqjfcszniwwshililab553a0dvycaa72h1dklxvxf360nz5f", "sha256": "168121aznynks5waj3mm2m036mbrlmqmp2kmnn9r4ibq2x01dpxm",
"sha256bin64": "14xyzjwzcyp6idscq6i87yh2fibjamkz5xfsb2y0hrf2diaqijw1", "sha256bin64": "05bk6gmmfsh50jjlb6lmwqhhbs0v0hlijsmxpk9crdx2gw071rlr",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-04-06", "version": "2021-04-06",

View file

@ -1,5 +1,5 @@
{ lib, fetchpatch, fetchurl, fetchzip, python3 { lib, fetchurl, fetchzip, fetchpatch, python3
, mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking , mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, qtwebengine, glib-networking
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2 , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
, libxslt, gst_all_1 ? null , libxslt, gst_all_1 ? null
, withPdfReader ? true , withPdfReader ? true
@ -12,12 +12,12 @@ assert withMediaPlayback -> gst_all_1 != null;
let let
python3Packages = python3.pkgs; python3Packages = python3.pkgs;
pdfjs = let pdfjs = let
version = "2.6.347"; version = "2.8.335";
in in
fetchzip rec { fetchzip rec {
name = "pdfjs-${version}"; name = "pdfjs-${version}";
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
sha256 = "0d016fyg81cq464li01xlkf9rxrb3rpsvmk5gh9m4d5yzmcakkfm"; sha256 = "1zschfpxnhdinn9nasl5in4s62ad0h1g369cglamjgxx36x27zly";
stripRoot = false; stripRoot = false;
}; };
@ -31,12 +31,12 @@ let
in mkDerivationWith python3Packages.buildPythonApplication rec { in mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "qutebrowser"; pname = "qutebrowser";
version = "2.1.1"; version = "2.2.0";
# the release tarballs are different from the git checkout! # the release tarballs are different from the git checkout!
src = fetchurl { src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "sha256-txsArX1JiRGXjlu9FTpt0EUKxq3j5b85j8luFTKDQs4="; sha256 = "sha256:0anxhrkxqb35mxr7jr820xcfw0v514s92wffsiqap2a2sqaj0pgs";
}; };
# Needs tox # Needs tox
@ -70,10 +70,9 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
patches = [ patches = [
./fix-restart.patch ./fix-restart.patch
(fetchpatch { (fetchpatch {
name = "fix-version-parsing.patch"; name = "add-qtwebengine-version-override.patch";
url = "https://github.com/qutebrowser/qutebrowser/commit/c3d1b71c6f08607f47353f406aca0168bb3062a1.patch"; url = "https://github.com/qutebrowser/qutebrowser/commit/febb921040b6670d9b1694a6ce55ae39384d1306.patch";
excludes = [ "doc/changelog.asciidoc" ]; sha256 = "15p11kk8via7c7m14jiqgzc63qwxxzayr2bkl93jd10l2gx7pk9v";
sha256 = "1vm2yjvmrw4cyn8mpwfwvvcihn74f60ql3qh1rjj8n0wak8z1ir6";
}) })
]; ];
@ -123,6 +122,7 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
"''${gappsWrapperArgs[@]}" "''${gappsWrapperArgs[@]}"
"''${qtWrapperArgs[@]}" "''${qtWrapperArgs[@]}"
--add-flags '--backend ${backend}' --add-flags '--backend ${backend}'
--set QUTE_QTWEBENGINE_VERSION_OVERRIDE "${lib.getVersion qtwebengine}"
) )
''; '';

View file

@ -10,16 +10,16 @@
buildGoModule rec { buildGoModule rec {
pname = "nerdctl"; pname = "nerdctl";
version = "0.7.3"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containerd"; owner = "containerd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-4NIyit2HnDXWnHALGzz5KWxe4PU8CwMRwCoIlN/WX78="; sha256 = "sha256-It/p2Hk4/fkYgHTPynf7p7zs4ajjo0Fv3yTzhrWUusE=";
}; };
vendorSha256 = "sha256-qwUAC8LURsn6C3zKzcsuFsOTurjPV9V8Z/1Y9G0eohk="; vendorSha256 = "sha256-Vg6SHyQkeUvd2hT0JV32y+F0t/qb81MrgOFcr785a8M=";
nativeBuildInputs = [ makeWrapper installShellFiles ]; nativeBuildInputs = [ makeWrapper installShellFiles ];

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "starboard-octant-plugin"; pname = "starboard-octant-plugin";
version = "0.9.2"; version = "0.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquasecurity"; owner = "aquasecurity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-wis2ECCVXQeD7GiCMJQai+wDM8QJ1j5dPnE5O/I3wpM="; sha256 = "sha256-3BifigdAFuOCrhJRv/w4k7pT4BTHfINuEkeG6zaI0v8=";
}; };
vendorSha256 = "sha256-T0wDbAl5GXphZIBrM36OwRCojnJ/cbXNqsjtCzUDZ6s="; vendorSha256 = "sha256-1NTneOGU4R1xzR9hAI9MJWYuYTPgYtLa5vH1H5wyHcM=";
buildFlagsArray = [ "-ldflags=" "-s" "-w" ]; buildFlagsArray = [ "-ldflags=" "-s" "-w" ];

View file

@ -164,6 +164,14 @@ in rec {
passthru = { inherit plugins; }; passthru = { inherit plugins; };
}); });
terraform_0_15 = pluggable (generic {
version = "0.15.0";
sha256 = "0d7hai57x6qczacdnzzvs3766180n6grmq0a7rlw5jp3zgzp8bmr";
vendorSha256 = "1l67kkrk8jw7v1rqpwj6n0l7lvmfgf1ir430j1n96459s1dzf0cn";
patches = [ ./provider-path-0_15.patch ];
passthru = { inherit plugins; };
});
# Tests that the plugins are being used. Terraform looks at the specific # Tests that the plugins are being used. Terraform looks at the specific
# file pattern and if the plugin is not found it will try to download it # file pattern and if the plugin is not found it will try to download it
# from the Internet. With sandboxing enable this test will fail if that is # from the Internet. With sandboxing enable this test will fail if that is

View file

@ -0,0 +1,23 @@
diff -Naur terraform.old/command/init.go terraform.new/command/init.go
--- terraform.old/command/init.go
+++ terraform.new/command/init.go
@@ -3,6 +3,7 @@
import (
"context"
"fmt"
+ "os"
"log"
"strings"
@@ -55,6 +56,11 @@
var diags tfdiags.Diagnostics
+ val, ok := os.LookupEnv("NIX_TERRAFORM_PLUGIN_DIR")
+ if ok {
+ flagPluginPath = append(flagPluginPath, val)
+ }
+
if len(flagPluginPath) > 0 {
c.pluginPath = flagPluginPath
}

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "terragrunt"; pname = "terragrunt";
version = "0.28.20"; version = "0.28.24";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gruntwork-io"; owner = "gruntwork-io";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Hg4eeLFNm2cXUjp3T2VK6q+mgawqkHju9P3Vq9wnB9c="; sha256 = "sha256-7wfBKXO4uUrFjEklmgfgzIECARsOolwXjNFOFqfn1ds=";
}; };
vendorSha256 = "sha256-kcRM76xfajtQist1aJTmaRludxRlfvHQ9ucB3LOgnBk="; vendorSha256 = "sha256-qlSCQtiGHmlk3DyETMoQbbSYhuUSZTsvAnBKuDJI8x8=";
doCheck = false; doCheck = false;

View file

@ -2,24 +2,27 @@
buildGoModule rec { buildGoModule rec {
pname = "velero"; pname = "velero";
version = "1.5.4"; # When updating, change the commit underneath
version = "1.6.0";
commit = "5bd70fd8eef316d220317245e46dc6016c348dce";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "vmware-tanzu"; owner = "vmware-tanzu";
repo = "velero"; repo = "velero";
sha256 = "sha256-YHBqIM3NV2L13w9WCzldUWmdBMec7ZndzYgGHblS8Dg="; sha256 = "sha256-2d4xsffh5DpxGahmzXpgUBRFAt5CsDnHCm8xU1ksqyQ=";
}; };
buildFlagsArray = '' buildFlagsArray = ''
-ldflags= -ldflags=
-s -w -s -w
-X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version} -X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=${version}
-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=456eb19668f8da603756353d9179b59b5a7bfa04 -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=${commit}
-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean
''; '';
vendorSha256 = "sha256-m/zShJeclZ1k8Fr9faK2x1Mpwbwun674iMPJhMw/9Mc="; vendorSha256 = "sha256-aQjtebIyV69nRwc/zvK/9v0mX3pAPKfOunSL/FpFZJU=";
excludedPackages = [ "issue-template-gen" ]; excludedPackages = [ "issue-template-gen" ];

View file

@ -35,16 +35,17 @@
, alsaLib , alsaLib
, pulseaudio , pulseaudio
, makeWrapper , makeWrapper
, xdg-utils
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bluejeans"; pname = "bluejeans";
version = "2.19.0"; version = "2.21.3";
buildNumber = "61"; buildNumber = "2";
src = fetchurl { src = fetchurl {
url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm"; url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm";
sha256 = "163p67dqry256d454qzk4k4b692kz8s9fcvaxd6gi7zvnsd48ikr"; sha256 = "sha256-a/REuxkqZmLLa7N3CUgUAdq74VMD9D10a/Sx2jOj1QA=";
}; };
nativeBuildInputs = [ rpmextract makeWrapper ]; nativeBuildInputs = [ rpmextract makeWrapper ];
@ -100,6 +101,7 @@ stdenv.mkDerivation rec {
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--replace-needed libudev.so.0 libudev.so.1 \ --replace-needed libudev.so.0 libudev.so.1 \
opt/BlueJeans/bluejeans-v2 opt/BlueJeans/bluejeans-v2
patchelf \ patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
opt/BlueJeans/resources/BluejeansHelper opt/BlueJeans/resources/BluejeansHelper
@ -108,7 +110,8 @@ stdenv.mkDerivation rec {
makeWrapper $out/opt/BlueJeans/bluejeans-v2 $out/bin/bluejeans \ makeWrapper $out/opt/BlueJeans/bluejeans-v2 $out/bin/bluejeans \
--set LD_LIBRARY_PATH "${libPath}":"${placeholder "out"}"/opt/BlueJeans \ --set LD_LIBRARY_PATH "${libPath}":"${placeholder "out"}"/opt/BlueJeans \
--set LD_PRELOAD "$out"/opt/BlueJeans/liblocaltime64_stub.so --set LD_PRELOAD "$out"/opt/BlueJeans/liblocaltime64_stub.so \
--prefix PATH : ${lib.makeBinPath [ xdg-utils ]}
substituteInPlace "$out"/share/applications/bluejeans-v2.desktop \ substituteInPlace "$out"/share/applications/bluejeans-v2.desktop \
--replace "/opt/BlueJeans/bluejeans-v2" "$out/bin/bluejeans" --replace "/opt/BlueJeans/bluejeans-v2" "$out/bin/bluejeans"

View file

@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
# Enable feature flags, so that build fail if libs are missing # Enable feature flags, so that build fail if libs are missing
configureFlags = [ "--enable-c-plugins" "--enable-otr" ] configureFlags = [ "--enable-c-plugins" "--enable-otr" ]
++ optionals notifySupport [ "--enable-notifications" ] ++ optionals notifySupport [ "--enable-notifications" ]
++ optionals traySupport [ "--enable-icons" ] ++ optionals traySupport [ "--enable-icons-and-clipboard" ]
++ optionals pgpSupport [ "--enable-pgp" ] ++ optionals pgpSupport [ "--enable-pgp" ]
++ optionals pythonPluginSupport [ "--enable-python-plugins" ] ++ optionals pythonPluginSupport [ "--enable-python-plugins" ]
++ optionals omemoSupport [ "--enable-omemo" ]; ++ optionals omemoSupport [ "--enable-omemo" ];

View file

@ -1,39 +1,62 @@
{ mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja { mkDerivation, lib, fetchFromGitHub, callPackage
, qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft , pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
, xz, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected , qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash
, range-v3 , ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
, tl-expected, hunspell, glibmm
# Transitive dependencies:
, pcre, xorg, util-linux, libselinux, libsepol, epoxy
, at-spi2-core, libXtst, libthai, libdatrie
}: }:
with lib; with lib;
mkDerivation rec { let
tg_owt = callPackage ../tdesktop/tg_owt.nix {};
in mkDerivation rec {
pname = "kotatogram-desktop"; pname = "kotatogram-desktop";
version = "1.2"; version = "1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kotatogram"; owner = "kotatogram";
repo = "kotatogram-desktop"; repo = "kotatogram-desktop";
rev = "k${version}"; rev = "k${version}";
sha256 = "00pdx3cjhrihf7ihhmszcf159jrzn1bcx20vwiiizs5r1qk8l210"; sha256 = "0nhyjqxrbqiik4sgzplmpgx8msf8rykjiik0c2zr61rjm4fngkb3";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ pkg-config python3 cmake ninja ]; postPatch = ''
substituteInPlace Telegram/CMakeLists.txt \
--replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
'';
# We want to run wrapProgram manually (with additional parameters)
dontWrapGApps = true;
dontWrapQtApps = true;
nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook ];
buildInputs = [ buildInputs = [
qtbase qtimageformats ffmpeg_3 openalSoft xz lz4 xxHash libdbusmenu qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash
zlib minizip openssl hunspell libtgvoip microsoft_gsl tl-expected range-v3 ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
tl-expected hunspell glibmm
tg_owt
# Transitive dependencies:
pcre xorg.libXdmcp util-linux libselinux libsepol epoxy
at-spi2-core libXtst libthai libdatrie
]; ];
qtWrapperArgs = [ cmakeFlags = [ "-DTDESKTOP_API_TEST=ON" ];
"--prefix PATH : ${xdg-utils}/bin"
];
cmakeFlags = [ postFixup = ''
"-DTDESKTOP_API_TEST=ON" # We also use gappsWrapperArgs from wrapGAppsHook.
"-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF" wrapProgram $out/bin/kotatogram-desktop \
"-DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF" "''${gappsWrapperArgs[@]}" \
]; "''${qtWrapperArgs[@]}"
'';
passthru = {
inherit tg_owt;
};
meta = { meta = {
description = "Kotatogram experimental Telegram Desktop fork"; description = "Kotatogram experimental Telegram Desktop fork";
@ -45,6 +68,7 @@ mkDerivation rec {
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;
homepage = "https://kotatogram.github.io"; homepage = "https://kotatogram.github.io";
changelog = "https://github.com/kotatogram/kotatogram-desktop/releases/tag/k{ver}";
maintainers = with maintainers; [ ilya-fedin ]; maintainers = with maintainers; [ ilya-fedin ];
}; };
} }

View file

@ -18,11 +18,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mailspring"; pname = "mailspring";
version = "1.8.0"; version = "1.9.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb"; url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb";
sha256 = "BtzYcHN87qH7s3GiBrsDfmuy9v2xdhCeSShu8+T9T3E="; sha256 = "ISwNFR8M377+J7WoG9MlblF8r5yRTgCxEGszZCjqW/k=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -34,9 +34,7 @@ stdenv.mkDerivation rec {
alsaLib alsaLib
db db
glib glib
# We don't know why with trackerSupport the executable fail to launch, See: gtk3
# https://github.com/NixOS/nixpkgs/issues/106732
(gtk3.override {trackerSupport = false; })
libkrb5 libkrb5
libsecret libsecret
nss nss
@ -52,10 +50,16 @@ stdenv.mkDerivation rec {
]; ];
unpackPhase = '' unpackPhase = ''
runHook preUnpack
dpkg -x $src . dpkg -x $src .
runHook postUnpack
''; '';
installPhase = '' installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib} mkdir -p $out/{bin,lib}
cp -ar ./usr/share $out cp -ar ./usr/share $out
@ -64,11 +68,13 @@ stdenv.mkDerivation rec {
ln -s $out/share/mailspring/mailspring $out/bin/mailspring ln -s $out/share/mailspring/mailspring $out/bin/mailspring
ln -s ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0 ln -s ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
runHook postInstall
''; '';
postFixup = /* sh */ '' postFixup = /* sh */ ''
substituteInPlace $out/share/applications/mailspring.desktop \ substituteInPlace $out/share/applications/Mailspring.desktop \
--replace /usr/bin $out/bin --replace Exec=mailspring Exec=$out/bin/mailspring
''; '';
meta = with lib; { meta = with lib; {
@ -77,8 +83,8 @@ stdenv.mkDerivation rec {
Mailspring is an open-source mail client forked from Nylas Mail and built with Electron. Mailspring is an open-source mail client forked from Nylas Mail and built with Electron.
Mailspring's sync engine runs locally, but its source is not open. Mailspring's sync engine runs locally, but its source is not open.
''; '';
license = licenses.unfree; license = licenses.gpl3Plus;
maintainers = with maintainers; [ toschmidt ]; maintainers = with maintainers; [ toschmidt doronbehar ];
homepage = "https://getmailspring.com"; homepage = "https://getmailspring.com";
downloadPage = "https://github.com/Foundry376/Mailspring"; downloadPage = "https://github.com/Foundry376/Mailspring";
platforms = platforms.x86_64; platforms = platforms.x86_64;

View file

@ -1,4 +1,10 @@
{ lib, stdenv, fetchgit, fetchpatch, cmake, pkg-config, libusb1 }: { lib
, stdenv
, fetchgit
, cmake
, pkg-config
, libusb1
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rtl-sdr"; pname = "rtl-sdr";
@ -10,34 +16,25 @@ stdenv.mkDerivation rec {
sha256 = "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k"; sha256 = "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k";
}; };
patches = [ (fetchpatch { postPatch = ''
name = "hardened-udev-rules.patch"; substituteInPlace CMakeLists.txt \
url = "https://osmocom.org/projects/rtl-sdr/repository/revisions/b2814731563be4d5a0a68554ece6454a2c63af12/diff?format=diff"; --replace '/etc/udev/rules.d' "$out/etc/udev/rules.d"
sha256 = "0ns740s2rys4glq4la4bh0sxfv1mn61yfjns2yllhx70rsb2fqrn";
}) ]; substituteInPlace rtl-sdr.rules \
--replace 'MODE:="0666"' 'ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev"'
'';
nativeBuildInputs = [ pkg-config cmake ]; nativeBuildInputs = [ pkg-config cmake ];
buildInputs = [ libusb1 ]; buildInputs = [ libusb1 ];
# TODO: get these fixes upstream: cmakeFlags = lib.optional stdenv.isLinux "-DINSTALL_UDEV_RULES=ON";
# * Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to
# /etc/udev/rules.d/, and there is no option to install elsewhere. So install
# rules manually.
# * Propagate libusb-1.0 dependency in pkg-config file.
postInstall = lib.optionalString stdenv.isLinux ''
mkdir -p "$out/etc/udev/rules.d/"
cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
pcfile="$out"/lib/pkgconfig/librtlsdr.pc
grep -q "Requires:" "$pcfile" && { echo "Upstream has added 'Requires:' in $(basename "$pcfile"); update nix expression."; exit 1; }
echo "Requires: libusb-1.0" >> "$pcfile"
'';
meta = with lib; { meta = with lib; {
description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"; description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
homepage = "http://sdr.osmocom.org/trac/wiki/rtl-sdr"; homepage = "http://github.com/librtlsdr/librtlsdr";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ bjornfor ];
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.bjornfor ];
}; };
} }

View file

@ -1,54 +1,78 @@
{ { airspy
airspy, , boost
boost, , cm256cc
cm256cc, , cmake
cmake, , codec2
codec2, , fetchFromGitHub
fetchFromGitHub, , fftwFloat
fftwFloat, , glew
glew, , hackrf
hackrf, , lib
lib, , ffmpeg
ffmpeg, , libiio
libiio, , libopus
libopus, , libpulseaudio
libpulseaudio, , libusb1
libusb1, , limesuite
limesuite, , libbladeRF
libbladeRF, , mkDerivation
mkDerivation, , ocl-icd
ocl-icd, , opencv3
opencv3, , pkg-config
pkg-config, , qtcharts
qtbase, , qtlocation
qtmultimedia, , qtmultimedia
qtserialport, , qtserialport
qtwebsockets, , qtspeech
rtl-sdr, , qtwebsockets
serialdv, , rtl-sdr
soapysdr-with-plugins, , serialdv
uhd , soapysdr-with-plugins
, uhd
}: }:
mkDerivation rec { mkDerivation rec {
pname = "sdrangel"; pname = "sdrangel";
version = "6.4.0"; version = "6.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "f4exb"; owner = "f4exb";
repo = "sdrangel"; repo = "sdrangel";
rev = "v${version}"; rev = "v${version}";
sha256 = "4iJoKs0BHmBR6JRFuTIqs0GW3SjhPRMPRlqdyTI38T4="; sha256 = "sha256-dFWwEs2nvcaCWpM4tA3/w8PbmNXn/R7JvxP3XEHasSQ=";
fetchSubmodules = false; fetchSubmodules = false;
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ buildInputs = [
glew opencv3 libusb1 boost libopus limesuite ffmpeg libiio libpulseaudio airspy
qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf boost
fftwFloat codec2 cm256cc serialdv qtserialport cm256cc
libbladeRF uhd soapysdr-with-plugins codec2
ffmpeg
fftwFloat
glew
hackrf
libbladeRF
libiio
libopus
libpulseaudio
libusb1
limesuite
opencv3
qtcharts
qtlocation
qtmultimedia
qtserialport
qtspeech
qtwebsockets
rtl-sdr
serialdv
soapysdr-with-plugins
uhd
]; ];
cmakeFlags = [ cmakeFlags = [
"-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv" "-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv"
"-DLIMESUITE_INCLUDE_DIR:PATH=${limesuite}/include" "-DLIMESUITE_INCLUDE_DIR:PATH=${limesuite}/include"
@ -65,7 +89,7 @@ mkDerivation rec {
''; '';
homepage = "https://github.com/f4exb/sdrangel"; homepage = "https://github.com/f4exb/sdrangel";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ alkeryn ]; maintainers = with maintainers; [ alkeryn ];
platforms = platforms.linux;
}; };
} }

View file

@ -43,6 +43,7 @@ let
"8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n"; "8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
"8.13.0".sha256 = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd"; "8.13.0".sha256 = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd";
"8.13.1".sha256 = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n"; "8.13.1".sha256 = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n";
"8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
}; };
releaseRev = v: "V${v}"; releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix fetched = import ../../../../build-support/coq/meta-fetch/default.nix

View file

@ -4,8 +4,8 @@ let
noise = fetchFromGitHub { noise = fetchFromGitHub {
owner = "jangko"; owner = "jangko";
repo = "nim-noise"; repo = "nim-noise";
rev = "db1e86e312413e4348fa82c02340784316a89cc1"; rev = "v0.1.14";
sha256 = "0n9l2dww5smrsl1xfqxjnxz3f1srb72lc1wl3pdvs6xfyf44qzlh"; sha256 = "0wndiphznfyb1pac6zysi3bqljwlfwj6ziarcwnpf00sw2zni449";
}; };
nimbox = fetchFromGitHub { nimbox = fetchFromGitHub {
@ -24,13 +24,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "nimmm"; pname = "nimmm";
version = "0.1.2"; version = "0.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "joachimschmidt557"; owner = "joachimschmidt557";
repo = "nimmm"; repo = "nimmm";
rev = "v${version}"; rev = "v${version}";
sha256 = "1zpq181iz6g7yfi298gjwv33b89l4fpnkjprimykah7py5cpw67w"; sha256 = "168n61avphbxsxfq8qzcnlqx6wgvz5yrjvs14g25cg3k46hj4xqg";
}; };
nativeBuildInputs = [ nim ]; nativeBuildInputs = [ nim ];

View file

@ -2,25 +2,33 @@
buildGoModule rec { buildGoModule rec {
pname = "gh"; pname = "gh";
version = "1.8.1"; version = "1.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cli"; owner = "cli";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "1q0vc9wr4n813mxkf7jjj3prw1n7xv4l985qd57pg4a2js1dqa1y"; sha256 = "1nrbz049nizrrfxdpws05gj0bqk47l4mrl4wcvfb6nwispc74ib0";
}; };
vendorSha256 = "1wv30z0jg195nkpz3rwvhixyw81lg2wzwwajq9g6s3rfjj8gs9v2"; vendorSha256 = "0j2jy7n7hca5ybwwgh7cvm77j96ngaq1a1l5bl70vjpd8hz2qapc";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
# upstream unsets these to handle cross but it breaks our build
postPatch = ''
substituteInPlace Makefile \
--replace "GOOS= GOARCH= GOARM= GOFLAGS= CGO_ENABLED=" ""
'';
buildPhase = '' buildPhase = ''
export GO_LDFLAGS="-s -w" runHook preBuild
make GH_VERSION=${version} bin/gh manpages make GO_LDFLAGS="-s -w" GH_VERSION=${version} bin/gh manpages
runHook postBuild
''; '';
installPhase = '' installPhase = ''
runHook preInstall
install -Dm755 bin/gh -t $out/bin install -Dm755 bin/gh -t $out/bin
installManPage share/man/*/*.[1-9] installManPage share/man/*/*.[1-9]
@ -28,6 +36,7 @@ buildGoModule rec {
$out/bin/gh completion -s $shell > gh.$shell $out/bin/gh completion -s $shell > gh.$shell
installShellCompletion gh.$shell installShellCompletion gh.$shell
done done
runHook postInstall
''; '';
# fails with `unable to find git executable in PATH` # fails with `unable to find git executable in PATH`

View file

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gitea"; pname = "gitea";
version = "1.14.0"; version = "1.14.1";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI # not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl { src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-SE+YqcRNkhRQXDzgv72YrQX9bG/URYj4NAFvTg4bE3Y="; sha256 = "1hpwc5jmkbnn6qf3li8g38qz2l87vk6jq2zxijq92jyfp54kj03p";
}; };
unpackPhase = '' unpackPhase = ''

View file

@ -122,7 +122,10 @@ stdenv.mkDerivation {
rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools
]; ];
patches = [ ./remove-hardcoded-locations.patch ]; patches = [
# Change hardcoded paths to the NixOS equivalent
./remove-hardcoded-locations.patch
];
postPatch = '' postPatch = ''
${lib.optionalString (!gitlabEnterprise) '' ${lib.optionalString (!gitlabEnterprise) ''

View file

@ -7,14 +7,14 @@ buildGoModule rec {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-shell"; repo = "gitlab-shell";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-wDZLcCBbWjG6wIcEj02eqwWVfAYy1TuAo/xvJB8tt+0="; sha256 = "sha256-j/80AIIJdRSisu2fNXcqazb4oIzAQP5CfxHX3l6yijY=";
}; };
buildInputs = [ ruby ]; buildInputs = [ ruby ];
patches = [ ./remove-hardcoded-locations.patch ]; patches = [ ./remove-hardcoded-locations.patch ];
vendorSha256 = "16fa3bka0008x2yazahc6xxcv4fa6yqg74kk64v8lrp7snbvjf4d"; vendorSha256 = "sha256-/jJTMtS5fcbQroWuaPPfvYxy6znNS0FOXVN7IcE/spQ=";
postInstall = '' postInstall = ''
cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin

View file

@ -1,34 +1,25 @@
diff --git a/internal/config/config.go b/internal/config/config.go diff --git a/internal/config/config.go b/internal/config/config.go
index 79c2a36..12ba31e 100644 index 36f8625..72ede08 100644
--- a/internal/config/config.go --- a/internal/config/config.go
+++ b/internal/config/config.go +++ b/internal/config/config.go
@@ -3,7 +3,6 @@ package config @@ -12,7 +12,7 @@ import (
import ( )
"io/ioutil"
"net/url"
- "os"
"path"
"path/filepath"
@@ -59,16 +58,13 @@ func (c *Config) GetHttpClient() *client.HttpClient { const (
- configFile = "config.yml"
+ configFile = "shell-config.yml"
defaultSecretFileName = ".gitlab_shell_secret"
)
@@ -91,7 +91,7 @@ func (c *Config) GetHttpClient() *client.HttpClient {
// NewFromDirExternal returns a new config from a given root dir. It also applies defaults appropriate for
// gitlab-shell running in an external SSH server.
func NewFromDirExternal(dir string) (*Config, error) {
- cfg, err := newFromFile(filepath.Join(dir, configFile))
+ cfg, err := newFromFile(filepath.Join("/run/gitlab", configFile))
if err != nil {
return nil, err
} }
func New() (*Config, error) {
- dir, err := os.Getwd()
- if err != nil {
- return nil, err
- }
+ dir := "/run/gitlab"
return NewFromDir(dir)
}
func NewFromDir(dir string) (*Config, error) {
- return newFromFile(path.Join(dir, configFile))
+ return newFromFile("/run/gitlab/shell-config.yml")
}
func newFromFile(filename string) (*Config, error) {
diff --git a/internal/keyline/key_line.go b/internal/keyline/key_line.go diff --git a/internal/keyline/key_line.go b/internal/keyline/key_line.go
index c6f2422..fb0426b 100644 index c6f2422..fb0426b 100644
--- a/internal/keyline/key_line.go --- a/internal/keyline/key_line.go
@ -55,6 +46,3 @@ index 52ac5ee..d96baa3 100644
end end
def auth_file def auth_file
--
2.28.0

View file

@ -0,0 +1,71 @@
{ lib
, fetchFromGitHub
, mkDerivation
, breeze-icons
, breeze-qt5
, cmake
, extra-cmake-modules
, kcodecs
, kconfig
, kcoreaddons
, kfilemetadata
, ki18n
, kiconthemes
, kio
, kio-extras
, kirigami2
, kxmlgui
, mpv
, pkg-config
, qqc2-desktop-style
, qtbase
, qtquickcontrols2
, qtwayland
, youtube-dl
}:
mkDerivation rec {
pname = "haruna";
version = "0.6.1";
src = fetchFromGitHub {
owner = "g-fb";
repo = "haruna";
rev = version;
sha256 = "sha256-8MauKmvQUwzq4Ssmm6g7/y6ADkye+eg/zyR3v/Wu848=";
};
buildInputs = [
breeze-icons
breeze-qt5
kcodecs
kconfig
kcoreaddons
kfilemetadata
ki18n
kiconthemes
kio
kio-extras
kirigami2
kxmlgui
mpv
qqc2-desktop-style
qtbase
qtquickcontrols2
qtwayland
youtube-dl
];
nativeBuildInputs = [
cmake
extra-cmake-modules
pkg-config
];
meta = with lib; {
homepage = "https://github.com/g-fb/haruna";
description = "Open source video player built with Qt/QML and libmpv";
license = with licenses; [ bsd3 cc-by-40 gpl3Plus wtfpl ];
maintainers = with maintainers; [ jojosch ];
};
}

View file

@ -6,7 +6,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "docker-slim"; pname = "docker-slim";
version = "1.34.0"; version = "1.35.0";
goPackagePath = "github.com/docker-slim/docker-slim"; goPackagePath = "github.com/docker-slim/docker-slim";
@ -14,7 +14,7 @@ buildGoPackage rec {
owner = "docker-slim"; owner = "docker-slim";
repo = "docker-slim"; repo = "docker-slim";
rev = version; rev = version;
sha256 = "1ynpd6yb1xc18y528sshd5k9nkz48h1zifj2w4sjh5n0864lna7b"; sha256 = "0j350rhyav844vhaa1f5idffflgs5h3c5zcazly9s5sf4invm49y";
}; };
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ]; subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];

View file

@ -1,7 +1,7 @@
{ fetchurl, lib, stdenv }: { fetchurl, lib, stdenv }:
let let
version = "0.23.0"; version = "0.24.2";
suffix = { suffix = {
x86_64-linux = "x86_64"; x86_64-linux = "x86_64";
@ -9,33 +9,28 @@ let
}."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download";
fetchbin = name: sha256: fetchurl {
url = "${baseurl}/v${version}/${name}-v${version}-${suffix}"; dlbin = sha256: fetchurl {
url = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz";
sha256 = sha256."${stdenv.hostPlatform.system}"; sha256 = sha256."${stdenv.hostPlatform.system}";
}; };
firecracker-bin = fetchbin "firecracker" {
x86_64-linux = "11h6qkq55y1w0mlkfkbnpxxai73rzxkiz07i747m7a9azbrmldp8";
aarch64-linux = "0zyx7md54w0fhqk1anfyjfdqrkg2mjyy17y9jk17p34yrw8j9y29";
};
jailer-bin = fetchbin "jailer" {
x86_64-linux = "15slr2azqvyqlhvlh7zk1n0rkfq282kj0pllp19r0yl1w8ns1gw5";
aarch64-linux = "1d92jhd6fb7w7ciz15rcfp8jf74r2503w2fl1b6pznpc8h4qscfd";
};
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "firecracker"; pname = "firecracker";
inherit version; inherit version;
srcs = [ firecracker-bin jailer-bin ];
unpackPhase = ":"; sourceRoot = ".";
src = dlbin {
x86_64-linux = "0l7x9sfyx52n0mwrmicdcnhm8z10q57kk1a5wf459l8lvp59xw08";
aarch64-linux = "0m7xs12g97z1ipzaf7dgknf3azlah0p6bdr9i454azvzg955238b";
};
configurePhase = ":"; configurePhase = ":";
buildPhase = '' buildPhase = ''
cp ${firecracker-bin} firecracker mv firecracker-* firecracker
cp ${jailer-bin} jailer mv jailer-* jailer
chmod +x firecracker jailer chmod +x firecracker jailer
''; '';

View file

@ -42,14 +42,11 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
# Must replace GNU Make by bmake makeFlags = with lib; [ "PREFIX=$(out)" ]
buildPhase = with lib; concatStringsSep " " (
[ "bmake" "-j$NIX_BUILD_CORES" "PREFIX=$out" ]
++ optional stdenv.isLinux "WITH_POSIX_C_SOURCE=YES" ++ optional stdenv.isLinux "WITH_POSIX_C_SOURCE=YES"
++ mapAttrsToList (feat: enabled: ++ mapAttrsToList (feat: enabled:
optionalString enabled "WITH_${toUpper feat}=YES" optionalString enabled "WITH_${toUpper feat}=YES"
) features ) features;
);
# Can't suid in nix store # Can't suid in nix store
# Run hikari as root (it will drop privileges as early as possible), or create # Run hikari as root (it will drop privileges as early as possible), or create
@ -58,13 +55,6 @@ stdenv.mkDerivation {
substituteInPlace Makefile --replace '4555' '555' substituteInPlace Makefile --replace '4555' '555'
''; '';
installPhase = ''
bmake \
PREFIX=$out \
install
runHook postInstall
'';
meta = with lib; { meta = with lib; {
description = "Stacking Wayland compositor which is actively developed on FreeBSD but also supports Linux"; description = "Stacking Wayland compositor which is actively developed on FreeBSD but also supports Linux";
homepage = "https://hikari.acmelabs.space"; homepage = "https://hikari.acmelabs.space";

View file

@ -16,27 +16,30 @@
, libXinerama , libXinerama
, libXrandr , libXrandr
, libXrender , libXrender
, libXres
, pcre , pcre
, pkg-config , pkg-config
}: }:
let
rev = "v0.6-17-g271e784";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "neocomp-unstable"; pname = "neocomp";
version = "2019-03-12"; version = "unstable-2021-04-06";
src = fetchFromGitHub { src = fetchFromGitHub {
inherit rev;
owner = "DelusionalLogic"; owner = "DelusionalLogic";
repo = "NeoComp"; repo = "NeoComp";
sha256 = "1mp338vz1jm5pwf7pi5azx4hzykmvpkwzx1kw6a9anj272f32zpg"; rev = "ccd340d7b2dcd3f828aff958a638cc23686aee6f";
sha256 = "sha256-tLLEwpAGNVTC+N41bM7pfskIli4Yvc95wH2/NT0OZ+8=";
}; };
buildInputs = [ nativeBuildInputs = [
asciidoc asciidoc
docbook_xml_dtd_45 docbook_xml_dtd_45
docbook_xsl docbook_xsl
pkg-config
];
buildInputs = [
freetype freetype
judy judy
libGL libGL
@ -50,15 +53,15 @@ stdenv.mkDerivation rec {
libXinerama libXinerama
libXrandr libXrandr
libXrender libXrender
libXres
pcre pcre
pkg-config
]; ];
makeFlags = [ makeFlags = [
"PREFIX=${placeholder "out"}" "PREFIX=${placeholder "out"}"
"CFGDIR=${placeholder "out"}/etc/xdg/neocomp" "CFGDIR=${placeholder "out"}/etc/xdg/neocomp"
"ASTDIR=${placeholder "out"}/share/neocomp/assets" "ASTDIR=${placeholder "out"}/share/neocomp/assets"
"COMPTON_VERSION=git-${rev}-${version}" "COMPTON_VERSION=${version}"
]; ];
postPatch = '' postPatch = ''
@ -72,8 +75,8 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://github.com/DelusionalLogic/NeoComp"; homepage = "https://github.com/DelusionalLogic/NeoComp";
license = licenses.gpl3; license = licenses.gpl3Only;
maintainers = with maintainers; [ twey ]; maintainers = with maintainers; [ twey fortuneteller2k ];
platforms = platforms.linux; platforms = platforms.linux;
description = "A fork of Compton, a compositor for X11"; description = "A fork of Compton, a compositor for X11";
longDescription = '' longDescription = ''

View file

@ -686,6 +686,42 @@ rec {
in in
result; result;
# Merge the tarballs of images built with buildImage into a single
# tarball that contains all images. Running `docker load` on the resulting
# tarball will load the images into the docker daemon.
mergeImages = images: runCommand "merge-docker-images"
{
inherit images;
nativeBuildInputs = [ pigz jq ];
} ''
mkdir image inputs
# Extract images
repos=()
manifests=()
for item in $images; do
name=$(basename $item)
mkdir inputs/$name
tar -I pigz -xf $item -C inputs/$name
if [ -f inputs/$name/repositories ]; then
repos+=(inputs/$name/repositories)
fi
if [ -f inputs/$name/manifest.json ]; then
manifests+=(inputs/$name/manifest.json)
fi
done
# Copy all layers from input images to output image directory
cp -R --no-clobber inputs/*/* image/
# Merge repositories objects and manifests
jq -s add "''${repos[@]}" > repositories
jq -s add "''${manifests[@]}" > manifest.json
# Replace output image repositories and manifest with merged versions
mv repositories image/repositories
mv manifest.json image/manifest.json
# Create tarball and gzip
tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nT > $out
'';
# Provide a /etc/passwd and /etc/group that contain root and nobody. # Provide a /etc/passwd and /etc/group that contain root and nobody.
# Useful when packaging binaries that insist on using nss to look up # Useful when packaging binaries that insist on using nss to look up
# username/groups (like nginx). # username/groups (like nginx).

View file

@ -497,4 +497,23 @@ rec {
chown 1000 ./home/jane chown 1000 ./home/jane
''; '';
}; };
# tarball consisting of both bash and redis images
mergedBashAndRedis = pkgs.dockerTools.mergeImages [
bash
redis
];
# tarball consisting of bash (without tag) and redis images
mergedBashNoTagAndRedis = pkgs.dockerTools.mergeImages [
bashNoTag
redis
];
# tarball consisting of bash and layered image with different owner of the
# /home/jane directory
mergedBashFakeRoot = pkgs.dockerTools.mergeImages [
bash
layeredImageWithFakeRootCommands
];
} }

View file

@ -1,21 +1,22 @@
{lib, stdenv, fetchurl}: {lib, stdenv, fetchurl}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "man-pages-posix-2013-a"; pname = "man-pages-posix";
version = "2017-a";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/${name}.tar.xz"; url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/${pname}-${version}.tar.xz";
sha256 = "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"; sha256 = "ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3";
}; };
preBuild = makeFlags = [
'' "MANDIR=${placeholder "out"}/share/man"
makeFlagsArray=(MANDIR=$out/share/man) ];
'';
meta = { meta = {
description = "POSIX man-pages (0p, 1p, 3p)"; description = "POSIX man-pages (0p, 1p, 3p)";
homepage = "https://www.kernel.org/doc/man-pages/"; homepage = "https://www.kernel.org/doc/man-pages/";
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.sternenseemann ];
}; };
} }

View file

@ -0,0 +1,24 @@
{ lib, fetchzip }:
let
version = "unstable-2019-12-05";
repo = "CourierPrime";
rev = "7f6d46a766acd9391d899090de467c53fd9c9cb0";
in fetchzip rec {
name = "courier-prime-${version}";
url = "https://github.com/quoteunquoteapps/${repo}/archive/${rev}/${name}.zip";
sha256 = "1xh4pkksm6zrafhb69q4lq093q6pl245zi9qhqw3x6c1ab718704";
postFetch = ''
unzip $downloadedFile
install -m444 -Dt $out/share/fonts/truetype ${repo}-${rev}/fonts/ttf/*.ttf
'';
meta = with lib; {
description = "Monospaced font designed specifically for screenplays";
homepage = "https://github.com/quoteunquoteapps/CourierPrime";
license = licenses.ofl;
maintainers = [ maintainers.austinbutler ];
platforms = platforms.all;
};
}

View file

@ -1,10 +1,10 @@
{ lib, fetchzip, version ? "3.000" }: { lib, fetchzip, version ? "3.100" }:
let let
new = lib.versionAtLeast version "3.000"; new = lib.versionAtLeast version "3.000";
sha256 = { sha256 = {
"2.100" = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z"; "2.100" = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z";
"3.000" = "12sd2mjqb80ijc73y7p0iw6j3wy9i60a3aar3ywrxz4khpya48jw"; "3.100" = "0svnc7l3z3vvm27zx6msyx56n2fpv6ywb5lm75bym48slkccypn7";
}."${version}"; }."${version}";
in fetchzip rec { in fetchzip rec {

View file

@ -1,13 +1,13 @@
{ lib, stdenv, gnome3, fetchFromGitHub, xprop, glib }: { lib, stdenv, gnome3, fetchFromGitHub, xprop, glib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-extension-unite"; pname = "gnome-shell-extension-unite";
version = "49"; version = "50";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hardpixel"; owner = "hardpixel";
repo = "unite-shell"; repo = "unite-shell";
rev = "v${version}"; rev = "v${version}";
sha256 = "12kjljw253hshaz6x886kg3mc93lb4pxwd05qihww6m5k4lqjcy5"; sha256 = "14n9lrjbxcmvcjnh6zbwlc1paqfhbg81lj0y2d35sh1c2fbsb7d9";
}; };
uuid = "unite@hardpixel.eu"; uuid = "unite@hardpixel.eu";

View file

@ -170,6 +170,5 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ ThomasMader lionello ]; maintainers = with maintainers; [ ThomasMader lionello ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
# many tests are failing # many tests are failing
broken = true;
}; };
} }

View file

@ -1,6 +1,9 @@
/* /*
How to combine packages for use in development: How to combine packages for use in development:
dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_3_0 sdk aspnetcore_2_1 ]; dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_3_0 sdk aspnetcore_2_1 ];
Hashes below are retrived from:
https://dotnet.microsoft.com/download/dotnet
*/ */
{ callPackage }: { callPackage }:
let let
@ -124,11 +127,11 @@ rec {
}; };
sdk_5_0 = buildNetCoreSdk { sdk_5_0 = buildNetCoreSdk {
version = "5.0.200"; version = "5.0.202";
sha512 = { sha512 = {
x86_64-linux = "0g7zcmkcdwc11h42m6hq8d0w55nnvnsmj3dc16829q55cp7l7kggmjljnd9slx7r7nrsyi7yy8brwh8n4kfi5998pdyb09fzhq5w60d"; x86_64-linux = "Ae1Z8jYYSYdAVnPSSUDVXOKdgw59u8GVVv3AOJMDnmBGcS3m+QHcmREEeg3uT9FTGbfpT4ox32uYH6Nb2T2YOA==";
aarch64-linux = "2zy6nxiw313g2sbmnkg76r64llbk2w2wcsa6frq535zbviw52zf163jvw2687rpiw4szdizf337l3b0qa0396abw5dhq2czqlxjyjv8"; aarch64-linux = "JuwSWgY35xrK0gOGR034mhAemulIkhtd4M00P0vA6EtOeyMY4Vl4cj6zudMh6Jt5DD8EJKQ8KbABX8byuePp2Q==";
x86_64-darwin = "2p0yxplafhi5ks38pq8nyi43kpv4l4npa718rvcvl57qs76j0dqlk1s4wdw7msx8g7xxy1aal47zy9rxvlypmgwx4dnp339cmbd6mf6"; x86_64-darwin = "jxnfTbQUb0dJ2/NX2pu8Pi/F/e4EaDm2Ta5U+6sSYj/s6nNp6NHxtEn7BzhQ9/EVLszl/oXi3lL0d/BPbzldEA==";
}; };
}; };
} }

View file

@ -11,7 +11,7 @@ let
inherit (lib) optionals optionalString; inherit (lib) optionals optionalString;
version = "1.16.2"; version = "1.16.3";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { }; go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz"; url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "1sl33wkhp6pi9f15f6khp5a7l7xwmpc3sp1zmji8pjr3g8l19jip"; sha256 = "sha256-spjSnekjbKR6Aj44IxO8wtLu0x36cGtgoEEDzoOnGiU=";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
'' + lib.optionalString stdenv.hostPlatform.isWasm '' '' + lib.optionalString stdenv.hostPlatform.isWasm ''
patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch} patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch}
''; '';

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d libcxx -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
'' + lib.optionalString stdenv.hostPlatform.isWasm '' '' + lib.optionalString stdenv.hostPlatform.isWasm ''
patch -p1 -d llvm -i ${./wasm.patch} patch -p1 -d llvm -i ${./wasm.patch}
''; '';

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld { lib, stdenv, llvm_meta, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python3, lld
, fixDarwinDylibNames , fixDarwinDylibNames
, enableManpages ? false , enableManpages ? false
}: }:
@ -8,7 +8,7 @@ let
pname = "clang"; pname = "clang";
inherit version; inherit version;
src = fetch "clang" "185r9rr254v75ja33nmm53j85lcnkj7bzsl18wvnd37jmz2nfxa5"; src = fetch "clang" "1vd9rhhrd8ghdg111lac7w8by71y9l14yh5zxfijsm6lj4p4avp2";
inherit clang-tools-extra_src; inherit clang-tools-extra_src;
unpackPhase = '' unpackPhase = ''
@ -82,11 +82,20 @@ let
inherit llvm; inherit llvm;
}; };
meta = { meta = llvm_meta // {
description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; homepage = "https://clang.llvm.org/";
homepage = "https://llvm.org/"; description = "A C language family frontend for LLVM";
license = lib.licenses.ncsa; longDescription = ''
platforms = lib.platforms.all; The Clang project provides a language front-end and tooling
infrastructure for languages in the C language family (C, C++, Objective
C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.
It aims to deliver amazingly fast compiles, extremely useful error and
warning messages and to provide a platform for building great source
level tools. The Clang Static Analyzer and clang-tidy are tools that
automatically find bugs in your code, and are great examples of the sort
of tools that can be built using the Clang frontend as a library to
parse C/C++ code.
'';
}; };
} // lib.optionalAttrs enableManpages { } // lib.optionalAttrs enableManpages {
pname = "clang-manpages"; pname = "clang-manpages";
@ -105,6 +114,8 @@ let
doCheck = false; doCheck = false;
meta.description = "man page for Clang ${version}"; meta = llvm_meta // {
description = "man page for Clang ${version}";
};
}); });
in self in self

View file

@ -1,4 +1,4 @@
{ lib, stdenv, version, fetch, cmake, python3, llvm, libcxxabi }: { lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
let let
@ -11,7 +11,7 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "compiler-rt"; pname = "compiler-rt";
inherit version; inherit version;
src = fetch pname "1x0z875nbdpzhr4qb7linm6r9swvdf6dvwqy1s22pbn4wdcw0cvf"; src = fetch pname "0d444qihq9jhqnfv003cr704v363va72zl6qaw2algj1c85cva45";
nativeBuildInputs = [ cmake python3 llvm ]; nativeBuildInputs = [ cmake python3 llvm ];
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
@ -87,4 +87,19 @@ stdenv.mkDerivation rec {
ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
''; '';
meta = llvm_meta // {
homepage = "https://compiler-rt.llvm.org/";
description = "Compiler runtime libraries";
longDescription = ''
The compiler-rt project provides highly tuned implementations of the
low-level code generator support routines like "__fixunsdfdi" and other
calls generated when a target doesn't have a short sequence of native
instructions to implement a core IR operation. It also provides
implementations of run-time libraries for dynamic testing tools such as
AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer.
'';
# "All of the code in the compiler-rt project is dual licensed under the MIT
# license and the UIUC License (a BSD-like license)":
license = with lib.licenses; [ mit ncsa ];
};
} }

View file

@ -8,7 +8,7 @@
let let
release_version = "12.0.0"; release_version = "12.0.0";
candidate = "rc5"; # empty or "rcN" candidate = ""; # empty or "rcN"
dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs
targetConfig = stdenv.targetPlatform.config; targetConfig = stdenv.targetPlatform.config;
@ -18,7 +18,13 @@ let
inherit sha256; inherit sha256;
}; };
clang-tools-extra_src = fetch "clang-tools-extra" "1hga9k5m60ywmr7m69jf1v6vj1ra1n6ybv1abzlz94f5q22i1a02"; clang-tools-extra_src = fetch "clang-tools-extra" "0p3dzr0qa7mar83y66xa5m5apynf6ia0lsdsq6axwnm64ysy0hdd";
llvm_meta = {
license = lib.licenses.ncsa;
maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ];
platforms = lib.platforms.all;
};
tools = lib.makeExtensible (tools: let tools = lib.makeExtensible (tools: let
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
@ -30,13 +36,16 @@ let
ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
''; '';
in { in {
llvm = callPackage ./llvm.nix { }; llvm = callPackage ./llvm {
inherit llvm_meta;
};
clang-unwrapped = callPackage ./clang { clang-unwrapped = callPackage ./clang {
inherit (tools) lld; inherit (tools) lld;
inherit clang-tools-extra_src; inherit clang-tools-extra_src llvm_meta;
}; };
# disabled until recommonmark supports sphinx 3 # disabled until recommonmark supports sphinx 3
@ -80,11 +89,13 @@ let
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
}; };
lld = callPackage ./lld.nix { lld = callPackage ./lld {
inherit llvm_meta;
libunwind = libraries.libunwind; libunwind = libraries.libunwind;
}; };
lldb = callPackage ./lldb.nix { lldb = callPackage ./lldb {
inherit llvm_meta;
inherit (darwin) libobjc bootstrap_cmds; inherit (darwin) libobjc bootstrap_cmds;
inherit (darwin.apple_sdk.libs) xpc; inherit (darwin.apple_sdk.libs) xpc;
inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa; inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
@ -172,7 +183,7 @@ let
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
in { in {
compiler-rt = callPackage ./compiler-rt.nix ({} // compiler-rt = callPackage ./compiler-rt ({ inherit llvm_meta; } //
(lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt; stdenv = overrideCC stdenv buildLlvmTools.lldClangNoCompilerRt;
})); }));
@ -181,20 +192,20 @@ let
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
libcxx = callPackage ./libc++ ({} // libcxx = callPackage ./libc++ ({ inherit llvm_meta; } //
(lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
})); }));
libcxxabi = callPackage ./libc++abi.nix ({} // libcxxabi = callPackage ./libc++abi ({ inherit llvm_meta; } //
(lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
libunwind = libraries.libunwind; libunwind = libraries.libunwind;
})); }));
openmp = callPackage ./openmp.nix {}; openmp = callPackage ./openmp.nix { inherit llvm_meta; };
libunwind = callPackage ./libunwind.nix ({} // libunwind = callPackage ./libunwind ({ inherit llvm_meta; } //
(lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) { (lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx; stdenv = overrideCC stdenv buildLlvmTools.lldClangNoLibcxx;
})); }));

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetch, fetchpatch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version { lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version
, enableShared ? !stdenv.hostPlatform.isStatic , enableShared ? !stdenv.hostPlatform.isStatic
}: }:
@ -6,7 +6,7 @@ stdenv.mkDerivation {
pname = "libc++"; pname = "libc++";
inherit version; inherit version;
src = fetch "libcxx" "01abh553dvjgk5cjzzp0ghmg00laqbr4ar4frdhyhpbwhhmwc880"; src = fetch "libcxx" "1wf3ww29xkx7prs7pdwicy5qqfapib26110jgmkjrbka9z57bjvx";
postUnpack = '' postUnpack = ''
unpackFile ${libcxxabi.src} unpackFile ${libcxxabi.src}
@ -40,10 +40,15 @@ stdenv.mkDerivation {
isLLVM = true; isLLVM = true;
}; };
meta = { meta = llvm_meta // {
homepage = "https://libcxx.llvm.org/"; homepage = "https://libcxx.llvm.org/";
description = "A new implementation of the C++ standard library, targeting C++11"; description = "C++ standard library";
license = with lib.licenses; [ ncsa mit ]; longDescription = ''
platforms = lib.platforms.all; libc++ is an implementation of the C++ standard library, targeting C++11,
C++14 and above.
'';
# "All of the code in libc++ is dual licensed under the MIT license and the
# UIUC License (a BSD-like license)":
license = with lib.licenses; [ mit ncsa ];
}; };
} }

View file

@ -1,4 +1,4 @@
{ lib, stdenv, cmake, python3, fetch, libcxx, libunwind, llvm, version { lib, stdenv, llvm_meta, cmake, python3, fetch, libcxx, libunwind, llvm, version
, enableShared ? !stdenv.hostPlatform.isStatic , enableShared ? !stdenv.hostPlatform.isStatic
}: }:
@ -6,7 +6,7 @@ stdenv.mkDerivation {
pname = "libc++abi"; pname = "libc++abi";
inherit version; inherit version;
src = fetch "libcxxabi" "0mjj4f63ix4j1b72bgzpcki7mzf3qszrq7snqhiq0c5s73skkwx0"; src = fetch "libcxxabi" "1cbmzspwjlr8f6sp73pw6ivf4dpg6rpc61by0q1m2zca2k6yif3a";
nativeBuildInputs = [ cmake python3 ]; nativeBuildInputs = [ cmake python3 ];
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
@ -29,7 +29,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d libcxx -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d libcxx -i ${../../libcxx-0001-musl-hacks.patch}
'' + lib.optionalString stdenv.hostPlatform.isWasm '' '' + lib.optionalString stdenv.hostPlatform.isWasm ''
patch -p1 -d llvm -i ${./libcxxabi-wasm.patch} patch -p1 -d llvm -i ${./libcxxabi-wasm.patch}
''; '';
@ -57,11 +57,15 @@ stdenv.mkDerivation {
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
''; '';
meta = { meta = llvm_meta // {
homepage = "https://libcxxabi.llvm.org/"; homepage = "https://libcxxabi.llvm.org/";
description = "A new implementation of low level support for a standard C++ library"; description = "Provides C++ standard library support";
license = with lib.licenses; [ ncsa mit ]; longDescription = ''
maintainers = with lib.maintainers; [ vlstill ]; libc++abi is a new implementation of low level support for a standard C++ library.
platforms = lib.platforms.all; '';
# "All of the code in libc++abi is dual licensed under the MIT license and
# the UIUC License (a BSD-like license)":
license = with lib.licenses; [ mit ncsa ];
maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
}; };
} }

View file

@ -1,21 +0,0 @@
{ lib, stdenv, version, fetch, libcxx, llvm, cmake
, enableShared ? !stdenv.hostPlatform.isStatic
}:
stdenv.mkDerivation rec {
pname = "libunwind";
inherit version;
src = fetch pname "0kaq75ygzv9dqfsx27pi5a0clipdjq6a9vghhb89d8k1rf20lslh";
postUnpack = ''
unpackFile ${libcxx.src}
mv libcxx-* libcxx
unpackFile ${llvm.src}
mv llvm-* llvm
'';
nativeBuildInputs = [ cmake ];
cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
}

View file

@ -0,0 +1,33 @@
{ lib, stdenv, llvm_meta, version, fetch, libcxx, llvm, cmake
, enableShared ? !stdenv.hostPlatform.isStatic
}:
stdenv.mkDerivation rec {
pname = "libunwind";
inherit version;
src = fetch pname "1x8wpmsrsgnwj2v5ih52ylni7r6n8gzkcj6hx65zbxski2rablly";
postUnpack = ''
unpackFile ${libcxx.src}
mv libcxx-* libcxx
unpackFile ${llvm.src}
mv llvm-* llvm
'';
nativeBuildInputs = [ cmake ];
cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
meta = llvm_meta // {
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
description = "LLVM's unwinder library";
longDescription = ''
The unwind library provides a family of _Unwind_* functions implementing
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
I). It is a dependency of the C++ ABI library, and sometimes is a
dependency of other runtimes.
'';
};
}

View file

@ -1,39 +0,0 @@
{ lib, stdenv
, fetch
, libunwind
, cmake
, libxml2
, llvm
, version
}:
stdenv.mkDerivation rec {
pname = "lld";
inherit version;
src = fetch pname "044lv1d9am2xmbc3pvssxkkiyxyv72n2xkgk8z3p9k72h3ay00q3";
nativeBuildInputs = [ cmake ];
buildInputs = [ llvm libxml2 ];
postPatch = ''
substituteInPlace MachO/CMakeLists.txt --replace \
'(''${LLVM_MAIN_SRC_DIR}/' '('
mkdir -p libunwind/include
tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/"
'';
outputs = [ "out" "dev" ];
postInstall = ''
moveToOutput include "$dev"
moveToOutput lib "$dev"
'';
meta = {
description = "The LLVM Linker";
homepage = "https://lld.llvm.org/";
license = lib.licenses.ncsa;
platforms = lib.platforms.all;
};
}

View file

@ -0,0 +1,45 @@
{ lib, stdenv, llvm_meta
, fetch
, libunwind
, cmake
, libxml2
, llvm
, version
}:
stdenv.mkDerivation rec {
pname = "lld";
inherit version;
src = fetch pname "1zakyxk5bwnh7jarckcd4rbmzi58jgn2dbah5j5cwcyfyfbx9drc";
nativeBuildInputs = [ cmake ];
buildInputs = [ llvm libxml2 ];
postPatch = ''
substituteInPlace MachO/CMakeLists.txt --replace \
'(''${LLVM_MAIN_SRC_DIR}/' '('
mkdir -p libunwind/include
tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/"
'';
outputs = [ "out" "dev" ];
postInstall = ''
moveToOutput include "$dev"
moveToOutput lib "$dev"
'';
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features
that are useful for toolchain developers.
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and
WebAssembly in descending order of completeness. Internally, LLD consists
of several different linkers.
'';
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv { lib, stdenv, llvm_meta
, fetch , fetch
, cmake , cmake
, zlib , zlib
@ -25,7 +25,7 @@ stdenv.mkDerivation (rec {
pname = "lldb"; pname = "lldb";
inherit version; inherit version;
src = fetch pname "0q4p4s5ws1zszs3i4da5w5fnxkpny0q3fr1s1sh7jp9wcwxbxiqq"; src = fetch pname "1v85qyq3snk81vjmwq5q7xikyyqsfpqy2c4qmr81mps4avsw1g0l";
patches = [ ./lldb-procfs.patch ]; patches = [ ./lldb-procfs.patch ];
@ -72,11 +72,15 @@ stdenv.mkDerivation (rec {
ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
''; '';
meta = with lib; { meta = llvm_meta // {
homepage = "https://lldb.llvm.org/";
description = "A next-generation high-performance debugger"; description = "A next-generation high-performance debugger";
homepage = "https://lldb.llvm.org"; longDescription = ''
license = licenses.ncsa; LLDB is a next generation, high-performance debugger. It is built as a set
platforms = platforms.all; of reusable components which highly leverage existing libraries in the
larger LLVM Project, such as the Clang expression parser and LLVM
disassembler.
'';
}; };
} // lib.optionalAttrs enableManpages { } // lib.optionalAttrs enableManpages {
pname = "lldb-manpages"; pname = "lldb-manpages";
@ -99,5 +103,7 @@ stdenv.mkDerivation (rec {
doCheck = false; doCheck = false;
meta.description = "man pages for LLDB ${version}"; meta = llvm_meta // {
description = "man pages for LLDB ${version}";
};
}) })

View file

@ -1,4 +1,4 @@
{ lib, stdenv { lib, stdenv, llvm_meta
, fetch , fetch
, cmake , cmake
, python3 , python3
@ -32,8 +32,8 @@ in stdenv.mkDerivation (rec {
pname = "llvm"; pname = "llvm";
inherit version; inherit version;
src = fetch pname "088dyv7hppidl3rqfsjdibvn4d3a74896fg2sz4dwaxlg19way93"; src = fetch pname "0l4b79gwfvxild974aigcq1yigypjsk2j5p59syhl6ksd744gp29";
polly_src = fetch "polly" "1qj7gkfr1yrsrz6j086l9p6d2kyyln15fmfiab4isn96g1dhsfb5"; polly_src = fetch "polly" "1ixl9yj526n8iqh9ckyiah2vzravs9d1akybqq7rvy32n9vgr6hd";
unpackPhase = '' unpackPhase = ''
unpackFile $src unpackFile $src
@ -73,7 +73,7 @@ in stdenv.mkDerivation (rec {
--replace "PassBuilderCallbacksTest.cpp" "" --replace "PassBuilderCallbacksTest.cpp" ""
rm unittests/IR/PassBuilderCallbacksTest.cpp rm unittests/IR/PassBuilderCallbacksTest.cpp
'' + optionalString stdenv.hostPlatform.isMusl '' '' + optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -i ${../TLI-musl.patch} patch -p1 -i ${../../TLI-musl.patch}
substituteInPlace unittests/Support/CMakeLists.txt \ substituteInPlace unittests/Support/CMakeLists.txt \
--replace "add_subdirectory(DynamicLibrary)" "" --replace "add_subdirectory(DynamicLibrary)" ""
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
@ -160,12 +160,23 @@ in stdenv.mkDerivation (rec {
checkTarget = "check-all"; checkTarget = "check-all";
requiredSystemFeatures = [ "big-parallel" ]; requiredSystemFeatures = [ "big-parallel" ];
meta = { meta = llvm_meta // {
description = "Collection of modular and reusable compiler and toolchain technologies";
homepage = "https://llvm.org/"; homepage = "https://llvm.org/";
license = lib.licenses.ncsa; description = "A collection of modular and reusable compiler and toolchain technologies";
maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; longDescription = ''
platforms = lib.platforms.all; The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies. Despite its name, LLVM has little to do with
traditional virtual machines. The name "LLVM" itself is not an acronym; it
is the full name of the project.
LLVM began as a research project at the University of Illinois, with the
goal of providing a modern, SSA-based compilation strategy capable of
supporting both static and dynamic compilation of arbitrary programming
languages. Since then, LLVM has grown to be an umbrella project consisting
of a number of subprojects, many of which are being used in production by
a wide variety of commercial and open source projects as well as being
widely used in academic research. Code in the LLVM project is licensed
under the "Apache 2.0 License with LLVM exceptions".
'';
}; };
} // lib.optionalAttrs enableManpages { } // lib.optionalAttrs enableManpages {
pname = "llvm-manpages"; pname = "llvm-manpages";
@ -185,5 +196,7 @@ in stdenv.mkDerivation (rec {
doCheck = false; doCheck = false;
meta.description = "man pages for LLVM ${version}"; meta = llvm_meta // {
description = "man pages for LLVM ${version}";
};
}) })

View file

@ -1,5 +1,6 @@
{ lib { lib
, stdenv , stdenv
, llvm_meta
, fetch , fetch
, cmake , cmake
, llvm , llvm
@ -11,15 +12,23 @@ stdenv.mkDerivation rec {
pname = "openmp"; pname = "openmp";
inherit version; inherit version;
src = fetch pname "1d16r5whjb2n4n28rg8wn2g9krlc92q6nb0qmnnbzhqhx0rbkjfb"; src = fetch pname "0z8n1wanby6aq3i7d91mgk72hb33zfl5blayk0a22cs7l8i706zb";
nativeBuildInputs = [ cmake perl ]; nativeBuildInputs = [ cmake perl ];
buildInputs = [ llvm ]; buildInputs = [ llvm ];
meta = { meta = llvm_meta // {
description = "Components required to build an executable OpenMP program";
homepage = "https://openmp.llvm.org/"; homepage = "https://openmp.llvm.org/";
license = lib.licenses.mit; description = "Support for the OpenMP language";
platforms = lib.platforms.all; longDescription = ''
The OpenMP subproject of LLVM contains the components required to build an
executable OpenMP program that are outside the compiler itself.
Contains the code for the runtime library against which code compiled by
"clang -fopenmp" must be linked before it can run and the library that
supports offload to target devices.
'';
# "All of the code is dual licensed under the MIT license and the UIUC
# License (a BSD-like license)":
license = with lib.licenses; [ mit ncsa ];
}; };
} }

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
''; '';
installPhase = if stdenv.isDarwin installPhase = if stdenv.isDarwin

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
''; '';
installPhase = if stdenv.isDarwin installPhase = if stdenv.isDarwin

View file

@ -19,7 +19,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
''; '';
cmakeFlags = cmakeFlags =

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation {
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin export TRIPLE=x86_64-apple-darwin
'' + lib.optionalString stdenv.hostPlatform.isMusl '' '' + lib.optionalString stdenv.hostPlatform.isMusl ''
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch} patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
'' + lib.optionalString stdenv.hostPlatform.isWasm '' '' + lib.optionalString stdenv.hostPlatform.isWasm ''
patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch} patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch}
''; '';

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