Merge master into haskell-updates
This commit is contained in:
commit
2056957bd7
|
@ -168,7 +168,7 @@ rec {
|
|||
] { a.b.c = 0; }
|
||||
=> { a = { b = { d = 1; }; }; x = { y = "xy"; }; }
|
||||
|
||||
Type: updateManyAttrsByPath :: [{ path :: [String], update :: (Any -> Any) }] -> AttrSet -> AttrSet
|
||||
Type: updateManyAttrsByPath :: [{ path :: [String]; update :: (Any -> Any); }] -> AttrSet -> AttrSet
|
||||
*/
|
||||
updateManyAttrsByPath = let
|
||||
# When recursing into attributes, instead of updating the `path` of each
|
||||
|
@ -414,7 +414,7 @@ rec {
|
|||
=> { name = "some"; value = 6; }
|
||||
|
||||
Type:
|
||||
nameValuePair :: String -> Any -> { name :: String, value :: Any }
|
||||
nameValuePair :: String -> Any -> { name :: String; value :: Any; }
|
||||
*/
|
||||
nameValuePair =
|
||||
# Attribute name
|
||||
|
@ -449,7 +449,7 @@ rec {
|
|||
=> { foo_x = "bar-a"; foo_y = "bar-b"; }
|
||||
|
||||
Type:
|
||||
mapAttrs' :: (String -> Any -> { name = String; value = Any }) -> AttrSet -> AttrSet
|
||||
mapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet
|
||||
*/
|
||||
mapAttrs' =
|
||||
# A function, given an attribute's name and value, returns a new `nameValuePair`.
|
||||
|
@ -649,7 +649,7 @@ rec {
|
|||
|
||||
Example:
|
||||
zipAttrsWith (name: values: values) [{a = "x";} {a = "y"; b = "z";}]
|
||||
=> { a = ["x" "y"]; b = ["z"] }
|
||||
=> { a = ["x" "y"]; b = ["z"]; }
|
||||
|
||||
Type:
|
||||
zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet
|
||||
|
@ -664,7 +664,7 @@ rec {
|
|||
|
||||
Example:
|
||||
zipAttrs [{a = "x";} {a = "y"; b = "z";}]
|
||||
=> { a = ["x" "y"]; b = ["z"] }
|
||||
=> { a = ["x" "y"]; b = ["z"]; }
|
||||
|
||||
Type:
|
||||
zipAttrs :: [ AttrSet ] -> AttrSet
|
||||
|
|
|
@ -94,7 +94,7 @@ let
|
|||
subtractLists mutuallyExclusive groupBy groupBy';
|
||||
inherit (self.strings) concatStrings concatMapStrings concatImapStrings
|
||||
intersperse concatStringsSep concatMapStringsSep
|
||||
concatImapStringsSep makeSearchPath makeSearchPathOutput
|
||||
concatImapStringsSep concatLines makeSearchPath makeSearchPathOutput
|
||||
makeLibraryPath makeBinPath optionalString
|
||||
hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
|
||||
escapeShellArg escapeShellArgs
|
||||
|
|
|
@ -306,7 +306,7 @@ rec {
|
|||
/* Splits the elements of a list in two lists, `right` and
|
||||
`wrong`, depending on the evaluation of a predicate.
|
||||
|
||||
Type: (a -> bool) -> [a] -> { right :: [a], wrong :: [a] }
|
||||
Type: (a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; }
|
||||
|
||||
Example:
|
||||
partition (x: x > 2) [ 5 1 2 3 4 ]
|
||||
|
@ -374,7 +374,7 @@ rec {
|
|||
/* Merges two lists of the same size together. If the sizes aren't the same
|
||||
the merging stops at the shortest.
|
||||
|
||||
Type: zipLists :: [a] -> [b] -> [{ fst :: a, snd :: b}]
|
||||
Type: zipLists :: [a] -> [b] -> [{ fst :: a; snd :: b; }]
|
||||
|
||||
Example:
|
||||
zipLists [ 1 2 ] [ "a" "b" ]
|
||||
|
|
|
@ -114,7 +114,7 @@ rec {
|
|||
|
||||
You can omit the default path if the name of the option is also attribute path in nixpkgs.
|
||||
|
||||
Type: mkPackageOption :: pkgs -> string -> { default :: [string], example :: null | string | [string] } -> option
|
||||
Type: mkPackageOption :: pkgs -> string -> { default :: [string]; example :: null | string | [string]; } -> option
|
||||
|
||||
Example:
|
||||
mkPackageOption pkgs "hello" { }
|
||||
|
@ -201,7 +201,7 @@ rec {
|
|||
|
||||
/* Extracts values of all "value" keys of the given list.
|
||||
|
||||
Type: getValues :: [ { value :: a } ] -> [a]
|
||||
Type: getValues :: [ { value :: a; } ] -> [a]
|
||||
|
||||
Example:
|
||||
getValues [ { value = 1; } { value = 2; } ] // => [ 1 2 ]
|
||||
|
@ -211,7 +211,7 @@ rec {
|
|||
|
||||
/* Extracts values of all "file" keys of the given list
|
||||
|
||||
Type: getFiles :: [ { file :: a } ] -> [a]
|
||||
Type: getFiles :: [ { file :: a; } ] -> [a]
|
||||
|
||||
Example:
|
||||
getFiles [ { file = "file1"; } { file = "file2"; } ] // => [ "file1" "file2" ]
|
||||
|
|
|
@ -128,6 +128,17 @@ rec {
|
|||
# List of input strings
|
||||
list: concatStringsSep sep (lib.imap1 f list);
|
||||
|
||||
/* Concatenate a list of strings, adding a newline at the end of each one.
|
||||
Defined as `concatMapStrings (s: s + "\n")`.
|
||||
|
||||
Type: concatLines :: [string] -> string
|
||||
|
||||
Example:
|
||||
concatLines [ "foo" "bar" ]
|
||||
=> "foo\nbar\n"
|
||||
*/
|
||||
concatLines = concatMapStrings (s: s + "\n");
|
||||
|
||||
/* Construct a Unix-style, colon-separated search path consisting of
|
||||
the given `subDir` appended to each of the given paths.
|
||||
|
||||
|
|
|
@ -153,6 +153,11 @@ runTests {
|
|||
expected = "a,b,c";
|
||||
};
|
||||
|
||||
testConcatLines = {
|
||||
expr = concatLines ["a" "b" "c"];
|
||||
expected = "a\nb\nc\n";
|
||||
};
|
||||
|
||||
testSplitStringsSimple = {
|
||||
expr = strings.splitString "." "a.b.c.d";
|
||||
expected = [ "a" "b" "c" "d" ];
|
||||
|
|
|
@ -4242,6 +4242,12 @@
|
|||
githubId = 103082;
|
||||
name = "Ed Brindley";
|
||||
};
|
||||
eliandoran = {
|
||||
email = "contact@eliandoran.me";
|
||||
name = "Elian Doran";
|
||||
github = "eliandoran";
|
||||
githubId = 21236836;
|
||||
};
|
||||
elizagamedev = {
|
||||
email = "eliza@eliza.sh";
|
||||
github = "elizagamedev";
|
||||
|
@ -5345,6 +5351,12 @@
|
|||
githubId = 60962839;
|
||||
name = "Mazen Zahr";
|
||||
};
|
||||
gkleen = {
|
||||
name = "Gregor Kleen";
|
||||
email = "xpnfr@bouncy.email";
|
||||
github = "gkleen";
|
||||
githubId = 20089782;
|
||||
};
|
||||
gleber = {
|
||||
email = "gleber.p@gmail.com";
|
||||
github = "gleber";
|
||||
|
|
|
@ -209,6 +209,18 @@
|
|||
to upgrade existing repositories.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>services.kubo.settings</literal> option is now no
|
||||
longer stateful. If you changed any of the options in
|
||||
<literal>services.kubo.settings</literal> in the past and then
|
||||
removed them from your NixOS configuration again, those
|
||||
changes are still in your Kubo configuration file but will now
|
||||
be reset to the default. If you’re unsure, you may want to
|
||||
make a backup of your configuration file (probably
|
||||
/var/lib/ipfs/config) and compare after the update.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The EC2 image module no longer fetches instance metadata in
|
||||
|
@ -697,6 +709,36 @@
|
|||
<link xlink:href="https://github.com/google/ngx_brotli/blob/master/README.md">here</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Updated recommended settings in
|
||||
<literal>services.nginx.recommendedGzipSettings</literal>:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Enables gzip compression for only certain proxied
|
||||
requests.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Allow checking and loading of precompressed files.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Updated gzip mime-types.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Increased the minimum length of a response that will be
|
||||
gzipped.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://garagehq.deuxfleurs.fr/">Garage</link>
|
||||
|
|
|
@ -60,6 +60,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `git-bug` has been updated to at least version 0.8.0, which includes backwards incompatible changes. The `git-bug-migration` package can be used to upgrade existing repositories.
|
||||
|
||||
- The `services.kubo.settings` option is now no longer stateful. If you changed any of the options in `services.kubo.settings` in the past and then removed them from your NixOS configuration again, those changes are still in your Kubo configuration file but will now be reset to the default. If you're unsure, you may want to make a backup of your configuration file (probably /var/lib/ipfs/config) and compare after the update.
|
||||
|
||||
- The EC2 image module no longer fetches instance metadata in stage-1. This results in a significantly smaller initramfs, since network drivers no longer need to be included, and faster boots, since metadata fetching can happen in parallel with startup of other services.
|
||||
This breaks services which rely on metadata being present by the time stage-2 is entered. Anything which reads EC2 metadata from `/etc/ec2-metadata` should now have an `after` dependency on `fetch-ec2-metadata.service`
|
||||
|
||||
|
@ -179,6 +181,12 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- A new option `recommendedBrotliSettings` has been added to `services.nginx`. Learn more about compression in Brotli format [here](https://github.com/google/ngx_brotli/blob/master/README.md).
|
||||
|
||||
- Updated recommended settings in `services.nginx.recommendedGzipSettings`:
|
||||
- Enables gzip compression for only certain proxied requests.
|
||||
- Allow checking and loading of precompressed files.
|
||||
- Updated gzip mime-types.
|
||||
- Increased the minimum length of a response that will be gzipped.
|
||||
|
||||
- [Garage](https://garagehq.deuxfleurs.fr/) version is based on [system.stateVersion](options.html#opt-system.stateVersion), existing installations will keep using version 0.7. New installations will use version 0.8. In order to upgrade a Garage cluster, please follow [upstream instructions](https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/) and force [services.garage.package](options.html#opt-services.garage.package) or upgrade accordingly [system.stateVersion](options.html#opt-system.stateVersion).
|
||||
|
||||
- `hip` has been separated into `hip`, `hip-common` and `hipcc`.
|
||||
|
|
|
@ -226,9 +226,26 @@ in
|
|||
|
||||
# Auto-migrate on first run or if the package has changed
|
||||
versionFile="${cfg.dataDir}/src-version"
|
||||
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkg} ]]; then
|
||||
version=$(cat "$versionFile" 2>/dev/null || echo 0)
|
||||
|
||||
if [[ $version != ${pkg.version} ]]; then
|
||||
${pkg}/bin/paperless-ngx migrate
|
||||
echo ${pkg} > "$versionFile"
|
||||
|
||||
# Parse old version string format for backwards compatibility
|
||||
version=$(echo "$version" | grep -ohP '[^-]+$')
|
||||
|
||||
versionLessThan() {
|
||||
target=$1
|
||||
[[ $({ echo "$version"; echo "$target"; } | sort -V | head -1) != "$target" ]]
|
||||
}
|
||||
|
||||
if versionLessThan 1.12.0; then
|
||||
# Reindex documents as mentioned in https://github.com/paperless-ngx/paperless-ngx/releases/tag/v1.12.1
|
||||
echo "Reindexing documents, to allow searching old comments. Required after the 1.12.x upgrade."
|
||||
${pkg}/bin/paperless-ngx document_index reindex
|
||||
fi
|
||||
|
||||
echo ${pkg.version} > "$versionFile"
|
||||
fi
|
||||
''
|
||||
+ optionalString (cfg.passwordFile != null) ''
|
||||
|
|
|
@ -5,6 +5,23 @@ let
|
|||
|
||||
settingsFormat = pkgs.formats.json {};
|
||||
|
||||
rawDefaultConfig = lib.importJSON (pkgs.runCommand "kubo-default-config" {
|
||||
nativeBuildInputs = [ cfg.package ];
|
||||
} ''
|
||||
export IPFS_PATH="$TMPDIR"
|
||||
ipfs init --empty-repo --profile=${profile}
|
||||
ipfs --offline config show > "$out"
|
||||
'');
|
||||
|
||||
# Remove the PeerID (an attribute of "Identity") of the temporary Kubo repo.
|
||||
# The "Pinning" section contains the "RemoteServices" section, which would prevent
|
||||
# the daemon from starting as that setting can't be changed via ipfs config replace.
|
||||
defaultConfig = builtins.removeAttrs rawDefaultConfig [ "Identity" "Pinning" ];
|
||||
|
||||
customizedConfig = lib.recursiveUpdate defaultConfig cfg.settings;
|
||||
|
||||
configFile = settingsFormat.generate "kubo-config.json" customizedConfig;
|
||||
|
||||
kuboFlags = utils.escapeSystemdExecArgs (
|
||||
optional cfg.autoMount "--mount" ++
|
||||
optional cfg.enableGC "--enable-gc" ++
|
||||
|
@ -161,9 +178,9 @@ in
|
|||
};
|
||||
};
|
||||
description = lib.mdDoc ''
|
||||
Attrset of daemon configuration to set using {command}`ipfs config`, every time the daemon starts.
|
||||
Attrset of daemon configuration.
|
||||
See [https://github.com/ipfs/kubo/blob/master/docs/config.md](https://github.com/ipfs/kubo/blob/master/docs/config.md) for reference.
|
||||
Keep in mind that this configuration is stateful; i.e., unsetting anything in here does not reset the value to the default!
|
||||
You can't set `Identity` or `Pinning`.
|
||||
'';
|
||||
default = { };
|
||||
example = {
|
||||
|
@ -211,6 +228,21 @@ in
|
|||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = !builtins.hasAttr "Identity" cfg.settings;
|
||||
message = ''
|
||||
You can't set services.kubo.settings.Identity because the ``config replace`` subcommand used at startup does not support modifying any of the Identity settings.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = !((builtins.hasAttr "Pinning" cfg.settings) && (builtins.hasAttr "RemoteServices" cfg.settings.Pinning));
|
||||
message = ''
|
||||
You can't set services.kubo.settings.Pinning.RemoteServices because the ``config replace`` subcommand used at startup does not work with it.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
environment.variables.IPFS_PATH = cfg.dataDir;
|
||||
|
||||
|
@ -262,21 +294,26 @@ in
|
|||
|
||||
preStart = ''
|
||||
if [[ ! -f "$IPFS_PATH/config" ]]; then
|
||||
ipfs init ${optionalString cfg.emptyRepo "-e"} --profile=${profile}
|
||||
ipfs init ${optionalString cfg.emptyRepo "-e"}
|
||||
else
|
||||
# After an unclean shutdown this file may exist which will cause the config command to attempt to talk to the daemon. This will hang forever if systemd is holding our sockets open.
|
||||
rm -vf "$IPFS_PATH/api"
|
||||
'' + optionalString cfg.autoMigrate ''
|
||||
${pkgs.kubo-migrator}/bin/fs-repo-migrations -to '${cfg.package.repoVersion}' -y
|
||||
'' + ''
|
||||
ipfs --offline config profile apply ${profile} >/dev/null
|
||||
fi
|
||||
'' + ''
|
||||
ipfs --offline config show \
|
||||
| ${pkgs.jq}/bin/jq '. * $settings' --argjson settings ${
|
||||
escapeShellArg (builtins.toJSON cfg.settings)
|
||||
} \
|
||||
| ipfs --offline config replace -
|
||||
ipfs --offline config show |
|
||||
${pkgs.jq}/bin/jq -s '.[0].Pinning as $Pinning | .[0].Identity as $Identity | .[1] + {$Identity,$Pinning}' - '${configFile}' |
|
||||
|
||||
# This command automatically injects the private key and other secrets from
|
||||
# the old config file back into the new config file.
|
||||
# Unfortunately, it doesn't keep the original `Identity.PeerID`,
|
||||
# so we need `ipfs config show` and jq above.
|
||||
# See https://github.com/ipfs/kubo/issues/8993 for progress on fixing this problem.
|
||||
# Kubo also wants a specific version of the original "Pinning.RemoteServices"
|
||||
# section (redacted by `ipfs config show`), such that that section doesn't
|
||||
# change when the changes are applied. Whyyyyyy.....
|
||||
ipfs --offline config replace -
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${kuboFlags}" ];
|
||||
|
|
|
@ -516,7 +516,6 @@ in {
|
|||
${optionalString (!isNull defaults) ''
|
||||
defaults {
|
||||
${indentLines 2 defaults}
|
||||
multipath_dir ${cfg.package}/lib/multipath
|
||||
}
|
||||
''}
|
||||
${optionalString (!isNull blacklist) ''
|
||||
|
|
|
@ -185,7 +185,7 @@ in
|
|||
ProtectSystem = "full";
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateDevices = false;
|
||||
PrivateUsers = false;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = false;
|
||||
|
@ -203,7 +203,7 @@ in
|
|||
PrivateMounts = true;
|
||||
# System Call Filtering
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "@clock" "@setuid" "capset" "chown" ];
|
||||
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "@clock" "@setuid" "capset" "chown" ] ++ lib.optional pkgs.stdenv.hostPlatform.isAarch64 "fchownat";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -19,6 +19,15 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
dataPermissions = mkOption {
|
||||
type = types.str;
|
||||
default = "0750";
|
||||
example = "0755";
|
||||
description = lib.mdDoc ''
|
||||
Unix Permissions in octal on the rtorrent directory.
|
||||
'';
|
||||
};
|
||||
|
||||
downloadDir = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.dataDir}/download";
|
||||
|
@ -205,7 +214,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
tmpfiles.rules = [ "d '${cfg.dataDir}' 0750 ${cfg.user} ${cfg.group} -" ];
|
||||
tmpfiles.rules = [ "d '${cfg.dataDir}' ${cfg.dataPermissions} ${cfg.user} ${cfg.group} -" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -184,25 +184,17 @@ let
|
|||
brotli_window 512k;
|
||||
brotli_min_length 256;
|
||||
brotli_types ${lib.concatStringsSep " " compressMimeTypes};
|
||||
brotli_buffers 32 8k;
|
||||
''}
|
||||
|
||||
# https://docs.nginx.com/nginx/admin-guide/web-server/compression/
|
||||
${optionalString cfg.recommendedGzipSettings ''
|
||||
gzip on;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 5;
|
||||
gzip_types
|
||||
application/atom+xml
|
||||
application/javascript
|
||||
application/json
|
||||
application/xml
|
||||
application/xml+rss
|
||||
image/svg+xml
|
||||
text/css
|
||||
text/javascript
|
||||
text/plain
|
||||
text/xml;
|
||||
gzip_static on;
|
||||
gzip_vary on;
|
||||
gzip_comp_level 5;
|
||||
gzip_min_length 256;
|
||||
gzip_proxied expired no-cache no-store private auth;
|
||||
gzip_types ${lib.concatStringsSep " " compressMimeTypes};
|
||||
''}
|
||||
|
||||
${optionalString cfg.recommendedProxySettings ''
|
||||
|
|
|
@ -146,6 +146,9 @@ in
|
|||
systemd.services.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
|
||||
systemd.paths.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
|
||||
|
||||
# Prevent Plymouth taking over the screen during system updates.
|
||||
systemd.services.plymouth-start.restartIfChanged = false;
|
||||
|
||||
boot.initrd.systemd = {
|
||||
extraBin.plymouth = "${plymouth}/bin/plymouth"; # for the recovery shell
|
||||
storePaths = [
|
||||
|
|
|
@ -126,6 +126,7 @@ in {
|
|||
cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {};
|
||||
charliecloud = handleTest ./charliecloud.nix {};
|
||||
chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {};
|
||||
chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {};
|
||||
cinnamon = handleTest ./cinnamon.nix {};
|
||||
cjdns = handleTest ./cjdns.nix {};
|
||||
clickhouse = handleTest ./clickhouse.nix {};
|
||||
|
|
28
nixos/tests/chrony-ptp.nix
Normal file
28
nixos/tests/chrony-ptp.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
import ./make-test-python.nix ({ lib, ... }:
|
||||
{
|
||||
name = "chrony-ptp";
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ gkleen ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
qemuGuest = { lib, ... }: {
|
||||
boot.kernelModules = [ "ptp_kvm" ];
|
||||
|
||||
services.chrony = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
refclock PHC /dev/ptp_kvm poll 2 dpoll -2 offset 0 stratum 3
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
qemuGuest.wait_for_unit('multi-user.target')
|
||||
qemuGuest.succeed('systemctl is-active chronyd.service')
|
||||
'';
|
||||
})
|
|
@ -22,9 +22,15 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"L /var/lib/grafana/dashboards/test.json 0700 grafana grafana - ${pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json)}"
|
||||
];
|
||||
system.activationScripts.setup-grafana = {
|
||||
deps = [ "users" ];
|
||||
text = ''
|
||||
mkdir -p /var/lib/grafana/dashboards
|
||||
chown -R grafana:grafana /var/lib/grafana
|
||||
chmod 0700 -R /var/lib/grafana/dashboards
|
||||
cp ${pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json)} /var/lib/grafana/dashboards/
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
extraNodeConfs = {
|
||||
|
|
68
pkgs/applications/audio/cavalier/default.nix
Normal file
68
pkgs/applications/audio/cavalier/default.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gobject-introspection
|
||||
, glib
|
||||
, gtk4
|
||||
, librsvg
|
||||
, libadwaita
|
||||
, wrapGAppsHook4
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, cava
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "cavalier";
|
||||
version = "2023.01.29";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fsobolev";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-6bvi73cFQHtIyD4d4+mqje0qkmG4wkahZ2ohda5RvRQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
wrapGAppsHook4
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk4
|
||||
librsvg
|
||||
libadwaita
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pygobject3
|
||||
];
|
||||
|
||||
# Prevent double wrapping
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=(
|
||||
"''${gappsWrapperArgs[@]}"
|
||||
--prefix PATH ":" "${lib.makeBinPath [ cava ]}"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Audio visualizer based on CAVA with customizable LibAdwaita interface";
|
||||
homepage = "https://github.com/fsobolev/cavalier";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ zendo ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "praat";
|
||||
version = "6.3.04";
|
||||
version = "6.3.05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praat";
|
||||
repo = "praat";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-C5wDiqoS6dF8VGTqiQbr1obtjpsiIa2bmtF6qGYc8XQ=";
|
||||
sha256 = "sha256-0e225cmP0CSYjRYNEXi4Oqq9o8XR2N7bNS1X5x+mQKw=";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
|
|
|
@ -46,6 +46,7 @@ rustPlatform.buildRustPackage rec {
|
|||
meta = with lib; {
|
||||
description = "A command driven spotify player";
|
||||
homepage = "https://github.com/aome510/spotify-player";
|
||||
mainProgram = "spotify_player";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dit7ya ];
|
||||
};
|
||||
|
|
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||
tar xfvz $src -C $out
|
||||
|
||||
# Patch binaries.
|
||||
interpreter=$(echo ${stdenv.cc.libc}/lib/ld-linux*.so.2)
|
||||
interpreter="$(cat $NIX_BINTOOLS/nix-support/dynamic-linker)"
|
||||
libCairo=$out/eclipse/libcairo-swt.so
|
||||
patchelf --set-interpreter $interpreter $out/eclipse/eclipse
|
||||
[ -f $libCairo ] && patchelf --set-rpath ${lib.makeLibraryPath [ freetype fontconfig libX11 libXrender zlib ]} $libCairo
|
||||
|
@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://www.eclipse.org/";
|
||||
inherit description;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -20,6 +20,11 @@ let
|
|||
buildmonth = "11"; #sometimes differs from release month
|
||||
timestamp = "${year}${buildmonth}231800";
|
||||
gtk = gtk3;
|
||||
arch = if stdenv.hostPlatform.isx86_64 then
|
||||
"x86_64"
|
||||
else if stdenv.hostPlatform.isAarch64 then
|
||||
"aarch64"
|
||||
else throw "don't know what platform suffix for ${stdenv.hostPlatform.system} will be";
|
||||
in rec {
|
||||
|
||||
buildEclipse = callPackage ./build-eclipse.nix {
|
||||
|
@ -35,8 +40,11 @@ in rec {
|
|||
description = "Eclipse IDE for C/C++ Developers";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-nqqY4dewq1bjeNoZdWvOez+cBti+f9qXshx1eqJ2lB7sGJva5mcR9e+CZTVD0+EtVJ/U+8viJ+E1Veht1ZnqOw==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-nqqY4dewq1bjeNoZdWvOez+cBti+f9qXshx1eqJ2lB7sGJva5mcR9e+CZTVD0+EtVJ/U+8viJ+E1Veht1ZnqOw==";
|
||||
aarch64 = "sha512-kmeNH6F8oK72LtrYtiJVLKhy6Q1HwnU+Bh+mpXdXSrfj9KtqzHQkJ0kTnnJkGYLtpi+zyXDwsxzyjh6pPyDRJA==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -47,8 +55,11 @@ in rec {
|
|||
description = "Eclipse Modeling Tools";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-WU2BJt6GL3ug3yOUOd5y6/AbGLcr2MkCg+QJiNIMkSXvoU9TF6R6oimoGVc3kPZmazRy6WYoes55T3bWrHnO8Q==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-WU2BJt6GL3ug3yOUOd5y6/AbGLcr2MkCg+QJiNIMkSXvoU9TF6R6oimoGVc3kPZmazRy6WYoes55T3bWrHnO8Q==";
|
||||
aarch64 = "sha512-F63f2o9u/p7hhrxI+Eu6NiL4sPccIYw876Nnj8mfSZ7bozs1OVNWftZj+xbdLLbr0bVz3WKnt4BHzcLUA6QG7g==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -59,15 +70,18 @@ in rec {
|
|||
description = "Eclipse Platform ${year}-${month}";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-hmdWGteMDt4HhYq+k9twuftalpTzHtGnVVLphZcpJcw+6vJfersciDMaeLRqbCAeFbzJdgzjYo76bpP6FubySw==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-hmdWGteMDt4HhYq+k9twuftalpTzHtGnVVLphZcpJcw+6vJfersciDMaeLRqbCAeFbzJdgzjYo76bpP6FubySw==";
|
||||
aarch64 = "sha512-BvUkOdCsjwtscPeuBXG7ZpitOr8EQK5JL8nSGpw/RhhBEFz46nsc7W18l0aYjdzRHh2ie55RylS2PEQELkS/hQ==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
### Eclipse Scala SDK
|
||||
|
||||
eclipse-scala-sdk =
|
||||
buildEclipse.override { jdk = jdk8; gtk = gtk2; } {
|
||||
(buildEclipse.override { jdk = jdk8; gtk = gtk2; } {
|
||||
name = "eclipse-scala-sdk-4.7.0";
|
||||
description = "Eclipse IDE for Scala Developers";
|
||||
src =
|
||||
|
@ -75,7 +89,10 @@ in rec {
|
|||
url = "https://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz";
|
||||
sha256 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya";
|
||||
};
|
||||
};
|
||||
}).overrideAttrs(oa: {
|
||||
# Only download for x86_64
|
||||
meta.platforms = [ "x86_64-linux" ];
|
||||
});
|
||||
|
||||
### Eclipse SDK
|
||||
|
||||
|
@ -84,8 +101,11 @@ in rec {
|
|||
description = "Eclipse ${year}-${month} Classic";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-yH4/K9sBLCUc2EVYwPL0dLql/S3AfaV6fFh7ewAuIb7yHtcsOWMqy/h1hZUlFFg2ykfwDWDDHEK7qfTI0hM7BQ==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-hmdWGteMDt4HhYq+k9twuftalpTzHtGnVVLphZcpJcw+6vJfersciDMaeLRqbCAeFbzJdgzjYo76bpP6FubySw==";
|
||||
aarch64 = "sha512-UYp8t7r2RrN3rKN180cWpJyhyO5LVXL8LrTRKJzttUgB7kM1nroTEI3DesBu+Hw4Ynl7eLiBK397rqcpOAfxJw==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -96,8 +116,11 @@ in rec {
|
|||
description = "Eclipse IDE for Java Developers";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-71mXYVLVnyDjYZbJGBKc0aDPq8sbTxlVZRQq7GlSUDv2fsoNYWYgqYfK7RSED5yoasCfs3HUYr7QowRAKJOnfQ==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-71mXYVLVnyDjYZbJGBKc0aDPq8sbTxlVZRQq7GlSUDv2fsoNYWYgqYfK7RSED5yoasCfs3HUYr7QowRAKJOnfQ==";
|
||||
aarch64 = "sha512-KOQ6BZuQJeVpbMQVxF67M3F/KXMmDhmZQBNq0yWM+/8+d0DiBRkwJtqPYsnTqrax8FSunn2yy+CzlfyHSoNvpg==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -108,8 +131,11 @@ in rec {
|
|||
description = "Eclipse IDE for Enterprise Java and Web Developers";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-55i9YVOa+vKHt72vHIqy9BmKMkg1KaLqMStjTtfaLTH5yP0ei+NTP2XL8IBHOgu0hCEJqYXTq+3I3RQy476etQ==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-55i9YVOa+vKHt72vHIqy9BmKMkg1KaLqMStjTtfaLTH5yP0ei+NTP2XL8IBHOgu0hCEJqYXTq+3I3RQy476etQ==";
|
||||
aarch64 = "sha512-iaoTB/Pinoj1weiGBBv0plQ4jGNdFs2JiBG7S/icUoAX5O6jTGAgJvOwh7Nzn+0N6YL6+HPWaV24a6lM43y8Og==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -120,8 +146,11 @@ in rec {
|
|||
description = "Eclipse IDE for Eclipse Committers and Eclipse Platform Plugin Developers";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha512-zGeynifM0dn1214HEVS7OVtv7xa8asjLzOXh5riJK8c/DWvNrRduHn6o6PGnxYOYVIfC9BzNRAjG1STkWu9j+Q==";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha512-zGeynifM0dn1214HEVS7OVtv7xa8asjLzOXh5riJK8c/DWvNrRduHn6o6PGnxYOYVIfC9BzNRAjG1STkWu9j+Q==";
|
||||
aarch64 = "sha512-B866dFJcsTkq+h0RZ61CxXE83TWvCf8ZAbGeIC385PpPR3i/gZnRjN2oRrDP22CNR5XXA+PfXKxqvERhJB5ebA==";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -132,8 +161,11 @@ in rec {
|
|||
description = "Eclipse IDE for RCP and RAP Developers";
|
||||
src =
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||
hash = "sha256-ml76ix0fHuR0KqYWQuTftEBAgq7iaOIyvr8V6WhuzeU=";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-ml76ix0fHuR0KqYWQuTftEBAgq7iaOIyvr8V6WhuzeU=";
|
||||
aarch64 = "sha256-sMB6a3f0fiL6ZentIjJTMi59ZOh7dizXrkMQuIRbds0=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -546,8 +546,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "markdown-mermaid";
|
||||
publisher = "bierner";
|
||||
version = "1.14.2";
|
||||
sha256 = "RZyAY2d3imnLhm1mLur+wTx/quxrNWYR9PCjC+co1FE=";
|
||||
version = "1.17.4";
|
||||
sha256 = "sha256-jJnALJJc8G4/0L7WMmKSZ7I+7Usmyj+WhufBdSzcEK0=";
|
||||
};
|
||||
meta = with lib; {
|
||||
license = licenses.mit;
|
||||
|
@ -624,8 +624,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "catppuccin-vsc";
|
||||
publisher = "catppuccin";
|
||||
version = "2.2.1";
|
||||
sha256 = "sha256-vS+hz3RxG71F5QoO4LQOgOgFh6GQ8QX/+4mMD0KC1kA=";
|
||||
version = "2.5.0";
|
||||
sha256 = "sha256-+dM6MKIjzPdYoRe1DYJ08A+nHHlkTsm+I6CYmnmSRj4=";
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Soothing pastel theme for VSCode";
|
||||
|
@ -1351,8 +1351,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "Go";
|
||||
publisher = "golang";
|
||||
version = "0.33.1";
|
||||
sha256 = "0dsjxs04dchw1dbzf45ryhxsb5xhalqwy40xw6cngxkp69lhf91g";
|
||||
version = "0.37.1";
|
||||
sha256 = "sha256-xOiMVUkcgwkMjYfNzFB3Qhfg26jf5nssaTfw0U+sAX0=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
@ -1504,8 +1504,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "latex-workshop";
|
||||
publisher = "James-Yu";
|
||||
version = "9.4.4";
|
||||
sha256 = "sha256-EA3OABn80GciNecXwLcorWP7K3+jI+wgujpmvvFcNOA=";
|
||||
version = "9.5.0";
|
||||
sha256 = "sha256-Av4RYnCh0gXQ+uRByl3Can+hvYD8Pc3x0Ec2jDcP6Fk=";
|
||||
};
|
||||
meta = with lib; {
|
||||
changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";
|
||||
|
@ -1520,8 +1520,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "gruvbox";
|
||||
publisher = "jdinhlife";
|
||||
version = "1.5.1";
|
||||
sha256 = "sha256-0ghB0E+Wa9W2bNFFiH2Q3pUJ9HV5+JfKohX4cRyevC8=";
|
||||
version = "1.8.0";
|
||||
sha256 = "sha256-P4FbbcRcKWbnC86TSnzQaGn2gHWkDM9I4hj4GiHNPS4=";
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Gruvbox Theme";
|
||||
|
@ -1790,8 +1790,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "marp-vscode";
|
||||
publisher = "marp-team";
|
||||
version = "1.5.0";
|
||||
sha256 = "0wqsj8rp58vl3nafkjvyw394h5j4jd7d24ra6hkvfpnlzrgv4yhs";
|
||||
version = "2.4.1";
|
||||
sha256 = "sha256-h59OmFreja9IdFzH2zZaXXh+pnODirL2fPkUmvAgDyA=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
@ -2941,8 +2941,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "vim";
|
||||
publisher = "vscodevim";
|
||||
version = "1.24.1";
|
||||
sha256 = "00gq6mqqwqipc6d7di2x9mmi1lya11vhkkww9563avchavczb9sv";
|
||||
version = "1.24.3";
|
||||
sha256 = "sha256-4fPoRBttWVE8Z3e4O6Yrkf04iOu9ElspQFP57HOPVAk=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
, curl
|
||||
, coreutils
|
||||
, gnused
|
||||
, jq
|
||||
, nix
|
||||
}:
|
||||
|
||||
|
@ -19,8 +20,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||
mktplcRef = {
|
||||
name = "python";
|
||||
publisher = "ms-python";
|
||||
version = "2022.19.13351014";
|
||||
sha256 = "1562f4b0v76p1wfbljc5zydq7aq7k5hshxzm2v1whb77cjskiw8s";
|
||||
version = "2023.1.10091012";
|
||||
sha256 = "sha256-JosFv6ngJmw1XRILwTZMVxlGIdWFLFQjj4olfnVwAIM=";
|
||||
};
|
||||
|
||||
buildInputs = [ icu ];
|
||||
|
@ -29,7 +30,6 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
debugpy
|
||||
isort
|
||||
jedi-language-server
|
||||
];
|
||||
|
||||
|
@ -57,14 +57,16 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||
curl
|
||||
coreutils
|
||||
gnused
|
||||
jq
|
||||
nix
|
||||
]}
|
||||
|
||||
api=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
|
||||
-H 'accept: application/json;api-version=3.0-preview.1' \
|
||||
-H 'content-type: application/json' \
|
||||
--data-raw '{"filters":[{"criteria":[{"filterType":7,"value":"${mktplcRef.publisher}.${mktplcRef.name}"}]}],"flags":512}')
|
||||
version=$(echo $api | sed -n -E 's|^.*"version":"([0-9.]+)".*$|\1|p')
|
||||
--data-raw '{"filters":[{"criteria":[{"filterType":7,"value":"${mktplcRef.publisher}.${mktplcRef.name}"}]}],"flags":16}')
|
||||
# Find the latest version compatible with stable vscode version
|
||||
version=$(echo $api | jq -r '.results[0].extensions[0].versions | map(select(has("properties"))) | map(select(.properties | map(select(.key == "Microsoft.VisualStudio.Code.Engine")) | .[0].value | test("\\^[0-9.]+$"))) | .[0].version')
|
||||
|
||||
if [[ $version != ${mktplcRef.version} ]]; then
|
||||
tmp=$(mktemp)
|
||||
|
|
|
@ -5,8 +5,15 @@
|
|||
, gitUpdater
|
||||
, cmake
|
||||
, python3
|
||||
, withDynarec ? stdenv.hostPlatform.isAarch64
|
||||
, runCommand
|
||||
, hello-x86_64
|
||||
, box64
|
||||
}:
|
||||
|
||||
# Currently only supported on ARM
|
||||
assert withDynarec -> stdenv.hostPlatform.isAarch64;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "box64";
|
||||
version = "0.2.0";
|
||||
|
@ -33,49 +40,57 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DNOGIT=1"
|
||||
] ++ (
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then
|
||||
[
|
||||
"-DARM_DYNAREC=ON"
|
||||
]
|
||||
else [
|
||||
"-DLD80BITS=1"
|
||||
"-DNOALIGN=1"
|
||||
]
|
||||
);
|
||||
"-DNOGIT=ON"
|
||||
"-DARM_DYNAREC=${if withDynarec then "ON" else "OFF"}"
|
||||
"-DRV64=${if stdenv.hostPlatform.isRiscV64 then "ON" else "OFF"}"
|
||||
"-DPPC64LE=${if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then "ON" else "OFF"}"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isx86_64 [
|
||||
"-DLD80BITS=ON"
|
||||
"-DNOALIGN=ON"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm 0755 box64 "$out/bin/box64"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
ctest
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
echo Checking if it works
|
||||
$out/bin/box64 -v
|
||||
|
||||
echo Checking if Dynarec option was respected
|
||||
$out/bin/box64 -v | grep ${lib.optionalString (!withDynarec) "-v"} Dynarec
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
passthru = {
|
||||
updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
tests.hello = runCommand "box64-test-hello" {
|
||||
nativeBuildInputs = [ box64 hello-x86_64 ];
|
||||
} ''
|
||||
# There is no actual "Hello, world!" with any of the logging enabled, and with all logging disabled it's hard to
|
||||
# tell what problems the emulator has run into.
|
||||
BOX64_NOBANNER=0 BOX64_LOG=1 box64 ${hello-x86_64}/bin/hello --version | tee $out
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://box86.org/";
|
||||
description = "Lets you run x86_64 Linux programs on non-x86_64 Linux systems";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ gador ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
maintainers = with maintainers; [ gador OPNA2608 ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "riscv64-linux" "powerpc64le-linux" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,13 +1,8 @@
|
|||
{ mkDerivation
|
||||
, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nix-update-script
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qttools
|
||||
, autoreconfHook
|
||||
, gitUpdater
|
||||
, cmake
|
||||
, pkg-config
|
||||
, ffmpeg
|
||||
|
@ -16,41 +11,63 @@
|
|||
, libX11
|
||||
, libXrandr
|
||||
, sndio
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qttools
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "punes";
|
||||
version = "0.109";
|
||||
version = "0.110";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "punesemu";
|
||||
repo = "puNES";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6aRtR/d8nhzmpN9QKSZ62jye7qjfO+FpRMCXkX4Yubk=";
|
||||
sha256 = "sha256-+hL168r40aYUjyLbWFXWk9G2srrrG1TH1gLYMliHftU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace configure.ac \
|
||||
--replace '`$PKG_CONFIG --variable=host_bins Qt5Core`/lrelease' '${qttools.dev}/bin/lrelease'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook cmake pkg-config qttools ];
|
||||
|
||||
buildInputs = [ ffmpeg qtbase qtsvg libGLU ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libX11 libXrandr ]
|
||||
++ lib.optionals stdenv.hostPlatform.isBSD [ sndio ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--prefix=${placeholder "out"}"
|
||||
"--without-opengl-nvidia-cg"
|
||||
"--with-ffmpeg"
|
||||
patches = [
|
||||
# Fixes compilation on aarch64
|
||||
# Remove when version > 0.110
|
||||
(fetchpatch {
|
||||
url = "https://github.com/punesemu/puNES/commit/90dd5bc90412bbd199c2716f67a24aa88b24d80f.patch";
|
||||
hash = "sha256-/KNpTds4qjwyaTUebWWPlVXfuxVh6M4zOInxUfYztJg=";
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg
|
||||
libGLU
|
||||
qtbase
|
||||
qtsvg
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib
|
||||
libX11
|
||||
libXrandr
|
||||
] ++ lib.optionals stdenv.hostPlatform.isBSD [
|
||||
sndio
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_GIT_INFO=OFF"
|
||||
"-DENABLE_RELEASE=ON"
|
||||
"-DENABLE_FFMPEG=ON"
|
||||
"-DENABLE_OPENGL=ON"
|
||||
"-DENABLE_QT6_LIBS=${if lib.versionAtLeast qtbase.version "6.0" then "ON" else "OFF"}"
|
||||
];
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Qt-based Nintendo Entertainment System emulator and NSF/NSFe Music Player";
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
|
||||
let
|
||||
# Keep these separate so the update script can regex them
|
||||
rpcs3GitVersion = "14599-d3183708e";
|
||||
rpcs3Version = "0.0.26-14599-d3183708e";
|
||||
rpcs3Revision = "d3183708e81ba2707d39829cc1c0cb226dd9e50e";
|
||||
rpcs3Sha256 = "0lx9v614r9afmfknw9qdwawwayg3z0fj6chbhnfghm2j2zgqqbpi";
|
||||
rpcs3GitVersion = "14637-c471120a8";
|
||||
rpcs3Version = "0.0.26-14637-c471120a8";
|
||||
rpcs3Revision = "c471120a80ec6f12cd4489e1a9be073d7d9c96f2";
|
||||
rpcs3Sha256 = "1fl7zarxbjaz6mi3lqv55kdwpvjfz8d02qfl0655zihwm6zzdny5";
|
||||
|
||||
ittapi = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
|
|
|
@ -9,16 +9,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "felix";
|
||||
version = "2.2.3";
|
||||
version = "2.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kyoheiu";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VQTZj2BCdV2TnXrYRaJqrf9sR35zsojmeoe7t+I3kyQ=";
|
||||
sha256 = "sha256-KuEuWZSxh04NefkkJBYClnKs+UP7VwlyPElACjNZ5k8=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-jH2BaPiGanBOlOU7JQZ0c0ObCaVURpjvmx2m92Fbdm4=";
|
||||
cargoSha256 = "sha256-jYDe/3PDGCweNgHb+8i9az7J7BATlRjd3yha0nOc/gc=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
, stdenv
|
||||
, fetchurl
|
||||
, appimageTools
|
||||
, appimage-run
|
||||
, makeWrapper
|
||||
, electron
|
||||
, git
|
||||
}:
|
||||
|
||||
|
@ -30,30 +30,23 @@ stdenv.mkDerivation rec {
|
|||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/applications
|
||||
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/${pname}/resources/app/icons
|
||||
cp -a ${appimageContents}/resources/app/icons/logseq.png $out/share/${pname}/resources/app/icons/logseq.png
|
||||
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/${pname}.desktop
|
||||
|
||||
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
|
||||
chmod +w -R $out/share/${pname}/resources/app/node_modules/dugite/git
|
||||
chmod +w $out/share/${pname}/resources/app/node_modules/dugite
|
||||
rm -rf $out/share/${pname}/resources/app/node_modules/dugite/git
|
||||
chmod -w $out/share/${pname}/resources/app/node_modules/dugite
|
||||
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
||||
makeWrapper ${appimage-run}/bin/appimage-run $out/bin/logseq \
|
||||
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
||||
--add-flags ${src}
|
||||
|
||||
# Make the desktop entry run the app using appimage-run
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace Exec=Logseq Exec=${pname} \
|
||||
--replace Exec=Logseq "Exec=$out/bin/logseq" \
|
||||
--replace Icon=Logseq Icon=$out/share/${pname}/resources/app/icons/logseq.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
||||
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
||||
--add-flags $out/share/${pname}/resources/app
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -258,8 +258,6 @@ let
|
|||
host_toolchain = "//build/toolchain/linux/unbundle:default";
|
||||
# Don't build against a sysroot image downloaded from Cloud Storage:
|
||||
use_sysroot = false;
|
||||
# The default value is hardcoded instead of using pkg-config:
|
||||
system_wayland_scanner_path = "${wayland.bin}/bin/wayland-scanner";
|
||||
# Because we use a different toolchain / compiler version:
|
||||
treat_warnings_as_errors = false;
|
||||
# We aren't compiling with Chrome's Clang (would enable Chrome-specific
|
||||
|
@ -293,11 +291,14 @@ let
|
|||
chrome_pgo_phase = 0;
|
||||
clang_base_path = "${llvmPackages.clang}";
|
||||
use_qt = false;
|
||||
} // lib.optionalAttrs (!chromiumVersionAtLeast "110") {
|
||||
# The default has changed to false. We'll build with libwayland from
|
||||
# Nixpkgs for now but might want to eventually use the bundled libwayland
|
||||
# as well to avoid incompatibilities (if this continues to be a problem
|
||||
# from time to time):
|
||||
use_system_libwayland = true;
|
||||
# The default value is hardcoded instead of using pkg-config:
|
||||
system_wayland_scanner_path = "${wayland.bin}/bin/wayland-scanner";
|
||||
} // lib.optionalAttrs proprietaryCodecs {
|
||||
# enable support for the H.264 codec
|
||||
proprietary_codecs = true;
|
||||
|
|
|
@ -41,27 +41,30 @@
|
|||
, at-spi2-core
|
||||
, autoPatchelfHook
|
||||
, wrapGAppsHook
|
||||
, qt5
|
||||
, proprietaryCodecs ? false
|
||||
, vivaldi-ffmpeg-codecs
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
mirror = "https://get.geo.opera.com/pub/opera/desktop";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opera";
|
||||
version = "90.0.4480.84";
|
||||
version = "94.0.4606.54";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
|
||||
sha256 = "sha256-GMcBTY3Ab8lYWv1IPdCeKPZwbY19NPHYmK7ATzvq0cg=";
|
||||
hash = "sha256-IMWIkJHKaE7n5Rll4ZExE6PQB9a2fz0hLx4vckbROgk=";
|
||||
};
|
||||
|
||||
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
|
||||
unpackPhase = "dpkg-deb -x $src .";
|
||||
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
autoPatchelfHook
|
||||
wrapGAppsHook
|
||||
qt5.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -115,16 +118,22 @@ in stdenv.mkDerivation rec {
|
|||
# "Illegal instruction (core dumped)"
|
||||
gtk3
|
||||
gtk4
|
||||
] ++ lib.optional proprietaryCodecs [
|
||||
vivaldi-ffmpeg-codecs
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r . $out/
|
||||
mkdir -p $out/bin
|
||||
cp -r usr $out
|
||||
cp -r usr/share $out/share
|
||||
ln -s $out/usr/bin/opera $out/bin/opera
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.opera.com";
|
||||
description = "Web browser";
|
||||
description = "Faster, safer and smarter web browser";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "clusterctl";
|
||||
version = "1.3.2";
|
||||
version = "1.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "cluster-api";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NmTMpTaekUTSMnIFn5e1DnuHehJLM5YToY+QK0hnvXk=";
|
||||
hash = "sha256-O/InVEWSqdcfqchVMYetZ3RCOxgEjQ9XvnKpOIjV2zE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-0C3tQgmu7YQgHyXh8lIYTrLFksCvFQp0uvIhQRuqbYM=";
|
||||
vendorHash = "sha256-0C3tQgmu7YQgHyXh8lIYTrLFksCvFQp0uvIhQRuqbYM=";
|
||||
|
||||
subPackages = [ "cmd/clusterctl" ];
|
||||
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "glooctl";
|
||||
version = "1.13.3";
|
||||
version = "1.13.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solo-io";
|
||||
repo = "gloo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nxClmCY/joLJw87IQx9DvAZLv5LgOLGlp9Unh37OKgg=";
|
||||
hash = "sha256-eyfMWum1fZUq4iF77Q+0FP2Rdq2P+xK0au3ytN8MS+k=";
|
||||
};
|
||||
|
||||
subPackages = [ "projects/gloo/cli/cmd" ];
|
||||
vendorHash = "sha256-Lpc/fzOJLIyI2O5DP8K/LBYg6ZA1ixristercAM5VUQ=";
|
||||
vendorHash = "sha256-sQv6g0Xgs+6jgxacWJwE3dK3GimfiPHly0Z0rvdKNE4=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wayvnc";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "any1";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WKtflN6DyzumOMEx+iX0AoIyGRN4nXUckmW/9Z2EW+Q=";
|
||||
sha256 = "sha256-yNWTTjlmMCMTed1SiRep3iUxchQya1GnTVoub1cpR14=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{ lib
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, buildNpmPackage
|
||||
, nixosTests
|
||||
, gettext
|
||||
, python3
|
||||
, ghostscript
|
||||
, imagemagickBig
|
||||
|
@ -12,10 +14,18 @@
|
|||
, unpaper
|
||||
, poppler_utils
|
||||
, liberation_ttf
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paperless-ngx";
|
||||
repo = "paperless-ngx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-1QufnRD2Nbc4twRZ4Yrf3ae1BRGves8tJ/M7coWnRPI=";
|
||||
};
|
||||
|
||||
# Use specific package versions required by paperless-ngx
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
|
@ -78,36 +88,67 @@ let
|
|||
unpaper
|
||||
poppler_utils
|
||||
];
|
||||
in
|
||||
python.pkgs.pythonPackages.buildPythonApplication rec {
|
||||
pname = "paperless-ngx";
|
||||
version = "1.11.3";
|
||||
|
||||
# Fetch the release tarball instead of a git ref because it contains the prebuilt frontend
|
||||
src = fetchurl {
|
||||
url = "https://github.com/paperless-ngx/paperless-ngx/releases/download/v${version}/${pname}-v${version}.tar.xz";
|
||||
hash = "sha256-wGNkdczgV+UDd9ZO+BXMSWotpetE/+c/jJAAH+6SXps=";
|
||||
frontend = buildNpmPackage {
|
||||
pname = "paperless-ngx-frontend";
|
||||
inherit version src;
|
||||
|
||||
npmDepsHash = "sha256-fp0Gy3018u2y6jaUM9bmXU0SVjyEJdsvkBqbmb8S10Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cd src-ui
|
||||
'';
|
||||
|
||||
CYPRESS_INSTALL_BINARY = "0";
|
||||
NG_CLI_ANALYTICS = "false";
|
||||
|
||||
npmBuildFlags = [
|
||||
"--" "--configuration" "production"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/lib/paperless-ui
|
||||
mv ../src/documents/static/frontend $out/lib/paperless-ui/
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "paperless-ngx";
|
||||
format = "other";
|
||||
|
||||
propagatedBuildInputs = with python.pkgs.pythonPackages; [
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
aioredis
|
||||
arrow
|
||||
amqp
|
||||
anyio
|
||||
asgiref
|
||||
async-timeout
|
||||
attrs
|
||||
autobahn
|
||||
automat
|
||||
billiard
|
||||
bleach
|
||||
blessed
|
||||
celery
|
||||
certifi
|
||||
cffi
|
||||
channels-redis
|
||||
channels
|
||||
chardet
|
||||
charset-normalizer
|
||||
click
|
||||
click-didyoumean
|
||||
click-plugins
|
||||
click-repl
|
||||
coloredlogs
|
||||
concurrent-log-handler
|
||||
constantly
|
||||
|
@ -118,18 +159,16 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
django-cors-headers
|
||||
django-extensions
|
||||
django-filter
|
||||
django-picklefield
|
||||
django
|
||||
djangorestframework
|
||||
filelock
|
||||
fuzzywuzzy
|
||||
gunicorn
|
||||
h11
|
||||
hiredis
|
||||
httptools
|
||||
humanfriendly
|
||||
humanize
|
||||
hyperlink
|
||||
imagehash
|
||||
idna
|
||||
imap-tools
|
||||
img2pdf
|
||||
|
@ -140,9 +179,11 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
langdetect
|
||||
lxml
|
||||
msgpack
|
||||
mysqlclient
|
||||
nltk
|
||||
numpy
|
||||
ocrmypdf
|
||||
packaging
|
||||
pathvalidate
|
||||
pdf2image
|
||||
pdfminer-six
|
||||
|
@ -150,6 +191,7 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
pillow
|
||||
pluggy
|
||||
portalocker
|
||||
prompt-toolkit
|
||||
psycopg2
|
||||
pyasn1-modules
|
||||
pyasn1
|
||||
|
@ -158,7 +200,6 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
python-dateutil
|
||||
python-dotenv
|
||||
python-gnupg
|
||||
levenshtein
|
||||
python-magic
|
||||
pytz
|
||||
pyyaml
|
||||
|
@ -171,36 +212,51 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
scikit-learn
|
||||
scipy
|
||||
service-identity
|
||||
six
|
||||
sortedcontainers
|
||||
setproctitle
|
||||
sniffio
|
||||
sqlparse
|
||||
threadpoolctl
|
||||
tika
|
||||
tornado
|
||||
tqdm
|
||||
twisted.optional-dependencies.tls
|
||||
twisted
|
||||
txaio
|
||||
tzdata
|
||||
tzlocal
|
||||
urllib3
|
||||
uvicorn
|
||||
uvloop
|
||||
vine
|
||||
watchdog
|
||||
watchgod
|
||||
watchfiles
|
||||
wcwidth
|
||||
webencodings
|
||||
websockets
|
||||
whitenoise
|
||||
whoosh
|
||||
zipp
|
||||
zope_interface
|
||||
];
|
||||
]
|
||||
++ redis.optional-dependencies.hiredis
|
||||
++ twisted.optional-dependencies.tls
|
||||
++ uvicorn.optional-dependencies.standard;
|
||||
|
||||
# Compile manually because `pythonRecompileBytecodeHook` only works for
|
||||
# files in `python.sitePackages`
|
||||
postBuild = ''
|
||||
# Compile manually because `pythonRecompileBytecodeHook` only works
|
||||
# for files in `python.sitePackages`
|
||||
${python.interpreter} -OO -m compileall src
|
||||
|
||||
# Collect static files
|
||||
${python.interpreter} src/manage.py collectstatic --clear --no-input
|
||||
|
||||
# Compile string translations using gettext
|
||||
${python.interpreter} src/manage.py compilemessages
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
cp -r . $out/lib/paperless-ngx
|
||||
mkdir -p $out/lib/paperless-ngx
|
||||
cp -r {src,static,LICENSE,gunicorn.conf.py} $out/lib/paperless-ngx
|
||||
ln -s ${frontend}/lib/paperless-ui/frontend $out/lib/paperless-ngx/static/
|
||||
chmod +x $out/lib/paperless-ngx/src/manage.py
|
||||
makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH" \
|
||||
|
@ -210,12 +266,17 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
--prefix PATH : "${path}"
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python.pkgs.pythonPackages; [
|
||||
postFixup = ''
|
||||
# Remove tests with samples (~14M)
|
||||
find $out/lib/paperless-ngx -type d -name tests -exec rm -rv {} +
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python.pkgs; [
|
||||
factory_boy
|
||||
imagehash
|
||||
pytest-django
|
||||
pytest-env
|
||||
pytest-sugar
|
||||
pytest-xdist
|
||||
factory_boy
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
|
@ -250,13 +311,14 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
];
|
||||
|
||||
passthru = {
|
||||
inherit python path;
|
||||
inherit python path frontend;
|
||||
tests = { inherit (nixosTests) paperless; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to scan, index, and archive all of your physical documents";
|
||||
homepage = "https://paperless-ngx.readthedocs.io/";
|
||||
changelog = "https://github.com/paperless-ngx/paperless-ngx/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ lukegb gador erikarvstedt ];
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, copyDesktopItems, libxshmfence, wrapGAppsHook }:
|
||||
{ lib, callPackage, ... }:
|
||||
|
||||
let
|
||||
metaCommon = with lib; {
|
||||
|
@ -7,117 +7,11 @@ let
|
|||
license = licenses.agpl3Plus;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ fliegendewurst ];
|
||||
maintainers = with maintainers; [ fliegendewurst eliandoran ];
|
||||
};
|
||||
|
||||
version = "0.58.7";
|
||||
|
||||
desktopSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
|
||||
desktopSource.sha256 = "1xr8fx5m6p9z18al1iigf45acn7b69vhbc6z6q1v933bvkwry16c";
|
||||
|
||||
serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
|
||||
serverSource.sha256 = "0xr474z7wz0z4rqvk5rhv6xh51mdysr8zw86fs8fk7av0fdqxyka";
|
||||
|
||||
in {
|
||||
|
||||
trilium-desktop = stdenv.mkDerivation rec {
|
||||
pname = "trilium-desktop";
|
||||
inherit version;
|
||||
meta = metaCommon // {
|
||||
mainProgram = "trilium";
|
||||
};
|
||||
trilium-desktop = callPackage ./desktop.nix { metaCommon = metaCommon; };
|
||||
trilium-server = callPackage ./server.nix { metaCommon = metaCommon; };
|
||||
|
||||
src = fetchurl desktopSource;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
wrapGAppsHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = atomEnv.packages ++ [ libxshmfence ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "Trilium";
|
||||
exec = "trilium";
|
||||
icon = "trilium";
|
||||
comment = meta.description;
|
||||
desktopName = "Trilium Notes";
|
||||
categories = [ "Office" ];
|
||||
})
|
||||
];
|
||||
|
||||
# Remove trilium-portable.sh, so trilium knows it is packaged making it stop auto generating a desktop item on launch
|
||||
postPatch = ''
|
||||
rm ./trilium-portable.sh
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/trilium
|
||||
mkdir -p $out/share/icons/hicolor/128x128/apps
|
||||
|
||||
cp -r ./* $out/share/trilium
|
||||
ln -s $out/share/trilium/trilium $out/bin/trilium
|
||||
|
||||
ln -s $out/share/trilium/icon.png $out/share/icons/hicolor/128x128/apps/trilium.png
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
|
||||
trilium-server = stdenv.mkDerivation rec {
|
||||
pname = "trilium-server";
|
||||
inherit version;
|
||||
meta = metaCommon;
|
||||
|
||||
src = fetchurl serverSource;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
patches = [
|
||||
# patch logger to use console instead of rolling files
|
||||
./0001-Use-console-logger-instead-of-rolling-files.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/trilium-server
|
||||
|
||||
cp -r ./* $out/share/trilium-server
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
cat > $out/bin/trilium-server <<EOF
|
||||
#!${stdenv.cc.shell}
|
||||
cd $out/share/trilium-server
|
||||
exec ./node/bin/node src/www
|
||||
EOF
|
||||
chmod a+x $out/bin/trilium-server
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
trilium-server = nixosTests.trilium-server;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
89
pkgs/applications/office/trilium/desktop.nix
Normal file
89
pkgs/applications/office/trilium/desktop.nix
Normal file
|
@ -0,0 +1,89 @@
|
|||
{ stdenv, lib, unzip, autoPatchelfHook
|
||||
, fetchurl, atomEnv, makeWrapper
|
||||
, makeDesktopItem, copyDesktopItems, wrapGAppsHook, libxshmfence
|
||||
, metaCommon
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "trilium-desktop";
|
||||
version = "0.58.7";
|
||||
|
||||
linuxSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
|
||||
linuxSource.sha256 = "1xr8fx5m6p9z18al1iigf45acn7b69vhbc6z6q1v933bvkwry16c";
|
||||
|
||||
darwinSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-mac-x64-${version}.zip";
|
||||
darwinSource.sha256 = "1khywd77j4f745fvxln01li8qxnhlqqsirhm75kbi24bxlcpxfpa";
|
||||
|
||||
meta = metaCommon // {
|
||||
mainProgram = "trilium";
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
|
||||
linux = stdenv.mkDerivation rec {
|
||||
pname = "trilium-desktop";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl linuxSource;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
wrapGAppsHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = atomEnv.packages ++ [ libxshmfence ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "Trilium";
|
||||
exec = "trilium";
|
||||
icon = "trilium";
|
||||
comment = meta.description;
|
||||
desktopName = "Trilium Notes";
|
||||
categories = [ "Office" ];
|
||||
})
|
||||
];
|
||||
|
||||
# Remove trilium-portable.sh, so trilium knows it is packaged making it stop auto generating a desktop item on launch
|
||||
postPatch = ''
|
||||
rm ./trilium-portable.sh
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/trilium
|
||||
mkdir -p $out/share/icons/hicolor/128x128/apps
|
||||
|
||||
cp -r ./* $out/share/trilium
|
||||
ln -s $out/share/trilium/trilium $out/bin/trilium
|
||||
|
||||
ln -s $out/share/trilium/icon.png $out/share/icons/hicolor/128x128/apps/trilium.png
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
darwin = stdenv.mkDerivation {
|
||||
inherit pname version meta;
|
||||
|
||||
src = fetchurl darwinSource;
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r *.app $out/Applications
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
if stdenv.isDarwin then darwin else linux
|
51
pkgs/applications/office/trilium/server.nix
Normal file
51
pkgs/applications/office/trilium/server.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ stdenv, lib, autoPatchelfHook, fetchurl, nixosTests
|
||||
, metaCommon }:
|
||||
|
||||
let
|
||||
serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
|
||||
serverSource.sha256 = "0xr474z7wz0z4rqvk5rhv6xh51mdysr8zw86fs8fk7av0fdqxyka";
|
||||
version = "0.58.7";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "trilium-server";
|
||||
inherit version;
|
||||
meta = metaCommon // {
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
src = fetchurl serverSource;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
patches = [
|
||||
# patch logger to use console instead of rolling files
|
||||
./0001-Use-console-logger-instead-of-rolling-files.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/trilium-server
|
||||
|
||||
cp -r ./* $out/share/trilium-server
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
cat > $out/bin/trilium-server <<EOF
|
||||
#!${stdenv.cc.shell}
|
||||
cd $out/share/trilium-server
|
||||
exec ./node/bin/node src/www
|
||||
EOF
|
||||
chmod a+x $out/bin/trilium-server
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
trilium-server = nixosTests.trilium-server;
|
||||
};
|
||||
}
|
|
@ -4,15 +4,20 @@ set -euo pipefail
|
|||
|
||||
cd $(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
version=$(curl -s --show-error "https://api.github.com/repos/zadam/trilium/releases/latest" | jq -r '.tag_name' | tail -c +2)
|
||||
|
||||
sha256_linux64=$(nix-prefetch-url --quiet https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz)
|
||||
sha256_linux64_server=$(nix-prefetch-url --quiet https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz)
|
||||
|
||||
setKV () {
|
||||
sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
|
||||
sed -i "s|$2 = \".*\"|$2 = \"${3:-}\"|" $1
|
||||
}
|
||||
|
||||
setKV version $version
|
||||
setKV desktopSource.sha256 $sha256_linux64
|
||||
setKV serverSource.sha256 $sha256_linux64_server
|
||||
version=$(curl -s --show-error "https://api.github.com/repos/zadam/trilium/releases/latest" | jq -r '.tag_name' | tail -c +2)
|
||||
|
||||
# Update desktop application
|
||||
sha256_linux64=$(nix-prefetch-url --quiet https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz)
|
||||
sha256_darwin64=$(nix-prefetch-url --quiet https://github.com/zadam/trilium/releases/download/v${version}/trilium-mac-x64-${version}.zip)
|
||||
setKV ./desktop.nix version $version
|
||||
setKV ./desktop.nix linuxSource.sha256 $sha256_linux64
|
||||
setKV ./desktop.nix darwinSource.sha256 $sha256_darwin64
|
||||
|
||||
# Update server
|
||||
sha256_linux64_server=$(nix-prefetch-url --quiet https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz)
|
||||
setKV ./server.nix version $version
|
||||
setKV ./server.nix serverSource.sha256 $sha256_linux64_server
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ustreamer";
|
||||
version = "5.20";
|
||||
version = "5.36";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pikvm";
|
||||
repo = "ustreamer";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ZJebLsmoaIxfM8Eenv/r351Kr8XM+wyZUc2TI+oGDxU=";
|
||||
sha256 = "sha256-VnqCiEPaBzGN2TL7oXO4T7dcNdGneac/5nFPwRPiJ9c=";
|
||||
};
|
||||
|
||||
buildInputs = [ libbsd libevent libjpeg ];
|
||||
|
|
|
@ -133,7 +133,7 @@ fi
|
|||
# NixOS:
|
||||
# Linux *nodename* 6.0.13 #1-NixOS SMP PREEMPT_DYNAMIC Wed Dec 14 10:41:06 UTC 2022 x86_64 GNU/Linux
|
||||
if [[ "$all" = "1" ]]; then
|
||||
echo -n "$KERNEL_NAME_VAL $NODENAME_VAL $KERNEL_RELEASE_VAL $KERNEL_VERSION_VAL $MACHINE_VAL"
|
||||
echo -n "$KERNEL_NAME_VAL $NODENAME_VAL $KERNEL_RELEASE_VAL $KERNEL_VERSION_VAL $MACHINE_VAL "
|
||||
# in help: except omit -p and -i if unknown.
|
||||
#echo -n "$PROCESSOR_VAL $HARDWARE_PLATFORM_VAL\n"
|
||||
echo -n "$OPERATING_SYSTEM_VAL"
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
{ stdenv, lib, pkgs, fetchFromGitHub, nodejs, remarshal
|
||||
{ stdenv
|
||||
, lib
|
||||
, pkgs
|
||||
, buildNpmPackage
|
||||
, fetchFromGitHub
|
||||
, nodejs
|
||||
, remarshal
|
||||
, ttfautohint-nox
|
||||
# Custom font set options.
|
||||
# See https://typeof.net/Iosevka/customizer
|
||||
|
@ -42,70 +48,57 @@
|
|||
# '';
|
||||
, extraParameters ? null
|
||||
# Custom font set name. Required if any custom settings above.
|
||||
, set ? null }:
|
||||
, set ? null
|
||||
}:
|
||||
|
||||
assert (privateBuildPlan != null) -> set != null;
|
||||
assert (extraParameters != null) -> set != null;
|
||||
|
||||
let
|
||||
# We don't know the attribute name for the Iosevka package as it
|
||||
# changes not when our update script is run (which in turn updates
|
||||
# node-packages.json, but when node-packages/generate.sh is run
|
||||
# (which updates node-packages.nix).
|
||||
#
|
||||
# Doing it this way ensures that the package can always be built,
|
||||
# although possibly an older version than ioseva-bin.
|
||||
nodeIosevka = (import ./node-composition.nix {
|
||||
inherit pkgs nodejs;
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
}).package.override {
|
||||
src = fetchFromGitHub {
|
||||
owner = "be5invis";
|
||||
repo = "Iosevka";
|
||||
rev = "v15.6.3";
|
||||
hash = "sha256-wsFx5sD1CjQTcmwpLSt97OYFI8GtVH54uvKQLU1fWTg=";
|
||||
};
|
||||
buildNpmPackage rec {
|
||||
pname = if set != null then "iosevka-${set}" else "iosevka";
|
||||
version = "17.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "be5invis";
|
||||
repo = "iosevka";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xGRymDhkNP9b2JYTEu4M/CrRINmMGY2S5ZuM3Ot1wGg=";
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if set != null then "iosevka-${set}" else "iosevka";
|
||||
inherit (nodeIosevka) version src;
|
||||
npmDepsHash = "sha256-Ncf07ggyOnz/2SpgdmaYS2X/8Bad+J2sz8Yyx9Iri3E=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
remarshal
|
||||
ttfautohint-nox
|
||||
];
|
||||
nativeBuildInputs = [ nodejs remarshal ttfautohint-nox ];
|
||||
|
||||
buildPlan =
|
||||
if builtins.isAttrs privateBuildPlan
|
||||
then builtins.toJSON { buildPlans.${pname} = privateBuildPlan; }
|
||||
else privateBuildPlan;
|
||||
if builtins.isAttrs privateBuildPlan then
|
||||
builtins.toJSON { buildPlans.${pname} = privateBuildPlan; }
|
||||
else
|
||||
privateBuildPlan;
|
||||
|
||||
inherit extraParameters;
|
||||
passAsFile = [
|
||||
"extraParameters"
|
||||
] ++ lib.optionals (! (builtins.isString privateBuildPlan && lib.hasPrefix builtins.storeDir privateBuildPlan)) [
|
||||
"buildPlan"
|
||||
];
|
||||
passAsFile = [ "extraParameters" ] ++ lib.optionals
|
||||
(
|
||||
!(builtins.isString privateBuildPlan
|
||||
&& lib.hasPrefix builtins.storeDir privateBuildPlan)
|
||||
) [ "buildPlan" ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
${lib.optionalString (builtins.isAttrs privateBuildPlan) ''
|
||||
remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml
|
||||
''}
|
||||
${lib.optionalString (builtins.isString privateBuildPlan && (!lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
|
||||
cp "$buildPlanPath" private-build-plans.toml
|
||||
''}
|
||||
${lib.optionalString (builtins.isString privateBuildPlan && (lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
|
||||
cp "$buildPlan" private-build-plans.toml
|
||||
''}
|
||||
${lib.optionalString (builtins.isString privateBuildPlan
|
||||
&& (!lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
|
||||
cp "$buildPlanPath" private-build-plans.toml
|
||||
''}
|
||||
${lib.optionalString (builtins.isString privateBuildPlan
|
||||
&& (lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
|
||||
cp "$buildPlan" private-build-plans.toml
|
||||
''}
|
||||
${lib.optionalString (extraParameters != null) ''
|
||||
echo -e "\n" >> params/parameters.toml
|
||||
cat "$extraParametersPath" >> params/parameters.toml
|
||||
''}
|
||||
ln -s ${nodeIosevka}/lib/node_modules/iosevka/node_modules .
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
|
@ -126,16 +119,13 @@ stdenv.mkDerivation rec {
|
|||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update-default.sh;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://be5invis.github.io/Iosevka";
|
||||
homepage = "https://typeof.net/Iosevka/";
|
||||
downloadPage = "https://github.com/be5invis/Iosevka/releases";
|
||||
description = ''
|
||||
Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
|
||||
Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
|
||||
Iosevka is an open-source, sans-serif + slab-serif, monospace +
|
||||
quasi‑proportional typeface family, designed for writing code, using in
|
||||
terminals, and preparing technical documents.
|
||||
'';
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
|
@ -146,6 +136,7 @@ stdenv.mkDerivation rec {
|
|||
babariviere
|
||||
rileyinman
|
||||
AluisioASG
|
||||
lunik1
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
# This file has been generated by node2nix 1.11.1. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ../../../development/node-packages/node-env.nix {
|
||||
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
|
||||
inherit pkgs nodejs;
|
||||
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
|
||||
};
|
||||
in
|
||||
import ./node-packages.nix {
|
||||
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
|
||||
inherit nodeEnv;
|
||||
}
|
2697
pkgs/data/fonts/iosevka/node-packages.nix
generated
2697
pkgs/data/fonts/iosevka/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -1,21 +0,0 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts coreutils gawk replace
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
nixpkgs=../../../..
|
||||
repo=https://github.com/be5invis/Iosevka
|
||||
|
||||
# Discover the latest version.
|
||||
current_version=$(nix-instantiate "$nixpkgs" --eval --strict -A iosevka.version | tr -d '"')
|
||||
new_version=$(list-git-tags --url="$repo" | sort --reverse --version-sort | awk 'match($0, /^v([0-9.]+)$/, m) { print m[1]; exit; }')
|
||||
if [[ "$new_version" == "$current_version" ]]; then
|
||||
echo "iosevka: no update found"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Update the source package in nodePackages.
|
||||
current_source="$repo/archive/v$current_version.tar.gz"
|
||||
new_source="$repo/archive/v$new_version.tar.gz"
|
||||
replace-literal -ef "$current_source" "$new_source" ../../../development/node-packages/node-packages.json
|
||||
echo "iosevka: $current_version -> $new_version (after nodePackages update)"
|
|
@ -13,19 +13,19 @@
|
|||
stdenv.mkDerivation rec {
|
||||
pname = "${passthru.prettyName}-unwrapped";
|
||||
# nixpkgs-update: no auto update
|
||||
version = "unstable-2022-10-03";
|
||||
version = "unstable-2023-01-30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-watcom";
|
||||
repo = "open-watcom-v2";
|
||||
rev = "61538429a501a09f369366d832799f2e3b196a02";
|
||||
sha256 = "sha256-YvqRw0klSqOxIuO5QFKjcUp6aRWlO2j3L+T1ekx8SfA=";
|
||||
rev = "996740acdbb173499ec1bf2ba6c8942f2a374220";
|
||||
sha256 = "sha256-9m+0e2v1Hk8jYZHqJwb1mN02WgGDArsWbF7Ut3Z5OIg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs *.sh
|
||||
|
||||
for dateSource in cmnvars.sh bld/wipfc/configure; do
|
||||
for dateSource in bld/wipfc/configure; do
|
||||
substituteInPlace $dateSource \
|
||||
--replace '`date ' '`date -ud "@$SOURCE_DATE_EPOCH" '
|
||||
done
|
||||
|
@ -35,14 +35,17 @@ stdenv.mkDerivation rec {
|
|||
--replace '__TIME__' "\"$(date -ud "@$SOURCE_DATE_EPOCH" +'%T')\""
|
||||
|
||||
substituteInPlace build/makeinit \
|
||||
--replace '%__CYEAR__' '%OWCYEAR'
|
||||
--replace '$+$(%__CYEAR__)$-' "$(date -ud "@$SOURCE_DATE_EPOCH" +'%Y')"
|
||||
'' + lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
substituteInPlace build/mif/local.mif \
|
||||
--replace '-static' ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ dosbox ]
|
||||
++ lib.optional withDocs ghostscript;
|
||||
nativeBuildInputs = [
|
||||
dosbox
|
||||
] ++ lib.optionals withDocs [
|
||||
ghostscript
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
@ -120,7 +123,8 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
homepage = "https://open-watcom.github.io";
|
||||
license = licenses.watcom;
|
||||
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "x86_64-windows" "i686-windows" ];
|
||||
platforms = with platforms; windows ++ unix;
|
||||
badPlatforms = platforms.riscv ++ [ "powerpc64-linux" "powerpc64le-linux" "mips64el-linux" ];
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,16 +13,29 @@ let
|
|||
wrapper =
|
||||
{}:
|
||||
let
|
||||
archToBindir = with stdenv.hostPlatform; if isx86 then
|
||||
"bin"
|
||||
else if isAarch then
|
||||
"arm"
|
||||
# we don't support running on AXP
|
||||
# don't know what MIPS, PPC bindirs are called
|
||||
else throw "Don't know where ${system} binaries are located!";
|
||||
|
||||
binDirs = with stdenv.hostPlatform; if isWindows then [
|
||||
(lib.optionalString is64bit "binnt64")
|
||||
"binnt"
|
||||
(lib.optionalString is32bit "binw")
|
||||
] else if (isDarwin && is64bit) then [
|
||||
"bino64"
|
||||
(lib.optionalString is64bit "${archToBindir}nt64")
|
||||
"${archToBindir}nt"
|
||||
(lib.optionalString is32bit "${archToBindir}w")
|
||||
] else if (isDarwin) then [
|
||||
(lib.optionalString is64bit "${archToBindir}o64")
|
||||
# modern Darwin cannot execute 32-bit code anymore
|
||||
(lib.optionalString is32bit "${archToBindir}o")
|
||||
] else [
|
||||
(lib.optionalString is64bit "binl64")
|
||||
"binl"
|
||||
(lib.optionalString is64bit "${archToBindir}l64")
|
||||
"${archToBindir}l"
|
||||
];
|
||||
# TODO
|
||||
# This works good enough as-is, but should really only be targetPlatform-specific
|
||||
# but we don't support targeting DOS, OS/2, 16-bit Windows etc Nixpkgs-wide so this needs extra logic
|
||||
includeDirs = with stdenv.hostPlatform; [
|
||||
"h"
|
||||
]
|
||||
|
@ -71,9 +84,9 @@ let
|
|||
}
|
||||
EOF
|
||||
cat test.c
|
||||
# Darwin target not supported, only host
|
||||
wcl386 -fe=test_c test.c
|
||||
${lib.optionalString (!stdenv.hostPlatform.isDarwin) "./test_c"}
|
||||
# Only test execution if hostPlatform is targetable
|
||||
${lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch) "./test_c"}
|
||||
|
||||
cat <<EOF >test.cpp
|
||||
#include <string>
|
||||
|
@ -91,9 +104,9 @@ let
|
|||
}
|
||||
EOF
|
||||
cat test.cpp
|
||||
# Darwin target not supported, only host
|
||||
wcl386 -fe=test_cpp test.cpp
|
||||
${lib.optionalString (!stdenv.hostPlatform.isDarwin) "./test_cpp"}
|
||||
# Only test execution if hostPlatform is targetable
|
||||
${lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch) "./test_cpp"}
|
||||
touch $out
|
||||
'';
|
||||
cross = runCommand "${name}-test-cross" { nativeBuildInputs = [ wrapped file ]; } ''
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
, "insect"
|
||||
, "intelephense"
|
||||
, "ionic"
|
||||
, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v17.1.0.tar.gz"}
|
||||
, "jake"
|
||||
, "javascript-typescript-langserver"
|
||||
, "joplin"
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "dinghy";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "nedbat";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-3qj3CU0A7oyPcUMEoqe4lUK5Jl1tlnCaqXMtDnn9+bw=";
|
||||
hash = "sha256-xtcNcykfgcWvifso0xaeMT31+G5x4HCp+tLAIEEq4cw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -41,7 +41,7 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
hidredis = [
|
||||
hiredis = [
|
||||
hiredis
|
||||
];
|
||||
ocsp = [
|
||||
|
|
18
pkgs/development/python-modules/remote-pdb/default.nix
Normal file
18
pkgs/development/python-modules/remote-pdb/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ buildPythonPackage, fetchFromGitHub, lib }:
|
||||
buildPythonPackage rec {
|
||||
pname = "remote-pdb";
|
||||
version = "2.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ionelmc";
|
||||
repo = "python-remote-pdb";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/7RysJOJigU4coC6d/Ob2lrtw8u8nLZI8wBk4oEEY3g=";
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Remote vanilla PDB (over TCP sockets).";
|
||||
homepage = "https://github.com/ionelmc/python-remote-pdb";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ mic92 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -4,8 +4,8 @@ buildRubyGem rec {
|
|||
inherit ruby;
|
||||
name = "${gemName}-${version}";
|
||||
gemName = "bundler";
|
||||
version = "2.4.5";
|
||||
source.sha256 = "sha256-Wvj6rwlmbVnM3xqORh8Xu8XE5Jutstyu4XRln4yH1Eo=";
|
||||
version = "2.4.6";
|
||||
source.sha256 = "sha256-MI/g13w5NMoHQ78AJ11BlKhulroUI6xNPqQ19iH51P8=";
|
||||
dontPatchShebangs = true;
|
||||
|
||||
postFixup = ''
|
||||
|
|
|
@ -9,13 +9,13 @@ let
|
|||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "t-rec";
|
||||
version = "0.7.5";
|
||||
version = "0.7.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sassman";
|
||||
repo = "t-rec-rs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-tkt0XAofBhHytbA24g0+jU13aNjmgQ5RspbLTPclnrI=";
|
||||
sha256 = "sha256-o1fO0N65L6Z6W6aBNhS5JqDHIc1MRQx0yECGzVSCsbo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
|
|||
wrapProgram "$out/bin/t-rec" --prefix PATH : "${binPath}"
|
||||
'';
|
||||
|
||||
cargoSha256 = "sha256-bb0fwz0fI6DJWgnW0rX63qH2niCLtPeVKex7m6BhVWs=";
|
||||
cargoHash = "sha256-3NExPlHNcoYVkpOzWCyd66chJpeDzQLRJUruSLAwGNw=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Blazingly fast terminal recorder that generates animated gif images for the web written in rust";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, help2man, gettext
|
||||
, libxml2, perl, python3, doxygen }:
|
||||
|
||||
{ lib, stdenv, fetchFromGitHub, fetchurl
|
||||
, pkg-config, autoreconfHook, help2man, gettext, libxml2, perl, python3, doxygen
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libsmbios";
|
||||
|
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0krwwydyvb9224r884y1mlmzyxhlfrcqw73vi1j8787rl0gl5a2i";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
name = "musl.patch";
|
||||
url = "https://git.alpinelinux.org/aports/plain/community/libsmbios/fixes.patch?id=bdc4f67889c958c1266fa5d0cab71c3cd639122f";
|
||||
sha256 = "aVVc52OovDYvqWRyKcRAi62daa9AalkKvnVOGvrTmRk=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook doxygen gettext libxml2 help2man perl pkg-config ];
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, coreutils
|
||||
, pkg-config
|
||||
, perl
|
||||
, lvm2
|
||||
|
@ -9,31 +10,28 @@
|
|||
, systemd
|
||||
, liburcu
|
||||
, json_c
|
||||
, kmod
|
||||
, linuxHeaders
|
||||
, cmocka
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "multipath-tools";
|
||||
version = "0.9.3";
|
||||
version = "0.9.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opensvc";
|
||||
repo = "multipath-tools";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-pIGeZ+jB+6GqkfVN83axHIuY/BobQ+zs+tH+MkLIln0=";
|
||||
sha256 = "sha256-CPvtnjzkyxKXrT8+YXaIgDA548h8X61+jCxMHKFfEyg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace libmultipath/Makefile \
|
||||
--replace /usr/include/libdevmapper.h ${lib.getDev lvm2}/include/libdevmapper.h
|
||||
substituteInPlace create-config.mk \
|
||||
--replace /bin/echo ${coreutils}/bin/echo
|
||||
|
||||
# systemd-udev-settle.service is deprecated.
|
||||
substituteInPlace multipathd/multipathd.service \
|
||||
--replace /sbin/modprobe ${lib.getBin kmod}/sbin/modprobe \
|
||||
--replace /sbin/multipathd "$out/bin/multipathd" \
|
||||
--replace " systemd-udev-settle.service" ""
|
||||
--replace /sbin/multipathd "$out/bin/multipathd"
|
||||
|
||||
sed -i -re '
|
||||
s,^( *#define +DEFAULT_MULTIPATHDIR\>).*,\1 "'"$out/lib/multipath"'",
|
||||
|
@ -45,15 +43,16 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config perl ];
|
||||
buildInputs = [ systemd lvm2 libaio readline liburcu json_c ];
|
||||
buildInputs = [ systemd lvm2 libaio readline liburcu json_c linuxHeaders ];
|
||||
|
||||
makeFlags = [
|
||||
"LIB=lib"
|
||||
"prefix=$(out)"
|
||||
"systemd_prefix=$(out)"
|
||||
"kernel_incdir=${linuxHeaders}/include/"
|
||||
"man8dir=$(out)/share/man/man8"
|
||||
"man5dir=$(out)/share/man/man5"
|
||||
"man3dir=$(out)/share/man/man3"
|
||||
"SYSTEMDPATH=lib"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
|
|
@ -9,23 +9,23 @@
|
|||
}:
|
||||
|
||||
let
|
||||
# remove when upgrading to pjsip >2.12.1
|
||||
# remove when upgrading to pjsip >2.13
|
||||
pjsip_patches = [
|
||||
(fetchpatch {
|
||||
name = "0150-CVE-2022-31031.patch";
|
||||
url = "https://github.com/pjsip/pjproject/commit/450baca94f475345542c6953832650c390889202.patch";
|
||||
sha256 = "sha256-30kHrmB51UIw4x/J6/CD+vPKf/gBYDCcFoUpwEWkDMY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0151-CVE-2022-39244.patch";
|
||||
url = "https://github.com/pjsip/pjproject/commit/c4d34984ec92b3d5252a7d5cddd85a1d3a8001ae.patch";
|
||||
sha256 = "sha256-hTUMh6bYAizn6GF+sRV1vjKVxSf9pnI+eQdPOqsdJI4=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0152-CVE-2022-39269.patch";
|
||||
url = "https://github.com/pjsip/pjproject/commit/d2acb9af4e27b5ba75d658690406cec9c274c5cc.patch";
|
||||
sha256 = "sha256-bKE/MrRAqN1FqD2ubhxIOOf5MgvZluHHeVXPjbR12iQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "pjsip-2.12.1-CVE-2022-23537.patch";
|
||||
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/ca2b44568eb0ffbd0b5a22eb70feb6dbdcda8e9c/pkgs/applications/networking/pjsip/1.12.1-CVE-2022-23537.patch";
|
||||
sha256 = "sha256-KNSnHt0/o1qJk4r2z5bxbYxKAa7WBtzGOhRXkru3VK4=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "pjsip-2.12.1-CVE-2022-23547.patch";
|
||||
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/ca2b44568eb0ffbd0b5a22eb70feb6dbdcda8e9c/pkgs/applications/networking/pjsip/1.12.1-CVE-2022-23547.patch";
|
||||
sha256 = "sha256-0iEr/Z4UQpWsTXYWVYzWWk7MQDOFnTQ1BBYpynGLTVQ=";
|
||||
})
|
||||
];
|
||||
common = {version, sha256, externals}: stdenv.mkDerivation {
|
||||
inherit version;
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"asterisk_16": {
|
||||
"sha256": "406a91290e18d25a6fc23ae6b9c56b1fb2bd70216e336c74cf9c26b908c89c3d",
|
||||
"version": "16.29.0"
|
||||
"sha256": "f8448e8784df7fac019e459bf7c82529d80afe64ae97d73d40e6aa0e4fb39724",
|
||||
"version": "16.30.0"
|
||||
},
|
||||
"asterisk_18": {
|
||||
"sha256": "a963dafeba0e7e1051a1ac56964999c111dbcdb25a47010bc1f772bf8edbed75",
|
||||
"version": "18.15.0"
|
||||
"sha256": "2d280794ae7505ed3dfc58b3190774cb491aa74c339fbde1a11740e6be79b466",
|
||||
"version": "18.16.0"
|
||||
},
|
||||
"asterisk_19": {
|
||||
"sha256": "832a967c5a040b0768c0e8df1646762f7304019fcf7f2e065a8b4828fa4092b7",
|
||||
"version": "19.7.0"
|
||||
"sha256": "f0c56d1f8e39e0427455edfe25d24ff088c756bdc32dd1278c9f7a320815cbaa",
|
||||
"version": "19.8.0"
|
||||
},
|
||||
"asterisk_20": {
|
||||
"sha256": "949022c20dc6da65b456e1b1b5b42a7901bb41fc9ce20920891739e7220d72eb",
|
||||
"version": "20.0.0"
|
||||
"sha256": "4364dc762652e2fd4d3e7dc8428c83550ebae090b8a0e9d4820583e081778883",
|
||||
"version": "20.1.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "home-assistant-intents";
|
||||
version = "2023.1.25";
|
||||
version = "2023.1.31";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
|||
owner = "home-assistant";
|
||||
repo = "intents";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-nMEcN2b0XHF4yRRsHKMplxqcMLl+gJcPAdvwnySN+ug=";
|
||||
hash = "sha256-buq/SLXDFP0xvIb2yGiHQzuL7HKvc7bxxdkhq4KHpvM=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/package";
|
||||
|
|
|
@ -12,20 +12,20 @@ in
|
|||
with python3.pkgs;
|
||||
buildPythonApplication rec {
|
||||
pname = "matrix-synapse";
|
||||
version = "1.75.0";
|
||||
version = "1.76.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matrix-org";
|
||||
repo = "synapse";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cfvekrZRLbdsUqkkPF8hz9B4qsum1kpIL0aCnJf3HYg=";
|
||||
hash = "sha256-kPc6T8yLe1TDxPKLnK/TcU+RUxAVIq8qsr5JQXCXyjM=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-oyXgHqOrMKs+mYGAI4Wn+fuVQWsQJIkPwCY4t+cUlQ4=";
|
||||
hash = "sha256-tXtnVYH9uWu0nHHx53PgML92NWl3qcAcnFKhiijvQBc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -11,6 +11,8 @@ buildGoModule rec {
|
|||
sha256 = "sha256-VqVrAmbKTfDhcvgayEE1wUeFBSTGczBrntIJQ5/uWzM=";
|
||||
};
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
# gcc 11.2 suggested on 3.10.0.
|
||||
# gcc 11.2 suggested on 3.10.3.
|
||||
# gcc 11.3.0 unsupported yet, investigate gcc support when upgrading
|
||||
# See https://github.com/arangodb/arangodb/issues/17454
|
||||
gcc10Stdenv
|
||||
|
@ -32,13 +32,13 @@ in
|
|||
|
||||
gcc10Stdenv.mkDerivation rec {
|
||||
pname = "arangodb";
|
||||
version = "3.10.0";
|
||||
version = "3.10.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "arangodb";
|
||||
owner = "arangodb";
|
||||
rev = "v${version}";
|
||||
sha256 = "0vjdiarfnvpfl4hnqgr7jigxgq3b3zhx88n8liv1zqa1nlvykfrb";
|
||||
sha256 = "sha256-Jp2rvapTe0CtyYfh1YLJ5eUngh8V+BCUQ/OgH3nE2Ro=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plpgsql_check";
|
||||
version = "2.2.6";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "okbob";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8HFyIzJ1iF3K2vTlibFallvkMKjFTJ2DO64fORToD8E=";
|
||||
hash = "sha256-zl7AF+1hj6UFnf9sKO40ZTzm7edKguUYFqaT5/qf8Ic=";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
|
|
@ -65,7 +65,6 @@ python.pkgs.buildPythonApplication rec {
|
|||
"mecab-python3"
|
||||
"numba"
|
||||
"numpy"
|
||||
"umap-learn"
|
||||
"unidic-lite"
|
||||
];
|
||||
in ''
|
||||
|
@ -74,6 +73,8 @@ python.pkgs.buildPythonApplication rec {
|
|||
''-e 's/${package}.*[<>=]+.*/${package}/g' \''
|
||||
) relaxedConstraints)}
|
||||
requirements.txt
|
||||
# only used for notebooks and visualization
|
||||
sed -r -i -e '/umap-learn/d' requirements.txt
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with python.pkgs; [
|
||||
|
@ -108,7 +109,6 @@ python.pkgs.buildPythonApplication rec {
|
|||
torchaudio-bin
|
||||
tqdm
|
||||
trainer
|
||||
umap-learn
|
||||
unidic-lite
|
||||
webrtcvad
|
||||
];
|
||||
|
|
2
pkgs/tools/misc/completely/Gemfile
Normal file
2
pkgs/tools/misc/completely/Gemfile
Normal file
|
@ -0,0 +1,2 @@
|
|||
source 'https://rubygems.org'
|
||||
gem 'completely'
|
20
pkgs/tools/misc/completely/Gemfile.lock
Normal file
20
pkgs/tools/misc/completely/Gemfile.lock
Normal file
|
@ -0,0 +1,20 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
colsole (0.8.2)
|
||||
completely (0.5.2)
|
||||
colsole (~> 0.6)
|
||||
mister_bin (~> 0.7.2)
|
||||
docopt (0.6.1)
|
||||
mister_bin (0.7.3)
|
||||
colsole (~> 0.7)
|
||||
docopt (~> 0.6)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
completely
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.5
|
21
pkgs/tools/misc/completely/default.nix
Normal file
21
pkgs/tools/misc/completely/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ lib
|
||||
, bundlerApp
|
||||
, bundlerUpdateScript
|
||||
}:
|
||||
|
||||
bundlerApp {
|
||||
pname = "completely";
|
||||
|
||||
gemdir = ./.;
|
||||
exes = [ "completely" ];
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "completely";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Generate bash completion scripts using a simple configuration file";
|
||||
homepage = "https://github.com/DannyBen/completely";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ zendo ];
|
||||
};
|
||||
}
|
44
pkgs/tools/misc/completely/gemset.nix
Normal file
44
pkgs/tools/misc/completely/gemset.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
colsole = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1l29sxy4p9jbvcihckxfsyqx98b8xwzd3hjqvdh1zxw8nv5walnp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.2";
|
||||
};
|
||||
completely = {
|
||||
dependencies = ["colsole" "mister_bin"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0w7cmmsp9m42c8w4j03kr98zy7x7yszw3qsm3ww600dmc0d0xd2b";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.2";
|
||||
};
|
||||
docopt = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0rvlfbb7kzyagncm4zdpcjwrh682zamgf5rcf5qmj0bd6znkgy3k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.1";
|
||||
};
|
||||
mister_bin = {
|
||||
dependencies = ["colsole" "docopt"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1f51zs9wjpslhdadp8yfx4ij0jj1ya92cbzqlfd2wfr19wdr2jgd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.3";
|
||||
};
|
||||
}
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "goreleaser";
|
||||
version = "1.14.1";
|
||||
version = "1.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "goreleaser";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kA+7kAFAAZngbub2gHoiqEcSkcbxv0DPqbAT3MDBHtI=";
|
||||
sha256 = "sha256-JVvkASYNp6GSCEIWfZwZ1rtOkUCutccOWCkt47rmgyE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-v3ZF2WDp4EmHA8RnP39o21cy9+n4cKkKZ0gSowv4nvk=";
|
||||
vendorSha256 = "sha256-jFItDgmjjKbmTpOn32V1K3AmYyYCrc5RqMAH/X+VWTM=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "panoply";
|
||||
version = "5.2.2";
|
||||
version = "5.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
|
||||
sha256 = "sha256-RIjdNfX4jsMwpgbE1aTzT6bysIFGUi33o5m030fF6mg=";
|
||||
sha256 = "sha256-bbePMbI1YF0YvakO5vlURdE7UG3pLiuByImYvDq9cRY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nix-eval-jobs";
|
||||
version = "2.12.0";
|
||||
version = "2.12.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HSgW9qKXIWu+nzlWjR7HoIrjO1yn48a0U/E76VwrpQ0=";
|
||||
hash = "sha256-8nFseSTAIGJdB4P/K/cXAehvdrSLcTTBZLQNs/ZC+I8=";
|
||||
};
|
||||
buildInputs = [
|
||||
boost
|
||||
|
|
|
@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
|
|||
url = "https://github.com/rhboot/efivar/commit/ca48d3964d26f5e3b38d73655f19b1836b16bd2d.patch";
|
||||
hash = "sha256-DkNFIK4i7Eypyf2UeK7qHW36N2FSVRJ2rnOVLriWi5c=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "musl-backport.patch";
|
||||
url = "https://github.com/rhboot/efivar/commit/cece3ffd5be2f8641eb694513f2b73e5eb97ffd3.patch";
|
||||
sha256 = "7/E0gboU0A45/BY6jGPLuvds6qKtNjzpgKgdNTaVaZQ=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config mandoc ];
|
||||
|
|
|
@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-yhugh836BoSISbTu19ubLOrz5X31Opu5QtCR0DXrbWc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fallback-conf-nix-store.diff
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/wslu-header \
|
||||
--subst-var out
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"DESTDIR=$(out)"
|
||||
"PREFIX="
|
||||
|
|
22
pkgs/tools/system/wslu/fallback-conf-nix-store.diff
Normal file
22
pkgs/tools/system/wslu/fallback-conf-nix-store.diff
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff --git a/src/wslu-header b/src/wslu-header
|
||||
index 5f33925..159c6af 100644
|
||||
--- a/src/wslu-header
|
||||
+++ b/src/wslu-header
|
||||
@@ -169,11 +169,17 @@ if [ -f "$HOME/.config/wslu/conf" ]; then
|
||||
debug_echo "$HOME/.config/wslu/conf found, sourcing"
|
||||
source "$HOME/.config/wslu/conf"
|
||||
fi
|
||||
+
|
||||
if [ -f "$HOME/.wslurc" ]; then
|
||||
debug_echo "$HOME/.wslurc found, sourcing"
|
||||
source "$HOME/.wslurc"
|
||||
fi
|
||||
|
||||
+if [ -f "@out@/share/wslu/conf" ]; then
|
||||
+ debug_echo "@out@/share/wslu/conf found, sourcing"
|
||||
+ source "@out@/share/wslu/conf"
|
||||
+fi
|
||||
+
|
||||
# functions
|
||||
|
||||
function help {
|
|
@ -2028,7 +2028,12 @@ with pkgs;
|
|||
wxGTK = wxGTK32;
|
||||
};
|
||||
|
||||
box64 = callPackage ../applications/emulators/box64 { };
|
||||
box64 = callPackage ../applications/emulators/box64 {
|
||||
hello-x86_64 = if stdenv.hostPlatform.isx86_64 then
|
||||
hello
|
||||
else
|
||||
pkgsCross.gnu64.hello;
|
||||
};
|
||||
|
||||
caprice32 = callPackage ../applications/emulators/caprice32 { };
|
||||
|
||||
|
@ -2184,6 +2189,8 @@ with pkgs;
|
|||
|
||||
punes = libsForQt5.callPackage ../applications/emulators/punes { };
|
||||
|
||||
punes-qt6 = qt6Packages.callPackage ../applications/emulators/punes { };
|
||||
|
||||
py65 = python3Packages.callPackage ../applications/emulators/py65 { };
|
||||
|
||||
resim = callPackage ../applications/emulators/resim {};
|
||||
|
@ -2525,9 +2532,7 @@ with pkgs;
|
|||
|
||||
lilo = callPackage ../tools/misc/lilo { };
|
||||
|
||||
logseq = callPackage ../applications/misc/logseq {
|
||||
electron = electron_20;
|
||||
};
|
||||
logseq = callPackage ../applications/misc/logseq { };
|
||||
|
||||
natls = callPackage ../tools/misc/natls { };
|
||||
|
||||
|
@ -28470,6 +28475,8 @@ with pkgs;
|
|||
|
||||
cava = callPackage ../applications/audio/cava { };
|
||||
|
||||
cavalier = callPackage ../applications/audio/cavalier { };
|
||||
|
||||
cb2bib = libsForQt5.callPackage ../applications/office/cb2bib { };
|
||||
|
||||
cbatticon = callPackage ../applications/misc/cbatticon { };
|
||||
|
@ -28586,6 +28593,8 @@ with pkgs;
|
|||
|
||||
complete-alias = callPackage ../tools/misc/complete-alias { };
|
||||
|
||||
completely = callPackage ../tools/misc/completely { };
|
||||
|
||||
confclerk = libsForQt5.callPackage ../applications/misc/confclerk { };
|
||||
|
||||
copyq = qt6Packages.callPackage ../applications/misc/copyq { };
|
||||
|
|
|
@ -9884,6 +9884,8 @@ self: super: with self; {
|
|||
|
||||
remi = callPackage ../development/python-modules/remi { };
|
||||
|
||||
remote-pdb = callPackage ../development/python-modules/remote-pdb { };
|
||||
|
||||
renault-api = callPackage ../development/python-modules/renault-api { };
|
||||
|
||||
rencode = callPackage ../development/python-modules/rencode { };
|
||||
|
|
|
@ -34,6 +34,8 @@ let
|
|||
nix = nativePlatforms;
|
||||
nixUnstable = nativePlatforms;
|
||||
mesa = nativePlatforms;
|
||||
rustc = nativePlatforms;
|
||||
cargo = nativePlatforms;
|
||||
};
|
||||
|
||||
gnuCommon = lib.recursiveUpdate common {
|
||||
|
|
Loading…
Reference in a new issue