Project import generated by Copybara.

GitOrigin-RevId: c6c4a3d45ab200f17805d2d86a1ff1cc7ca2b186
This commit is contained in:
Default email 2021-07-16 21:40:57 +02:00
parent 9dfb1d205d
commit 0fe1cd7bea
222 changed files with 17302 additions and 2022 deletions

View file

@ -18,6 +18,8 @@
Additional commands to be executed for finalizing the derivation with runner script.
- `runScript`
A command that would be executed inside the sandbox and passed all the command line arguments. It defaults to `bash`.
- `profile`
Optional script for `/etc/profile` within the sandbox.
One can create a simple environment using a `shell.nix` like that:

View file

@ -7888,6 +7888,12 @@
githubId = 757752;
name = "Jonas Heinrich";
};
ony = {
name = "Mykola Orliuk";
email = "virkony@gmail.com";
github = "ony";
githubId = 11265;
};
OPNA2608 = {
email = "christoph.neidahl@gmail.com";
github = "OPNA2608";
@ -10678,6 +10684,16 @@
githubId = 9853194;
name = "Philipp Bartsch";
};
toastal = {
email = "toastal+nix@posteo.net";
github = "toastal";
githubId = 561087;
name = "toastal";
keys = [{
longkeyid = "ed25519/5CCE6F1466D47C9E";
fingerprint = "7944 74B7 D236 DAB9 C9EF E7F9 5CCE 6F14 66D4 7C9E";
}];
};
tobim = {
email = "nix@tobim.fastmail.fm";
github = "tobim";
@ -11878,12 +11894,6 @@
githubId = 8686360;
name = "Illia Shestakov";
};
foxit64 = {
email = "o4nsxy05@gmail.com";
github = "foxit64";
githubId = 56247270;
name = "Foxit";
};
masaeedu = {
email = "masaeedu@gmail.com";
github = "masaeedu";

View file

@ -486,7 +486,7 @@
</itemizedlist>
</listitem>
</itemizedlist>
<itemizedlist spacing="compact">
<itemizedlist>
<listitem>
<para>
<literal>yggdrasil</literal> was upgraded to a new major
@ -495,6 +495,14 @@
changelog</link>.
</para>
</listitem>
<listitem>
<para>
<literal>icingaweb2</literal> was upgraded to a new release
which requires a manual database upgrade, see
<link xlink:href="https://github.com/Icinga/icingaweb2/releases/tag/v2.9.0">upstream
changelog</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-notable-changes">
@ -538,6 +546,22 @@
<literal>claws-mail-gtk2</literal> package.
</para>
</listitem>
<listitem>
<para>
The wordpress module provides a new interface which allows to
use different webservers with the new option
<link xlink:href="options.html#opt-services.wordpress.webserver"><literal>services.wordpress.webserver</literal></link>.
Currently <literal>httpd</literal> and
<literal>nginx</literal> are supported. The definitions of
wordpress sites should now be set in
<link xlink:href="options.html#opt-services.wordpress.sites"><literal>services.wordpress.sites</literal></link>.
</para>
<para>
Sites definitions that use the old interface are automatically
migrated in the new option. This backward compatibility will
be removed in 22.05.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -124,6 +124,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `yggdrasil` was upgraded to a new major release with breaking changes, see [upstream changelog](https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.4.0).
- `icingaweb2` was upgraded to a new release which requires a manual database upgrade, see [upstream changelog](https://github.com/Icinga/icingaweb2/releases/tag/v2.9.0).
## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
@ -133,3 +135,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- Sway: The terminal emulator `rxvt-unicode` is no longer installed by default via `programs.sway.extraPackages`. The current default configuration uses `alacritty` (and soon `foot`) so this is only an issue when using a customized configuration and not installing `rxvt-unicode` explicitly.
- The `claws-mail` package now references the new GTK+ 3 release branch, major version 4. To use the GTK+ 2 releases, one can install the `claws-mail-gtk2` package.
- The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver). Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites).
Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05.

View file

@ -10,14 +10,16 @@ in
{
options.programs.xwayland = {
enable = mkEnableOption ''
Xwayland X server allows running X programs on a Wayland compositor.
'';
enable = mkEnableOption "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)";
defaultFontPath = mkOption {
type = types.str;
default = optionalString config.fonts.fontDir.enable
"/run/current-system/sw/share/X11/fonts";
defaultText = literalExample ''
optionalString config.fonts.fontDir.enable
"/run/current-system/sw/share/X11/fonts";
'';
description = ''
Default font path. Setting this option causes Xwayland to be rebuilt.
'';
@ -25,7 +27,15 @@ in
package = mkOption {
type = types.path;
description = "The Xwayland package";
default = pkgs.xwayland.override (oldArgs: {
inherit (cfg) defaultFontPath;
});
defaultText = literalExample ''
pkgs.xwayland.override (oldArgs: {
inherit (config.programs.xwayland) defaultFontPath;
});
'';
description = "The Xwayland package to use.";
};
};
@ -37,9 +47,5 @@ in
environment.systemPackages = [ cfg.package ];
programs.xwayland.package = pkgs.xwayland.override (oldArgs: {
inherit (cfg) defaultFontPath;
});
};
}

View file

@ -35,10 +35,20 @@ in
token = mkOption {
type = types.str;
description = "The k3s token to use when connecting to the server. This option only makes sense for an agent.";
description = ''
The k3s token to use when connecting to the server. This option only makes sense for an agent.
WARNING: This option will expose store your token unencrypted world-readable in the nix store.
If this is undesired use the tokenFile option instead.
'';
default = "";
};
tokenFile = mkOption {
type = types.nullOr types.path;
description = "File path containing k3s token to use when connecting to the server. This option only makes sense for an agent.";
default = null;
};
docker = mkOption {
type = types.bool;
default = false;
@ -68,8 +78,8 @@ in
message = "serverAddr should be set if role is 'agent'";
}
{
assertion = cfg.role == "agent" -> cfg.token != "";
message = "token should be set if role is 'agent'";
assertion = cfg.role == "agent" -> cfg.token != "" || cfg.tokenFile != null;
message = "token or tokenFile should be set if role is 'agent'";
}
];
@ -105,7 +115,12 @@ in
"${cfg.package}/bin/k3s ${cfg.role}"
] ++ (optional cfg.docker "--docker")
++ (optional cfg.disableAgent "--disable-agent")
++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} --token ${cfg.token}")
++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} ${
if cfg.tokenFile != null then
"--token-file ${cfg.tokenFile}"
else
"--token ${cfg.token}"
}")
++ [ cfg.extraFlags ]
);
};

View file

@ -475,21 +475,16 @@ in
plugins = lib.mkOption {
type = lib.types.listOf lib.types.package;
default = [];
example = ''
[
(pkgs.fetchFromGitHub {
owner = "discourse";
repo = "discourse-spoiler-alert";
rev = "e200cfa571d252cab63f3d30d619b370986e4cee";
sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33";
})
example = lib.literalExample ''
with config.services.discourse.package.plugins; [
discourse-canned-replies
discourse-github
];
'';
description = ''
<productname>Discourse</productname> plugins to install as a
list of derivations. As long as a plugin supports the
standard install method, packaging it should only require
fetching its source with an appropriate fetcher.
Plugins to install as part of
<productname>Discourse</productname>, expressed as a list of
derivations.
'';
};

View file

@ -262,9 +262,31 @@ services.discourse = {
<para>
You can install <productname>Discourse</productname> plugins
using the <xref linkend="opt-services.discourse.plugins" />
option. As long as a plugin supports the standard install
method, packaging it should only require fetching its source
with an appropriate fetcher.
option. Pre-packaged plugins are provided in
<literal>&lt;your_discourse_package_here&gt;.plugins</literal>. If
you want the full suite of plugins provided through
<literal>nixpkgs</literal>, you can also set the <xref
linkend="opt-services.discourse.package" /> option to
<literal>pkgs.discourseAllPlugins</literal>.
</para>
<para>
Plugins can be built with the
<literal>&lt;your_discourse_package_here&gt;.mkDiscoursePlugin</literal>
function. Normally, it should suffice to provide a
<literal>name</literal> and <literal>src</literal> attribute. If
the plugin has Ruby dependencies, however, they need to be
packaged in accordance with the <link
xlink:href="https://nixos.org/manual/nixpkgs/stable/#developing-with-ruby">Developing
with Ruby</link> section of the Nixpkgs manual and the
appropriate gem options set in <literal>bundlerEnvArgs</literal>
(normally <literal>gemdir</literal> is sufficient). A plugin's
Ruby dependencies are listed in its
<filename>plugin.rb</filename> file as function calls to
<literal>gem</literal>. To construct the corresponding
<filename>Gemfile</filename>, run <command>bundle
init</command>, then add the <literal>gem</literal> lines to it
verbatim.
</para>
<para>
@ -280,7 +302,10 @@ services.discourse = {
<para>
For example, to add the <link
xlink:href="https://github.com/discourse/discourse-spoiler-alert">discourse-spoiler-alert</link>
plugin and disable it by default:
and <link
xlink:href="https://github.com/discourse/discourse-solved">discourse-solved</link>
plugins, and disable <literal>discourse-spoiler-alert</literal>
by default:
<programlisting>
services.discourse = {
@ -301,13 +326,9 @@ services.discourse = {
<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";
};
<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;
<link linkend="opt-services.discourse.mail.incoming.enable">plugins</link> = [
(pkgs.fetchFromGitHub {
owner = "discourse";
repo = "discourse-spoiler-alert";
rev = "e200cfa571d252cab63f3d30d619b370986e4cee";
sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33";
})
<link linkend="opt-services.discourse.mail.incoming.enable">plugins</link> = with config.services.discourse.package.plugins; [
discourse-spoiler-alert
discourse-solved
];
<link linkend="opt-services.discourse.siteSettings">siteSettings</link> = {
plugins = {

View file

@ -23,6 +23,16 @@ in {
'';
};
libraryPaths = mkOption {
type = attrsOf package;
default = { };
description = ''
Libraries to add to the Icingaweb2 library path.
The name of the attribute is the name of the library, the value
is the package to add.
'';
};
virtualHost = mkOption {
type = nullOr str;
default = "icingaweb2";
@ -167,6 +177,9 @@ in {
services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
${poolName} = {
user = "icingaweb2";
phpEnv = {
ICINGAWEB_LIBDIR = toString (pkgs.linkFarm "icingaweb2-libdir" (mapAttrsToList (name: path: { inherit name path; }) cfg.libraryPaths));
};
phpPackage = pkgs.php.withExtensions ({ enabled, all }: [ all.imagick ] ++ enabled);
phpOptions = ''
date.timezone = "${cfg.timezone}"
@ -184,6 +197,11 @@ in {
};
};
services.icingaweb2.libraryPaths = {
ipl = pkgs.icingaweb2-ipl;
thirdparty = pkgs.icingaweb2-thirdparty;
};
systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ];
services.nginx = {

View file

@ -3,13 +3,18 @@
let
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
inherit (lib) any attrValues concatMapStringsSep flatten literalExample;
inherit (lib) mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
eachSite = config.services.wordpress;
cfg = migrateOldAttrs config.services.wordpress;
eachSite = cfg.sites;
user = "wordpress";
group = config.services.httpd.group;
webserver = config.services.${cfg.webserver};
stateDir = hostName: "/var/lib/wordpress/${hostName}";
# Migrate config.services.wordpress.<hostName> to config.services.wordpress.sites.<hostName>
oldSites = filterAttrs (o: _: o != "sites" && o != "webserver");
migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; };
pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
pname = "wordpress-${hostName}";
version = src.version;
@ -261,21 +266,48 @@ in
# interface
options = {
services.wordpress = mkOption {
type = types.attrsOf (types.submodule siteOpts);
type = types.submodule {
# Used to support old interface
freeformType = types.attrsOf (types.submodule siteOpts);
# New interface
options.sites = mkOption {
type = types.attrsOf (types.submodule siteOpts);
default = {};
description = "Specification of one or more WordPress sites to serve";
};
options.webserver = mkOption {
type = types.enum [ "httpd" "nginx" ];
default = "httpd";
description = ''
Whether to use apache2 or nginx for virtual host management.
Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.&lt;name&gt;</literal>.
See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.&lt;name&gt;</literal>.
See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
'';
};
};
default = {};
description = "Specification of one or more WordPress sites to serve via Apache.";
description = "Wordpress configuration";
};
};
# implementation
config = mkIf (eachSite != {}) {
config = mkIf (eachSite != {}) (mkMerge [{
assertions = mapAttrsToList (hostName: cfg:
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
message = "services.wordpress.${hostName}.database.user must be ${user} if the database is to be automatically provisioned";
message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
}
) eachSite;
warnings = mapAttrsToList (hostName: _: ''services.wordpress."${hostName}" is deprecated use services.wordpress.sites."${hostName}"'') (oldSites cfg);
services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
enable = true;
package = mkDefault pkgs.mariadb;
@ -289,14 +321,18 @@ in
services.phpfpm.pools = mapAttrs' (hostName: cfg: (
nameValuePair "wordpress-${hostName}" {
inherit user group;
inherit user;
group = webserver.group;
settings = {
"listen.owner" = config.services.httpd.user;
"listen.group" = config.services.httpd.group;
"listen.owner" = webserver.user;
"listen.group" = webserver.group;
} // cfg.poolConfig;
}
)) eachSite;
}
(mkIf (cfg.webserver == "httpd") {
services.httpd = {
enable = true;
extraModules = [ "proxy_fcgi" ];
@ -332,11 +368,13 @@ in
'';
} ]) eachSite;
};
})
{
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
"d '${stateDir hostName}' 0750 ${user} ${group} - -"
"d '${cfg.uploadsDir}' 0750 ${user} ${group} - -"
"Z '${cfg.uploadsDir}' 0750 ${user} ${group} - -"
"d '${stateDir hostName}' 0750 ${user} ${webserver.group} - -"
"d '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
"Z '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
]) eachSite);
systemd.services = mkMerge [
@ -350,7 +388,7 @@ in
serviceConfig = {
Type = "oneshot";
User = user;
Group = group;
Group = webserver.group;
};
})) eachSite)
@ -360,9 +398,65 @@ in
];
users.users.${user} = {
group = group;
group = webserver.group;
isSystemUser = true;
};
}
};
(mkIf (cfg.webserver == "nginx") {
services.nginx = {
enable = true;
virtualHosts = mapAttrs (hostName: cfg: {
serverName = mkDefault hostName;
root = "${pkg hostName cfg}/share/wordpress";
extraConfig = ''
index index.php;
'';
locations = {
"/" = {
priority = 200;
extraConfig = ''
try_files $uri $uri/ /index.php$is_args$args;
'';
};
"~ \\.php$" = {
priority = 500;
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket};
fastcgi_index index.php;
include "${config.services.nginx.package}/conf/fastcgi.conf";
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
# Mitigate https://httpoxy.org/ vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
'';
};
"~ /\\." = {
priority = 800;
extraConfig = "deny all;";
};
"~* /(?:uploads|files)/.*\\.php$" = {
priority = 900;
extraConfig = "deny all;";
};
"~* \\.(js|css|png|jpg|jpeg|gif|ico)$" = {
priority = 1000;
extraConfig = ''
expires max;
log_not_found off;
'';
};
};
}) eachSite;
};
})
]);
}

View file

@ -10,48 +10,68 @@ import ./make-test-python.nix ({ pkgs, ... }:
];
};
machine =
{ ... }:
{ services.httpd.adminAddr = "webmaster@site.local";
nodes = {
wp_httpd = { ... }: {
services.httpd.adminAddr = "webmaster@site.local";
services.httpd.logPerVirtualHost = true;
services.wordpress."site1.local" = {
database.tablePrefix = "site1_";
};
services.wordpress."site2.local" = {
database.tablePrefix = "site2_";
services.wordpress = {
# Test support for old interface
"site1.local" = {
database.tablePrefix = "site1_";
};
sites = {
"site2.local" = {
database.tablePrefix = "site2_";
};
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
};
wp_nginx = { ... }: {
services.wordpress.webserver = "nginx";
services.wordpress.sites = {
"site1.local" = {
database.tablePrefix = "site1_";
};
"site2.local" = {
database.tablePrefix = "site2_";
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
};
};
testScript = ''
import re
start_all()
machine.wait_for_unit("httpd")
machine.wait_for_unit("phpfpm-wordpress-site1.local")
machine.wait_for_unit("phpfpm-wordpress-site2.local")
wp_httpd.wait_for_unit("httpd")
wp_nginx.wait_for_unit("nginx")
site_names = ["site1.local", "site2.local"]
with subtest("website returns welcome screen"):
for machine in (wp_httpd, wp_nginx):
for site_name in site_names:
assert "Welcome to the famous" in machine.succeed(f"curl -fL {site_name}")
machine.wait_for_unit(f"phpfpm-wordpress-{site_name}")
with subtest("wordpress-init went through"):
for site_name in site_names:
info = machine.get_unit_info(f"wordpress-init-{site_name}")
assert info["Result"] == "success"
with subtest("website returns welcome screen"):
assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}")
with subtest("secret keys are set"):
pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
for site_name in site_names:
assert pattern.search(
machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
)
with subtest("wordpress-init went through"):
info = machine.get_unit_info(f"wordpress-init-{site_name}")
assert info["Result"] == "success"
with subtest("secret keys are set"):
pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
assert pattern.search(
machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
)
'';
})

View file

@ -0,0 +1,75 @@
{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype
, gdk-pixbuf, glib, gtk3, lib, xorg
, libglvnd, libjack2, ffmpeg
, libxkbcommon, xdg-utils, zlib, pulseaudio
, wrapGAppsHook, makeWrapper }:
stdenv.mkDerivation rec {
pname = "bitwig-studio";
version = "4.0";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
sha256 = "38381c1a382abd9543931f34d5ae1789c31ec1217a1c852b5c5c442ccaf97063";
};
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
unpackCmd = ''
mkdir -p root
dpkg-deb -x $curSrc root
'';
dontBuild = true;
dontWrapGApps = true; # we only want $gappsWrapperArgs here
buildInputs = with xorg; [
alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r opt/bitwig-studio $out/libexec
ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
cp -r usr/share $out/share
substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \
$out/share/applications/com.bitwig.BitwigStudio.desktop \
--replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
runHook postInstall
'';
postFixup = ''
# patchelf fails to set rpath on BitwigStudioEngine, so we use
# the LD_LIBRARY_PATH way
find $out -type f -executable \
-not -name '*.so.*' \
-not -name '*.so' \
-not -name '*.jar' \
-not -path '*/resources/*' | \
while IFS= read -r f ; do
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
wrapProgram $f \
"''${gappsWrapperArgs[@]}" \
--prefix PATH : "${lib.makeBinPath [ xdg-utils ffmpeg ]}" \
--suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}"
done
'';
meta = with lib; {
description = "A digital audio workstation";
longDescription = ''
Bitwig Studio is a multi-platform music-creation system for
production, performance and DJing, with a focus on flexible
editing tools and a super-fast workflow.
'';
homepage = "https://www.bitwig.com/";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ bfortz michalrus mrVanDalo ];
};
}

View file

@ -1,4 +1,4 @@
{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeWrapper, openssl, freetype
{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeWrapper, wrapGAppsHook, openssl, freetype
, glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss, libpng, libnotify
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curl, zlib, gnome
, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon
@ -82,7 +82,7 @@ stdenv.mkDerivation {
sha512 = "dabb55d2ba41f977b6d3f03bfcf147d11785136dd1277efc62011c8371ef25cc04531266bd16608639b9b6a500c1a18a45f44ba7a43e17ab5ac139e36eff7149";
};
nativeBuildInputs = [ makeWrapper squashfsTools ];
nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ];
dontStrip = true;
dontPatchELF = true;
@ -109,6 +109,9 @@ stdenv.mkDerivation {
runHook postUnpack
'';
# Prevent double wrapping
dontWrapGApps = true;
installPhase =
''
runHook preInstall
@ -138,6 +141,7 @@ stdenv.mkDerivation {
librarypath="${lib.makeLibraryPath deps}:$libdir"
wrapProgram $out/share/spotify/spotify \
''${gappsWrapperArgs[@]} \
--prefix LD_LIBRARY_PATH : "$librarypath" \
--prefix PATH : "${gnome.zenity}/bin"

View file

@ -1,21 +1,22 @@
{ lib, stdenv
{ lib
, stdenv
, fetchurl
, pkg-config
, autoreconfHook
, pkg-config
, util-linux
, hexdump
, wrapQtAppsHook ? null
, boost
, libevent
, miniupnpc
, zeromq
, zlib
, db48
, sqlite
, boost
, zeromq
, hexdump
, zlib
, miniupnpc
, qrencode
, qtbase ? null
, qttools ? null
, wrapQtAppsHook ? null
, util-linux
, python3
, qrencode
, libevent
, nixosTests
, withGui
, withWallet ? true
@ -43,13 +44,14 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs =
[ pkg-config autoreconfHook ]
++ optional stdenv.isDarwin hexdump
++ optional withGui wrapQtAppsHook;
buildInputs = [ boost zlib zeromq miniupnpc libevent ]
[ autoreconfHook pkg-config ]
++ optionals stdenv.isLinux [ util-linux ]
++ optionals stdenv.isDarwin [ hexdump ]
++ optionals withGui [ wrapQtAppsHook ];
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
++ optionals withWallet [ db48 sqlite ]
++ optionals withGui [ qtbase qttools qrencode ];
++ optionals withGui [ qrencode qtbase qttools ];
postInstall = optional withGui ''
install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop

View file

@ -0,0 +1,86 @@
{ lib
, stdenv
, fetchurl
, autoreconfHook
, pkg-config
, util-linux
, hexdump
, wrapQtAppsHook ? null
, boost
, libevent
, miniupnpc
, zeromq
, zlib
, db48
, sqlite
, qrencode
, qtbase ? null
, qttools ? null
, python3
, openssl
, withGui
, withWallet ? true
}:
with lib;
stdenv.mkDerivation rec {
pname = if withGui then "elements" else "elementsd";
version = "0.18.1.12";
src = fetchurl {
url = "https://github.com/ElementsProject/elements/archive/elements-${version}.tar.gz";
sha256 = "84a51013596b09c62913649ac90373622185f779446ee7e65b4b258a2876609f";
};
nativeBuildInputs =
[ autoreconfHook pkg-config ]
++ optionals stdenv.isLinux [ util-linux ]
++ optionals stdenv.isDarwin [ hexdump ]
++ optionals withGui [ wrapQtAppsHook ];
buildInputs = [ boost libevent miniupnpc zeromq zlib openssl ]
++ optionals withWallet [ db48 sqlite ]
++ optionals withGui [ qrencode qtbase qttools ];
configureFlags = [
"--with-boost-libdir=${boost.out}/lib"
"--disable-bench"
] ++ optionals (!doCheck) [
"--disable-tests"
"--disable-gui-tests"
] ++ optionals (!withWallet) [
"--disable-wallet"
] ++ optionals withGui [
"--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
checkInputs = [ python3 ];
doCheck = true;
checkFlags =
[ "LC_ALL=C.UTF-8" ]
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
# See also https://github.com/NixOS/nixpkgs/issues/24256
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
enableParallelBuilding = true;
meta = {
description = "Open Source implementation of advanced blockchain features extending the Bitcoin protocol";
longDescription= ''
The Elements blockchain platform is a collection of feature experiments and extensions to the
Bitcoin protocol. This platform enables anyone to build their own businesses or networks
pegged to Bitcoin as a sidechain or run as a standalone blockchain with arbitrary asset
tokens.
'';
homepage = "https://www.github.com/ElementsProject/elements";
maintainers = with maintainers; [ prusnak ];
license = licenses.mit;
platforms = platforms.unix;
# Qt GUI is currently broken in upstream
# No rule to make target 'qt/res/rendered_icons/about.png', needed by 'qt/qrc_bitcoin.cpp'.
broken = withGui;
};
}

View file

@ -9,14 +9,9 @@
, boost, libunwind, libsodium, pcsclite
, randomx, zeromq, libgcrypt, libgpgerror
, hidapi, rapidjson, quirc
, trezorSupport ? true
, libusb1
, protobuf
, python3
, trezorSupport ? true, libusb1, protobuf, python3
}:
with lib;
stdenv.mkDerivation rec {
pname = "monero-gui";
version = "0.17.2.2";
@ -30,7 +25,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake pkg-config wrapQtAppsHook
(getDev qttools)
(lib.getDev qttools)
];
buildInputs = [
@ -41,8 +36,8 @@ stdenv.mkDerivation rec {
randomx libgcrypt libgpgerror
boost libunwind libsodium pcsclite
zeromq hidapi rapidjson quirc
] ++ optionals trezorSupport [ libusb1 protobuf python3 ]
++ optionals stdenv.isDarwin [ qtmacextras ];
] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]
++ lib.optionals stdenv.isDarwin [ qtmacextras ];
postUnpack = ''
# copy monero sources here
@ -98,7 +93,7 @@ stdenv.mkDerivation rec {
done;
'';
meta = {
meta = with lib; {
description = "Private, secure, untraceable currency";
homepage = "https://getmonero.org/";
license = licenses.bsd3;

View file

@ -4,17 +4,9 @@
, zeromq, pcsclite, readline, libsodium, hidapi
, randomx, rapidjson
, CoreData, IOKit, PCSC
, trezorSupport ? true
, libusb1 ? null
, protobuf ? null
, python3 ? null
, trezorSupport ? true, libusb1, protobuf, python3
}:
with lib;
assert stdenv.isDarwin -> IOKit != null;
assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ];
stdenv.mkDerivation rec {
pname = "monero";
version = "0.17.2.0";
@ -45,8 +37,8 @@ stdenv.mkDerivation rec {
zeromq pcsclite readline
libsodium hidapi randomx rapidjson
protobuf
] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
++ optionals trezorSupport [ libusb1 protobuf python3 ];
] ++ lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
@ -54,7 +46,7 @@ stdenv.mkDerivation rec {
"-DBUILD_GUI_DEPS=ON"
"-DReadline_ROOT_DIR=${readline.dev}"
"-DRandomX_ROOT_DIR=${randomx}"
] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
outputs = [ "out" "source" ];

View file

@ -0,0 +1,67 @@
{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch
, cmake, pkg-config
, boost, openssl, unbound
, pcsclite, readline, libsodium, hidapi
, rapidjson
, curl, sqlite
, trezorSupport ? true
, libusb1
, protobuf
, python3
}:
stdenv.mkDerivation rec {
pname = "oxen";
version = "9.1.3";
src = fetchFromGitHub {
owner = "oxen-io";
repo = "oxen-core";
rev = "v${version}";
sha256 = "11g3wqn0syk47yfcsdql5737kpad8skwdxhifn2yaz9zy8n3xqqb";
fetchSubmodules = true;
};
# Required for static linking, the only supported install path
lbzmqsrc = fetchurl {
url = "https://github.com/zeromq/libzmq/releases/download/v4.3.3/zeromq-4.3.3.tar.gz";
sha512 = "4c18d784085179c5b1fcb753a93813095a12c8d34970f2e1bfca6499be6c9d67769c71c68b7ca54ff181b20390043170e89733c22f76ff1ea46494814f7095b1";
};
postPatch = ''
# remove vendored libraries
rm -r external/rapidjson
sed -i s,/lib/,/lib64/, external/loki-mq/cmake/local-libzmq//LocalLibzmq.cmake
'';
postInstall = ''
rm -R $out/lib $out/include
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
boost openssl unbound
pcsclite readline
libsodium hidapi rapidjson
protobuf curl sqlite
] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
# "-DUSE_DEVICE_TREZOR=ON"
# "-DBUILD_GUI_DEPS=ON"
"-DReadline_ROOT_DIR=${readline.dev}"
# It build with shared libs but doesn't install them. Fail.
# "-DBUILD_SHARED_LIBS=ON"
"-DLIBZMQ_TARBALL_URL=${lbzmqsrc}"
] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
meta = with lib; {
description = "Private cryptocurrency based on Monero";
homepage = "https://oxen.io/";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = [ maintainers.viric ];
};
}

View file

@ -21,7 +21,7 @@ formats commits for you.
*/
{ lib, stdenv, texinfo, writeText }:
{ lib, stdenv, texinfo, writeText, gcc }:
self: let
@ -32,7 +32,7 @@ self: let
};
elpaBuild = import ../../../../build-support/emacs/elpa.nix {
inherit lib stdenv texinfo writeText;
inherit lib stdenv texinfo writeText gcc;
inherit (self) emacs;
};

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
sha256 = "06fj725xfhf3fwrf7dya7ijmxq3v76kfmd4lr2067a92zhlwr5pv";
};
phases = [ "installPhase" ];
dontConfigure = true;
installPhase = ''
tar xf ${src}

View file

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, ghostscript
, libpng
, makeWrapper
@ -20,6 +21,15 @@ stdenv.mkDerivation rec {
sha256 = "1bm75lf9j54qpbjx8hzp6ixaayp1x9w4v3yxl6vxyw8g5m4sqdk3";
};
patches = [
(fetchpatch {
name = "CVE-2021-3561.patch";
# Using Debian patch since it is not possible to download it directly from Sourceforge
url = "https://sources.debian.org/data/main/f/fig2dev/1:3.2.8-3/debian/patches/33_sanitize-color.patch";
sha256 = "1bppr3li03nj4qjibnddr2f38mpk55pcn5z6k98pf00gabq33fgs";
})
];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ libpng ];

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ unzip ];
phases = [ "unpackPhase" "installPhase" ];
dontConfigure = true;
installPhase = let

View file

@ -1,24 +1,26 @@
{
mkDerivation, lib,
extra-cmake-modules, kdoctools,
ki18n, xcb-util-cursor,
kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins,
knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
qtx11extras, knewstuff, kwayland, qttools
{ mkDerivation, lib
, extra-cmake-modules, kdoctools
, ki18n, xcb-util-cursor
, kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins
, knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi
, qtbase, qtx11extras, knewstuff, kwayland, qttools, kcolorpicker, kimageannotator
}:
mkDerivation {
pname = "spectacle";
meta = with lib; { maintainers = with maintainers; [ ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor
knewstuff kwayland
knewstuff kwayland kcolorpicker kimageannotator
];
postPatch = ''
substituteInPlace desktop/org.kde.spectacle.desktop.cmake \
--replace "Exec=@QtBinariesDir@/qdbus" "Exec=${lib.getBin qttools}/bin/qdbus"
'';
propagatedUserEnvPkgs = [ kipi-plugins libkipi ];
meta = with lib; {
maintainers = with maintainers; [ ttuegel ];
broken = versionOlder qtbase.version "5.15";
};
}

View file

@ -21,11 +21,11 @@
buildPythonApplication rec {
pname = "archivy";
version = "1.3.1";
version = "1.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-g7H22zJOQuxSmoJ3373eRcbderC67vkuiLN1CgaytFM=";
sha256 = "sha256-wQuR7cltDLr2u8BQ851MSjKmeLW8mQ/3bdEF5c9nxL0=";
};
# Relax some dependencies
@ -38,7 +38,10 @@ buildPythonApplication rec {
--replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
--replace 'requests ==' 'requests >=' \
--replace 'validators ==' 'validators >=' \
--replace 'tinydb ==' 'tinydb >='
--replace 'tinydb ==' 'tinydb >=' \
--replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \
--replace 'Werkzeug ==' 'Werkzeug >=' \
--replace 'Flask ==' 'Flask >='
'';
propagatedBuildInputs = [

View file

@ -1,5 +1,6 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, cairo, pango, pkg-config, wayland-protocols
, glib, wayland, libxkbcommon, makeWrapper
, glib, wayland, libxkbcommon, makeWrapper, wayland-scanner
, fetchpatch
}:
stdenv.mkDerivation rec {
@ -15,9 +16,19 @@ stdenv.mkDerivation rec {
outputs = [ "out" "man" ];
nativeBuildInputs = [ meson ninja pkg-config makeWrapper ];
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ meson ninja pkg-config makeWrapper wayland-scanner ];
buildInputs = [ cairo pango wayland-protocols glib wayland libxkbcommon ];
# Patch to support cross-compilation, see https://github.com/nyyManni/dmenu-wayland/pull/23/
patches = [
# can be removed when https://github.com/nyyManni/dmenu-wayland/pull/23 is included
(fetchpatch {
url = "https://github.com/nyyManni/dmenu-wayland/commit/3434410de5dcb007539495395f7dc5421923dd3a.patch";
sha256 = "sha256-im16kU8RWrCY0btYOYjDp8XtfGEivemIPlhwPX0C77o=";
})
];
postInstall = ''
wrapProgram $out/bin/dmenu-wl_run \
--prefix PATH : $out/bin

View file

@ -36,7 +36,7 @@ buildGoModule rec {
description = "Command line todo list with super-reliable git sync";
homepage = src.meta.homepage;
license = licenses.mit;
maintainers = with maintainers; [ stianlagstad foxit64 ];
maintainers = with maintainers; [ stianlagstad ];
platforms = platforms.linux;
};
}

View file

@ -19,7 +19,6 @@ buildGoModule rec {
description = "A simple text-based Minecraft modpack manager";
license = licenses.agpl3;
homepage = src.meta.homepage;
maintainers = with maintainers; [ foxit64 ];
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,41 @@
{ lib, python3Packages, fetchFromGitHub, gtk-layer-shell, gtk3, gobject-introspection, wrapGAppsHook, wlr-randr }:
python3Packages.buildPythonPackage rec {
pname = "nwg-wrapper";
version = "0.0.1";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "1rpkcjr0chmgsfkan88lsi476bamg9a6y7h0x9zsh60a9rdf7dl8";
};
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
buildInputs = [ gtk3 gtk-layer-shell ];
propagatedBuildInputs = with python3Packages; [ i3ipc pygobject3 ];
# ValueError: Namespace GtkLayerShell not available
strictDeps = false;
# No tests
doCheck = false;
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
--prefix PATH : "${lib.makeBinPath [ wlr-randr ]}"
)
'';
pythonImportsCheck = [ "nwg_wrapper" ];
meta = with lib; {
description = "Wrapper to display a script output or a text file content on the desktop in sway or other wlroots-based compositors";
homepage = "https://github.com/nwg-piotr/nwg-wrapper/";
license = licenses.mit;
maintainers = with maintainers; [ artturin ];
};
}

View file

@ -36,14 +36,14 @@ let
});
in stdenv.mkDerivation rec {
pname = "phoc";
version = "0.7.0";
version = "0.7.1";
src = fetchFromGitLab {
domain = "source.puri.sm";
owner = "Librem5";
repo = pname;
rev = "v${version}";
sha256 = "0afiyr2slg38ksrqn19zygsmjy9k5bpwv6n7zjas3s5djr6hch45";
sha256 = "0n188xa2pwl4258naxhz45cvipcid8y1zvlbddll9xydrrh9bwqn";
};
nativeBuildInputs = [

View file

@ -19,14 +19,14 @@ for entry in feed.entries:
continue
url = requests.get(entry.link).url.split('?')[0]
content = entry.content[0].value
content = html_tags.sub('', content) # Remove any HTML tags
if re.search(r'Linux', content) is None:
continue
#print(url) # For debugging purposes
version = re.search(r'\d+(\.\d+){3}', content).group(0)
print('chromium: TODO -> ' + version)
print('\n' + url)
if fixes := re.search(r'This update includes .+ security fixes\.', content):
fixes = html_tags.sub('', fixes.group(0))
if fixes := re.search(r'This update includes .+ security fixes\.', content).group(0):
zero_days = re.search(r'Google is aware( of reports)? that .+ in the wild\.', content)
if zero_days:
fixes += " " + zero_days.group(0)

View file

@ -1,8 +1,8 @@
{
"stable": {
"version": "91.0.4472.114",
"sha256": "0wbyiwbdazgjjgj9vs56x26q3g9r80a57gfl0f2rfl1j7xwgxiy1",
"sha256bin64": "00ac1dyqxpxy1j11jvc5j35bgc629n2f2pll3912gzih4ir0vrys",
"version": "91.0.4472.164",
"sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
"sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
"deps": {
"gn": {
"version": "2021-04-06",
@ -18,9 +18,9 @@
}
},
"beta": {
"version": "92.0.4515.93",
"sha256": "077i1rw84cgcmg2k0p1ycg5pwvnhgsa3qdfsr7icrn7gmagagqd0",
"sha256bin64": "1gf4qv8wvaagdgsinf2gprx9wcfgm8jql6870k50bi26mjqv9800",
"version": "92.0.4515.101",
"sha256": "1jcas265hhlqd9f63h4zw4n4xsl26c5zmjlmbf1px5icvcjfb2xd",
"sha256bin64": "0sb5l5nzfzisvrnhcfwhdh9rn6z6pkzqz4p92c40q2mlhmjrfhj0",
"deps": {
"gn": {
"version": "2021-05-07",

View file

@ -32,10 +32,10 @@ rec {
firefox-esr-78 = common rec {
pname = "firefox-esr";
ffversion = "78.11.0esr";
ffversion = "78.12.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4";
sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
};
meta = {

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2021.6.0";
version = "2021.7.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = version;
sha256 = "sha256-cX0kdBPDgwjHphxGWrnXohHPp1nzs4SnvCry4AxMtp0=";
sha256 = "sha256-FQejuKBDUCCcEq9ZmSMigdvqowTurCYEhOiXQN7exIE=";
};
vendorSha256 = null;

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "octant";
version = "0.21.0";
version = "0.22.0";
src =
let
@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
};
in
fetchsrc version {
x86_64-linux = "sha256-Ben2wAquHADWBv1MEfPWxs96pLz1bK2F6bLoYVTSkng=";
aarch64-linux = "sha256-1kK0Gu4cQYk+QDJJJiiDan4SnP3Xjr8nLOBtv26UDV4=";
x86_64-darwin = "sha256-gOkHpUTWKrikKYZmkfgck3Lf3g5Pakcn0i2A9Hd07UE=";
aarch64-darwin = "sha256-Xpl8odVXw4WzF7CEZ+Bbxa6oQDBv9VMzHCNOjIcFGzE=";
x86_64-linux = "sha256-1/vyV6pUqovVpovTYFF4d75wJvtTNdrbLZyjw1lLacA=";
aarch64-linux = "sha256-1duNW0Edj0jrpv/RMrebtZF4ph6j3PXCJ2RFejOopGQ=";
x86_64-darwin = "sha256-Ur5jBPk5hA6cGg+pPf36Ijh94gWEdaWlJK3yCMBYyEU=";
aarch64-darwin = "sha256-RaiXW+MUihk291UWmrf6gLpyrd5stIkhyWNFEQ0daCk=";
};
dontConfigure = true;

View file

@ -2,7 +2,7 @@
let
pname = "octant-desktop";
version = "0.21.0";
version = "0.22.0";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
@ -15,8 +15,8 @@ let
src = fetchurl {
url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
sha256 = {
x86_64-linux = "sha256-Woridi8uGsxvccdeaDzVLs+2YrRKUnm3WbX5LhorM1Y=";
x86_64-darwin = "sha256-NF3bm8WFEs4kgrUp+7qCbj6Z6pUMRUp7h4nhJQDJnoY=";
x86_64-linux = "sha256-xMdNoH0UE/KLIQ0DjJfb+ZB/q2F+kyFEncrQ9YYJgE0=";
x86_64-darwin = "sha256-y3fmxrsQ0hCa1wuMiRGHf79kpi25qXv/idKrVT87oc0=";
}.${system};
};

View file

@ -2,20 +2,18 @@
buildGoModule rec {
pname = "tektoncd-cli";
version = "0.19.1";
version = "0.20.0";
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-duJSTk5LmJWbaVYybZZHWDe8E/ZqZLCCsdPIiH5d/G4=";
sha256 = "sha256-aVR1xNmL6M/m+1znt70vrCtuABCqDz0sDp8mDFI2uIg=";
};
vendorSha256 = null;
preBuild = ''
buildFlagsArray+=("-ldflags" "-s -w -X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}")
'';
ldflags = [ "-s" "-w" "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" ];
nativeBuildInputs = [ installShellFiles ];
@ -27,7 +25,7 @@ buildGoModule rec {
# Some tests try to write to the home dir
export HOME="$TMPDIR"
# Change the golden files to match our desired version
sed -i "s/dev/${version}/" pkg/cmd/version/testdata/TestGetVersions-*.golden
sed -i "s/dev/${version}/" pkg/cmd/version/testdata/{TestGetVersions-,TestGetComponentVersions/}*.golden
'';
postInstall = ''
@ -43,8 +41,7 @@ buildGoModule rec {
installCheckPhase = ''
runHook preInstallCheck
$out/bin/tkn --help
# New tkn version functionality outputs empty https://github.com/tektoncd/cli/issues/1389
# $out/bin/tkn version | grep "Client version: ${version}"
$out/bin/tkn version | grep "Client version: ${version}"
runHook postInstallCheck
'';

View file

@ -5,6 +5,7 @@
, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
, writeScript, common-updater-scripts
}:
let
@ -71,7 +72,15 @@ in stdenv.mkDerivation rec {
mimeType = "x-scheme-handler/discord";
};
passthru.updateScript = ./update-discord.sh;
passthru.updateScript = writeScript "discord-update-script" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -eou pipefail;
url=$(curl -sI "https://discordapp.com/api/download/${builtins.replaceStrings ["discord-" "discord"] ["" "stable"] pname}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
version=''${url##https://dl*.discordapp.net/apps/linux/}
version=''${version%%/*.tar.gz}
update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix
'';
meta = with lib; {
description = "All-in-one cross-platform voice and text chat for gamers";

View file

@ -27,10 +27,10 @@ in {
pname = "discord-canary";
binaryName = "DiscordCanary";
desktopName = "Discord Canary";
version = "0.0.125";
version = "0.0.126";
src = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
sha256 = "0ly5a6l7rvl54mc39xma14jrcrf11q3ndnkkr16by5hy3palmz9g";
sha256 = "EraTDRKd6t0c9U68tSRdGkeB1hfqNS4KUewEXwkL8io=";
};
};
}.${branch}

View file

@ -1,36 +0,0 @@
#!/usr/bin/env bash
# script to generate ./default.nix
set -e
exec >"${BASH_SOURCE%/*}/default.nix"
cat <<EOF
{ branch ? "stable", pkgs }:
# Generated by ./update-discord.sh
let
inherit (pkgs) callPackage fetchurl;
in {
EOF
for branch in "" ptb canary; do
url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
version=${url##https://dl*.discordapp.net/apps/linux/}
version=${version%%/*.tar.gz}
echo " ${branch:-stable} = callPackage ./base.nix rec {"
echo " pname = \"discord${branch:+-}${branch}\";"
case $branch in
"") suffix="" ;;
ptb) suffix="PTB" ;;
canary) suffix="Canary" ;;
esac
echo " binaryName = \"Discord${suffix}\";"
echo " desktopName = \"Discord${suffix:+ }${suffix}\";"
echo " version = \"${version}\";"
echo " src = fetchurl {"
echo " url = \"${url//${version}/\$\{version\}}\";"
echo " sha256 = \"$(nix-prefetch-url "$url")\";"
echo " };"
echo " };"
done
echo "}.\${branch}"

View file

@ -3,56 +3,58 @@
, fetchFromGitLab
, pkg-config
, cmake
, qtquickcontrols2
, qtmultimedia
, qtgraphicaleffects
, qtkeychain
, libpulseaudio
, olm
, libsecret
, cmark
, extra-cmake-modules
, kconfig
, kdbusaddons
, ki18n
, kirigami2
, kitemmodels
, ki18n
, knotifications
, kdbusaddons
, kconfig
, libquotient
, kquickimageedit
, libpulseaudio
, libquotient
, libsecret
, olm
, qqc2-desktop-style
, qtgraphicaleffects
, qtkeychain
, qtmultimedia
, qtquickcontrols2
}:
mkDerivation rec {
pname = "neochat";
version = "1.1.1";
version = "1.2";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "network";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HvLPsU+fxlyPDP7i9OSnZ/C1RjouOQCp+4WCl6FlFJo=";
sha256 = "sha256-Kpv7BY/qS0A3xFlYFhz1RRNwQVsyhOTHHGDbWRTTv1I=";
};
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
buildInputs = [
qtkeychain
qtquickcontrols2
qtmultimedia
qtgraphicaleffects
olm
libsecret
cmark
kconfig
kdbusaddons
ki18n
kirigami2
kitemmodels
ki18n
knotifications
kdbusaddons
kconfig
libquotient
kquickimageedit
libpulseaudio
libquotient
libsecret
olm
qtgraphicaleffects
qtkeychain
qtmultimedia
qtquickcontrols2
qqc2-desktop-style
];
meta = with lib; {

View file

@ -2,8 +2,9 @@
, gtkspell2, aspell
, gst_all_1, startupnotification, gettext
, perlPackages, libxml2, nss, nspr, farstream
, libXScrnSaver, ncurses, avahi, dbus, dbus-glib, intltool, libidn
, lib, python, libICE, libXext, libSM
, libXScrnSaver, avahi, dbus, dbus-glib, intltool, libidn
, lib, python3, libICE, libXext, libSM
, libgnt, ncurses
, cyrus_sasl ? null
, openssl ? null
, gnutls ? null
@ -16,28 +17,27 @@
let unwrapped = stdenv.mkDerivation rec {
pname = "pidgin";
majorVersion = "2";
version = "${majorVersion}.13.0";
version = "${majorVersion}.14.6";
src = fetchurl {
url = "mirror://sourceforge/pidgin/${pname}-${version}.tar.bz2";
sha256 = "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7";
sha256 = "bb45f7c032f9efd6922a5dbf2840995775e5584771b23992d04f6eff7dff5336";
};
inherit nss ncurses;
nativeBuildInputs = [ makeWrapper ];
NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0";
buildInputs = let
python-with-dbus = python.withPackages (pp: with pp; [ dbus-python ]);
python-with-dbus = python3.withPackages (pp: with pp; [ dbus-python ]);
in [
aspell startupnotification
gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
libxml2 nss nspr
libXScrnSaver ncurses python-with-dbus
libXScrnSaver python-with-dbus
avahi dbus dbus-glib intltool libidn
libICE libXext libSM cyrus_sasl
libgnt ncurses # optional: build finch - the console UI
]
++ (lib.optional (openssl != null) openssl)
++ (lib.optional (gnutls != null) gnutls)
@ -62,6 +62,7 @@ let unwrapped = stdenv.mkDerivation rec {
"--disable-meanwhile"
"--disable-nm"
"--disable-tcl"
"--disable-gevolution"
]
++ (lib.optionals (cyrus_sasl != null) [ "--enable-cyrus-sasl=yes" ])
++ (lib.optionals (gnutls != null) ["--enable-gnutls=yes" "--enable-nss=no"])

View file

@ -1,14 +1,45 @@
{ lib, mkDerivation, fetchFromGitHub, cmake
, qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
, libidn, qca-qt5, libXScrnSaver, hunspell
, libsecret, libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
{ lib
, mkDerivation
, fetchFromGitHub
, cmake
, qtbase
, qtmultimedia
, qtx11extras
, qttools
, libidn
, qca-qt5
, libXScrnSaver
, hunspell
, libsecret
, libgcrypt
, libotr
, html-tidy
, libgpgerror
, libsignal-protocol-c
, usrsctp
# Voice messages
, chatType ? "basic" # See the assertion below for available options
, qtwebkit
, qtwebengine
, enablePlugins ? true
# Voice messages
, voiceMessagesSupport ? true
, gst_all_1
, enablePsiMedia ? false
, pkg-config
}:
assert builtins.elem (lib.toLower chatType) [
"basic" # Basic implementation, no web stuff involved
"webkit" # Legacy one, based on WebKit (see https://wiki.qt.io/Qt_WebKit)
"webengine" # QtWebEngine (see https://wiki.qt.io/QtWebEngine)
];
assert enablePsiMedia -> enablePlugins;
mkDerivation rec {
pname = "psi-plus";
version = "1.5.1549";
@ -21,19 +52,40 @@ mkDerivation rec {
};
cmakeFlags = [
"-DENABLE_PLUGINS=ON"
"-DCHAT_TYPE=${chatType}"
"-DENABLE_PLUGINS=${if enablePlugins then "ON" else "OFF"}"
"-DBUILD_PSIMEDIA=${if enablePsiMedia then "ON" else "OFF"}"
];
nativeBuildInputs = [ cmake qttools ];
nativeBuildInputs = [
cmake
qttools
] ++ lib.optionals enablePsiMedia [
pkg-config
];
buildInputs = [
qtbase qtmultimedia qtx11extras qtwebengine
libidn qca-qt5 libXScrnSaver hunspell
libsecret libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
qtbase
qtmultimedia
qtx11extras
libidn
qca-qt5
libXScrnSaver
hunspell
libsecret
libgcrypt
libotr
html-tidy
libgpgerror
libsignal-protocol-c
usrsctp
] ++ lib.optionals voiceMessagesSupport [
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
] ++ lib.optionals (chatType == "webkit") [
qtwebkit
] ++ lib.optionals (chatType == "webengine") [
qtwebengine
];
preFixup = lib.optionalString voiceMessagesSupport ''

View file

@ -28,7 +28,7 @@ let
else "");
in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "5.8.0"; # Please backport all updates to the stable channel.
version = "5.9.0"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "0icwmlnnnlsj2g1p2q4lf7hlhys3rakaim7bah5qkmhwkrzkk30y";
sha256 = "1pmyi9b0b5h6mi6dwml41x4igy8rfpsv6j67izh78m5gla8wp34h";
};
nativeBuildInputs = [

View file

@ -36,9 +36,9 @@ appimageTools.wrapType2 {
git
glib
glibc
gnome.gdk_pixbuf
gnome.gtk
gnome.gtk.dev
gdk-pixbuf
gtk3
gtk3.dev
gnome.zenity
gnome2.GConf
gnumake
@ -48,7 +48,7 @@ appimageTools.wrapType2 {
gtk3.dev
gtk3-x11
gtk3-x11.dev
kdialog
plasma5Packages.kdialog
libappindicator-gtk2.out
libexif
(libjpeg.override { enableJpeg8 = true; }).out
@ -70,12 +70,12 @@ appimageTools.wrapType2 {
sqlite.dev
udev
unzip
utillinux
util-linux
watch
wget
which
wrapGAppsHook
xdg_utils
xdg-utils
xorg.libX11
xorg.libXau
xorg.libXaw

View file

@ -4,8 +4,8 @@ stdenv.mkDerivation {
name = "gappa-1.4.0";
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/file/38044/gappa-1.4.0.tar.gz";
sha256 = "sha256-/IDIf5XnFBqVllgH5GtQ6C8g7vxheaVcXNoZiXlsPGA=";
url = "https://gforge.inria.fr/frs/download.php/file/38436/gappa-1.4.0.tar.gz";
sha256 = "12x42z901pr05ldmparqdi8sq9s7fxbavhzk2dbq3l6hy247dwbb";
};
buildInputs = [ gmp mpfr boost.dev ];

View file

@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
sha256 = "169kshjq4cf4i9v92azv0xaflrnik5686w7fwcgdhd6qkbzflzl6";
};
dontConfigure = true;
dontStrip = true;
phases = "unpackPhase installPhase";
installPhase = ''
mkdir -p $out/bin
cp -R bin $out/libexec

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
dontConfigure = true;
installPhase = ''
mkdir -p $out/share
@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ timor ];
inherit version;
};
}

View file

@ -8,10 +8,10 @@ let allVersions = with lib; flip map
# N.B. Versions in this list should be ordered from newest to oldest.
[
{
version = "12.3.0";
version = "12.3.1";
lang = "en";
language = "English";
sha256 = "045df045f6e796ded59f64eb2e0f1949ac88dcba1d5b6e05fb53ea0a4aed7215";
sha256 = "51b9cab12fd91b009ea7ad4968a2c8a59e94dc55d2e6cc1d712acd5ba2c4d509";
}
{
version = "11.3.0";

View file

@ -1,6 +1,27 @@
{ lib, stdenv, fetchurl, fetchpatch, cmake, pcre, pkg-config, python2
, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, xz, gsl_1, xxHash
, Cocoa, OpenGL, noSplash ? false }:
{ lib
, stdenv
, fetchurl
, fetchpatch
, cmake
, pcre
, pkg-config
, python2
, libX11
, libXpm
, libXft
, libXext
, libGLU
, libGL
, zlib
, libxml2
, lz4
, xz
, gsl_1
, xxHash
, Cocoa
, OpenGL
, noSplash ? false
}:
stdenv.mkDerivation rec {
pname = "root";
@ -15,7 +36,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl_1 xxHash ]
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
;
patches = [
./sw_vers_root5.patch

View file

@ -1,23 +1,73 @@
{ stdenv, lib, fetchurl, makeWrapper, cmake, git, ftgl, gl2ps, glew, gsl
, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, xz, pcre, nlohmann_json
, pkg-config, python, xxHash, zlib, zstd
, libAfterImage, giflib, libjpeg, libtiff, libpng
, Cocoa, CoreSymbolication, OpenGL, noSplash ? false }:
{ stdenv
, lib
, fetchurl
, makeWrapper
, cmake
, git
, ftgl
, gl2ps
, glew
, gsl
, libX11
, libXpm
, libXft
, libXext
, libGLU
, libGL
, libxml2
, lz4
, xz
, pcre
, nlohmann_json
, pkg-config
, python
, xxHash
, zlib
, zstd
, libAfterImage
, giflib
, libjpeg
, libtiff
, libpng
, Cocoa
, CoreSymbolication
, OpenGL
, noSplash ? false
}:
stdenv.mkDerivation rec {
pname = "root";
version = "6.24.00";
version = "6.24.02";
src = fetchurl {
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
sha256 = "12crjzd7pzx5qpk2pb3z0rhmxlw5gsqaqzfl48qiq8c9l940b8wx";
sha256 = "sha256-BQfhCV4nnMxyQPZR0llmAkMlF5+oWhJZtpS1ZyOtfBw=";
};
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
buildInputs = [ ftgl gl2ps glew pcre zlib zstd libxml2 lz4 xz gsl xxHash libAfterImage giflib libjpeg libtiff libpng nlohmann_json python.pkgs.numpy ]
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ]
;
buildInputs = [
ftgl
gl2ps
glew
pcre
zlib
zstd
libxml2
lz4
xz
gsl
xxHash
libAfterImage
giflib
libjpeg
libtiff
libpng
nlohmann_json
python.pkgs.numpy
]
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ]
;
patches = [
./sw_vers.patch

View file

@ -1,15 +1,14 @@
{ lib, stdenv, fetchFromGitHub, coreutils, gnugrep, gnused, makeWrapper, git
}:
{ lib, stdenv, fetchFromGitHub, coreutils, git, gnugrep, gnused, makeWrapper, inotify-tools }:
stdenv.mkDerivation rec {
pname = "git-sync";
version = "20151024";
version = "unstable-2021-07-14";
src = fetchFromGitHub {
owner = "simonthum";
repo = "git-sync";
rev = "eb9adaf2b5fd65aac1e83d6544b9076aae6af5b7";
sha256 = "01if8y93wa0mwbkzkzx2v1vqh47zlz4k1dysl6yh5rmppd1psknz";
rev = "7d3d34bf3ee2483fba00948f5b97f964b849a590";
sha256 = "sha256-PuYREW5NBkYF1tlcLTbOI8570nvHn5ifN8OIInfNNxI=";
};
nativeBuildInputs = [ makeWrapper ];
@ -18,10 +17,11 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp -a git-sync $out/bin/git-sync
cp -a git-* $out/bin/
'';
wrapperPath = with lib; makeBinPath [
inotify-tools
coreutils
git
gnugrep

View file

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
pname = "gitea";
version = "1.14.4";
version = "1.14.5";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-sl/Vml8QmwZEAd2PIYWQcP7s6NYeomGJQGKhRiddtoo=";
sha256 = "sha256-8nwLVpe/5IjXJqO179lN80B/3WGUL3LKM8OWdh/bYOE=";
};
unpackPhase = ''

View file

@ -13,11 +13,11 @@ let
in
stdenv.mkDerivation rec {
pname = "gitkraken";
version = "7.6.1";
version = "7.7.0";
src = fetchzip {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
sha256 = "sha256-wpfTozXxanZkYtYQHY950PLsVO4lXLt5OOP/xDCrFEw=";
sha256 = "0zb94ipi777qkznxpgb7ah31mx9b63713k92vhxhz4glna59lvk3";
};
dontBuild = true;

View file

@ -8,7 +8,7 @@ rec {
, moby-src
, runcRev, runcSha256
, containerdRev, containerdSha256
, tiniRev, tiniSha256, buildxSupport ? false
, tiniRev, tiniSha256, buildxSupport ? true
# package dependencies
, stdenv, fetchFromGitHub, buildGoPackage
, makeWrapper, installShellFiles, pkg-config, glibc
@ -77,6 +77,10 @@ rec {
extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute2 iptables e2fsprogs xz xfsprogs procps util-linux git ]);
postPatch = ''
patchShebangs hack/make.sh hack/make/
'';
buildPhase = ''
export GOCACHE="$TMPDIR/go-cache"
# build engine
@ -88,11 +92,6 @@ rec {
cd -
'';
postPatch = ''
patchShebangs .
substituteInPlace ./hack/make.sh --replace libsystemd-journal libsystemd
'';
installPhase = ''
cd ./go/src/${goPackagePath}
install -Dm755 ./bundles/dynbinary-daemon/dockerd $out/libexec/docker/dockerd
@ -144,6 +143,14 @@ rec {
sqlite lvm2 btrfs-progs systemd libseccomp
] ++ optionals (buildxSupport) [ docker-buildx ];
postPatch = ''
patchShebangs man scripts/build/
substituteInPlace ./scripts/build/.variables --replace "set -eu" ""
'' + optionalString buildxSupport ''
substituteInPlace ./cli-plugins/manager/manager_unix.go --replace /usr/libexec/docker/cli-plugins \
${lib.strings.makeSearchPathOutput "bin" "libexec/docker/cli-plugins" [docker-buildx]}
'';
# Keep eyes on BUILDTIME format - https://github.com/docker/cli/blob/${version}/scripts/build/.variables
buildPhase = ''
export GOCACHE="$TMPDIR/go-cache"
@ -162,14 +169,6 @@ rec {
cd -
'';
postPatch = ''
patchShebangs .
substituteInPlace ./scripts/build/.variables --replace "set -eu" ""
'' + optionalString buildxSupport ''
substituteInPlace ./cli-plugins/manager/manager_unix.go --replace /usr/libexec/docker/cli-plugins \
${lib.strings.makeSearchPathOutput "bin" "libexec/docker/cli-plugins" [docker-buildx]}
'';
outputs = ["out" "man"];
installPhase = ''
@ -211,7 +210,7 @@ rec {
homepage = "https://www.docker.com/";
description = "An open source project to pack, ship and run any application as a lightweight container";
license = licenses.asl20;
maintainers = with maintainers; [ offline tailhook vdemeester periklis ];
maintainers = with maintainers; [ offline tailhook vdemeester periklis mikroskeem ];
platforms = with platforms; linux ++ darwin;
};
@ -222,14 +221,14 @@ rec {
# Get revisions from
# https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
docker_20_10 = callPackage dockerGen rec {
version = "20.10.6";
version = "20.10.7";
rev = "v${version}";
sha256 = "15kknb26vyzjgqmn8r81a1sy1i5br6bvngqd5xljihppnxvp2gvl";
sha256 = "1r854jrjph4v1n5lr82z0cl0241ycili4qr3qh3k3bmqx790cds3";
moby-src = fetchFromGitHub {
owner = "moby";
repo = "moby";
rev = "v${version}";
sha256 = "1l4ra9bsvydaxd2fy7dgxp7ynpp0mrlwvcdhxiafw596559ab6qk";
sha256 = "0xhn11kgcbzda4z9j0rflvq0nfivizh3jrzhanwn5vnghafy4zqw";
};
runcRev = "b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"; # v1.0.0-rc95
runcSha256 = "18sbvmlvb6kird4w3rqsfrjdj7n25firabvdxsl0rxjfy9r1g2xb";

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, pkg-config
, libjpeg, libtiff, libpng, freetype
, libtiff
, fltk, gtk
, libX11, libXext, libICE
, libICE, libSM
, dbus
, fetchpatch
}:
@ -24,8 +24,16 @@ stdenv.mkDerivation rec {
})
];
postPatch = ''
# Causes fatal ldconfig cache generation attempt on non-NixOS Linux
for mkfile in autoconf/Makefile.common.lib.in libAfter{Base,Image}/Makefile.in; do
substituteInPlace $mkfile \
--replace 'test -w /etc' 'false'
done
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libjpeg libtiff libpng freetype fltk gtk libX11 libXext libICE dbus dbus ];
buildInputs = [ libtiff fltk gtk libICE libSM dbus ];
# A strange type of bug: dbus is not immediately found by pkg-config
preConfigure = ''

View file

@ -37,14 +37,14 @@ let
};
in stdenv.mkDerivation rec {
pname = "phosh";
version = "0.11.0";
version = "0.12.0";
src = fetchFromGitLab {
domain = "source.puri.sm";
owner = "Librem5";
repo = pname;
rev = "v${version}";
sha256 = "104qib4blh32s7bg6j3xza3s9syrxrvyh2wpyh5yx7v5wqarr20x";
sha256 = "1s0lgq04qz562iri535wpwvfkmmngdpclyl329cf7rc9ihy1kjvs";
};
nativeBuildInputs = [

View file

@ -1,6 +1,6 @@
# builder for Emacs packages built for packages.el
{ lib, stdenv, emacs, texinfo, writeText }:
{ lib, stdenv, emacs, texinfo, writeText, gcc }:
with lib;
@ -19,7 +19,7 @@ let
in
import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({
import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
phases = "installPhase fixupPhase distPhase";

View file

@ -1,6 +1,6 @@
# generic builder for Emacs packages
{ lib, stdenv, emacs, texinfo, writeText, ... }:
{ lib, stdenv, emacs, texinfo, writeText, gcc, ... }:
with lib;
@ -72,6 +72,8 @@ stdenv.mkDerivation ({
LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib";
nativeBuildInputs = [ gcc ];
addEmacsNativeLoadPath = true;
postInstall = ''

View file

@ -1,7 +1,7 @@
# builder for Emacs packages built for packages.el
# using MELPA package-build.el
{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText }:
{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText, gcc }:
with lib;
@ -28,7 +28,7 @@ let
in
import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({
import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
ename =
if ename == null

View file

@ -32,7 +32,7 @@ in customEmacsPackages.emacs.pkgs.withPackages (epkgs: [ epkgs.evil epkgs.magit
*/
{ lib, lndir, makeWrapper, runCommand }: self:
{ lib, lndir, makeWrapper, runCommand, gcc }: self:
with lib;
@ -65,7 +65,10 @@ runCommand
# Store all paths we want to add to emacs here, so that we only need to add
# one path to the load lists
deps = runCommand "emacs-packages-deps"
{ inherit explicitRequires lndir emacs; }
{
inherit explicitRequires lndir emacs;
nativeBuildInputs = lib.optional nativeComp gcc;
}
''
findInputsOld() {
local pkg="$1"; shift

View file

@ -0,0 +1,39 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "kanit";
version = "unstable-2020-06-16";
src = fetchFromGitHub {
owner = "cadsondemak";
repo = pname;
rev = "467dfe842185681d8042cd608b8291199dd37cda";
sha256 = "0p0klb0376r8ki4ap2j99j7jcsq6wgb7m1hf3j1dkncwm7ikmg3h";
};
installPhase = ''
mkdir -p $out/share/doc/${pname}/css/ $out/share/fonts/{opentype,truetype}
cp $src/OFL.txt $src/documentation/{BRIEF.md,features.html} $out/share/doc/${pname}
cp $src/documentation/css/fonts.css $out/share/doc/${pname}/css
cp $src/fonts/otf/*.otf $out/share/fonts/opentype
cp $src/fonts/ttf/*.ttf $out/share/fonts/truetype
'';
meta = with lib; {
homepage = "https://cadsondemak.github.io/kanit/";
description = "A loopless Thai and sans serif Latin typeface for contemporary and futuristic uses";
longDescription = ''
Kanit means mathematics in Thai, and the Kanit typeface family is a formal
Loopless Thai and Sans Latin design. It is a combination of concepts,
mixing a Humanist Sans Serif motif with the curves of Capsulated Geometric
styles that makes it suitable for various uses, contemporary and
futuristic. A notable detail is that the stroke terminals have flat angles,
which allows the design to enjoy decreased spacing between letters while
preserving readability and legibility at smaller point sizes.
'';
license = licenses.ofl;
platforms = platforms.all;
maintainers = [ maintainers.toastal ];
};
}

View file

@ -1,32 +1,39 @@
{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme, jdupes }:
stdenv.mkDerivation rec {
pname = "qogir-icon-theme";
version = "2020-11-22";
version = "2021-07-14";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "04rkpsiz8jg9i55mslsh7a6wgyp30ja3xss7qacqimdab236300d";
sha256 = "0anma2ss3yqr9njx4ay2nyxjkgnj7ky17c93ipwgrvgsv8jk5nn2";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [ gtk3 jdupes ];
propagatedBuildInputs = [ hicolor-icon-theme ];
dontDropIconThemeCache = true;
# These fixup steps are slow and unnecessary.
dontPatchELF = true;
dontRewriteSymlinks = true;
installPhase = ''
runHook preInstall
patchShebangs install.sh
mkdir -p $out/share/icons
name= ./install.sh -d $out/share/icons
jdupes -l -r $out/share/icons
runHook postInstall
'';
meta = with lib; {
description = "Flat colorful design icon theme";
homepage = "https://github.com/vinceliuice/Qogir-icon-theme";
license = with licenses; [ gpl3 ];
license = with licenses; [ gpl3Only ];
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
};

View file

@ -52,13 +52,13 @@ let
in
stdenv.mkDerivation rec {
pname = "arcan";
version = "0.6.1pre1+unstable=2021-07-07";
version = "0.6.1pre1+unstable=2021-07-10";
src = fetchFromGitHub {
owner = "letoram";
repo = "arcan";
rev = "f3341ab94b32d02f3d15c3b91a512b2614e950a5";
hash = "sha256-YBtRA5uCk4tjX3Bsu5vMkaNaCLRlM6HVQ53sna3gDsY=";
rev = "25da999e6e03688c71c7df3852314c01ed610e0d";
hash = "sha256-+ZF6mD/Z0N/5QCjXe80z4L6JOE33+Yv4ZlwKvlG/c44=";
};
postUnpack = ''

View file

@ -37,6 +37,6 @@ rec {
everyone-wrapped = callPackage ./wrapper.nix {
name = "everyone-wrapped";
appls = [ durden pipeworld prio ];
appls = [ durden pipeworld ];
};
}

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "durden";
version = "0.6.1+unstable=2021-06-25";
version = "0.6.1+unstable=2021-07-11";
src = fetchFromGitHub {
owner = "letoram";
repo = pname;
rev = "fb618fccc57a68b6ce933b4df5822acd1965d591";
hash = "sha256-PovI837Xca4wV0g0s4tYUMFGVUDf+f8HcdvM1+0aDxk=";
rev = "8e0a5c07cade9ad9f606781615c9ebae7b28b6d5";
hash = "sha256-4cGuCAeYmmr4ACWt2akVQu2cPqqyE6p+XFaKWcFf3t0=";
};
installPhase = ''

View file

@ -21,7 +21,7 @@ symlinkJoin rec {
--set ARCAN_LIBPATH "${placeholder "out"}/lib/" \
--set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/" \
--set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/" \
--set ARCAN_STATEBASEPATH "$HOME/.arcan/resources/savestates/"
--set ARCAN_STATEBASEPATH "\$HOME/.arcan/resources/savestates/"
done
'';
}

View file

@ -312,7 +312,7 @@ lib.makeScope pkgs.newScope (self: with self; {
# added 2019-02-08
inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4
libgtop libgudev libhttpseverywhere librsvg libsecret gdk-pixbuf gtksourceview gtksourceviewmm gtksourceview4
easytag meld orca rhythmbox shotwell gnome-usage
clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl;
inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16

View file

@ -11,15 +11,17 @@
, glib
, granite
, libgee
, libhandy
, elementary-icon-theme
, elementary-gtk-theme
, gettext
, wrapGAppsHook
, appstream
}:
stdenv.mkDerivation rec {
pname = "elementary-feedback";
version = "1.0";
version = "6.0.0";
repoName = "feedback";
@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-GkVnowqGXwnEgplT34Po/BKzC2F/IQE2kIw0SLSLhGU=";
sha256 = "1fh9a0nfvbrxamki9avm9by760csj2nqy4ya7wzbnqbrrvjwd3fv";
};
passthru = {
@ -47,11 +49,13 @@ stdenv.mkDerivation rec {
];
buildInputs = [
appstream
elementary-icon-theme
granite
gtk3
elementary-gtk-theme
libgee
libhandy
glib
];

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -16,6 +15,7 @@
, json-glib
, libgda
, libgpod
, libhandy
, libnotify
, libpeas
, libsoup
@ -31,7 +31,7 @@
stdenv.mkDerivation rec {
pname = "elementary-music";
version = "5.0.5";
version = "5.1.0";
repoName = "music";
@ -39,17 +39,9 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-3GZoBCu9rF+BnNk9APBzKWO1JYg1XYWwrEvwcjWvYDE=";
sha256 = "13v7rii9ardyd661s6d4hvvs4ig44v7s3qd1bx7imaigr72gg58b";
};
patches = [
# Fix build with latest Vala.
(fetchpatch {
url = "https://github.com/elementary/music/commit/9ed3bbb3a0d68e289a772b4603f58e52a4973316.patch";
sha256 = "fFO97SQzTc2fYFJFGfFPSUCdkCgZxfX1fjDQ7GH4BUs=";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -82,6 +74,7 @@ stdenv.mkDerivation rec {
libgda
libgee
libgpod
libhandy
libnotify
libpeas
libsignon-glib

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -12,6 +11,7 @@
, libaccounts-glib
, libexif
, libgee
, libhandy
, geocode-glib
, gexiv2
, libgphoto2
@ -35,7 +35,7 @@
stdenv.mkDerivation rec {
pname = "elementary-photos";
version = "2.7.0";
version = "2.7.1";
repoName = "photos";
@ -43,17 +43,9 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-bTk4shryAWWMrKX3mza6xQ05qpBPf80Ey7fmYgKLUiY=";
sha256 = "1dql14k43rv3in451amiwv4z71hz3ailx67hd8gw1ka3yw12128p";
};
patches = [
# Fix build with latest Vala.
(fetchpatch {
url = "https://github.com/elementary/photos/commit/27e529fc96da828982563e2e19a6f0cef883a29e.patch";
sha256 = "w39wh45VHggCs62TN6wpUEyz/hJ1y7qL1Ox+sp0Pt2s=";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -88,6 +80,7 @@ stdenv.mkDerivation rec {
libgee
libgphoto2
libgudev
libhandy
libraw
librest
libsoup

View file

@ -20,7 +20,7 @@
stdenv.mkDerivation rec {
pname = "elementary-videos";
version = "2.7.2";
version = "2.7.3";
repoName = "videos";
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-MSyhCXsziQ0MD4lGp9X/9odidjT/L+2Aihwd1qCGvB0=";
sha256 = "04nl9kn33dysvsg0n5qx1z8qgrifkgfwsm7gh1l308v3n8c69lh7";
};
passthru = {

View file

@ -13,7 +13,7 @@
stdenv.mkDerivation rec {
pname = "elementary-icon-theme";
version = "5.3.1";
version = "6.0.0";
repoName = "icons";
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-6XFzjpuHpGIZ+azkPuFcSF7p66sDonwLwjvlNBZDRmc=";
sha256 = "0k94zi8fzi0nf5q471fmrlz8jjkv8m6vav1spzv7ynkg2hik8d9b";
};
passthru = {

View file

@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "granite";
version = "6.0.0";
version = "6.1.0";
outputs = [ "out" "dev" ];
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-RGukXeFmtnyCfK8pKdvTHL0t8yhEYwAiiPelTy1Xcf0=";
sha256 = "02hn4abnsn6fm2m33pjmlnkj8dljsm292z62vn8ccvy7l8f9my6l";
};
passthru = {

View file

@ -48,7 +48,8 @@ stdenv.mkDerivation rec {
postInstall = let
includedLibs = [ "base" "contrib" "network" "prelude" ];
name = "${pname}-${version}";
packagePaths = builtins.map (l: "$out/${name}/" + l) includedLibs;
packagePaths =
builtins.map (l: "$out/${name}/${l}-${version}") includedLibs;
additionalIdris2Paths = builtins.concatStringsSep ":" packagePaths;
in ''
# Remove existing idris2 wrapper that sets incorrect LD_LIBRARY_PATH

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "dqlite";
version = "1.7.0";
version = "1.8.0";
src = fetchFromGitHub {
owner = "canonical";
repo = pname;
rev = "v${version}";
sha256 = "sha256-lCMTmKnDv/fb5fP/Ch8AwpuNfmR+gecxeIweO6hHj5U=";
sha256 = "0ghvwlgj5574kpgc53bfhqp4437xxvr05061wwxplpjxn37hy26d";
};
nativeBuildInputs = [ autoreconfHook file pkg-config ];

View file

@ -1,52 +1,5 @@
{ lib, stdenv, fetchurl, pkg-config, xlibsWrapper, xorgproto, libXi
, freeglut, libGLU, libGL, libjpeg, zlib, libXft, libpng
, libtiff, freetype, Cocoa, AGL, GLUT
}:
let
version = "1.4.x-r13121";
in
stdenv.mkDerivation {
pname = "fltk";
inherit version;
src = fetchurl {
url = "https://www.fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz";
sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63";
};
patches = lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
++ lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
propagatedBuildInputs = [ xorgproto ]
++ (if stdenv.isDarwin
then [ freetype libtiff ]
else [ xlibsWrapper libXi freeglut ]);
configureFlags = [
"--enable-gl"
"--enable-largefile"
"--enable-shared"
"--enable-threads"
"--enable-xft"
];
preConfigure = ''
make clean
rm VERSION
'';
enableParallelBuilding = true;
meta = with lib; {
description = "A C++ cross-platform lightweight GUI library";
homepage = "https://www.fltk.org";
platforms = platforms.linux ++ platforms.darwin;
license = licenses.gpl2;
};
import ./common.nix rec {
version = "1.4.x-2021-07-04";
rev = "1008cdfab27609a6f6a0e82dadad9fd9cbd8a66d";
sha256 = "1h057dyhd04b9bjci952b2l7brxv183l9jw9i50mn9qjfljmvqim";
}

View file

@ -0,0 +1,205 @@
{ version, rev, sha256 }:
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
, zlib
, libjpeg
, libpng
, fontconfig
, freetype
, libX11
, libXext
, libXinerama
, libXfixes
, libXcursor
, libXft
, libXrender
, ApplicationServices
, Carbon
, Cocoa
, withGL ? true
, libGL
, libGLU
, glew
, OpenGL
, withCairo ? true
, cairo
, withPango ? (lib.strings.versionAtLeast version "1.4" && stdenv.hostPlatform.isLinux)
, pango
, withDocs ? true
, doxygen
, graphviz
, texlive
, withExamples ? true
, withShared ? true
}:
let
onOff = value: if value then "ON" else "OFF";
tex = texlive.combine {
inherit (texlive)
scheme-medium varwidth multirow hanging adjustbox collectbox stackengine
sectsty tocloft newunicodechar etoc;
};
in
stdenv.mkDerivation rec {
pname = "fltk";
inherit version;
src = fetchFromGitHub {
owner = "fltk";
repo = "fltk";
inherit rev sha256;
};
outputs = [ "out" ]
++ lib.optional withExamples "bin"
++ lib.optional withDocs "doc";
# Manually move example & test binaries to $bin to avoid cyclic dependencies on dev binaries
outputBin = lib.optionalString withExamples "out";
patches = lib.optionals stdenv.hostPlatform.isDarwin [
./nsosv.patch
];
postPatch = ''
patchShebangs documentation/make_*
'';
nativeBuildInputs = [
cmake
pkg-config
] ++ lib.optionals withDocs [
doxygen
graphviz
tex
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
ApplicationServices
Carbon
] ++ lib.optionals (withGL && !stdenv.hostPlatform.isDarwin) [
libGL
libGLU
] ++ lib.optionals (withExamples && withGL) [
glew
];
propagatedBuildInputs = [
zlib
libjpeg
libpng
] ++ lib.optionals stdenv.hostPlatform.isLinux [
freetype
fontconfig
libX11
libXext
libXinerama
libXfixes
libXcursor
libXft
libXrender
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
Cocoa
] ++ lib.optionals (withGL && stdenv.hostPlatform.isDarwin) [
OpenGL
] ++ lib.optionals withCairo [
cairo
] ++ lib.optionals withPango [
pango
];
cmakeFlags = [
# Common
"-DOPTION_BUILD_SHARED_LIBS=${onOff withShared}"
"-DOPTION_USE_SYSTEM_ZLIB=ON"
"-DOPTION_USE_SYSTEM_LIBJPEG=ON"
"-DOPTION_USE_SYSTEM_LIBPNG=ON"
# X11
"-DOPTION_USE_XINERAMA=${onOff stdenv.hostPlatform.isLinux}"
"-DOPTION_USE_XFIXES=${onOff stdenv.hostPlatform.isLinux}"
"-DOPTION_USE_XCURSOR=${onOff stdenv.hostPlatform.isLinux}"
"-DOPTION_USE_XFT=${onOff stdenv.hostPlatform.isLinux}"
"-DOPTION_USE_XRENDER=${onOff stdenv.hostPlatform.isLinux}"
"-DOPTION_USE_XDBE=${onOff stdenv.hostPlatform.isLinux}"
# GL
"-DOPTION_USE_GL=${onOff withGL}"
"-DOpenGL_GL_PREFERENCE=GLVND"
# Cairo
"-DOPTION_CAIRO=${onOff withCairo}"
"-DOPTION_CAIROEXT=${onOff withCairo}"
# Pango
"-DOPTION_USE_PANGO=${onOff withPango}"
# Examples & Tests
"-DFLTK_BUILD_EXAMPLES=${onOff withExamples}"
# Docs
"-DOPTION_BUILD_HTML_DOCUMENTATION=${onOff withDocs}"
"-DOPTION_BUILD_PDF_DOCUMENTATION=${onOff withDocs}"
"-DOPTION_INSTALL_HTML_DOCUMENTATION=${onOff withDocs}"
"-DOPTION_INSTALL_PDF_DOCUMENTATION=${onOff withDocs}"
"-DOPTION_INCLUDE_DRIVER_DOCUMENTATION=${onOff withDocs}"
];
preBuild = lib.optionalString (withCairo && withShared && stdenv.hostPlatform.isDarwin) ''
# unresolved symbols in cairo dylib without this: https://github.com/fltk/fltk/issues/250
export NIX_LDFLAGS="$NIX_LDFLAGS -undefined dynamic_lookup"
'';
postBuild = lib.optionalString withDocs ''
make docs
'';
postInstall = lib.optionalString withExamples ''
mkdir -p $bin/bin
mv bin/{test,examples}/* $bin/bin/
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Library/Frameworks
mv $out{,/Library/Frameworks}/FLTK.framework
moveAppBundles() {
echo "Moving and symlinking $1"
appname="$(basename "$1")"
binname="$(basename "$(find "$1"/Contents/MacOS/ -type f -executable | head -n1)")"
curpath="$(dirname "$1")"
mkdir -p "$curpath"/../Applications/
mv "$1" "$curpath"/../Applications/
[ -f "$curpath"/"$binname" ] && rm "$curpath"/"$binname"
ln -s ../Applications/"$appname"/Contents/MacOS/"$binname" "$curpath"/"$binname"
}
rm $out/bin/fluid.icns
for app in $out/bin/*.app ${lib.optionalString withExamples "$bin/bin/*.app"}; do
moveAppBundles "$app"
done
'';
postFixup = ''
substituteInPlace $out/bin/fltk-config \
--replace "/$out/" "/"
'';
meta = with lib; {
description = "A C++ cross-platform lightweight GUI library";
homepage = "https://www.fltk.org";
platforms = platforms.unix;
# LGPL2 with static linking exception
# https://www.fltk.org/COPYING.php
license = licenses.lgpl2Only;
};
}

View file

@ -1,46 +1,5 @@
{ lib, stdenv, fetchurl, pkg-config, xlibsWrapper, xorgproto, libXi
, freeglut, libGL, libGLU, libjpeg, zlib, libXft, libpng
, libtiff, freetype, Cocoa, AGL, GLUT
}:
let
version = "1.3.5";
in
stdenv.mkDerivation {
pname = "fltk";
inherit version;
src = fetchurl {
url = "https://www.fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
sha256 = "00jp24z1818k9n6nn6lx7qflqf2k13g4kxr0p8v1d37kanhb4ac7";
};
patches = lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
++ lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
propagatedBuildInputs = [ xorgproto ]
++ (if stdenv.isDarwin
then [ freetype libtiff ]
else [ xlibsWrapper libXi freeglut ]);
configureFlags = [
"--enable-gl"
"--enable-largefile"
"--enable-shared"
"--enable-threads"
"--enable-xft"
];
enableParallelBuilding = true;
meta = with lib; {
description = "A C++ cross-platform lightweight GUI library";
homepage = "https://www.fltk.org";
platforms = platforms.linux ++ platforms.darwin;
license = licenses.gpl2;
};
import ./common.nix rec {
version = "1.3.6";
rev = "release-${version}";
sha256 = "0vzk4d6j927v7dxywr5xlqlf70myal1xikkdfvd11p94rcdf9bsv";
}

View file

@ -0,0 +1,24 @@
{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase }:
mkDerivation rec {
pname = "kcolorpicker";
version = "0.1.6";
src = fetchFromGitHub {
owner = "ksnip";
repo = "kColorPicker";
rev = "v${version}";
sha256 = "1167xwk75yiz697vddbz3lq42l7ckhyl2cvigy4m05qgg9693ksd";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase ];
meta = with lib; {
description = "Qt based Color Picker with popup menu";
homepage = "https://github.com/ksnip/kColorPicker";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ fliegendewurst ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,24 @@
{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, kcolorpicker, qttools }:
mkDerivation rec {
pname = "kimageannotator";
version = "0.5.1";
src = fetchFromGitHub {
owner = "ksnip";
repo = "kImageAnnotator";
rev = "v${version}";
sha256 = "0hfvrd78lgwd7bccz0fx2pr7g0v3s401y5plra63rxwk55ffkxf8";
};
nativeBuildInputs = [ cmake qttools ];
buildInputs = [ qtbase kcolorpicker ];
meta = with lib; {
description = "Tool for annotating images";
homepage = "https://github.com/ksnip/kImageAnnotator";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ fliegendewurst ];
platforms = platforms.linux;
};
}

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
doCheck = true;
configureFlags = lib.optional stdenv.targetPlatform.isWindows "--disable-examples";
configureFlags = lib.optional (stdenv.targetPlatform.isWindows || stdenv.hostPlatform.isStatic) "--disable-examples";
meta = with lib; {
homepage = "http://www.hyperrealm.com/libconfig";

View file

@ -0,0 +1,37 @@
{ stdenv, lib, fetchurl, meson, ninja, pkg-config
, gtk-doc, docbook-xsl-nons
, glib, ncurses, libxml2
, buildDocs ? true
}:
stdenv.mkDerivation rec {
pname = "libgnt";
version = "2.14.1";
outputs = [ "out" "dev" ] ++ lib.optional buildDocs "devdoc";
src = fetchurl {
url = "mirror://sourceforge/pidgin/${pname}-${version}.tar.xz";
sha256 = "1n2bxg0ignn53c08cp69pj4sdg53kwlqn23rincyjmpr327fdhsy";
};
nativeBuildInputs = [ meson ninja pkg-config ]
++ lib.optionals buildDocs [ gtk-doc docbook-xsl-nons ];
buildInputs = [ glib ncurses libxml2 ];
postPatch = ''
substituteInPlace meson.build --replace \
"ncurses_sys_prefix = '/usr'" \
"ncurses_sys_prefix = '${lib.getDev ncurses}'"
'' + lib.optionalString (!buildDocs) ''
sed "/^subdir('doc')$/d" -i meson.build
'';
meta = with lib; {
description = "An ncurses toolkit for creating text-mode graphical user interfaces";
homepage = "https://keep.imfreedom.org/libgnt/libgnt/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with lib.maintainers; [ ony ];
};
}

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
configureFlags = [ "--disable-mac-universal" "--enable-cxx" ];
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-const-int-float-conversion -Wno-error=nullability-completeness-on-arrays";
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=deprecated-declarations -Wno-error=implicit-const-int-float-conversion -Wno-error=nullability-completeness-on-arrays";
propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ];

View file

@ -0,0 +1,36 @@
{ lib, fetchFromGitLab, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "tezos-rust-libs";
version = "1.0";
src = fetchFromGitLab {
owner = "tezos";
repo = "tezos-rust-libs";
rev = "v${version}";
sha256 = "1ffkzbvb0ls4wk9205g3xh2c26cmwnl68x43gh6dm9z4xsic94v5";
};
cargoSha256 = "0dgyqfr3dvvdwdi1wvpd7v9j21740jy4zwrwiwknw7csb4bq9wfx";
preBuild = ''
mkdir .cargo
mv cargo-config .cargo/config
'';
postInstall = ''
mkdir $out/lib/tezos-rust-libs
cp -r rustc-bls12-381/include $out/include
cp $out/lib/librustc_bls12_381.a $out/lib/tezos-rust-libs
cp $out/lib/librustzcash.a $out/lib/tezos-rust-libs
'';
doCheck = true;
meta = {
homepage = "https://gitlab.com/tezos/tezos-rust-libs";
description = "Tezos: all rust dependencies and their dependencies";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View file

@ -35,6 +35,24 @@ let
'';
};
hyperspace-cli = super."@hyperspace/cli".override {
nativeBuildInputs = with pkgs; [
makeWrapper
libtool
autoconf
automake
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodejs
];
postInstall = ''
wrapProgram "$out/bin/hyp" --prefix PATH : ${
pkgs.lib.makeBinPath [ pkgs.nodejs ]
}
'';
};
coc-imselect = super.coc-imselect.override {
meta.broken = since "10";
};
@ -107,6 +125,19 @@ let
nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package self.pulp ];
});
jsonplaceholder = super.jsonplaceholder.override (drv: {
buildInputs = [ nodejs ];
postInstall = ''
exe=$out/bin/jsonplaceholder
mkdir -p $out/bin
cat >$exe <<EOF
#!${pkgs.runtimeShell}
exec -a jsonplaceholder ${nodejs}/bin/node $out/lib/node_modules/jsonplaceholder/index.js
EOF
chmod a+x $exe
'';
});
makam = super.makam.override {
buildInputs = [ pkgs.nodejs pkgs.makeWrapper ];
postFixup = ''
@ -277,7 +308,7 @@ let
};
teck-programmer = super.teck-programmer.override {
buildInputs = [ pkgs.libusb ];
buildInputs = [ pkgs.libusb1 ];
};
vega-cli = super.vega-cli.override {

View file

@ -3,6 +3,7 @@
, "@antora/cli"
, "@antora/site-generator-default"
, "@bitwarden/cli"
, "@hyperspace/cli"
, "@nestjs/cli"
, "@vue/cli"
, "@webassemblyjs/cli"
@ -139,6 +140,7 @@
, "json-refs"
, "json-server"
, "jsonlint"
, "jsonplaceholder"
, "kaput-cli"
, "katex"
, "karma"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,38 @@
{ lib, fetchFromGitLab, buildDunePackage, ff, zarith, ctypes, tezos-rust-libs, alcotest }:
buildDunePackage rec {
pname = "bls12-381";
version = "0.3.15";
src = fetchFromGitLab {
owner = "dannywillems";
repo = "ocaml-bls12-381";
rev = version;
sha256 = "1s8n657fsl2gs01p7v2ffpcfzymavifhhpriyx1gq5qh4zvvw4vr";
};
useDune2 = true;
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [
ff
zarith
ctypes
tezos-rust-libs
];
checkInputs = [
alcotest
];
# This is a hack to work around the hack used in the dune files
OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
doCheck = true;
meta = {
homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
description = "OCaml binding for bls12-381 from librustzcash";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View file

@ -0,0 +1,32 @@
{ lib, fetchFromGitLab, buildDunePackage, zarith, alcotest }:
buildDunePackage rec {
pname = "ff";
version = "0.4.0";
src = fetchFromGitLab {
owner = "dannywillems";
repo = "ocaml-ff";
rev = version;
sha256 = "1ik29srzkd0pl48p1si9p1c4f8vmx5rgm02yv2arj3vg0a1nfhdv";
};
useDune2 = true;
propagatedBuildInputs = [
zarith
];
checkInputs = [
alcotest
];
doCheck = true;
meta = {
homepage = "https://gitlab.com/dannywillems/ocaml-ff";
description = "OCaml implementation of Finite Field operations";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View file

@ -1,16 +1,16 @@
{ lib, fetchurl, buildDunePackage
, repr, ppx_repr, fmt, logs, mtime, stdlib-shims
, cmdliner, progress, semaphore-compat
, cmdliner, progress, semaphore-compat, optint
, alcotest, crowbar, re
}:
buildDunePackage rec {
pname = "index";
version = "1.3.1";
version = "1.4.0";
src = fetchurl {
url = "https://github.com/mirage/index/releases/download/${version}/index-${version}.tbz";
sha256 = "sha256-ycZi/TFLoGRloSpjYqH5FCHWP3eyiTCIDLESEn5inuI=";
sha256 = "13xd858c50fs651p1y8x70323ff0gzbf6zgc0a25f6xh3rsmkn4c";
};
minimumOCamlVersion = "4.08";
@ -28,6 +28,7 @@ buildDunePackage rec {
progress
repr
semaphore-compat
optint
];
checkInputs = [

View file

@ -1,5 +1,5 @@
{ lib, buildDunePackage
, alcotest-lwt, index, irmin, irmin-layers, irmin-test, ocaml_lwt, fpath
, alcotest-lwt, index, irmin, irmin-layers, irmin-test, ocaml_lwt, fpath, optint
}:
buildDunePackage rec {
@ -12,7 +12,7 @@ buildDunePackage rec {
useDune2 = true;
buildInputs = [ fpath ];
propagatedBuildInputs = [ index irmin irmin-layers ocaml_lwt ];
propagatedBuildInputs = [ index irmin irmin-layers ocaml_lwt optint ];
checkInputs = [ alcotest-lwt irmin-test ];

View file

@ -2,11 +2,11 @@
buildDunePackage rec {
pname = "ppx_irmin";
version = "2.6.0";
version = "2.7.1";
src = fetchurl {
url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
sha256 = "1db134221e82c424260a0e206b640fcb82902be35eea4137af2bcd9c98d3ac0f";
sha256 = "fac7c032f472fb369378ad2d8fe77e7cd3b3c1c6a0d7bf59980b69528891b399";
};
minimumOCamlVersion = "4.08";

View file

@ -0,0 +1,30 @@
{ lib
, fetchFromGitLab
, buildDunePackage
, lwt
}:
buildDunePackage rec {
pname = "lwt-watcher";
version = "0.1";
src = fetchFromGitLab {
owner = "nomadic-labs";
repo = pname;
rev = "v${version}";
sha256 = "0kaf7py02i0dn9rvrbzxh4ljfg059wc8xvm093m9wy7lsa68rax9";
};
useDune2 = true;
propagatedBuildInputs = [
lwt
];
doCheck = true;
meta = {
description = "One-to-many broadcast in Lwt";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ulrikstrid ];
};
}

View file

@ -2,11 +2,11 @@
buildDunePackage rec {
pname = "repr";
version = "0.3.0";
version = "0.4.0";
src = fetchurl {
url = "https://github.com/mirage/${pname}/releases/download/${version}/${pname}-fuzz-${version}.tbz";
sha256 = "sha256-2b0v5RwutvyidzEDTEb5p33IvJ+3t2IW+KVxYD1ufXQ=";
sha256 = "1kpwgncyxcrq90dn7ilja7c5i88whc3fz4fmq1lwr0ar95d7d48p";
};
minimumOCamlVersion = "4.08";

View file

@ -1,4 +1,4 @@
{ buildDunePackage, ppx_deriving, ppxlib, repr, alcotest, hex }:
{ lib, buildDunePackage, ppx_deriving, ppxlib, repr, alcotest, hex }:
buildDunePackage {
pname = "ppx_repr";

View file

@ -0,0 +1,13 @@
{ lib, buildDunePackage, resto, uri }:
buildDunePackage {
pname = "resto-acl";
inherit (resto) src version meta useDune2 doCheck;
minimalOCamlVersion = "4.05";
propagatedBuildInputs = [
resto
uri
];
}

View file

@ -0,0 +1,20 @@
{ buildDunePackage
, resto
, resto-directory
, resto-cohttp
, uri
, lwt
}:
buildDunePackage {
pname = "resto-cohttp-client";
inherit (resto) src version meta useDune2 doCheck;
propagatedBuildInputs = [
resto
resto-directory
resto-cohttp
uri
lwt
];
}

View file

@ -0,0 +1,27 @@
{ lib
, buildDunePackage
, resto
, resto-directory
, resto-acl
, resto-cohttp
, resto-cohttp-client
, resto-cohttp-server
, uri
, lwt
}:
buildDunePackage {
pname = "resto-cohttp-self-serving-client";
inherit (resto) src version meta useDune2 doCheck;
propagatedBuildInputs = [
resto
resto-directory
resto-acl
resto-cohttp
resto-cohttp-client
resto-cohttp-server
uri
lwt
];
}

View file

@ -0,0 +1,25 @@
{ lib
, buildDunePackage
, resto
, resto-directory
, resto-acl
, resto-cohttp
, cohttp-lwt-unix
, conduit-lwt-unix
, lwt
}:
buildDunePackage {
pname = "resto-cohttp-server";
inherit (resto) src version meta useDune2 doCheck;
propagatedBuildInputs = [
resto
resto-directory
resto-acl
resto-cohttp
cohttp-lwt-unix
conduit-lwt-unix
lwt
];
}

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