Merge master into haskell-updates
This commit is contained in:
commit
072b4ff72f
145 changed files with 7941 additions and 2162 deletions
|
@ -454,7 +454,7 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
|
|||
owner = "NixOS";
|
||||
repo = "nix";
|
||||
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
|
||||
hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=;
|
||||
hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1341,6 +1341,12 @@
|
|||
githubId = 84152630;
|
||||
name = "Ashley Chiara";
|
||||
};
|
||||
ashleyghooper = {
|
||||
email = "ashleyghooper@gmail.com";
|
||||
github = "ashleyghooper";
|
||||
githubId = 11037075;
|
||||
name = "Ashley Hooper";
|
||||
};
|
||||
aske = {
|
||||
email = "aske@fmap.me";
|
||||
github = "aske";
|
||||
|
@ -4065,6 +4071,15 @@
|
|||
githubId = 108501;
|
||||
name = "David Pflug";
|
||||
};
|
||||
dr460nf1r3 = {
|
||||
email = "root@dr460nf1r3.org";
|
||||
github = "dr460nf1r3";
|
||||
githubId = 12834713;
|
||||
name = "Nico Jensch";
|
||||
keys = [{
|
||||
fingerprint = "D245 D484 F357 8CB1 7FD6 DA6B 67DB 29BF F3C9 6757";
|
||||
}];
|
||||
};
|
||||
dramaturg = {
|
||||
email = "seb@ds.ag";
|
||||
github = "dramaturg";
|
||||
|
@ -4990,6 +5005,13 @@
|
|||
keys = [{ fingerprint = "7391 BF2D A2C3 B2C9 BE25 ACA9 C7A7 4616 F302 5DF4"; }];
|
||||
matrix = "@felipeqq2:pub.solar";
|
||||
};
|
||||
felixalbrigtsen = {
|
||||
email = "felixalbrigtsen@gmail.com";
|
||||
github = "felixalbrigtsen";
|
||||
githubId = 64613093;
|
||||
name = "Felix Albrigtsen";
|
||||
matrix = "@felixalb:pvv.ntnu.no";
|
||||
};
|
||||
felixscheinost = {
|
||||
name = "Felix Scheinost";
|
||||
email = "felix.scheinost@posteo.de";
|
||||
|
@ -7881,6 +7903,12 @@
|
|||
githubId = 1047859;
|
||||
name = "Kaz Wesley";
|
||||
};
|
||||
kazenyuk = {
|
||||
email = "kazenyuk@pm.me";
|
||||
github = "nvmd";
|
||||
githubId = 524492;
|
||||
name = "Sergey Kazenyuk";
|
||||
};
|
||||
kcalvinalvin = {
|
||||
email = "calvin@kcalvinalvin.info";
|
||||
github = "kcalvinalvin";
|
||||
|
|
|
@ -264,6 +264,12 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `services.borgmatic` now allows for multiple configurations, placed in `/etc/borgmatic.d/`, you can define them with `services.borgmatic.configurations`.
|
||||
|
||||
- `service.openafsServer` features a new backup server `pkgs.fabs` as a
|
||||
replacement for openafs's own `buserver`. See
|
||||
[FABS](https://github.com/openafs-contrib/fabs) to check if this is an viable
|
||||
replacement. It stores backups as volume dump files and thus better integrates
|
||||
into contemporary backup solutions.
|
||||
|
||||
- The `dnsmasq` service now takes configuration via the
|
||||
`services.dnsmasq.settings` attribute set. The option
|
||||
`services.dnsmasq.extraConfig` will be deprecated when NixOS 22.11 reaches
|
||||
|
|
|
@ -233,7 +233,7 @@ in
|
|||
# nix-serve = 199; # unused, removed 2020-12-12
|
||||
#tvheadend = 200; # dynamically allocated as of 2021-09-18
|
||||
uwsgi = 201;
|
||||
gitit = 202;
|
||||
# gitit = 202; # unused, module was removed 2023-04-03
|
||||
riemanntools = 203;
|
||||
subsonic = 204;
|
||||
# riak = 205; # unused, remove 2022-07-22
|
||||
|
|
|
@ -615,7 +615,6 @@
|
|||
./services/misc/gammu-smsd.nix
|
||||
./services/misc/geoipupdate.nix
|
||||
./services/misc/gitea.nix
|
||||
# ./services/misc/gitit.nix
|
||||
./services/misc/gitlab.nix
|
||||
./services/misc/gitolite.nix
|
||||
./services/misc/gitweb.nix
|
||||
|
|
|
@ -6,7 +6,7 @@ let
|
|||
inherit (lib.attrsets) attrNames filterAttrs hasAttr mapAttrs mapAttrsToList optionalAttrs;
|
||||
inherit (lib.modules) mkDefault mkIf;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.strings) concatStringsSep optionalString toLower;
|
||||
inherit (lib.strings) concatLines optionalString toLower;
|
||||
inherit (lib.types) addCheck attrsOf lines nonEmptyStr nullOr package path port str strMatching submodule;
|
||||
|
||||
# Checks if given list of strings contains unique
|
||||
|
@ -164,7 +164,7 @@ let
|
|||
mkLine = k: v: k + optionalString (v!="") " ${v}";
|
||||
lines = mapAttrsToList mkLine attrset;
|
||||
in
|
||||
concatStringsSep "\n" lines;
|
||||
concatLines lines;
|
||||
config.stanza = ''
|
||||
server ${config.name}
|
||||
${config.text}
|
||||
|
@ -263,7 +263,7 @@ let
|
|||
|
||||
${optionalString (cfg.defaultServername!=null) "defaultserver ${cfg.defaultServername}"}
|
||||
|
||||
${concatStringsSep "\n" (mapAttrsToList (k: v: v.stanza) cfg.servers)}
|
||||
${concatLines (mapAttrsToList (k: v: v.stanza) cfg.servers)}
|
||||
'';
|
||||
|
||||
in
|
||||
|
|
|
@ -66,6 +66,7 @@ let
|
|||
${mkKeepArgs cfg} \
|
||||
${optionalString (cfg.prune.prefix != null) "--glob-archives ${escapeShellArg "${cfg.prune.prefix}*"}"} \
|
||||
$extraPruneArgs
|
||||
borg compact $extraArgs $extraCompactArgs
|
||||
${cfg.postPrune}
|
||||
'');
|
||||
|
||||
|
@ -638,6 +639,15 @@ in {
|
|||
example = "--save-space";
|
||||
};
|
||||
|
||||
extraCompactArgs = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Additional arguments for {command}`borg compact`.
|
||||
Can also be set at runtime using `$extraCompactArgs`.
|
||||
'';
|
||||
default = "";
|
||||
example = "--cleanup-commits";
|
||||
};
|
||||
};
|
||||
}
|
||||
));
|
||||
|
|
|
@ -8,7 +8,8 @@ let
|
|||
cfg = config.services.buildbot-master;
|
||||
opt = options.services.buildbot-master;
|
||||
|
||||
python = cfg.package.pythonModule;
|
||||
package = pkgs.python3.pkgs.toPythonModule cfg.package;
|
||||
python = package.pythonModule;
|
||||
|
||||
escapeStr = escape [ "'" ];
|
||||
|
||||
|
@ -212,10 +213,10 @@ in {
|
|||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.python3Packages.buildbot-full;
|
||||
defaultText = literalExpression "pkgs.python3Packages.buildbot-full";
|
||||
default = pkgs.buildbot-full;
|
||||
defaultText = literalExpression "pkgs.buildbot-full";
|
||||
description = lib.mdDoc "Package to use for buildbot.";
|
||||
example = literalExpression "pkgs.python3Packages.buildbot";
|
||||
example = literalExpression "pkgs.buildbot";
|
||||
};
|
||||
|
||||
packages = mkOption {
|
||||
|
@ -255,7 +256,7 @@ in {
|
|||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = cfg.packages ++ cfg.pythonPackages python.pkgs;
|
||||
environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ cfg.package ])}/${python.sitePackages}";
|
||||
environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ package ])}/${python.sitePackages}";
|
||||
|
||||
preStart = ''
|
||||
mkdir -vp "${cfg.buildbotDir}"
|
||||
|
|
|
@ -8,7 +8,8 @@ let
|
|||
cfg = config.services.buildbot-worker;
|
||||
opt = options.services.buildbot-worker;
|
||||
|
||||
python = cfg.package.pythonModule;
|
||||
package = pkgs.python3.pkgs.toPythonModule cfg.package;
|
||||
python = package.pythonModule;
|
||||
|
||||
tacFile = pkgs.writeText "aur-buildbot-worker.tac" ''
|
||||
import os
|
||||
|
@ -129,7 +130,7 @@ in {
|
|||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.python3Packages.buildbot-worker;
|
||||
default = pkgs.buildbot-worker;
|
||||
defaultText = literalExpression "pkgs.python3Packages.buildbot-worker";
|
||||
description = lib.mdDoc "Package to use for buildbot worker.";
|
||||
example = literalExpression "pkgs.python2Packages.buildbot-worker";
|
||||
|
@ -168,7 +169,7 @@ in {
|
|||
after = [ "network.target" "buildbot-master.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = cfg.packages;
|
||||
environment.PYTHONPATH = "${python.withPackages (p: [ cfg.package ])}/${python.sitePackages}";
|
||||
environment.PYTHONPATH = "${python.withPackages (p: [ package ])}/${python.sitePackages}";
|
||||
|
||||
preStart = ''
|
||||
mkdir -vp "${cfg.buildbotDir}/info"
|
||||
|
|
|
@ -1,725 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.gitit;
|
||||
|
||||
homeDir = "/var/lib/gitit";
|
||||
|
||||
toYesNo = b: if b then "yes" else "no";
|
||||
|
||||
gititShared = with cfg.haskellPackages; gitit + "/share/" + ghc.targetPrefix + ghc.haskellCompilerName + "/" + gitit.pname + "-" + gitit.version;
|
||||
|
||||
gititWithPkgs = hsPkgs: extras: hsPkgs.ghcWithPackages (self: with self; [ gitit ] ++ (extras self));
|
||||
|
||||
gititSh = hsPkgs: extras: with pkgs; let
|
||||
env = gititWithPkgs hsPkgs extras;
|
||||
in writeScript "gitit" ''
|
||||
#!${runtimeShell}
|
||||
cd $HOME
|
||||
export NIX_GHC="${env}/bin/ghc"
|
||||
export NIX_GHCPKG="${env}/bin/ghc-pkg"
|
||||
export NIX_GHC_DOCDIR="${env}/share/doc/ghc/html"
|
||||
export NIX_GHC_LIBDIR=$( $NIX_GHC --print-libdir )
|
||||
${env}/bin/gitit -f ${configFile}
|
||||
'';
|
||||
|
||||
gititOptions = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Enable the gitit service.";
|
||||
};
|
||||
|
||||
haskellPackages = mkOption {
|
||||
default = pkgs.haskellPackages;
|
||||
defaultText = literalExpression "pkgs.haskellPackages";
|
||||
example = literalExpression "pkgs.haskell.packages.ghc784";
|
||||
description = lib.mdDoc "haskellPackages used to build gitit and plugins.";
|
||||
};
|
||||
|
||||
extraPackages = mkOption {
|
||||
type = types.functionTo (types.listOf types.package);
|
||||
default = self: [];
|
||||
example = literalExpression ''
|
||||
haskellPackages: [
|
||||
haskellPackages.wreq
|
||||
]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
Extra packages available to ghc when running gitit. The
|
||||
value must be a function which receives the attrset defined
|
||||
in {var}`haskellPackages` as the sole argument.
|
||||
'';
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "0.0.0.0";
|
||||
description = lib.mdDoc "IP address on which the web server will listen.";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 5001;
|
||||
description = lib.mdDoc "Port on which the web server will run.";
|
||||
};
|
||||
|
||||
wikiTitle = mkOption {
|
||||
type = types.str;
|
||||
default = "Gitit!";
|
||||
description = lib.mdDoc "The wiki title.";
|
||||
};
|
||||
|
||||
repositoryType = mkOption {
|
||||
type = types.enum ["git" "darcs" "mercurial"];
|
||||
default = "git";
|
||||
description = lib.mdDoc "Specifies the type of repository used for wiki content.";
|
||||
};
|
||||
|
||||
repositoryPath = mkOption {
|
||||
type = types.path;
|
||||
default = homeDir + "/wiki";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path of the repository directory. If it does not
|
||||
exist, gitit will create it on startup.
|
||||
'';
|
||||
};
|
||||
|
||||
requireAuthentication = mkOption {
|
||||
type = types.enum [ "none" "modify" "read" ];
|
||||
default = "modify";
|
||||
description = lib.mdDoc ''
|
||||
If 'none', login is never required, and pages can be edited
|
||||
anonymously. If 'modify', login is required to modify the wiki
|
||||
(edit, add, delete pages, upload files). If 'read', login is
|
||||
required to see any wiki pages.
|
||||
'';
|
||||
};
|
||||
|
||||
authenticationMethod = mkOption {
|
||||
type = types.enum [ "form" "http" "generic" "github" ];
|
||||
default = "form";
|
||||
description = lib.mdDoc ''
|
||||
'form' means that users will be logged in and registered using forms
|
||||
in the gitit web interface. 'http' means that gitit will assume that
|
||||
HTTP authentication is in place and take the logged in username from
|
||||
the "Authorization" field of the HTTP request header (in addition,
|
||||
the login/logout and registration links will be suppressed).
|
||||
'generic' means that gitit will assume that some form of
|
||||
authentication is in place that directly sets REMOTE_USER to the name
|
||||
of the authenticated user (e.g. mod_auth_cas on apache). 'rpx' means
|
||||
that gitit will attempt to log in through https://rpxnow.com. This
|
||||
requires that 'rpx-domain', 'rpx-key', and 'base-url' be set below,
|
||||
and that 'curl' be in the system path.
|
||||
'';
|
||||
};
|
||||
|
||||
userFile = mkOption {
|
||||
type = types.path;
|
||||
default = homeDir + "/gitit-users";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path of the file containing user login information. If
|
||||
it does not exist, gitit will create it (with an empty user list).
|
||||
This file is not used if 'http' is selected for
|
||||
authentication-method.
|
||||
'';
|
||||
};
|
||||
|
||||
sessionTimeout = mkOption {
|
||||
type = types.int;
|
||||
default = 60;
|
||||
description = lib.mdDoc ''
|
||||
Number of minutes of inactivity before a session expires.
|
||||
'';
|
||||
};
|
||||
|
||||
staticDir = mkOption {
|
||||
type = types.path;
|
||||
default = gititShared + "/data/static";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path of the static directory (containing javascript,
|
||||
css, and images). If it does not exist, gitit will create it and
|
||||
populate it with required scripts, stylesheets, and images.
|
||||
'';
|
||||
};
|
||||
|
||||
defaultPageType = mkOption {
|
||||
type = types.enum [ "markdown" "rst" "latex" "html" "markdown+lhs" "rst+lhs" "latex+lhs" ];
|
||||
default = "markdown";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the type of markup used to interpret pages in the wiki.
|
||||
Possible values are markdown, rst, latex, html, markdown+lhs,
|
||||
rst+lhs, and latex+lhs. (the +lhs variants treat the input as
|
||||
literate Haskell. See pandoc's documentation for more details.) If
|
||||
Markdown is selected, pandoc's syntax extensions (for footnotes,
|
||||
delimited code blocks, etc.) will be enabled. Note that pandoc's
|
||||
restructuredtext parser is not complete, so some pages may not be
|
||||
rendered correctly if rst is selected. The same goes for latex and
|
||||
html.
|
||||
'';
|
||||
};
|
||||
|
||||
math = mkOption {
|
||||
type = types.enum [ "mathml" "raw" "mathjax" "jsmath" "google" ];
|
||||
default = "mathml";
|
||||
description = lib.mdDoc ''
|
||||
Specifies how LaTeX math is to be displayed. Possible values are
|
||||
mathml, raw, mathjax, jsmath, and google. If mathml is selected,
|
||||
gitit will convert LaTeX math to MathML and link in a script,
|
||||
MathMLinHTML.js, that allows the MathML to be seen in Gecko browsers,
|
||||
IE + mathplayer, and Opera. In other browsers you may get a jumble of
|
||||
characters. If raw is selected, the LaTeX math will be displayed as
|
||||
raw LaTeX math. If mathjax is selected, gitit will link to the
|
||||
remote mathjax script. If jsMath is selected, gitit will link to the
|
||||
script /js/jsMath/easy/load.js, and will assume that jsMath has been
|
||||
installed into the js/jsMath directory. This is the most portable
|
||||
solution. If google is selected, the google chart API is called to
|
||||
render the formula as an image. This requires a connection to google,
|
||||
and might raise a technical or a privacy problem.
|
||||
'';
|
||||
};
|
||||
|
||||
mathJaxScript = mkOption {
|
||||
type = types.str;
|
||||
default = "https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path to MathJax rendering script. You might want to
|
||||
use your own MathJax script to render formulas without Internet
|
||||
connection or if you want to use some special LaTeX packages. Note:
|
||||
path specified there cannot be an absolute path to a script on your
|
||||
hdd, instead you should run your (local if you wish) HTTP server
|
||||
which will serve the MathJax.js script. You can easily (in four lines
|
||||
of code) serve MathJax.js using
|
||||
http://happstack.com/docs/crashcourse/FileServing.html Do not forget
|
||||
the "http://" prefix (e.g. http://localhost:1234/MathJax.js).
|
||||
'';
|
||||
};
|
||||
|
||||
showLhsBirdTracks = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether to show Haskell code blocks in "bird style", with
|
||||
"> " at the beginning of each line.
|
||||
'';
|
||||
};
|
||||
|
||||
templatesDir = mkOption {
|
||||
type = types.path;
|
||||
default = gititShared + "/data/templates";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path of the directory containing page templates. If it
|
||||
does not exist, gitit will create it with default templates. Users
|
||||
may wish to edit the templates to customize the appearance of their
|
||||
wiki. The template files are HStringTemplate templates. Variables to
|
||||
be interpolated appear between $\'s. Literal $\'s must be
|
||||
backslash-escaped.
|
||||
'';
|
||||
};
|
||||
|
||||
logFile = mkOption {
|
||||
type = types.path;
|
||||
default = homeDir + "/gitit.log";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path of gitit's log file. If it does not exist, gitit
|
||||
will create it. The log is in Apache combined log format.
|
||||
'';
|
||||
};
|
||||
|
||||
logLevel = mkOption {
|
||||
type = types.enum [ "DEBUG" "INFO" "NOTICE" "WARNING" "ERROR" "CRITICAL" "ALERT" "EMERGENCY" ];
|
||||
default = "ERROR";
|
||||
description = lib.mdDoc ''
|
||||
Determines how much information is logged. Possible values (from
|
||||
most to least verbose) are DEBUG, INFO, NOTICE, WARNING, ERROR,
|
||||
CRITICAL, ALERT, EMERGENCY.
|
||||
'';
|
||||
};
|
||||
|
||||
frontPage = mkOption {
|
||||
type = types.str;
|
||||
default = "Front Page";
|
||||
description = lib.mdDoc ''
|
||||
Specifies which wiki page is to be used as the wiki's front page.
|
||||
Gitit creates a default front page on startup, if one does not exist
|
||||
already.
|
||||
'';
|
||||
};
|
||||
|
||||
noDelete = mkOption {
|
||||
type = types.str;
|
||||
default = "Front Page, Help";
|
||||
description = lib.mdDoc ''
|
||||
Specifies pages that cannot be deleted through the web interface.
|
||||
(They can still be deleted directly using git or darcs.) A
|
||||
comma-separated list of page names. Leave blank to allow every page
|
||||
to be deleted.
|
||||
'';
|
||||
};
|
||||
|
||||
noEdit = mkOption {
|
||||
type = types.str;
|
||||
default = "Help";
|
||||
description = lib.mdDoc ''
|
||||
Specifies pages that cannot be edited through the web interface.
|
||||
Leave blank to allow every page to be edited.
|
||||
'';
|
||||
};
|
||||
|
||||
defaultSummary = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = lib.mdDoc ''
|
||||
Specifies text to be used in the change description if the author
|
||||
leaves the "description" field blank. If default-summary is blank
|
||||
(the default), the author will be required to fill in the description
|
||||
field.
|
||||
'';
|
||||
};
|
||||
|
||||
tableOfContents = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether to print a tables of contents (with links to
|
||||
sections) on each wiki page.
|
||||
'';
|
||||
};
|
||||
|
||||
plugins = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [ (gititShared + "/plugins/Dot.hs") ];
|
||||
description = lib.mdDoc ''
|
||||
Specifies a list of plugins to load. Plugins may be specified either
|
||||
by their path or by their module name. If the plugin name starts
|
||||
with Gitit.Plugin., gitit will assume that the plugin is an installed
|
||||
module and will not try to find a source file.
|
||||
'';
|
||||
};
|
||||
|
||||
useCache = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether to cache rendered pages. Note that if use-feed is
|
||||
selected, feeds will be cached regardless of the value of use-cache.
|
||||
'';
|
||||
};
|
||||
|
||||
cacheDir = mkOption {
|
||||
type = types.path;
|
||||
default = homeDir + "/cache";
|
||||
description = lib.mdDoc "Path where rendered pages will be cached.";
|
||||
};
|
||||
|
||||
maxUploadSize = mkOption {
|
||||
type = types.str;
|
||||
default = "1000K";
|
||||
description = lib.mdDoc ''
|
||||
Specifies an upper limit on the size (in bytes) of files uploaded
|
||||
through the wiki's web interface. To disable uploads, set this to
|
||||
0K. This will result in the uploads link disappearing and the
|
||||
_upload url becoming inactive.
|
||||
'';
|
||||
};
|
||||
|
||||
maxPageSize = mkOption {
|
||||
type = types.str;
|
||||
default = "1000K";
|
||||
description = lib.mdDoc "Specifies an upper limit on the size (in bytes) of pages.";
|
||||
};
|
||||
|
||||
debugMode = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Causes debug information to be logged while gitit is running.";
|
||||
};
|
||||
|
||||
compressResponses = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc "Specifies whether HTTP responses should be compressed.";
|
||||
};
|
||||
|
||||
mimeTypesFile = mkOption {
|
||||
type = types.path;
|
||||
default = "/etc/mime/types.info";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the path of a file containing mime type mappings. Each
|
||||
line of the file should contain two fields, separated by whitespace.
|
||||
The first field is the mime type, the second is a file extension.
|
||||
For example:
|
||||
```
|
||||
video/x-ms-wmx wmx
|
||||
```
|
||||
If the file is not found, some simple defaults will be used.
|
||||
'';
|
||||
};
|
||||
|
||||
useReCaptcha = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
If true, causes gitit to use the reCAPTCHA service
|
||||
(http://recaptcha.net) to prevent bots from creating accounts.
|
||||
'';
|
||||
};
|
||||
|
||||
reCaptchaPrivateKey = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Specifies the private key for the reCAPTCHA service. To get
|
||||
these, you need to create an account at http://recaptcha.net.
|
||||
'';
|
||||
};
|
||||
|
||||
reCaptchaPublicKey = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Specifies the public key for the reCAPTCHA service. To get
|
||||
these, you need to create an account at http://recaptcha.net.
|
||||
'';
|
||||
};
|
||||
|
||||
accessQuestion = mkOption {
|
||||
type = types.str;
|
||||
default = "What is the code given to you by Ms. X?";
|
||||
description = lib.mdDoc ''
|
||||
Specifies a question that users must answer when they attempt to
|
||||
create an account
|
||||
'';
|
||||
};
|
||||
|
||||
accessQuestionAnswers = mkOption {
|
||||
type = types.str;
|
||||
default = "RED DOG, red dog";
|
||||
description = lib.mdDoc ''
|
||||
Specifies a question that users must answer when they attempt to
|
||||
create an account, along with a comma-separated list of acceptable
|
||||
answers. This can be used to institute a rudimentary password for
|
||||
signing up as a user on the wiki, or as an alternative to reCAPTCHA.
|
||||
Example:
|
||||
access-question: What is the code given to you by Ms. X?
|
||||
access-question-answers: RED DOG, red dog
|
||||
'';
|
||||
};
|
||||
|
||||
rpxDomain = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Specifies the domain and key of your RPX account. The domain is just
|
||||
the prefix of the complete RPX domain, so if your full domain is
|
||||
'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain.
|
||||
'';
|
||||
};
|
||||
|
||||
rpxKey = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "RPX account access key.";
|
||||
};
|
||||
|
||||
mailCommand = mkOption {
|
||||
type = types.str;
|
||||
default = "sendmail %s";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the command to use to send notification emails. '%s' will
|
||||
be replaced by the destination email address. The body of the
|
||||
message will be read from stdin. If this field is left blank,
|
||||
password reset will not be offered.
|
||||
'';
|
||||
};
|
||||
|
||||
resetPasswordMessage = mkOption {
|
||||
type = types.lines;
|
||||
default = ''
|
||||
> From: gitit@$hostname$
|
||||
> To: $useremail$
|
||||
> Subject: Wiki password reset
|
||||
>
|
||||
> Hello $username$,
|
||||
>
|
||||
> To reset your password, please follow the link below:
|
||||
> http://$hostname$:$port$$resetlink$
|
||||
>
|
||||
> Regards
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
Gives the text of the message that will be sent to the user should
|
||||
she want to reset her password, or change other registration info.
|
||||
The lines must be indented, and must begin with '>'. The initial
|
||||
spaces and '> ' will be stripped off. $username$ will be replaced by
|
||||
the user's username, $useremail$ by her email address, $hostname$ by
|
||||
the hostname on which the wiki is running (as returned by the
|
||||
hostname system call), $port$ by the port on which the wiki is
|
||||
running, and $resetlink$ by the relative path of a reset link derived
|
||||
from the user's existing hashed password. If your gitit wiki is being
|
||||
proxied to a location other than the root path of $port$, you should
|
||||
change the link to reflect this: for example, to
|
||||
http://$hostname$/path/to/wiki$resetlink$ or
|
||||
http://gitit.$hostname$$resetlink$
|
||||
'';
|
||||
};
|
||||
|
||||
useFeed = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether an ATOM feed should be enabled (for the site and
|
||||
for individual pages).
|
||||
'';
|
||||
};
|
||||
|
||||
baseUrl = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The base URL of the wiki, to be used in constructing feed IDs and RPX
|
||||
token_urls. Set this if useFeed is false or authentication-method
|
||||
is 'rpx'.
|
||||
'';
|
||||
};
|
||||
|
||||
absoluteUrls = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Make wikilinks absolute with respect to the base-url. So, for
|
||||
example, in a wiki served at the base URL '/wiki', on a page
|
||||
Sub/Page, the wikilink `[Cactus]()` will produce a link to
|
||||
'/wiki/Cactus' if absoluteUrls is true, and a relative link to
|
||||
'Cactus' (referring to '/wiki/Sub/Cactus') if absolute-urls is 'no'.
|
||||
'';
|
||||
};
|
||||
|
||||
feedDays = mkOption {
|
||||
type = types.int;
|
||||
default = 14;
|
||||
description = lib.mdDoc "Number of days to be included in feeds.";
|
||||
};
|
||||
|
||||
feedRefreshTime = mkOption {
|
||||
type = types.int;
|
||||
default = 60;
|
||||
description = lib.mdDoc "Number of minutes to cache feeds before refreshing.";
|
||||
};
|
||||
|
||||
pdfExport = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
If true, PDF will appear in export options. PDF will be created using
|
||||
pdflatex, which must be installed and in the path. Note that PDF
|
||||
exports create significant additional server load.
|
||||
'';
|
||||
};
|
||||
|
||||
pandocUserData = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
If a directory is specified, this will be searched for pandoc
|
||||
customizations. These can include a templates/ directory for custom
|
||||
templates for various export formats, an S5 directory for custom S5
|
||||
styles, and a reference.odt for ODT exports. If no directory is
|
||||
specified, $HOME/.pandoc will be searched. See pandoc's README for
|
||||
more information.
|
||||
'';
|
||||
};
|
||||
|
||||
xssSanitize = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
If true, all HTML (including that produced by pandoc) is filtered
|
||||
through xss-sanitize. Set to no only if you trust all of your users.
|
||||
'';
|
||||
};
|
||||
|
||||
oauthClientId = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "OAuth client ID";
|
||||
};
|
||||
|
||||
oauthClientSecret = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "OAuth client secret";
|
||||
};
|
||||
|
||||
oauthCallback = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "OAuth callback URL";
|
||||
};
|
||||
|
||||
oauthAuthorizeEndpoint = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "OAuth authorize endpoint";
|
||||
};
|
||||
|
||||
oauthAccessTokenEndpoint = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "OAuth access token endpoint";
|
||||
};
|
||||
|
||||
githubOrg = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = lib.mdDoc "Github organization";
|
||||
};
|
||||
};
|
||||
|
||||
configFile = pkgs.writeText "gitit.conf" ''
|
||||
address: ${cfg.address}
|
||||
port: ${toString cfg.port}
|
||||
wiki-title: ${cfg.wikiTitle}
|
||||
repository-type: ${cfg.repositoryType}
|
||||
repository-path: ${cfg.repositoryPath}
|
||||
require-authentication: ${cfg.requireAuthentication}
|
||||
authentication-method: ${cfg.authenticationMethod}
|
||||
user-file: ${cfg.userFile}
|
||||
session-timeout: ${toString cfg.sessionTimeout}
|
||||
static-dir: ${cfg.staticDir}
|
||||
default-page-type: ${cfg.defaultPageType}
|
||||
math: ${cfg.math}
|
||||
mathjax-script: ${cfg.mathJaxScript}
|
||||
show-lhs-bird-tracks: ${toYesNo cfg.showLhsBirdTracks}
|
||||
templates-dir: ${cfg.templatesDir}
|
||||
log-file: ${cfg.logFile}
|
||||
log-level: ${cfg.logLevel}
|
||||
front-page: ${cfg.frontPage}
|
||||
no-delete: ${cfg.noDelete}
|
||||
no-edit: ${cfg.noEdit}
|
||||
default-summary: ${cfg.defaultSummary}
|
||||
table-of-contents: ${toYesNo cfg.tableOfContents}
|
||||
plugins: ${concatStringsSep "," cfg.plugins}
|
||||
use-cache: ${toYesNo cfg.useCache}
|
||||
cache-dir: ${cfg.cacheDir}
|
||||
max-upload-size: ${cfg.maxUploadSize}
|
||||
max-page-size: ${cfg.maxPageSize}
|
||||
debug-mode: ${toYesNo cfg.debugMode}
|
||||
compress-responses: ${toYesNo cfg.compressResponses}
|
||||
mime-types-file: ${cfg.mimeTypesFile}
|
||||
use-recaptcha: ${toYesNo cfg.useReCaptcha}
|
||||
recaptcha-private-key: ${toString cfg.reCaptchaPrivateKey}
|
||||
recaptcha-public-key: ${toString cfg.reCaptchaPublicKey}
|
||||
access-question: ${cfg.accessQuestion}
|
||||
access-question-answers: ${cfg.accessQuestionAnswers}
|
||||
rpx-domain: ${toString cfg.rpxDomain}
|
||||
rpx-key: ${toString cfg.rpxKey}
|
||||
mail-command: ${cfg.mailCommand}
|
||||
reset-password-message: ${cfg.resetPasswordMessage}
|
||||
use-feed: ${toYesNo cfg.useFeed}
|
||||
base-url: ${toString cfg.baseUrl}
|
||||
absolute-urls: ${toYesNo cfg.absoluteUrls}
|
||||
feed-days: ${toString cfg.feedDays}
|
||||
feed-refresh-time: ${toString cfg.feedRefreshTime}
|
||||
pdf-export: ${toYesNo cfg.pdfExport}
|
||||
pandoc-user-data: ${toString cfg.pandocUserData}
|
||||
xss-sanitize: ${toYesNo cfg.xssSanitize}
|
||||
|
||||
[Github]
|
||||
oauthclientid: ${toString cfg.oauthClientId}
|
||||
oauthclientsecret: ${toString cfg.oauthClientSecret}
|
||||
oauthcallback: ${toString cfg.oauthCallback}
|
||||
oauthauthorizeendpoint: ${toString cfg.oauthAuthorizeEndpoint}
|
||||
oauthaccesstokenendpoint: ${toString cfg.oauthAccessTokenEndpoint}
|
||||
github-org: ${toString cfg.githubOrg}
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options.services.gitit = gititOptions;
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
users.users.gitit = {
|
||||
group = config.users.groups.gitit.name;
|
||||
description = "Gitit user";
|
||||
home = homeDir;
|
||||
createHome = true;
|
||||
uid = config.ids.uids.gitit;
|
||||
};
|
||||
|
||||
users.groups.gitit.gid = config.ids.gids.gitit;
|
||||
|
||||
systemd.services.gitit = let
|
||||
uid = toString config.ids.uids.gitit;
|
||||
gid = toString config.ids.gids.gitit;
|
||||
in {
|
||||
description = "Git and Pandoc Powered Wiki";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ curl ]
|
||||
++ optional cfg.pdfExport texlive.combined.scheme-basic
|
||||
++ optional (cfg.repositoryType == "darcs") darcs
|
||||
++ optional (cfg.repositoryType == "mercurial") mercurial
|
||||
++ optional (cfg.repositoryType == "git") git;
|
||||
|
||||
preStart = let
|
||||
gm = "gitit@${config.networking.hostName}";
|
||||
in
|
||||
with cfg; ''
|
||||
chown ${uid}:${gid} -R ${homeDir}
|
||||
for dir in ${repositoryPath} ${staticDir} ${templatesDir} ${cacheDir}
|
||||
do
|
||||
if [ ! -d $dir ]
|
||||
then
|
||||
mkdir -p $dir
|
||||
find $dir -type d -exec chmod 0750 {} +
|
||||
find $dir -type f -exec chmod 0640 {} +
|
||||
fi
|
||||
done
|
||||
cd ${repositoryPath}
|
||||
${
|
||||
if repositoryType == "darcs" then
|
||||
''
|
||||
if [ ! -d _darcs ]
|
||||
then
|
||||
darcs initialize
|
||||
echo "${gm}" > _darcs/prefs/email
|
||||
''
|
||||
else if repositoryType == "mercurial" then
|
||||
''
|
||||
if [ ! -d .hg ]
|
||||
then
|
||||
hg init
|
||||
cat >> .hg/hgrc <<NAMED
|
||||
[ui]
|
||||
username = gitit ${gm}
|
||||
NAMED
|
||||
''
|
||||
else
|
||||
''
|
||||
if [ ! -d .git ]
|
||||
then
|
||||
git init
|
||||
git config user.email "${gm}"
|
||||
git config user.name "gitit"
|
||||
''}
|
||||
chown ${uid}:${gid} -R ${repositoryPath}
|
||||
fi
|
||||
cd -
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
User = config.users.users.gitit.name;
|
||||
Group = config.users.groups.gitit.name;
|
||||
ExecStart = with cfg; gititSh haskellPackages extraPackages;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -4,7 +4,8 @@
|
|||
with import ./lib.nix { inherit config lib pkgs; };
|
||||
|
||||
let
|
||||
inherit (lib) concatStringsSep literalExpression mkIf mkOption optionalString types;
|
||||
inherit (lib) concatStringsSep literalExpression mkIf mkOption mkEnableOption
|
||||
optionalString types;
|
||||
|
||||
bosConfig = pkgs.writeText "BosConfig" (''
|
||||
restrictmode 1
|
||||
|
@ -24,9 +25,15 @@ let
|
|||
parm ${openafsSrv}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs}
|
||||
parm ${openafsSrv}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs}
|
||||
end
|
||||
'') + (optionalString (cfg.roles.database.enable && cfg.roles.backup.enable) ''
|
||||
'') + (optionalString (cfg.roles.database.enable && cfg.roles.backup.enable && (!cfg.roles.backup.enableFabs)) ''
|
||||
bnode simple buserver 1
|
||||
parm ${openafsSrv}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString (cfg.roles.backup.cellServDB != []) "-cellservdb /etc/openafs/backup/"}
|
||||
parm ${openafsSrv}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString useBuCellServDB "-cellservdb /etc/openafs/backup/"}
|
||||
end
|
||||
'') + (optionalString (cfg.roles.database.enable &&
|
||||
cfg.roles.backup.enable &&
|
||||
cfg.roles.backup.enableFabs) ''
|
||||
bnode simple buserver 1
|
||||
parm ${lib.getBin pkgs.fabs}/bin/fabsys server --config ${fabsConfFile} ${cfg.roles.backup.fabsArgs}
|
||||
end
|
||||
''));
|
||||
|
||||
|
@ -34,12 +41,27 @@ let
|
|||
pkgs.writeText "NetInfo" ((concatStringsSep "\nf " cfg.advertisedAddresses) + "\n")
|
||||
else null;
|
||||
|
||||
buCellServDB = pkgs.writeText "backup-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.roles.backup.cellServDB);
|
||||
buCellServDB = pkgs.writeText "backup-cellServDB-${cfg.cellName}"
|
||||
(mkCellServDB cfg.cellName cfg.roles.backup.cellServDB);
|
||||
|
||||
useBuCellServDB = (cfg.roles.backup.cellServDB != []) && (!cfg.roles.backup.enableFabs);
|
||||
|
||||
cfg = config.services.openafsServer;
|
||||
|
||||
udpSizeStr = toString cfg.udpPacketSize;
|
||||
|
||||
fabsConfFile = pkgs.writeText "fabs.yaml" (builtins.toJSON ({
|
||||
afs = {
|
||||
aklog = cfg.package + "/bin/aklog";
|
||||
cell = cfg.cellName;
|
||||
dumpscan = cfg.package + "/bin/afsdump_scan";
|
||||
fs = cfg.package + "/bin/fs";
|
||||
pts = cfg.package + "/bin/pts";
|
||||
vos = cfg.package + "/bin/vos";
|
||||
};
|
||||
k5start.command = (lib.getBin pkgs.kstart) + "/bin/k5start";
|
||||
} // cfg.roles.backup.fabsExtraConfig));
|
||||
|
||||
in {
|
||||
|
||||
options = {
|
||||
|
@ -80,8 +102,8 @@ in {
|
|||
};
|
||||
|
||||
package = mkOption {
|
||||
default = pkgs.openafs.server or pkgs.openafs;
|
||||
defaultText = literalExpression "pkgs.openafs.server or pkgs.openafs";
|
||||
default = pkgs.openafs;
|
||||
defaultText = literalExpression "pkgs.openafs";
|
||||
type = types.package;
|
||||
description = lib.mdDoc "OpenAFS package for the server binaries";
|
||||
};
|
||||
|
@ -154,16 +176,20 @@ in {
|
|||
};
|
||||
|
||||
backup = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''
|
||||
Backup server role. Use in conjunction with the
|
||||
`database` role to maintain the Backup
|
||||
Database. Normally only used in conjunction with tape storage
|
||||
or IBM's Tivoli Storage Manager.
|
||||
'';
|
||||
};
|
||||
enable = mkEnableOption (lib.mdDoc ''
|
||||
Backup server role. When using OpenAFS built-in buserver, use in conjunction with the
|
||||
`database` role to maintain the Backup
|
||||
Database. Normally only used in conjunction with tape storage
|
||||
or IBM's Tivoli Storage Manager.
|
||||
|
||||
For a modern backup server, enable this role and see
|
||||
{option}`enableFabs`.
|
||||
'');
|
||||
|
||||
enableFabs = mkEnableOption (lib.mdDoc ''
|
||||
FABS, the flexible AFS backup system. It stores volumes as dump files, relying on other
|
||||
pre-existing backup solutions for handling them.
|
||||
'');
|
||||
|
||||
buserverArgs = mkOption {
|
||||
default = "";
|
||||
|
@ -181,6 +207,30 @@ in {
|
|||
other database server machines.
|
||||
'';
|
||||
};
|
||||
|
||||
fabsArgs = mkOption {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Arguments to the fabsys process. See
|
||||
{manpage}`fabsys_server(1)` and
|
||||
{manpage}`fabsys_config(1)`.
|
||||
'';
|
||||
};
|
||||
|
||||
fabsExtraConfig = mkOption {
|
||||
default = {};
|
||||
type = types.attrs;
|
||||
description = lib.mdDoc ''
|
||||
Additional configuration parameters for the FABS backup server.
|
||||
'';
|
||||
example = literalExpression ''
|
||||
{
|
||||
afs.localauth = true;
|
||||
afs.keytab = config.sops.secrets.fabsKeytab.path;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -239,7 +289,7 @@ in {
|
|||
mode = "0644";
|
||||
};
|
||||
buCellServDB = {
|
||||
enable = (cfg.roles.backup.cellServDB != []);
|
||||
enable = useBuCellServDB;
|
||||
text = mkCellServDB cfg.cellName cfg.roles.backup.cellServDB;
|
||||
target = "openafs/backup/CellServDB";
|
||||
};
|
||||
|
@ -257,7 +307,7 @@ in {
|
|||
preStart = ''
|
||||
mkdir -m 0755 -p /var/openafs
|
||||
${optionalString (netInfo != null) "cp ${netInfo} /var/openafs/netInfo"}
|
||||
${optionalString (cfg.roles.backup.cellServDB != []) "cp ${buCellServDB}"}
|
||||
${optionalString useBuCellServDB "cp ${buCellServDB}"}
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = "${openafsBin}/bin/bosserver -nofork";
|
||||
|
|
|
@ -218,6 +218,13 @@ in
|
|||
|
||||
systemd.services = dhcpdService "4" cfg4 // dhcpdService "6" cfg6;
|
||||
|
||||
warnings = [
|
||||
''
|
||||
The dhcpd4 and dhcpd6 modules will be removed from NixOS 23.11, because ISC DHCP reached its end of life.
|
||||
See https://www.isc.org/blogs/isc-dhcp-eol/ for details.
|
||||
Please switch to a different implementation like kea, systemd-networkd or dnsmasq.
|
||||
''
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -123,9 +123,9 @@ in {
|
|||
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
|
||||
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
|
||||
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };
|
||||
ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {};
|
||||
ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {};
|
||||
ceph-single-node-bluestore = handleTestOn ["x86_64-linux"] ./ceph-single-node-bluestore.nix {};
|
||||
ceph-multi-node = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-multi-node.nix {};
|
||||
ceph-single-node = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node.nix {};
|
||||
ceph-single-node-bluestore = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node-bluestore.nix {};
|
||||
certmgr = handleTest ./certmgr.nix {};
|
||||
cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {};
|
||||
cgit = handleTest ./cgit.nix {};
|
||||
|
|
|
@ -23,7 +23,7 @@ import ./make-test-python.nix {
|
|||
];
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ];
|
||||
environment.systemPackages = with pkgs; [ git python3Packages.buildbot-full ];
|
||||
environment.systemPackages = with pkgs; [ git buildbot-full ];
|
||||
};
|
||||
|
||||
bbworker = { pkgs, ... }: {
|
||||
|
@ -31,7 +31,7 @@ import ./make-test-python.nix {
|
|||
enable = true;
|
||||
masterUrl = "bbmaster:9989";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ git python3Packages.buildbot-worker ];
|
||||
environment.systemPackages = with pkgs; [ git buildbot-worker ];
|
||||
};
|
||||
|
||||
gitrepo = { pkgs, ... }: {
|
||||
|
|
|
@ -7,13 +7,13 @@ let
|
|||
|
||||
in buildDotnetModule rec {
|
||||
pname = "tone";
|
||||
version = "0.1.3";
|
||||
version = "0.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sandreas";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Z3cumXAIJhUB3/EbzB08MfBCrga1JHtDKr44TmRQuno=";
|
||||
sha256 = "sha256-HhXyOPoDtraT7ef0kpE7SCQbvGFLrTddzS6Kdu0LxW4=";
|
||||
};
|
||||
|
||||
projectFile = "tone/tone.csproj";
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "6.0.13"; sha256 = "0sjd1npl37mky8gqi4bir2fgp0bm6y3jy641asfxa0k0cidbfzwl"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "6.0.15"; sha256 = "0lcz7dniv3arkdzlmjgr9168rjb0an9xf3v3m3pdwjmy8yaipfba"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; })
|
||||
(fetchNuGet { pname = "Sandreas.AudioMetadata"; version = "0.1.1"; sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; })
|
||||
(fetchNuGet { pname = "Sandreas.Files"; version = "1.1.2"; sha256 = "08qk229q2y1dpdxdnp8xi9mgk8fgpjxrxm4z6ak8n09npp67nhn0"; })
|
||||
|
@ -51,5 +51,5 @@
|
|||
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "19.0.1"; sha256 = "01v2wgb6y2z7df4b2dsy0jb4hnhpv5kgyxypzyqdk7h6plad2axd"; })
|
||||
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "19.0.1"; sha256 = "1ms8wqar5w3z2y2qgxii9pqnsb4f1aikji2vaw01zxvnh2wry42n"; })
|
||||
(fetchNuGet { pname = "Ude.NetStandard"; version = "1.2.0"; sha256 = "074yff6g272zpkhk0zvmbfiaaxyp3b05fl24i7ffp2jf9r8bnfpl"; })
|
||||
(fetchNuGet { pname = "z440.atl.core"; version = "4.18.0"; sha256 = "0wwqhpl3xw9vf6c5idz1kwpd72kbg7b9fcmj6gmccxa99kcgljzk"; })
|
||||
(fetchNuGet { pname = "z440.atl.core"; version = "4.19.0"; sha256 = "16290hcf42yhs69ymjrg2znk7s56nnp4hj8rqwi1i8rdajmfr2v1"; })
|
||||
]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "unifi-protect-backup";
|
||||
version = "0.8.8";
|
||||
version = "0.9.0";
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
|
@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "ep1cman";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Z8qK7LprMyXl5irx9Xrs/RgqvNcFVBqLBSljovr6oiE=";
|
||||
hash = "sha256-yPYzFZ4eI1wvBZgSP4Z90zyS+0vrDtf0uRz60byE5XA=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -23,10 +23,6 @@ python3.pkgs.buildPythonApplication rec {
|
|||
"pyunifiprotect"
|
||||
];
|
||||
|
||||
pythonRemoveDeps = [
|
||||
"pylint"
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
poetry-core
|
||||
pythonRelaxDepsHook
|
||||
|
@ -36,7 +32,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||
aiocron
|
||||
aiorun
|
||||
aiosqlite
|
||||
apprise
|
||||
click
|
||||
expiring-dict
|
||||
python-dateutil
|
||||
pyunifiprotect
|
||||
];
|
||||
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stellar-core";
|
||||
version = "19.8.0";
|
||||
version = "19.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stellar";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-OaJztBOl5rDiCq+s1sXwuX+Yh+LSJtcnGIQeuMANLdU=";
|
||||
sha256 = "sha256-00bTqc3YDl/o03Y7NBsgGFwUzb2zYe/A3ccpHPIann8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -35,13 +35,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "neovim-unwrapped";
|
||||
version = "0.8.3";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "neovim";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ItJ8aX/WUfcAovxRsXXyWKBAI92hFloYIZiv7viPIdQ=";
|
||||
hash = "sha256-4uCPWnjSMU7ac6Q3LT+Em8lVk1MuSegxHMLGQRtFqAs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -49,13 +49,6 @@ in
|
|||
# necessary so that nix can handle `UpdateRemotePlugins` for the plugins
|
||||
# it installs. See https://github.com/neovim/neovim/issues/9413.
|
||||
./system_rplugin_manifest.patch
|
||||
# make the build reproducible, rebased version of
|
||||
# https://github.com/neovim/neovim/pull/21586
|
||||
(fetchpatch {
|
||||
name = "neovim-build-make-generated-source-files-reproducible.patch";
|
||||
url = "https://github.com/raboof/neovim/commit/485dd2af3efbfd174163583c46e0bb2a01ff04f1.patch";
|
||||
hash = "sha256-9aRVK4lDkL/W4RVjeKptrZFY7rYYBx6/RGR4bQSbCsM=";
|
||||
})
|
||||
];
|
||||
|
||||
dontFixCmake = true;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -303,12 +303,12 @@
|
|||
};
|
||||
devicetree = buildGrammar {
|
||||
language = "devicetree";
|
||||
version = "0.0.0+rev=ea30a05";
|
||||
version = "0.0.0+rev=6428cee";
|
||||
src = fetchFromGitHub {
|
||||
owner = "joelspadin";
|
||||
repo = "tree-sitter-devicetree";
|
||||
rev = "ea30a05d0f0446a96d8b096ad11828ad4f8ad849";
|
||||
hash = "sha256-ZiUMIsjVMxpchxmJQ3g2yXIn+/kAWPwTzMzx3IlW93o=";
|
||||
rev = "6428cee0e9d76fac3291796ced56ac14ecd036ee";
|
||||
hash = "sha256-QU5lCnTe00Mj5IfrBBnGwvU5S3Gz9VL2FRTNy0FPnIo=";
|
||||
};
|
||||
meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
|
||||
};
|
||||
|
@ -733,12 +733,12 @@
|
|||
};
|
||||
hcl = buildGrammar {
|
||||
language = "hcl";
|
||||
version = "0.0.0+rev=0ff887f";
|
||||
version = "0.0.0+rev=becebeb";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MichaHoffmann";
|
||||
repo = "tree-sitter-hcl";
|
||||
rev = "0ff887f2a60a147452d52db060de6b42f42f1441";
|
||||
hash = "sha256-L4B2qtGqrtyLHyUMx1p0t4aKncm72dUE+e19Fv5iqUA=";
|
||||
rev = "becebebd3509c02e871c99be55556269be1def1b";
|
||||
hash = "sha256-GR2a+VuhZVMGmLW9Mg7bSALNsy0SyfG+YVaRz1qY6a0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
||||
};
|
||||
|
@ -1743,12 +1743,12 @@
|
|||
};
|
||||
terraform = buildGrammar {
|
||||
language = "terraform";
|
||||
version = "0.0.0+rev=0ff887f";
|
||||
version = "0.0.0+rev=becebeb";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MichaHoffmann";
|
||||
repo = "tree-sitter-hcl";
|
||||
rev = "0ff887f2a60a147452d52db060de6b42f42f1441";
|
||||
hash = "sha256-L4B2qtGqrtyLHyUMx1p0t4aKncm72dUE+e19Fv5iqUA=";
|
||||
rev = "becebebd3509c02e871c99be55556269be1def1b";
|
||||
hash = "sha256-GR2a+VuhZVMGmLW9Mg7bSALNsy0SyfG+YVaRz1qY6a0=";
|
||||
};
|
||||
location = "dialects/terraform";
|
||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
||||
|
@ -1923,12 +1923,12 @@
|
|||
};
|
||||
vim = buildGrammar {
|
||||
language = "vim";
|
||||
version = "0.0.0+rev=2886b52";
|
||||
version = "0.0.0+rev=cd63bd2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "tree-sitter-vim";
|
||||
rev = "2886b52143d570d81f97c98be7a1e204ce9d3bcd";
|
||||
hash = "sha256-w8yHo5rtqqD80gbSChaHhSzt3ljPBKWYZ+pxaWFM35s=";
|
||||
rev = "cd63bd20644a419d209b625d21258617580273d2";
|
||||
hash = "sha256-9u9sMBFIrLviF60WTOoiA7bpJfqsD5iWE5OSRdrOz0E=";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/tree-sitter-vim";
|
||||
};
|
||||
|
@ -2011,12 +2011,12 @@
|
|||
};
|
||||
zig = buildGrammar {
|
||||
language = "zig";
|
||||
version = "0.0.0+rev=f3bc9ff";
|
||||
version = "0.0.0+rev=2c7b630";
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxxnino";
|
||||
repo = "tree-sitter-zig";
|
||||
rev = "f3bc9ffe9ca10f52dee01999b5b6ce9a4074b0ac";
|
||||
hash = "sha256-/Bk7UGdPOHmGc01eCNPHsXFMF4pAxE/gkhVxvRItZZ8=";
|
||||
rev = "2c7b6308d906d7aec4b3e1fafaaeca447a8a2c2f";
|
||||
hash = "sha256-uN/B4YasWdgAWV8IAwKd4MP/L73+RiQJGQD00ZA8d6E=";
|
||||
};
|
||||
meta.homepage = "https://github.com/maxxnino/tree-sitter-zig";
|
||||
};
|
||||
|
|
|
@ -852,18 +852,18 @@ self: super: {
|
|||
|
||||
sniprun =
|
||||
let
|
||||
version = "1.2.13";
|
||||
version = "1.3.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelb";
|
||||
repo = "sniprun";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VDLBktZChRgorJt/V/wuFQn/SL4yOZIElmntEQEi8Tc=";
|
||||
hash = "sha256-6UDjrrEtOuB+lrCZVBO4BcZm78qwq8YbQcXAdjNbicY=";
|
||||
};
|
||||
sniprun-bin = rustPlatform.buildRustPackage {
|
||||
pname = "sniprun-bin";
|
||||
inherit version src;
|
||||
|
||||
cargoSha256 = "sha256-cJwmuwsC81fSH36TRU7xGzlR4pVdjsw73uRaH1uWY+0=";
|
||||
cargoSha256 = "sha256-ghXYUgXqXvK9RySG/hQR5zpLsyk6L9Htb/UYgMPyWUk=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
@ -884,6 +884,11 @@ self: super: {
|
|||
substituteInPlace lua/sniprun.lua --replace '@sniprun_bin@' ${sniprun-bin}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir $out/doc
|
||||
ln -s $out/docs/sniprun.txt $out/doc/sniprun.txt
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ sniprun-bin ];
|
||||
};
|
||||
|
||||
|
|
|
@ -399,6 +399,7 @@ https://github.com/lspcontainers/lspcontainers.nvim/,,
|
|||
https://github.com/onsails/lspkind-nvim/,,
|
||||
https://github.com/tami5/lspsaga.nvim/,,
|
||||
https://github.com/glepnir/lspsaga.nvim/,main,lspsaga-nvim-original
|
||||
https://github.com/barreiroleo/ltex_extra.nvim/,HEAD,
|
||||
https://github.com/arkav/lualine-lsp-progress/,,
|
||||
https://github.com/nvim-lualine/lualine.nvim/,,
|
||||
https://github.com/l3mon4d3/luasnip/,,
|
||||
|
@ -755,6 +756,7 @@ https://github.com/vim-scripts/timestamp.vim/,,
|
|||
https://github.com/levouh/tint.nvim/,HEAD,
|
||||
https://github.com/tomtom/tlib_vim/,,
|
||||
https://github.com/wellle/tmux-complete.vim/,,
|
||||
https://github.com/aserowy/tmux.nvim/,HEAD,
|
||||
https://github.com/edkolev/tmuxline.vim/,,
|
||||
https://github.com/folke/todo-comments.nvim/,,
|
||||
https://github.com/AmeerTaweel/todo.nvim/,,
|
||||
|
@ -1194,6 +1196,7 @@ https://github.com/liuchengxu/vista.vim/,,
|
|||
https://github.com/dylanaraps/wal.vim/,,
|
||||
https://github.com/mattn/webapi-vim/,,
|
||||
https://github.com/folke/which-key.nvim/,,
|
||||
https://github.com/johnfrankmorgan/whitespace.nvim/,HEAD,
|
||||
https://github.com/gelguy/wilder.nvim/,,
|
||||
https://github.com/gcmt/wildfire.vim/,,
|
||||
https://github.com/fgheng/winbar.nvim/,main,
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.0.10";
|
||||
version = "1.0.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-S30/exZsw9Rs/l5Sml/q7dqUIcS55ZxbLFYv+M9Jr6o=";
|
||||
hash = "sha256-UV5LooVkCBzUk9E7dYje6t19HOuMCO8jY+fNGTES0KA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
38
pkgs/applications/file-managers/tuifimanager/default.nix
Normal file
38
pkgs/applications/file-managers/tuifimanager/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ lib, python3Packages, fetchFromGitHub }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "tuifimanager";
|
||||
version = "2.3.4";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = pname;
|
||||
owner = "GiorgosXou";
|
||||
rev = "v.${version}";
|
||||
hash = "sha256-KJYPpeBALyg6Gd1GQgJbvGdJbAT47qO9FnSH7GhO4oQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "Send2Trash == 1.8.0" "Send2Trash >= 1.8.0"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ unicurses send2trash ];
|
||||
pythonImportsCheck = [ "TUIFIManager" ];
|
||||
|
||||
# Tests currently cause build to fail
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cross-platform terminal-based termux-oriented file manager";
|
||||
longDescription = ''
|
||||
A cross-platform terminal-based termux-oriented file manager (and component),
|
||||
meant to be used with a Uni-Curses project or as is. This project is mainly an
|
||||
attempt to get more attention to the Uni-Curses project.
|
||||
'';
|
||||
homepage = "https://github.com/GiorgosXou/TUIFIManager";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ michaelBelsanti ];
|
||||
mainProgram = "tuifi";
|
||||
};
|
||||
}
|
|
@ -1,15 +1,15 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
exifr (1.3.9)
|
||||
exifr (1.3.10)
|
||||
fspath (3.1.2)
|
||||
image_optim (0.31.1)
|
||||
image_optim (0.31.3)
|
||||
exifr (~> 1.2, >= 1.2.2)
|
||||
fspath (~> 3.0)
|
||||
image_size (>= 1.5, < 4)
|
||||
in_threads (~> 1.3)
|
||||
progress (~> 3.0, >= 3.0.1)
|
||||
image_size (3.0.2)
|
||||
image_size (3.2.0)
|
||||
in_threads (1.6.0)
|
||||
progress (3.6.0)
|
||||
|
||||
|
@ -20,4 +20,4 @@ DEPENDENCIES
|
|||
image_optim
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.9
|
||||
2.4.6
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{ lib, bundlerApp, bundlerUpdateScript, makeWrapper,
|
||||
withPngcrush ? true, pngcrush,
|
||||
withPngout ? true, pngout,
|
||||
withPngout ? false, pngout, # disabled by default because it's unfree
|
||||
withAdvpng ? true, advancecomp,
|
||||
withOptipng ? true, optipng,
|
||||
withPngquant ? true, pngquant,
|
||||
withOxipng ? true, oxipng,
|
||||
withJhead ? true, jhead,
|
||||
withJpegoptim ? true, jpegoptim,
|
||||
withJpegrecompress ? true, jpeg-archive,
|
||||
|
@ -15,18 +16,31 @@
|
|||
with lib;
|
||||
|
||||
let
|
||||
optionalDepsPath = []
|
||||
++ optional withPngcrush pngcrush
|
||||
optionalDepsPath = optional withPngcrush pngcrush
|
||||
++ optional withPngout pngout
|
||||
++ optional withAdvpng advancecomp
|
||||
++ optional withOptipng optipng
|
||||
++ optional withPngquant pngquant
|
||||
++ optional withOxipng oxipng
|
||||
++ optional withJhead jhead
|
||||
++ optional withJpegoptim jpegoptim
|
||||
++ optional withJpegrecompress jpeg-archive
|
||||
++ optional withJpegtran libjpeg
|
||||
++ optional withGifsicle gifsicle
|
||||
++ optional withSvgo svgo;
|
||||
|
||||
disabledWorkersFlags = optional (!withPngcrush) "--no-pngcrush"
|
||||
++ optional (!withPngout) "--no-pngout"
|
||||
++ optional (!withAdvpng) "--no-advpng"
|
||||
++ optional (!withOptipng) "--no-optipng"
|
||||
++ optional (!withPngquant) "--no-pngquant"
|
||||
++ optional (!withOxipng) "--no-oxipng"
|
||||
++ optional (!withJhead) "--no-jhead"
|
||||
++ optional (!withJpegoptim) "--no-jpegoptim"
|
||||
++ optional (!withJpegrecompress) "--no-jpegrecompress"
|
||||
++ optional (!withJpegtran) "--no-jpegtran"
|
||||
++ optional (!withGifsicle) "--no-gifsicle"
|
||||
++ optional (!withSvgo) "--no-svgo";
|
||||
in
|
||||
|
||||
bundlerApp {
|
||||
|
@ -39,16 +53,23 @@ bundlerApp {
|
|||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/image_optim \
|
||||
--prefix PATH : ${lib.escapeShellArg (makeBinPath optionalDepsPath)}
|
||||
--prefix PATH : ${lib.escapeShellArg (makeBinPath optionalDepsPath)} \
|
||||
--add-flags "${lib.concatStringsSep " " disabledWorkersFlags}"
|
||||
'';
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "image_optim";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)";
|
||||
homepage = "https://github.com/toy/image_optim";
|
||||
license = licenses.mit;
|
||||
description = "Optimize images using multiple utilities";
|
||||
longDescription = ''
|
||||
Command line tool and ruby interface to optimize (lossless compress,
|
||||
optionally lossy) jpeg, png, gif and svg images using external utilities
|
||||
(advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan,
|
||||
jpegtran, optipng, oxipng, pngcrush, pngout, pngquant, svgo)
|
||||
'';
|
||||
homepage = "https://github.com/toy/image_optim";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ srghma nicknovitski ];
|
||||
platforms = platforms.all;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0mylhwmh6n4xihxr9s3zj0lc286f5maxbqd4dgk3paqnd7afz88s";
|
||||
sha256 = "08fmmswa9fwymwsa2gzlm856ak3y9kjxdzm4zdrcrfyxs2p8yqwc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.9";
|
||||
version = "1.3.10";
|
||||
};
|
||||
fspath = {
|
||||
groups = ["default"];
|
||||
|
@ -25,20 +25,20 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1l3n59w1cbvfg2srfa14g3jdqwbkf7l86g4qrgfz3qps7zi0drg7";
|
||||
sha256 = "02iw1plldayr1l8bdw2gshq0h083h0fxwji1m1nfhzikz917c07p";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.31.1";
|
||||
version = "0.31.3";
|
||||
};
|
||||
image_size = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "033k72f8n28psm89wv1qwsrnqyzz57ihyivyi442wha6vr9iyjz3";
|
||||
sha256 = "10slvvyam8gkdjzlhb3wb21hp46ay18miyh1advwvyny660rmdsb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.2";
|
||||
version = "3.2.0";
|
||||
};
|
||||
in_threads = {
|
||||
groups = ["default"];
|
||||
|
|
|
@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
|
|||
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
||||
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
||||
--add-flags $out/share/${pname}/resources/app
|
||||
--add-flags $out/share/${pname}/resources/app \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
|
36
pkgs/applications/misc/transifex-cli/default.nix
Normal file
36
pkgs/applications/misc/transifex-cli/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "transifex-cli";
|
||||
version = "1.6.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "transifex";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5166P44HSRKQ0pCh1BCPd1ZUryh/IBDumcnLYA+CSBY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-rcimaHr3fFeHSjZXw1w23cKISCT+9t8SgtPnY/uYGAU=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w" "-X 'github.com/transifex/cli/internal/txlib.Version=${version}'"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/cli $out/bin/tx
|
||||
'';
|
||||
|
||||
# Tests contain network calls
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Transifex command-line client";
|
||||
homepage = "https://github.com/transifex/transifex-cli";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ thornycrackers ];
|
||||
};
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -3,10 +3,10 @@
|
|||
rec {
|
||||
firefox = buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "111.0.1";
|
||||
version = "112.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "b16c9399a19cb1de2d865a023d54fbe71c23a363ea4d36cd58f41f64f7ad04bc1b9d8a8448943417516e17337e0ee2afd370c29a72b51b0947161f4ffab6935f";
|
||||
sha512 = "6b2bc8c0c93f3109da27168fe7e8f734c6ab4efb4ca56ff2d5e3a52659da71173bba2104037a000623833be8338621fca482f39f836e3910fe2996e6d0a68b39";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -85,11 +85,11 @@ rec {
|
|||
|
||||
firefox-esr-102 = buildMozillaMach rec {
|
||||
pname = "firefox-esr-102";
|
||||
version = "102.9.0esr";
|
||||
version = "102.10.0esr";
|
||||
applicationName = "Mozilla Firefox ESR";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "3923212ce4b7d1f589129025961ff1b380b8aaf1dd074674f3bd63cf14e9a44ff051bda556b7796c25634e153de00ce62243ece15a520f63dd0791a19b2a6685";
|
||||
sha512 = "f2b53c35bdd22a3de6f32699b832babcbf499667197c02dd50cf0b6cd956e0f4471f420938c2ab72f0a0686ed99fe74e3184afe9b5f7169130879b8f8fd99f0b";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -2,21 +2,27 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubectl-gadget";
|
||||
version = "0.14.0";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "inspektor-gadget";
|
||||
repo = "inspektor-gadget";
|
||||
rev = "v${version}";
|
||||
hash = "sha256:16i9biyvzkpgxyfb41afaarnlm59vy02nspln5zq69prg6mp8rwa";
|
||||
hash = "sha256:1gn09kpkw8q2lxc8nic7hd1lhp0z4vscs8yvvxjzp1i9mw8s35xh";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Kj8gP5393++nPeX38TX6duB9OO/ql7hpRA5gTTtTl+M=";
|
||||
vendorHash = "sha256-Y76Y3KR80dCx8+f6M0h5J6glGQGhXYE2KQM4jdJcDEM=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w"
|
||||
"-X main.version=v${version}"
|
||||
"-extldflags=-static"
|
||||
];
|
||||
|
||||
tags = [
|
||||
"withoutebpf"
|
||||
];
|
||||
|
||||
subPackages = [ "cmd/kubectl-gadget" ];
|
||||
|
|
56
pkgs/applications/networking/gopher/phetch/default.nix
Normal file
56
pkgs/applications/networking/gopher/phetch/default.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, rustPlatform
|
||||
, pkg-config
|
||||
, openssl
|
||||
, scdoc
|
||||
, Security
|
||||
, which
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "phetch";
|
||||
version = "1.2.0";
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xvxx";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-J+ka7/B37WzVPPE2Krkd/TIiVwuKfI2QYWmT0JHgBGQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-y3Y5PnZ51Zc3LmVTijUGnb0KaGm28sWOSYxjuM3A1Zk=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles pkg-config scdoc which ];
|
||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
postInstall = ''
|
||||
make manual
|
||||
installManPage doc/phetch.1
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A quick lil gopher client for your terminal, written in rust";
|
||||
longDescription = ''
|
||||
phetch is a terminal client designed to help you quickly navigate the gophersphere.
|
||||
- <1MB executable for Linux, Mac, and NetBSD
|
||||
- Technicolor design (based on GILD)
|
||||
- No-nonsense keyboard navigation
|
||||
- Supports Gopher searches, text and menu pages, and downloads
|
||||
- Save your favorite Gopher sites with bookmarks
|
||||
- Opt-in history tracking
|
||||
- Secure Gopher support (TLS)
|
||||
- Tor support
|
||||
'';
|
||||
changelog = "https://github.com/xvxx/phetch/releases/tag/v${version}";
|
||||
homepage = "https://github.com/xvxx/phetch";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ felixalbrigtsen ];
|
||||
};
|
||||
}
|
|
@ -7,7 +7,7 @@ let
|
|||
|
||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||
# source of the latter disappears much faster.
|
||||
version = "8.87.0.406";
|
||||
version = "8.96.0.207";
|
||||
|
||||
rpath = lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
|
@ -68,7 +68,7 @@ let
|
|||
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
];
|
||||
sha256 = "sha256-lWnQIdMmfz90h3tOWkQv0vo3HnRi3z6W27vK28+Ksjo=";
|
||||
sha256 = "sha256-tkOPYFkmc4nzO8Rgat9/VNuzzIW10qSEzbXhjkZV83k=";
|
||||
}
|
||||
else
|
||||
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "senpai";
|
||||
version = "unstable-2023-02-13";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~taiite";
|
||||
repo = "senpai";
|
||||
rev = "1318e784bd2bba3765aee97811a3f0053d3a6723";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-q167og8S8YbLcREZ7DVbJhjMzx4iO0WgIFkOV2IpieM=";
|
||||
};
|
||||
|
||||
|
@ -30,7 +30,7 @@ buildGoModule rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Your everyday IRC student";
|
||||
homepage = "https://ellidri.org/senpai";
|
||||
homepage = "https://sr.ht/~taiite/senpai/";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ malte-v ];
|
||||
};
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "waypipe";
|
||||
version = "0.8.5";
|
||||
version = "0.8.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "mstoeckl";
|
||||
repo = "waypipe";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uf2+PSqgZ+RShuVYlR42xMV38tuYbGV+bW1tdXgiZYU=";
|
||||
hash = "sha256-1VLPnP4BmF9Zha0uVsPjA/WbF/oLfZmdDX57SzqrV5A=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
, gettext
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
|
@ -16,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
sha256 = "sha256-qwH2mt3Va62QJKJGOpt5WV3QksqQaRGEif4CcPC5F2E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems ];
|
||||
nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems wrapGAppsHook ];
|
||||
|
||||
pythonPath = with python3.pkgs; [
|
||||
wxPython_4_2
|
||||
|
@ -76,6 +77,12 @@ python3.pkgs.buildPythonApplication rec {
|
|||
runHook postCheck
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://thetimelineproj.sourceforge.net/";
|
||||
changelog = "https://thetimelineproj.sourceforge.net/changelog.html";
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "primecount";
|
||||
version = "7.7";
|
||||
version = "7.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimwalisch";
|
||||
repo = "primecount";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6Q9DPnlGKb31QYEGpm78ISfbj90MeLD0/2k2fDZm7cM=";
|
||||
hash = "sha256-yKk+zXvA/MI7y9gCMwJNYHRYIYgeWyJHjyPi1uNWVnM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"version": "15.10.1",
|
||||
"repo_hash": "sha256-BETTehy2GxZDGWLgdao1I0cqm4cNaL9lhXe+JmCNi10=",
|
||||
"version": "15.10.2",
|
||||
"repo_hash": "sha256-XjL1D2DschFn64D2KcTQP6pppecIN26LrWMJPUfYvgI=",
|
||||
"yarn_hash": "1il8dnjb7591ss6w14zibdihg3bylw866jjjclv1qm8cihp8k3y8",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v15.10.1-ee",
|
||||
"rev": "v15.10.2-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "15.10.1",
|
||||
"GITLAB_PAGES_VERSION": "15.10.1",
|
||||
"GITALY_SERVER_VERSION": "15.10.2",
|
||||
"GITLAB_PAGES_VERSION": "15.10.2",
|
||||
"GITLAB_SHELL_VERSION": "14.18.0",
|
||||
"GITLAB_WORKHORSE_VERSION": "15.10.1"
|
||||
"GITLAB_WORKHORSE_VERSION": "15.10.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
gemdir = ./.;
|
||||
};
|
||||
|
||||
version = "15.10.1";
|
||||
version = "15.10.2";
|
||||
package_version = "v${lib.versions.major version}";
|
||||
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
||||
|
||||
|
@ -22,7 +22,7 @@ let
|
|||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iGYmBMRno2qCvdklyztGTV48m0UMeozuyX7ZZdS7K/c=";
|
||||
sha256 = "sha256-18BmECQqzwwxl7nY5+Bi4oyA2EPd5HqzJdgVPV8J1OM=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-knuUyJGz5JvYyKeDQ66cMQQSh2YKkkDB54iCir1QpEY=";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gitlab-pages";
|
||||
version = "15.10.1";
|
||||
version = "15.10.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-pages";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FZ7Ifb8bau1helYnmKcS90oASnjF/knxbtPsck6lwKk=";
|
||||
sha256 = "sha256-h3Q8dOz61sRhDxRlcPTP+yhP/ntTTqggyAFvTgu6m6k=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";
|
||||
|
|
|
@ -5,7 +5,7 @@ in
|
|||
buildGoModule rec {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "15.10.1";
|
||||
version = "15.10.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = data.owner;
|
||||
|
|
|
@ -546,7 +546,7 @@ gem 'lru_redux'
|
|||
# Locked as long as quoted-printable encoding issues are not resolved
|
||||
# Monkey-patched in `config/initializers/mail_encoding_patch.rb`
|
||||
# See https://gitlab.com/gitlab-org/gitlab/issues/197386
|
||||
gem 'mail', '= 2.7.1'
|
||||
gem 'mail', '= 2.8.1'
|
||||
gem 'mail-smtp_pool', '~> 0.1.0', path: 'vendor/gems/mail-smtp_pool', require: false
|
||||
|
||||
gem 'microsoft_graph_mailer', '~> 0.1.0', path: 'vendor/gems/microsoft_graph_mailer'
|
||||
|
@ -593,12 +593,8 @@ gem 'app_store_connect'
|
|||
# For phone verification
|
||||
gem 'telesignenterprise', '~> 2.2'
|
||||
|
||||
# Ruby 3 extracts net-protocol into a separate gem, while Ruby 2 has it built-in
|
||||
# This condition installs the gem only for Ruby 3 to avoid warnings on Ruby 2
|
||||
# Can be removed when support for Ruby 2 is dropped
|
||||
install_if -> { Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0.0") } do
|
||||
# BufferedIO patch
|
||||
gem 'net-protocol', '~> 0.1.3'
|
||||
end
|
||||
# BufferedIO patch
|
||||
# Updating this version will require updating scripts/allowed_warnings.txt
|
||||
gem 'net-protocol', '~> 0.1.3'
|
||||
|
||||
gem 'duo_api', '~> 1.3'
|
||||
|
|
|
@ -344,6 +344,7 @@ GEM
|
|||
danger
|
||||
gitlab (~> 4.2, >= 4.2.0)
|
||||
database_cleaner (1.7.0)
|
||||
date (3.3.3)
|
||||
dead_end (3.1.1)
|
||||
debug_inspector (1.1.0)
|
||||
deckar01-task_list (2.3.2)
|
||||
|
@ -927,8 +928,11 @@ GEM
|
|||
zeitwerk (~> 2.5)
|
||||
lru_redux (1.1.0)
|
||||
lumberjack (1.2.7)
|
||||
mail (2.7.1)
|
||||
mail (2.8.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
marcel (1.0.2)
|
||||
marginalia (1.11.1)
|
||||
actionpack (>= 5.2)
|
||||
|
@ -972,12 +976,19 @@ GEM
|
|||
nenv (0.3.0)
|
||||
net-http-persistent (4.0.1)
|
||||
connection_pool (~> 2.2)
|
||||
net-imap (0.3.4)
|
||||
date
|
||||
net-protocol
|
||||
net-ldap (0.17.1)
|
||||
net-ntp (2.1.3)
|
||||
net-pop (0.1.2)
|
||||
net-protocol
|
||||
net-protocol (0.1.3)
|
||||
timeout
|
||||
net-scp (3.0.0)
|
||||
net-ssh (>= 2.6.5, < 7.0.0)
|
||||
net-smtp (0.3.3)
|
||||
net-protocol
|
||||
net-ssh (6.0.0)
|
||||
netrc (0.11.0)
|
||||
nio4r (2.5.8)
|
||||
|
@ -1790,7 +1801,7 @@ DEPENDENCIES
|
|||
loofah (~> 2.19.1)
|
||||
lookbook (~> 1.5, >= 1.5.3)
|
||||
lru_redux
|
||||
mail (= 2.7.1)
|
||||
mail (= 2.8.1)
|
||||
mail-smtp_pool (~> 0.1.0)!
|
||||
marginalia (~> 1.11.1)
|
||||
memory_profiler (~> 1.0)
|
||||
|
|
|
@ -1064,6 +1064,16 @@ src:
|
|||
};
|
||||
version = "1.7.0";
|
||||
};
|
||||
date = {
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.3";
|
||||
};
|
||||
dead_end = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
|
@ -3416,15 +3426,15 @@ src:
|
|||
version = "1.2.7";
|
||||
};
|
||||
mail = {
|
||||
dependencies = ["mini_mime"];
|
||||
dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"];
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
|
||||
sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.7.1";
|
||||
version = "2.8.1";
|
||||
};
|
||||
mail-smtp_pool = {
|
||||
dependencies = ["connection_pool" "mail"];
|
||||
|
@ -3739,6 +3749,17 @@ src:
|
|||
};
|
||||
version = "4.0.1";
|
||||
};
|
||||
net-imap = {
|
||||
dependencies = ["date" "net-protocol"];
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1d996zf3g8xz244791b0qsl9vr7zg4lqnnmf9k2kshr9lki5jam8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.4";
|
||||
};
|
||||
net-ldap = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -3759,6 +3780,17 @@ src:
|
|||
};
|
||||
version = "2.1.3";
|
||||
};
|
||||
net-pop = {
|
||||
dependencies = ["net-protocol"];
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.2";
|
||||
};
|
||||
net-protocol = {
|
||||
dependencies = ["timeout"];
|
||||
groups = ["default"];
|
||||
|
@ -3781,6 +3813,17 @@ src:
|
|||
};
|
||||
version = "3.0.0";
|
||||
};
|
||||
net-smtp = {
|
||||
dependencies = ["net-protocol"];
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.3";
|
||||
};
|
||||
net-ssh = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
|
|
@ -1,27 +1,39 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, stdenv, makeWrapper, gitMinimal }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, stdenv, makeWrapper, gitMinimal, testers, gitsign }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gitsign";
|
||||
version = "0.4.1";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sigstore";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lSE4BLwtxicngvnDCcMa6F6c3+Okn9NKAOnT2FGi7kU=";
|
||||
hash = "sha256-VgkTFYnHKpqZOack5SabOFu2BRespVRhgrsepo0V1mI=";
|
||||
};
|
||||
vendorSha256 = "sha256-WrVunAxOXXGSbs9OyKydeg4N/s871mt2O3t2e5DxXQo=";
|
||||
vendorHash = "sha256-zalysp+90+QM5hX7yUudJW61h+3tQOab7ZpcF5kZSB0=";
|
||||
|
||||
subPackages = [
|
||||
"."
|
||||
"cmd/gitsign-credential-cache"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
ldflags = [ "-s" "-w" "-buildid=" "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" ];
|
||||
|
||||
preCheck = ''
|
||||
# test all paths
|
||||
unset subPackages
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for f in $out/bin/*; do
|
||||
wrapProgram $f --prefix PATH : ${lib.makeBinPath [ gitMinimal ]}
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion { package = gitsign; };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/sigstore/gitsign";
|
||||
changelog = "https://github.com/sigstore/gitsign/releases/tag/v${version}";
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
let
|
||||
pname = "lefthook";
|
||||
version = "1.3.8";
|
||||
version = "1.3.9";
|
||||
in
|
||||
buildGoModule rec {
|
||||
inherit pname version;
|
||||
|
@ -15,7 +15,7 @@ buildGoModule rec {
|
|||
owner = "evilmartians";
|
||||
repo = "lefthook";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AtqCRGl+xvFA3mW9hYZALSrknUbuJ83LOKgOvLDLIPU=";
|
||||
hash = "sha256-6XsSnFrYRsVNzp5Kr1+GghbNh2uOOyT4BQm9yBw3jRU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cMRl+TqSLlfoAja+JNaNKfHDR9fkvMTWdB1FT3XxPd4=";
|
||||
|
|
|
@ -1,19 +1,28 @@
|
|||
{ stdenv, lib, python3Packages, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook }:
|
||||
{ stdenv, lib, python3Packages, fetchFromGitHub, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook }:
|
||||
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
pname = "gnomecast";
|
||||
version = "1.9.11";
|
||||
version = "unstable-2022-04-23";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "4d8cd7a71f352137252c5a9ee13475bd67fb99594560ecff1efb0f718d8bbaac";
|
||||
src = fetchFromGitHub {
|
||||
owner = "keredson";
|
||||
repo = "gnomecast";
|
||||
rev = "d42d8915838b01c5cadacb322909e08ffa455d4f";
|
||||
sha256 = "sha256-CJpbBuRzEjWb8hsh3HMW4bZA7nyDAwjrERCS5uGdwn8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
propagatedBuildInputs = [
|
||||
pychromecast bottle pycaption paste html5lib pygobject3 dbus-python
|
||||
gtk3 gobject-introspection
|
||||
pychromecast
|
||||
bottle
|
||||
pycaption
|
||||
paste
|
||||
html5lib
|
||||
pygobject3
|
||||
dbus-python
|
||||
gtk3
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
# NOTE: gdk-pixbuf setup hook does not run with strictDeps
|
||||
|
|
|
@ -1,51 +1,73 @@
|
|||
{ stdenv, avahi-compat, cmake, fetchFromGitHub, flatbuffers, hidapi, lib, libcec
|
||||
, libusb1, libX11, libxcb, libXrandr, mbedtls, mkDerivation, protobuf, python3
|
||||
, qtbase, qtserialport, qtsvg, qtx11extras, wrapQtAppsHook }:
|
||||
{ stdenv, lib, fetchFromGitHub
|
||||
, cmake, wrapQtAppsHook, perl
|
||||
, flatbuffers, protobuf, mbedtls
|
||||
, hidapi, libcec, libusb1
|
||||
, libX11, libxcb, libXrandr, python3
|
||||
, qtbase, qtserialport, qtsvg, qtx11extras
|
||||
, withRPiDispmanx ? false, libraspberrypi
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hyperion.ng";
|
||||
version = "2.0.12";
|
||||
version = "2.0.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyperion-project";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-J31QaWwGNhIpnZmWN9lZEI6fC0VheY5X8fGchQqtAlQ=";
|
||||
sha256 = "sha256-Y1PZ+YyPMZEX4fBpMG6IVT1gtXR9ZHlavJMCQ4KAenc=";
|
||||
# needed for `dependencies/external/`:
|
||||
# * rpi_ws281x` - not possible to use as a "system" lib
|
||||
# * qmdnsengine - not in nixpkgs yet
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
avahi-compat
|
||||
flatbuffers
|
||||
hidapi
|
||||
libcec
|
||||
libusb1
|
||||
libX11
|
||||
libxcb
|
||||
libXrandr
|
||||
mbedtls
|
||||
flatbuffers
|
||||
protobuf
|
||||
mbedtls
|
||||
python3
|
||||
qtbase
|
||||
qtserialport
|
||||
qtsvg
|
||||
qtx11extras
|
||||
];
|
||||
] ++ lib.optional stdenv.isLinux libcec
|
||||
++ lib.optional withRPiDispmanx libraspberrypi;
|
||||
|
||||
nativeBuildInputs = [ cmake wrapQtAppsHook ];
|
||||
nativeBuildInputs = [
|
||||
cmake wrapQtAppsHook
|
||||
] ++ lib.optional stdenv.isDarwin perl; # for macos bundle
|
||||
|
||||
patchPhase = ''
|
||||
patchShebangs test/testrunner.sh
|
||||
patchShebangs src/hyperiond/CMakeLists.txt
|
||||
'' ;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DUSE_SYSTEM_MBEDTLS_LIBS=ON"
|
||||
"-DENABLE_DEPLOY_DEPENDENCIES=OFF"
|
||||
"-DUSE_SYSTEM_FLATBUFFERS_LIBS=ON"
|
||||
"-DUSE_SYSTEM_PROTO_LIBS=ON"
|
||||
];
|
||||
"-DUSE_SYSTEM_MBEDTLS_LIBS=ON"
|
||||
# "-DUSE_SYSTEM_QMDNS_LIBS=ON" # qmdnsengine not in nixpkgs yet
|
||||
"-DENABLE_TESTS=ON"
|
||||
] ++ lib.optional (withRPiDispmanx == false) "-DENABLE_DISPMANX=OFF";
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
cd ../ && ./test/testrunner.sh && cd -
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64);
|
||||
description = "Open Source Ambilight solution";
|
||||
description = "An opensource Bias or Ambient Lighting implementation";
|
||||
homepage = "https://github.com/hyperion-project/hyperion.ng";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ algram ];
|
||||
maintainers = with maintainers; [ algram kazenyuk ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ fetchurl, lib, stdenv }:
|
||||
|
||||
let
|
||||
version = "1.1.3";
|
||||
version = "1.3.1";
|
||||
# nixpkgs-update: no auto update
|
||||
|
||||
suffix = {
|
||||
|
@ -23,8 +23,8 @@ stdenv.mkDerivation {
|
|||
|
||||
sourceRoot = ".";
|
||||
src = dlbin {
|
||||
x86_64-linux = "sha256-3+CqVBOb2haknQIMzE9kl99pDWm9wZPUX92FlVov3No=";
|
||||
aarch64-linux = "sha256-ii+x4YEZIZJuM+1Njvxe1dz6WOvAK1SWqfuodC7a4yo=";
|
||||
x86_64-linux = "sha256-VfTo3TaTqqBYT2/CZW0F5tGXaT4CyBcKBnP5Xqc1BLI=";
|
||||
aarch64-linux = "sha256-ODIBa482X8bNhRyvdmIGGi/6BZYif02cf8tAWYRcI2k=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
|
|
@ -1,11 +1,22 @@
|
|||
{ stdenv, lib, buildEnv, writeText, writeShellScriptBin, pkgs, pkgsi686Linux }:
|
||||
|
||||
args@{ name, profile ? ""
|
||||
, targetPkgs ? pkgs: [], multiPkgs ? pkgs: []
|
||||
, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
|
||||
, extraOutputsToInstall ? []
|
||||
{ lib
|
||||
, stdenv
|
||||
, runCommandLocal
|
||||
, buildEnv
|
||||
, writeText
|
||||
, writeShellScriptBin
|
||||
, pkgs
|
||||
, pkgsi686Linux
|
||||
}:
|
||||
|
||||
{ name ? null
|
||||
, profile ? ""
|
||||
, targetPkgs ? pkgs: []
|
||||
, multiPkgs ? pkgs: []
|
||||
, extraBuildCommands ? ""
|
||||
, extraBuildCommandsMulti ? ""
|
||||
, extraOutputsToInstall ? []
|
||||
} @ args:
|
||||
|
||||
# HOWTO:
|
||||
# All packages (most likely programs) returned from targetPkgs will only be
|
||||
# installed once--matching the host's architecture (64bit on x86_64 and 32bit on
|
||||
|
@ -78,19 +89,16 @@ let
|
|||
'';
|
||||
|
||||
# Compose /etc for the chroot environment
|
||||
etcPkg = stdenv.mkDerivation {
|
||||
name = "${name}-chrootenv-etc";
|
||||
buildCommand = ''
|
||||
mkdir -p $out/etc
|
||||
cd $out/etc
|
||||
etcPkg = runCommandLocal "${name}-chrootenv-etc" { } ''
|
||||
mkdir -p $out/etc
|
||||
cd $out/etc
|
||||
|
||||
# environment variables
|
||||
ln -s ${etcProfile} profile
|
||||
# environment variables
|
||||
ln -s ${etcProfile} profile
|
||||
|
||||
# symlink /etc/mtab -> /proc/mounts (compat for old userspace progs)
|
||||
ln -s /proc/mounts mtab
|
||||
'';
|
||||
};
|
||||
# symlink /etc/mtab -> /proc/mounts (compat for old userspace progs)
|
||||
ln -s /proc/mounts mtab
|
||||
'';
|
||||
|
||||
# Composes a /usr-like directory structure
|
||||
staticUsrProfileTarget = buildEnv {
|
||||
|
@ -163,8 +171,9 @@ let
|
|||
ln -Ls ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/
|
||||
'';
|
||||
|
||||
setupLibDirs = if isTargetBuild then setupLibDirsTarget
|
||||
else setupLibDirsMulti;
|
||||
setupLibDirs = if isTargetBuild
|
||||
then setupLibDirsTarget
|
||||
else setupLibDirsMulti;
|
||||
|
||||
# the target profile is the actual profile that will be used for the chroot
|
||||
setupTargetProfile = ''
|
||||
|
@ -203,21 +212,16 @@ let
|
|||
done
|
||||
'';
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "${name}-fhs";
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
cd $out
|
||||
${setupTargetProfile}
|
||||
cd $out
|
||||
${extraBuildCommands}
|
||||
cd $out
|
||||
${lib.optionalString isMultiBuild extraBuildCommandsMulti}
|
||||
'';
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
|
||||
in runCommandLocal "${name}-fhs" {
|
||||
passthru = {
|
||||
inherit args multiPaths targetPaths;
|
||||
};
|
||||
}
|
||||
} ''
|
||||
mkdir -p $out
|
||||
cd $out
|
||||
${setupTargetProfile}
|
||||
cd $out
|
||||
${extraBuildCommands}
|
||||
cd $out
|
||||
${lib.optionalString isMultiBuild extraBuildCommandsMulti}
|
||||
''
|
||||
|
|
|
@ -1,7 +1,15 @@
|
|||
{ lib, callPackage, runCommandLocal, writeShellScriptBin, glibc, pkgsi686Linux, coreutils, bubblewrap }:
|
||||
{ lib
|
||||
, callPackage
|
||||
, runCommandLocal
|
||||
, writeShellScript
|
||||
, glibc
|
||||
, pkgsi686Linux
|
||||
, coreutils
|
||||
, bubblewrap
|
||||
}:
|
||||
|
||||
args @ {
|
||||
name
|
||||
{ name ? null
|
||||
, pname ? null
|
||||
, version ? null
|
||||
, runScript ? "bash"
|
||||
, extraInstallCommands ? ""
|
||||
|
@ -16,16 +24,22 @@ args @ {
|
|||
, unshareCgroup ? true
|
||||
, dieWithParent ? true
|
||||
, ...
|
||||
}:
|
||||
} @ args:
|
||||
|
||||
assert (pname != null || version != null) -> (name == null && pname != null); # You must declare either a name or pname + version (preferred).
|
||||
|
||||
with builtins;
|
||||
let
|
||||
pname = if args.name != null then args.name else args.pname;
|
||||
versionStr = lib.optionalString (version != null) ("-" + version);
|
||||
name = pname + versionStr;
|
||||
|
||||
buildFHSEnv = callPackage ./buildFHSEnv.nix { };
|
||||
|
||||
fhsenv = buildFHSEnv (removeAttrs args [
|
||||
fhsenv = buildFHSEnv (removeAttrs (args // { inherit name; }) [
|
||||
"runScript" "extraInstallCommands" "meta" "passthru" "extraBwrapArgs" "dieWithParent"
|
||||
"unshareUser" "unshareCgroup" "unshareUts" "unshareNet" "unsharePid" "unshareIpc"
|
||||
"version"
|
||||
"pname" "version"
|
||||
]);
|
||||
|
||||
etcBindEntries = let
|
||||
|
@ -93,7 +107,7 @@ let
|
|||
EOF
|
||||
ldconfig &> /dev/null
|
||||
'';
|
||||
init = run: writeShellScriptBin "${name}-init" ''
|
||||
init = run: writeShellScript "${name}-init" ''
|
||||
source /etc/profile
|
||||
${createLdConfCache}
|
||||
exec ${run} "$@"
|
||||
|
@ -198,18 +212,13 @@ let
|
|||
"''${auto_mounts[@]}"
|
||||
"''${x11_args[@]}"
|
||||
${concatStringsSep "\n " extraBwrapArgs}
|
||||
${init runScript}/bin/${name}-init ${initArgs}
|
||||
${init runScript} ${initArgs}
|
||||
)
|
||||
exec "''${cmd[@]}"
|
||||
'';
|
||||
|
||||
bin = writeShellScriptBin name (bwrapCmd { initArgs = ''"$@"''; });
|
||||
|
||||
versionStr = lib.optionalString (version != null) ("-" + version);
|
||||
|
||||
nameAndVersion = name + versionStr;
|
||||
|
||||
in runCommandLocal nameAndVersion {
|
||||
bin = writeShellScript "${name}-bwrap" (bwrapCmd { initArgs = ''"$@"''; });
|
||||
in runCommandLocal name {
|
||||
inherit meta;
|
||||
|
||||
passthru = passthru // {
|
||||
|
@ -225,6 +234,7 @@ in runCommandLocal nameAndVersion {
|
|||
};
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${bin}/bin/${name} $out/bin/${name}
|
||||
ln -s ${bin} $out/bin/${pname}
|
||||
|
||||
${extraInstallCommands}
|
||||
''
|
||||
|
|
|
@ -24,48 +24,53 @@ let
|
|||
Google’s answer to tofu. The name noto is to convey the idea that
|
||||
Google’s goal is to see “no more tofu”. Noto has multiple styles and
|
||||
weights, and freely available to all.
|
||||
|
||||
This package also includes the Arimo, Cousine, and Tinos fonts.
|
||||
'';
|
||||
in
|
||||
rec {
|
||||
mkNoto =
|
||||
{ pname
|
||||
, weights
|
||||
, variants ? [ ]
|
||||
, longDescription ? notoLongDescription
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "20201206-phase3";
|
||||
version = "23.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "googlefonts";
|
||||
repo = "noto-fonts";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-x60RvCRFLoGe0CNvswROnDkIsUFbWH+/laN8q2qkUPk=";
|
||||
owner = "notofonts";
|
||||
repo = "notofonts.github.io";
|
||||
rev = "noto-monthly-release-${version}";
|
||||
hash = "sha256-hiBbhcwktacuoYJnZcsh7Aej5QIrBNkqrel2NhjNjCU=";
|
||||
};
|
||||
|
||||
_variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants;
|
||||
|
||||
installPhase = ''
|
||||
# We copy in reverse preference order -- unhinted first, then
|
||||
# hinted -- to get the "best" version of each font while
|
||||
# We check availability in order of variable -> otf -> ttf
|
||||
# unhinted -- the hinted versions use autohint
|
||||
# maintaining maximum coverage.
|
||||
#
|
||||
# TODO: install OpenType, variable versions?
|
||||
local out_ttf=$out/share/fonts/truetype/noto
|
||||
# We have a mix of otf and ttf fonts
|
||||
local out_font=$out/share/fonts/noto
|
||||
'' + (if _variants == [ ] then ''
|
||||
install -m444 -Dt $out_ttf archive/unhinted/*/*-${weights}.ttf
|
||||
install -m444 -Dt $out_ttf archive/hinted/*/*-${weights}.ttf
|
||||
install -m444 -Dt $out_ttf unhinted/*/*/*-${weights}.ttf
|
||||
install -m444 -Dt $out_ttf hinted/*/*/*-${weights}.ttf
|
||||
for folder in $(ls -d fonts/*/); do
|
||||
if [[ -d "$folder"unhinted/variable-ttf ]]; then
|
||||
install -m444 -Dt $out_font "$folder"unhinted/variable-ttf/*.ttf
|
||||
elif [[ -d "$folder"unhinted/otf ]]; then
|
||||
install -m444 -Dt $out_font "$folder"unhinted/otf/*.otf
|
||||
else
|
||||
install -m444 -Dt $out_font "$folder"unhinted/ttf/*.ttf
|
||||
fi
|
||||
done
|
||||
'' else ''
|
||||
for variant in $_variants; do
|
||||
install -m444 -Dt $out_ttf archive/unhinted/$variant/*-${weights}.ttf
|
||||
install -m444 -Dt $out_ttf archive/hinted/$variant/*-${weights}.ttf
|
||||
install -m444 -Dt $out_ttf unhinted/*/$variant/*-${weights}.ttf
|
||||
install -m444 -Dt $out_ttf hinted/*/$variant/*-${weights}.ttf
|
||||
if [[ -d fonts/"$variant"/unhinted/variable-ttf ]]; then
|
||||
install -m444 -Dt $out_font fonts/"$variant"/unhinted/variable-ttf/*.ttf
|
||||
elif [[ -d fonts/"$variant"/unhinted/otf ]]; then
|
||||
install -m444 -Dt $out_font fonts/"$variant"/unhinted/otf/*.otf
|
||||
else
|
||||
install -m444 -Dt $out_font fonts/"$variant"/unhinted/ttf/*.ttf
|
||||
fi
|
||||
done
|
||||
'');
|
||||
|
||||
|
@ -75,7 +80,7 @@ rec {
|
|||
inherit longDescription;
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mathnerd314 emily ];
|
||||
maintainers = with maintainers; [ mathnerd314 emily jopejoe1 ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -120,17 +125,13 @@ rec {
|
|||
|
||||
noto-fonts = mkNoto {
|
||||
pname = "noto-fonts";
|
||||
weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
|
||||
};
|
||||
|
||||
noto-fonts-lgc-plus = mkNoto {
|
||||
pname = "noto-fonts-lgc-plus";
|
||||
weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
|
||||
variants = [
|
||||
"Noto Sans"
|
||||
"Noto Serif"
|
||||
"Noto Sans Display"
|
||||
"Noto Serif Display"
|
||||
"Noto Sans Mono"
|
||||
"Noto Music"
|
||||
"Noto Sans Symbols"
|
||||
|
@ -145,11 +146,6 @@ rec {
|
|||
'';
|
||||
};
|
||||
|
||||
noto-fonts-extra = mkNoto {
|
||||
pname = "noto-fonts-extra";
|
||||
weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
|
||||
};
|
||||
|
||||
noto-fonts-cjk-sans = mkNotoCJK {
|
||||
typeface = "Sans";
|
||||
version = "2.004";
|
||||
|
|
51
pkgs/data/themes/sweet-nova/default.nix
Normal file
51
pkgs/data/themes/sweet-nova/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ fetchFromGitHub
|
||||
, gitUpdater
|
||||
, lib
|
||||
, stdenvNoCC
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "sweet-nova";
|
||||
version = "unstable-2023-04-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = "Sweet";
|
||||
rev = "8a5d5a7d975567b5ae101b9f9d436fb1db2d9b24";
|
||||
hash = "sha256-FVcXBxcS5oFsvAUDcwit7EIfgIQznl8AYYxqQ797ddU=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
cd kde
|
||||
mkdir -p aurorae/themes
|
||||
mv aurorae/Sweet-Dark aurorae/themes/Sweet-Dark
|
||||
mv aurorae/Sweet-Dark-transparent aurorae/themes/Sweet-Dark-transparent
|
||||
rm aurorae/.shade.svg
|
||||
mv colorschemes color-schemes
|
||||
mkdir -p plasma/look-and-feel
|
||||
mv look-and-feel plasma/look-and-feel/com.github.eliverlara.sweet
|
||||
mv sddm sddm-Sweet
|
||||
mkdir -p sddm/themes
|
||||
mv sddm-Sweet sddm/themes/Sweet
|
||||
mv cursors icons
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -d $out/share
|
||||
cp -r Kvantum aurorae color-schemes icons konsole plasma sddm $out/share
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "A dark and colorful, blurry theme for the KDE Plasma desktop";
|
||||
homepage = "https://github.com/EliverLara/Sweet";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = [ maintainers.dr460nf1r3 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -122,6 +122,15 @@ super: lib.trivial.pipe super [
|
|||
];
|
||||
}))
|
||||
|
||||
(patchExtension "Vitals@CoreCoding.com" (old: {
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./extensionOverridesPatches/vitals_at_corecoding.com.patch;
|
||||
gtop_path = "${libgtop}/lib/girepository-1.0";
|
||||
})
|
||||
];
|
||||
}))
|
||||
|
||||
(patchExtension "unite@hardpixel.eu" (old: {
|
||||
buildInputs = [ xprop ];
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
diff --git i/sensors.js w/sensors.js
|
||||
index 5ab7068..00cfa19 100644
|
||||
--- i/sensors.js
|
||||
+++ w/sensors.js
|
||||
@@ -29,6 +29,9 @@ const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const FileModule = Me.imports.helpers.file;
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
+
|
||||
+imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@');
|
||||
+
|
||||
const NM = imports.gi.NM;
|
||||
|
||||
let GTop, hasGTop = true;
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jwasm";
|
||||
version = "2.16";
|
||||
version = "2.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Baron-von-Riedesel";
|
||||
repo = "JWasm";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-X2qqS4ev0+PeA1Gcsi8nivKAGZv7jxThxmQL/Jf5oB0=";
|
||||
hash = "sha256-22eNtHXF+RQT4UbXIVjn1JP/s6igp5O1oQT7sVl7c1U=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, readline
|
||||
, gitUpdater
|
||||
}:
|
||||
|
@ -15,16 +14,6 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-4sXuVBbf2iIwx6DLeJXfmpstWyBluxjn5k3sKnlqvhs=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
(fetchpatch {
|
||||
# ld: library not found for -l:libmujs.a
|
||||
name = "darwin-failures.patch";
|
||||
url = "https://git.ghostscript.com/?p=mujs.git;a=patch;h=d592c785c0b2f9fea982ac3fe7b88fdd7c4817fc";
|
||||
sha256 = "sha256-/57A7S65LWZFyQIGe+LtqDMu85K1N/hbztXB+/nCDJk=";
|
||||
revert = true;
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ readline ];
|
||||
|
||||
makeFlags = [ "prefix=$(out)" ];
|
||||
|
|
|
@ -3,10 +3,7 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper
|
||||
, pkg-config, libX11, libuuid, xz, vtk, Cocoa }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "itk";
|
||||
inherit version;
|
||||
|
||||
let
|
||||
itkGenericLabelInterpolatorSrc = fetchFromGitHub {
|
||||
owner = "InsightSoftwareConsortium";
|
||||
repo = "ITKGenericLabelInterpolator";
|
||||
|
@ -21,6 +18,18 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-deJbza36c0Ohf9oKpO2T4po37pkyI+2wCSeGL4r17Go=";
|
||||
};
|
||||
|
||||
itkSimpleITKFiltersSrc = fetchFromGitHub {
|
||||
owner = "InsightSoftwareConsortium";
|
||||
repo = "ITKSimpleITKFilters";
|
||||
rev = "bb896868fc6480835495d0da4356d5db009592a6";
|
||||
hash = "sha256-MfaIA0xxA/pzUBSwnAevr17iR23Bo5iQO2cSyknS3o4=";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "itk";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "InsightSoftwareConsortium";
|
||||
repo = "ITK";
|
||||
|
@ -36,6 +45,7 @@ stdenv.mkDerivation rec {
|
|||
--replace "@OPENJPEG_INSTALL_LIB_DIR@" "@OPENJPEG_INSTALL_FULL_LIB_DIR@"
|
||||
ln -sr ${itkGenericLabelInterpolatorSrc} Modules/External/ITKGenericLabelInterpolator
|
||||
ln -sr ${itkAdaptiveDenoisingSrc} Modules/External/ITKAdaptiveDenoising
|
||||
ln -sr ${itkSimpleITKFiltersSrc} Modules/External/ITKSimpleITKFilters
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -45,6 +55,7 @@ stdenv.mkDerivation rec {
|
|||
"-DModule_ITKMINC=ON"
|
||||
"-DModule_ITKIOMINC=ON"
|
||||
"-DModule_ITKIOTransformMINC=ON"
|
||||
"-DModule_SimpleITKFilters=ON"
|
||||
"-DModule_ITKVtkGlue=ON"
|
||||
"-DModule_ITKReview=ON"
|
||||
"-DModule_MGHIO=ON"
|
||||
|
@ -69,7 +80,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "Insight Segmentation and Registration Toolkit";
|
||||
homepage = "https://www.itk.org/";
|
||||
homepage = "https://www.itk.org";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [viric];
|
||||
};
|
||||
|
|
|
@ -158,6 +158,7 @@ stdenv.mkDerivation rec {
|
|||
sed -i '/domaincapstest/d' tests/meson.build
|
||||
sed -i '/qemufirmwaretest/d' tests/meson.build
|
||||
sed -i '/qemuvhostusertest/d' tests/meson.build
|
||||
sed -i '/qemuxml2xmltest/d' tests/meson.build
|
||||
'' + lib.optionalString (isDarwin && isx86_64) ''
|
||||
sed -i '/qemucaps2xmltest/d' tests/meson.build
|
||||
sed -i '/qemuhotplugtest/d' tests/meson.build
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libupnp";
|
||||
version = "1.14.15";
|
||||
version = "1.14.16";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "pupnp";
|
||||
repo = "pupnp";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-Yrd5sRvFsqBzVHODutK5JHCgoqzh26s/sGmsU2Db+bI=";
|
||||
sha256 = "sha256-JsissTWnF8GuHSWeCmWOusDYV32Xu0LDRqZCm7yz6YY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -4,12 +4,10 @@ stdenv.mkDerivation rec {
|
|||
pname = "simpleitk";
|
||||
version = "2.2.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SimpleITK";
|
||||
repo = "SimpleITK";
|
||||
rev = "v${version}";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-0YxmixUTXpjegZQv7DDCNTWFTH8QEWqQQszee7aQ5EI=";
|
||||
};
|
||||
|
||||
|
|
98
pkgs/development/libraries/sparrow3d/default.nix
Normal file
98
pkgs/development/libraries/sparrow3d/default.nix
Normal file
|
@ -0,0 +1,98 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, copyPkgconfigItems
|
||||
, fetchFromGitHub
|
||||
, makePkgconfigItem
|
||||
, pkg-config
|
||||
, SDL
|
||||
, SDL_image
|
||||
, SDL_mixer
|
||||
, SDL_net
|
||||
, SDL_ttf
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sparrow3d";
|
||||
version = "unstable-2020-10-06";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "theZiz";
|
||||
repo = "sparrow3d";
|
||||
rev = "2033349d7adeba34bda2c442e1fec22377471134";
|
||||
hash = "sha256-28j5nbTYBrMN8BQ6XrTlO1D8Viw+RiT3MAl99BAbhR4=";
|
||||
};
|
||||
|
||||
pkgconfigItems = [
|
||||
(makePkgconfigItem rec {
|
||||
name = "sparrow3d";
|
||||
inherit (finalAttrs) version;
|
||||
inherit (finalAttrs.meta) description;
|
||||
|
||||
cflags = [ "-isystem${variables.includedir}" ];
|
||||
libs = [
|
||||
"-L${variables.libdir}"
|
||||
"-lsparrow3d"
|
||||
"-lsparrowNet"
|
||||
"-lsparrowSound"
|
||||
];
|
||||
variables = rec {
|
||||
prefix = "@dev@";
|
||||
exec_prefix = "@out@";
|
||||
includedir = "${prefix}/include";
|
||||
libdir = "${exec_prefix}/lib";
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyPkgconfigItems
|
||||
pkg-config
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
SDL.dev
|
||||
SDL_image
|
||||
SDL_ttf
|
||||
SDL_mixer
|
||||
SDL_net
|
||||
];
|
||||
|
||||
postConfigure = ''
|
||||
NIX_CFLAGS_COMPILE=$(pkg-config --cflags SDL_image SDL_ttf SDL_mixer SDL_net)
|
||||
'';
|
||||
|
||||
buildFlags = [ "dynamic" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib
|
||||
cp libsparrow{3d,Net,Sound}.so $out/lib
|
||||
|
||||
mkdir -p $dev/include
|
||||
cp sparrow*.h $dev/include
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
make all_no_static
|
||||
./testfile.sh
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/theZiz/sparrow3d";
|
||||
description = "A software renderer for different open handhelds like the gp2x, wiz, caanoo and pandora";
|
||||
license = lib.licenses.lgpl21;
|
||||
maintainers = with lib.maintainers; [ colinsane ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
16
pkgs/development/libraries/sparrow3d/sparrow3d.pc.in
Normal file
16
pkgs/development/libraries/sparrow3d/sparrow3d.pc.in
Normal file
|
@ -0,0 +1,16 @@
|
|||
prefix=@out@
|
||||
includedir=${prefix}/include
|
||||
libdir=${prefix}/lib
|
||||
|
||||
Name: sparrow3d
|
||||
Description: a software renderer for different open handhelds like the gp2x, wiz, caanoo and pandora
|
||||
URL: https://github.com/theZiz/sparrow3d
|
||||
Version: @version@
|
||||
Requires: \
|
||||
sdl \
|
||||
SDL_image \
|
||||
SDL_ttf \
|
||||
SDL_mixer \
|
||||
SDL_net
|
||||
Cflags: -isystem${includedir}
|
||||
Libs: -L${libdir} -lsparrow3d -lsparrowNet -lsparrowSound
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, async-timeout
|
||||
, mock
|
||||
, noiseprotocol
|
||||
, protobuf
|
||||
|
@ -12,7 +13,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioesphomeapi";
|
||||
version = "13.6.1";
|
||||
version = "13.7.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -21,10 +22,11 @@ buildPythonPackage rec {
|
|||
owner = "esphome";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-S2a5v4OeE0DC9J2JAHFQ6YyhWt6RXp3cP+zkONp+Bzc=";
|
||||
hash = "sha256-05UT9CsfO8onEHqnJlXNfzf1acfwiIC07ewCWBE8HPA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
async-timeout
|
||||
noiseprotocol
|
||||
protobuf
|
||||
zeroconf
|
||||
|
|
31
pkgs/development/python-modules/expiring-dict/default.nix
Normal file
31
pkgs/development/python-modules/expiring-dict/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, sortedcontainers
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "expiring-dict";
|
||||
version = "1.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-PEBK2x5DaUaMt+Ub+8nEcNfi6GPv4qHHXU7XBtDc4aY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
sortedcontainers
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"expiring_dict"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python dict with TTL support for auto-expiring caches";
|
||||
homepage = "https://github.com/dparker2/py-expiring-dict";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ajs124 ];
|
||||
};
|
||||
}
|
|
@ -19,10 +19,17 @@ buildPythonPackage rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "bm1549";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
rev = "regs/tags/${version}";
|
||||
hash = "sha256-U2ixBtigY15RzMNIeUK71uNOndUepK2kE/CTFwl855w=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/bm1549/frigidaire/pull/13
|
||||
substituteInPlace setup.py \
|
||||
--replace "urllib3>==1.26.42" "urllib3" \
|
||||
--replace 'version = "SNAPSHOT"' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
certifi
|
||||
chardet
|
||||
|
@ -41,6 +48,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Python API for the Frigidaire devices";
|
||||
homepage = "https://github.com/bm1549/frigidaire";
|
||||
changelog = "https://github.com/bm1549/frigidaire/releases/tag/${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, buildPythonPackage
|
||||
, setuptools-scm
|
||||
, pythonOlder
|
||||
, pythonRelaxDepsHook
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, pytest-xdist
|
||||
|
@ -28,6 +29,7 @@ buildPythonPackage rec {
|
|||
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -41,19 +43,15 @@ buildPythonPackage rec {
|
|||
pytest-xdist
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "numpy >= 1.18.4, < 1.24" "numpy >= 1.18.4" \
|
||||
--replace "numba >= 0.53, < 0.57" "numba >= 0.53" \
|
||||
'';
|
||||
pythonRelaxDeps = [ "numpy" "numba" ];
|
||||
|
||||
pythonImportsCheck = [ "galois" ];
|
||||
|
||||
meta = {
|
||||
description = "A Python 3 package that extends NumPy arrays to operate over finite fields";
|
||||
meta = with lib; {
|
||||
description = "Python package that extends NumPy arrays to operate over finite fields";
|
||||
homepage = "https://github.com/mhostetter/galois";
|
||||
downloadPage = "https://github.com/mhostetter/galois/releases";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ chrispattison ];
|
||||
downloadPage = "https://github.com/mhostetter/galois/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ chrispattison ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, cachetools
|
||||
, pyasn1-modules
|
||||
, rsa
|
||||
, six
|
||||
, aiohttp
|
||||
, cryptography
|
||||
, pyopenssl
|
||||
, pyu2f
|
||||
, requests
|
||||
, pythonOlder
|
||||
, aioresponses
|
||||
, asynctest
|
||||
, cachetools
|
||||
, cryptography
|
||||
, fetchPypi
|
||||
, flask
|
||||
, freezegun
|
||||
, grpcio
|
||||
, mock
|
||||
, oauth2client
|
||||
, pyasn1-modules
|
||||
, pyopenssl
|
||||
, pytest-asyncio
|
||||
, pytest-localserver
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pyu2f
|
||||
, requests
|
||||
, responses
|
||||
, rsa
|
||||
, six
|
||||
, urllib3
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-auth";
|
||||
version = "2.16.1";
|
||||
version = "2.17.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-X9FwmGvOa/17tchFxLg2LtseDLqQHgYhlug/i7XV0yw=";
|
||||
hash = "sha256-jzebRrrTga0qC5id+wwTrSjTwqefJzSCE/iUah0V1Vo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -67,7 +66,6 @@ buildPythonPackage rec {
|
|||
|
||||
nativeCheckInputs = [
|
||||
aioresponses
|
||||
asynctest
|
||||
flask
|
||||
freezegun
|
||||
grpcio
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
, httpx
|
||||
, pyspnego
|
||||
, pythonOlder
|
||||
|
@ -19,6 +20,15 @@ buildPythonPackage rec {
|
|||
hash = "sha256-a1a5laZ4tNOtpVDFCK1t2IXWbyJytZMhuad2JtmA52I=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Update version specifiers, https://github.com/ulodciv/httpx-ntlm/pull/15
|
||||
(fetchpatch {
|
||||
name = "update-version-specifiers.patch";
|
||||
url = "https://github.com/ulodciv/httpx-ntlm/commit/dac67a957c5c23df29d4790ddbc7cc4bccfc0e35.patch";
|
||||
hash = "sha256-YtgRrgGG/x7jvNg+NuQIrkOUdyD6Bk53fRaiXBwiV+o=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
httpx
|
||||
pyspnego
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pytoml
|
||||
, pytest
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "intreehooks";
|
||||
version = "1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pytoml ];
|
||||
|
||||
nativeCheckInputs = [ pytest ];
|
||||
|
||||
meta = {
|
||||
description = "Load a PEP 517 backend from inside the source tree";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.fridh ];
|
||||
homepage = "https://github.com/takluyver/intreehooks";
|
||||
};
|
||||
}
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "libtmux";
|
||||
version = "0.21.0";
|
||||
version = "0.21.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tmux-python";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-nZPVS3jNz2e2LTlWiSz1fN7MzqJs/CqtAt6UVZaPPTY=";
|
||||
hash = "sha256-mWujuw2n5PfGdVnORTyYe83BGnwwZ/BFxt9BR5udZDA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -43,6 +43,8 @@ buildPythonPackage rec {
|
|||
disabledTests = [
|
||||
# Fail with: 'no server running on /tmp/tmux-1000/libtmux_test8sorutj1'.
|
||||
"test_new_session_width_height"
|
||||
# Assertion error
|
||||
"test_capture_pane_start"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# tests/test_pane.py:113: AssertionError
|
||||
"test_capture_pane_start"
|
||||
|
@ -53,7 +55,9 @@ buildPythonPackage rec {
|
|||
"tests/legacy_api/test_test.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "libtmux" ];
|
||||
pythonImportsCheck = [
|
||||
"libtmux"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Typed scripting library / ORM / API wrapper for tmux";
|
||||
|
|
|
@ -11,14 +11,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "marshmallow-sqlalchemy";
|
||||
version = "0.28.2";
|
||||
version = "0.29.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-KrDxKAx5Plrsgd6rPmPsI2iN3+BeXzislgNooQeVIKE=";
|
||||
hash = "sha256-NSOndDkO8MHA98cIp1GYCcU5bPYIcg8U9Vw290/1u+w=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "oracledb";
|
||||
version = "1.2.2";
|
||||
version = "1.3.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-3Z9jCE5EZCtISkay/PtPySHzn6z0lKG6sAYo+mQJ9Pw=";
|
||||
hash = "sha256-8QWkcFkWoo0z4pGPo2NAl/6DVSv16oGvw6emhSjJ4vM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -15,14 +15,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pdm-backend";
|
||||
version = "2.0.5";
|
||||
version = "2.0.6";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pdm-project";
|
||||
repo = "pdm-backend";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-d5kr5pr9tBc6So0wTy3/ASgk8KTOf2AV8Vfsmml5Qh0=";
|
||||
hash = "sha256-NMnb9DiW5xvfsI1nHFNIwvA/yH2boqe+WeD5re/ojAM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pex";
|
||||
version = "2.1.123";
|
||||
version = "2.1.131";
|
||||
format = "flit";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-XPjHql8hrgxmJuD/whe/+wUuAd7zj/db9zkJX9eEKIo=";
|
||||
hash = "sha256-eG1giXUuQfxROe0H8ZhU0qde8LZwRXy6YCiT54mZ6q4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "phonenumbers";
|
||||
version = "8.13.7";
|
||||
version = "8.13.8";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-JTuw4BJQ0hoR8rQrPm4WG39ssqxEDi4qlcHacdIh7ho=";
|
||||
hash = "sha256-S6kqkX+49uP+M/0EudhCmYUs4jcokSnuTtpHoEOlxsQ=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
|
|
@ -83,22 +83,19 @@ let
|
|||
pname = "playwright-browsers";
|
||||
version = driverVersion;
|
||||
|
||||
src = runCommand "playwright-browsers-base" {
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = {
|
||||
x86_64-darwin = "0z2kww4iby1izkwn6z2ai94y87bkjvwak8awdmjm8sgg00pa9l1a";
|
||||
}.${system} or throwSystem;
|
||||
} ''
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
export PLAYWRIGHT_BROWSERS_PATH=$out
|
||||
${driver}/bin/playwright install
|
||||
rm -r $out/.links
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r * $out/
|
||||
'';
|
||||
meta.platforms = lib.platforms.darwin;
|
||||
};
|
||||
|
||||
browsers-linux = { withFirefox ? true, withChromium ? true }: let
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytile";
|
||||
version = "2022.10.0";
|
||||
version = "2023.04.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-fxtDqbslUyV/Otwy9MPIC8DSepTnEZiJKzeU8nlsnWI=";
|
||||
hash = "sha256-SFHWhXKC7PIqanJIQyGcpM8klwxOAJPVtzk9w0i2YYA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -42,7 +42,9 @@ buildPythonPackage rec {
|
|||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "rich" ];
|
||||
pythonImportsCheck = [
|
||||
"rich"
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
inherit enrich httpie rich-rst textual;
|
||||
|
|
27
pkgs/development/python-modules/simpleitk/default.nix
Normal file
27
pkgs/development/python-modules/simpleitk/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, swig4
|
||||
, itk
|
||||
, numpy
|
||||
, simpleitk
|
||||
, scikit-build
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
inherit (simpleitk) pname version src meta;
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
sourceRoot = "source/Wrapping/Python";
|
||||
preBuild = ''
|
||||
make
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake swig4 scikit-build ];
|
||||
propagatedBuildInputs = [ itk simpleitk numpy ];
|
||||
|
||||
pythonImportsCheck = [ "SimpleITK" ];
|
||||
}
|
46
pkgs/development/python-modules/sphinx-intl/default.nix
Normal file
46
pkgs/development/python-modules/sphinx-intl/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, transifex-cli
|
||||
, babel
|
||||
, click
|
||||
, setuptools
|
||||
, sphinx
|
||||
, pytestCheckHook
|
||||
, mock
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sphinx-intl";
|
||||
version = "2.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sphinx-doc";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-U/YCviGrsZNruVzfP0P2dGcB0K0Afh+XUZtp71OeP6c=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
babel
|
||||
click
|
||||
setuptools
|
||||
sphinx
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
mock
|
||||
transifex-cli
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "sphinx_intl" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sphinx utility that make it easy to translate and to apply translation";
|
||||
homepage = "https://github.com/sphinx-doc/sphinx-intl";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ thornycrackers ];
|
||||
};
|
||||
}
|
|
@ -16,12 +16,14 @@
|
|||
# Test inputs
|
||||
, python
|
||||
, pytest
|
||||
, py-cpuinfo
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tables";
|
||||
version = "3.8.0";
|
||||
disabled = pythonOlder "3.5";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
|
@ -40,11 +42,13 @@ buildPythonPackage rec {
|
|||
hdf5
|
||||
lzo
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
blosc2
|
||||
py-cpuinfo
|
||||
numpy
|
||||
numexpr
|
||||
packaging # uses packaging.version at runtime
|
||||
packaging # uses packaging.version at runtime
|
||||
];
|
||||
|
||||
# When doing `make distclean`, ignore docs
|
||||
|
@ -92,6 +96,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Hierarchical datasets for Python";
|
||||
homepage = "https://www.pytables.org/";
|
||||
changelog = "https://github.com/PyTables/PyTables/releases/tag/v${version}";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ drewrisinger ];
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "time-machine";
|
||||
version = "2.8.2";
|
||||
version = "2.9.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
|||
owner = "adamchainz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-EFlvO9QlOP351kZAFQ+hwghL+7m+Cin/OyLV3NX+y8E=";
|
||||
hash = "sha256-mE9unzVh0QXSl93hHH43o8AshDEzrl2NXsBJ2fph5is=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
35
pkgs/development/python-modules/types-pyopenssl/default.nix
Normal file
35
pkgs/development/python-modules/types-pyopenssl/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, cryptography
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "types-pyopenssl";
|
||||
version = "23.0.0.4";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "types-pyOpenSSL";
|
||||
inherit version;
|
||||
hash = "sha256-izVQtuGdUc54qr1ySw2OvZYggaX86V5/haWS3828Fr8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cryptography
|
||||
];
|
||||
|
||||
# Module doesn't have tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"OpenSSL-stubs"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Typing stubs for pyopenssl";
|
||||
homepage = "https://github.com/python/typeshed";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ gador ];
|
||||
};
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, cryptography
|
||||
, types-pyopenssl
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -13,6 +15,11 @@ buildPythonPackage rec {
|
|||
hash = "sha256-dmAXh1TWCkz6z1sz7gY6oGJTEXkcYgdc2TYTZiej978=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cryptography
|
||||
types-pyopenssl
|
||||
];
|
||||
|
||||
# Module doesn't have tests
|
||||
doCheck = false;
|
||||
|
||||
|
|
31
pkgs/development/python-modules/unicurses/default.nix
Normal file
31
pkgs/development/python-modules/unicurses/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib, buildPythonPackage, fetchPypi, ncurses, x256 }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "unicurses";
|
||||
version = "2.1.3";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Uni-Curses";
|
||||
hash = "sha256-uzSiF0jAZzI0iZngM/GuJ60o+UbLQ5XQzycTPito34w=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ x256 ];
|
||||
|
||||
# Necessary because ctypes.util.find_library does not find the ncurses libraries
|
||||
postPatch = ''
|
||||
substituteInPlace './unicurses/__init__.py' \
|
||||
--replace "find_library('ncursesw')" '"${ncurses}/lib/libncursesw.so.6"' \
|
||||
--replace "find_library('panelw')" '"${ncurses}/lib/libpanelw.so.6"'
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "unicurses" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unified Curses Wrapper for Python";
|
||||
homepage = "https://github.com/unicurses/unicurses";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ michaelBelsanti ];
|
||||
};
|
||||
}
|
|
@ -26,6 +26,12 @@ buildPythonPackage rec {
|
|||
tomli
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
toml = lib.optionals (pythonOlder "3.11") [
|
||||
tomli
|
||||
];
|
||||
};
|
||||
|
||||
# Couldn't get tests to work because, for instance, they used virtualenv and pip
|
||||
doCheck = false;
|
||||
|
||||
|
@ -35,7 +41,7 @@ buildPythonPackage rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Version-string management for VCS-controlled trees";
|
||||
homepage = "https://github.com/warner/python-versioneer";
|
||||
homepage = "https://github.com/python-versioneer/python-versioneer";
|
||||
changelog = "https://github.com/python-versioneer/python-versioneer/blob/${version}/NEWS.md";
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ jluttine ];
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
, lxml
|
||||
, nose
|
||||
, packaging
|
||||
, pdm-pep517
|
||||
, pillow
|
||||
, prettytable
|
||||
, pycountry
|
||||
, python-dateutil
|
||||
, pythonOlder
|
||||
, pyyaml
|
||||
|
@ -24,7 +24,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "woob";
|
||||
version = "3.4";
|
||||
version = "3.5";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -33,12 +33,11 @@ buildPythonPackage rec {
|
|||
owner = "woob";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-qVE1FQK3+jBKIHW+s1iNZwy8Srb2kQhWNTlZyzc1/jE=";
|
||||
hash = "sha256-Yb3AgUSqr9r2TIymiEUIhKThNC7yjQEkhi8GSI9fqNA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
packaging
|
||||
pdm-pep517
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -51,19 +50,13 @@ buildPythonPackage rec {
|
|||
packaging
|
||||
pillow
|
||||
prettytable
|
||||
pycountry
|
||||
pyyaml
|
||||
requests
|
||||
termcolor
|
||||
unidecode
|
||||
];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.com/woob/woob/-/commit/861b1bb92be53998d8174dcca6fa643d1c7cde12.patch";
|
||||
sha256 = "sha256-IXcE59pMFtPLTOYa2inIvuA14USQvck6Q4hrKZTC0DE=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
nose
|
||||
];
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
, OpenGL
|
||||
, AppKit
|
||||
, Cocoa
|
||||
, libxcrypt
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
|
@ -120,6 +121,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||
--replace "python3 -c " "${python3.interpreter} -c "
|
||||
'';
|
||||
|
||||
buildInputs = lib.optionals (python3.pythonOlder "3.9") [
|
||||
libxcrypt
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "checkmake";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrtazz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Zkrr1BrP8ktRGf6EYhDpz3oTnX6msrSpfFqkqi9pmlc=";
|
||||
sha256 = "sha256-Ql8XSQA/w7wT9GbmYOM2vG15GVqj9LxOGIu8Wqp9Wao=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
@ -41,7 +41,6 @@ buildGoModule rec {
|
|||
homepage = "https://github.com/mrtazz/checkmake";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ vidbina ];
|
||||
platforms = platforms.linux;
|
||||
longDescription = ''
|
||||
checkmake is an experimental tool for linting and checking
|
||||
Makefiles. It may not do what you want it to.
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
{ python3
|
||||
, recurseIntoAttrs
|
||||
, callPackage
|
||||
}:
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.4.40";
|
||||
src = super.fetchPypi {
|
||||
pname = "SQLAlchemy";
|
||||
inherit version;
|
||||
hash = "sha256-RKZgUGCAzJdeHfpXdv5fYxXdxiane1C/Du4YsDieomU=";
|
||||
};
|
||||
});
|
||||
moto = super.moto.overridePythonAttrs (oldAttrs: rec {
|
||||
# a lot of tests -> very slow, we already build them when building python packages
|
||||
doCheck = false;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
buildbot-pkg = python.pkgs.callPackage ./pkg.nix {
|
||||
inherit buildbot;
|
||||
};
|
||||
buildbot-worker = python3.pkgs.callPackage ./worker.nix {
|
||||
inherit buildbot;
|
||||
};
|
||||
buildbot = python.pkgs.callPackage ./master.nix {
|
||||
inherit buildbot-pkg buildbot-worker buildbot-plugins;
|
||||
};
|
||||
buildbot-plugins = recurseIntoAttrs (callPackage ./plugins.nix {
|
||||
inherit buildbot-pkg;
|
||||
});
|
||||
in
|
||||
{
|
||||
inherit buildbot buildbot-plugins buildbot-worker;
|
||||
buildbot-ui = buildbot.withPlugins (with buildbot-plugins; [ www ]);
|
||||
buildbot-full = buildbot.withPlugins (with buildbot-plugins; [
|
||||
www console-view waterfall-view grid-view wsgi-dashboards badges
|
||||
]);
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, buildPythonApplication
|
||||
, fetchPypi
|
||||
, makeWrapper
|
||||
, pythonOlder
|
||||
|
@ -25,17 +26,18 @@
|
|||
, lz4
|
||||
, setuptoolsTrial
|
||||
, buildbot-worker
|
||||
, buildbot-pkg
|
||||
, buildbot-plugins
|
||||
, buildbot-pkg
|
||||
, parameterized
|
||||
, git
|
||||
, openssh
|
||||
, glibcLocales
|
||||
, nixosTests
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
let
|
||||
withPlugins = plugins: buildPythonPackage {
|
||||
withPlugins = plugins: buildPythonApplication {
|
||||
pname = "${package.pname}-with-plugins";
|
||||
inherit (package) version;
|
||||
format = "other";
|
||||
|
@ -61,7 +63,7 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
package = buildPythonPackage rec {
|
||||
package = buildPythonApplication rec {
|
||||
pname = "buildbot";
|
||||
version = "3.7.0";
|
||||
format = "setuptools";
|
|
@ -1,5 +1,4 @@
|
|||
{ lib, buildPythonPackage, fetchPypi, buildbot-pkg, mock, cairosvg, klein, jinja2 }:
|
||||
|
||||
{ lib, buildPythonPackage, fetchPypi, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg }:
|
||||
{
|
||||
www = buildPythonPackage rec {
|
||||
pname = "buildbot-www";
|
66
pkgs/development/tools/lv_img_conv/default.nix
Normal file
66
pkgs/development/tools/lv_img_conv/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildNpmPackage
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, python3
|
||||
, pixman
|
||||
, libpng
|
||||
, libjpeg
|
||||
, librsvg
|
||||
, giflib
|
||||
, cairo
|
||||
, pango
|
||||
, nodePackages
|
||||
, makeWrapper
|
||||
, CoreText
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "lv_img_conv";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lvgl";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-LB7NZKwrpvps1cKzRoARHL4S48gBHadvxwA6JMmm/ME=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-uDF22wlL3BlMQ/+Wmtgyjp4CVN6sDnjqjEPB4SeQuPk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pixman
|
||||
libpng
|
||||
libjpeg
|
||||
librsvg
|
||||
giflib
|
||||
cairo
|
||||
pango
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
CoreText
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
makeWrapper ${nodePackages.ts-node}/bin/ts-node $out/bin/lv_img_conv --add-flags $out/lib/node_modules/lv_img_conv/lib/cli.ts
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/lvgl/lv_img_conv/releases/tag/v${version}";
|
||||
description = "Image converter for LVGL";
|
||||
homepage = "https://github.com/lvgl/lv_img_conv";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ stargate01 ];
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue