Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-02-01 00:14:39 +00:00 committed by GitHub
commit 2056957bd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
78 changed files with 1047 additions and 3203 deletions

View file

@ -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

View file

@ -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

View file

@ -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" ]

View file

@ -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" ]

View file

@ -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.

View file

@ -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" ];

View file

@ -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";

View file

@ -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 youre 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>

View file

@ -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`.

View file

@ -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) ''

View file

@ -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}" ];

View file

@ -516,7 +516,6 @@ in {
${optionalString (!isNull defaults) ''
defaults {
${indentLines 2 defaults}
multipath_dir ${cfg.package}/lib/multipath
}
''}
${optionalString (!isNull blacklist) ''

View file

@ -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";
};
};
};

View file

@ -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} -" ];
};
};
}

View file

@ -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 ''

View file

@ -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 = [

View file

@ -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 {};

View 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')
'';
})

View file

@ -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 = {

View 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 ];
};
}

View file

@ -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 = ''

View file

@ -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 ];
};

View file

@ -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" ];
};
}

View file

@ -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};
};
};

View file

@ -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;

View file

@ -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)

View file

@ -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" ];
};
}

View file

@ -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";

View file

@ -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";

View file

@ -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 ];

View file

@ -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; {

View file

@ -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;

View file

@ -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 ];

View file

@ -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" ];

View file

@ -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 ];

View file

@ -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;

View file

@ -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 ];
};

View file

@ -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;
};
};
}

View 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

View 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;
};
}

View file

@ -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

View file

@ -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 ];

View file

@ -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"

View file

@ -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 +
quasiproportional 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
];
};
}

View file

@ -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;
}

File diff suppressed because it is too large Load diff

View file

@ -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)"

View file

@ -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 ];
};
}

View file

@ -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 ]; } ''

View 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"

View file

@ -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 = [

View file

@ -41,7 +41,7 @@ buildPythonPackage rec {
];
passthru.optional-dependencies = {
hidredis = [
hiredis = [
hiredis
];
ocsp = [

View 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;
};
}

View file

@ -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 = ''

View file

@ -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";

View file

@ -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 ];

View file

@ -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;

View file

@ -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;

View file

@ -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"
}
}

View file

@ -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";

View file

@ -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 = ''

View file

@ -11,6 +11,8 @@ buildGoModule rec {
sha256 = "sha256-VqVrAmbKTfDhcvgayEE1wUeFBSTGczBrntIJQ5/uWzM=";
};
subPackages = [ "." ];
vendorSha256 = null;
meta = with lib; {

View file

@ -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;
};

View file

@ -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 ];

View file

@ -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
];

View file

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'completely'

View 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

View 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 ];
};
}

View 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";
};
}

View file

@ -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"

View file

@ -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 ];

View file

@ -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

View file

@ -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 ];

View file

@ -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="

View 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 {

View file

@ -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 { };

View file

@ -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 { };

View file

@ -34,6 +34,8 @@ let
nix = nativePlatforms;
nixUnstable = nativePlatforms;
mesa = nativePlatforms;
rustc = nativePlatforms;
cargo = nativePlatforms;
};
gnuCommon = lib.recursiveUpdate common {