From cf5e2d510316ae0e2e78486e28b79b1fa30799fa Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 23 May 2022 21:39:01 +0200 Subject: [PATCH 01/17] haskellPackages: Add buildFromCabalSdist (faster, tested) --- .../haskell-modules/lib/compose.nix | 3 ++ .../haskell-modules/make-package-set.nix | 40 +++++++++++++++++++ pkgs/test/haskell/cabalSdist/default.nix | 28 +++++++++++++ .../haskell/cabalSdist/local/CHANGELOG.md | 5 +++ .../test/haskell/cabalSdist/local/app/Main.hs | 4 ++ .../test/haskell/cabalSdist/local/local.cabal | 13 ++++++ pkgs/test/haskell/default.nix | 1 + 7 files changed, 94 insertions(+) create mode 100644 pkgs/test/haskell/cabalSdist/default.nix create mode 100644 pkgs/test/haskell/cabalSdist/local/CHANGELOG.md create mode 100644 pkgs/test/haskell/cabalSdist/local/app/Main.hs create mode 100644 pkgs/test/haskell/cabalSdist/local/local.cabal diff --git a/pkgs/development/haskell-modules/lib/compose.nix b/pkgs/development/haskell-modules/lib/compose.nix index a831a83a15f..bdd1c6766f5 100644 --- a/pkgs/development/haskell-modules/lib/compose.nix +++ b/pkgs/development/haskell-modules/lib/compose.nix @@ -299,6 +299,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"; diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 80dc94af4df..579f6a350b0 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -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; + } diff --git a/pkgs/test/haskell/cabalSdist/default.nix b/pkgs/test/haskell/cabalSdist/default.nix new file mode 100644 index 00000000000..2ab815f5d4f --- /dev/null +++ b/pkgs/test/haskell/cabalSdist/default.nix @@ -0,0 +1,28 @@ +{ lib, haskellPackages, runCommand }: + +let + localRaw = haskellPackages.callCabal2nix "local" ./local {}; +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 + ''; +} diff --git a/pkgs/test/haskell/cabalSdist/local/CHANGELOG.md b/pkgs/test/haskell/cabalSdist/local/CHANGELOG.md new file mode 100644 index 00000000000..53cc3ae43d8 --- /dev/null +++ b/pkgs/test/haskell/cabalSdist/local/CHANGELOG.md @@ -0,0 +1,5 @@ +# Revision history for local + +## 0.1.0.0 -- YYYY-mm-dd + +* First version. Released on an unsuspecting world. diff --git a/pkgs/test/haskell/cabalSdist/local/app/Main.hs b/pkgs/test/haskell/cabalSdist/local/app/Main.hs new file mode 100644 index 00000000000..65ae4a05d5d --- /dev/null +++ b/pkgs/test/haskell/cabalSdist/local/app/Main.hs @@ -0,0 +1,4 @@ +module Main where + +main :: IO () +main = putStrLn "Hello, Haskell!" diff --git a/pkgs/test/haskell/cabalSdist/local/local.cabal b/pkgs/test/haskell/cabalSdist/local/local.cabal new file mode 100644 index 00000000000..1670aa3af63 --- /dev/null +++ b/pkgs/test/haskell/cabalSdist/local/local.cabal @@ -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 diff --git a/pkgs/test/haskell/default.nix b/pkgs/test/haskell/default.nix index 03e4f346155..337d2811c65 100644 --- a/pkgs/test/haskell/default.nix +++ b/pkgs/test/haskell/default.nix @@ -2,6 +2,7 @@ lib.recurseIntoAttrs { shellFor = callPackage ./shellFor { }; + cabalSdist = callPackage ./cabalSdist { }; documentationTarball = callPackage ./documentationTarball { }; setBuildTarget = callPackage ./setBuildTarget { }; writers = callPackage ./writers { }; From 392fba113292aa10ba8ea9b68710a73ca17cac0e Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 24 May 2022 13:23:19 +0200 Subject: [PATCH 02/17] pkgs.tests.haskell.cabalSdist: Avoid IFD --- pkgs/test/haskell/cabalSdist/default.nix | 2 +- pkgs/test/haskell/cabalSdist/local/generated.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 pkgs/test/haskell/cabalSdist/local/generated.nix diff --git a/pkgs/test/haskell/cabalSdist/default.nix b/pkgs/test/haskell/cabalSdist/default.nix index 2ab815f5d4f..1031e51e4f1 100644 --- a/pkgs/test/haskell/cabalSdist/default.nix +++ b/pkgs/test/haskell/cabalSdist/default.nix @@ -1,7 +1,7 @@ { lib, haskellPackages, runCommand }: let - localRaw = haskellPackages.callCabal2nix "local" ./local {}; + localRaw = haskellPackages.callPackage ./local/generated.nix {}; in lib.recurseIntoAttrs rec { diff --git a/pkgs/test/haskell/cabalSdist/local/generated.nix b/pkgs/test/haskell/cabalSdist/local/generated.nix new file mode 100644 index 00000000000..bfa299962bc --- /dev/null +++ b/pkgs/test/haskell/cabalSdist/local/generated.nix @@ -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; +} From 3d506e954807df4e5891396dcc0af6043f0b616f Mon Sep 17 00:00:00 2001 From: rewine <1758075541@qq.com> Date: Tue, 21 Jun 2022 18:15:22 +0800 Subject: [PATCH 03/17] notepad-next: 0.5.1 -> 0.5.2 --- .../editors/notepad-next/default.nix | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/editors/notepad-next/default.nix b/pkgs/applications/editors/notepad-next/default.nix index 0207ae9b240..aaa751ea503 100644 --- a/pkgs/applications/editors/notepad-next/default.nix +++ b/pkgs/applications/editors/notepad-next/default.nix @@ -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"; From 652a6b6b629ff910c5096d34e4c8430e487406cb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Jun 2022 08:25:11 +0200 Subject: [PATCH 04/17] amass: 3.19.2 -> 3.19.3 --- pkgs/tools/networking/amass/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix index 917a279a2c8..46506f17129 100644 --- a/pkgs/tools/networking/amass/default.nix +++ b/pkgs/tools/networking/amass/default.nix @@ -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="; From 8699200898db42053fbf9f8312bccd35bd3ea021 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Jun 2022 09:21:33 +0200 Subject: [PATCH 05/17] python310Packages.tesla-powerwall: 0.3.17 -> 0.3.18 - use GitHub as source (on PyPI is now only wheel available) --- .../tesla-powerwall/default.nix | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/tesla-powerwall/default.nix b/pkgs/development/python-modules/tesla-powerwall/default.nix index a2a7b489374..d879d9302eb 100644 --- a/pkgs/development/python-modules/tesla-powerwall/default.nix +++ b/pkgs/development/python-modules/tesla-powerwall/default.nix @@ -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 ]; }; } From db03cac5710ed43b72b6aa32f78c66aeb6d2590e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Jun 2022 21:38:13 +0200 Subject: [PATCH 06/17] checkov: 2.1.9 -> 2.1.10 --- pkgs/development/tools/analysis/checkov/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index d54d27c7e1e..41ccde2a134 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -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; [ From 89d24b58b25cc5778eeeccfb82cb024fa08edbac Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Mon, 6 Jun 2022 18:26:06 +0200 Subject: [PATCH 07/17] iosevka-comfy: init at 0.1.0 --- .../iosevka/comfy-private-build-plans.toml | 487 ++++++++++++++++++ pkgs/data/fonts/iosevka/comfy.nix | 24 + pkgs/data/fonts/iosevka/default.nix | 2 +- pkgs/top-level/all-packages.nix | 1 + 4 files changed, 513 insertions(+), 1 deletion(-) create mode 100644 pkgs/data/fonts/iosevka/comfy-private-build-plans.toml create mode 100644 pkgs/data/fonts/iosevka/comfy.nix diff --git a/pkgs/data/fonts/iosevka/comfy-private-build-plans.toml b/pkgs/data/fonts/iosevka/comfy-private-build-plans.toml new file mode 100644 index 00000000000..d5b0221a64a --- /dev/null +++ b/pkgs/data/fonts/iosevka/comfy-private-build-plans.toml @@ -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] # 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..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..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 diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix new file mode 100644 index 00000000000..9cc2ecfb636 --- /dev/null +++ b/pkgs/data/fonts/iosevka/comfy.nix @@ -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) diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index c145aad8d7d..3fd04906ff4 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -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 ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 563b9c4a3dc..470f278c084 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24657,6 +24657,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 {}; From 35adcaabcef5523826e3b8b5b4e7f4cb10e283a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 27 Jun 2022 21:08:47 +0000 Subject: [PATCH 08/17] libfilezilla: 0.36.0 -> 0.37.2 --- pkgs/development/libraries/libfilezilla/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix index b02b856442b..fec50849aa6 100644 --- a/pkgs/development/libraries/libfilezilla/default.nix +++ b/pkgs/development/libraries/libfilezilla/default.nix @@ -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 ]; From ca47950b9c19ba737568208749693aef62afdcb1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 27 Jun 2022 21:22:34 +0000 Subject: [PATCH 09/17] python310Packages.types-pytz: 2022.1.0 -> 2022.1.1 --- pkgs/development/python-modules/types-pytz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix index d63968603a0..2c7e5f73879 100644 --- a/pkgs/development/python-modules/types-pytz/default.nix +++ b/pkgs/development/python-modules/types-pytz/default.nix @@ -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 From 0199880d19ceb214258ad46e5ae93f0d83719433 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Jun 2022 23:25:18 +0200 Subject: [PATCH 10/17] python310Packages.wktutils: 1.1.4 -> 1.1.5 --- pkgs/development/python-modules/wktutils/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wktutils/default.nix b/pkgs/development/python-modules/wktutils/default.nix index a8cd9eb2101..8d8fe83c527 100644 --- a/pkgs/development/python-modules/wktutils/default.nix +++ b/pkgs/development/python-modules/wktutils/default.nix @@ -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 = [ From 346ed48f9e8dd38f791f6acfc7560385d7b6b3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 27 Jun 2022 21:07:36 +0000 Subject: [PATCH 11/17] filezilla: 3.58.0 -> 3.60.1 --- pkgs/applications/networking/ftp/filezilla/default.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index d5e73f833c3..40e49ff3296 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -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 ' - ''; - configureFlags = [ "--disable-manualupdatecheck" "--disable-autoupdatecheck" From 9123ed5f368ba8415cd4e5963a134c7506e6c34d Mon Sep 17 00:00:00 2001 From: Astro Date: Tue, 14 Dec 2021 21:57:51 +0100 Subject: [PATCH 12/17] openwebrx: 1.1.0 -> 1.2.0 --- nixos/modules/services/web-apps/openwebrx.nix | 1 + .../audio/codecserver/default.nix | 34 +++++++++++++++++++ pkgs/applications/radio/csdr/default.nix | 17 ++++------ pkgs/applications/radio/digiham/default.nix | 34 +++++++++++++++++++ pkgs/applications/radio/openwebrx/default.nix | 24 ++++++++----- .../python-modules/pycsdr/default.nix | 26 ++++++++++++++ .../python-modules/pydigiham/default.nix | 31 +++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++- pkgs/top-level/python-packages.nix | 4 +++ 9 files changed, 157 insertions(+), 20 deletions(-) create mode 100644 pkgs/applications/audio/codecserver/default.nix create mode 100644 pkgs/applications/radio/digiham/default.nix create mode 100644 pkgs/development/python-modules/pycsdr/default.nix create mode 100644 pkgs/development/python-modules/pydigiham/default.nix diff --git a/nixos/modules/services/web-apps/openwebrx.nix b/nixos/modules/services/web-apps/openwebrx.nix index 9e90c01e0bb..c530a07610f 100644 --- a/nixos/modules/services/web-apps/openwebrx.nix +++ b/nixos/modules/services/web-apps/openwebrx.nix @@ -19,6 +19,7 @@ in wantedBy = [ "multi-user.target" ]; path = with pkgs; [ csdr + digiham alsaUtils netcat ]; diff --git a/pkgs/applications/audio/codecserver/default.nix b/pkgs/applications/audio/codecserver/default.nix new file mode 100644 index 00000000000..8a5c3d842d4 --- /dev/null +++ b/pkgs/applications/audio/codecserver/default.nix @@ -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; + }; +} diff --git a/pkgs/applications/radio/csdr/default.nix b/pkgs/applications/radio/csdr/default.nix index ed1a5227694..db4efe4b1ef 100644 --- a/pkgs/applications/radio/csdr/default.nix +++ b/pkgs/applications/radio/csdr/default.nix @@ -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; }; } diff --git a/pkgs/applications/radio/digiham/default.nix b/pkgs/applications/radio/digiham/default.nix new file mode 100644 index 00000000000..652c6c63cf5 --- /dev/null +++ b/pkgs/applications/radio/digiham/default.nix @@ -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; + }; +} diff --git a/pkgs/applications/radio/openwebrx/default.nix b/pkgs/applications/radio/openwebrx/default.nix index 928bc4168eb..4ca4d369d79 100644 --- a/pkgs/applications/radio/openwebrx/default.nix +++ b/pkgs/applications/radio/openwebrx/default.nix @@ -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; }; } diff --git a/pkgs/development/python-modules/pycsdr/default.nix b/pkgs/development/python-modules/pycsdr/default.nix new file mode 100644 index 00000000000..14958299c31 --- /dev/null +++ b/pkgs/development/python-modules/pycsdr/default.nix @@ -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; + }; +} diff --git a/pkgs/development/python-modules/pydigiham/default.nix b/pkgs/development/python-modules/pydigiham/default.nix new file mode 100644 index 00000000000..da8056e8a2e --- /dev/null +++ b/pkgs/development/python-modules/pydigiham/default.nix @@ -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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 28b76e010dd..cba00674997 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17067,6 +17067,8 @@ with pkgs; cmrt = callPackage ../development/libraries/cmrt { }; + codecserver = callPackage ../applications/audio/codecserver { }; + coeurl = callPackage ../development/libraries/coeurl { }; cogl = callPackage ../development/libraries/cogl { }; @@ -17196,6 +17198,8 @@ with pkgs; dclib = callPackage ../development/libraries/dclib { }; + digiham = callPackage ../applications/radio/digiham { }; + dillo = callPackage ../applications/networking/browsers/dillo { fltk = fltk13; }; @@ -20199,7 +20203,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 { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 59cdb70f68d..74bae0b47f0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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 { }; From 3cefeee6a40c6b430d9abbf00759d82a631128d7 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Tue, 28 Jun 2022 00:12:37 -0300 Subject: [PATCH 13/17] all-packages: reorder file-managers There are many file manager expressions scattered. Let's reunite them! --- pkgs/top-level/all-packages.nix | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ace5a91643..77a9dbcb6ac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1590,12 +1590,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 { }; @@ -1611,6 +1617,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 @@ -26087,8 +26099,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 { @@ -28647,8 +28657,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 { }; @@ -28776,8 +28784,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 { }; @@ -29379,8 +29385,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 {}; @@ -30943,8 +30947,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; @@ -31102,10 +31104,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 {}; From e3b17ac5c33726c79d98de308e48a11742471201 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Tue, 28 Jun 2022 00:18:01 -0300 Subject: [PATCH 14/17] krusader: move to file-managers --- .../file-managers/krusader/default.nix | 47 +++++++++++++++++++ pkgs/applications/misc/krusader/default.nix | 26 ---------- pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 pkgs/applications/file-managers/krusader/default.nix delete mode 100644 pkgs/applications/misc/krusader/default.nix diff --git a/pkgs/applications/file-managers/krusader/default.nix b/pkgs/applications/file-managers/krusader/default.nix new file mode 100644 index 00000000000..9895cc108ef --- /dev/null +++ b/pkgs/applications/file-managers/krusader/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix deleted file mode 100644 index 585dfe3e04f..00000000000 --- a/pkgs/applications/misc/krusader/default.nix +++ /dev/null @@ -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 ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 77a9dbcb6ac..2b74ecfea2f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1582,6 +1582,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 { }; @@ -27928,8 +27930,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 { }; From b90fa9940b6adb82d4fe07b025cca21daf6b58d1 Mon Sep 17 00:00:00 2001 From: happysalada Date: Mon, 27 Jun 2022 12:50:14 -0400 Subject: [PATCH 15/17] dgraph: add module --- nixos/modules/module-list.nix | 1 + nixos/modules/services/databases/dgraph.nix | 148 ++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 nixos/modules/services/databases/dgraph.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b757e05edce..759c31ef28b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -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 diff --git a/nixos/modules/services/databases/dgraph.nix b/nixos/modules/services/databases/dgraph.nix new file mode 100644 index 00000000000..5c1ae536051 --- /dev/null +++ b/nixos/modules/services/databases/dgraph.nix @@ -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 ]; +} From 969ef1f583d599fc4c604a4cbdddc9a7dd0396c0 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 27 Jun 2022 11:54:46 +0800 Subject: [PATCH 16/17] mu: no relation to mesa so set platforms directly For reasons unknown, the list of support platforms tracked that of mesa. That makes no sense whatsoever, so set it to a list of platforms that actually should be supported. --- pkgs/tools/networking/mu/default.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix index ec5b13b34f2..98dd7d1a878 100644 --- a/pkgs/tools/networking/mu/default.nix +++ b/pkgs/tools/networking/mu/default.nix @@ -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; }; } From b5c2b76cf4e1888b231bd011c4e699ec937b23ac Mon Sep 17 00:00:00 2001 From: Christoph Bauer Date: Sun, 26 Jun 2022 20:02:31 +0200 Subject: [PATCH 17/17] androidndkPkgs.binaries: correct passthru parameters Without this patch ghc 8.10.7 with taget platform aarch64-android fails to build due an invalid nix expression (missing attribute targetPrefix). To fix that we make the binaries attribute to conform with the expectation about unwrapped bintools / cc derivations w.r.t. passthru attributes. --- pkgs/development/androidndk-pkgs/androidndk-pkgs.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix index 04dfbcbedf0..736e088454e 100644 --- a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix +++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix @@ -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