Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-06-28 12:02:14 +00:00 committed by GitHub
commit 009d5bfc6d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 1042 additions and 116 deletions

View file

@ -351,6 +351,7 @@
./services/databases/cockroachdb.nix
./services/databases/couchdb.nix
./services/databases/dragonflydb.nix
./services/databases/dgraph.nix
./services/databases/firebird.nix
./services/databases/foundationdb.nix
./services/databases/hbase.nix

View file

@ -0,0 +1,148 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.dgraph;
settingsFormat = pkgs.formats.json {};
configFile = settingsFormat.generate "config.json" cfg.settings;
dgraphWithNode = pkgs.runCommand "dgraph" {
nativeBuildInputs = [ pkgs.makeWrapper ];
}
''
mkdir -p $out/bin
makeWrapper ${cfg.package}/bin/dgraph $out/bin/dgraph \
--set PATH '${lib.makeBinPath [ pkgs.nodejs ]}:$PATH' \
'';
securityOptions = {
NoNewPrivileges = true;
AmbientCapabilities = "";
CapabilityBoundingSet = "";
DeviceAllow = "";
LockPersonality = true;
PrivateTmp = true;
PrivateDevices = true;
PrivateUsers = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
RemoveIPC = true;
RestrictNamespaces = true;
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
SystemCallFilter = [
"@system-service"
"~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid"
];
};
in
{
options = {
services.dgraph = {
enable = mkEnableOption "Dgraph native GraphQL database with a graph backend";
package = lib.mkPackageOption pkgs "dgraph" { };
settings = mkOption {
type = settingsFormat.type;
default = {};
description = ''
Contents of the dgraph config. For more details see https://dgraph.io/docs/deploy/config
'';
};
alpha = {
host = mkOption {
type = types.str;
default = "localhost";
description = ''
The host which dgraph alpha will be run on.
'';
};
port = mkOption {
type = types.port;
default = 7080;
description = ''
The port which to run dgraph alpha on.
'';
};
};
zero = {
host = mkOption {
type = types.str;
default = "localhost";
description = ''
The host which dgraph zero will be run on.
'';
};
port = mkOption {
type = types.port;
default = 5080;
description = ''
The port which to run dgraph zero on.
'';
};
};
};
};
config = mkIf cfg.enable {
services.dgraph.settings = {
badger.compression = mkDefault "zstd:3";
};
systemd.services.dgraph-zero = {
description = "Dgraph native GraphQL database with a graph backend. Zero controls node clustering";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
StateDirectory = "dgraph-zero";
WorkingDirectory = "/var/lib/dgraph-zero";
DynamicUser = true;
ExecStart = "${cfg.package}/bin/dgraph zero --my ${cfg.zero.host}:${toString cfg.zero.port}";
Restart = "on-failure";
} // securityOptions;
};
systemd.services.dgraph-alpha = {
description = "Dgraph native GraphQL database with a graph backend. Alpha serves data";
after = [ "network.target" "dgraph-zero.service" ];
requires = [ "dgraph-zero.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
StateDirectory = "dgraph-alpha";
WorkingDirectory = "/var/lib/dgraph-alpha";
DynamicUser = true;
ExecStart = "${dgraphWithNode}/bin/dgraph alpha --config ${configFile} --my ${cfg.alpha.host}:${toString cfg.alpha.port} --zero ${cfg.zero.host}:${toString cfg.zero.port}";
ExecStop = ''
${pkgs.curl}/bin/curl --data "mutation { shutdown { response { message code } } }" \
--header 'Content-Type: application/graphql' \
-X POST \
http://localhost:8080/admin
'';
Restart = "on-failure";
} // securityOptions;
};
};
meta.maintainers = with lib.maintainers; [ happysalada ];
}

View file

@ -19,6 +19,7 @@ in
wantedBy = [ "multi-user.target" ];
path = with pkgs; [
csdr
digiham
alsaUtils
netcat
];

View file

@ -0,0 +1,34 @@
{ stdenv, lib, fetchFromGitHub
, cmake, pkg-config, udev, protobuf
}:
stdenv.mkDerivation rec {
pname = "codecserver";
version = "0.2.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = pname;
rev = version;
sha256 = "sha256-JzaVBFl3JsFNDm4gy1qOKA9uAjUjNeMiI39l5gfH0aE=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
udev
];
propagatedBuildInputs = [ protobuf ];
meta = with lib; {
homepage = "https://github.com/jketterl/codecserver";
description = "Modular audio codec server";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = teams.c3d2.members;
};
}

View file

@ -1,31 +1,32 @@
{ mkDerivation, lib, fetchFromGitHub, qmake, libsForQt5, stdenv }:
{ mkDerivation, lib, fetchFromGitHub, qmake, qttools, qtx11extras, stdenv }:
mkDerivation rec {
pname = "notepad-next";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitHub {
owner = "dail8859";
repo = "NotepadNext";
rev = "v${version}";
sha256 = "sha256-J7Ngt6YtAAZsza2lN0d1lX3T8gNJHp60sCwwaLMGBHQ=";
sha256 = "sha256-LyUV85wW6FGlkV0qSIfkLMHpXXj1qvRnGZuYy8ASwZ8=";
# External dependencies - https://github.com/dail8859/NotepadNext/issues/135
fetchSubmodules = true;
};
nativeBuildInputs = [ qmake libsForQt5.qt5.qttools ];
qmakeFlags = [ "src/NotepadNext.pro" ];
nativeBuildInputs = [ qmake qttools ];
buildInputs = [ qtx11extras ];
qmakeFlags = [
"PREFIX=${placeholder "out"}"
"src/NotepadNext.pro"
];
# References
# https://github.com/dail8859/NotepadNext/blob/master/doc/Building.md
# https://github.com/dail8859/NotepadNext/pull/124
postPatch = ''
substituteInPlace ./src/NotepadNext/NotepadNext.pro --replace /usr $out
substituteInPlace src/i18n.pri \
--replace 'EXTRA_TRANSLATIONS = \' "" \
--replace '$$[QT_INSTALL_TRANSLATIONS]/qt_zh_CN.qm' ""
'';
# Upstream suggestion: https://github.com/dail8859/NotepadNext/issues/135
CXXFLAGS = "-std=gnu++1z";
meta = with lib; {
homepage = "https://github.com/dail8859/NotepadNext";
description = "Notepad++-like editor for the Linux desktop";

View file

@ -0,0 +1,47 @@
{ mkDerivation
, lib
, fetchurl
, extra-cmake-modules
, kdoctools
, wrapGAppsHook
, karchive
, kconfig
, kcrash
, kguiaddons
, kinit
, kparts
, kwindowsystem
}:
mkDerivation rec {
pname = "krusader";
version = "2.7.2";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
hash = "sha256-QaOaQ7PELdHR7K6obfMMr/agYf7MHWb2CFmyo8qXYQk=";
};
nativeBuildInputs = [
extra-cmake-modules
kdoctools
wrapGAppsHook
];
propagatedBuildInputs = [
karchive
kconfig
kcrash
kguiaddons
kinit
kparts
kwindowsystem
];
meta = with lib; {
homepage = "http://www.krusader.org";
description = "Norton/Total Commander clone for KDE";
license = licenses.gpl2Only;
maintainers = with maintainers; [ sander turion ];
};
}

View file

@ -1,26 +0,0 @@
{
mkDerivation, fetchurl, lib,
extra-cmake-modules, kdoctools, wrapGAppsHook,
karchive, kconfig, kcrash, kguiaddons, kinit, kparts, kwindowsystem
}:
mkDerivation rec {
pname = "krusader";
version = "2.7.2";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "02b1jz5a7cjr13v6c7fczrhs1xmg1krnva5fxk8x2bf4nd1rm8s1";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
propagatedBuildInputs = [ karchive kconfig kcrash kguiaddons kinit kparts kwindowsystem ];
meta = with lib; {
description = "Norton/Total Commander clone for KDE";
homepage = "http://www.krusader.org";
license = licenses.gpl2Only;
maintainers = with maintainers; [ sander turion ];
};
}

View file

@ -18,19 +18,13 @@
stdenv.mkDerivation rec {
pname = "filezilla";
version = "3.58.0";
version = "3.60.1";
src = fetchurl {
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
sha256 = "sha256-0P5/cuAfd0K6oGRmgYsYbo6R//Ytbuey8OiEtrM4XYg=";
hash = "sha256-gflsY2OMrxg44MY+WHT2AZISCWXYJSlKiUoit9QgZq8=";
};
# https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
postPatch = ''
sed -i src/interface/Mainfrm.h \
-e '/^#define/a #include <list>'
'';
configureFlags = [
"--disable-manualupdatecheck"
"--disable-autoupdatecheck"

View file

@ -1,29 +1,24 @@
{ stdenv, lib, fetchFromGitHub
, autoreconfHook, pkg-config, fftwFloat, libsamplerate
, cmake, pkg-config, fftwFloat, libsamplerate
}:
stdenv.mkDerivation rec {
pname = "csdr";
version = "0.17.1";
version = "0.18.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = pname;
rev = version;
sha256 = "1vip5a3xgskcwba3xi66zfr986xrsch9na7my818cm8vw345y57b";
sha256 = "sha256-4XO3QYF0yaMNFjBHulrlZvO0/A1fFscD98QxnC6Itmk=";
};
patchPhase = ''
substituteInPlace configure.ac \
--replace -Wformat=0 ""
'';
nativeBuildInputs = [
autoreconfHook
cmake
pkg-config
];
buildInputs = [
propagatedBuildInputs = [
fftwFloat
libsamplerate
];
@ -34,6 +29,6 @@ stdenv.mkDerivation rec {
description = "A simple DSP library and command-line tool for Software Defined Radio";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = with maintainers; [ astro ];
maintainers = teams.c3d2.members;
};
}

View file

@ -0,0 +1,34 @@
{ stdenv, lib, fetchFromGitHub
, cmake, pkg-config, protobuf, icu, csdr, codecserver
}:
stdenv.mkDerivation rec {
pname = "digiham";
version = "0.6.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = pname;
rev = version;
sha256 = "sha256-nKNA5xAhM/lyyvFJnajWwY0hwVZhLApbDkXoUYFjlt0=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
codecserver
protobuf
csdr
icu
];
meta = with lib; {
homepage = "https://github.com/jketterl/digiham";
description = "tools for decoding digital ham communication";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = teams.c3d2.members;
};
}

View file

@ -1,6 +1,7 @@
{ stdenv, lib, buildPythonPackage, buildPythonApplication, fetchFromGitHub
, pkg-config, cmake, setuptools
, rtl-sdr, soapysdr-with-plugins, csdr, direwolf
, libsamplerate, fftwFloat
, rtl-sdr, soapysdr-with-plugins, csdr, pycsdr, pydigiham, direwolf, sox, wsjtx, codecserver
}:
let
@ -22,19 +23,19 @@ let
homepage = "https://github.com/jketterl/js8py";
description = "A library to decode the output of the js8 binary of JS8Call";
license = licenses.gpl3Only;
maintainers = with maintainers; [ astro ];
maintainers = teams.c3d2.members;
};
};
owrx_connector = stdenv.mkDerivation rec {
pname = "owrx_connector";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = pname;
rev = version;
sha256 = "0gz4nf2frrkx1mpjfjpz2j919fkc99g5lxd8lhva3lgqyisvf4yj";
sha256 = "sha256-1H0TJ8QN3b6Lof5TWvyokhCeN+dN7ITwzRvEo2X8OWc=";
};
nativeBuildInputs = [
@ -43,6 +44,8 @@ let
];
buildInputs = [
libsamplerate fftwFloat
csdr
rtl-sdr
soapysdr-with-plugins
];
@ -52,29 +55,34 @@ let
description = "A set of connectors that are used by OpenWebRX to interface with SDR hardware";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = with maintainers; [ astro ];
maintainers = teams.c3d2.members;
};
};
in
buildPythonApplication rec {
pname = "openwebrx";
version = "1.1.0";
version = "1.2.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = pname;
rev = version;
sha256 = "0maxs07yx235xknvkbmhi2zds3vfkd66l6wz6kspz3jzl4c0v1f9";
sha256 = "sha256-7gcgwa9vQT2u8PQusuXKted2Hk0K+Zk6ornSG1K/D4c=";
};
propagatedBuildInputs = [
setuptools
csdr
pycsdr
pydigiham
js8py
soapysdr-with-plugins
owrx_connector
direwolf
sox
wsjtx
codecserver
];
pythonImportsCheck = [ "csdr" "owrx" "test" ];
@ -87,6 +95,6 @@ buildPythonApplication rec {
homepage = "https://github.com/jketterl/openwebrx";
description = "A simple DSP library and command-line tool for Software Defined Radio";
license = licenses.gpl3Only;
maintainers = with maintainers; [ astro ];
maintainers = teams.c3d2.members;
};
}

View file

@ -0,0 +1,487 @@
# The file below is copy/pasted from
# https://github.com/protesilaos/iosevka-comfy/blob/0.1.0/private-build-plans.toml. It
# seems like ofborg will prevent me from using fetchurl to download
# this file automatically.
[buildPlans.iosevka-comfy] # <iosevka-comfy> is your plan name
family = "Iosevka Comfy" # Font menu family name
spacing = "normal" # Optional; Values: `normal`, `quasi-proportional`, `quasi-proportional-extension-only`, `term`, `fontconfig-mono`, or `fixed`
serifs = "sans" # Optional; Values: `sans` or `slab`
###################################################################################################
# Configure variants
# # Optional; Whether to inherit a `ss##` variant
# [buildPlans.iosevka-comfy.variants]
# inherits = "ss01"
# Optional; Configure single character's variant
[buildPlans.iosevka-comfy.variants.design]
cv01 = 1 # A cap straight
cv02 = 1 # B cap straight
cv03 = 1 # C cap serifless
cv04 = 6 # D cap curly with top and bottom serif (without serifs TODO reads like TOOO at small point sizes)
cv05 = 1 # E cap serifless
cv06 = 1 # F cap serifless
cv07 = 4 # G cap toothed
cv08 = 1 # H cap serifless
cv09 = 1 # I cap long serifs
cv10 = 2 # J cap serified
cv11 = 2 # K cap curly
cv12 = 1 # L cap serifless
cv13 = 3 # M cap short middle leg slanted sides
cv14 = 1 # N cap symmetric
cv15 = 1 # P cap straight
cv16 = 4 # Q cap crossing tail
cv17 = 1 # R cap straight
cv18 = 1 # S cap serifless
cv19 = 1 # T cap serifless
cv20 = 3 # U cap serifless
cv21 = 1 # V cap straight
cv22 = 1 # W straight
cv23 = 1 # X cap straight
cv24 = 1 # Y cap straight
cv25 = 1 # Z cap straight
cv26 = 10 # a single storey earless tailed bottom
cv27 = 1 # b toothed
cv28 = 1 # c serifless
cv29 = 1 # d toothed
cv33 = 1 # h straight
cv34 = 10 # i serified flat tailed
cv35 = 6 # j flat hook serified
cv37 = 10 # l serified flat tailed
cv42 = 9 # r compact
cv43 = 1 # s serifless
cv44 = 2 # t flat hook
cv45 = 4 # u tailed
cv49 = 6 # y cursive flat terminal hook
cv53 = 1 # Λ, Δ lambda and delta cap straight
cv54 = 2 # α alpha straight tailed
VXAA = 1 # δ delta rounded top
cv55 = 1 # Γ gamma cap straight
cv56 = 6 # ι iota serified flat tailed
cv57 = 2 # λ lambda top tailed
VXAC = 1 # μ me tailless
VXAB = 2 # ξ xe flat top
cv71 = 13 # 0 oval dashed forward slash
cv74 = 2 # 3 arched
cv76 = 2 # 5 open contour
cv78 = 1 # 7 straight
cv79 = 3 # 8 two asymmetric circles
cv81 = 2 # ~ tilde low
cv82 = 2 # * asterisk five-pointed low
cv83 = 1 # _ underscore right below baseline
cv85 = 1 # ^ uptick high
cv86 = 1 # ( parentheses normal slope
cv87 = 2 # { braces curly
cv88 = 1 # # column straight
cv90 = 4 # @ three-fold, tall height
cv91 = 2 # $ dollar strike through
cv92 = 2 # ¢ cent strike through
cv93 = 1 # % percent dots
cv94 = 1 # | bar natural slope
cv95 = 2 # ≥ equal-or-{higher,lower} slanted
cv96 = 1 # ' single quote straight
cv97 = 1 # ` grave/backtick straight
cv98 = 1 # ? smooth
cv99 = 2 # .:; square punctuation marks
VXDD = 2 # ijäöü square diacretics
# Optional; Configure single character's variant for Upright and Oblique; Overrides [design]
[buildPlans.iosevka-comfy.variants.upright]
cv30 = 1 # e straight
cv31 = 16 # f serifless bottom flat top crossbar at x height
cv32 = 9 # g single storey flat hook earless cornered top
cv36 = 1 # k straight
cv38 = 6 # m earless double arch short middle leg
cv39 = 3 # n earless straight
cv40 = 2 # p earless
cv41 = 2 # q earless
cv46 = 1 # v straight
cv47 = 1 # w straight
cv48 = 1 # x straight
cv50 = 1 # z straight
cv72 = 3 # 1 serified with base
cv73 = 1 # 2 straight
cv75 = 3 # 4 semi-open contour
cv77 = 3 # 6 straight
cv80 = 3 # 9 straight
cv89 = 2 # & et open top (ampersand)
# Optional; Configure single character's variant for Italic only; Overrides [design]
[buildPlans.iosevka-comfy.variants.italic]
cv30 = 2 # e curly
cv31 = 14 # f extended flat top bottom hook
cv32 = 7 # g single storey flat hook
cv36 = 2 # k curly
cv38 = 2 # m straight middle shortleg
cv39 = 1 # n straight
cv40 = 1 # p straight
cv41 = 1 # q straight
cv46 = 2 # v curly
cv47 = 2 # w curly short middle top
cv48 = 2 # x curly
cv50 = 4 # z curly
cv72 = 2 # 1 serified no base
cv73 = 2 # 2 curly
cv75 = 1 # 4 closed contour crossing
cv77 = 1 # 6 closed contour
cv80 = 1 # 9 closed contour
cv89 = 4 # & et open top toothed (ampersand)
# End variant section
###################################################################################################
###################################################################################################
# Override default building weights
# When buildPlans.<plan name>.weights is absent, all weights would built and mapped to
# default values.
# IMPORTANT : Currently "menu" and "css" property only support numbers between 0 and 1000.
# and "shape" properly only supports number between 100 and 900 (inclusive).
# If you decide to use custom weights you have to define all the weights you
# plan to use otherwise they will not be built.
[buildPlans.iosevka-comfy.weights.light]
shape = 300
menu = 300
css = 300
[buildPlans.iosevka-comfy.weights.semilight]
shape = 350
menu = 350
css = 350
[buildPlans.iosevka-comfy.weights.regular]
shape = 400
menu = 400
css = 400
[buildPlans.iosevka-comfy.weights.bold]
shape = 700
menu = 700
css = 700
[buildPlans.iosevka-comfy.weights.extrabold]
shape = 800
menu = 800
css = 800
# End weight section
###################################################################################################
###################################################################################################
# Override default building slope sets
# When this section is absent, all slopes would be built.
[buildPlans.iosevka-comfy.slopes.upright]
angle = 0 # Angle in degrees. Valid range [0, 15]
shape = "upright" # Slope grade used for shape selection. `upright` | `oblique` | `italic`
menu = "upright" # Slope grade used for naming. `upright` | `oblique` | `italic`
css = "normal" # Slope grade used for webfont CSS. `normal` | `oblique` | `italic`
[buildPlans.iosevka-comfy.slopes.italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
# End slope section
###################################################################################################
###################################################################################################
# Override default building widths
# When buildPlans.<plan name>.widths is absent, all widths would built and mapped to
# default values.
# IMPORTANT : Currently "shape" property only supports numbers between 434 and 664 (inclusive),
# while "menu" only supports integers between 1 and 9 (inclusive).
# The "shape" parameter specifies the unit width, measured in 1/1000 em. The glyphs'
# width are equal to, or a simple multiple of the unit width.
# If you decide to use custom widths you have to define all the widths you plan to use,
# otherwise they will not be built.
# [buildPlans.iosevka-comfy.widths.condensed]
# shape = 485
# menu = 3
# css = "condensed"
[buildPlans.iosevka-comfy.widths.normal]
shape = 525 # Unit Width, measured in 1/1000 em.
menu = 5 # Width grade for the font's names.
css = "normal" # "font-stretch' property of webfont CSS.
# [buildPlans.iosevka-comfy.widths.expanded]
# shape = 600
# menu = 7
# css = "expanded"
# End width section
###################################################################################################
###################################################################################################
# Metric overrides
# Certain metrics like line height (leading) could be overridden in your build plan file.
# Edit the values to change the metrics. Remove this section when overriding is not needed.
[buildPlans.iosevka-comfy.metric-override]
leading = 1100
# End metric override section
###################################################################################################
# Iosevka Comfy variants
# ======================
# Same glyph overrides and metrics, except for the spacing.
# Fixed spacing (no ligatures)
# ----------------------------
[buildPlans.iosevka-comfy-fixed]
family = "Iosevka Comfy Fixed"
spacing = "fixed"
serifs = "sans"
# It seems we can inherit variants, but not weights, slopes, widths,
# metric-override...
[buildPlans.iosevka-comfy-fixed.variants]
inherits = "buildPlans.iosevka-comfy"
[buildPlans.iosevka-comfy-fixed.weights.light]
shape = 300
menu = 300
css = 300
[buildPlans.iosevka-comfy-fixed.weights.semilight]
shape = 350
menu = 350
css = 350
[buildPlans.iosevka-comfy-fixed.weights.regular]
shape = 400
menu = 400
css = 400
[buildPlans.iosevka-comfy-fixed.weights.bold]
shape = 700
menu = 700
css = 700
[buildPlans.iosevka-comfy-fixed.weights.extrabold]
shape = 800
menu = 800
css = 800
[buildPlans.iosevka-comfy-fixed.slopes.upright]
angle = 0
shape = "upright"
menu = "upright"
css = "normal"
[buildPlans.iosevka-comfy-fixed.slopes.italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
[buildPlans.iosevka-comfy-fixed.widths.normal]
shape = 525
menu = 5
css = "normal"
[buildPlans.iosevka-comfy-fixed.metric-override]
leading = 1100
# Duo spacing (quasi-proportional)
# --------------------------------
[buildPlans.iosevka-comfy-duo]
family = "Iosevka Comfy Duo"
spacing = "quasi-proportional"
serifs = "sans"
# It seems we can inherit variants, but not weights, slopes, widths,
# metric-override...
[buildPlans.iosevka-comfy-duo.variants]
inherits = "buildPlans.iosevka-comfy"
# The short middle leg in 'm' that we need in the narrow monospaced
# variants is necessary for legibility, especially at small point sizes.
# Otherwise it is a gimmick, so we remove it in the "wider" builds.
[buildPlans.iosevka-comfy-duo.variants.upright]
cv38 = 5 # m earless normal middle leg
[buildPlans.iosevka-comfy-duo.variants.italic]
cv38 = 1 # m straight normal middle leg
[buildPlans.iosevka-comfy-duo.weights.light]
shape = 300
menu = 300
css = 300
[buildPlans.iosevka-comfy-duo.weights.semilight]
shape = 350
menu = 350
css = 350
[buildPlans.iosevka-comfy-duo.weights.regular]
shape = 400
menu = 400
css = 400
[buildPlans.iosevka-comfy-duo.weights.bold]
shape = 700
menu = 700
css = 700
[buildPlans.iosevka-comfy-duo.weights.extrabold]
shape = 800
menu = 800
css = 800
[buildPlans.iosevka-comfy-duo.slopes.upright]
angle = 0
shape = "upright"
menu = "upright"
css = "normal"
[buildPlans.iosevka-comfy-duo.slopes.italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
[buildPlans.iosevka-comfy-duo.widths.normal]
shape = 525
menu = 5
css = "normal"
[buildPlans.iosevka-comfy-duo.metric-override]
leading = 1100
# Like iosevka-comfy but expanded
# -------------------------------
[buildPlans.iosevka-comfy-wide]
family = "Iosevka Comfy Wide"
spacing = "normal"
serifs = "sans"
# It seems we can inherit variants, but not weights, slopes, widths,
# metric-override...
[buildPlans.iosevka-comfy-wide.variants]
inherits = "buildPlans.iosevka-comfy"
# The short middle leg in 'm' that we need in the narrow monospaced
# variants is necessary for legibility, especially at small point sizes.
# Otherwise it is a gimmick, so we remove it in the "wider" builds.
[buildPlans.iosevka-comfy-wide.variants.upright]
cv38 = 5 # m earless normal middle leg
[buildPlans.iosevka-comfy-wide.variants.italic]
cv38 = 1 # m straight normal middle leg
[buildPlans.iosevka-comfy-wide.weights.light]
shape = 300
menu = 300
css = 300
[buildPlans.iosevka-comfy-wide.weights.semilight]
shape = 350
menu = 350
css = 350
[buildPlans.iosevka-comfy-wide.weights.regular]
shape = 400
menu = 400
css = 400
[buildPlans.iosevka-comfy-wide.weights.bold]
shape = 700
menu = 700
css = 700
[buildPlans.iosevka-comfy-wide.weights.extrabold]
shape = 800
menu = 800
css = 800
[buildPlans.iosevka-comfy-wide.slopes.upright]
angle = 0
shape = "upright"
menu = "upright"
css = "normal"
[buildPlans.iosevka-comfy-wide.slopes.italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
# For the default width, check buildPlans.iosevka-comfy.widths.normal
[buildPlans.iosevka-comfy-wide.widths.normal]
shape = 625
menu = 7
css = "normal"
[buildPlans.iosevka-comfy-wide.metric-override]
leading = 1100
# Like iosevka-comfy-wide but fixed monospace (no ligatures)
# ----------------------------------------------------------
[buildPlans.iosevka-comfy-wide-fixed]
family = "Iosevka Comfy Wide Fixed"
spacing = "fixed"
serifs = "sans"
# It seems we can inherit variants, but not weights, slopes, widths,
# metric-override...
[buildPlans.iosevka-comfy-wide-fixed.variants]
inherits = "buildPlans.iosevka-comfy-wide"
[buildPlans.iosevka-comfy-wide-fixed.weights.light]
shape = 300
menu = 300
css = 300
[buildPlans.iosevka-comfy-wide-fixed.weights.semilight]
shape = 350
menu = 350
css = 350
[buildPlans.iosevka-comfy-wide-fixed.weights.regular]
shape = 400
menu = 400
css = 400
[buildPlans.iosevka-comfy-wide-fixed.weights.bold]
shape = 700
menu = 700
css = 700
[buildPlans.iosevka-comfy-wide-fixed.weights.extrabold]
shape = 800
menu = 800
css = 800
[buildPlans.iosevka-comfy-wide-fixed.slopes.upright]
angle = 0
shape = "upright"
menu = "upright"
css = "normal"
[buildPlans.iosevka-comfy-wide-fixed.slopes.italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
# For the default width, check buildPlans.iosevka-comfy.widths.normal
[buildPlans.iosevka-comfy-wide-fixed.widths.normal]
shape = 625
menu = 7
css = "normal"
[buildPlans.iosevka-comfy-wide-fixed.metric-override]
leading = 1100

View file

@ -0,0 +1,24 @@
{stdenv, lib, nodejs, nodePackages, remarshal, ttfautohint-nox, fetchurl}:
let
sets = [ "comfy" "comfy-duo" "comfy-wide" "comfy-wide-fixed"];
privateBuildPlan = builtins.readFile ./comfy-private-build-plans.toml;
overrideAttrs = (attrs: {
version = "0.1.0";
meta = with lib; {
homepage = "https://github.com/protesilaos/iosevka-comfy";
description = ''
Custom build of Iosevka with a rounded style and open shapes,
adjusted metrics, and overrides for almost all individual glyphs
in both roman (upright) and italic (slanted) variants.
'';
license = licenses.ofl;
platforms = attrs.meta.platforms;
maintainers = [ maintainers.DamienCassou ];
};
});
makeIosevkaFont = set: (import ./default.nix {
inherit stdenv lib nodejs nodePackages remarshal ttfautohint-nox set privateBuildPlan;
}).overrideAttrs overrideAttrs;
in
builtins.listToAttrs (builtins.map (set: {name=set; value=makeIosevkaFont set;}) sets)

View file

@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
buildPhase = ''
export HOME=$TMPDIR
runHook preBuild
npm run build --no-update-notifier -- --jCmd=$NIX_BUILD_CORES ttf::$pname >/dev/null
npm run build --no-update-notifier -- --jCmd=$NIX_BUILD_CORES ttf::$pname
runHook postBuild
'';

View file

@ -56,9 +56,12 @@ rec {
binaries = runCommand "ndk-toolchain-binutils" {
pname = "ndk-toolchain-binutils";
inherit (androidndk) version;
isClang = true; # clang based cc, but bintools ld
nativeBuildInputs = [ makeWrapper ];
propagatedBuildInputs = [ androidndk ];
passthru = {
targetPrefix = prefix;
isClang = true; # clang based cc, but bintools ld
};
} ''
mkdir -p $out/bin

View file

@ -300,6 +300,9 @@ rec {
directly. The effect is that the package is built as if it were published
on hackage. This can be used as a test for the source distribution,
assuming the build fails when packaging mistakes are in the cabal file.
A faster implementation using `cabal-install` is available as
`buildFromCabalSdist` in your Haskell package set.
*/
buildFromSdist = pkg: overrideCabal (drv: {
src = "${sdistTarball pkg}/${pkg.pname}-${pkg.version}.tar.gz";

View file

@ -538,4 +538,44 @@ in package-set { inherit pkgs lib callPackage; } self // {
withHoogle = self.ghcWithHoogle;
};
/*
Run `cabal sdist` on a source.
Unlike `haskell.lib.sdistTarball`, this does not require any dependencies
to be present, as it uses `cabal-install` instead of building `Setup.hs`.
This makes `cabalSdist` faster than `sdistTarball`.
*/
cabalSdist = {
src,
name ? if src?name then "${src.name}-sdist.tar.gz" else "source.tar.gz"
}:
pkgs.runCommandNoCCLocal name
{
inherit src;
nativeBuildInputs = [ buildHaskellPackages.cabal-install ];
dontUnpack = false;
} ''
unpackPhase
cd "''${sourceRoot:-.}"
patchPhase
mkdir out
HOME=$PWD cabal sdist --output-directory out
mv out/*.tar.gz $out
'';
/*
Like `haskell.lib.buildFromSdist`, but using `cabal sdist` instead of
building `./Setup`.
Unlike `haskell.lib.buildFromSdist`, this does not require any dependencies
to be present. This makes `buildFromCabalSdist` faster than `haskell.lib.buildFromSdist`.
*/
buildFromCabalSdist = pkg:
haskellLib.overrideSrc
{
src = self.cabalSdist { inherit (pkg) src; };
version = pkg.version;
}
pkg;
}

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "libfilezilla";
version = "0.36.0";
version = "0.37.2";
src = fetchurl {
url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
sha256 = "sha256-wCccGO3n+7yCayHJcsLLD/lnRO5aFckdjXTpvDhTqHI=";
hash = "sha256-5RFA7mNka6kq5Blpwfv/JZRtxFJBDTxNr5HNeSv+4tU=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -0,0 +1,26 @@
{ lib, buildPythonPackage, fetchFromGitHub, csdr }:
buildPythonPackage rec {
pname = "pycsdr";
version = "0.18.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = "pycsdr";
rev = version;
sha256 = "sha256-OyfcXCcbvOOhBUkbAba3ayPzpH5z2nJWHbR6GcrCMy8=";
};
propagatedBuildInputs = [ csdr ];
# has no tests
doCheck = false;
pythonImportsCheck = [ "pycsdr" ];
meta = {
homepage = "https://github.com/jketterl/pycsdr";
description = "bindings for the csdr library";
license = lib.licenses.gpl3Only;
maintainers = lib.teams.c3d2.members;
};
}

View file

@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchFromGitHub, python, digiham, csdr, pycsdr, codecserver }:
buildPythonPackage rec {
pname = "pydigiham";
version = "0.6.0";
src = fetchFromGitHub {
owner = "jketterl";
repo = "pydigiham";
rev = version;
sha256 = "sha256-kiEvQl3SuDnHI4Fh97AarsszHGFt7tbWBvBRW84Qv18=";
};
propagatedBuildInputs = [ digiham ];
buildInputs = [ codecserver pycsdr ];
# make pycsdr header files available
preBuild = ''
ln -s ${pycsdr}/include/${python.libPrefix}/pycsdr src/pycsdr
'';
# has no tests
doCheck = false;
pythonImportsCheck = [ "digiham" ];
meta = {
homepage = "https://github.com/jketterl/pydigiham";
description = "bindings for the csdr library";
license = lib.licenses.gpl3Only;
maintainers = lib.teams.c3d2.members;
};
}

View file

@ -1,21 +1,24 @@
{ lib
, buildPythonPackage
, fetchPypi
, requests
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, requests
, responses
}:
buildPythonPackage rec {
pname = "tesla-powerwall";
version = "0.3.17";
version = "0.3.18";
format = "setuptools";
src = fetchPypi {
pname = "tesla_powerwall";
inherit version;
sha256 = "09351e408e8e3cc03414944c1a487ef2178300829559e80835026acb84330cfd";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "jrester";
repo = "tesla_powerwall";
rev = "v${version}";
hash = "sha256-Z+axzTiKDgJqGhl2c6g7N1AbmXO46lbaHVOXhMstoCY=";
};
propagatedBuildInputs = [
@ -31,12 +34,14 @@ buildPythonPackage rec {
"tests/unit"
];
pythonImportsCheck = [ "tesla_powerwall" ];
pythonImportsCheck = [
"tesla_powerwall"
];
meta = {
meta = with lib; {
description = "API for Tesla Powerwall";
homepage = "https://github.com/jrester/tesla_powerwall";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-pytz";
version = "2022.1.0";
version = "2022.1.1";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-u+fq+TtPvsR4AyOvklKG0mWmaB9Q26V9FtvYaVw+1j0=";
sha256 = "sha256-TnrdcIhtwu5u51NcgYSibusKyduvrpliy4gtdLn2czA=";
};
# Modules doesn't have tests

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "wktutils";
version = "1.1.4";
version = "1.1.5";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "asfadmin";
repo = "Discovery-WKTUtils";
rev = "refs/tags/v${version}";
hash = "sha256-/gcMnZ+wWflbvLlyfIaEoSYaLrsosMyD60ei/5Iis6E=";
hash = "sha256-nAmU51f7K2n69G/vlLTji9EpMU1ynUpj/bZVZsaDEwM=";
};
propagatedBuildInputs = [

View file

@ -32,14 +32,14 @@ with py.pkgs;
buildPythonApplication rec {
pname = "checkov";
version = "2.1.9";
version = "2.1.10";
format = "setuptools";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = version;
hash = "sha256-dXfjNva1FWd7R3cF+fPCQaez3aKwRrCV5l8GD32aywg=";
hash = "sha256-k6T03diwxXZPia+TsPNubkc2Kg6lctOlLdn17XChUkI=";
};
nativeBuildInputs = with py.pkgs; [

View file

@ -0,0 +1,28 @@
{ lib, haskellPackages, runCommand }:
let
localRaw = haskellPackages.callPackage ./local/generated.nix {};
in
lib.recurseIntoAttrs rec {
helloFromCabalSdist = haskellPackages.buildFromCabalSdist haskellPackages.hello;
# A more complicated example with a cabal hook.
hercules-ci-cnix-store = haskellPackages.buildFromCabalSdist haskellPackages.hercules-ci-cnix-store;
localFromCabalSdist = haskellPackages.buildFromCabalSdist localRaw;
assumptionLocalHasDirectReference = runCommand "localHasDirectReference" {
drvPath = builtins.unsafeDiscardOutputDependency localRaw.drvPath;
} ''
grep ${./local} $drvPath >/dev/null
touch $out
'';
localHasNoDirectReference = runCommand "localHasNoDirectReference" {
drvPath = builtins.unsafeDiscardOutputDependency localFromCabalSdist.drvPath;
} ''
grep -v ${./local} $drvPath >/dev/null
touch $out
'';
}

View file

@ -0,0 +1,5 @@
# Revision history for local
## 0.1.0.0 -- YYYY-mm-dd
* First version. Released on an unsuspecting world.

View file

@ -0,0 +1,4 @@
module Main where
main :: IO ()
main = putStrLn "Hello, Haskell!"

View file

@ -0,0 +1,12 @@
# nix run ../../../../..#cabal2nix -- ./.
{ mkDerivation, base, lib }:
mkDerivation {
pname = "local";
version = "0.1.0.0";
src = ./.;
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [ base ];
description = "Nixpkgs test case";
license = lib.licenses.mit;
}

View file

@ -0,0 +1,13 @@
cabal-version: 2.4
name: local
version: 0.1.0.0
synopsis: Nixpkgs test case
license: MIT
extra-source-files: CHANGELOG.md
executable local
main-is: Main.hs
build-depends: base
hs-source-dirs: app
default-language: Haskell2010

View file

@ -2,6 +2,7 @@
lib.recurseIntoAttrs {
shellFor = callPackage ./shellFor { };
cabalSdist = callPackage ./cabalSdist { };
documentationTarball = callPackage ./documentationTarball { };
setBuildTarget = callPackage ./setBuildTarget { };
writers = callPackage ./writers { };

View file

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "amass";
version = "3.19.2";
version = "3.19.3";
src = fetchFromGitHub {
owner = "OWASP";
repo = "Amass";
rev = "v${version}";
sha256 = "sha256-EnhTbwOnq1zTYlnSvNiXduZCp4J65Ot5FR17+e16v2s=";
sha256 = "sha256-7qLlnyoDMjJg0vOmilvhQ+Tm6T/IkMOWj/jPxMsB4ko=";
};
vendorSha256 = "sha256-Yh1OAoPPWSG83WdH1caHodRWovdyYcUsEoPdckmVfHQ=";

View file

@ -17,19 +17,19 @@ stdenv.mkDerivation rec {
version = "1.8.1";
src = fetchFromGitHub {
owner = "djcb";
repo = "mu";
rev = "v${version}";
owner = "djcb";
repo = "mu";
rev = "v${version}";
sha256 = "dFYITyO9znocf9fv3eh2h83NM3RDYcpDV/uxOISChZo=";
};
postPatch = ''
# Fix mu4e-builddir (set it to $out)
substituteInPlace mu4e/mu4e-config.el.in \
--replace "@abs_top_builddir@" "$out"
substituteInPlace lib/utils/mu-utils.cc \
--replace "/bin/rm" "${coreutils}/bin/rm"
'';
# Fix mu4e-builddir (set it to $out)
substituteInPlace mu4e/mu4e-config.el.in \
--replace "@abs_top_builddir@" "$out"
substituteInPlace lib/utils/mu-utils.cc \
--replace "/bin/rm" "${coreutils}/bin/rm"
'';
buildInputs = [ emacs glib gmime3 texinfo xapian ];
@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.djcbsoftware.nl/code/mu/";
changelog = "https://github.com/djcb/mu/releases/tag/v${version}";
maintainers = with maintainers; [ antono chvp peterhoeg ];
platforms = platforms.mesaPlatforms;
platforms = platforms.unix;
};
}

View file

@ -1586,6 +1586,8 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) SystemConfiguration Foundation;
};
krusader = libsForQt5.callPackage ../applications/file-managers/krusader { };
lf = callPackage ../applications/file-managers/lf { };
llama = callPackage ../applications/file-managers/llama { };
@ -1594,12 +1596,18 @@ with pkgs;
inherit (darwin) autoSignDarwinBinariesHook;
};
mucommander = callPackage ../applications/file-managers/mucommander { };
nimmm = callPackage ../applications/file-managers/nimmm { };
nnn = callPackage ../applications/file-managers/nnn { };
noice = callPackage ../applications/file-managers/noice { };
pcmanfm = callPackage ../applications/file-managers/pcmanfm { };
portfolio-filemanager = callPackage ../applications/file-managers/portfolio-filemanager { };
ranger = callPackage ../applications/file-managers/ranger { };
sfm = callPackage ../applications/file-managers/sfm { };
@ -1615,6 +1623,12 @@ with pkgs;
inherit lib udisks2 python3;
};
worker = callPackage ../applications/file-managers/worker { };
xfe = callPackage ../applications/file-managers/xfe {
fox = fox_1_6;
};
ytree = callPackage ../applications/file-managers/ytree { };
### APPLICATIONS/TERMINAL-EMULATORS
@ -17098,6 +17112,8 @@ with pkgs;
cmrt = callPackage ../development/libraries/cmrt { };
codecserver = callPackage ../applications/audio/codecserver { };
coeurl = callPackage ../development/libraries/coeurl { };
cogl = callPackage ../development/libraries/cogl { };
@ -17227,6 +17243,8 @@ with pkgs;
dclib = callPackage ../development/libraries/dclib { };
digiham = callPackage ../applications/radio/digiham { };
dillo = callPackage ../applications/networking/browsers/dillo {
fltk = fltk13;
};
@ -20241,7 +20259,7 @@ with pkgs;
openwebrx = callPackage ../applications/radio/openwebrx {
inherit (python3Packages)
buildPythonPackage buildPythonApplication setuptools;
buildPythonPackage buildPythonApplication setuptools pycsdr pydigiham;
};
optparse-bash = callPackage ../development/libraries/optparse-bash { };
@ -24705,6 +24723,7 @@ with pkgs;
iosevka = callPackage ../data/fonts/iosevka {};
iosevka-bin = callPackage ../data/fonts/iosevka/bin.nix {};
iosevka-comfy = recurseIntoAttrs (callPackages ../data/fonts/iosevka/comfy.nix {});
ipafont = callPackage ../data/fonts/ipafont {};
ipaexfont = callPackage ../data/fonts/ipaexfont {};
@ -26098,8 +26117,6 @@ with pkgs;
dfasma = libsForQt5.callPackage ../applications/audio/dfasma { };
dfilemanager = libsForQt5.callPackage ../applications/file-managers/dfilemanager { };
dht = callPackage ../applications/networking/p2p/dht { };
dia = callPackage ../applications/graphics/dia {
@ -27929,8 +27946,6 @@ with pkgs;
krita = libsForQt5.callPackage ../applications/graphics/krita { };
krusader = libsForQt5.callPackage ../applications/misc/krusader { };
ksuperkey = callPackage ../tools/X11/ksuperkey { };
ktimetracker = libsForQt5.callPackage ../applications/office/ktimetracker { };
@ -28658,8 +28673,6 @@ with pkgs;
mu-repo = python3Packages.callPackage ../applications/misc/mu-repo { };
mucommander = callPackage ../applications/file-managers/mucommander { };
multimarkdown = callPackage ../tools/typesetting/multimarkdown { };
multimon-ng = callPackage ../applications/radio/multimon-ng { };
@ -28787,8 +28800,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) IOKit;
};
pcmanfm = callPackage ../applications/file-managers/pcmanfm { };
pcmanfm-qt = lxqt.pcmanfm-qt;
pcmanx-gtk2 = callPackage ../applications/misc/pcmanx-gtk2 { };
@ -29390,8 +29401,6 @@ with pkgs;
ponymix = callPackage ../applications/audio/ponymix { };
portfolio-filemanager = callPackage ../applications/file-managers/portfolio-filemanager { };
pothos = libsForQt5.callPackage ../applications/radio/pothos { };
potrace = callPackage ../applications/graphics/potrace {};
@ -30954,8 +30963,6 @@ with pkgs;
wordgrinder = callPackage ../applications/office/wordgrinder { };
worker = callPackage ../applications/file-managers/worker { };
workrave = callPackage ../applications/misc/workrave {
inherit (python27Packages) cheetah;
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good;
@ -31113,10 +31120,6 @@ with pkgs;
win-pvdrivers = callPackage ../applications/virtualization/driver/win-pvdrivers { };
win-signed-gplpv-drivers = callPackage ../applications/virtualization/driver/win-signed-gplpv-drivers { };
xfe = callPackage ../applications/file-managers/xfe {
fox = fox_1_6;
};
xfig = callPackage ../applications/graphics/xfig { };
xfractint = callPackage ../applications/graphics/xfractint {};

View file

@ -7206,6 +7206,8 @@ in {
pycryptodomex = callPackage ../development/python-modules/pycryptodomex { };
pycsdr = callPackage ../development/python-modules/pycsdr { };
pyct = callPackage ../development/python-modules/pyct { };
pyctr = callPackage ../development/python-modules/pyctr { };
@ -7254,6 +7256,8 @@ in {
pydicom = callPackage ../development/python-modules/pydicom { };
pydigiham = callPackage ../development/python-modules/pydigiham { };
pydispatcher = callPackage ../development/python-modules/pydispatcher { };
pydmd = callPackage ../development/python-modules/pydmd { };