Merge staging-next into staging
This commit is contained in:
commit
1144179146
@ -7896,6 +7896,12 @@
|
|||||||
githubId = 1047859;
|
githubId = 1047859;
|
||||||
name = "Kaz Wesley";
|
name = "Kaz Wesley";
|
||||||
};
|
};
|
||||||
|
kazenyuk = {
|
||||||
|
email = "kazenyuk@pm.me";
|
||||||
|
github = "nvmd";
|
||||||
|
githubId = 524492;
|
||||||
|
name = "Sergey Kazenyuk";
|
||||||
|
};
|
||||||
kcalvinalvin = {
|
kcalvinalvin = {
|
||||||
email = "calvin@kcalvinalvin.info";
|
email = "calvin@kcalvinalvin.info";
|
||||||
github = "kcalvinalvin";
|
github = "kcalvinalvin";
|
||||||
|
@ -233,7 +233,7 @@ in
|
|||||||
# nix-serve = 199; # unused, removed 2020-12-12
|
# nix-serve = 199; # unused, removed 2020-12-12
|
||||||
#tvheadend = 200; # dynamically allocated as of 2021-09-18
|
#tvheadend = 200; # dynamically allocated as of 2021-09-18
|
||||||
uwsgi = 201;
|
uwsgi = 201;
|
||||||
gitit = 202;
|
# gitit = 202; # unused, module was removed 2023-04-03
|
||||||
riemanntools = 203;
|
riemanntools = 203;
|
||||||
subsonic = 204;
|
subsonic = 204;
|
||||||
# riak = 205; # unused, remove 2022-07-22
|
# riak = 205; # unused, remove 2022-07-22
|
||||||
|
@ -616,7 +616,6 @@
|
|||||||
./services/misc/gammu-smsd.nix
|
./services/misc/gammu-smsd.nix
|
||||||
./services/misc/geoipupdate.nix
|
./services/misc/geoipupdate.nix
|
||||||
./services/misc/gitea.nix
|
./services/misc/gitea.nix
|
||||||
# ./services/misc/gitit.nix
|
|
||||||
./services/misc/gitlab.nix
|
./services/misc/gitlab.nix
|
||||||
./services/misc/gitolite.nix
|
./services/misc/gitolite.nix
|
||||||
./services/misc/gitweb.nix
|
./services/misc/gitweb.nix
|
||||||
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -123,9 +123,9 @@ in {
|
|||||||
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
|
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
|
||||||
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
|
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
|
||||||
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };
|
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };
|
||||||
ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {};
|
ceph-multi-node = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-multi-node.nix {};
|
||||||
ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {};
|
ceph-single-node = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node.nix {};
|
||||||
ceph-single-node-bluestore = handleTestOn ["x86_64-linux"] ./ceph-single-node-bluestore.nix {};
|
ceph-single-node-bluestore = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./ceph-single-node-bluestore.nix {};
|
||||||
certmgr = handleTest ./certmgr.nix {};
|
certmgr = handleTest ./certmgr.nix {};
|
||||||
cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {};
|
cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {};
|
||||||
cgit = handleTest ./cgit.nix {};
|
cgit = handleTest ./cgit.nix {};
|
||||||
|
@ -7,13 +7,13 @@ let
|
|||||||
|
|
||||||
in buildDotnetModule rec {
|
in buildDotnetModule rec {
|
||||||
pname = "tone";
|
pname = "tone";
|
||||||
version = "0.1.3";
|
version = "0.1.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sandreas";
|
owner = "sandreas";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Z3cumXAIJhUB3/EbzB08MfBCrga1JHtDKr44TmRQuno=";
|
sha256 = "sha256-HhXyOPoDtraT7ef0kpE7SCQbvGFLrTddzS6Kdu0LxW4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
projectFile = "tone/tone.csproj";
|
projectFile = "tone/tone.csproj";
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
(fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; })
|
(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 = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
|
||||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
|
(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 = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; })
|
||||||
(fetchNuGet { pname = "Sandreas.AudioMetadata"; version = "0.1.1"; sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; })
|
(fetchNuGet { pname = "Sandreas.AudioMetadata"; version = "0.1.1"; sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; })
|
||||||
(fetchNuGet { pname = "Sandreas.Files"; version = "1.1.2"; sha256 = "08qk229q2y1dpdxdnp8xi9mgk8fgpjxrxm4z6ak8n09npp67nhn0"; })
|
(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"; version = "19.0.1"; sha256 = "01v2wgb6y2z7df4b2dsy0jb4hnhpv5kgyxypzyqdk7h6plad2axd"; })
|
||||||
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "19.0.1"; sha256 = "1ms8wqar5w3z2y2qgxii9pqnsb4f1aikji2vaw01zxvnh2wry42n"; })
|
(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 = "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 {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "unifi-protect-backup";
|
pname = "unifi-protect-backup";
|
||||||
version = "0.8.8";
|
version = "0.9.0";
|
||||||
|
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
owner = "ep1cman";
|
owner = "ep1cman";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-Z8qK7LprMyXl5irx9Xrs/RgqvNcFVBqLBSljovr6oiE=";
|
hash = "sha256-yPYzFZ4eI1wvBZgSP4Z90zyS+0vrDtf0uRz60byE5XA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = [
|
pythonRelaxDeps = [
|
||||||
@ -23,10 +23,6 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
"pyunifiprotect"
|
"pyunifiprotect"
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonRemoveDeps = [
|
|
||||||
"pylint"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = with python3.pkgs; [
|
nativeBuildInputs = with python3.pkgs; [
|
||||||
poetry-core
|
poetry-core
|
||||||
pythonRelaxDepsHook
|
pythonRelaxDepsHook
|
||||||
@ -36,7 +32,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
aiocron
|
aiocron
|
||||||
aiorun
|
aiorun
|
||||||
aiosqlite
|
aiosqlite
|
||||||
|
apprise
|
||||||
click
|
click
|
||||||
|
expiring-dict
|
||||||
|
python-dateutil
|
||||||
pyunifiprotect
|
pyunifiprotect
|
||||||
];
|
];
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -303,12 +303,12 @@
|
|||||||
};
|
};
|
||||||
devicetree = buildGrammar {
|
devicetree = buildGrammar {
|
||||||
language = "devicetree";
|
language = "devicetree";
|
||||||
version = "0.0.0+rev=ea30a05";
|
version = "0.0.0+rev=6428cee";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "joelspadin";
|
owner = "joelspadin";
|
||||||
repo = "tree-sitter-devicetree";
|
repo = "tree-sitter-devicetree";
|
||||||
rev = "ea30a05d0f0446a96d8b096ad11828ad4f8ad849";
|
rev = "6428cee0e9d76fac3291796ced56ac14ecd036ee";
|
||||||
hash = "sha256-ZiUMIsjVMxpchxmJQ3g2yXIn+/kAWPwTzMzx3IlW93o=";
|
hash = "sha256-QU5lCnTe00Mj5IfrBBnGwvU5S3Gz9VL2FRTNy0FPnIo=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
|
meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
|
||||||
};
|
};
|
||||||
@ -733,12 +733,12 @@
|
|||||||
};
|
};
|
||||||
hcl = buildGrammar {
|
hcl = buildGrammar {
|
||||||
language = "hcl";
|
language = "hcl";
|
||||||
version = "0.0.0+rev=0ff887f";
|
version = "0.0.0+rev=becebeb";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "MichaHoffmann";
|
owner = "MichaHoffmann";
|
||||||
repo = "tree-sitter-hcl";
|
repo = "tree-sitter-hcl";
|
||||||
rev = "0ff887f2a60a147452d52db060de6b42f42f1441";
|
rev = "becebebd3509c02e871c99be55556269be1def1b";
|
||||||
hash = "sha256-L4B2qtGqrtyLHyUMx1p0t4aKncm72dUE+e19Fv5iqUA=";
|
hash = "sha256-GR2a+VuhZVMGmLW9Mg7bSALNsy0SyfG+YVaRz1qY6a0=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
||||||
};
|
};
|
||||||
@ -1743,12 +1743,12 @@
|
|||||||
};
|
};
|
||||||
terraform = buildGrammar {
|
terraform = buildGrammar {
|
||||||
language = "terraform";
|
language = "terraform";
|
||||||
version = "0.0.0+rev=0ff887f";
|
version = "0.0.0+rev=becebeb";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "MichaHoffmann";
|
owner = "MichaHoffmann";
|
||||||
repo = "tree-sitter-hcl";
|
repo = "tree-sitter-hcl";
|
||||||
rev = "0ff887f2a60a147452d52db060de6b42f42f1441";
|
rev = "becebebd3509c02e871c99be55556269be1def1b";
|
||||||
hash = "sha256-L4B2qtGqrtyLHyUMx1p0t4aKncm72dUE+e19Fv5iqUA=";
|
hash = "sha256-GR2a+VuhZVMGmLW9Mg7bSALNsy0SyfG+YVaRz1qY6a0=";
|
||||||
};
|
};
|
||||||
location = "dialects/terraform";
|
location = "dialects/terraform";
|
||||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
||||||
@ -1923,12 +1923,12 @@
|
|||||||
};
|
};
|
||||||
vim = buildGrammar {
|
vim = buildGrammar {
|
||||||
language = "vim";
|
language = "vim";
|
||||||
version = "0.0.0+rev=2886b52";
|
version = "0.0.0+rev=cd63bd2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neovim";
|
owner = "neovim";
|
||||||
repo = "tree-sitter-vim";
|
repo = "tree-sitter-vim";
|
||||||
rev = "2886b52143d570d81f97c98be7a1e204ce9d3bcd";
|
rev = "cd63bd20644a419d209b625d21258617580273d2";
|
||||||
hash = "sha256-w8yHo5rtqqD80gbSChaHhSzt3ljPBKWYZ+pxaWFM35s=";
|
hash = "sha256-9u9sMBFIrLviF60WTOoiA7bpJfqsD5iWE5OSRdrOz0E=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/neovim/tree-sitter-vim";
|
meta.homepage = "https://github.com/neovim/tree-sitter-vim";
|
||||||
};
|
};
|
||||||
@ -2011,12 +2011,12 @@
|
|||||||
};
|
};
|
||||||
zig = buildGrammar {
|
zig = buildGrammar {
|
||||||
language = "zig";
|
language = "zig";
|
||||||
version = "0.0.0+rev=f3bc9ff";
|
version = "0.0.0+rev=2c7b630";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "maxxnino";
|
owner = "maxxnino";
|
||||||
repo = "tree-sitter-zig";
|
repo = "tree-sitter-zig";
|
||||||
rev = "f3bc9ffe9ca10f52dee01999b5b6ce9a4074b0ac";
|
rev = "2c7b6308d906d7aec4b3e1fafaaeca447a8a2c2f";
|
||||||
hash = "sha256-/Bk7UGdPOHmGc01eCNPHsXFMF4pAxE/gkhVxvRItZZ8=";
|
hash = "sha256-uN/B4YasWdgAWV8IAwKd4MP/L73+RiQJGQD00ZA8d6E=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/maxxnino/tree-sitter-zig";
|
meta.homepage = "https://github.com/maxxnino/tree-sitter-zig";
|
||||||
};
|
};
|
||||||
|
@ -399,6 +399,7 @@ https://github.com/lspcontainers/lspcontainers.nvim/,,
|
|||||||
https://github.com/onsails/lspkind-nvim/,,
|
https://github.com/onsails/lspkind-nvim/,,
|
||||||
https://github.com/tami5/lspsaga.nvim/,,
|
https://github.com/tami5/lspsaga.nvim/,,
|
||||||
https://github.com/glepnir/lspsaga.nvim/,main,lspsaga-nvim-original
|
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/arkav/lualine-lsp-progress/,,
|
||||||
https://github.com/nvim-lualine/lualine.nvim/,,
|
https://github.com/nvim-lualine/lualine.nvim/,,
|
||||||
https://github.com/l3mon4d3/luasnip/,,
|
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/levouh/tint.nvim/,HEAD,
|
||||||
https://github.com/tomtom/tlib_vim/,,
|
https://github.com/tomtom/tlib_vim/,,
|
||||||
https://github.com/wellle/tmux-complete.vim/,,
|
https://github.com/wellle/tmux-complete.vim/,,
|
||||||
|
https://github.com/aserowy/tmux.nvim/,HEAD,
|
||||||
https://github.com/edkolev/tmuxline.vim/,,
|
https://github.com/edkolev/tmuxline.vim/,,
|
||||||
https://github.com/folke/todo-comments.nvim/,,
|
https://github.com/folke/todo-comments.nvim/,,
|
||||||
https://github.com/AmeerTaweel/todo.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/dylanaraps/wal.vim/,,
|
||||||
https://github.com/mattn/webapi-vim/,,
|
https://github.com/mattn/webapi-vim/,,
|
||||||
https://github.com/folke/which-key.nvim/,,
|
https://github.com/folke/which-key.nvim/,,
|
||||||
|
https://github.com/johnfrankmorgan/whitespace.nvim/,HEAD,
|
||||||
https://github.com/gelguy/wilder.nvim/,,
|
https://github.com/gelguy/wilder.nvim/,,
|
||||||
https://github.com/gcmt/wildfire.vim/,,
|
https://github.com/gcmt/wildfire.vim/,,
|
||||||
https://github.com/fgheng/winbar.nvim/,main,
|
https://github.com/fgheng/winbar.nvim/,main,
|
||||||
|
@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
|
|||||||
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
||||||
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||||
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
--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 { };
|
passthru.updateScript = nix-update-script { };
|
||||||
|
@ -7,7 +7,7 @@ let
|
|||||||
|
|
||||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
# 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.
|
# source of the latter disappears much faster.
|
||||||
version = "8.87.0.406";
|
version = "8.96.0.207";
|
||||||
|
|
||||||
rpath = lib.makeLibraryPath [
|
rpath = lib.makeLibraryPath [
|
||||||
alsa-lib
|
alsa-lib
|
||||||
@ -68,7 +68,7 @@ let
|
|||||||
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
"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"
|
"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
|
else
|
||||||
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
, gettext
|
, gettext
|
||||||
, makeDesktopItem
|
, makeDesktopItem
|
||||||
, copyDesktopItems
|
, copyDesktopItems
|
||||||
|
, wrapGAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
@ -16,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
sha256 = "sha256-qwH2mt3Va62QJKJGOpt5WV3QksqQaRGEif4CcPC5F2E=";
|
sha256 = "sha256-qwH2mt3Va62QJKJGOpt5WV3QksqQaRGEif4CcPC5F2E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems ];
|
nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems wrapGAppsHook ];
|
||||||
|
|
||||||
pythonPath = with python3.pkgs; [
|
pythonPath = with python3.pkgs; [
|
||||||
wxPython_4_2
|
wxPython_4_2
|
||||||
@ -76,6 +77,12 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
runHook postCheck
|
runHook postCheck
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
dontWrapGApps = true;
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://thetimelineproj.sourceforge.net/";
|
homepage = "https://thetimelineproj.sourceforge.net/";
|
||||||
changelog = "https://thetimelineproj.sourceforge.net/changelog.html";
|
changelog = "https://thetimelineproj.sourceforge.net/changelog.html";
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"version": "15.10.1",
|
"version": "15.10.2",
|
||||||
"repo_hash": "sha256-BETTehy2GxZDGWLgdao1I0cqm4cNaL9lhXe+JmCNi10=",
|
"repo_hash": "sha256-XjL1D2DschFn64D2KcTQP6pppecIN26LrWMJPUfYvgI=",
|
||||||
"yarn_hash": "1il8dnjb7591ss6w14zibdihg3bylw866jjjclv1qm8cihp8k3y8",
|
"yarn_hash": "1il8dnjb7591ss6w14zibdihg3bylw866jjjclv1qm8cihp8k3y8",
|
||||||
"owner": "gitlab-org",
|
"owner": "gitlab-org",
|
||||||
"repo": "gitlab",
|
"repo": "gitlab",
|
||||||
"rev": "v15.10.1-ee",
|
"rev": "v15.10.2-ee",
|
||||||
"passthru": {
|
"passthru": {
|
||||||
"GITALY_SERVER_VERSION": "15.10.1",
|
"GITALY_SERVER_VERSION": "15.10.2",
|
||||||
"GITLAB_PAGES_VERSION": "15.10.1",
|
"GITLAB_PAGES_VERSION": "15.10.2",
|
||||||
"GITLAB_SHELL_VERSION": "14.18.0",
|
"GITLAB_SHELL_VERSION": "14.18.0",
|
||||||
"GITLAB_WORKHORSE_VERSION": "15.10.1"
|
"GITLAB_WORKHORSE_VERSION": "15.10.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ let
|
|||||||
gemdir = ./.;
|
gemdir = ./.;
|
||||||
};
|
};
|
||||||
|
|
||||||
version = "15.10.1";
|
version = "15.10.2";
|
||||||
package_version = "v${lib.versions.major version}";
|
package_version = "v${lib.versions.major version}";
|
||||||
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ let
|
|||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitaly";
|
repo = "gitaly";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-iGYmBMRno2qCvdklyztGTV48m0UMeozuyX7ZZdS7K/c=";
|
sha256 = "sha256-18BmECQqzwwxl7nY5+Bi4oyA2EPd5HqzJdgVPV8J1OM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-knuUyJGz5JvYyKeDQ66cMQQSh2YKkkDB54iCir1QpEY=";
|
vendorSha256 = "sha256-knuUyJGz5JvYyKeDQ66cMQQSh2YKkkDB54iCir1QpEY=";
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-pages";
|
pname = "gitlab-pages";
|
||||||
version = "15.10.1";
|
version = "15.10.2";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-pages";
|
repo = "gitlab-pages";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-FZ7Ifb8bau1helYnmKcS90oASnjF/knxbtPsck6lwKk=";
|
sha256 = "sha256-h3Q8dOz61sRhDxRlcPTP+yhP/ntTTqggyAFvTgu6m6k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";
|
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";
|
||||||
|
@ -5,7 +5,7 @@ in
|
|||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-workhorse";
|
pname = "gitlab-workhorse";
|
||||||
|
|
||||||
version = "15.10.1";
|
version = "15.10.2";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = data.owner;
|
owner = data.owner;
|
||||||
|
@ -546,7 +546,7 @@ gem 'lru_redux'
|
|||||||
# Locked as long as quoted-printable encoding issues are not resolved
|
# Locked as long as quoted-printable encoding issues are not resolved
|
||||||
# Monkey-patched in `config/initializers/mail_encoding_patch.rb`
|
# Monkey-patched in `config/initializers/mail_encoding_patch.rb`
|
||||||
# See https://gitlab.com/gitlab-org/gitlab/issues/197386
|
# 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 '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'
|
gem 'microsoft_graph_mailer', '~> 0.1.0', path: 'vendor/gems/microsoft_graph_mailer'
|
||||||
@ -593,12 +593,8 @@ gem 'app_store_connect'
|
|||||||
# For phone verification
|
# For phone verification
|
||||||
gem 'telesignenterprise', '~> 2.2'
|
gem 'telesignenterprise', '~> 2.2'
|
||||||
|
|
||||||
# Ruby 3 extracts net-protocol into a separate gem, while Ruby 2 has it built-in
|
# BufferedIO patch
|
||||||
# This condition installs the gem only for Ruby 3 to avoid warnings on Ruby 2
|
# Updating this version will require updating scripts/allowed_warnings.txt
|
||||||
# Can be removed when support for Ruby 2 is dropped
|
gem 'net-protocol', '~> 0.1.3'
|
||||||
install_if -> { Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0.0") } do
|
|
||||||
# BufferedIO patch
|
|
||||||
gem 'net-protocol', '~> 0.1.3'
|
|
||||||
end
|
|
||||||
|
|
||||||
gem 'duo_api', '~> 1.3'
|
gem 'duo_api', '~> 1.3'
|
||||||
|
@ -344,6 +344,7 @@ GEM
|
|||||||
danger
|
danger
|
||||||
gitlab (~> 4.2, >= 4.2.0)
|
gitlab (~> 4.2, >= 4.2.0)
|
||||||
database_cleaner (1.7.0)
|
database_cleaner (1.7.0)
|
||||||
|
date (3.3.3)
|
||||||
dead_end (3.1.1)
|
dead_end (3.1.1)
|
||||||
debug_inspector (1.1.0)
|
debug_inspector (1.1.0)
|
||||||
deckar01-task_list (2.3.2)
|
deckar01-task_list (2.3.2)
|
||||||
@ -927,8 +928,11 @@ GEM
|
|||||||
zeitwerk (~> 2.5)
|
zeitwerk (~> 2.5)
|
||||||
lru_redux (1.1.0)
|
lru_redux (1.1.0)
|
||||||
lumberjack (1.2.7)
|
lumberjack (1.2.7)
|
||||||
mail (2.7.1)
|
mail (2.8.1)
|
||||||
mini_mime (>= 0.1.1)
|
mini_mime (>= 0.1.1)
|
||||||
|
net-imap
|
||||||
|
net-pop
|
||||||
|
net-smtp
|
||||||
marcel (1.0.2)
|
marcel (1.0.2)
|
||||||
marginalia (1.11.1)
|
marginalia (1.11.1)
|
||||||
actionpack (>= 5.2)
|
actionpack (>= 5.2)
|
||||||
@ -972,12 +976,19 @@ GEM
|
|||||||
nenv (0.3.0)
|
nenv (0.3.0)
|
||||||
net-http-persistent (4.0.1)
|
net-http-persistent (4.0.1)
|
||||||
connection_pool (~> 2.2)
|
connection_pool (~> 2.2)
|
||||||
|
net-imap (0.3.4)
|
||||||
|
date
|
||||||
|
net-protocol
|
||||||
net-ldap (0.17.1)
|
net-ldap (0.17.1)
|
||||||
net-ntp (2.1.3)
|
net-ntp (2.1.3)
|
||||||
|
net-pop (0.1.2)
|
||||||
|
net-protocol
|
||||||
net-protocol (0.1.3)
|
net-protocol (0.1.3)
|
||||||
timeout
|
timeout
|
||||||
net-scp (3.0.0)
|
net-scp (3.0.0)
|
||||||
net-ssh (>= 2.6.5, < 7.0.0)
|
net-ssh (>= 2.6.5, < 7.0.0)
|
||||||
|
net-smtp (0.3.3)
|
||||||
|
net-protocol
|
||||||
net-ssh (6.0.0)
|
net-ssh (6.0.0)
|
||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
nio4r (2.5.8)
|
nio4r (2.5.8)
|
||||||
@ -1790,7 +1801,7 @@ DEPENDENCIES
|
|||||||
loofah (~> 2.19.1)
|
loofah (~> 2.19.1)
|
||||||
lookbook (~> 1.5, >= 1.5.3)
|
lookbook (~> 1.5, >= 1.5.3)
|
||||||
lru_redux
|
lru_redux
|
||||||
mail (= 2.7.1)
|
mail (= 2.8.1)
|
||||||
mail-smtp_pool (~> 0.1.0)!
|
mail-smtp_pool (~> 0.1.0)!
|
||||||
marginalia (~> 1.11.1)
|
marginalia (~> 1.11.1)
|
||||||
memory_profiler (~> 1.0)
|
memory_profiler (~> 1.0)
|
||||||
|
@ -1064,6 +1064,16 @@ src:
|
|||||||
};
|
};
|
||||||
version = "1.7.0";
|
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 = {
|
dead_end = {
|
||||||
groups = ["default" "test"];
|
groups = ["default" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
@ -3416,15 +3426,15 @@ src:
|
|||||||
version = "1.2.7";
|
version = "1.2.7";
|
||||||
};
|
};
|
||||||
mail = {
|
mail = {
|
||||||
dependencies = ["mini_mime"];
|
dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"];
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
|
sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.7.1";
|
version = "2.8.1";
|
||||||
};
|
};
|
||||||
mail-smtp_pool = {
|
mail-smtp_pool = {
|
||||||
dependencies = ["connection_pool" "mail"];
|
dependencies = ["connection_pool" "mail"];
|
||||||
@ -3739,6 +3749,17 @@ src:
|
|||||||
};
|
};
|
||||||
version = "4.0.1";
|
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 = {
|
net-ldap = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
@ -3759,6 +3780,17 @@ src:
|
|||||||
};
|
};
|
||||||
version = "2.1.3";
|
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 = {
|
net-protocol = {
|
||||||
dependencies = ["timeout"];
|
dependencies = ["timeout"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -3781,6 +3813,17 @@ src:
|
|||||||
};
|
};
|
||||||
version = "3.0.0";
|
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 = {
|
net-ssh = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "lefthook";
|
pname = "lefthook";
|
||||||
version = "1.3.8";
|
version = "1.3.9";
|
||||||
in
|
in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
@ -15,7 +15,7 @@ buildGoModule rec {
|
|||||||
owner = "evilmartians";
|
owner = "evilmartians";
|
||||||
repo = "lefthook";
|
repo = "lefthook";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-AtqCRGl+xvFA3mW9hYZALSrknUbuJ83LOKgOvLDLIPU=";
|
hash = "sha256-6XsSnFrYRsVNzp5Kr1+GghbNh2uOOyT4BQm9yBw3jRU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-cMRl+TqSLlfoAja+JNaNKfHDR9fkvMTWdB1FT3XxPd4=";
|
vendorHash = "sha256-cMRl+TqSLlfoAja+JNaNKfHDR9fkvMTWdB1FT3XxPd4=";
|
||||||
|
@ -1,51 +1,73 @@
|
|||||||
{ stdenv, avahi-compat, cmake, fetchFromGitHub, flatbuffers, hidapi, lib, libcec
|
{ stdenv, lib, fetchFromGitHub
|
||||||
, libusb1, libX11, libxcb, libXrandr, mbedtls, mkDerivation, protobuf, python3
|
, cmake, wrapQtAppsHook, perl
|
||||||
, qtbase, qtserialport, qtsvg, qtx11extras, wrapQtAppsHook }:
|
, 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";
|
pname = "hyperion.ng";
|
||||||
version = "2.0.12";
|
version = "2.0.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hyperion-project";
|
owner = "hyperion-project";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
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 = [
|
buildInputs = [
|
||||||
avahi-compat
|
|
||||||
flatbuffers
|
|
||||||
hidapi
|
hidapi
|
||||||
libcec
|
|
||||||
libusb1
|
libusb1
|
||||||
libX11
|
libX11
|
||||||
libxcb
|
libxcb
|
||||||
libXrandr
|
libXrandr
|
||||||
mbedtls
|
flatbuffers
|
||||||
protobuf
|
protobuf
|
||||||
|
mbedtls
|
||||||
python3
|
python3
|
||||||
qtbase
|
qtbase
|
||||||
qtserialport
|
qtserialport
|
||||||
qtsvg
|
qtsvg
|
||||||
qtx11extras
|
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 = [
|
cmakeFlags = [
|
||||||
"-DCMAKE_BUILD_TYPE=Release"
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
"-DUSE_SYSTEM_MBEDTLS_LIBS=ON"
|
"-DENABLE_DEPLOY_DEPENDENCIES=OFF"
|
||||||
"-DUSE_SYSTEM_FLATBUFFERS_LIBS=ON"
|
"-DUSE_SYSTEM_FLATBUFFERS_LIBS=ON"
|
||||||
"-DUSE_SYSTEM_PROTO_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; {
|
meta = with lib; {
|
||||||
broken = (stdenv.isLinux && stdenv.isAarch64);
|
description = "An opensource Bias or Ambient Lighting implementation";
|
||||||
description = "Open Source Ambilight solution";
|
|
||||||
homepage = "https://github.com/hyperion-project/hyperion.ng";
|
homepage = "https://github.com/hyperion-project/hyperion.ng";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ algram ];
|
maintainers = with maintainers; [ algram kazenyuk ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,22 @@
|
|||||||
{ stdenv, lib, buildEnv, writeText, writeShellScriptBin, pkgs, pkgsi686Linux }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
args@{ name, profile ? ""
|
, runCommandLocal
|
||||||
, targetPkgs ? pkgs: [], multiPkgs ? pkgs: []
|
, buildEnv
|
||||||
, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
|
, writeText
|
||||||
, extraOutputsToInstall ? []
|
, writeShellScriptBin
|
||||||
|
, pkgs
|
||||||
|
, pkgsi686Linux
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
{ name ? null
|
||||||
|
, profile ? ""
|
||||||
|
, targetPkgs ? pkgs: []
|
||||||
|
, multiPkgs ? pkgs: []
|
||||||
|
, extraBuildCommands ? ""
|
||||||
|
, extraBuildCommandsMulti ? ""
|
||||||
|
, extraOutputsToInstall ? []
|
||||||
|
} @ args:
|
||||||
|
|
||||||
# HOWTO:
|
# HOWTO:
|
||||||
# All packages (most likely programs) returned from targetPkgs will only be
|
# 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
|
# 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
|
# Compose /etc for the chroot environment
|
||||||
etcPkg = stdenv.mkDerivation {
|
etcPkg = runCommandLocal "${name}-chrootenv-etc" { } ''
|
||||||
name = "${name}-chrootenv-etc";
|
mkdir -p $out/etc
|
||||||
buildCommand = ''
|
cd $out/etc
|
||||||
mkdir -p $out/etc
|
|
||||||
cd $out/etc
|
|
||||||
|
|
||||||
# environment variables
|
# environment variables
|
||||||
ln -s ${etcProfile} profile
|
ln -s ${etcProfile} profile
|
||||||
|
|
||||||
# symlink /etc/mtab -> /proc/mounts (compat for old userspace progs)
|
# symlink /etc/mtab -> /proc/mounts (compat for old userspace progs)
|
||||||
ln -s /proc/mounts mtab
|
ln -s /proc/mounts mtab
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
|
|
||||||
# Composes a /usr-like directory structure
|
# Composes a /usr-like directory structure
|
||||||
staticUsrProfileTarget = buildEnv {
|
staticUsrProfileTarget = buildEnv {
|
||||||
@ -163,8 +171,9 @@ let
|
|||||||
ln -Ls ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/
|
ln -Ls ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
setupLibDirs = if isTargetBuild then setupLibDirsTarget
|
setupLibDirs = if isTargetBuild
|
||||||
else setupLibDirsMulti;
|
then setupLibDirsTarget
|
||||||
|
else setupLibDirsMulti;
|
||||||
|
|
||||||
# the target profile is the actual profile that will be used for the chroot
|
# the target profile is the actual profile that will be used for the chroot
|
||||||
setupTargetProfile = ''
|
setupTargetProfile = ''
|
||||||
@ -203,21 +212,16 @@ let
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in runCommandLocal "${name}-fhs" {
|
||||||
name = "${name}-fhs";
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out
|
|
||||||
cd $out
|
|
||||||
${setupTargetProfile}
|
|
||||||
cd $out
|
|
||||||
${extraBuildCommands}
|
|
||||||
cd $out
|
|
||||||
${lib.optionalString isMultiBuild extraBuildCommandsMulti}
|
|
||||||
'';
|
|
||||||
preferLocalBuild = true;
|
|
||||||
allowSubstitutes = false;
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit args multiPaths targetPaths;
|
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 ? null
|
||||||
name
|
, pname ? null
|
||||||
, version ? null
|
, version ? null
|
||||||
, runScript ? "bash"
|
, runScript ? "bash"
|
||||||
, extraInstallCommands ? ""
|
, extraInstallCommands ? ""
|
||||||
@ -16,16 +24,22 @@ args @ {
|
|||||||
, unshareCgroup ? true
|
, unshareCgroup ? true
|
||||||
, dieWithParent ? 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;
|
with builtins;
|
||||||
let
|
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 { };
|
buildFHSEnv = callPackage ./buildFHSEnv.nix { };
|
||||||
|
|
||||||
fhsenv = buildFHSEnv (removeAttrs args [
|
fhsenv = buildFHSEnv (removeAttrs (args // { inherit name; }) [
|
||||||
"runScript" "extraInstallCommands" "meta" "passthru" "extraBwrapArgs" "dieWithParent"
|
"runScript" "extraInstallCommands" "meta" "passthru" "extraBwrapArgs" "dieWithParent"
|
||||||
"unshareUser" "unshareCgroup" "unshareUts" "unshareNet" "unsharePid" "unshareIpc"
|
"unshareUser" "unshareCgroup" "unshareUts" "unshareNet" "unsharePid" "unshareIpc"
|
||||||
"version"
|
"pname" "version"
|
||||||
]);
|
]);
|
||||||
|
|
||||||
etcBindEntries = let
|
etcBindEntries = let
|
||||||
@ -93,7 +107,7 @@ let
|
|||||||
EOF
|
EOF
|
||||||
ldconfig &> /dev/null
|
ldconfig &> /dev/null
|
||||||
'';
|
'';
|
||||||
init = run: writeShellScriptBin "${name}-init" ''
|
init = run: writeShellScript "${name}-init" ''
|
||||||
source /etc/profile
|
source /etc/profile
|
||||||
${createLdConfCache}
|
${createLdConfCache}
|
||||||
exec ${run} "$@"
|
exec ${run} "$@"
|
||||||
@ -198,18 +212,13 @@ let
|
|||||||
"''${auto_mounts[@]}"
|
"''${auto_mounts[@]}"
|
||||||
"''${x11_args[@]}"
|
"''${x11_args[@]}"
|
||||||
${concatStringsSep "\n " extraBwrapArgs}
|
${concatStringsSep "\n " extraBwrapArgs}
|
||||||
${init runScript}/bin/${name}-init ${initArgs}
|
${init runScript} ${initArgs}
|
||||||
)
|
)
|
||||||
exec "''${cmd[@]}"
|
exec "''${cmd[@]}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
bin = writeShellScriptBin name (bwrapCmd { initArgs = ''"$@"''; });
|
bin = writeShellScript "${name}-bwrap" (bwrapCmd { initArgs = ''"$@"''; });
|
||||||
|
in runCommandLocal name {
|
||||||
versionStr = lib.optionalString (version != null) ("-" + version);
|
|
||||||
|
|
||||||
nameAndVersion = name + versionStr;
|
|
||||||
|
|
||||||
in runCommandLocal nameAndVersion {
|
|
||||||
inherit meta;
|
inherit meta;
|
||||||
|
|
||||||
passthru = passthru // {
|
passthru = passthru // {
|
||||||
@ -225,6 +234,7 @@ in runCommandLocal nameAndVersion {
|
|||||||
};
|
};
|
||||||
} ''
|
} ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
ln -s ${bin}/bin/${name} $out/bin/${name}
|
ln -s ${bin} $out/bin/${pname}
|
||||||
|
|
||||||
${extraInstallCommands}
|
${extraInstallCommands}
|
||||||
''
|
''
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, fetchpatch
|
|
||||||
, readline
|
, readline
|
||||||
, gitUpdater
|
, gitUpdater
|
||||||
}:
|
}:
|
||||||
@ -15,16 +14,6 @@ stdenv.mkDerivation rec {
|
|||||||
hash = "sha256-4sXuVBbf2iIwx6DLeJXfmpstWyBluxjn5k3sKnlqvhs=";
|
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 ];
|
buildInputs = [ readline ];
|
||||||
|
|
||||||
makeFlags = [ "prefix=$(out)" ];
|
makeFlags = [ "prefix=$(out)" ];
|
||||||
|
@ -3,10 +3,7 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper
|
{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper
|
||||||
, pkg-config, libX11, libuuid, xz, vtk, Cocoa }:
|
, pkg-config, libX11, libuuid, xz, vtk, Cocoa }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
pname = "itk";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
itkGenericLabelInterpolatorSrc = fetchFromGitHub {
|
itkGenericLabelInterpolatorSrc = fetchFromGitHub {
|
||||||
owner = "InsightSoftwareConsortium";
|
owner = "InsightSoftwareConsortium";
|
||||||
repo = "ITKGenericLabelInterpolator";
|
repo = "ITKGenericLabelInterpolator";
|
||||||
@ -21,6 +18,18 @@ stdenv.mkDerivation rec {
|
|||||||
hash = "sha256-deJbza36c0Ohf9oKpO2T4po37pkyI+2wCSeGL4r17Go=";
|
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 {
|
src = fetchFromGitHub {
|
||||||
owner = "InsightSoftwareConsortium";
|
owner = "InsightSoftwareConsortium";
|
||||||
repo = "ITK";
|
repo = "ITK";
|
||||||
@ -36,6 +45,7 @@ stdenv.mkDerivation rec {
|
|||||||
--replace "@OPENJPEG_INSTALL_LIB_DIR@" "@OPENJPEG_INSTALL_FULL_LIB_DIR@"
|
--replace "@OPENJPEG_INSTALL_LIB_DIR@" "@OPENJPEG_INSTALL_FULL_LIB_DIR@"
|
||||||
ln -sr ${itkGenericLabelInterpolatorSrc} Modules/External/ITKGenericLabelInterpolator
|
ln -sr ${itkGenericLabelInterpolatorSrc} Modules/External/ITKGenericLabelInterpolator
|
||||||
ln -sr ${itkAdaptiveDenoisingSrc} Modules/External/ITKAdaptiveDenoising
|
ln -sr ${itkAdaptiveDenoisingSrc} Modules/External/ITKAdaptiveDenoising
|
||||||
|
ln -sr ${itkSimpleITKFiltersSrc} Modules/External/ITKSimpleITKFilters
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
@ -45,6 +55,7 @@ stdenv.mkDerivation rec {
|
|||||||
"-DModule_ITKMINC=ON"
|
"-DModule_ITKMINC=ON"
|
||||||
"-DModule_ITKIOMINC=ON"
|
"-DModule_ITKIOMINC=ON"
|
||||||
"-DModule_ITKIOTransformMINC=ON"
|
"-DModule_ITKIOTransformMINC=ON"
|
||||||
|
"-DModule_SimpleITKFilters=ON"
|
||||||
"-DModule_ITKVtkGlue=ON"
|
"-DModule_ITKVtkGlue=ON"
|
||||||
"-DModule_ITKReview=ON"
|
"-DModule_ITKReview=ON"
|
||||||
"-DModule_MGHIO=ON"
|
"-DModule_MGHIO=ON"
|
||||||
@ -69,7 +80,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Insight Segmentation and Registration Toolkit";
|
description = "Insight Segmentation and Registration Toolkit";
|
||||||
homepage = "https://www.itk.org/";
|
homepage = "https://www.itk.org";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = with lib.maintainers; [viric];
|
maintainers = with lib.maintainers; [viric];
|
||||||
};
|
};
|
||||||
|
@ -158,6 +158,7 @@ stdenv.mkDerivation rec {
|
|||||||
sed -i '/domaincapstest/d' tests/meson.build
|
sed -i '/domaincapstest/d' tests/meson.build
|
||||||
sed -i '/qemufirmwaretest/d' tests/meson.build
|
sed -i '/qemufirmwaretest/d' tests/meson.build
|
||||||
sed -i '/qemuvhostusertest/d' tests/meson.build
|
sed -i '/qemuvhostusertest/d' tests/meson.build
|
||||||
|
sed -i '/qemuxml2xmltest/d' tests/meson.build
|
||||||
'' + lib.optionalString (isDarwin && isx86_64) ''
|
'' + lib.optionalString (isDarwin && isx86_64) ''
|
||||||
sed -i '/qemucaps2xmltest/d' tests/meson.build
|
sed -i '/qemucaps2xmltest/d' tests/meson.build
|
||||||
sed -i '/qemuhotplugtest/d' tests/meson.build
|
sed -i '/qemuhotplugtest/d' tests/meson.build
|
||||||
|
@ -48,6 +48,8 @@
|
|||||||
, libopus
|
, libopus
|
||||||
, nativeHspSupport ? true
|
, nativeHspSupport ? true
|
||||||
, nativeHfpSupport ? true
|
, nativeHfpSupport ? true
|
||||||
|
, nativeModemManagerSupport ? true
|
||||||
|
, modemmanager
|
||||||
, ofonoSupport ? true
|
, ofonoSupport ? true
|
||||||
, hsphfpdSupport ? true
|
, hsphfpdSupport ? true
|
||||||
, pulseTunnelSupport ? true
|
, pulseTunnelSupport ? true
|
||||||
@ -105,6 +107,13 @@ let
|
|||||||
./0090-pipewire-config-template-paths.patch
|
./0090-pipewire-config-template-paths.patch
|
||||||
# Place SPA data files in lib output to avoid dependency cycles
|
# Place SPA data files in lib output to avoid dependency cycles
|
||||||
./0095-spa-data-dir.patch
|
./0095-spa-data-dir.patch
|
||||||
|
|
||||||
|
# backport patch fixing no sound in some cases
|
||||||
|
# FIXME: remove for next release
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/8748c77451ce332dd24549b414200499ede4f184.diff";
|
||||||
|
hash = "sha256-nxWszqLUbO1XS/DWIBYrGpVZFy2c5+E2V9dlBMekShM=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
@ -139,6 +148,7 @@ let
|
|||||||
++ lib.optionals libcameraSupport [ libcamera libdrm ]
|
++ lib.optionals libcameraSupport [ libcamera libdrm ]
|
||||||
++ lib.optional ffmpegSupport ffmpeg
|
++ lib.optional ffmpegSupport ffmpeg
|
||||||
++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt liblc3 sbc fdk_aac libopus ]
|
++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt liblc3 sbc fdk_aac libopus ]
|
||||||
|
++ lib.optional nativeModemManagerSupport modemmanager
|
||||||
++ lib.optional pulseTunnelSupport libpulseaudio
|
++ lib.optional pulseTunnelSupport libpulseaudio
|
||||||
++ lib.optional zeroconfSupport avahi
|
++ lib.optional zeroconfSupport avahi
|
||||||
++ lib.optional raopSupport openssl
|
++ lib.optional raopSupport openssl
|
||||||
@ -169,8 +179,10 @@ let
|
|||||||
"-Dbluez5=${mesonEnableFeature bluezSupport}"
|
"-Dbluez5=${mesonEnableFeature bluezSupport}"
|
||||||
"-Dbluez5-backend-hsp-native=${mesonEnableFeature nativeHspSupport}"
|
"-Dbluez5-backend-hsp-native=${mesonEnableFeature nativeHspSupport}"
|
||||||
"-Dbluez5-backend-hfp-native=${mesonEnableFeature nativeHfpSupport}"
|
"-Dbluez5-backend-hfp-native=${mesonEnableFeature nativeHfpSupport}"
|
||||||
|
"-Dbluez5-backend-native-mm=${mesonEnableFeature nativeModemManagerSupport}"
|
||||||
"-Dbluez5-backend-ofono=${mesonEnableFeature ofonoSupport}"
|
"-Dbluez5-backend-ofono=${mesonEnableFeature ofonoSupport}"
|
||||||
"-Dbluez5-backend-hsphfpd=${mesonEnableFeature hsphfpdSupport}"
|
"-Dbluez5-backend-hsphfpd=${mesonEnableFeature hsphfpdSupport}"
|
||||||
|
# source code is not easily obtainable
|
||||||
"-Dbluez5-codec-lc3plus=disabled"
|
"-Dbluez5-codec-lc3plus=disabled"
|
||||||
"-Dbluez5-codec-lc3=${mesonEnableFeature bluezSupport}"
|
"-Dbluez5-codec-lc3=${mesonEnableFeature bluezSupport}"
|
||||||
"-Dsysconfdir=/etc"
|
"-Dsysconfdir=/etc"
|
||||||
|
@ -4,12 +4,10 @@ stdenv.mkDerivation rec {
|
|||||||
pname = "simpleitk";
|
pname = "simpleitk";
|
||||||
version = "2.2.1";
|
version = "2.2.1";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "SimpleITK";
|
owner = "SimpleITK";
|
||||||
repo = "SimpleITK";
|
repo = "SimpleITK";
|
||||||
rev = "v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-0YxmixUTXpjegZQv7DDCNTWFTH8QEWqQQszee7aQ5EI=";
|
hash = "sha256-0YxmixUTXpjegZQv7DDCNTWFTH8QEWqQQszee7aQ5EI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, async-timeout
|
||||||
, mock
|
, mock
|
||||||
, noiseprotocol
|
, noiseprotocol
|
||||||
, protobuf
|
, protobuf
|
||||||
@ -12,7 +13,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aioesphomeapi";
|
pname = "aioesphomeapi";
|
||||||
version = "13.6.1";
|
version = "13.7.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
@ -21,10 +22,11 @@ buildPythonPackage rec {
|
|||||||
owner = "esphome";
|
owner = "esphome";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-S2a5v4OeE0DC9J2JAHFQ6YyhWt6RXp3cP+zkONp+Bzc=";
|
hash = "sha256-05UT9CsfO8onEHqnJlXNfzf1acfwiIC07ewCWBE8HPA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
async-timeout
|
||||||
noiseprotocol
|
noiseprotocol
|
||||||
protobuf
|
protobuf
|
||||||
zeroconf
|
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 {
|
src = fetchFromGitHub {
|
||||||
owner = "bm1549";
|
owner = "bm1549";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = "regs/tags/${version}";
|
||||||
hash = "sha256-U2ixBtigY15RzMNIeUK71uNOndUepK2kE/CTFwl855w=";
|
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 = [
|
propagatedBuildInputs = [
|
||||||
certifi
|
certifi
|
||||||
chardet
|
chardet
|
||||||
@ -41,6 +48,7 @@ buildPythonPackage rec {
|
|||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python API for the Frigidaire devices";
|
description = "Python API for the Frigidaire devices";
|
||||||
homepage = "https://github.com/bm1549/frigidaire";
|
homepage = "https://github.com/bm1549/frigidaire";
|
||||||
|
changelog = "https://github.com/bm1549/frigidaire/releases/tag/${version}";
|
||||||
license = with licenses; [ mit ];
|
license = with licenses; [ mit ];
|
||||||
maintainers = with maintainers; [ fab ];
|
maintainers = with maintainers; [ fab ];
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, setuptools-scm
|
, setuptools-scm
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, pythonRelaxDepsHook
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pytest-xdist
|
, pytest-xdist
|
||||||
@ -28,6 +29,7 @@ buildPythonPackage rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
setuptools-scm
|
setuptools-scm
|
||||||
|
pythonRelaxDepsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -41,19 +43,15 @@ buildPythonPackage rec {
|
|||||||
pytest-xdist
|
pytest-xdist
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
pythonRelaxDeps = [ "numpy" "numba" ];
|
||||||
substituteInPlace pyproject.toml \
|
|
||||||
--replace "numpy >= 1.18.4, < 1.24" "numpy >= 1.18.4" \
|
|
||||||
--replace "numba >= 0.53, < 0.57" "numba >= 0.53" \
|
|
||||||
'';
|
|
||||||
|
|
||||||
pythonImportsCheck = [ "galois" ];
|
pythonImportsCheck = [ "galois" ];
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
description = "A Python 3 package that extends NumPy arrays to operate over finite fields";
|
description = "Python package that extends NumPy arrays to operate over finite fields";
|
||||||
homepage = "https://github.com/mhostetter/galois";
|
homepage = "https://github.com/mhostetter/galois";
|
||||||
downloadPage = "https://github.com/mhostetter/galois/releases";
|
downloadPage = "https://github.com/mhostetter/galois/releases/tag/v${version}";
|
||||||
license = lib.licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ chrispattison ];
|
maintainers = with maintainers; [ chrispattison ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
|
, fetchpatch
|
||||||
, httpx
|
, httpx
|
||||||
, pyspnego
|
, pyspnego
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
@ -19,6 +20,15 @@ buildPythonPackage rec {
|
|||||||
hash = "sha256-a1a5laZ4tNOtpVDFCK1t2IXWbyJytZMhuad2JtmA52I=";
|
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 = [
|
propagatedBuildInputs = [
|
||||||
httpx
|
httpx
|
||||||
pyspnego
|
pyspnego
|
||||||
|
@ -15,14 +15,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pdm-backend";
|
pname = "pdm-backend";
|
||||||
version = "2.0.5";
|
version = "2.0.6";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pdm-project";
|
owner = "pdm-project";
|
||||||
repo = "pdm-backend";
|
repo = "pdm-backend";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-d5kr5pr9tBc6So0wTy3/ASgk8KTOf2AV8Vfsmml5Qh0=";
|
hash = "sha256-NMnb9DiW5xvfsI1nHFNIwvA/yH2boqe+WeD5re/ojAM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
|
propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
|
||||||
|
@ -83,22 +83,19 @@ let
|
|||||||
pname = "playwright-browsers";
|
pname = "playwright-browsers";
|
||||||
version = driverVersion;
|
version = driverVersion;
|
||||||
|
|
||||||
src = runCommand "playwright-browsers-base" {
|
dontUnpack = true;
|
||||||
outputHashMode = "recursive";
|
|
||||||
outputHashAlgo = "sha256";
|
installPhase = ''
|
||||||
outputHash = {
|
runHook preInstall
|
||||||
x86_64-darwin = "0z2kww4iby1izkwn6z2ai94y87bkjvwak8awdmjm8sgg00pa9l1a";
|
|
||||||
}.${system} or throwSystem;
|
|
||||||
} ''
|
|
||||||
export PLAYWRIGHT_BROWSERS_PATH=$out
|
export PLAYWRIGHT_BROWSERS_PATH=$out
|
||||||
${driver}/bin/playwright install
|
${driver}/bin/playwright install
|
||||||
rm -r $out/.links
|
rm -r $out/.links
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
meta.platforms = lib.platforms.darwin;
|
||||||
mkdir $out
|
|
||||||
cp -r * $out/
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
browsers-linux = { withFirefox ? true, withChromium ? true }: let
|
browsers-linux = { withFirefox ? true, withChromium ? true }: let
|
||||||
|
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" ];
|
||||||
|
}
|
@ -9,9 +9,9 @@
|
|||||||
, lxml
|
, lxml
|
||||||
, nose
|
, nose
|
||||||
, packaging
|
, packaging
|
||||||
, pdm-pep517
|
|
||||||
, pillow
|
, pillow
|
||||||
, prettytable
|
, prettytable
|
||||||
|
, pycountry
|
||||||
, python-dateutil
|
, python-dateutil
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, pyyaml
|
, pyyaml
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "woob";
|
pname = "woob";
|
||||||
version = "3.4";
|
version = "3.5";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
@ -33,12 +33,11 @@ buildPythonPackage rec {
|
|||||||
owner = "woob";
|
owner = "woob";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-qVE1FQK3+jBKIHW+s1iNZwy8Srb2kQhWNTlZyzc1/jE=";
|
hash = "sha256-Yb3AgUSqr9r2TIymiEUIhKThNC7yjQEkhi8GSI9fqNA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
packaging
|
packaging
|
||||||
pdm-pep517
|
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -51,19 +50,13 @@ buildPythonPackage rec {
|
|||||||
packaging
|
packaging
|
||||||
pillow
|
pillow
|
||||||
prettytable
|
prettytable
|
||||||
|
pycountry
|
||||||
pyyaml
|
pyyaml
|
||||||
requests
|
requests
|
||||||
termcolor
|
termcolor
|
||||||
unidecode
|
unidecode
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.com/woob/woob/-/commit/861b1bb92be53998d8174dcca6fa643d1c7cde12.patch";
|
|
||||||
sha256 = "sha256-IXcE59pMFtPLTOYa2inIvuA14USQvck6Q4hrKZTC0DE=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
nose
|
nose
|
||||||
];
|
];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "checkmake";
|
pname = "checkmake";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mrtazz";
|
owner = "mrtazz";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Zkrr1BrP8ktRGf6EYhDpz3oTnX6msrSpfFqkqi9pmlc=";
|
sha256 = "sha256-Ql8XSQA/w7wT9GbmYOM2vG15GVqj9LxOGIu8Wqp9Wao=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
@ -41,7 +41,6 @@ buildGoModule rec {
|
|||||||
homepage = "https://github.com/mrtazz/checkmake";
|
homepage = "https://github.com/mrtazz/checkmake";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ vidbina ];
|
maintainers = with maintainers; [ vidbina ];
|
||||||
platforms = platforms.linux;
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
checkmake is an experimental tool for linting and checking
|
checkmake is an experimental tool for linting and checking
|
||||||
Makefiles. It may not do what you want it to.
|
Makefiles. It may not do what you want it to.
|
||||||
|
@ -1,26 +1,28 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, python3Packages
|
, python3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "tockloader";
|
pname = "tockloader";
|
||||||
version = "1.6.0";
|
version = "1.9.0";
|
||||||
|
|
||||||
src = python3Packages.fetchPypi {
|
src = python3.pkgs.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1aqkj1nplcw3gmklrhq6vxy6v9ad5mqiw4y1svasak2zkqdk1wyc";
|
hash = "sha256-7W55jugVtamFUL8N3dD1LFLJP2UDQb74V6o96rd/tEg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
argcomplete
|
argcomplete
|
||||||
colorama
|
colorama
|
||||||
crcmod
|
crcmod
|
||||||
|
pycryptodome
|
||||||
pyserial
|
pyserial
|
||||||
pytoml
|
questionary
|
||||||
|
toml
|
||||||
tqdm
|
tqdm
|
||||||
];
|
];
|
||||||
|
|
||||||
# has no test suite
|
# Project has no test suite
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
$out/bin/tockloader --version | grep -q ${version}
|
$out/bin/tockloader --version | grep -q ${version}
|
||||||
@ -28,9 +30,10 @@ python3Packages.buildPythonApplication rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/tock/tockloader";
|
|
||||||
license = licenses.mit;
|
|
||||||
description = "Tool for programming Tock onto hardware boards";
|
description = "Tool for programming Tock onto hardware boards";
|
||||||
|
homepage = "https://github.com/tock/tockloader";
|
||||||
|
changelog = "https://github.com/tock/tockloader/releases/tag/v${version}";
|
||||||
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,8 @@ let
|
|||||||
passthru = { inherit sources; };
|
passthru = { inherit sources; };
|
||||||
|
|
||||||
fhsUserEnvAnki = buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
|
fhsUserEnvAnki = buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
|
||||||
name = "anki";
|
inherit pname version;
|
||||||
|
name = null; # Appimage sets it to "appimage-env"
|
||||||
|
|
||||||
# Dependencies of anki
|
# Dependencies of anki
|
||||||
targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
|
targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
|
||||||
@ -61,6 +62,8 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
extraInstallCommands = ''
|
extraInstallCommands = ''
|
||||||
|
ln -s ${pname} $out/bin/anki
|
||||||
|
|
||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
cp -R ${unpacked}/share/applications \
|
cp -R ${unpacked}/share/applications \
|
||||||
${unpacked}/share/man \
|
${unpacked}/share/man \
|
||||||
@ -70,17 +73,9 @@ let
|
|||||||
|
|
||||||
inherit meta passthru;
|
inherit meta passthru;
|
||||||
});
|
});
|
||||||
|
|
||||||
fhsUserEnvAnkiWithVersion = fhsUserEnvAnki.overrideAttrs (oldAttrs: {
|
|
||||||
# buildFHSUserEnv doesn't have an easy way to set the version of the
|
|
||||||
# resulting derivation, so we manually override it here. This makes
|
|
||||||
# it clear to end users the version of anki-bin. Without this, users
|
|
||||||
# might assume anki-bin is an old version of Anki.
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
});
|
|
||||||
in
|
in
|
||||||
|
|
||||||
if stdenv.isLinux then fhsUserEnvAnkiWithVersion
|
if stdenv.isLinux then fhsUserEnvAnki
|
||||||
else stdenv.mkDerivation {
|
else stdenv.mkDerivation {
|
||||||
inherit pname version passthru;
|
inherit pname version passthru;
|
||||||
|
|
||||||
|
24
pkgs/games/nsnake/default.nix
Normal file
24
pkgs/games/nsnake/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, lib, ncurses }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "nsnake";
|
||||||
|
version = "3.0.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "alexdantas";
|
||||||
|
repo = "nSnake";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-MixwIhyymruruV8G8PjmR9EoZBpaDVBCKBccSFL0lS8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ ncurses ];
|
||||||
|
|
||||||
|
makeFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "ncurses based snake game for the terminal";
|
||||||
|
homepage = "https://github.com/alexdantas/nSnake";
|
||||||
|
license = lib.licenses.gpl3Plus;
|
||||||
|
maintainers = with lib.maintainers; [ clerie ];
|
||||||
|
};
|
||||||
|
}
|
@ -11,9 +11,9 @@ let
|
|||||||
};
|
};
|
||||||
# ./update-zen.py lqx
|
# ./update-zen.py lqx
|
||||||
lqxVariant = {
|
lqxVariant = {
|
||||||
version = "6.2.9"; #lqx
|
version = "6.2.10"; #lqx
|
||||||
suffix = "lqx1"; #lqx
|
suffix = "lqx1"; #lqx
|
||||||
sha256 = "1rw85gallk7r15adrvi8597zwkib2qsq9ir2lg7v2ivk85mivbq9"; #lqx
|
sha256 = "0lrpwn1s0mlh03wlx1gxqy68v84c2yaswd0fxwh28dqiy0sk8zgj"; #lqx
|
||||||
isLqx = true;
|
isLqx = true;
|
||||||
};
|
};
|
||||||
zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
|
zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
|
||||||
|
@ -53,11 +53,11 @@ rec {
|
|||||||
# Vulkan developer beta driver
|
# Vulkan developer beta driver
|
||||||
# See here for more information: https://developer.nvidia.com/vulkan-driver
|
# See here for more information: https://developer.nvidia.com/vulkan-driver
|
||||||
vulkan_beta = generic rec {
|
vulkan_beta = generic rec {
|
||||||
version = "525.47.11";
|
version = "525.47.18";
|
||||||
persistencedVersion = "525.85.05";
|
persistencedVersion = "525.85.05";
|
||||||
settingsVersion = "525.85.05";
|
settingsVersion = "525.85.05";
|
||||||
sha256_64bit = "sha256-R3W0Nn9HDluzF316kWDlBnmCgS/O3Atic4poJnjAdPU=";
|
sha256_64bit = "sha256-L0H7o7zkN1pHHadaIC8nH+JMGt1IzuubEH6KgViU2Ic=";
|
||||||
openSha256 = "sha256-tZXzYQBx/3PzmHYrxmUD6iwxqwbi5/uVlN/7DU82oig=";
|
openSha256 = "sha256-xlRTE+QdAxSomIdvLb5dxklSeu/JVjI8IeYDzSloOo4=";
|
||||||
settingsSha256 = "sha256-ck6ra8y8nn5kA3L9/VcRR2W2RaWvfVbgBiOh2dRJr/8=";
|
settingsSha256 = "sha256-ck6ra8y8nn5kA3L9/VcRR2W2RaWvfVbgBiOh2dRJr/8=";
|
||||||
persistencedSha256 = "sha256-dt/Tqxp7ZfnbLel9BavjWDoEdLJvdJRwFjTFOBYYKLI=";
|
persistencedSha256 = "sha256-dt/Tqxp7ZfnbLel9BavjWDoEdLJvdJRwFjTFOBYYKLI=";
|
||||||
url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
|
url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
|
||||||
|
@ -4,13 +4,13 @@ let
|
|||||||
nodejs = nodejs-16_x;
|
nodejs = nodejs-16_x;
|
||||||
|
|
||||||
pname = "audiobookshelf";
|
pname = "audiobookshelf";
|
||||||
version = "2.2.15";
|
version = "2.2.18";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "advplyr";
|
owner = "advplyr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-BrIXbembbcfSPOPknoY2Vn9I85eHyOQLDCMsFOMORgM=";
|
sha256 = "sha256-Ar+OK6HiKf2/47HE+1iTw8MVz9A6qZg1hpZQdZ/40UM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
client = buildNpmPackage {
|
client = buildNpmPackage {
|
||||||
@ -24,7 +24,7 @@ let
|
|||||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||||
|
|
||||||
npmBuildScript = "generate";
|
npmBuildScript = "generate";
|
||||||
npmDepsHash = "sha256-eyZdeBsZ5XBoO/4djXZzOOr/h9kDSUULbqgdOZJNNCg=";
|
npmDepsHash = "sha256-Hsa7ZauUTtYQcCxw1cpuxQ/RfdRvBIh3PO1DXDUbELk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
wrapper = import ./wrapper.nix {
|
wrapper = import ./wrapper.nix {
|
||||||
@ -38,7 +38,7 @@ in buildNpmPackage {
|
|||||||
|
|
||||||
dontNpmBuild = true;
|
dontNpmBuild = true;
|
||||||
npmInstallFlags = "--only-production";
|
npmInstallFlags = "--only-production";
|
||||||
npmDepsHash = "sha256-KbewULna+0mftIcdO5Z4A5rOrheBndpgzjkE1Jytfr4=";
|
npmDepsHash = "sha256-0PFeXiS8RSffhrocrHODNpb6d9+nbpulCW5qYIrytDI=";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/opt/client
|
mkdir -p $out/opt/client
|
||||||
|
@ -8,17 +8,17 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
version = "2.7.4";
|
version = "2.8.0";
|
||||||
pname = "grafana-loki";
|
pname = "grafana-loki";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
rev = "v${version}";
|
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
repo = "loki";
|
repo = "loki";
|
||||||
sha256 = "sha256-afa4uInoNyEgNDJ7nB1yr+YYoOsU+S7XWhKvkeApgRQ=";
|
rev = "v${version}";
|
||||||
|
hash = "sha256-RPa3G1zrWzunyQOdNUQ/dZGJ/7sh2OGvoEqeYaT7Qv0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorHash = null;
|
||||||
|
|
||||||
subPackages = [
|
subPackages = [
|
||||||
# TODO split every executable into its own package
|
# TODO split every executable into its own package
|
||||||
@ -48,13 +48,10 @@ buildGoModule rec {
|
|||||||
"-X ${t}.Revision=unknown"
|
"-X ${t}.Revision=unknown"
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = true;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Like Prometheus, but for logs";
|
description = "Like Prometheus, but for logs";
|
||||||
license = with licenses; [ agpl3Only asl20 ];
|
license = with licenses; [ agpl3Only asl20 ];
|
||||||
homepage = "https://grafana.com/oss/loki/";
|
homepage = "https://grafana.com/oss/loki/";
|
||||||
maintainers = with maintainers; [ willibutz globin mmahut ];
|
maintainers = with maintainers; [ willibutz globin mmahut indeednotjames ];
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
alembic
|
alembic
|
||||||
dateutil
|
python-dateutil
|
||||||
pyyaml
|
pyyaml
|
||||||
setuptools
|
setuptools
|
||||||
sqlalchemy
|
sqlalchemy
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- a/cmake/modules/BuildSPDK.cmake
|
|
||||||
+++ b/cmake/modules/BuildSPDK.cmake
|
|
||||||
@@ -35,7 +35,7 @@ macro(build_spdk)
|
|
||||||
# unset $CFLAGS, otherwise it will interfere with how SPDK sets
|
|
||||||
# its include directory.
|
|
||||||
# unset $LDFLAGS, otherwise SPDK will fail to mock some functions.
|
|
||||||
- BUILD_COMMAND env -i PATH=$ENV{PATH} CC=${CMAKE_C_COMPILER} ${make_cmd} EXTRA_CFLAGS="${spdk_CFLAGS}"
|
|
||||||
+ BUILD_COMMAND env -i PATH=$ENV{PATH} CC=${CMAKE_C_COMPILER} ${make_cmd} EXTRA_CFLAGS="${spdk_CFLAGS}" C_OPT="-mssse3"
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
INSTALL_COMMAND "true")
|
|
||||||
unset(make_cmd)
|
|
@ -1,44 +1,82 @@
|
|||||||
{ lib, stdenv, runCommand, fetchurl, fetchpatch
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, runCommand
|
||||||
|
, fetchurl
|
||||||
|
, fetchFromGitHub
|
||||||
|
|
||||||
|
# Build time
|
||||||
|
, cmake
|
||||||
, ensureNewerSourcesHook
|
, ensureNewerSourcesHook
|
||||||
, cmake, pkg-config
|
|
||||||
, which, git
|
|
||||||
, boost175, xz
|
|
||||||
, libxml2, zlib, lz4
|
|
||||||
, openldap, lttng-ust
|
|
||||||
, babeltrace, gperf
|
|
||||||
, gtest
|
|
||||||
, cunit, snappy
|
|
||||||
, makeWrapper
|
|
||||||
, leveldb, oath-toolkit
|
|
||||||
, libnl, libcap_ng
|
|
||||||
, rdkafka
|
|
||||||
, nixosTests
|
|
||||||
, cryptsetup
|
|
||||||
, sqlite
|
|
||||||
, lua
|
|
||||||
, icu
|
|
||||||
, bzip2
|
|
||||||
, doxygen
|
|
||||||
, graphviz
|
|
||||||
, fmt
|
, fmt
|
||||||
, python39
|
, git
|
||||||
|
, makeWrapper
|
||||||
|
, pkg-config
|
||||||
|
, which
|
||||||
|
|
||||||
|
# Tests
|
||||||
|
, nixosTests
|
||||||
|
|
||||||
|
# Runtime dependencies
|
||||||
|
, arrow-cpp
|
||||||
|
, babeltrace
|
||||||
|
, boost179
|
||||||
|
, bzip2
|
||||||
|
, cryptsetup
|
||||||
|
, cimg
|
||||||
|
, cunit
|
||||||
|
, doxygen
|
||||||
|
, gperf
|
||||||
|
, graphviz
|
||||||
|
, gtest
|
||||||
|
, icu
|
||||||
|
, jsoncpp
|
||||||
|
, libcap_ng
|
||||||
|
, libnl
|
||||||
|
, libxml2
|
||||||
|
, lttng-ust
|
||||||
|
, lua
|
||||||
|
, lz4
|
||||||
|
, oath-toolkit
|
||||||
|
, openldap
|
||||||
|
, python310
|
||||||
|
, rdkafka
|
||||||
|
, rocksdb
|
||||||
|
, snappy
|
||||||
|
, sqlite
|
||||||
|
, utf8proc
|
||||||
|
, zlib
|
||||||
|
, zstd
|
||||||
|
|
||||||
# Optional Dependencies
|
# Optional Dependencies
|
||||||
, yasm ? null, fcgi ? null, expat ? null
|
, curl ? null
|
||||||
, curl ? null, fuse ? null
|
, expat ? null
|
||||||
, libedit ? null, libatomic_ops ? null
|
, fuse ? null
|
||||||
|
, libatomic_ops ? null
|
||||||
|
, libedit ? null
|
||||||
, libs3 ? null
|
, libs3 ? null
|
||||||
|
, yasm ? null
|
||||||
|
|
||||||
# Mallocs
|
# Mallocs
|
||||||
, jemalloc ? null, gperftools ? null
|
, gperftools ? null
|
||||||
|
, jemalloc ? null
|
||||||
|
|
||||||
# Crypto Dependencies
|
# Crypto Dependencies
|
||||||
, cryptopp ? null
|
, cryptopp ? null
|
||||||
, nss ? null, nspr ? null
|
, nspr ? null
|
||||||
|
, nss ? null
|
||||||
|
|
||||||
# Linux Only Dependencies
|
# Linux Only Dependencies
|
||||||
, linuxHeaders, util-linux, libuuid, udev, keyutils, rdma-core, rabbitmq-c
|
, linuxHeaders
|
||||||
, libaio ? null, libxfs ? null, zfs ? null, liburing ? null
|
, util-linux
|
||||||
|
, libuuid
|
||||||
|
, udev
|
||||||
|
, keyutils
|
||||||
|
, rdma-core
|
||||||
|
, rabbitmq-c
|
||||||
|
, libaio ? null
|
||||||
|
, libxfs ? null
|
||||||
|
, liburing ? null
|
||||||
|
, zfs ? null
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -49,7 +87,6 @@ let
|
|||||||
shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;
|
shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;
|
||||||
|
|
||||||
optYasm = shouldUsePkg yasm;
|
optYasm = shouldUsePkg yasm;
|
||||||
optFcgi = shouldUsePkg fcgi;
|
|
||||||
optExpat = shouldUsePkg expat;
|
optExpat = shouldUsePkg expat;
|
||||||
optCurl = shouldUsePkg curl;
|
optCurl = shouldUsePkg curl;
|
||||||
optFuse = shouldUsePkg fuse;
|
optFuse = shouldUsePkg fuse;
|
||||||
@ -68,8 +105,18 @@ let
|
|||||||
optLibxfs = shouldUsePkg libxfs;
|
optLibxfs = shouldUsePkg libxfs;
|
||||||
optZfs = shouldUsePkg zfs;
|
optZfs = shouldUsePkg zfs;
|
||||||
|
|
||||||
hasRadosgw = optFcgi != null && optExpat != null && optCurl != null && optLibedit != null;
|
# Downgrade rocksdb, 7.10 breaks ceph
|
||||||
|
rocksdb' = rocksdb.overrideAttrs (oldAttrs: {
|
||||||
|
version = "7.9.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "facebook";
|
||||||
|
repo = "rocksdb";
|
||||||
|
rev = "refs/tags/v7.9.2";
|
||||||
|
hash = "sha256-5P7IqJ14EZzDkbjaBvbix04ceGGdlWBuVFH/5dpD5VM=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
hasRadosgw = optExpat != null && optCurl != null && optLibedit != null;
|
||||||
|
|
||||||
# Malloc implementation (can be jemalloc, tcmalloc or null)
|
# Malloc implementation (can be jemalloc, tcmalloc or null)
|
||||||
malloc = if optJemalloc != null then optJemalloc else optGperftools;
|
malloc = if optJemalloc != null then optJemalloc else optGperftools;
|
||||||
@ -92,20 +139,30 @@ let
|
|||||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
ceph-common = python.pkgs.buildPythonPackage rec{
|
ceph-common = with python.pkgs; buildPythonPackage {
|
||||||
pname = "ceph-common";
|
pname = "ceph-common";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
|
|
||||||
sourceRoot = "ceph-${version}/src/python-common";
|
sourceRoot = "ceph-${version}/src/python-common";
|
||||||
|
|
||||||
nativeCheckInputs = [ python.pkgs.pytest ];
|
propagatedBuildInputs = [
|
||||||
propagatedBuildInputs = with python.pkgs; [ pyyaml six ];
|
pyyaml
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# requires network access
|
||||||
|
"test_valid_addr"
|
||||||
|
];
|
||||||
|
|
||||||
meta = getMeta "Ceph common module for code shared by manager modules";
|
meta = getMeta "Ceph common module for code shared by manager modules";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Boost 1.75 is not compatible with Python 3.10
|
# Watch out for python <> boost compatibility
|
||||||
python = python39.override {
|
python = python310.override {
|
||||||
packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
|
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "1.4.46";
|
version = "1.4.46";
|
||||||
@ -125,91 +182,128 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boost = boost175.override {
|
boost = boost179.override {
|
||||||
enablePython = true;
|
enablePython = true;
|
||||||
inherit python;
|
inherit python;
|
||||||
};
|
};
|
||||||
|
|
||||||
ceph-python-env = python.withPackages (ps: [
|
# TODO: split this off in build and runtime environment
|
||||||
# Check .requires files below https://github.com/ceph/ceph/tree/main/debian for dependencies
|
ceph-python-env = python.withPackages (ps: with ps; [
|
||||||
ps.sphinx
|
|
||||||
ps.flask
|
|
||||||
ps.routes
|
|
||||||
ps.cython
|
|
||||||
ps.setuptools
|
|
||||||
ps.virtualenv
|
|
||||||
# Libraries needed by the python tools
|
|
||||||
ps.mako
|
|
||||||
ceph-common
|
ceph-common
|
||||||
ps.cherrypy
|
|
||||||
ps.cmd2
|
# build time
|
||||||
ps.colorama
|
cython
|
||||||
ps.python-dateutil
|
|
||||||
ps.jsonpatch
|
# debian/control
|
||||||
ps.pecan
|
bcrypt
|
||||||
ps.prettytable
|
cherrypy
|
||||||
ps.pyopenssl
|
influxdb
|
||||||
ps.pyjwt
|
jinja2
|
||||||
ps.webob
|
kubernetes
|
||||||
ps.bcrypt
|
natsort
|
||||||
ps.scipy
|
numpy
|
||||||
ps.six
|
pecan
|
||||||
ps.pyyaml
|
prettytable
|
||||||
|
pyjwt
|
||||||
|
pyopenssl
|
||||||
|
python-dateutil
|
||||||
|
pyyaml
|
||||||
|
requests
|
||||||
|
routes
|
||||||
|
scikit-learn
|
||||||
|
scipy
|
||||||
|
setuptools
|
||||||
|
sphinx
|
||||||
|
virtualenv
|
||||||
|
werkzeug
|
||||||
|
|
||||||
|
# src/pybind/mgr/requirements-required.txt
|
||||||
|
cryptography
|
||||||
|
jsonpatch
|
||||||
|
|
||||||
|
# src/tools/cephfs/shell/setup.py
|
||||||
|
cmd2
|
||||||
|
colorama
|
||||||
]);
|
]);
|
||||||
sitePackages = ceph-python-env.python.sitePackages;
|
sitePackages = ceph-python-env.python.sitePackages;
|
||||||
|
|
||||||
version = "16.2.10";
|
version = "17.2.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
|
url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
|
||||||
sha256 = "sha256-342+nUV3mCX7QJfZSnKEfnQFCJwJmVQeYnefJwW/AtU=";
|
hash = "sha256-NiJpwUeROvh0siSaRoRrDm+C0s61CvRiIrbd7JmRspo=";
|
||||||
};
|
};
|
||||||
in rec {
|
in rec {
|
||||||
ceph = stdenv.mkDerivation {
|
ceph = stdenv.mkDerivation {
|
||||||
pname = "ceph";
|
pname = "ceph";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
|
|
||||||
patches = [
|
|
||||||
./0000-fix-SPDK-build-env.patch
|
|
||||||
# pacific: include/buffer: include <memory>
|
|
||||||
# fixes build with gcc 12
|
|
||||||
# https://github.com/ceph/ceph/pull/47295
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/ceph/ceph/pull/47295/commits/df88789a38c053513d3b2a9b7d12a952fc0c9042.patch";
|
|
||||||
hash = "sha256-je65kBfa5hR0ZKo6ZI10XmD5ZUbKj5rxlGxxI9ZJVfo=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/ceph/ceph/pull/47295/commits/2abcbe4e47705e6e0fcc7d9d9b75625f563199af.patch";
|
|
||||||
hash = "sha256-8sWQKoZNHuGuhzX/F+3fY4+kjsrwsfoMdVpfVSj2x5w=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/ceph/ceph/pull/47295/commits/13dc077cf6c65a3b8c4f13d896847b9964b3fcbb.patch";
|
|
||||||
hash = "sha256-byfiZh9OJrux/y5m3QCPg0LET6q33ZDXmp/CN+yOSQQ=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
pkg-config which git python.pkgs.wrapPython makeWrapper
|
|
||||||
python.pkgs.python # for the toPythonPath function
|
|
||||||
(ensureNewerSourcesHook { year = "1980"; })
|
|
||||||
python
|
|
||||||
fmt
|
fmt
|
||||||
|
git
|
||||||
|
makeWrapper
|
||||||
|
pkg-config
|
||||||
|
python
|
||||||
|
python.pkgs.python # for the toPythonPath function
|
||||||
|
python.pkgs.wrapPython
|
||||||
|
which
|
||||||
|
(ensureNewerSourcesHook { year = "1980"; })
|
||||||
# for building docs/man-pages presumably
|
# for building docs/man-pages presumably
|
||||||
doxygen
|
doxygen
|
||||||
graphviz
|
graphviz
|
||||||
];
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = cryptoLibsMap.${cryptoStr} ++ [
|
buildInputs = cryptoLibsMap.${cryptoStr} ++ [
|
||||||
boost xz ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
|
arrow-cpp
|
||||||
malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
|
babeltrace
|
||||||
snappy lz4 oath-toolkit leveldb libnl libcap_ng rdkafka
|
boost
|
||||||
cryptsetup sqlite lua icu bzip2
|
bzip2
|
||||||
|
ceph-python-env
|
||||||
|
cimg
|
||||||
|
cryptsetup
|
||||||
|
cunit
|
||||||
|
gperf
|
||||||
|
gtest
|
||||||
|
jsoncpp
|
||||||
|
icu
|
||||||
|
libcap_ng
|
||||||
|
libnl
|
||||||
|
libxml2
|
||||||
|
lttng-ust
|
||||||
|
lua
|
||||||
|
lz4
|
||||||
|
malloc
|
||||||
|
oath-toolkit
|
||||||
|
openldap
|
||||||
|
optLibatomic_ops
|
||||||
|
optLibs3
|
||||||
|
optYasm
|
||||||
|
rdkafka
|
||||||
|
rocksdb'
|
||||||
|
snappy
|
||||||
|
sqlite
|
||||||
|
utf8proc
|
||||||
|
zlib
|
||||||
|
zstd
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
linuxHeaders util-linux libuuid udev keyutils liburing optLibaio optLibxfs optZfs
|
keyutils
|
||||||
# ceph 14
|
liburing
|
||||||
rdma-core rabbitmq-c
|
libuuid
|
||||||
|
linuxHeaders
|
||||||
|
optLibaio
|
||||||
|
optLibxfs
|
||||||
|
optZfs
|
||||||
|
rabbitmq-c
|
||||||
|
rdma-core
|
||||||
|
udev
|
||||||
|
util-linux
|
||||||
] ++ lib.optionals hasRadosgw [
|
] ++ lib.optionals hasRadosgw [
|
||||||
optFcgi optExpat optCurl optFuse optLibedit
|
optCurl
|
||||||
|
optExpat
|
||||||
|
optFuse
|
||||||
|
optLibedit
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonPath = [ ceph-python-env "${placeholder "out"}/${ceph-python-env.sitePackages}" ];
|
pythonPath = [ ceph-python-env "${placeholder "out"}/${ceph-python-env.sitePackages}" ];
|
||||||
@ -226,17 +320,27 @@ in rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DWITH_SYSTEM_ROCKSDB=OFF" # breaks Bluestore
|
|
||||||
"-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib"
|
"-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib"
|
||||||
|
|
||||||
"-DWITH_SYSTEM_BOOST=ON"
|
|
||||||
"-DWITH_SYSTEM_GTEST=ON"
|
|
||||||
"-DMGR_PYTHON_VERSION=${ceph-python-env.python.pythonVersion}"
|
"-DMGR_PYTHON_VERSION=${ceph-python-env.python.pythonVersion}"
|
||||||
"-DWITH_SYSTEMD=OFF"
|
"-DWITH_CEPHFS_SHELL:BOOL=ON"
|
||||||
"-DWITH_TESTS=OFF"
|
"-DWITH_SYSTEMD:BOOL=OFF"
|
||||||
"-DWITH_CEPHFS_SHELL=ON"
|
"-DWITH_TESTS:BOOL=OFF"
|
||||||
|
|
||||||
|
# Use our own libraries, where possible
|
||||||
|
"-DWITH_SYSTEM_ARROW:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_BOOST:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_CIMG:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_JSONCPP:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_GTEST:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_ROCKSDB:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_UTF8PROC:BOOL=ON"
|
||||||
|
"-DWITH_SYSTEM_ZSTD:BOOL=ON"
|
||||||
|
|
||||||
# TODO breaks with sandbox, tries to download stuff with npm
|
# TODO breaks with sandbox, tries to download stuff with npm
|
||||||
"-DWITH_MGR_DASHBOARD_FRONTEND=OFF"
|
"-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF"
|
||||||
|
# no matching function for call to 'parquet::PageReader::Open(std::shared_ptr<arrow::io::InputStream>&, int64_t, arrow::Compression::type, parquet::MemoryPool*, parquet::CryptoContext*)'
|
||||||
|
"-DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF"
|
||||||
# WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now
|
# WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now
|
||||||
''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}''
|
''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}''
|
||||||
] ++ lib.optional stdenv.isLinux "-DWITH_SYSTEM_LIBURING=ON";
|
] ++ lib.optional stdenv.isLinux "-DWITH_SYSTEM_LIBURING=ON";
|
||||||
@ -259,8 +363,15 @@ in rec {
|
|||||||
|
|
||||||
meta = getMeta "Distributed storage system";
|
meta = getMeta "Distributed storage system";
|
||||||
|
|
||||||
passthru.version = version;
|
passthru = {
|
||||||
passthru.tests = { inherit (nixosTests) ceph-single-node ceph-multi-node ceph-single-node-bluestore; };
|
inherit version;
|
||||||
|
tests = {
|
||||||
|
inherit (nixosTests)
|
||||||
|
ceph-multi-node
|
||||||
|
ceph-single-node
|
||||||
|
ceph-single-node-bluestore;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ceph-client = runCommand "ceph-client-${version}" {
|
ceph-client = runCommand "ceph-client-${version}" {
|
||||||
|
@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
|
|||||||
# Drop unused pthread library. pthread_yield()
|
# Drop unused pthread library. pthread_yield()
|
||||||
# fails the configure.
|
# fails the configure.
|
||||||
./no-pthread.patch
|
./no-pthread.patch
|
||||||
|
# Zero-initialize unset fields of `struct fuse_operations` so that
|
||||||
|
# garbage values don't cause segfault.
|
||||||
|
# <https://github.com/kedazo/fuse-7z-ng/pull/8>
|
||||||
|
./zero-init-fuse-operations.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config makeWrapper autoconf automake ];
|
nativeBuildInputs = [ pkg-config makeWrapper autoconf automake ];
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
Zero-initialize unset fields of `struct fuse_operations`.
|
||||||
|
<https://github.com/kedazo/fuse-7z-ng/pull/8>
|
||||||
|
--- a/src/main.cpp
|
||||||
|
+++ b/src/main.cpp
|
||||||
|
@@ -195,7 +195,7 @@ main (int argc, char **argv)
|
||||||
|
mkdir(param.mountpoint, 0750);
|
||||||
|
}
|
||||||
|
|
||||||
|
- struct fuse_operations fuse7z_oper;
|
||||||
|
+ struct fuse_operations fuse7z_oper = {0};
|
||||||
|
fuse7z_oper.init = fuse7z_init;
|
||||||
|
fuse7z_oper.destroy = fuse7z_destroy;
|
||||||
|
fuse7z_oper.readdir = fuse7z_readdir;
|
@ -14,13 +14,13 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "starship";
|
pname = "starship";
|
||||||
version = "1.13.1";
|
version = "1.14.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "starship";
|
owner = "starship";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-MgCYlcJoNJ3eChH7WLKgvgblmz9Wy6JplULjeGGiEXY=";
|
hash = "sha256-KhuAgC58oEdUiCWZjUShfDpNe0m0ENfn2QJVOlzpIyo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles cmake ];
|
nativeBuildInputs = [ installShellFiles cmake ];
|
||||||
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
--zsh <($out/bin/starship completions zsh)
|
--zsh <($out/bin/starship completions zsh)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cargoHash = "sha256-sdETcvmz9mWTXEt9h7vP+FKolhnamkwtbkYiJE/HVX0=";
|
cargoHash = "sha256-gdJzH2/gJDg3sNR28Daq4B+KEn565jXhkxZFsrVx/uI=";
|
||||||
|
|
||||||
nativeCheckInputs = [ git ];
|
nativeCheckInputs = [ git ];
|
||||||
|
|
||||||
|
@ -19445,13 +19445,7 @@ with pkgs;
|
|||||||
c-blosc = callPackage ../development/libraries/c-blosc { };
|
c-blosc = callPackage ../development/libraries/c-blosc { };
|
||||||
|
|
||||||
# justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
|
# justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
|
||||||
cachix = (haskell.lib.compose.justStaticExecutables haskell.packages.ghc94.cachix).overrideAttrs(o: {
|
cachix = haskell.lib.justStaticExecutables haskellPackages.cachix;
|
||||||
passthru = o.passthru or {} // {
|
|
||||||
tests = o.passthru.tests or {} // {
|
|
||||||
inherit hci;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
calcium = callPackage ../development/libraries/calcium { };
|
calcium = callPackage ../development/libraries/calcium { };
|
||||||
|
|
||||||
@ -25031,9 +25025,7 @@ with pkgs;
|
|||||||
buildGoModule = buildGo119Module; # nixosTests.grafana-agent go 1.20 failure
|
buildGoModule = buildGo119Module; # nixosTests.grafana-agent go 1.20 failure
|
||||||
};
|
};
|
||||||
|
|
||||||
grafana-loki = callPackage ../servers/monitoring/loki {
|
grafana-loki = callPackage ../servers/monitoring/loki { };
|
||||||
buildGoModule = buildGo119Module; # nixosTests.loki go 1.20 failure
|
|
||||||
};
|
|
||||||
promtail = callPackage ../servers/monitoring/loki/promtail.nix { };
|
promtail = callPackage ../servers/monitoring/loki/promtail.nix { };
|
||||||
|
|
||||||
mimir = callPackage ../servers/monitoring/mimir { };
|
mimir = callPackage ../servers/monitoring/mimir { };
|
||||||
@ -36206,6 +36198,8 @@ with pkgs;
|
|||||||
|
|
||||||
newtonwars = callPackage ../games/newtonwars { };
|
newtonwars = callPackage ../games/newtonwars { };
|
||||||
|
|
||||||
|
nsnake = callPackage ../games/nsnake { };
|
||||||
|
|
||||||
nudoku = callPackage ../games/nudoku { };
|
nudoku = callPackage ../games/nudoku { };
|
||||||
|
|
||||||
nxengine-evo = callPackage ../games/nxengine-evo { };
|
nxengine-evo = callPackage ../games/nxengine-evo { };
|
||||||
|
@ -3261,6 +3261,8 @@ self: super: with self; {
|
|||||||
|
|
||||||
expecttest = callPackage ../development/python-modules/expecttest { };
|
expecttest = callPackage ../development/python-modules/expecttest { };
|
||||||
|
|
||||||
|
expiring-dict = callPackage ../development/python-modules/expiring-dict { };
|
||||||
|
|
||||||
expiringdict = callPackage ../development/python-modules/expiringdict { };
|
expiringdict = callPackage ../development/python-modules/expiringdict { };
|
||||||
|
|
||||||
explorerscript = callPackage ../development/python-modules/explorerscript { };
|
explorerscript = callPackage ../development/python-modules/explorerscript { };
|
||||||
@ -10830,6 +10832,10 @@ self: super: with self; {
|
|||||||
|
|
||||||
simplehound = callPackage ../development/python-modules/simplehound { };
|
simplehound = callPackage ../development/python-modules/simplehound { };
|
||||||
|
|
||||||
|
simpleitk = callPackage ../development/python-modules/simpleitk {
|
||||||
|
inherit (pkgs) simpleitk;
|
||||||
|
};
|
||||||
|
|
||||||
simplejson = callPackage ../development/python-modules/simplejson { };
|
simplejson = callPackage ../development/python-modules/simplejson { };
|
||||||
|
|
||||||
simplekml = callPackage ../development/python-modules/simplekml { };
|
simplekml = callPackage ../development/python-modules/simplekml { };
|
||||||
|
Loading…
Reference in New Issue
Block a user