Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-01-25 00:13:22 +00:00 committed by GitHub
commit 395b0f9a10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
280 changed files with 7533 additions and 4849 deletions

View File

@ -8,7 +8,15 @@ name: Check pkgs/by-name
# see pkgs/test/nixpkgs-check-by-name/scripts/README.md
on:
# Using pull_request_target instead of pull_request avoids having to approve first time contributors
pull_request_target
pull_request_target:
# This workflow depends on the base branch of the PR,
# but changing the base branch is not included in the default trigger events,
# which would be `opened`, `synchronize` or `reopened`.
# Instead it causes an `edited` event, so we need to add it explicitly here
# While `edited` is also triggered when the PR title/body is changed,
# this PR action is fairly quick, and PR's don't get edited that often,
# so it shouldn't be a problem
types: [opened, synchronize, reopened, edited]
permissions:
# We need this permission to cancel the workflow run if there's a merge conflict

View File

@ -14615,6 +14615,12 @@
githubId = 5737016;
name = "Philipp Schuster";
};
phlip9 = {
email = "philiphayes9@gmail.com";
github = "phlip9";
githubId = 918989;
name = "Philip Hayes";
};
Phlogistique = {
email = "noe.rubinstein@gmail.com";
github = "Phlogistique";

View File

@ -38,8 +38,6 @@ The file system can be configured in NixOS via the usual [fileSystems](#opt-file
Here's a typical setup:
```nix
{
system.fsPackages = [ pkgs.sshfs ];
fileSystems."/mnt/my-dir" = {
device = "my-user@example.com:/my-dir/";
fsType = "sshfs";

View File

@ -10,7 +10,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment.
- `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_testing`, and is therefore no longer available.
- `linuxPackages_testing_bcachefs` is now fully deprecated by `linuxPackages_latest`, and is therefore no longer available.
- NixOS now installs a stub ELF loader that prints an informative error message when users attempt to run binaries not made for NixOS.
- This can be disabled through the `environment.stub-ld.enable` option.
@ -57,6 +57,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [ping_exporter](https://github.com/czerwonk/ping_exporter), a Prometheus exporter for ICMP echo requests. Available as [services.prometheus.exporters.ping](#opt-services.prometheus.exporters.ping.enable).
- [TigerBeetle](https://tigerbeetle.com/), a distributed financial accounting database designed for mission critical safety and performance. Available as [services.tigerbeetle](#opt-services.tigerbeetle.enable).
- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
- [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).

View File

@ -12,6 +12,10 @@ in
Add your user to the corectrl group to run corectrl without needing to enter your password
'');
package = mkPackageOption pkgs "corectrl" {
extraDescription = "Useful for overriding the configuration options used for the package.";
};
gpuOverclock = {
enable = mkEnableOption (lib.mdDoc ''
GPU overclocking
@ -32,9 +36,9 @@ in
config = mkIf cfg.enable (lib.mkMerge [
{
environment.systemPackages = [ pkgs.corectrl ];
environment.systemPackages = [ cfg.package ];
services.dbus.packages = [ pkgs.corectrl ];
services.dbus.packages = [ cfg.package ];
users.groups.corectrl = { };

View File

@ -446,6 +446,7 @@
./services/databases/postgresql.nix
./services/databases/redis.nix
./services/databases/surrealdb.nix
./services/databases/tigerbeetle.nix
./services/databases/victoriametrics.nix
./services/desktops/accountsservice.nix
./services/desktops/ayatana-indicators.nix
@ -1518,6 +1519,7 @@
./tasks/filesystems/nfs.nix
./tasks/filesystems/ntfs.nix
./tasks/filesystems/reiserfs.nix
./tasks/filesystems/sshfs.nix
./tasks/filesystems/squashfs.nix
./tasks/filesystems/unionfs-fuse.nix
./tasks/filesystems/vboxsf.nix

View File

@ -0,0 +1,33 @@
# TigerBeetle {#module-services-tigerbeetle}
*Source:* {file}`modules/services/databases/tigerbeetle.nix`
*Upstream documentation:* <https://docs.tigerbeetle.com/>
TigerBeetle is a distributed financial accounting database designed for mission critical safety and performance.
To enable TigerBeetle, add the following to your {file}`configuration.nix`:
```
services.tigerbeetle.enable = true;
```
When first started, the TigerBeetle service will create its data file at {file}`/var/lib/tigerbeetle` unless the file already exists, in which case it will just use the existing file.
If you make changes to the configuration of TigerBeetle after its data file was already created (for example increasing the replica count), you may need to remove the existing file to avoid conflicts.
## Configuring {#module-services-tigerbeetle-configuring}
By default, TigerBeetle will only listen on a local interface.
To configure it to listen on a different interface (and to configure it to connect to other replicas, if you're creating more than one), you'll have to set the `addresses` option.
Note that the TigerBeetle module won't open any firewall ports automatically, so if you configure it to listen on an external interface, you'll need to ensure that connections can reach it:
```
services.tigerbeetle = {
enable = true;
addresses = [ "0.0.0.0:3001" ];
};
networking.firewall.allowedTCPPorts = [ 3001 ];
```
A complete list of options for TigerBeetle can be found [here](#opt-services.tigerbeetle.enable).

View File

@ -0,0 +1,115 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.tigerbeetle;
in
{
meta = {
maintainers = with lib.maintainers; [ danielsidhion ];
doc = ./tigerbeetle.md;
buildDocsInSandbox = true;
};
options = {
services.tigerbeetle = with lib; {
enable = mkEnableOption (mdDoc "TigerBeetle server");
package = mkPackageOption pkgs "tigerbeetle" { };
clusterId = mkOption {
type = types.either types.ints.unsigned (types.strMatching "[0-9]+");
default = 0;
description = lib.mdDoc ''
The 128-bit cluster ID used to create the replica data file (if needed).
Since Nix only supports integers up to 64 bits, you need to pass a string to this if the cluster ID can't fit in 64 bits.
Otherwise, you can pass the cluster ID as either an integer or a string.
'';
};
replicaIndex = mkOption {
type = types.ints.unsigned;
default = 0;
description = lib.mdDoc ''
The index (starting at 0) of the replica in the cluster.
'';
};
replicaCount = mkOption {
type = types.ints.unsigned;
default = 1;
description = lib.mdDoc ''
The number of replicas participating in replication of the cluster.
'';
};
cacheGridSize = mkOption {
type = types.strMatching "[0-9]+(K|M|G)B";
default = "1GB";
description = lib.mdDoc ''
The grid cache size.
The grid cache acts like a page cache for TigerBeetle.
It is recommended to set this as large as possible.
'';
};
addresses = mkOption {
type = types.listOf types.nonEmptyStr;
default = [ "3001" ];
description = lib.mdDoc ''
The addresses of all replicas in the cluster.
This should be a list of IPv4/IPv6 addresses with port numbers.
Either the address or port number (but not both) may be omitted, in which case a default of 127.0.0.1 or 3001 will be used.
The first address in the list corresponds to the address for replica 0, the second address for replica 1, and so on.
'';
};
};
};
config = lib.mkIf cfg.enable {
assertions =
let
numAddresses = builtins.length cfg.addresses;
in
[
{
assertion = cfg.replicaIndex < cfg.replicaCount;
message = "the TigerBeetle replica index must fit the configured replica count";
}
{
assertion = cfg.replicaCount == numAddresses;
message = if cfg.replicaCount < numAddresses then "TigerBeetle must not have more addresses than the configured number of replicas" else "TigerBeetle must be configured with the addresses of all replicas";
}
];
systemd.services.tigerbeetle =
let
replicaDataPath = "/var/lib/tigerbeetle/${builtins.toString cfg.clusterId}_${builtins.toString cfg.replicaIndex}.tigerbeetle";
in
{
description = "TigerBeetle server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = ''
if ! test -e "${replicaDataPath}"; then
${lib.getExe cfg.package} format --cluster="${builtins.toString cfg.clusterId}" --replica="${builtins.toString cfg.replicaIndex}" --replica-count="${builtins.toString cfg.replicaCount}" "${replicaDataPath}"
fi
'';
serviceConfig = {
Type = "exec";
DynamicUser = true;
ProtectHome = true;
DevicePolicy = "closed";
StateDirectory = "tigerbeetle";
StateDirectoryMode = 700;
ExecStart = "${lib.getExe cfg.package} start --cache-grid=${cfg.cacheGridSize} --addresses=${lib.escapeShellArg (builtins.concatStringsSep "," cfg.addresses)} ${replicaDataPath}";
};
};
environment.systemPackages = [ cfg.package ];
};
}

View File

@ -16,6 +16,7 @@ let
"fwupd/fwupd.conf" = {
source = format.generate "fwupd.conf" {
fwupd = cfg.daemonSettings;
} // lib.optionalAttrs (lib.length (lib.attrNames cfg.uefiCapsuleSettings) != 0) {
uefi_capsule = cfg.uefiCapsuleSettings;
};
# fwupd tries to chmod the file if it doesn't have the right permissions

View File

@ -44,6 +44,7 @@ let
++ [ (sec_list_fa "id" nix_def "template") ]
++ [ (sec_list_fa "domain" nix_def "zone") ]
++ [ (sec_plain nix_def "include") ]
++ [ (sec_plain nix_def "clear") ]
);
# A plain section contains directly attributes (we don't really check that ATM).

View File

@ -86,9 +86,14 @@ touch /etc/initrd-release
# Function for waiting for device(s) to appear.
waitDevice() {
local device="$1"
# Split device string using ':' as a delimiter as bcachefs
# uses this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3
local IFS=':'
# Split device string using ':' as a delimiter, bcachefs uses
# this for multi-device filesystems, i.e. /dev/sda1:/dev/sda2:/dev/sda3
local IFS
# bcachefs is the only known use for this at the moment
# Preferably, the 'UUID=' syntax should be enforced, but
# this is kept for compatibility reasons
if [ "$fsType" = bcachefs ]; then IFS=':'; fi
# USB storage devices tend to appear with some delay. It would be
# great if we had a way to synchronously wait for them, but

View File

@ -123,9 +123,14 @@ in
inherit assertions;
# needed for systemd-remount-fs
system.fsPackages = [ pkgs.bcachefs-tools ];
# FIXME: Remove this line when the default kernel has bcachefs
# FIXME: Remove this line when the LTS (default) kernel is at least version 6.7
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
services.udev.packages = [ pkgs.bcachefs-tools ];
systemd = {
packages = [ pkgs.bcachefs-tools ];
services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
};
}
(lib.mkIf ((lib.elem "bcachefs" config.boot.initrd.supportedFilesystems) || (bootFs != {})) {

View File

@ -0,0 +1,7 @@
{ config, lib, pkgs, ... }:
{
config = lib.mkIf (lib.any (fs: fs == "sshfs" || fs == "fuse.sshfs") config.boot.supportedFilesystems) {
system.fsPackages = [ pkgs.sshfs ];
};
}

View File

@ -185,6 +185,14 @@ let
monA.succeed(
"ceph osd pool create multi-node-test 32 32",
"ceph osd pool ls | grep 'multi-node-test'",
# We need to enable an application on the pool, otherwise it will
# stay unhealthy in state POOL_APP_NOT_ENABLED.
# Creating a CephFS would do this automatically, but we haven't done that here.
# See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application
# We use the custom application name "nixos-test" for this.
"ceph osd pool application enable multi-node-test nixos-test",
"ceph osd pool rename multi-node-test multi-node-other-test",
"ceph osd pool ls | grep 'multi-node-other-test'",
)

View File

@ -145,6 +145,14 @@ let
monA.succeed(
"ceph osd pool create single-node-test 32 32",
"ceph osd pool ls | grep 'single-node-test'",
# We need to enable an application on the pool, otherwise it will
# stay unhealthy in state POOL_APP_NOT_ENABLED.
# Creating a CephFS would do this automatically, but we haven't done that here.
# See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application
# We use the custom application name "nixos-test" for this.
"ceph osd pool application enable single-node-test nixos-test",
"ceph osd pool rename single-node-test single-node-other-test",
"ceph osd pool ls | grep 'single-node-other-test'",
)

View File

@ -145,6 +145,14 @@ let
monA.succeed(
"ceph osd pool create single-node-test 32 32",
"ceph osd pool ls | grep 'single-node-test'",
# We need to enable an application on the pool, otherwise it will
# stay unhealthy in state POOL_APP_NOT_ENABLED.
# Creating a CephFS would do this automatically, but we haven't done that here.
# See: https://docs.ceph.com/en/reef/rados/operations/pools/#associating-a-pool-with-an-application
# We use the custom application name "nixos-test" for this.
"ceph osd pool application enable single-node-test nixos-test",
"ceph osd pool rename single-node-test single-node-other-test",
"ceph osd pool ls | grep 'single-node-other-test'",
)
@ -182,19 +190,16 @@ let
monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
# This test has been commented out due to the upstream issue with pyo3
# that has broken this dashboard
# Reference: https://www.spinics.net/lists/ceph-users/msg77812.html
# Enable the dashboard and recheck health
# monA.succeed(
# "ceph mgr module enable dashboard",
# "ceph config set mgr mgr/dashboard/ssl false",
# # default is 8080 but it's better to be explicit
# "ceph config set mgr mgr/dashboard/server_port 8080",
# )
# monA.wait_for_open_port(8080)
# monA.wait_until_succeeds("curl -q --fail http://localhost:8080")
# monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
monA.succeed(
"ceph mgr module enable dashboard",
"ceph config set mgr mgr/dashboard/ssl false",
# default is 8080 but it's better to be explicit
"ceph config set mgr mgr/dashboard/server_port 8080",
)
monA.wait_for_open_port(8080)
monA.wait_until_succeeds("curl -q --fail http://localhost:8080")
monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
'';
in {
name = "basic-single-node-ceph-cluster";

View File

@ -5,23 +5,25 @@
python3.pkgs.buildPythonPackage rec {
pname = "ledfx";
version = "2.0.86";
version = "2.0.89";
pyproject= true;
src = fetchPypi {
inherit pname version;
hash = "sha256-miOGMsrvK3A3SYnd+i/lqB+9GOHtO4F3RW8NkxDgFqU=";
hash = "sha256-PBOj6u0TukT6wRKMQML4+XNQQZvsGyRzXBk9YsISst4=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \
--replace "sentry-sdk==1.38.0" "sentry-sdk" \
--replace "~=" ">="
'';
pythonRelaxDeps = true;
pythonRemoveDeps = [
# not packaged
"rpi-ws281x"
];
nativeBuildInputs = with python3.pkgs; [
setuptools
cython
poetry-core
pythonRelaxDepsHook
];
propagatedBuildInputs = with python3.pkgs; [
@ -29,8 +31,8 @@ python3.pkgs.buildPythonPackage rec {
aiohttp-cors
aubio
certifi
cython
flux-led
python-dotenv
icmplib
mss
multidict
@ -52,6 +54,7 @@ python3.pkgs.buildPythonPackage rec {
sentry-sdk
setuptools
sounddevice
stupidartnet
uvloop
voluptuous
zeroconf

View File

@ -5,13 +5,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "10.40";
version = "10.43";
pname = "monkeys-audio";
src = fetchzip {
url = "https://monkeysaudio.com/files/MAC_${
builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
sha256 = "sha256-UHQSZM5AjODtgg0Pgi2N8tLKRI9Qg1CotPx2KoJk1wQ=";
sha256 = "sha256-Y1X0KWf87L8Qjx/G6/RV37iiN7enwXTAaqQ+45FfTT4=";
stripRoot = false;
};
nativeBuildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config
, alsa-lib, asio, avahi, boost179, flac, libogg, libvorbis, soxr
, IOKit, AudioToolbox
, aixlog, popl
@ -18,6 +18,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-dlK1xQQqst4VQjioC7MZzqXwMC+JfqtvnD5lrOqGhYI=";
};
patches = [
# Can be removed with next release after 0.27.0
(fetchpatch {
name = "include-cstdint.patch";
url = "https://github.com/badaix/snapcast/commit/481f08199ca31c60c9a3475f1064e6b06a503d12.patch";
hash = "sha256-klpvmBpBAlBMtcgnNfW6X6vDbJFnOuOsPUDXcNf5tGc=";
})
];
nativeBuildInputs = [ cmake pkg-config ];
# snapcast also supports building against tremor but as we have libogg, that's
# not needed

View File

@ -19,15 +19,15 @@
, webkitgtk
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "sonobus";
version = "1.7.0";
version = "1.7.2";
src = fetchFromGitHub {
owner = "sonosaurus";
repo = "sonobus";
rev = version;
sha256 = "sha256-zOPQK5X1E6t53DOjV7qSelyep4+m9aL4tRHqwyeuFQA=";
rev = finalAttrs.version;
hash = "sha256-NOdmHFKrV7lb8XbeG5GdLKYZ0c/vcz3fcqYj9JvE+/Q=";
fetchSubmodules = true;
};
@ -56,6 +56,9 @@ stdenv.mkDerivation rec {
libXrandr
];
env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-rpath ${lib.makeLibraryPath (finalAttrs.runtimeDependencies)}";
dontPatchELF = true; # needed or nix will try to optimize the binary by removing "useless" rpath
postPatch = lib.optionalString (stdenv.isLinux) ''
# needs special setup on Linux, dunno if it can work on Darwin
# https://github.com/NixOS/nixpkgs/issues/19098
@ -80,4 +83,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
broken = stdenv.isDarwin;
};
}
})

View File

@ -13,11 +13,15 @@ let
in
stdenv.mkDerivation rec {
pname = "SunVox";
version = "2.1c";
version = "2.1.1c";
src = fetchurl {
url = "https://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip";
sha256 = "sha256-yPVcbtlAVbO9uMsFlfZ51T408hA1VPJAI+R+Jdjcyjw=";
urls = [
"https://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip"
# Upstream removes downloads of older versions, please save bumped versions to archive.org
"https://web.archive.org/web/20231204012052/https://www.warmplace.ru/soft/sunvox/sunvox-2.1.1c.zip"
];
sha256 = "sha256-LfBQ/f2X75bcqLp39c2tdaSlDm+E73GUvB68XFqiicw=";
};
nativeBuildInputs = [ unzip ];

File diff suppressed because it is too large Load Diff

View File

@ -11,15 +11,13 @@
}:
rustPlatform.buildRustPackage rec {
pname = "polkadot";
version = "1.5.0";
version = "1.6.0";
src = fetchFromGitHub {
owner = "paritytech";
repo = "polkadot-sdk";
# NOTE: temporary tag with fix for building with nix
# `-nix` suffix should be removed in the next release
rev = "polkadot-v${version}-nix";
hash = "sha256-pjny1aw9l2m9t8VyUB+EaQaPtYPypC6WqOwAco1kxNU=";
rev = "polkadot-v${version}";
hash = "sha256-myQ1TIkytEGdaR3KZOMXK7JK83/Qx46UVhp2GFG7LiA=";
# the build process of polkadot requires a .git folder in order to determine
# the git commit hash that is being built and add it to the version string.
@ -43,9 +41,11 @@ rustPlatform.buildRustPackage rec {
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"ark-secret-scalar-0.0.2" = "sha256-ytwKeUkiXIcwJLo9wpWSIjL4LBZJDbeED5Yqxso9l74=";
"common-0.1.0" = "sha256-9vTJNKsL6gK8MM8dUKrShEvL9Ac9YQg1q8iVE9+deak=";
"fflonk-0.1.0" = "sha256-PC7eJEOo/RN9Gk27CcTIyGMA9XZeFAJkO2FK02JVzN0=";
"amcl-0.3.0" = "sha256-EWXQddOskhc07ufRDihn91YRk1fdrLw20N/IoppiWyo=";
"ark-secret-scalar-0.0.2" = "sha256-91sODxaj0psMw0WqigMCGO5a7+NenAsRj5ZmW6C7lvc=";
"common-0.1.0" = "sha256-LHz2dK1p8GwyMimlR7AxHLz1tjTYolPwdjP7pxork1o=";
"ethabi-decode-1.4.0" = "sha256-4sDCsr7OPaaDTs2phA5fdGKqSReYf2HD2IUUh7B43GU=";
"fflonk-0.1.0" = "sha256-+BvZ03AhYNP0D8Wq9EMsP+lSgPA6BBlnWkoxTffVLwo=";
"simple-mermaid-0.1.0" = "sha256-IekTldxYq+uoXwGvbpkVTXv2xrcZ0TQfyyE2i2zH+6w=";
"sp-ark-bls12-381-0.4.2" = "sha256-nNr0amKhSvvI9BlsoP+8v6Xppx/s7zkf0l9Lm3DW8w8=";
"sp-crypto-ec-utils-0.4.1" = "sha256-/Sw1ZM/JcJBokFE4y2mv/P43ciTL5DEm0PDG0jZvMkI=";

View File

@ -22,10 +22,10 @@
let
pname = "typora";
version = "1.7.6";
version = "1.8.6";
src = fetchurl {
url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
hash = "sha256-o91elUN8sFlzVfIQj29amsiUdSBjZc51tLCO+Qfar6c=";
hash = "sha256-5hA9wEP3Hf3RxYC6KKe6JCiMEYKIHk9YhcA9tnSvirc=";
};
typoraBase = stdenv.mkDerivation {

View File

@ -1,11 +1,11 @@
diff -Naur source-old/ruby/GNUmakefile source-new/ruby/GNUmakefile
--- source-old/ruby/GNUmakefile 1969-12-31 21:00:01.000000000 -0300
+++ source-new/ruby/GNUmakefile 2022-11-13 22:43:09.700197748 -0300
@@ -11,17 +11,9 @@
ruby += audio.openal
ruby += input.quartz #input.carbon
--- source-old/ruby/GNUmakefile 2024-01-23 16:12:41.009951705 +0000
+++ source-new/ruby/GNUmakefile 2024-01-23 16:13:54.619174062 +0000
@@ -29,20 +29,9 @@
ruby += input.sdl
endif
else ifeq ($(platform),linux)
- pkg_check = $(if $(shell pkg-config $1 && echo 1),$2)
- pkg_check = $(if $(shell $(pkg_config) $1 && echo 1),$2)
- ruby += video.glx video.glx2 video.xshm
- ruby += $(call pkg_check,xv,video.xvideo)
- ruby += audio.oss audio.alsa
@ -15,10 +15,13 @@ diff -Naur source-old/ruby/GNUmakefile source-new/ruby/GNUmakefile
- ruby += $(call pkg_check,ao,audio.ao)
- ruby += input.xlib
- ruby += $(call pkg_check,libudev,input.udev)
- ruby += $(call pkg_check,sdl2,input.sdl)
- ifeq ($(sdl2),true)
- ruby += $(call pkg_check,sdl2,input.sdl)
- ruby += $(call pkg_check,sdl2,audio.sdl)
- endif
+ ruby += video.glx video.glx2 video.xshm video.xvideo
+ ruby += audio.oss audio.alsa audio.openal audio.pulseaudio audio.pulseaudiosimple audio.ao
+ ruby += input.xlib input.udev input.sdl
else ifeq ($(platform),bsd)
pkg_check = $(if $(shell pkg-config $1 && echo 1),$2)
pkg_check = $(if $(shell $(pkg_config) $1 && echo 1),$2)
ruby += video.glx video.glx2 video.xshm

View File

@ -22,13 +22,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ares";
version = "133";
version = "135";
src = fetchFromGitHub {
owner = "ares-emulator";
repo = "ares";
rev = "v${finalAttrs.version}";
hash = "sha256-KCpHiIdid5h5CU2uyMOo+p5h50h3Ki5/4mUpdTAPKQA=";
hash = "sha256-SZhsMKjNxmT2eHsXAZcyMGoMhwWGgvXpDeZGGVn58Sc=";
};
patches = [

View File

@ -11,7 +11,7 @@ let
if useCCTweaked
then fetchurl {
url = "${baseUrl}-cct.jar";
hash = "sha256-B9Zan6wpYnUtaNbUIrXvkchPiEquMs9R2Kiqg85/VdY=";
hash = "sha256-nna5KRp6jVLkbWKOHGtQqaPr3Zl05mVkCf/8X9C5lRY=";
}
else fetchurl {
url = "${baseUrl}-cc.jar";

View File

@ -1,22 +1,23 @@
{ lib
, stdenv
, fetchFromGitHub
, SDL2
, cmake
, fetchFromGitHub
, ffmpeg
, discord-rpc
, libedit
, libelf
, libepoxy
, libsForQt5
, libzip
, lua5_4
, lua
, minizip
, pkg-config
, libsForQt5
, stdenv
, wrapGAppsHook
, enableDiscordRpc ? false
}:
let
lua = lua5_4;
inherit (libsForQt5)
qtbase
qtmultimedia
@ -25,27 +26,25 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mgba";
version = "0.10.2";
version = "0.10.3";
src = fetchFromGitHub {
owner = "mgba-emu";
repo = "mgba";
rev = finalAttrs.version;
hash = "sha256-+AwIYhnqp984Banwb7zmB5yzenExfLLU1oGJSxeTl/M=";
hash = "sha256-wSt3kyjRxKBnDOVY10jq4cpv7uIaBUIcsZr6aU7XnMA=";
};
outputs = [ "out" "dev" "doc" "lib" "man" ];
nativeBuildInputs = [
SDL2
cmake
pkg-config
wrapGAppsHook
wrapQtAppsHook
];
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
buildInputs = [
SDL2
ffmpeg
@ -58,9 +57,22 @@ stdenv.mkDerivation (finalAttrs: {
qtbase
qtmultimedia
qttools
]
++ lib.optionals enableDiscordRpc [ discord-rpc ];
cmakeFlags = [
(lib.cmakeBool "USE_DISCORD_RPC" enableDiscordRpc)
];
meta = with lib; {
strictDeps = true;
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = {
homepage = "https://mgba.io";
description = "A modern GBA emulator with a focus on accuracy";
longDescription = ''
@ -77,10 +89,11 @@ stdenv.mkDerivation (finalAttrs: {
runners, and a modern feature set for emulators that older emulators may
not support.
'';
changelog = "https://github.com/mgba-emu/mgba/blob/${finalAttrs.version}/CHANGES";
license = licenses.mpl20;
maintainers = with maintainers; [ MP2E AndersonTorres ];
platforms = platforms.linux;
changelog = "https://raw.githubusercontent.com/mgba-emu/mgba/${finalAttrs.src.rev}/CHANGES";
license = with lib.licenses; [ mpl20 ];
mainProgram = "mgba";
maintainers = with lib.maintainers; [ MP2E AndersonTorres ];
platforms = lib.platforms.linux;
broken = enableDiscordRpc; # Some obscure `ld` error
};
})

View File

@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, gitUpdater
, cmake
, SDL2
@ -17,6 +18,15 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-Pe+TSu9FBUhxtACq+6jMbrUxiwKLOJgQbEcmUrcrjMs=";
};
patches = [
# Remove when version > 1.2
(fetchpatch {
name = "0001-nuked-md-Fix-missing-string-h-include.patch";
url = "https://github.com/nukeykt/Nuked-MD/commit/b875cd79104217af581131b22f4111409273617a.patch";
hash = "sha256-Mx3jmrlBbxdz3ZBr4XhmBk1S04xB0uaxzPXpXSlipV4=";
})
];
# Interesting detail about our SDL2 packaging:
# Because we build it with the configure script instead of CMake, we ship sdl2-config.cmake instead of SDL2Config.cmake
# The former doesn't set SDL2_FOUND while the latter does (like CMake config scripts should), which causes this issue:

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "sameboy";
version = "0.16.1";
version = "0.16.2";
src = fetchFromGitHub {
owner = "LIJI32";
repo = "SameBoy";
rev = "v${version}";
sha256 = "sha256-0B9wN6CTx4T3P7RomOrz/bRdp/YGknPqmwWByAbGHvI=";
sha256 = "sha256-KEbwug/cwGLS/uhY1rKasLJWaKtiYYzdZvbAU2orfbI=";
};
enableParallelBuilding = true;

View File

@ -31,11 +31,11 @@
stdenv.mkDerivation rec {
pname = "saga";
version = "9.3.0";
version = "9.3.1";
src = fetchurl {
url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz";
sha256 = "sha256-zBdp4Eyzpc21zhA2+UD6LrXNH+sSfb0avOscxCbGxjE=";
sha256 = "sha256-QrpEbb8zN003Afnu9UZUanWE0lIiy95POSWd1jB8EtA=";
};
sourceRoot = "saga-${version}/saga-gis";

View File

@ -6,23 +6,23 @@
}:
let
version = "5.11.1";
version = "5.11.2";
docFiles = [
(fetchurl {
url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewTutorial-${version}.pdf";
name = "Tutorial.pdf";
sha256 = "1knpirjbz3rv8p8n03p39vv8vi5imvxakjsssqgly09g0cnsikkw";
hash = "sha256-KIcd5GG+1L3rbj4qdLbc+eDa5Wy4+nqiVIxfHu5Tdpg=";
})
(fetchurl {
url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewGettingStarted-${version}.pdf";
name = "GettingStarted.pdf";
sha256 = "14xhlvg7s7d5amqf4qfyamx2a6b66zf4cmlfm3s7iw3jq01x1lx6";
hash = "sha256-ptPQA8By8Hj0qI5WRtw3ZhklelXeYeJwVaUdfd6msJM=";
})
(fetchurl {
url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewCatalystGuide-${version}.pdf";
name = "CatalystGuide.pdf";
sha256 = "133vcfrbg2nh15igl51ns6gnfn1is20vq6j0rg37wha697pmcr4a";
hash = "sha256-imRW70lGQX7Gy0AavIHQMVhnn9E2FPpiCdCKt7Jje4w=";
})
];
@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
owner = "paraview";
repo = "paraview";
rev = "v${version}";
hash = "sha256-LatNHfiAqB2kqzERRnYae0WIXBb4nXQ79Be4kuh8NFQ=";
hash = "sha256-fe/4xxxlkal08vE971FudTnESFfGMYzuvSyAMS6HSxI=";
fetchSubmodules = true;
};
@ -90,6 +90,8 @@ in stdenv.mkDerivation rec {
./dont-redefine-strlcat.patch
];
env.CXXFLAGS = "-include cstdint";
postInstall = let docDir = "$out/share/paraview-${lib.versions.majorMinor version}/doc"; in
lib.optionalString withDocs ''
mkdir -p ${docDir};

View File

@ -5,12 +5,12 @@
python3.pkgs.buildPythonApplication rec {
pname = "ablog";
version = "0.11.4.post1";
version = "0.11.6";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-Zyvx7lVUQtjoGsSpFmH8pFrgTGgsFd4GMsL3fXKtUpU=";
hash = "sha256-fV4W4AaiqyruIz3OQ7/lGkMPMKmyiFa+fdU2QeeQCvs=";
};
nativeBuildInputs = with python3.pkgs; [
@ -36,6 +36,7 @@ python3.pkgs.buildPythonApplication rec {
pytestFlagsArray = [
"-W" "ignore::sphinx.deprecation.RemovedInSphinx90Warning"
"--rootdir" "src/ablog"
"-W" "ignore::sphinx.deprecation.RemovedInSphinx90Warning" # Ignore ImportError
];
meta = with lib; {

View File

@ -18,13 +18,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gpxsee";
version = "13.14";
version = "13.15";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = finalAttrs.version;
hash = "sha256-9Vq5CfZi58hqTKnIZSR5iQefXzNq0BErtZ8NoxLchxo=";
hash = "sha256-+JxxJKHOCz1Ccii27II4L4owo/qvb7RQ6STqJ+PEEBA=";
};
buildInputs = [

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "iptsd";
version = "1.4.0";
version = "2";
src = fetchFromGitHub {
owner = "linux-surface";
repo = pname;
rev = "v${version}";
hash = "sha256-qBABt0qEePGrZH4khnikvStrSi/OVmP3yVMJZbEd36M=";
hash = "sha256-zTXTyDgSa1akViDZlYLtJk1yCREGCSJKxzF+HZAWx0c=";
};
nativeBuildInputs = [
@ -68,6 +68,7 @@ stdenv.mkDerivation rec {
description = "Userspace daemon for Intel Precise Touch & Stylus";
homepage = "https://github.com/linux-surface/iptsd";
license = licenses.gpl2Plus;
mainProgram = "iptsd";
maintainers = with maintainers; [ tomberek dotlambda ];
platforms = platforms.linux;
};

View File

@ -6,14 +6,35 @@
, python3
}:
python3.pkgs.buildPythonApplication rec {
let
py = python3.override {
packageOverrides = self: super: {
# Doesn't work with latest urwid
urwid = super.urwid.overridePythonAttrs (oldAttrs: rec {
version = "2.1.2";
src = fetchFromGitHub {
owner = "urwid";
repo = "urwid";
rev = "refs/tags/${version}";
hash = "sha256-oPb2h/+gaqkZTXIiESjExMfBNnOzDvoMkXvkZ/+KVwo=";
};
doCheck = false;
});
};
};
in
with py.pkgs;
buildPythonApplication rec {
pname = "khal";
version = "0.11.2";
pyproject = true;
src = fetchFromGitHub {
owner = "pimutils";
repo = pname;
rev = "v${version}";
repo = "khal";
rev = "refs/tags/v${version}";
hash = "sha256-yI33pB/t+UISvSbLUzmsZqBxLF6r8R3j9iPNeosKcYw=";
};
@ -21,12 +42,13 @@ python3.pkgs.buildPythonApplication rec {
glibcLocales
installShellFiles
] ++ (with python3.pkgs; [
setuptools
setuptools-scm
sphinx
sphinxcontrib-newsfeed
]);
propagatedBuildInputs = with python3.pkgs;[
propagatedBuildInputs = with py.pkgs;[
atomicwrites
click
click-log
@ -82,6 +104,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with lib; {
description = "CLI calendar application";
homepage = "http://lostpackets.de/khal/";
changelog = "https://github.com/pimutils/khal/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ gebner ];
};

View File

@ -48,11 +48,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mysql-workbench";
version = "8.0.34";
version = "8.0.36";
src = fetchurl {
url = "https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-${finalAttrs.version}-src.tar.gz";
hash = "sha256-ub/D6HRtXOvX+lai71t1UjMmMzBsz5ljCrJCuf9aq7U=";
hash = "sha256-Y02KZrbCd3SRBYpgq6gYfpR+TEmg566D3zEvpwcUY3w=";
};
patches = [

File diff suppressed because it is too large Load Diff

View File

@ -24,13 +24,13 @@
stdenv.mkDerivation rec {
pname = "pot";
version = "2.7.0";
version = "2.7.4";
src = fetchFromGitHub {
owner = "pot-app";
repo = "pot-desktop";
rev = version;
hash = "sha256-ODqMbyL6Zda/cY5Lgijaj9Pr5aozQDgzHlS89q4rA4w=";
hash = "sha256-c7FHkp/utvrr7qasY+XKaTnPaiZWb8M5EGiFne52osQ=";
};
sourceRoot = "${src.name}/src-tauri";
@ -68,15 +68,14 @@ stdenv.mkDerivation rec {
dontFixup = true;
outputHashMode = "recursive";
outputHash = "sha256-xl1dSrJ7o0Xn4QB2tRBB6U8gUItltxTE+hyEJ1GIw1k=";
outputHash = "sha256-BQ5M+pKEXGJzWmxMchNgxpvLpgFCRIg33GQCvO4TLz4=";
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
# All other crates in the same workspace reuse this hash.
"tauri-plugin-autostart-0.0.0" = "sha256-wgVsF3H9BT8lBew7tQ308eIQ6cLZT93hD/4eYCDEq98=";
"tauri-plugin-sql-0.0.0" = "sha256-e9iwcHwW8MaRzkaAbewrq6b9+n3ZofMTBnvA23ZF2ro=";
"tauri-plugin-autostart-0.0.0" = "sha256-/uxaSBp+N1VjjSiwf6NwNnSH02Vk6gQZ/CzO+AyEI7o=";
};
};

View File

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "printrun";
version = "2.0.0";
version = "2.0.1";
src = fetchFromGitHub {
owner = "kliment";
repo = "Printrun";
rev = "printrun-${version}";
hash = "sha256-ijJc0CVPiYW5VjTqhY1kO+Fy3dfuPoMn7KRhvcsdAZw=";
rev = "refs/tags/printrun-${version}";
hash = "sha256-GmTA/C45MuptN/Y0KjpFjaLV3sWoM4rHz8AMfV9sf4U=";
};
postPatch = ''

View File

@ -1,7 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, fetchFromGitHub
, pkg-config
, qtbase
, qtscript
@ -14,15 +14,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vym";
version = "2.8.42";
version = "2.9.26";
src = fetchFromGitHub {
owner = "insilmaril";
repo = "vym";
rev = "89f50bcba953c410caf459b0a4bfbd09018010b7"; # not tagged yet (why??)
hash = "sha256-xMXvc8gt3nfKWbU+WoS24wCUTGDQRhG0Q9m7yDhY5/w=";
rev = "v${finalAttrs.version}";
hash = "sha256-5cHhv9GDjJvSqGJ+7fI0xaWCiXw/0WP0Bem/ZRV8Y7M=";
};
outputs = [ "out" "man" ];
patches = [
(substituteAll {
src = ./000-fix-zip-paths.diff;
@ -43,11 +45,13 @@ stdenv.mkDerivation (finalAttrs: {
qtsvg
];
strictDeps = true;
qtWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ unzip zip ]}"
];
meta = with lib; {
meta = {
homepage = "http://www.insilmaril.de/vym/";
description = "A mind-mapping software";
longDescription = ''
@ -61,8 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
drawn by hand or any drawing software vym offers much more features to
work with such maps.
'';
license = licenses.gpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
license = with lib.licenses; [ gpl2Plus ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.linux;
};
})

View File

@ -236,6 +236,18 @@ let
commit = "b9bef8e9555645fc91fab705bec697214a39dbc1";
hash = "sha256-CJ1v/qc8+nwaHQR9xsx08EEcuVRbyBfCZCm/G7hRY+4=";
})
] ++ lib.optionals (chromiumVersionAtLeast "121") [
# M121 is the first version to require the new rust toolchain.
# But we don't have that ready yet.
# So we have to revert the singular commit that requires rust toolchain.
# This works, because the code in question, the QR code generator, is present in
# two variants: c++ and rust. This workaround will not last.
# The c++ variant in question is deemed to be removed in a month (give or take).
(githubPatch {
revert = true;
commit = "bcf739b95713071687ff25010683248de0092f6a";
hash = "sha256-1ZPe45cc2bjnErcF3prbLMlYpU7kpuwDVcjewINQr+Q=";
})
];
postPatch = ''

View File

@ -1,23 +1,23 @@
{
stable = {
chromedriver = {
hash_darwin = "sha256-20OgLWrtw2QwyfoehoU7WjmH3IoOG4k3dAya5U5c7Qc=";
hash_darwin = "sha256-IDPdjq3FpLy6Y9xkR15mzbIal8wjeQzzWtWuZ4uKmzA=";
hash_darwin_aarch64 =
"sha256-7aI141Ndtun3HglNKiW4+TTVgOVASnz98Rn1trgUgpo=";
hash_linux = "sha256-gJ6xXhW87URDvpFP88KgLKmwoFDlqMN1Vj6L+bDdbSc=";
version = "120.0.6099.109";
"sha256-3Mol45MrvrSqrpkKy2Trt0JFNfV4ekXTxEveUUGmJm4=";
hash_linux = "sha256-O8U4pZ76/N7q9bV7d0A+wlIqqaoz6WyfZQO4cIV2CIM=";
version = "121.0.6167.85";
};
deps = {
gn = {
hash = "sha256-dwluGOfq05swtBM5gg4a6gY3IpFHaKKkD0TV1XW7c7k=";
rev = "e4702d7409069c4f12d45ea7b7f0890717ca3f4b";
hash = "sha256-eD3KORYYuIH+94+BgL+yFD5lTQFvj/MqPU9DPiHc98s=";
rev = "7367b0df0a0aa25440303998d54045bda73935a5";
url = "https://gn.googlesource.com/gn";
version = "2023-10-23";
version = "2023-11-28";
};
};
hash = "sha256-HFQ7QAL4hcux3jmMmLYFNym3sfWR1o1hWV75bokID4I=";
hash_deb_amd64 = "sha256-dFllEHRYH3yAPg3uaaCzdpiZxSLENEwmtIb/gg53/ZU=";
version = "120.0.6099.224";
hash = "sha256-2TMTLCqoCxdy9PDlZIUa/5oXjmim1T2/LJu+3/Kf4fQ=";
hash_deb_amd64 = "sha256-9vPQAiZPw60oILm0He4Iz9lOc+WvtHCBE9CHA1ejc7s=";
version = "121.0.6167.85";
};
ungoogled-chromium = {
deps = {

View File

@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "121.0.1";
version = "122.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "7810850a922cb4a274ced6556e14256d3ff518a96f10a0f86d1f8e40daa0a8b1a5cfcc9cbf1391029d920944e94a9149951ee107a0e718a294954bb50b6ced2e";
sha512 = "619b735c16970207f3f8fb31dd2350a5e665a802c30501c89aee4817b8b0f7f466da93c66ab238e94967587e538e6858934b18164ff312dbdbfbc3b2bf8bd824";
};
extraPatches = [
@ -94,11 +94,11 @@
firefox-esr-115 = buildMozillaMach rec {
pname = "firefox-esr-115";
version = "115.6.0esr";
version = "115.7.0esr";
applicationName = "Mozilla Firefox ESR";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "9fe23b5f715e35b788d9c8fefe6b7be8785789b4ae6f5649b05a54221934101c6e1b9580319145f9bcaebfbd00fcc33e97afb63f7d57ba102a6b02c874d324af";
sha512 = "d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922";
};
meta = {

View File

@ -149,7 +149,7 @@ in stdenv.mkDerivation {
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do
for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary}}; do
patchelf --set-rpath $rpath $elf
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
done

View File

@ -90,7 +90,7 @@ let
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "13.0.7";
version = "13.0.9";
sources = {
x86_64-linux = fetchurl {
@ -102,7 +102,7 @@ let
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-8x0Qa+NasMq1JdrVnCWlCyPb+5UpJXK1VLFoY9lx+8Q=";
hash = "sha256-TAtBlSkfpqsROq3bV9kwDYIJQAXSVkwxQwj3wIYEI7k=";
};
};
@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
allowSubstitutes = false;
desktopItems = [(makeDesktopItem {
name = "mullvadbrowser";
name = "mullvad-browser";
exec = "mullvad-browser %U";
icon = "mullvad-browser";
desktopName = "Mullvad Browser";

View File

@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "13.0.8";
version = "13.0.9";
sources = {
x86_64-linux = fetchurl {
@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-eD+c4ACgWajmfMiqqk5HC30uJiqfNqvASepVoO7ox2w=";
hash = "sha256-qcB3DLVt2J4WNJLunDSnZdyflMY9/NIsGrj+TkQeJEg=";
};
i686-linux = fetchurl {
@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
hash = "sha256-ZQ0tSPyfzBWy27lX5+zI3Nuqqz5ZUv1T6lzapvYHc7A=";
hash = "sha256-aq2WffQ3ZUL0vopbDU5n9bWb8MC7rHoaz54kz2oaXz8=";
};
};

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "helmfile";
version = "0.160.0";
version = "0.161.0";
src = fetchFromGitHub {
owner = "helmfile";
repo = "helmfile";
rev = "v${version}";
sha256 = "sha256-sPHEYhKiKzB5MYylWeHKpVjjXbDsWbg99TKqT/d3uJ0=";
sha256 = "sha256-SoXpUAISYgB0qrw0urnVjPFfBc4jtkfDl41MmzfRG/g=";
};
vendorHash = "sha256-LkmPytmXrense/M0erBkxeQ7XXGlHDLY1yedsOxk4+E=";
vendorHash = "sha256-piGbC9cljBjJ0X2kzNqNnpFmcjnu6DdKizSRGrw/+2c=";
doCheck = false;

View File

@ -61,8 +61,8 @@ rec {
};
kops_1_28 = mkKops rec {
version = "1.28.2";
sha256 = "sha256-l8budNU+sXZY/hA6jluM+s5pA43j0stQM5vmkwDPuio=";
version = "1.28.3";
sha256 = "sha256-pkHTVAssNDjMHpdRxqPCNwG2of8TKIzZN0uqk+hPZSA=";
rev = "v${version}";
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubergrunt";
version = "0.13.1";
version = "0.14.0";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = "kubergrunt";
rev = "v${version}";
sha256 = "sha256-lXGDt9UWIk3T+Zp5sdAftStEnd3RmdevTjkvfuZtNf0=";
sha256 = "sha256-2wyqCiP+hb5dLdaS322eo2yMSTjcQb+eBvr3HRnaTD0=";
};
vendorHash = "sha256-AUw1wJNWjpNVsjw/Hr1ZCePYWQkf1SqRVnQgi8tOFG0=";
vendorHash = "sha256-cr3VVS+ASg3vmppvTYpaOLJNHDN0b+C9uSln7jeqTX4=";
# Disable tests since it requires network access and relies on the
# presence of certain AWS infrastructure

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kyverno";
version = "1.11.3";
version = "1.11.4";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${version}";
sha256 = "sha256-aFogX7cBf5SF1nSyQ/L8uY/xwvZxXHaWGHe3gWHGHQQ=";
sha256 = "sha256-6Qrd7/h9G8KvzUxPNXUV/RnWImFrxm1FILeik8bWLnA=";
};
ldflags = [
@ -18,7 +18,7 @@ buildGoModule rec {
"-X github.com/kyverno/kyverno/pkg/version.BuildTime=1970-01-01_00:00:00"
];
vendorHash = "sha256-jZAylCLmEWpAflxrtrh1jhVuctVlUqfC5rxqcho2GcE=";
vendorHash = "sha256-Vw8f2+b5UNc7DqCmu2cN2De1mrONe0M6F68H9SPrD3w=";
subPackages = [ "cmd/cli/kubectl-kyverno" ];

View File

@ -14,13 +14,13 @@
let
package = buildGoModule rec {
pname = "opentofu";
version = "1.6.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "opentofu";
repo = "opentofu";
rev = "v${version}";
hash = "sha256-S/D2qaXdBGEJS1/ihPJAEueUvD2bmqG1hpv+HTXCJSQ=";
hash = "sha256-wEDxZtmC+SLIYbN+mGTmefcD6VZu87E9E0XhiJPGmK0=";
};
vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk=";

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "terraform-compliance";
version = "1.3.45";
version = "1.3.46";
format = "setuptools";
src = fetchFromGitHub {
owner = "terraform-compliance";
repo = "cli";
rev = "refs/tags/${version}";
sha256 = "sha256-Q7EzDL8yt2UPrM4u4f4ttDI5Da0ZzQwZmOlk7RrNN5E=";
sha256 = "sha256-30aQA+VJY2qarpYGZpgt5ebYFt5UHUHJcuBNgKiGnt0=";
};
postPatch = ''

View File

@ -31,13 +31,13 @@ let
in
stdenv.mkDerivation rec {
pname = "firewalld";
version = "2.0.2";
version = "2.1.0";
src = fetchFromGitHub {
owner = "firewalld";
repo = "firewalld";
rev = "v${version}";
sha256 = "sha256-nCCIi+UAQqvx+IqQDr6tQj42OHYamvCnKeBJOm6XjZE=";
sha256 = "sha256-3kP8Z8YtIcLHOFj9gqspSClsxWiefOqZlJQ5OzNZPeY=";
};
patches = [

View File

@ -134,7 +134,7 @@ stdenv.mkDerivation rec {
downloadPage = "https://github.com/ArmCord/ArmCord";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.osl3;
maintainers = with maintainers; [ ludovicopiero wrmilling ];
maintainers = with maintainers; [ wrmilling ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "armcord";
};

View File

@ -27,12 +27,12 @@
stdenv.mkDerivation rec {
pname = "teamspeak5-client";
version = "5.0.0-beta70";
version = "5.0.0-beta77";
src = fetchurl {
# check https://teamspeak.com/en/downloads/#ts5 for version and checksum
url = "https://files.teamspeak-services.com/pre_releases/client/${version}/teamspeak-client.tar.gz";
sha256 = "44f1a29b915c3930e7385ce32b13e363a7be04c1e341226d0693600818411c6e";
sha256 = "6f3bf97b120d3c799cefc90c448e45836708a826d7caa07ad32b5c868eb9181b";
};
sourceRoot = ".";

View File

@ -21,3 +21,23 @@ index 28c95ea9..790b0b73 100644
namespace rtc {
class BitBuffer;
}
--- a/src/rtc_base/third_party/base64/base64.h
+++ b/src/rtc_base/third_party/base64/base64.h
@@ -11,6 +11,7 @@
#ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
#define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
+#include <cstdint>
#include <string>
#include <vector>
--- a/src/modules/audio_processing/transient/file_utils.h
+++ b/src/modules/audio_processing/transient/file_utils.h
@@ -11,6 +11,7 @@
#ifndef MODULES_AUDIO_PROCESSING_TRANSIENT_FILE_UTILS_H_
#define MODULES_AUDIO_PROCESSING_TRANSIENT_FILE_UTILS_H_
+#include <stdint.h>
#include <string.h>
#include "rtc_base/system/file_wrapper.h"

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "rclone";
version = "1.65.1";
version = "1.65.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-wRksCRQR6JZjYtXgq3iARCoYck76O17Kd2Ht1XpA9KE=";
hash = "sha256-P7VJ6pauZ7J8LvyYNi7ANsKrYOcmInZCfRO+X+K6LzI=";
};
vendorHash = "sha256-kWaMo6ALieuwf53H05UdoI7xtH1LAnsD6Ak9bJTa6jc=";
vendorHash = "sha256-budC8psvTtfVi3kYOaJ+dy/9H11ekJVkXMmeV9RhXVU=";
subPackages = [ "." ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, codec2 }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, boost, codec2 }:
stdenv.mkDerivation rec {
pname = "m17-cxx-demod";
@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
hash = "sha256-mvppkFBmmPVqvlqIqrbwGrOBih5zS5sZrV/usEhHiws=";
};
patches = [
# Pull fix pending upstream inclusion for `gcc-13` support:
# https://github.com/mobilinkd/m17-cxx-demod/pull/34
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/mobilinkd/m17-cxx-demod/commit/2e2aaf95eeac456a2e8795e4363518bb4d797ac0.patch";
hash = "sha256-+XRzHStJ/7XI5JDoBeNwbifsTOw8il3GyFwlbw07wyk=";
})
];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ codec2 boost ];

View File

@ -1,45 +1,57 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
, libX11, glfw, glew, fftwFloat, volk, AppKit
, libX11, glfw, glew, fftwFloat, volk, zstd, AppKit
# Sources
, airspy_source ? true, airspy
, airspyhf_source ? true, airspyhf
, bladerf_source ? false, libbladeRF
, bladerf_source ? true, libbladeRF
, file_source ? true
, hackrf_source ? true, hackrf
, limesdr_source ? false, limesuite
, sddc_source ? false
, rtl_sdr_source ? true, rtl-sdr, libusb1
, limesdr_source ? true, limesuite
, perseus_source ? false # needs libperseus-sdr, not yet available in nixpks
, plutosdr_source ? stdenv.isLinux, libiio, libad9361
, rfspace_source ? true
, rtl_sdr_source ? true, rtl-sdr-osmocom, libusb1 # osmocom better w/ rtlsdr v4
, rtl_tcp_source ? true
, sdrplay_source ? false, sdrplay
, soapy_source ? true, soapysdr
, spyserver_source ? true
, plutosdr_source ? stdenv.isLinux, libiio, libad9361
, usrp_source ? false, uhd, boost
# Sinks
, audio_sink ? true, rtaudio
, portaudio_sink ? false, portaudio
, network_sink ? true
, portaudio_sink ? false, portaudio
# Decoders
, falcon9_decoder ? false
, m17_decoder ? false, codec2
, meteor_demodulator ? true
, radio ? true
, weather_sat_decoder ? true
, weather_sat_decoder ? false # is missing some dsp/pll.h
# Misc
, discord_presence ? true
, frequency_manager ? true
, recorder ? true
, rigctl_server ? true
, scanner ? true
}:
stdenv.mkDerivation rec {
pname = "sdrpp";
version = "1.0.4";
# SDR++ uses a rolling release model.
# Choose a git hash from head and use the date from that commit as
# version qualifier
git_hash = "27ab5bf3c194169ddf60ca312723fce96149cc8e";
git_date = "2024-01-22";
version = "1.1.0-unstable-" + git_date;
src = fetchFromGitHub {
owner = "AlexandreRouma";
repo = "SDRPlusPlus";
rev = version;
hash = "sha256-g9tpWvVRMXRhPfgvOeJhX6IMouF9+tLUr9wo5r35i/c=";
rev = git_hash;
hash = "sha256-R4xWeqdHEAaje37VQaGlg+L2iYIOH4tXMHvZkZq4SDU=";
};
patches = [ ./runtime-prefix.patch ];
@ -50,11 +62,14 @@ stdenv.mkDerivation rec {
--replace "set(CMAKE_INSTALL_PREFIX" "#set(CMAKE_INSTALL_PREFIX"
substituteInPlace decoder_modules/m17_decoder/src/m17dsp.h \
--replace "codec2.h" "codec2/codec2.h"
# Since the __TIME_ and __DATE__ is canonicalized in the build,
# use our qualified version shown in the programs window title.
substituteInPlace core/src/version.h --replace "1.1.0" "$version"
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ glfw glew fftwFloat volk ]
buildInputs = [ glfw glew fftwFloat volk zstd ]
++ lib.optional stdenv.isDarwin AppKit
++ lib.optional stdenv.isLinux libX11
++ lib.optional airspy_source airspy
@ -62,42 +77,52 @@ stdenv.mkDerivation rec {
++ lib.optional bladerf_source libbladeRF
++ lib.optional hackrf_source hackrf
++ lib.optional limesdr_source limesuite
++ lib.optionals rtl_sdr_source [ rtl-sdr libusb1 ]
++ lib.optionals rtl_sdr_source [ rtl-sdr-osmocom libusb1 ]
++ lib.optional sdrplay_source sdrplay
++ lib.optional soapy_source soapysdr
++ lib.optionals plutosdr_source [ libiio libad9361 ]
++ lib.optionals usrp_source [ uhd boost ]
++ lib.optional audio_sink rtaudio
++ lib.optional portaudio_sink portaudio
++ lib.optional m17_decoder codec2;
cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
OPT_BUILD_AIRSPY_SOURCE = airspy_source;
OPT_BUILD_AIRSPYHF_SOURCE = airspyhf_source;
OPT_BUILD_BLADERF_SOURCE = bladerf_source;
OPT_BUILD_FILE_SOURCE = file_source;
OPT_BUILD_HACKRF_SOURCE = hackrf_source;
OPT_BUILD_LIMESDR_SOURCE = limesdr_source;
OPT_BUILD_SDDC_SOURCE = sddc_source;
OPT_BUILD_RTL_SDR_SOURCE = rtl_sdr_source;
OPT_BUILD_RTL_TCP_SOURCE = rtl_tcp_source;
OPT_BUILD_SDRPLAY_SOURCE = sdrplay_source;
OPT_BUILD_SOAPY_SOURCE = soapy_source;
OPT_BUILD_SPYSERVER_SOURCE = spyserver_source;
OPT_BUILD_PLUTOSDR_SOURCE = plutosdr_source;
OPT_BUILD_AUDIO_SINK = audio_sink;
OPT_BUILD_PORTAUDIO_SINK = portaudio_sink;
OPT_BUILD_NETWORK_SINK = network_sink;
OPT_BUILD_NEW_PORTAUDIO_SINK = portaudio_sink;
OPT_BUILD_FALCON9_DECODER = falcon9_decoder;
OPT_BUILD_M17_DECODER = m17_decoder;
OPT_BUILD_METEOR_DEMODULATOR = meteor_demodulator;
OPT_BUILD_RADIO = radio;
OPT_BUILD_WEATHER_SAT_DECODER = weather_sat_decoder;
OPT_BUILD_DISCORD_PRESENCE = discord_presence;
OPT_BUILD_FREQUENCY_MANAGER = frequency_manager;
OPT_BUILD_RECORDER = recorder;
OPT_BUILD_RIGCTL_SERVER = rigctl_server;
};
cmakeFlags = [
# Sources
(lib.cmakeBool "OPT_BUILD_AIRSPYHF_SOURCE" airspyhf_source)
(lib.cmakeBool "OPT_BUILD_AIRSPY_SOURCE" airspy_source)
(lib.cmakeBool "OPT_BUILD_BLADERF_SOURCE" bladerf_source)
(lib.cmakeBool "OPT_BUILD_FILE_SOURCE" file_source)
(lib.cmakeBool "OPT_BUILD_HACKRF_SOURCE" hackrf_source)
(lib.cmakeBool "OPT_BUILD_LIMESDR_SOURCE" limesdr_source)
(lib.cmakeBool "OPT_BUILD_PERSEUS_SOURCE" perseus_source)
(lib.cmakeBool "OPT_BUILD_PLUTOSDR_SOURCE" plutosdr_source)
(lib.cmakeBool "OPT_BUILD_RFSPACE_SOURCE" rfspace_source)
(lib.cmakeBool "OPT_BUILD_RTL_SDR_SOURCE" rtl_sdr_source)
(lib.cmakeBool "OPT_BUILD_RTL_TCP_SOURCE" rtl_tcp_source)
(lib.cmakeBool "OPT_BUILD_SDRPLAY_SOURCE" sdrplay_source)
(lib.cmakeBool "OPT_BUILD_SOAPY_SOURCE" soapy_source)
(lib.cmakeBool "OPT_BUILD_SPYSERVER_SOURCE" spyserver_source)
(lib.cmakeBool "OPT_BUILD_USRP_SOURCE" usrp_source)
# Sinks
(lib.cmakeBool "OPT_BUILD_AUDIO_SINK" audio_sink)
(lib.cmakeBool "OPT_BUILD_NETWORK_SINK" network_sink)
(lib.cmakeBool "OPT_BUILD_NEW_PORTAUDIO_SINK" portaudio_sink)
# Decoders
(lib.cmakeBool "OPT_BUILD_FALCON9_DECODER" falcon9_decoder)
(lib.cmakeBool "OPT_BUILD_M17_DECODER" m17_decoder)
(lib.cmakeBool "OPT_BUILD_METEOR_DEMODULATOR" meteor_demodulator)
(lib.cmakeBool "OPT_BUILD_RADIO" radio)
(lib.cmakeBool "OPT_BUILD_WEATHER_SAT_DECODER" weather_sat_decoder)
# Misc
(lib.cmakeBool "OPT_BUILD_DISCORD_PRESENCE" discord_presence)
(lib.cmakeBool "OPT_BUILD_FREQUENCY_MANAGER" frequency_manager)
(lib.cmakeBool "OPT_BUILD_RECORDER" recorder)
(lib.cmakeBool "OPT_BUILD_RIGCTL_SERVER" rigctl_server)
(lib.cmakeBool "OPT_BUILD_SCANNER" scanner)
];
env.NIX_CFLAGS_COMPILE = "-fpermissive";

View File

@ -6,13 +6,13 @@
python3Packages.buildPythonApplication rec {
pname = "urh";
version = "2.9.4";
version = "2.9.6";
src = fetchFromGitHub {
owner = "jopohl";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-Hi0VqBtGeaXMsibxbHk+2FN8mzfpmkuDr37JRW4Fp+s=";
sha256 = "sha256-4Fe2+BUdnVdNQHqZeftXLabn/vTzgyynOtqy0rAb0Rk=";
};
nativeBuildInputs = [ qt5.wrapQtAppsHook ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "igv";
version = "2.17.0";
version = "2.17.1";
src = fetchzip {
url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
sha256 = "sha256-nOwaeVIvqfHrvykfTyOdnMN6+QpsvNN14jXBQx7THsE=";
sha256 = "sha256-EXI1jVr8cJPYLLe81hzqLpP3IypHBZ0cb6z+WrDeFKQ=";
};
installPhase = ''

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "stacks";
version = "2.65";
version = "2.66";
src = fetchurl {
url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
sha256 = "sha256-/9a9PWKVq5yJzEUfOF03zR1Hp3AZw9MF8xICoriV4uo=";
sha256 = "sha256-9pHmcLYMdn9xy3vhlOU42Io/4L61auoncfpZNRPUN/I=";
};
buildInputs = [ zlib ];

View File

@ -25,14 +25,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "16.1.47";
version = "16.1.49";
pname = "jmol";
src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
hash = "sha256-3hsH+RkPPoViKp1bc/88GDVSG8jf9hiPKPkUfe9PIkk=";
hash = "sha256-rzW0dB6LkKnbqHMLII6u3a6iJ1nz6gys/TN0fZFcrBk=";
};
patchPhase = ''

View File

@ -32,6 +32,7 @@ let
});
};
# matches src/sage/repl/ipython_kernel/install.py:kernel_spec
jupyter-kernel-definition = {
displayName = "SageMath ${sage-src.version}";
argv = [
@ -42,7 +43,7 @@ let
"-f"
"{connection_file}"
];
language = "sagemath";
language = "sage";
# just one 16x16 logo is available
logo32 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png";
logo64 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png";

View File

@ -1,12 +1,12 @@
diff --git a/src/sage/graphs/generic_graph.py b/src/sage/graphs/generic_graph.py
index 0070705f78..ac19818f1b 100644
index 2deb533f7f..663ff2cd13 100644
--- a/src/sage/graphs/generic_graph.py
+++ b/src/sage/graphs/generic_graph.py
@@ -6699,12 +6699,6 @@ class GenericGraph(GenericGraph_pyx):
@@ -6953,12 +6953,6 @@ class GenericGraph(GenericGraph_pyx):
sage: G = DiGraph(d6, format='dig6')
sage: G.edge_connectivity()
5
- sage: G.edge_disjoint_spanning_trees(5) # long time
- sage: G.edge_disjoint_spanning_trees(5) # long time # needs sage.numerical.mip
- [Digraph on 28 vertices,
- Digraph on 28 vertices,
- Digraph on 28 vertices,

View File

@ -1,18 +0,0 @@
diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py
index aa153fd4cd..eebbe87aff 100644
--- a/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py
+++ b/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py
@@ -134,11 +134,11 @@ Sage example in ./graphique.tex, line 1120::
sage: t = srange(0, 5, 0.1); p = Graphics()
sage: for k in srange(0, 10, 0.15):
....: y = integrate.odeint(f, k, t)
- ....: p += line(zip(t, flatten(y)))
+ ....: p += line(zip(t, y.flatten()))
sage: t = srange(0, -5, -0.1); q = Graphics()
sage: for k in srange(0, 10, 0.15):
....: y = integrate.odeint(f, k, t)
- ....: q += line(zip(t, flatten(y)))
+ ....: q += line(zip(t, y.flatten()))
sage: y = var('y')
sage: v = plot_vector_field((1, -cos(x*y)), (x,-5,5), (y,-2,11))
sage: g = p + q + v; g.show()

View File

@ -1,7 +1,7 @@
{ lib
, buildPythonPackage
, sage-src
, cython
, cython_3
, jinja2
, pkgconfig # the python module, not the pkg-config alias
}:
@ -11,7 +11,7 @@ buildPythonPackage rec {
pname = "sage-setup";
src = sage-src;
nativeBuildInputs = [ cython ];
nativeBuildInputs = [ cython_3 ];
buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ jinja2 ];

View File

@ -1,6 +1,7 @@
{ stdenv
, fetchFromGitHub
, fetchpatch
, fetchurl
}:
# This file is responsible for fetching the sage source and adding necessary patches.
@ -9,14 +10,23 @@
# all get the same sources with the same patches applied.
stdenv.mkDerivation rec {
version = "10.0";
version = "10.2";
pname = "sage-src";
src = fetchFromGitHub {
owner = "sagemath";
repo = "sage";
rev = version;
sha256 = "sha256-zN/Lo/GBCjYGemuaYpgG3laufN8te3wPjXMQ+Me9zgY=";
sha256 = "sha256-VXnPdJhtw5Y/anecrVpevJDCyBVfnjksyuuZslNipm4=";
};
# contains essential files (e.g., setup.cfg) generated by the bootstrap script.
# TODO: investigate https://github.com/sagemath/sage/pull/35950
configure-src = fetchurl {
# the hash below is the tagged commit's _parent_. it can also be found by looking for
# the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version}
url = "mirror://sageupstream/configure/configure-b2813506039143e6f0abe859ab67a343abf72c2e.tar.gz";
sha256 = "sha256-a1v0XyoKI+zO6Sjm8DzEwItRHbIgRDbpj4UfwVH+/hw=";
};
# Patches needed because of particularities of nix or the way this is packaged.
@ -52,99 +62,6 @@ stdenv.mkDerivation rec {
# should come from or be proposed to upstream. This list will probably never
# be empty since dependencies update all the time.
packageUpgradePatches = [
# https://github.com/sagemath/sage/pull/35584, landed in 10.1.beta1
(fetchpatch {
name = "networkx-3.1-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/be0aab74fd7e399e146988ef27260d2837baebae.diff";
sha256 = "sha256-xBGrylNaiF7CpfmX9/4lTioP2LSYKoRCkKlKSGZuv9U=";
})
# https://github.com/sagemath/sage/pull/35612, landed in 10.1.beta1
(fetchpatch {
name = "linbox-1.7-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/35cbd2f2a2c4c355455d39b1424f05ea0aa4349b.diff";
sha256 = "sha256-/TpvIQZUqmbUuz6wvp3ni9oRir5LBA2FKDJcmnHI1r4=";
})
# https://github.com/sagemath/sage/pull/35619, landed in 10.1.beta1
(fetchpatch {
name = "maxima-5.46.0-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/4ddf9328e7598284d4bc03cd2ed890f0be6b6399.diff";
sha256 = "sha256-f6YaZiLSj+E0LJMsMZHDt6vecWffSAuUHYVkegBEhno=";
})
# https://github.com/sagemath/sage/pull/35635, landed in 10.1.beta1
(fetchpatch {
name = "sympy-1.12-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/1a73b3bbbfa0f4a297e05d49305070e1ed5ae598.diff";
sha256 = "sha256-k8Oam+EiRcfXC7qCdLacCx+7vpUAw2K1wsjKcQbeGb4=";
})
# https://github.com/sagemath/sage/pull/35826, landed in 10.1.beta5
(fetchpatch {
name = "numpy-1.25.0-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/ecfe06b8f1fe729b07e885f0de55244467e5c137.diff";
sha256 = "sha256-G0xhl+LyNdDYPzRqSHK3fHaepcIzpuwmqRiussraDf0=";
})
# https://github.com/sagemath/sage/pull/35826#issuecomment-1658569891
./patches/numpy-1.25-deprecation.patch
# https://github.com/sagemath/sage/pull/35842, landed in 10.1.beta5
(fetchpatch {
name = "scipy-1.11-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/90ece168c3c61508baa36659b0027b7dd8b43add.diff";
sha256 = "sha256-Y5TmuJcUJR+veb2AuSVODGs+xkVV+pTM8fWTm4q+NDs=";
})
# https://github.com/sagemath/sage/pull/35825, landed in 10.1.beta6
(fetchpatch {
name = "singular-4.3.2p2-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/1a1b49f814cdf4c4c8d0ac8930610f3fef6af5b0.diff";
sha256 = "sha256-GqMgoi0tsP7zcCcPumhdsbvhPB6fgw1ufx6gHlc6iSc=";
})
# https://github.com/sagemath/sage/pull/36006, landed in 10.2.beta2
(fetchpatch {
name = "gmp-6.3-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/5e841de46c3baa99cd1145b36ff9163e9340a55c.diff";
sha256 = "sha256-fJPDryLtGBQz9qHDiCkBwjiW2lN6v7HiHgxY7CTeHcs=";
})
# https://github.com/sagemath/sage/pull/36279, landed in 10.2.beta4
(fetchpatch {
name = "matplotlib-3.8-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/0fcf88935908440930c5f79202155aca4ad57518.diff";
sha256 = "sha256-mvqAHaTCXsxPv901L8HSTnrfghfXYdq0wfLoP/cYQZI=";
})
# https://github.com/sagemath/sage/pull/35658, landed in 10.1.beta2
(fetchpatch {
name = "sphinx-7-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/cacd9a89b5c4fdcf84a8dd2b7d5bdc10cc78109a.diff";
sha256 = "sha256-qJvliTJjR3XBc5pH6Q0jtm8c4bhtZcTcF3O04Ro1uaU=";
})
# https://github.com/sagemath/sage/pull/36296, landed in 10.2.beta4
(fetchpatch {
name = "duplicate-args-region_plot.patch";
url = "https://github.com/sagemath/sage/commit/461727b453712550a2c5dc0ae11933523255aaed.diff";
sha256 = "sha256-mC8084VQoUBk4hocALF+Y9Cwb38Zt360eldi/SSjna8=";
})
# https://github.com/sagemath/sage/pull/36218, landed in 10.2.beta3
(fetchpatch {
name = "sageenv-disable-file-validation.patch";
url = "https://github.com/sagemath/sage/commit/31a764f4a9ec54d3ea970aa9514a088c4e603ebd.diff";
sha256 = "sha256-NhYUTTmYlyjss3eS8HZXP8U11TElQY0cv6KW4wBOaJY=";
})
# https://github.com/sagemath/sage/pull/36235, landed in 10.2.beta3
(fetchpatch {
name = "ecl-23.9.9.patch";
url = "https://github.com/sagemath/sage/commit/b6b50a80e9660c002d069019f5b8f04e9324a423.diff";
sha256 = "sha256-nF+5oKad1VYms6Dxr1t9/V0XBkoMfhy0KCY/ZPddrm0=";
})
];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
@ -158,11 +75,17 @@ stdenv.mkDerivation rec {
sed -i \
"s|var(\"SAGE_ROOT\".*|var(\"SAGE_ROOT\", \"$out\")|" \
src/sage/env.py
# sage --docbuild unsets JUPYTER_PATH, which breaks our docbuilding
# https://trac.sagemath.org/ticket/33650#comment:32
sed -i "/export JUPYTER_PATH/d" src/bin/sage
'';
buildPhase = "# do nothing";
installPhase = ''
cp -r . "$out"
tar xkzf ${configure-src} -C "$out"
rm "$out/configure"
'';
}

View File

@ -11,11 +11,6 @@ stdenv.mkDerivation rec {
strictDeps = true;
nativeBuildInputs = [
# for patchShebangs below
python3
];
unpackPhase = ''
export SAGE_DOC_OVERRIDE="$PWD/share/doc/sage"
export SAGE_DOC_SRC_OVERRIDE="$PWD/docsrc"
@ -29,18 +24,6 @@ stdenv.mkDerivation rec {
export HOME="$TMPDIR/sage_home"
mkdir -p "$HOME"
# run bootstrap script to generate Sage spkg docs, because unfortunately some unrelated doc
# pages link to them. it needs a few ugly (but self-contained) hacks for a standalone run.
cp -r "${src}/build" "$HOME"
chmod -R 755 "$HOME/build"
sed -i "/assert/d" "$HOME/build/sage_bootstrap/env.py"
sed -i "s|sage-bootstrap-python|python3|" "$HOME/build/bin/sage-package"
patchShebangs "$HOME/build/bin/sage-package"
pushd "$SAGE_DOC_SRC_OVERRIDE"
sed -i "s|OUTPUT_DIR=\"src/doc/|OUTPUT_DIR=\"$SAGE_DOC_SRC_OVERRIDE/|" bootstrap
PATH="$HOME/build/bin:$PATH" SAGE_ROOT="${src}" ./bootstrap
popd
# adapted from src/doc/Makefile (doc-src target), which tries to call Sage from PATH
mkdir -p $SAGE_DOC_SRC_OVERRIDE/en/reference/repl
${sage-with-env}/bin/sage -advanced > $SAGE_DOC_SRC_OVERRIDE/en/reference/repl/options.txt
@ -51,12 +34,10 @@ stdenv.mkDerivation rec {
# jupyter-sphinx calls the sagemath jupyter kernel during docbuild
export JUPYTER_PATH=${jupyter-kernel-specs}
# sage --docbuild unsets JUPYTER_PATH, so we call sage_docbuild directly
# https://trac.sagemath.org/ticket/33650#comment:32
${sage-with-env}/bin/sage --python3 -m sage_docbuild \
${sage-with-env}/bin/sage --docbuild \
--mathjax \
--no-pdf-links \
all html < /dev/null
all html
'';
installPhase = ''
@ -80,7 +61,7 @@ stdenv.mkDerivation rec {
# sagemath_doc_html tests assume sage tests are being run, so we
# compromise: we run standard tests, but only on files containing
# relevant tests. as of Sage 9.6, there are only 4 such files.
grep -PRl "#.*optional.*sagemath_doc_html" ${src}/src/sage{,_docbuild} | \
grep -PRl "#.*(optional|needs).*sagemath_doc_html" ${src}/src/sage{,_docbuild} | \
xargs ${sage-with-env}/bin/sage -t --optional=sage,sagemath_doc_html
'';
}

View File

@ -48,7 +48,7 @@
, cvxopt
, cypari2
, cysignals
, cython
, cython_3
, fpylll
, gmpy2
, importlib-metadata
@ -152,7 +152,7 @@ buildPythonPackage rec {
cvxopt
cypari2
cysignals
cython
cython_3
fpylll
gmpy2
importlib-metadata
@ -202,29 +202,13 @@ buildPythonPackage rec {
mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
mkdir -p "var/lib/sage/installed"
cd build/pkgs/sagelib
# some files, like Pipfile, pyproject.toml, requirements.txt and setup.cfg
# are generated by the bootstrap script using m4. these can fetch data from
# build/pkgs, either directly or via sage-get-system-packages.
sed -i '/sage_conf/d' src/setup.cfg.m4
sed -i '/sage_conf/d' src/requirements.txt.m4
# version lower bounds are useful, but upper bounds are a hassle because
# Sage tests already catch any relevant API breakage.
# according to the discussion at https://trac.sagemath.org/ticket/33520,
# upper bounds will be less noisy starting from Sage 9.6.
sed -i 's/==0.5.1/>=0.5.1/' ../ptyprocess/install-requires.txt
sed -i 's/, <[^, ]*//' ../*/install-requires.txt
sed -i 's/, <[^, ]*//' build/pkgs/*/install-requires.txt
for infile in src/*.m4; do
if [ -f "$infile" ]; then
outfile="src/$(basename $infile .m4)"
m4 "$infile" > "$outfile"
fi
done
cd src
cd build/pkgs/sagelib/src
'';
postInstall = ''

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "nnpdf";
version = "4.0.7";
version = "4.0.8";
src = fetchFromGitHub {
owner = "NNPDF";
repo = pname;
rev = version;
hash = "sha256-J5l+ZO+5pfxKlpFuy4PEQynbqs1QIqMK6hhMFvmb/zs=";
hash = "sha256-hGCA2K/fD6UZa9WD42IDmZV1oxNgjFaXkjOZKGgGSBg=";
};
postPatch = ''

View File

@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation rec {
pname = "kitty-themes";
version = "unstable-2023-09-15";
version = "unstable-2023-12-28";
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty-themes";
rev = "c9c12d20f83b9536febb21e4b53e176c0ccccb51";
hash = "sha256-dhzYTHaaTrbE5k+xEC01Y9jGb+ZmEyvWMb4a2WWKGCw=";
rev = "46d9dfe230f315a6a0c62f4687f6b3da20fd05e4";
hash = "sha256-jlYim4YXByT6s6ce0TydZuhX0Y1ZDcAq2XKNONisSzE=";
};
dontConfigure = true;

View File

@ -69,6 +69,7 @@ let
cutter = callPackage ./cutter.nix { };
inhibit-gnome = callPackage ./inhibit-gnome.nix { };
mpris = callPackage ./mpris.nix { };
mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { };
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };
mpv-webm = callPackage ./mpv-webm.nix { };
mpvacious = callPackage ./mpvacious.nix { };

View File

@ -0,0 +1,42 @@
{ lib, fetchFromGitHub, nodePackages, stdenvNoCC }:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "mpv-cheatsheet";
version = "0.30.0.2";
src = fetchFromGitHub {
owner = "ento";
repo = "mpv-cheatsheet";
rev = "v${finalAttrs.version}";
hash = "sha256-MWK0CYto3zgn3fivmL43tvgZn6XrjPxKLp0lgTFdplM=";
};
nativeBuildInputs = [
nodePackages.browserify
];
buildPhase = ''
runHook preBuild
make dist/${finalAttrs.passthru.scriptName}
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D dist/${finalAttrs.passthru.scriptName} $out/share/mpv/scripts/${finalAttrs.passthru.scriptName}
runHook postInstall
'';
passthru.scriptName = "cheatsheet.js";
meta = with lib; {
description = "mpv script for looking up keyboard shortcuts";
homepage = "https://github.com/ento/mpv-cheatsheet";
license = licenses.mit;
maintainers = with maintainers; [ ambroisie ];
};
})

View File

@ -20,13 +20,13 @@
}:
stdenv.mkDerivation rec {
pname = "shotcut";
version = "23.12.15";
version = "24.01.13";
src = fetchFromGitHub {
owner = "mltframework";
repo = "shotcut";
rev = "v${version}";
hash = "sha256-wTFnf7YMFzFI+buAI2Cqy7+cfcdDS0O1vAwiIZZKWhU=";
hash = "sha256-a/PgwxD8MXItkxT4LTdEJrrExD3r9CUkxr/uhgJicD8=";
};
nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];

View File

@ -62,13 +62,13 @@ let
in
buildGoModule rec {
pname = "podman";
version = "4.8.3";
version = "4.9.0";
src = fetchFromGitHub {
owner = "containers";
repo = "podman";
rev = "v${version}";
hash = "sha256-Q4LdBRJed1Vm5Qo3wyEsU3Pj2t9FfyB9rjiM4Vi0ZEw=";
hash = "sha256-ygYBSZdxpE3HrFz585p7NFgHHSAfxAce/fFCQ7fcvgk=";
};
patches = [

View File

@ -42,13 +42,13 @@ let
in
buildGoModule rec {
pname = "amazon-ssm-agent";
version = "3.2.2086.0";
version = "3.2.2143.0";
src = fetchFromGitHub {
owner = "aws";
repo = "amazon-ssm-agent";
rev = "refs/tags/${version}";
hash = "sha256-oV/0B2VxM6Gx84FIk3bUZU5DQDXt3Jek6/Xv0ZkZ89Y=";
hash = "sha256-RE17XoioTVlqASpHl6y7ykbK9sYqUIF05ROnXf05NrU=";
};
vendorHash = null;
@ -68,15 +68,15 @@ buildGoModule rec {
darwin.DarwinTools
];
# See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.1630.0/makefile#L120-L138
# See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.2143.0/makefile#L121-L147
# The updater is not built because it cannot work on NixOS
subPackages = [
"core"
"agent"
"agent/cli-main"
"agent/framework/processor/executer/outofproc/sessionworker"
"agent/framework/processor/executer/outofproc/worker"
"agent/session/logging"
"agent/framework/processor/executer/outofproc/sessionworker"
];
ldflags = [ "-s" "-w" ];

View File

@ -0,0 +1,145 @@
{ stdenv
, lib
, fetchurl
, fetchzip
, openjdk
, writeScript
, runCommandLocal
, bash
, unzip
, makeWrapper
, libredirect
, xsettingsd
, makeDesktopItem
, copyDesktopItems
, python3
}:
let
# Downloads can be found here: https://nav.gov.hu/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava
# There are no versioned download URLs but archive.org can be used to preserve them.
# The original download URL is: https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava
# You can put the URL here to create a fresh archive URL: https://web.archive.org/save
abevjavaSrc = fetchzip {
url = "https://web.archive.org/web/20231106112510if_/https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava";
sha256 = "sha256-qt0mHv3HI6C8OltFjSR47+RLSnmB2Si5U8rXEvdN4/c=";
extension = "zip";
stripRoot = false;
};
# ÁNYK uses some SOAP stuff that's not shipped with OpenJDK any more.
# We don't really want to use openjdk8 because it's unusable on HiDPI
# and people are more likely to have a modern OpenJDK installed.
extraClasspath = [
(fetchurl {
url = "mirror://maven/org/glassfish/metro/webservices-rt/2.4.10/webservices-rt-2.4.10.jar";
sha256 = "sha256-lHclIZn3HR2B2lMttmmQGIV67qJi5KhL5jT2WNUQpPI=";
})
(fetchurl {
url = "mirror://maven/org/glassfish/metro/webservices-api/2.4.10/webservices-api-2.4.10.jar";
sha256 = "sha256-1jiabjPkRnh+l/fmTt8aKE5hpeLreYOiLH9sVIcLUQE=";
})
(fetchurl {
url = "mirror://maven/com/sun/activation/jakarta.activation/2.0.1/jakarta.activation-2.0.1.jar";
sha256 = "sha256-ueJLfdbgdJVWLqllMb4xMMltuk144d/Yitu96/QzKHE=";
})
# Patch one of the classes so it works with the packages above by removing .internal. from the package names.
(runCommandLocal "anyk-patch" {} ''
mkdir $out
cd $out
${unzip}/bin/unzip ${abevjavaSrc}/application/abevjava.jar hu/piller/enykp/niszws/ClientStubBuilder.class
${python3}/bin/python ${./patch_paths.py} hu/piller/enykp/niszws/ClientStubBuilder.class
'')
];
# This script can be used to run template installation jars (or use the Szervíz -> Telepítés menu)
anyk-java = writeScript "anyk-java" ''
if [ -f ~/.abevjava/abevjavapath.cfg ]
then
if ABEVJAVA_PATH_CFG=$(grep abevjava.path ~/.abevjava/abevjavapath.cfg)
then
ABEVJAVA_PATH=''${ABEVJAVA_PATH_CFG#abevjava.path = }
echo "Determined abevjava path as $ABEVJAVA_PATH"
else
echo "Could not determine abevjava path from ~/.abevjava/abevjavapath.cfg"
exit 1
fi
else
ABEVJAVA_PATH=~/abevjava
mkdir -p ~/.abevjava
echo "abevjava.path = $ABEVJAVA_PATH" > ~/.abevjava/abevjavapath.cfg
echo "Initialized abevjava path as $ABEVJAVA_PATH"
fi
# Sync help files.
mkdir -p "$ABEVJAVA_PATH/segitseg/"
cp -sRf --no-preserve=all @out@/opt/segitseg/. "$ABEVJAVA_PATH/segitseg"
export LD_PRELOAD=${libredirect}/lib/libredirect.so:$LD_PRELOAD
# Look for form templates in ABEVJAVA_PATH instead of the install dir.
export NIX_REDIRECTS=@out@/opt/nyomtatvanyok=$ABEVJAVA_PATH/nyomtatvanyok:@out@/opt/segitseg=$ABEVJAVA_PATH/segitseg:@out@/opt/setenv=$ABEVJAVA_PATH/setenv:/bin/bash=${bash}/bin/bash:$NIX_REDIRECTS
if WINDOW_SCALING_FACTOR=$(${xsettingsd}/bin/dump_xsettings | awk '/Gdk\/WindowScalingFactor/{print $NF}' | grep .); then
# Fix scaling on HiDPI.
SCALING_PROP="-Dsun.java2d.uiScale=''${WINDOW_SCALING_FACTOR}"
fi
# ÁNYK crashes with NullPointerException with the GTK look and feel so use the cross-platform one.
exec ${openjdk}/bin/java -Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel $SCALING_PROP "$@"
'';
in stdenv.mkDerivation {
pname = "anyk";
version = "3.26.0";
src = abevjavaSrc;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
desktopItems = [
(makeDesktopItem rec {
desktopName = "ÁNYK";
name = "anyk";
exec = "anyk";
icon = "anyk";
categories = [ "Office" ];
})
];
installPhase = ''
mkdir $out
cp -r application $out/opt
mkdir $out/bin
substituteAll ${anyk-java} $out/bin/anyk-java
chmod +x $out/bin/anyk-java
# ÁNYK has some old school dependencies that are no longer bundled with Java, put them on the classpath.
makeWrapper $out/bin/anyk-java $out/bin/anyk --add-flags "-cp ${lib.concatStringsSep ":" extraClasspath}:$out/opt/abevjava.jar hu.piller.enykp.gui.framework.MainFrame"
mkdir -p $out/share/applications $out/share/pixmaps $out/share/icons
copyDesktopItems
ln -s $out/opt/abevjava.png $out/share/pixmaps/anyk.png
ln -s $out/opt/abevjava.png $out/share/icons/anyk.png
'';
meta = with lib; {
description = "Tool for filling forms for the Hungarian government,";
longDescription = ''
Official tool for filling Hungarian government forms.
Use `anyk-java` to install form templates/help files like this: `anyk-java -jar NAV_IGAZOL.jar`
'';
homepage = "https://nav.gov.hu/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/javakitolto";
license = licenses.unfree;
maintainers = with maintainers; [ chpatrick ];
platforms = openjdk.meta.platforms;
sourceProvenance = [ sourceTypes.binaryBytecode ];
mainProgram = "anyk";
};
}

View File

@ -0,0 +1,35 @@
from pathlib import Path
from struct import pack
import sys
def to_java_string(string) -> bytes:
string_bytes = string.encode("utf-8")
# Java constant pool string entries are prefixed by 0x01 and 16-bit big-endian string length.
return pack(">BH", 1, len(string_bytes)) + string_bytes
class_file = Path(sys.argv[1])
clazz = class_file.read_bytes()
# We want to fix these package names so they work with the open-source Java EE releases instead of OpenJDK 8.
patches = [
( "com/sun/xml/internal/ws/developer/WSBindingProvider", "com/sun/xml/ws/developer/WSBindingProvider" ),
( "com/sun/xml/internal/ws/api/message/Header", "com/sun/xml/ws/api/message/Header" ),
( "com.sun.xml.internal.ws.transport.http.client.streaming.chunk.size", "com.sun.xml.ws.transport.http.client.streaming.chunk.size" ),
( "com/sun/xml/internal/ws/api/message/Headers", "com/sun/xml/ws/api/message/Headers" ),
( "(Lorg/w3c/dom/Element;)Lcom/sun/xml/internal/ws/api/message/Header;", "(Lorg/w3c/dom/Element;)Lcom/sun/xml/ws/api/message/Header;" ),
( "([Lcom/sun/xml/internal/ws/api/message/Header;)V", "([Lcom/sun/xml/ws/api/message/Header;)V" ),
]
for old, new in patches:
old_java = to_java_string(old)
new_java = to_java_string(new)
assert old_java in clazz
clazz = clazz.replace(old_java, new_java)
assert old_java not in clazz
assert new_java in clazz
assert b".internal." not in clazz
class_file.write_bytes(clazz)

View File

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "bufisk";
version = "0.1.0";
src = fetchFromGitHub {
owner = "bufbuild";
repo = "bufisk";
rev = "v${version}";
hash = "sha256-pVnqvQn7jwpx6T3sS4eA29JeJdh0GrPVm0J8n2UjJTw=";
};
vendorHash = "sha256-iv5zIn9C56AQB87T+n5fJzm/fhBFBUObFwrlJ72A/J4=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
homepage = "https://github.com/bufbuild/bufisk";
description = "A user-friendly launcher for Buf";
license = licenses.asl20;
maintainers = with maintainers; [ aaronjheng ];
mainProgram = "bufisk";
};
}

View File

@ -13,10 +13,10 @@ let
}.${system} or throwSystem;
hash = {
x86_64-linux = "sha256-vr/c7kYXoKlZh7+f1ZPHcmIGw0nB8x1wJt/iR2F9bQI=";
aarch64-linux = "sha256-mKLbxj5LSztjHtLWdZFlW4T6S+kN56SZnJNxKZDQIQ4=";
x86_64-darwin = "sha256-AllKEadf+1s3XGCXD0PRycvDUyYNL6HLaViBwwaYswU=";
aarch64-darwin = "sha256-6Pik3uYLfbeAW4Q4ZxJFt90IH+jhXWKY6kpDA6NAmaA=";
x86_64-linux = "sha256-6ki5sIzypyBhCFhUDXlD3mT13o9A4OQ4cFFfCWTFPaA=";
aarch64-linux = "sha256-LoFDQDsQDRZZiyEpWmGTfEWE/kJDk4GNKA8AsoqxXmY=";
x86_64-darwin = "sha256-o13H5phQ0aWCchizRpIWuy1nO/19qoRRZNq52QHbINY=";
aarch64-darwin = "sha256-N7N1y3/C5Q4NT0fISjjUuU3a9IV1Ur5VEa/Z4wVoApU=";
}.${system} or throwSystem;
bin = "$out/bin/codeium_language_server";
@ -24,7 +24,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "codeium";
version = "1.6.23";
version = "1.6.26";
src = fetchurl {
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "dublin-traceroute";
version = "0.4.2-unstable-2023-04-12";
version = "0.4.2-unstable-2024-01-09";
src = fetchFromGitHub {
owner = "insomniacslk";
repo = "dublin-traceroute";
rev = "2fb78ea05596dfdf8f7764b497eb8d3a812cb695";
hash = "sha256-E1HYMd0wDTfAZ0TamQFazh8CPhMa2lNIbF4aEBf5qhk=";
rev = "b136db81cfbb30d5fd324dfccc97fca49a5ecee1";
hash = "sha256-FsolpeQGaLDjDE5Yk58t2hFQJgM58zafIx6s5ejYKnY=";
};
nativeBuildInputs = [ cmake pkg-config ];

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fleng";
version = "17";
version = "19";
src = fetchurl {
url = "http://www.call-with-current-continuation.org/fleng/fleng-${finalAttrs.version}.tgz";
hash = "sha256-mZ0JDt1wDWUUvK5FNvGRkz1BEunmZAzHAuhURA1P89Q=";
hash = "sha256-xYMNGS3avZ9JsR8kJlSHz+C2XsLmhsDO/KTr5JquRK8=";
};
doCheck = true;

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "free42";
version = "3.1.2";
version = "3.1.3";
src = fetchFromGitHub {
owner = "thomasokken";
repo = "free42";
rev = "v${finalAttrs.version}";
hash = "sha256-v7Qi0ZRLXEoZqnbIiHTkvsftwMi9vUhgH7wOtHN84nU=";
hash = "sha256-bOW5OyWaWblH2/2O3jNxaTjJEPZw86dTFJdexdlVLPs=";
};
nativeBuildInputs = [

View File

@ -121,7 +121,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
version = "1.9.11";
version = "1.9.12";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
@ -132,7 +132,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
hash = "sha256-chPZ9nGhFcaExoJDJvFy8terIGZRU6S90RKBYkoWyGQ=";
hash = "sha256-hPRp61m/XTXFacYkBOb4SsG4fcFvWrdMfc+sxLk5/sQ=";
};
patches = [
@ -256,9 +256,6 @@ stdenv.mkDerivation (finalAttrs: {
contrib/generate-man.py \
po/test-deps
substituteInPlace data/installed-tests/fwupdmgr-p2p.sh \
--replace "gdbus" ${glib.bin}/bin/gdbus
# tests fail with: Failed to load SMBIOS: neither SMBIOS or DT found
sed -i 's/test(.*)//' plugins/lenovo-thinklmi/meson.build
sed -i 's/test(.*)//' plugins/mtd/meson.build

View File

@ -48,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm444 -t $out/bin bin/jdtls.py
'';
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://github.com/eclipse/eclipse.jdt.ls";
description = "Java language server";

View File

@ -0,0 +1,21 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash --pure -p curl cacert libxml2 yq nix jq
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
DRV_DIR="$PWD"
# scrape the downloads page for release info
newver=$(curl -s 'https://download.eclipse.org/jdtls/milestones/' | xmllint --html - --xmlout 2>/dev/null | xq --raw-output '.html.body.main.div.div.div[0].div.table.tr | max_by(.td[3]).td[1].a.["#text"]')
prefix="https://download.eclipse.org/jdtls/milestones/$newver"
filename=$(curl -s "$prefix/latest.txt")
newtimestamp=$(echo $filename | sed "s|^.*-$newver-||;s|\.tar\.gz$||")
newhash="$(nix-hash --to-sri --type sha256 $(nix-prefetch-url "$prefix/$filename"))";
sed -i default.nix \
-e "/^ version =/ s|\".*\"|\"$newver\"|" \
-e "/^ timestamp =/ s|\".*\"|\"$newtimestamp\"|" \
-e "/^ hash =/ s|\".*\"|\"$newhash\"|" \

View File

@ -0,0 +1,95 @@
{ lib
, darwin
, fetchurl
, fetchpatch
, openssl
, stdenv
, vlc
}:
stdenv.mkDerivation (finalAttrs: {
pname = "live555";
version = "2023.11.30";
src = fetchurl {
urls = [
"http://www.live555.com/liveMedia/public/live.${finalAttrs.version}.tar.gz"
"https://src.rrz.uni-hamburg.de/files/src/live555/live.${finalAttrs.version}.tar.gz"
"https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
"mirror://sourceforge/slackbuildsdirectlinks/live.${finalAttrs.version}.tar.gz"
];
hash = "sha256-xue+9YtdAM2XkzAY6dU2PZ3n6bvPwlULIHqBqc8wuSU=";
};
patches = [
(fetchpatch {
name = "cflags-when-darwin.patch";
url = "https://github.com/rgaufman/live555/commit/16701af5486bb3a2d25a28edaab07789c8a9ce57.patch?full_index=1";
hash = "sha256-IDSdByBu/EBLsUTBe538rWsDwH61RJfAEhvT68Nb9rU=";
})
];
nativeBuildInputs = lib.optionals stdenv.isDarwin [
darwin.cctools
];
buildInputs = [
openssl
];
strictDeps = true;
# Since NIX_CFLAGS_COMPILE does not differentiate C and C++ toolchains, we
# set CXXFLAGS directly
env.CXXFLAGS = "-std=c++20";
postPatch = ''
substituteInPlace config.macosx-catalina \
--replace '/usr/lib/libssl.46.dylib' "${lib.getLib openssl}/lib/libssl.dylib" \
--replace '/usr/lib/libcrypto.44.dylib' "${lib.getLib openssl}/lib/libcrypto.dylib"
sed -i -e 's|/bin/rm|rm|g' genMakefiles
sed -i \
-e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
config.linux
''
# condition from icu/base.nix
+ lib.optionalString (stdenv.hostPlatform.libc == "glibc"
|| stdenv.hostPlatform.libc == "musl") ''
substituteInPlace liveMedia/include/Locale.hh \
--replace '<xlocale.h>' '<locale.h>'
'';
configurePhase = let
platform = if stdenv.isLinux
then "linux"
else if stdenv.isDarwin
then "macosx-catalina"
else throw "Unsupported platform: ${stdenv.hostPlatform.system}";
in ''
runHook preConfigure
./genMakefiles ${platform}
runHook postConfigure
'';
makeFlags = [
"PREFIX=${placeholder "out"}"
];
enableParallelBuilding = true;
passthru.tests = {
# Downstream dependency
inherit vlc;
};
meta = {
homepage = "http://www.live555.com/liveMedia/";
description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
changelog = "http://www.live555.com/liveMedia/public/changelog.txt";
license = with lib.licenses; [ lgpl21Plus ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})

View File

@ -4,31 +4,28 @@
, makeWrapper
}:
let
appimageTools.wrapType2 rec {
pname = "lunar-client";
version = "3.1.3";
version = "3.2.1";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha512-VV6UH0mEv+bABljDKZUOZXBjM1Whf2uacUQI8AnyLDBYI7pH0fkdjsBfjhQhFL0p8nHOwPAQflA+8vRFLH/uZw==";
hash = "sha512-ZW+SFIZ5+xxgesaZ7ZQbUnv7H5U92SZdfAU7GhJR1H0mhkrIb5Go6GWrIXaWYZLrmOlD98LSLihYi7SemJp+Yg==";
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 rec {
inherit pname version src;
extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/${pname} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
install -Dm444 ${appimageContents}/launcher.desktop $out/share/applications/lunar-client.desktop
install -Dm444 ${appimageContents}/launcher.png $out/share/pixmaps/lunar-client.png
substituteInPlace $out/share/applications/lunar-client.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=lunar-client' \
--replace 'Icon=launcher' 'Icon=lunar-client'
'';
extraInstallCommands =
let contents = appimageTools.extract { inherit pname version src; };
in ''
mv $out/bin/{lunar-client-*,lunar-client}
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/lunar-client \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
install -Dm444 ${contents}/launcher.desktop $out/share/applications/lunar-client.desktop
install -Dm444 ${contents}/launcher.png $out/share/pixmaps/lunar-client.png
substituteInPlace $out/share/applications/lunar-client.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=lunar-client' \
--replace 'Icon=launcher' 'Icon=lunar-client'
'';
passthru.updateScript = ./update.sh;

View File

@ -6,7 +6,7 @@ target="$(dirname "$(readlink -f "$0")")/package.nix"
host="https://launcherupdates.lunarclientcdn.com"
metadata=$(curl "$host/latest-linux.yml")
version=$(echo "$metadata" | yq .version -r)
sha512=$(echo "$metadata" | yq .sha512 -r)
hash=$(echo "$metadata" | yq .sha512 -r)
sed -i "s@version = .*;@version = \"$version\";@g" "$target"
sed -i "s@hash.* = .*;@hash = \"sha512-$sha512\";@g" "$target"
sed -i "s@hash.* = .*;@hash = \"sha512-$hash\";@g" "$target"

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "pgmoneta";
version = "0.7.3";
version = "0.8.0";
src = fetchFromGitHub {
owner = "pgmoneta";
repo = "pgmoneta";
rev = version;
hash = "sha256-sErdlHXMn97acVIxKapsnLkyOAgO7lOB0UQC5GkL4sQ=";
hash = "sha256-bIuVFF8v7O++g7lorGduAlOGx4XoiqjqkTWHM3RNNdg=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,79 @@
{ lib
, stdenv
, fetchFromGitHub
, qt5
, openssl
, protobuf3_20 # https://github.com/blueprint-freespeech/ricochet-refresh/issues/178
, pkg-config
, cmake
}:
let
protobuf = protobuf3_20;
in
stdenv.mkDerivation (finalAttrs: {
pname = "ricochet-refresh";
version = "3.0.18";
src = fetchFromGitHub {
owner = "blueprint-freespeech";
repo = "ricochet-refresh";
rev = "v${finalAttrs.version}-release";
hash = "sha256-QN2cxcYWGoszPdrWv+4FoTGNjQViK/OwxbBC6uoDhfA=";
fetchSubmodules = true;
};
sourceRoot = "${finalAttrs.src.name}/src";
strictDeps = true;
buildInputs = (with qt5; [
qtbase
qttools
qtmultimedia
qtquickcontrols2
qtwayland
]) ++ [
openssl
protobuf
];
nativeBuildInputs = [
pkg-config
cmake
qt5.wrapQtAppsHook
];
enableParallelBuilding = true;
# https://github.com/blueprint-freespeech/ricochet-refresh/blob/main/BUILDING.md
cmakeFlags = [
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "MinSizeRel")
(lib.cmakeBool "RICOCHET_REFRESH_INSTALL_DESKTOP" true)
(lib.cmakeBool "USE_SUBMODULE_FMT" true)
];
meta = {
description = "Secure chat without DNS or WebPKI";
longDescription = ''
Ricochet Refresh is a peer-to-peer messenger app that uses Tor
to connect clients.
When you start Ricochet Refresh it creates a Tor hidden
service on your computer. The address of this hidden service
is your anonymous identity on the Tor network and how others
will be able to communicate with you. When you start a chat
with one of your contacts a Tor circuit is created between
your machine and the your contact's machine.
The original Ricochet uses onion "v2" hashed-RSA addresses,
which are no longer supported by the Tor network. Ricochet
Refresh upgrades the original Ricochet protocol to use the
current onion "v3" ed25519 addresses.
'';
homepage = "https://www.ricochetrefresh.net/";
downloadPage = "https://github.com/blueprint-freespeech/ricochet-refresh/releases";
license = lib.licenses.bsd3;
platforms = lib.platforms.unix;
};
})

View File

@ -1,13 +1,13 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "starlark";
version = "unstable-2023-11-01";
version = "0-unstable-2023-11-21";
src = fetchFromGitHub {
owner = "google";
repo = "starlark-go";
rev = "556fd59b42f68a2fb1f84957741b72811c714e51";
hash = "sha256-0IiEtZOQEvE2Qm//lI1eyFFL1q/ZQzO9JzmiGsk0HkQ=";
rev = "90ade8b19d09805d1b91a9687198869add6dfaa1";
hash = "sha256-ZNOPx7L21A4BR5WshMMAHGm6j1ukWC9waJ1lYLvxBw0=";
};
vendorHash = "sha256-jQE5fSqJeiDV7PW7BY/dzCxG6b/KEVIobcjJsaL2zMw=";
@ -19,5 +19,6 @@ buildGoModule rec {
description = "An interpreter for Starlark, implemented in Go";
license = licenses.bsd3;
maintainers = with maintainers; [ aaronjheng ];
mainProgram = "starlark";
};
}

View File

@ -0,0 +1,33 @@
{ lib, fetchCrate, rustPlatform, testers, toml-cli }:
rustPlatform.buildRustPackage rec {
pname = "toml-cli";
version = "0.2.3";
src = fetchCrate {
inherit version;
pname = "toml-cli";
hash = "sha256-V/yMk/Zt3yvEx10nzRhY/7GYnQninGg9h63NSaQChSA=";
};
cargoHash = "sha256-v+GBn9mmiWcWnxmpH6JRPVz1fOSrsjWoY+l+bdzKtT4=";
cargoTestFlags = [
"--bin=toml"
# # The `CARGO_BIN_EXE_toml` build-time env doesn't appear to be resolving
# # correctly with buildRustPackage. Only run the unittests instead.
# "--test=integration"
];
passthru.tests = {
version = testers.testVersion { package = toml-cli; };
};
meta = {
description = "A simple CLI for editing and querying TOML files";
homepage = "https://github.com/gnprice/toml-cli";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ phlip9 ];
mainProgram = "toml";
};
}

Some files were not shown because too many files have changed in this diff Show More