Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-09-04 12:06:41 +00:00
committed by GitHub
96 changed files with 3305 additions and 935 deletions

View File

@@ -28,6 +28,8 @@
- `base16-builder` node package has been removed due to lack of upstream maintenance.
- `python3Packages.bjoern` has been removed, as the upstream is unmaintained and it depends on a 14-year-old version of http-parser with numerous vulnerabilities.
- `buildGoModule` now warns if `<pkg>.passthru.overrideModAttrs` is lost during the overriding of its result packages.
- `gentium` package now provides `Gentium-*.ttf` files, and not `GentiumPlus-*.ttf` files like before. The font identifiers `Gentium Plus*` are available in the `gentium-plus` package, and if you want to use the more recently updated package `gentium` [by sil](https://software.sil.org/gentium/), you should update your configuration files to use the `Gentium` font identifier.

View File

@@ -64,7 +64,7 @@ in
default = null;
description = ''
The content of /etc/asusd/anime.ron.
See <https://asus-linux.org/asusctl/#anime-control>.
See <https://asus-linux.org/manual/asusctl-manual/#anime-control>.
'';
};
@@ -73,7 +73,7 @@ in
default = null;
description = ''
The content of /etc/asusd/asusd.ron.
See <https://asus-linux.org/asusctl/>.
See <https://asus-linux.org/manual/asusctl-manual/>.
'';
};
@@ -82,7 +82,7 @@ in
default = { };
description = ''
The content of /etc/asusd/aura_<name>.ron.
See <https://asus-linux.org/asusctl/#led-keyboard-control>.
See <https://asus-linux.org/manual/asusctl-manual/#led-keyboard-control>.
'';
};
@@ -91,7 +91,7 @@ in
default = null;
description = ''
The content of /etc/asusd/profile.ron.
See <https://asus-linux.org/asusctl/#profiles>.
See <https://asus-linux.org/manual/asusctl-manual/#profiles>.
'';
};
@@ -100,7 +100,7 @@ in
default = null;
description = ''
The content of /etc/asusd/fan_curves.ron.
See <https://asus-linux.org/asusctl/#fan-curves>.
See <https://asus-linux.org/manual/asusctl-manual/#fan-curves>.
'';
};
@@ -109,7 +109,7 @@ in
default = null;
description = ''
The content of /etc/asusd/asusd-user-ledmodes.ron.
See <https://asus-linux.org/asusctl/#led-keyboard-control>.
See <https://asus-linux.org/manual/asusctl-manual/#led-keyboard-control>.
'';
};
};

View File

@@ -3485,22 +3485,6 @@ let
};
};
ms-vscode.theme-tomorrowkit = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "Theme-TomorrowKit";
publisher = "ms-vscode";
version = "0.1.4";
hash = "sha256-qakwJWak+IrIeeVcMDWV/fLPx5M8LQGCyhVt4TS/Lmc=";
};
meta = {
description = "Additional Tomorrow and Tomorrow Night themes for VS Code. Based on the TextMate themes";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme-TomorrowKit";
homepage = "https://github.com/microsoft/vscode-themes";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ratsclub ];
};
};
ms-vscode-remote.remote-containers = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "remote-containers";
@@ -5625,6 +5609,7 @@ let
mgt19937.typst-preview = throw "The features of 'typst-preview' have been consolidated to 'tinymist', an all-in-one language server for typst"; # Added 2024-07-07
ms-vscode.go = throw "ms-vscode.go is deprecated in favor of golang.go"; # Added 2024-05-29
ms-vscode.PowerShell = throw "ms-vscode.PowerShell is deprecated in favor of super.ms-vscode.powershell"; # Added 2024-05-29
ms-vscode.theme-tomorrowkit = throw "ms-vscode.theme-tomorrowkit is deprecated"; # Added 2025-08-30
rioj7.commandOnAllFiles = throw "rioj7.commandOnAllFiles is deprecated in favor of rioj7.commandonallfiles"; # Added 2024-05-29
WakaTime.vscode-wakatime = throw "WakaTime.vscode-wakatime is deprecated in favor of wakatime.vscode-wakatime"; # Added 2024-05-29
};

View File

@@ -1,7 +1,7 @@
From af541a4f8ddda287f74687327e4ed89b79557777 Mon Sep 17 00:00:00 2001
From 64f735a58d3e5cc2344f823e73602eab638d7076 Mon Sep 17 00:00:00 2001
From: tropf <tropf@noreply.codeberg.org>
Date: Mon, 5 Aug 2024 21:25:33 +0200
Subject: [PATCH 1/3] force frozen=true
Subject: [PATCH 1/4] force frozen=true
Enforce installation in frozen mode, i.e. as a packaged version where
source can not be modified.
@@ -10,7 +10,7 @@ source can not be modified.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inkstitch.py b/inkstitch.py
index 50f33d19..398465ca 100644
index efe6f6dec..be8ddf665 100644
--- a/inkstitch.py
+++ b/inkstitch.py
@@ -40,7 +40,7 @@ else:
@@ -23,5 +23,5 @@ index 50f33d19..398465ca 100644
if not running_as_frozen: # override running_as_frozen from DEBUG.toml - for testing
if safe_get(ini, "DEBUG", "force_frozen", default=False):
--
2.36.0
2.49.0

View File

@@ -1,7 +1,7 @@
From a86412c57833c24743214c9d3abb76093365769f Mon Sep 17 00:00:00 2001
From c15715af2cfca6603241f4d414b68d43bd4acb98 Mon Sep 17 00:00:00 2001
From: tropf <tropf@noreply.codeberg.org>
Date: Mon, 5 Aug 2024 21:26:13 +0200
Subject: [PATCH 2/3] plugin invocation: use python script as entrypoint
Subject: [PATCH 2/4] plugin invocation: use python script as entrypoint
Ink/Stitch is invoked by calling a script with command line parameters.
Depending on the distribution format, this is bundled into a standalone
@@ -17,7 +17,7 @@ intent of only using the else path.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/inx/utils.py b/lib/inx/utils.py
index 9168f2a2..00313639 100755
index c4cbf6f0d..6d4774ec0 100755
--- a/lib/inx/utils.py
+++ b/lib/inx/utils.py
@@ -21,7 +21,7 @@ def build_environment():
@@ -30,5 +30,5 @@ index 9168f2a2..00313639 100755
# Command tag and icons path
if sys.platform == "win32":
--
2.36.0
2.49.0

View File

@@ -0,0 +1,490 @@
From 87d64cbc61175a2adebd4563ac833562a4729295 Mon Sep 17 00:00:00 2001
From: tropf <tropf@noreply.codeberg.org>
Date: Fri, 16 May 2025 23:28:21 +0200
Subject: [PATCH 3/4] lazy-load module to access global_settings
The access to global_settings triggers a read to the home directory on
module inclusion. During the nix build process, this home does not
exist, and hence fails, crashing the entire build.
The inclusion is moved into the function calls, such that it is only
loaded at runtime (where a home should be available), but not at build
time.
The performance impact is considered negligible, as the loads are called
every invocation, but will mostly hit the cache.
Note to self: If this patch is missing, the cache module import will be
the first to trigger the read. This import can be left untouched, as the
underlying cause is defused by this patch.
---
lib/gui/apply_palette.py | 3 ++-
lib/gui/edit_json/main_panel.py | 3 ++-
lib/gui/lettering/main_panel.py | 6 +++++-
lib/gui/lettering_font_sample.py | 4 +++-
lib/gui/preferences.py | 3 ++-
lib/gui/simulator/control_panel.py | 4 +++-
lib/gui/simulator/drawing_panel.py | 6 +++++-
lib/gui/simulator/simulator_preferences.py | 5 ++++-
lib/gui/simulator/split_simulator_window.py | 4 +++-
lib/gui/simulator/view_panel.py | 6 +++++-
lib/metadata.py | 3 +--
lib/sew_stack/stitch_layers/stitch_layer_editor.py | 3 ++-
lib/utils/cache.py | 6 +++---
13 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/lib/gui/apply_palette.py b/lib/gui/apply_palette.py
index 6bc771914..df647d082 100644
--- a/lib/gui/apply_palette.py
+++ b/lib/gui/apply_palette.py
@@ -8,12 +8,12 @@ import wx.adv
from ..i18n import _
from ..threads import ThreadCatalog
-from ..utils.settings import global_settings
class ApplyPaletteFrame(wx.Frame):
def __init__(self, title, **kwargs):
+ from ..utils.settings import global_settings
super().__init__(None, title=title)
self.SetWindowStyle(wx.FRAME_FLOAT_ON_PARENT | wx.DEFAULT_FRAME_STYLE)
@@ -99,6 +99,7 @@ class ApplyPaletteApp(wx.App):
app.MainLoop()
def set_palette(self):
+ from ..utils.settings import global_settings
if self.frame.palette_list.GetSelection() == -1:
return
self.palette = self.frame.palette_list.GetString(self.frame.palette_list.GetSelection())
diff --git a/lib/gui/edit_json/main_panel.py b/lib/gui/edit_json/main_panel.py
index bd43f523b..5eb9d4cc9 100644
--- a/lib/gui/edit_json/main_panel.py
+++ b/lib/gui/edit_json/main_panel.py
@@ -22,7 +22,6 @@ from ...lettering.categories import FONT_CATEGORIES
from ...lettering.font_variant import FontVariant
from ...stitch_plan import stitch_groups_to_stitch_plan
from ...svg.tags import SVG_PATH_TAG
-from ...utils.settings import global_settings
from ...utils.threading import ExitThread, check_stop_flag
from .. import PreviewRenderer, WarningPanel
from . import HelpPanel, SettingsPanel
@@ -33,6 +32,7 @@ LETTER_CASE = {0: '', 1: 'upper', 2: 'lower'}
class LetteringEditJsonPanel(wx.Panel):
def __init__(self, parent, simulator, layer, metadata=None, background_color='white'):
+ from ...utils.settings import global_settings
self.parent = parent
self.simulator = simulator
self.layer = layer
@@ -251,6 +251,7 @@ class LetteringEditJsonPanel(wx.Panel):
return glyph
def on_font_changed(self, event=None):
+ from ...utils.settings import global_settings
selected_font = self.settings_panel.font_chooser.GetValue()
if selected_font:
self.font = self.fonts[selected_font]
diff --git a/lib/gui/lettering/main_panel.py b/lib/gui/lettering/main_panel.py
index 64312b5a1..5ed11b247 100644
--- a/lib/gui/lettering/main_panel.py
+++ b/lib/gui/lettering/main_panel.py
@@ -17,7 +17,6 @@ from ...lettering.categories import FONT_CATEGORIES
from ...stitch_plan import stitch_groups_to_stitch_plan
from ...svg.tags import INKSTITCH_LETTERING
from ...utils import DotDict, cache
-from ...utils.settings import global_settings
from ...utils.threading import ExitThread, check_stop_flag
from .. import PresetsPanel, PreviewRenderer, info_dialog
from . import LetteringHelpPanel, LetteringOptionsPanel
@@ -73,6 +72,7 @@ class LetteringPanel(wx.Panel):
def load_settings(self):
"""Load the settings saved into the SVG group element"""
+ from ...utils.settings import global_settings
self.settings = DotDict({
"text": "",
@@ -184,12 +184,14 @@ class LetteringPanel(wx.Panel):
@property
def default_font(self):
+ from ...utils.settings import global_settings
try:
return self.fonts[global_settings['last_font']]
except KeyError:
return list(self.fonts.values())[0]
def on_change(self, attribute, event):
+ from ...utils.settings import global_settings
value = event.GetEventObject().GetValue()
self.settings[attribute] = value
if attribute == "text" and self.options_panel.font_glyph_filter.GetValue() is True:
@@ -206,6 +208,7 @@ class LetteringPanel(wx.Panel):
self.update_preview()
def on_choice_change(self, attribute, event=None):
+ from ...utils.settings import global_settings
value = event.GetEventObject().GetCurrentSelection()
self.settings[attribute] = value
if attribute == 'trim_option':
@@ -215,6 +218,7 @@ class LetteringPanel(wx.Panel):
self.update_preview()
def on_font_changed(self, event=None):
+ from ...utils.settings import global_settings
font = self.fonts.get(self.options_panel.font_chooser.GetValue(), self.default_font)
self.settings.font = font.marked_custom_font_id
global_settings['last_font'] = font.marked_custom_font_name
diff --git a/lib/gui/lettering_font_sample.py b/lib/gui/lettering_font_sample.py
index e19544dce..c2f7fcaaa 100644
--- a/lib/gui/lettering_font_sample.py
+++ b/lib/gui/lettering_font_sample.py
@@ -13,12 +13,12 @@ from ..commands import ensure_command_symbols
from ..i18n import _
from ..lettering import get_font_list
from ..marker import ensure_marker_symbols
-from ..utils.settings import global_settings
class FontSampleFrame(wx.Frame):
def __init__(self, *args, **kwargs):
+ from ..utils.settings import global_settings
self.layer = kwargs.pop("layer")
wx.Frame.__init__(self, None, wx.ID_ANY, _("Font Sampling"), *args, **kwargs)
@@ -135,6 +135,7 @@ class FontSampleFrame(wx.Frame):
self.font_chooser.Append(font.marked_custom_font_name)
def on_font_changed(self, event=None):
+ from ..utils.settings import global_settings
selected_font = self.font_chooser.GetValue()
if selected_font:
self.font = self.fonts[selected_font]
@@ -157,6 +158,7 @@ class FontSampleFrame(wx.Frame):
self.color_sort_checkbox.Disable()
def apply(self, event):
+ from ..utils.settings import global_settings
# apply scale to layer and extract for later use
self.layer.transform.add_scale(self.scale_spinner.GetValue() / 100)
scale = self.layer.transform.a
diff --git a/lib/gui/preferences.py b/lib/gui/preferences.py
index 23dbbf0c6..13684acb9 100644
--- a/lib/gui/preferences.py
+++ b/lib/gui/preferences.py
@@ -7,11 +7,11 @@ import wx
from ..i18n import _
from ..utils.cache import get_stitch_plan_cache
-from ..utils.settings import global_settings
class PreferencesFrame(wx.Frame):
def __init__(self, *args, **kwargs):
+ from ..utils.settings import global_settings
self.extension = kwargs.pop("extension")
wx.Frame.__init__(self, None, wx.ID_ANY, _("Preferences"), *args, **kwargs)
self.SetTitle(_("Preferences"))
@@ -180,6 +180,7 @@ class PreferencesFrame(wx.Frame):
stitch_plan_cache.clear(retry=True)
def apply(self):
+ from ..utils.settings import global_settings
metadata = self.extension.get_inkstitch_metadata()
metadata['min_stitch_len_mm'] = self.minimum_stitch_length.GetValue()
metadata['collapse_len_mm'] = self.minimum_jump_stitch_length.GetValue()
diff --git a/lib/gui/simulator/control_panel.py b/lib/gui/simulator/control_panel.py
index 99d1f92ba..1bd9e1872 100644
--- a/lib/gui/simulator/control_panel.py
+++ b/lib/gui/simulator/control_panel.py
@@ -11,7 +11,6 @@ from wx.lib.intctrl import IntCtrl
from ...debug.debug import debug
from ...i18n import _
from ...utils import get_resource_dir
-from ...utils.settings import global_settings
from . import SimulatorSlider
@@ -21,6 +20,7 @@ class ControlPanel(wx.Panel):
@debug.time
def __init__(self, parent, *args, **kwargs):
""""""
+ from ...utils.settings import global_settings
self.parent = parent
self.stitch_plan = kwargs.pop('stitch_plan', None)
self.detach_callback = kwargs.pop('detach_callback', None)
@@ -204,6 +204,7 @@ class ControlPanel(wx.Panel):
return icon.ConvertToBitmap()
def choose_speed(self):
+ from ...utils.settings import global_settings
if not global_settings['simulator_adaptive_speed']:
self.set_speed(global_settings['simulator_speed'])
return
@@ -233,6 +234,7 @@ class ControlPanel(wx.Panel):
self.animation_reverse()
def set_speed(self, speed):
+ from ...utils.settings import global_settings
global_settings['simulator_speed'] = speed
self.speed = int(max(speed, 1))
self.update_speed_text()
diff --git a/lib/gui/simulator/drawing_panel.py b/lib/gui/simulator/drawing_panel.py
index abe6fa0fb..036a7b2a6 100644
--- a/lib/gui/simulator/drawing_panel.py
+++ b/lib/gui/simulator/drawing_panel.py
@@ -11,7 +11,6 @@ from numpy import split
from ...debug.debug import debug
from ...i18n import _
from ...svg import PIXELS_PER_MM
-from ...utils.settings import global_settings
# L10N command label at bottom of simulator window
COMMAND_NAMES = [_("STITCH"), _("JUMP"), _("TRIM"), _("STOP"), _("COLOR CHANGE")]
@@ -37,6 +36,7 @@ class DrawingPanel(wx.Panel):
def __init__(self, parent, *args, **kwargs):
""""""
+ from ...utils.settings import global_settings
self.parent = parent
self.stitch_plan = kwargs.pop('stitch_plan', None)
kwargs['style'] = wx.BORDER_SUNKEN
@@ -269,6 +269,7 @@ class DrawingPanel(wx.Panel):
canvas.StrokeLines(block)
def draw_needle_penetration_points(self, canvas, pen, stitches):
+ from ...utils.settings import global_settings
if self.view_panel.btnNpp.GetValue():
npp_size = global_settings['simulator_npp_size'] * PIXELS_PER_MM * self.PIXEL_DENSITY
npp_pen = wx.Pen(pen.GetColour(), width=int(npp_size))
@@ -364,11 +365,13 @@ class DrawingPanel(wx.Panel):
pass
def color_to_pen(self, color):
+ from ...utils.settings import global_settings
line_width = global_settings['simulator_line_width'] * PIXELS_PER_MM * self.PIXEL_DENSITY
background_color = self.GetBackgroundColour().GetAsString()
return wx.Pen(list(map(int, color.visible_on_background(background_color).rgb)), int(line_width))
def update_pen_size(self):
+ from ...utils.settings import global_settings
line_width = global_settings['simulator_line_width'] * PIXELS_PER_MM * self.PIXEL_DENSITY
for pen in self.pens:
pen.SetWidth(int(line_width))
@@ -421,6 +424,7 @@ class DrawingPanel(wx.Panel):
self.jumps.append(jumps)
def set_speed(self, speed):
+ from ...utils.settings import global_settings
self.speed = speed
global_settings['simulator_speed'] = speed
diff --git a/lib/gui/simulator/simulator_preferences.py b/lib/gui/simulator/simulator_preferences.py
index 7b72b87de..bfebc7cbe 100644
--- a/lib/gui/simulator/simulator_preferences.py
+++ b/lib/gui/simulator/simulator_preferences.py
@@ -6,7 +6,6 @@
import wx
from ...i18n import _
-from ...utils.settings import global_settings
class SimulatorPreferenceDialog(wx.Dialog):
@@ -14,6 +13,7 @@ class SimulatorPreferenceDialog(wx.Dialog):
"""
def __init__(self, *args, **kwargs):
+ from ...utils.settings import global_settings
super(SimulatorPreferenceDialog, self).__init__(*args, **kwargs)
self.SetWindowStyle(wx.FRAME_FLOAT_ON_PARENT | wx.DEFAULT_FRAME_STYLE)
@@ -62,18 +62,21 @@ class SimulatorPreferenceDialog(wx.Dialog):
self.SetSizerAndFit(sizer)
def on_change(self, attribute, event):
+ from ...utils.settings import global_settings
global_settings[attribute] = event.EventObject.GetValue()
if self.drawing_panel.loaded and attribute == 'simulator_line_width':
self.drawing_panel.update_pen_size()
self.drawing_panel.Refresh()
def on_adaptive_speed_changed(self, event=None):
+ from ...utils.settings import global_settings
adaptive_speed = self.adaptive_speed.GetValue()
global_settings['simulator_adaptive_speed'] = adaptive_speed
self.control_panel.choose_speed()
self.control_panel.Refresh()
def save_settings(self):
+ from ...utils.settings import global_settings
global_settings['simulator_line_width'] = self.line_width.GetValue()
global_settings['simulator_npp_size'] = self.npp_size.GetValue()
diff --git a/lib/gui/simulator/split_simulator_window.py b/lib/gui/simulator/split_simulator_window.py
index e4b2803e2..6513b6d3d 100644
--- a/lib/gui/simulator/split_simulator_window.py
+++ b/lib/gui/simulator/split_simulator_window.py
@@ -8,12 +8,12 @@ import wx
from ...debug.debug import debug
from ...utils import get_resource_dir
-from ...utils.settings import global_settings
from . import SimulatorPanel, SimulatorWindow
class SplitSimulatorWindow(wx.Frame):
def __init__(self, panel_class, title, target_duration=None, **kwargs):
+ from ...utils.settings import global_settings
super().__init__(None, title=title)
self.SetWindowStyle(wx.FRAME_FLOAT_ON_PARENT | wx.DEFAULT_FRAME_STYLE)
@@ -89,6 +89,7 @@ class SplitSimulatorWindow(wx.Frame):
self.detach_simulator()
def attach_simulator(self):
+ from ...utils.settings import global_settings
self.detached_simulator_frame.detach_simulator_panel()
self.simulator_panel.Reparent(self.splitter)
self.splitter.SplitVertically(self.settings_panel, self.simulator_panel)
@@ -105,6 +106,7 @@ class SplitSimulatorWindow(wx.Frame):
global_settings['pop_out_simulator'] = False
def detach_simulator(self):
+ from ...utils.settings import global_settings
self.splitter.Unsplit()
self.detached_simulator_frame = SimulatorWindow(panel=self.simulator_panel, parent=self)
self.splitter.SetMinimumPaneSize(100)
diff --git a/lib/gui/simulator/view_panel.py b/lib/gui/simulator/view_panel.py
index e2f2618d8..abbbc49d4 100644
--- a/lib/gui/simulator/view_panel.py
+++ b/lib/gui/simulator/view_panel.py
@@ -9,7 +9,6 @@ from ...debug.debug import debug
from ...i18n import _
from . import SimulatorPreferenceDialog
from . import DesignInfoDialog
-from ...utils.settings import global_settings
class ViewPanel(ScrolledPanel):
@@ -18,6 +17,7 @@ class ViewPanel(ScrolledPanel):
@debug.time
def __init__(self, parent, detach_callback):
""""""
+ from ...utils.settings import global_settings
self.parent = parent
self.detach_callback = detach_callback
ScrolledPanel.__init__(self, parent)
@@ -159,14 +159,17 @@ class ViewPanel(ScrolledPanel):
self.toggle_npp(event)
def toggle_npp(self, event):
+ from ...utils.settings import global_settings
self.drawing_panel.Refresh()
global_settings['npp_button_status'] = self.btnNpp.GetValue()
def on_cursor_button(self, event):
+ from ...utils.settings import global_settings
self.drawing_panel.Refresh()
global_settings['display_crosshair'] = self.btnCursor.GetValue()
def toggle_page(self, event):
+ from ...utils.settings import global_settings
debug.log("toggle page")
value = self.btnPage.GetValue()
self.drawing_panel.set_show_page(value)
@@ -174,6 +177,7 @@ class ViewPanel(ScrolledPanel):
global_settings['toggle_page_button_status'] = value
def on_marker_button(self, marker_type, event):
+ from ...utils.settings import global_settings
value = event.GetEventObject().GetValue()
self.control_panel.slider.enable_marker_list(marker_type, value)
if marker_type == 'jump':
diff --git a/lib/metadata.py b/lib/metadata.py
index 837fbf008..0beaeeb7a 100644
--- a/lib/metadata.py
+++ b/lib/metadata.py
@@ -5,8 +5,6 @@ from collections.abc import MutableMapping
import inkex
from lxml import etree
-from .utils.settings import DEFAULT_METADATA, global_settings
-
def strip_namespace(tag):
"""Remove xml namespace from a tag name.
@@ -33,6 +31,7 @@ class InkStitchMetadata(MutableMapping):
"""
def __init__(self, document):
+ from .utils.settings import DEFAULT_METADATA, global_settings
super().__init__()
self.document = document
self.metadata = document.metadata
diff --git a/lib/sew_stack/stitch_layers/stitch_layer_editor.py b/lib/sew_stack/stitch_layers/stitch_layer_editor.py
index eddf78675..4a5dfcf40 100644
--- a/lib/sew_stack/stitch_layers/stitch_layer_editor.py
+++ b/lib/sew_stack/stitch_layers/stitch_layer_editor.py
@@ -7,7 +7,6 @@ import wx.propgrid
from ...debug.debug import debug
from ...gui.windows import SimpleBox
from ...i18n import _
-from ...utils.settings import global_settings
class CheckBoxProperty(wx.propgrid.BoolProperty):
@@ -311,6 +310,7 @@ class StitchLayerEditor:
return any(property.HasFlag(wx.propgrid.PG_PROP_MODIFIED) for property in self.property_grid.Items)
def get_panel(self, parent):
+ from ...utils.settings import global_settings
if self.property_grid_panel is None:
self.layer_editor_panel = wx.Panel(parent, wx.ID_ANY)
@@ -426,6 +426,7 @@ class StitchLayerEditor:
self.property_grid.RefreshEditor()
def on_sash_position_changed(self, event):
+ from ...utils.settings import global_settings
global_settings['stitch_layer_editor_sash_position'] = event.GetSashPosition()
def show_help(self, property):
diff --git a/lib/utils/cache.py b/lib/utils/cache.py
index cca6296a9..6ecdf6403 100644
--- a/lib/utils/cache.py
+++ b/lib/utils/cache.py
@@ -10,9 +10,6 @@ import sqlite3
import diskcache # type: ignore[import-untyped]
-from lib.utils.settings import global_settings
-
-from .paths import get_user_dir
from functools import lru_cache
@@ -25,6 +22,8 @@ __stitch_plan_cache = None
def get_stitch_plan_cache():
+ from .paths import get_user_dir
+ from lib.utils.settings import global_settings
global __stitch_plan_cache
if __stitch_plan_cache is None:
@@ -51,6 +50,7 @@ def get_stitch_plan_cache():
def is_cache_disabled():
+ from lib.utils.settings import global_settings
return not global_settings['cache_size']
--
2.49.0

View File

@@ -0,0 +1,31 @@
From 99c895045df01e291c6c9dc89b7a1c758e010bda Mon Sep 17 00:00:00 2001
From: tropf <tropf@noreply.codeberg.org>
Date: Sat, 26 Oct 2024 14:07:17 +0200
Subject: [PATCH 4/4] enable force-insertion of python path
As of now, the inkex library loaded by inkstitch must be fixed. The
version supplied by inkscape is not sufficient. This should be fixed
with inkscape 1.4, where this patch can be removed.
The fixed path is injected through an environment variable at runtime.
---
inkstitch.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/inkstitch.py b/inkstitch.py
index be8ddf665..d7a8fca2f 100644
--- a/inkstitch.py
+++ b/inkstitch.py
@@ -105,6 +105,9 @@ if not running_as_frozen: # debugging/profiling only in development mode
if prefer_pip_inkex and 'PYTHONPATH' in os.environ:
debug_utils.reorder_sys_path()
+if "PYTHON_INKEX_PATH" in os.environ:
+ sys.path = [os.environ["PYTHON_INKEX_PATH"]] + sys.path
+
# enabling of debug depends on value of debug_type in DEBUG.toml file
if debug_type != 'none':
from lib.debug.debugger import init_debugger
--
2.49.0

View File

@@ -2,25 +2,47 @@
lib,
python3,
fetchFromGitHub,
fetchFromGitLab,
gettext,
}:
let
version = "3.1.0";
# on update check compatibility to nixpkgs inkex
version = "3.2.2";
# remove and use nixpkgs version is recent enough
inkex' = python3.pkgs.inkex.overrideAttrs (old: rec {
# this is no special commit, just the most recent as of writing
version = "3150a5b3b06f7e4c2104d9e8eb6dc448982bb2b0";
src = fetchFromGitLab {
owner = "inkscape";
repo = "extensions";
rev = "${version}";
hash = "sha256-FYBZ66ERC3nVYCaAmFPqKnBxDOKAoQwT14C0fKLn10c=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'scour = "^0.37"' 'scour = ">=0.37"'
'';
});
dependencies =
with python3.pkgs;
[
pyembroidery
inkex
# inkex upstream release & nixpkgs is too old
# use nixpkgs inkex once up to date
inkex'
wxpython
networkx
platformdirs
shapely
lxml
appdirs
numpy
jinja2
requests
# Upstream wants colormath2 yet still refers to it as colormath. Curious.
colormath
colormath2
flask
fonttools
trimesh
@@ -41,7 +63,7 @@ python3.pkgs.buildPythonApplication {
owner = "inkstitch";
repo = "inkstitch";
tag = "v${version}";
hash = "sha256-CGhJsDRhElgemNv2BXqZr6Vi5EyBArFak7Duz545ivY=";
hash = "sha256-6EVfjmTXEYgZta01amK8E6t5h2JBPfGGNnqfBG8LQfo=";
};
nativeBuildInputs = [
@@ -70,8 +92,12 @@ python3.pkgs.buildPythonApplication {
patches = [
./0001-force-frozen-true.patch
./0002-plugin-invocation-use-python-script-as-entrypoint.patch
./0003-lazy-load-module-to-access-global_settings.patch
./0004-enable-force-insertion-of-python-path.patch
];
doCheck = false;
postPatch = ''
# Add shebang with python dependencies
substituteInPlace lib/inx/utils.py --replace-fail ' interpreter="python"' ""
@@ -79,6 +105,12 @@ python3.pkgs.buildPythonApplication {
chmod a+x inkstitch.py
'';
postInstall = ''
export SITE_PACKAGES=$(find "${pyEnv}" -type d -name 'site-packages')
wrapProgram $out/share/inkscape/extensions/inkstitch/inkstitch.py \
--set PYTHON_INKEX_PATH "$SITE_PACKAGES"
'';
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
];

View File

@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "abracadabra";
version = "3.3.0";
version = "3.3.1";
src = fetchFromGitHub {
owner = "KejPi";
repo = "AbracaDABra";
tag = "v${version}";
hash = "sha256-udMPbnR/AXF+zCuU6AMcDerqinJ/B1J2OzuFrkQmEh0=";
hash = "sha256-cx5Kq5V0XTUJdqEDI0iDICIygbYkGu8JwdCACNLMgtY=";
};
nativeBuildInputs = [

View File

@@ -6,19 +6,19 @@
rustPlatform.buildRustPackage rec {
pname = "alioth";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "google";
repo = "alioth";
tag = "v${version}";
hash = "sha256-7mQmyWOMEHg374mmYGJL8xhVWlYk1zKplpjc74wLoKw=";
hash = "sha256-6+Co+Du08Hr2U8vifsD5kYfgSERVkFZ2BpqE1wXEDkM=";
};
# Checks use `debug_assert_eq!`
checkType = "debug";
cargoHash = "sha256-rAq3Ghg7zpiycQ8hNzn4Jz7cUCfwQ4aqtWxoVCg8MrE=";
cargoHash = "sha256-W01mqG0QlKDP/b4NbVm/ohySF3v5j38BLZEuMwkFffs=";
separateDebugInfo = true;

View File

@@ -17,11 +17,11 @@ let
rec {
x86_64-linux = {
urlSuffix = "linux-x86_64.tar.gz";
hash = "sha256-GzG1IpI3azJP9uWHUm90+MJjeU+3QZuDtekkpB9/R7c=";
hash = "sha256-ROtQQqTr6v7JnzNOBYVoE4feUZQuqooaA6TKu9iJe8E=";
};
x86_64-darwin = {
urlSuffix = "macos-universal.zip";
hash = "sha256-E1V/F+ZM6r/R8r/AhifS2rQwZHrL2J67FbCvVMhm89Q=";
hash = "sha256-y7YxsLr01qqrtftdLnx0bIXd8eL+Y3UryjgdBmaZ4gQ=";
};
aarch64-darwin = x86_64-darwin;
}
@@ -30,7 +30,7 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "appflowy";
version = "0.9.7";
version = "0.9.8";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${finalAttrs.version}/AppFlowy-${finalAttrs.version}-${dist.urlSuffix}";

View File

@@ -21,14 +21,14 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "chameleon-cli";
version = "2.0.0-unstable-2025-08-19";
version = "2.1.0-unstable-2025-09-02";
src = fetchFromGitHub {
owner = "RfidResearchGroup";
repo = "ChameleonUltra";
rev = "09870c3fc5094fee779b821feaae31397d4f040c";
rev = "964904fbfad182d6d97b72eef1ad6ec7d2fdfb79";
sparseCheckout = [ "software" ];
hash = "sha256-ePY602AT9+LBRcVLWR7I46rV+6JK0HYcb9iy/UQwmwU=";
hash = "sha256-SYtDmfheXZvjI0bttfXZPtjRV9jIL+9OSitA11rR2Ng=";
};
sourceRoot = "${finalAttrs.src.name}/software";

View File

@@ -6,18 +6,18 @@
buildGoModule rec {
pname = "cnspec";
version = "11.69.1";
version = "12.0.0-pre2";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnspec";
tag = "v${version}";
hash = "sha256-MphCAmM49ThVYRWsw46LLqDP9OJ9tgHzDFmlBjzIjA8=";
hash = "sha256-BeriITIsi2/PE/UdyB3YT8vVN9vzzV7tIa+WXAe6XZY=";
};
proxyVendor = true;
vendorHash = "sha256-pSgUt+Gv425YQrMpKZb7lncK/9hY7pxtCt/Drouea/M=";
vendorHash = "sha256-wzeVCOWox6hFQwbv/qpEZJZBDlulS4SPXtQEsKRumuU=";
subPackages = [ "apps/cnspec" ];

View File

@@ -3,6 +3,7 @@
buildGoModule,
fetchFromGitHub,
makeWrapper,
installShellFiles,
go,
}:
@@ -19,7 +20,10 @@ buildGoModule rec {
vendorHash = "sha256-vrtGPQzY+NImOGaSxV+Dvch+GNPfL9XfY4lfCHTGXwY=";
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [
makeWrapper
installShellFiles
];
allowGoReference = true;
@@ -35,6 +39,13 @@ buildGoModule rec {
--prefix PATH : ${go}/bin
'';
postInstall = ''
installShellCompletion --cmd cobra-cli \
--bash <($out/bin/cobra-cli completion bash) \
--fish <($out/bin/cobra-cli completion fish) \
--zsh <($out/bin/cobra-cli completion zsh) \
'';
meta = {
description = "Cobra CLI tool to generate applications and commands";
mainProgram = "cobra-cli";

View File

@@ -0,0 +1,5 @@
{
python3Packages,
}:
python3Packages.toPythonApplication python3Packages.crewai

View File

@@ -15,7 +15,6 @@ cueSchemaFile:
writeShellScript "validate-using-cue" ''
${cue}/bin/cue \
--all-errors \
--strict \
vet \
--concrete \
"$1" \

View File

@@ -15,7 +15,7 @@
json_c,
libmodulemd,
librepo,
libsmartcols,
util-linux,
libsolv,
libxml2,
libyaml,
@@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
json_c
libmodulemd
librepo
libsmartcols
util-linux
libsolv
libxml2
libyaml

View File

@@ -20,7 +20,7 @@
stdenv.mkDerivation rec {
pname = "exiv2";
version = "0.28.5";
version = "0.28.7";
outputs = [
"out"
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "exiv2";
repo = "exiv2";
rev = "v${version}";
hash = "sha256-+Fe0+wkWWtM3MNgY6qp34/kC8jkOjOLusnd9WquYpA8=";
tag = "v${version}";
hash = "sha256-a7nPjDjTcwsQeypARvy2rRsv9jpasSSxSyCTLWNDDtA=";
};
nativeBuildInputs = [
@@ -79,6 +79,10 @@ stdenv.mkDerivation rec {
preCheck = ''
patchShebangs ../test/
mkdir ../test/tmp
# template.exv_test (test_regression_allfiles.TestAllFiles.template.exv_test) ... ERROR
substituteInPlace ../tests/regression_tests/test_regression_allfiles.py \
--replace-fail '"issue_2403_poc.exv",' '"issue_2403_poc.exv", "template.exv",'
''
+ lib.optionalString stdenv.hostPlatform.isAarch32 ''
# Fix tests on arm
@@ -90,8 +94,8 @@ stdenv.mkDerivation rec {
export LC_ALL=C
# disable tests that requires loopback networking
substituteInPlace ../tests/bash_tests/testcases.py \
--replace "def io_test(self):" "def io_disabled(self):"
substituteInPlace ../tests/bash_tests/testcases.py \
--replace-fail "def io_test(self):" "def io_disabled(self):"
'';
preFixup = ''

View File

@@ -1,61 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
gtkmm2,
lv2,
lvtk,
pkg-config,
}:
stdenv.mkDerivation {
pname = "fmsynth-unstable";
version = "2015-02-07";
src = fetchFromGitHub {
owner = "Themaister";
repo = "libfmsynth";
rev = "9ffa1d2fea287f1209b210d2dbde2f0f60f37176";
sha256 = "1bk0bpr069hzx2508rgfbwpxiqgr7dmdkhqdywmd2i4rmibgrm1q";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
gtkmm2
lv2
lvtk
];
buildPhase = ''
cd lv2
substituteInPlace GNUmakefile --replace "/usr/lib/lv2" "$out/lib/lv2"
make SIMD=0
'';
preInstall = "mkdir -p $out/lib/lv2";
meta = {
description = "Flexible 8 operator FM synthesizer for LV2";
longDescription = ''
The synth core supports:
- Arbitrary amounts of polyphony
- 8 operators
- No fixed "algorithms"
- Arbitrary modulation, every operator can modulate any other operator, even itself
- Arbitrary carrier selection, every operator can be a carrier
- Sine LFO, separate LFO per voice, modulates amplitude and frequency of operators
- Envelope per operator
- Carrier stereo panning
- Velocity sensitivity per operator
- Mod wheel sensitivity per operator
- Pitch bend
- Keyboard scaling
- Sustain, sustained keys can overlap each other for a very rich sound
- Full floating point implementation optimized for SIMD
- Hard real-time constraints
'';
homepage = "https://github.com/Themaister/libfmsynth";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.linux;
};
}

View File

@@ -170,11 +170,11 @@ let
linux = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "139.0.7258.154";
version = "140.0.7339.80";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-6uEk4a5bVlsVNwW+ZHHBgTGmw/ArgrRQwKfLcSITt8o=";
hash = "sha256-9hNwMWUbtWsDvKc9hvfbI7PNVYm1L1mBLuXPlDzIG40=";
};
# With strictDeps on, some shebangs were not being patched correctly
@@ -275,11 +275,11 @@ let
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "139.0.7258.155";
version = "140.0.7339.81";
src = fetchurl {
url = "http://dl.google.com/release2/chrome/gzhmrqghx4b6bwhn7ck3vb2h5y_139.0.7258.155/GoogleChrome-139.0.7258.155.dmg";
hash = "sha256-k8kbSLD7K4AuuZlPYavjEyL+4Cbx3geYCghLfaf5o2E=";
url = "http://dl.google.com/release2/chrome/ockuail56dwhuxixexwh6zhrhm_140.0.7339.81/GoogleChrome-140.0.7339.81.dmg";
hash = "sha256-81TTdxKGHzLgSXSY2TVxY8JEjFZ6FZOhq3UuGvC0XAE=";
};
dontPatch = true;

View File

@@ -6,12 +6,12 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hellwal";
version = "1.0.5";
version = "1.0.7";
src = fetchFromGitHub {
owner = "danihek";
repo = "hellwal";
tag = "v${finalAttrs.version}";
hash = "sha256-RIg2l2lFPkmbk9Dh4uKoo7kcl+/InZZ1oYXt2ih8zKs=";
hash = "sha256-1oF+v3sEHf8DT7yLiWRYDppNx1LpiCNrm0IQ2IWIBLU=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''

View File

@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "kubedock";
version = "0.18.1";
version = "0.18.2";
src = fetchFromGitHub {
owner = "joyrex2001";
repo = "kubedock";
rev = version;
hash = "sha256-O8heDxfYmBV4sSdBZOQri+FMHJMrRW9+kai1S62ffQY=";
hash = "sha256-95C14Vo3QbHR/PEIPoLECCq9hhLg0Q7iThvdfaV6/lY=";
};
vendorHash = "sha256-9mPcHMNAkjO8Ae9HcgvdR2+UUPMYmE2oTfYksZ/KL+Y=";
vendorHash = "sha256-iTXpODO45oUgpSvKmjLBQWAVDHLrOYN6iBL/58dd1Mg=";
# config.Build not defined as it would break r-ryantm
ldflags = [

View File

@@ -10,7 +10,7 @@
check,
json_c,
libmodulemd,
libsmartcols,
util-linux,
sqlite,
librepo,
libyaml,
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
cppunit
openssl
json_c
libsmartcols
util-linux
libyaml
libmodulemd
zchunk

View File

@@ -1,50 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
python3,
gtk-doc,
}:
stdenv.mkDerivation rec {
pname = "libsmartcols";
version = "2.39.3";
nativeBuildInputs = [
autoreconfHook
pkg-config
python3
gtk-doc
];
src = fetchFromGitHub {
owner = "karelzak";
repo = "util-linux";
rev = "v${version}";
sha256 = "sha256-X39os2iHqSrrYP6HVHPOkuTfc6vNB3pmsOP3VjW50fI=";
};
configureFlags = [
"--disable-all-programs"
"--enable-libsmartcols"
];
buildPhase = ''
make libsmartcols.la
'';
installTargets = [
"install-am"
"install-pkgconfigDATA"
];
meta = {
description = "Smart column output alignment library";
homepage = "https://github.com/karelzak/util-linux/tree/master/libsmartcols";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [ rb2k ];
};
}

View File

@@ -8,7 +8,7 @@
pkg-config,
glib,
libpeas,
libsmartcols,
util-linux,
help2man,
zchunk,
pcre2,
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
libdnf
glib
libpeas
libsmartcols
util-linux
zchunk
pcre2.dev
];

View File

@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "osv-scanner";
version = "2.2.0";
version = "2.2.1";
src = fetchFromGitHub {
owner = "google";
repo = "osv-scanner";
tag = "v${version}";
hash = "sha256-ePhwY1F1MfjFnWuIZwDBBo4rmngcW9BJfPijBs0HmQQ=";
hash = "sha256-6s399GG2k0bkaLTwtMpt87BszzpS+GD4glt2/52Cb3A=";
};
vendorHash = "sha256-Ph7ukPx2BD2GKnxooWqH2jYoHoeTow+ta9ZaY+3dIX4=";

View File

@@ -16,13 +16,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "pkl";
version = "0.29.0";
version = "0.29.1";
src = fetchFromGitHub {
owner = "apple";
repo = "pkl";
tag = finalAttrs.version;
hash = "sha256-lhLzkx0FdpluUi/GSI8HDksCZ7m3zAFmhWEnsXSO9hc=";
hash = "sha256-vel4Il/muHd4wqV5tfMPwBHoxgei8vPcnk2kS2/XG3I=";
leaveDotGit = true;
postFetch = ''
pushd $out

View File

@@ -34,6 +34,7 @@
passt,
vfkit,
versionCheckHook,
writableTmpDirAsHomeHook,
}:
let
# do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed
@@ -162,7 +163,11 @@ buildGoModule rec {
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
nativeInstallCheckInputs = [
versionCheckHook
writableTmpDirAsHomeHook
];
versionCheckKeepEnvironment = [ "HOME" ];
versionCheckProgramArg = "--version";
passthru.tests = lib.optionalAttrs stdenv.hostPlatform.isLinux {

View File

@@ -105,6 +105,7 @@ python.pkgs.buildPythonApplication rec {
"celery"
"css_inline"
"cssutils"
"defusedcsv"
"defusedxml"
"django-compressor"
"django-csp"

View File

@@ -17,28 +17,17 @@ let
pythonEnv = python3.withPackages (ps: with ps; [ click ]);
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "sby";
version = "0.56";
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "sby";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-uKndGUoLbG7SBhsOSYyM/v9g33pq7zFFajzvTUYa7NY=";
};
nativeCheckInputs = [
python3
python3.pkgs.xmlschema
yosys
boolector
yices
z3
aiger
btor2tools
];
postPatch = ''
patchShebangs --build \
docs/source/conf.py \
@@ -54,9 +43,9 @@ stdenv.mkDerivation rec {
# Fix various executable references
substituteInPlace sbysrc/sby_core.py \
--replace-fail '"/usr/bin/env", "bash"' '"${bash}/bin/bash"' \
--replace-fail ', "btormc"' ', "${boolector}/bin/btormc"' \
--replace-fail ', "aigbmc"' ', "${aiger}/bin/aigbmc"'
--replace-fail '"/usr/bin/env", "bash"' '"${lib.getExe bash}"' \
--replace-fail ', "btormc"' ', "${lib.getExe' boolector "btormc"}"' \
--replace-fail ', "aigbmc"' ', "${lib.getExe' aiger "aigbmc"}"'
substituteInPlace sbysrc/sby_core.py \
--replace-fail '##yosys-program-prefix##' '"${yosys}/bin/"'
@@ -64,7 +53,7 @@ stdenv.mkDerivation rec {
substituteInPlace sbysrc/sby.py \
--replace-fail '/usr/bin/env python3' '${pythonEnv}/bin/python'
substituteInPlace sbysrc/sby_autotune.py \
--replace-fail '["btorsim", "--vcd"]' '["${btor2tools}/bin/btorsim", "--vcd"]'
--replace-fail '["btorsim", "--vcd"]' '["${lib.getExe' btor2tools "btorsim"}", "--vcd"]'
'';
dontBuild = true;
@@ -80,6 +69,17 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
nativeCheckInputs = [
python3
python3.pkgs.xmlschema
yosys
boolector
yices
z3
aiger
btor2tools
];
doCheck = true;
checkPhase = ''
@@ -100,4 +100,4 @@ stdenv.mkDerivation rec {
mainProgram = "sby";
platforms = lib.platforms.all;
};
}
})

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
rustPlatform,
cargo-tauri,
glib-networking,
nodejs,
libgudev,
systemdLibs,
pnpm,
openssl,
nix-update-script,
pkg-config,
webkitgtk_4_1,
wrapGAppsHook4,
autoPatchelfHook,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "sftool-gui";
version = "1.0.2";
src = fetchFromGitHub {
owner = "OpenSiFli";
repo = "sftool-gui";
tag = "v${finalAttrs.version}";
hash = "sha256-FD3eQN4Uto4q7gdyfK5KUyZJ5ZiIJeUKkqaCZRWdQNo=";
};
cargoHash = "sha256-XAU3ru+TxUo99OQwcXNLJ8gzBOZUkC8UCAApz7M/QTM=";
cargoRoot = "src-tauri";
pnpmDeps = pnpm.fetchDeps {
fetcherVersion = 2;
inherit (finalAttrs) pname version src;
hash = "sha256-gamgu9koBf+JLDswi3eGXRZybF8UiYE8CoifpQCgLaI=";
};
nativeBuildInputs = [
cargo-tauri.hook
pnpm.configHook
nodejs
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isLinux [
wrapGAppsHook4
autoPatchelfHook
];
buildInputs = [
openssl
]
++ lib.optionals stdenv.hostPlatform.isLinux [
glib-networking # Most Tauri apps need networking
webkitgtk_4_1
libgudev
systemdLibs
];
# Set our Tauri source directory
# And make sure we build there too
buildAndTestSubdir = finalAttrs.cargoRoot;
passthru = {
inherit (finalAttrs) pnpmDeps;
updateScript = nix-update-script { };
};
meta = {
description = "Download tool for the SiFli family of chips";
homepage = "https://github.com/OpenSiFli/sftool-gui";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ eihqnh ];
mainProgram = "sftool";
};
})

View File

@@ -0,0 +1,40 @@
{
lib,
pkg-config,
rustPlatform,
stdenv,
systemdLibs,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "sftool";
version = "0.1.13";
src = fetchFromGitHub {
owner = "OpenSiFli";
repo = "sftool";
tag = finalAttrs.version;
hash = "sha256-/5RVBWHrZpPK2R4khnvZAnFyMfSZStCnQO5g7Ao9Ck4=";
};
cargoHash = "sha256-fteBYld3JzsTn/KMy5w/6Ts7x1PsYmi8zhBvgYVw5os=";
nativeBuildInputs = [
pkg-config
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
systemdLibs # libudev-sys
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Download tool for the SiFli family of chips";
homepage = "https://github.com/OpenSiFli/sftool";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ eihqnh ];
mainProgram = "sftool";
};
})

View File

@@ -6,7 +6,7 @@
buildGoModule (finalAttrs: {
pname = "spire";
version = "1.12.4";
version = "1.12.5";
outputs = [
"out"
@@ -18,7 +18,7 @@ buildGoModule (finalAttrs: {
owner = "spiffe";
repo = "spire";
tag = "v${finalAttrs.version}";
sha256 = "sha256-gyACFRoA0WwIea4GRmKvZlC83YGtjyZROH6QB0GyHOg=";
sha256 = "sha256-Ggsl40CusrHhwO/Cc9MkxHjraQsNmBLwnJJCQ1QFiAw=";
};
vendorHash = "sha256-yWONqvSNOgeXkYU5TX1Sec8xNCnaqdVLXk3ylhGBvyE=";

View File

@@ -11,7 +11,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tideways-cli";
version = "1.2.10";
version = "1.2.12";
nativeBuildInputs = [ installShellFiles ];
@@ -38,19 +38,19 @@ stdenvNoCC.mkDerivation (finalAttrs: {
sources = {
"x86_64-linux" = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/tideways/cli/${finalAttrs.version}/tideways-cli_linux_amd64-${finalAttrs.version}.tar.gz";
hash = "sha256-dUWwX+0rDQce/AklrBU4ALRSmHbBnbQQGlUtfK+Foeg=";
hash = "sha256-SsXVDNXaxppF9E9CGJBwdWoseV7YXbuWfsVrkB+R5To=";
};
"aarch64-linux" = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/tideways/cli/${finalAttrs.version}/tideways-cli_linux_arm64-${finalAttrs.version}.tar.gz";
hash = "sha256-a/0H64NSJZG2ixJCeCAp1SD/2l6HGCT1oECTSsgfu2E=";
hash = "sha256-MUUsDNN03i3+ZrKLKptex+P7SWjZ+YIUkXHkZf21Q+0=";
};
"x86_64-darwin" = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/tideways/cli/${finalAttrs.version}/tideways-cli_macos_amd64-${finalAttrs.version}.tar.gz";
hash = "sha256-B5K7CvBVdSpgRfPXxYraPIZwkwW/kxlkPmaDEy1cOuE=";
hash = "sha256-ue0RV57rpL5KIhCEVy6/J3cwZKOEg5Kq+490ABJrxXE=";
};
"aarch64-darwin" = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/tideways/cli/${finalAttrs.version}/tideways-cli_macos_arm64-${finalAttrs.version}.tar.gz";
hash = "sha256-xstTc8y03uWmN33Oi8h7zmoMm4XtY8kl3taLlaJCYmk=";
hash = "sha256-OEtEjo8/qFt/iQlUBho7G5uBdCqFrHWpoTXrCzyO/oo=";
};
};

View File

@@ -1,24 +1,24 @@
{
lib,
buildGoModule,
buildGo125Module,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
dbus,
}:
buildGoModule (finalAttrs: {
buildGo125Module (finalAttrs: {
pname = "upcloud-cli";
version = "3.21.0";
version = "3.22.0";
src = fetchFromGitHub {
owner = "UpCloudLtd";
repo = "upcloud-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-GN/GIqppSXDexe2KRH1RoVpm8HUkvsnul3H+q4OcjOA=";
hash = "sha256-37e5eJdKqUMlipcViFC4bTtZSlL3PgjjPiTO3PJWpTw=";
};
vendorHash = "sha256-Z2Eumhsn/YmHopgpKBFGs4HmDdUl/cr+R6bRaeCFQtE=";
vendorHash = "sha256-F1QUH0+FMmpt05G50PfDryfzbBHvDLCMQMb8qAo6BR4=";
ldflags = [
"-s -w -X github.com/UpCloudLtd/upcloud-cli/v3/internal/config.Version=${finalAttrs.version}"

View File

@@ -7,12 +7,12 @@
python3Packages.buildPythonApplication rec {
pname = "usbsdmux";
version = "24.1.1";
version = "25.8";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-OtGgToDGUr6pBu9+LS/DxaYw/9+Pd6jPhxVDAM22HB4=";
hash = "sha256-/hDDEUvpdpUpg3ZVw8NWcDOLOtLu087Ki7FmGrDh9Gg=";
};
# Remove the wrong GROUP=plugdev.
@@ -22,7 +22,10 @@ python3Packages.buildPythonApplication rec {
--replace-fail 'TAG+="uaccess", GROUP="plugdev"' 'TAG+="uaccess"'
'';
build-system = with python3Packages; [ setuptools ];
build-system = with python3Packages; [
setuptools
setuptools-scm
];
nativeBuildInputs = [
udevCheckHook
@@ -36,11 +39,11 @@ python3Packages.buildPythonApplication rec {
pythonImportsCheck = [ "usbsdmux" ];
meta = with lib; {
meta = {
description = "Control software for the LXA USB-SD-Mux";
homepage = "https://github.com/linux-automation/usbsdmux";
license = licenses.lgpl21;
maintainers = with maintainers; [ emantor ];
platforms = with platforms; linux;
license = lib.licenses.lgpl21;
maintainers = with lib.maintainers; [ emantor ];
platforms = with lib.platforms; linux;
};
}

View File

@@ -15,14 +15,14 @@
python3Packages.buildPythonApplication rec {
pname = "varia";
version = "2025.7.19";
version = "2025.7.19-1";
pyproject = false;
src = fetchFromGitHub {
owner = "giantpinkrobots";
repo = "varia";
tag = "v${version}";
hash = "sha256-/u6Eb9Se/Lt8Hisv24zfOgNE9ZxC3AJXbZHmukVLSRA=";
hash = "sha256-gdHg1q33HMTpH3DFdMx6RAVvcOuu6Rcigt9HoUgPqDM=";
};
nativeBuildInputs = [

File diff suppressed because it is too large Load Diff

View File

@@ -3,22 +3,21 @@
ffmpeg,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "vidmerger";
version = "0.3.2";
version = "0.4.0";
src = fetchFromGitHub {
owner = "TGotwig";
repo = "vidmerger";
rev = version;
hash = "sha256-E3Y1UaYXl6NdCMM7IepqFzWNuHaMGLCN5BvQ/lxjFoc=";
tag = finalAttrs.version;
hash = "sha256-N/iX0EN5R4oG4XHhpd/VaihrEHv5uT+grAJ6/KfSORE=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
cargoLock.lockFile = ./Cargo.lock;
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
@@ -31,14 +30,18 @@ rustPlatform.buildRustPackage rec {
ffmpeg
];
meta = with lib; {
passthru.updateScript = nix-update-script {
extraArgs = [ "--generate-lockfile" ];
};
meta = {
description = "Merge video & audio files via CLI";
homepage = "https://github.com/TGotwig/vidmerger";
license = with licenses; [
license = with lib.licenses; [
mit
commons-clause
];
maintainers = with maintainers; [ ByteSudoer ];
maintainers = with lib.maintainers; [ ByteSudoer ];
mainProgram = "vidmerger";
};
}
})

View File

@@ -1,35 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
python3,
}:
stdenv.mkDerivation {
pname = "woof";
version = "2022-01-13";
src = fetchFromGitHub {
owner = "simon-budig";
repo = "woof";
rev = "f51e9db264118d4cbcd839348c4a6223fda49813";
sha256 = "sha256-tk55q2Ew2mZkQtkxjWCuNgt9t+UbjH4llIJ42IruqGY=";
};
propagatedBuildInputs = [ python3 ];
installPhase = ''
runHook preInstall
install -Dm555 -t $out/bin woof
runHook postInstall
'';
meta = with lib; {
homepage = "http://www.home.unix-ag.org/simon/woof.html";
description = "Web Offer One File - Command-line utility to easily exchange files over a local network";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with maintainers; [ matthiasbeyer ];
mainProgram = "woof";
};
}

View File

@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wrkflw";
version = "0.7.1";
version = "0.7.3";
src = fetchFromGitHub {
owner = "bahdotsh";
repo = "wrkflw";
rev = "v${finalAttrs.version}";
hash = "sha256-r7FEyMVvsHqFylOXx9NKeI3WHGmlv5655BOhi0tlbVU=";
hash = "sha256-VwB8qpCNyuB28XqIUJa+ghtZ4Dx1QYDluw6+zxtePIQ=";
};
cargoHash = "sha256-hCkUN8BcdJIIWXJhPbSrdX06nHjsx5arrgPuC+Jo8rM=";
cargoHash = "sha256-lZ2dcR33fzIUX8XvJMcysQWSViWD1hpm471wkpD22QA=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
@@ -40,6 +40,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
maintainers = with lib.maintainers; [
awwpotato
FKouhai
tebriel
];
mainProgram = "wrkflw";
};

View File

@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "xk6";
version = "1.1.2";
version = "1.1.3";
src = fetchFromGitHub {
owner = "grafana";
repo = "xk6";
tag = "v${version}";
hash = "sha256-o+sN/xAGewqHo6/aoN23+FG1YrtNykc4voSg5wO74uA=";
hash = "sha256-+sKZjC6H8ddRvCGFmUKp3H1BrLfoawWy3YCDY7bbnc0=";
};
vendorHash = null;

View File

@@ -6,16 +6,16 @@
}:
let
pname = "xremap";
version = "0.10.15";
version = "0.10.16";
src = fetchFromGitHub {
owner = "xremap";
repo = "xremap";
tag = "v${version}";
hash = "sha256-ghGlyjBqW9UyXno1l4+a6AzgIJx7RNuJEVCQkae2pww=";
hash = "sha256-rBzjHrwAwFzHaF6JJzZDlfEFp+rSAkKaprOQk3kyDk8=";
};
cargoHash = "sha256-xP1UC8ViAS3/EXmvZjerDexH96Esj5vfRPx1GRzcICI=";
cargoHash = "sha256-vGCoQG162riXe9zCh9IRWLmq5zgcNnYBnh44+2BNvwk=";
buildXremap =
{

View File

@@ -3,51 +3,49 @@
stdenv,
fetchFromGitHub,
cmake,
gtest,
openblas,
xtensor,
xtl,
doctest,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xtensor-blas";
version = "0.22.0";
version = "0.23.0";
src = fetchFromGitHub {
owner = "xtensor-stack";
repo = "xtensor-blas";
tag = finalAttrs.version;
hash = "sha256-Lg6MjJbZUCMqv4eSiZQrLfJy/86RWQ9P85UfeIQJ6bk=";
hash = "sha256-3g84TMOBWq9q8O6GipwdsugjGhPwkZE1cXbRsnVp3Ls=";
};
# test case THREW exception: Could not find workspace size for gelsd
postPatch = ''
substituteInPlace test/CMakeLists.txt \
--replace-fail "test_lapack.cpp" "" \
--replace-fail "test_linalg.cpp" "" \
--replace-fail "test_qr.cpp" "" \
--replace-fail "test_lstsq.cpp" ""
'';
nativeBuildInputs = [ cmake ];
buildInputs = [
openblas
xtensor
xtl
];
nativeCheckInputs = [
gtest
openblas
];
nativeCheckInputs = [ doctest ];
cmakeFlags = [
(lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck)
];
# Disable some failing tests
env.GTEST_FILTER =
"-"
+ lib.concatStringsSep ":" [
"xlapack.*"
"xlinalg.*"
"xtest_extended.*"
];
doCheck = true;
meta = {
description = "Extension to the xtensor library offering bindings to BLAS and LAPACK";
homepage = "https://github.com/QuantStack/xtensor-blas";
homepage = "https://github.com/xtensor-stack/xtensor-blas";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jherland ];
};

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xtensor";
version = "0.26.0";
version = "0.27.0";
src = fetchFromGitHub {
owner = "xtensor-stack";
repo = "xtensor";
tag = finalAttrs.version;
hash = "sha256-gAGLb5NPT4jiIpXONqY+kalxKCFKFXlNqbM79x1lTKE=";
hash = "sha256-RvxjQXMKhgAsvCSprMKyAMETbOsg9Ek7yREXtaNa5Eo=";
};
nativeBuildInputs = [

View File

@@ -99,7 +99,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.202.5";
version = "0.202.6";
outputs = [
"out"
@@ -112,7 +112,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-Q7Ord+GJJcOCH/S3qNwAbzILqQiIC94qb8V+JkzQqaQ=";
hash = "sha256-S220e+mK0IHKVrSRAcbYtlIpK0T25+2gpIzMmyjaM2Y=";
};
patches = [
@@ -138,7 +138,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "inner.redirect(policy)" "inner.redirect_policy(policy)"
'';
cargoHash = "sha256-13ChlJU2IGwftYXkWEmUhp4w+VeNPZA2fp1qTY1fOW0=";
cargoHash = "sha256-P3eOp81LHXZr4O29kuuChd22ucFfkbneQvzKxpDhrV0=";
nativeBuildInputs = [
cmake

View File

@@ -15,13 +15,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "zsh-forgit";
version = "25.08.0";
version = "25.09.0";
src = fetchFromGitHub {
owner = "wfxr";
repo = "forgit";
tag = finalAttrs.version;
hash = "sha256-45NeIRSTNiCqctdwBaS/qOeOI/8f4L+KVI/I6grYm+0=";
hash = "sha256-hbPiuuiyPOCtnByInhoA0atVDwNaMRfzp1n9dusg59I=";
};
strictDeps = true;

View File

@@ -10,13 +10,13 @@ let
{ directory, meta }:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "open-relay-${name}";
version = "2025-03-20";
version = "2025-09-01";
src = fetchFromGitHub {
owner = "kreativekorp";
repo = "open-relay";
tag = finalAttrs.version;
hash = "sha256-OQpZHPbNL3rxXH89lwtHvm7eENl8fS0M0i8IBn4m2hI=";
hash = "sha256-+vG9gzbb3x7Fh3xIpUJZRpclz1qT+gyTSqmOtKJXZtw=";
};
installPhase = ''

View File

@@ -24,7 +24,7 @@ lib.makeScope pkgs.newScope (
truffleruby = self.callPackage ./community-edition/truffleruby { };
graalvm-oracle_25-ea =
(self.callPackage ./graalvm-oracle { version = "25-ea-35"; }).overrideAttrs
(self.callPackage ./graalvm-oracle { version = "25-ea-36"; }).overrideAttrs
(prev: {
autoPatchelfIgnoreMissingDeps = [ "libonnxruntime.so.1" ];
});

View File

@@ -4,22 +4,22 @@
# $ rg -No "(https://.+)\"" -r '$1' pkgs/development/compilers/graalvm/graalvm-oracle/hashes.nix | \
# parallel -k 'echo {}; nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri $(curl -s {}.sha256)'
{
"25-ea-35" = {
"25-ea-36" = {
"aarch64-linux" = {
hash = "sha256-DbESXsX/saJSizZ/s6ENsL3W9VASRRGYArKzjvqlRk8=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.35/graalvm-jdk-25.0.0-ea.35_linux-aarch64_bin.tar.gz";
hash = "sha256-NbN5UYIRgyqMXuGZcf0OQhghBa1v4/jpMJvOih8+7Nk=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.36/graalvm-jdk-25.0.0-ea.36_linux-aarch64_bin.tar.gz";
};
"x86_64-linux" = {
hash = "sha256-fR9cA8vwV7/w4eRAkrzft0cNW29tM2rCCjSoUEDcX1A=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.35/graalvm-jdk-25.0.0-ea.35_linux-x64_bin.tar.gz";
hash = "sha256-LQCwzhYDsbhR+ij8zYh37H7xhxbfxzZxAVFNLBzmFVs=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.36/graalvm-jdk-25.0.0-ea.36_linux-x64_bin.tar.gz";
};
"x86_64-darwin" = {
hash = "sha256-OZHBmZqwC5DpGmXSDah4f002XGBhreoumBXv0IEalRs=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.35/graalvm-jdk-25.0.0-ea.35_macos-x64_bin.tar.gz";
hash = "sha256-GU57RhQJK4SHOigRMsCPwXkLo9SKJ/73GVZw2QzcIVM=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.36/graalvm-jdk-25.0.0-ea.36_macos-x64_bin.tar.gz";
};
"aarch64-darwin" = {
hash = "sha256-Q2HU2wHIPdanGTKFLNdllEEPXmERgqTyeVNMWKj/CvE=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.35/graalvm-jdk-25.0.0-ea.35_macos-aarch64_bin.tar.gz";
hash = "sha256-nOJ6Ngsy/EMZ93R1WIQ6AMD//QSaKBvNqAd3CxLdJ74=";
url = "https://github.com/graalvm/oracle-graalvm-ea-builds/releases/download/jdk-25.0.0-ea.36/graalvm-jdk-25.0.0-ea.36_macos-aarch64_bin.tar.gz";
};
};
"24" = {

View File

@@ -6,7 +6,7 @@
}:
let
version = "5.1.26";
version = "5.1.27";
in
buildPecl {
inherit version;
@@ -16,7 +16,7 @@ buildPecl {
owner = "krakjoe";
repo = "apcu";
rev = "v${version}";
sha256 = "sha256-zJTrFckl7caKAF5/IL9RpVhbwsFZiol6w2GVpNdDdPg=";
sha256 = "sha256-kf1d+WLpwhzQVn9pnkXtPPTXI5XaAuIAReI6rDGypB8=";
};
buildInputs = [ pcre2 ];

View File

@@ -9,8 +9,8 @@
buildPecl {
pname = "event";
version = "3.0.8";
sha256 = "sha256-4+ke3T3BXglpuSVMw2Jq4Hgl45vybWG0mTX2b2A9e2s=";
version = "3.1.4";
sha256 = "sha256-XEyqc7wtzu4xCS/5GSE53yjpqA8RR63g3+hp2y5N39M=";
configureFlags = [
"--with-event-libevent-dir=${libevent.dev}"

View File

@@ -11,23 +11,13 @@
buildPecl {
pname = "imagick";
version = "3.7.0";
sha256 = "sha256-WjZDVBCQKdIkvLsuguFbJIvptkEif0XmNCXAZTF5LT4=";
version = "3.8.0";
sha256 = "sha256-vaZ0YchU8g1hBXgrdpxST8NziLddRIHZUWRNIWf/7sY=";
configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pcre2 ];
patches = lib.optionals (lib.versionAtLeast php.version "8.4") [
# PHP 8.4 compatibility patch based on https://github.com/Imagick/imagick/pull/690
# These is also an alternative https://github.com/Imagick/imagick/pull/704
# Which includes more changes but doesn't apply cleanly.
(fetchpatch {
url = "https://github.com/Imagick/imagick/commit/65e27f2bc02e7e8f1bf64e26e359e42a1331fca1.patch";
hash = "sha256-I0FwdqtQ/Y/QVkCl+nWPBIxsdQY6qcjdwiA/BaLNl7g=";
})
];
meta = with lib; {
description = "Imagick is a native php extension to create and modify images using the ImageMagick API";
license = licenses.php301;

View File

@@ -1,10 +1,10 @@
{ buildPecl, lib }:
buildPecl rec {
version = "2.2.0";
version = "3.0.0";
pname = "msgpack";
sha256 = "sha256-gqoeQExf9U7EHSogEwXNZZTtFKdSnpEZ+nykV+S70So=";
sha256 = "sha256-VTBqhHl9OZxrJpGB7EhGNPGL6hMwu9nXQFBDxZfeac0=";
meta = {
changelog = "https://pecl.php.net/package-info.php?package=msgpack&version=${version}";

View File

@@ -7,8 +7,8 @@
buildPecl {
pname = "rdkafka";
version = "6.0.4";
hash = "sha256-DZc5YxOjFnruSZqVFtqFzKJa+Y5fS1XaxVVBAJvzWlk=";
version = "6.0.5";
hash = "sha256-Cva2ZcljyMfREJzsc4A0N42ciGPL9hLAvTI15RmnCPE=";
buildInputs = [
rdkafka

View File

@@ -6,8 +6,8 @@
}:
buildPecl {
pname = "smbclient";
version = "1.0.6";
sha256 = "sha256-ZsQzdDt6NLRWBsA75om9zkxSvB6zBsvvPhXJZrX/KNc=";
version = "1.1.2";
sha256 = "sha256-Hmp0RWOqxwCBXlca2YsRNahOhA1E5qxnmXSUx4Cpzec=";
# TODO: remove this when upstream merges a fix - https://github.com/eduardok/libsmbclient-php/pull/66
LIBSMBCLIENT_INCDIR = "${samba.dev}/include/samba-4.0";

View File

@@ -9,8 +9,8 @@
buildPecl {
pname = "sqlsrv";
version = "5.10.1";
sha256 = "sha256-XNrttNiihjQ+azuZmS2fy0So+2ndAqpde8IOsupeWdI=";
version = "5.12.0";
sha256 = "sha256-qeu4gLKlWNPWaE9uaALFPFv/pJ4e5g0Uc6cST8nLcq0=";
buildInputs = [ unixODBC ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];

View File

@@ -5,10 +5,10 @@
}:
buildPecl rec {
version = "1.3.1";
version = "1.4.1";
pname = "ssh2";
sha256 = "sha256-kJOh+NJNxlg2AnsOI5xQ3o1err+DlrwzMf3TjF1pr9k=";
sha256 = "sha256-e8pbI/cx252O0K6l25uxXaj/EzsPu6lhArguldpNh2Q=";
buildInputs = [ libssh2 ];
configureFlags = [ "--with-ssh2=${libssh2.dev}" ];

View File

@@ -7,8 +7,8 @@
buildPecl {
pname = "yaml";
version = "2.2.4";
sha256 = "sha256-jrNTuvh/FbG2Ksbrcci1iWhZWKH+iw49IqxZVg0OiRM=";
version = "2.2.5";
sha256 = "sha256-DHUbSJdJ+/AgcdWwxr/rJsS4Y8Zo74lxHs+VBzkb33E=";
configureFlags = [ "--with-yaml=${libyaml.dev}" ];

View File

@@ -1,39 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
libev,
python,
setuptools,
}:
buildPythonPackage rec {
pname = "bjoern";
version = "3.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "jonashaag";
repo = "bjoern";
tag = version;
hash = "sha256-drFLM6GsgrM8atQDxmb3/1bpj+C1WetQLjNbZqCTzog=";
fetchSubmodules = true; # fetch http-parser and statsd-c-client submodules
};
build-system = [ setuptools ];
buildInputs = [ libev ];
checkPhase = ''
${python.interpreter} tests/keep-alive-behaviour.py 2>/dev/null
${python.interpreter} tests/test_wsgi_compliance.py
'';
meta = with lib; {
homepage = "https://github.com/jonashaag/bjoern";
description = "Screamingly fast Python 2/3 WSGI server written in C";
changelog = "https://github.com/jonashaag/bjoern/blob/${src.tag}/CHANGELOG";
license = licenses.bsd2;
maintainers = with maintainers; [ cmcdragonkai ];
};
}

View File

@@ -5,7 +5,7 @@
setuptools,
networkx,
numpy,
pytestCheckHook,
pytest7CheckHook,
}:
buildPythonPackage rec {
@@ -27,7 +27,7 @@ buildPythonPackage rec {
numpy
];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [ pytest7CheckHook ];
pythonImportsCheck = [ "colormath2" ];

View File

@@ -0,0 +1,384 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatchling,
# dependencies
appdirs,
blinker,
chromadb,
click,
instructor,
json-repair,
json5,
jsonref,
litellm,
onnxruntime,
openai,
opentelemetry-api,
opentelemetry-exporter-otlp-proto-http,
opentelemetry-sdk,
openpyxl,
pdfplumber,
portalocker,
pydantic,
pyjwt,
python-dotenv,
pyvis,
qdrant-client,
regex,
tokenizers,
tomli,
tomli-w,
uv,
# tests
pytestCheckHook,
pytest-xdist,
versionCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "crewai";
version = "0.175.0";
pyproject = true;
src = fetchFromGitHub {
owner = "crewAIInc";
repo = "crewAI";
tag = version;
hash = "sha256-F1hw8MTQDA6eW9Rw+MdV3hJHiTuj1SHwu2c39KirPnI=";
};
build-system = [ hatchling ];
pythonRelaxDeps = [
"chromadb"
"json-repair"
"litellm"
"portalocker"
"pyvis"
];
dependencies = [
appdirs
blinker
chromadb
click
instructor
json-repair
json5
jsonref
litellm
onnxruntime
openai
opentelemetry-api
opentelemetry-exporter-otlp-proto-http
opentelemetry-sdk
openpyxl
pdfplumber
portalocker
pydantic
pyjwt
python-dotenv
pyvis
regex
tokenizers
tomli
tomli-w
uv
];
pythonImportsCheck = [ "crewai" ];
disabledTestPaths = [
# Ignore tests that require {mem0, chromadb, telemetry, security, test_agent}
"tests/memory/test_external_memory.py" # require mem0ai
"tests/storage/test_mem0_storage.py" # require mem0ai
"tests/cli/test_git.py" # require git
"tests/memory/test_short_term_memory.py" # require require API keys
"tests/test_crew.py" # require require API keys
"tests/rag/chromadb/test_client.py" # issue with chromadb
"tests/telemetry/test_telemetry.py" # telemetry need network access
];
disabledTests = [
# Tests parser
"test_valid_action_parsing_with_special_characters"
# Tests agent - require API keys (OpenAI, Anthropic, etc)
"test_agent_execution_with_tools"
"test_llm_call"
"test_agent_repeated_tool_usage"
"test_agent_execute_task_basic"
"test_agent_execution"
"test_ensure_first_task_allow_crewai_trigger_context_is_false_does_not_inject"
"test_agent_use_specific_tasks_output_as_context"
"test_task_allow_crewai_trigger_context"
"test_agent_with_only_crewai_knowledge"
"test_logging_tool_usage"
"test_agent_execute_task_with_context"
"test_agent_repeated_tool_usage_check_even_with_disabled_cache"
"test_agent_step_callback"
"test_handle_context_length_exceeds_limit_cli_no"
"test_task_without_allow_crewai_trigger_context"
"test_cache_hitting"
"test_agent_knowledege_with_crewai_knowledge"
"test_agent_execute_task_with_tool"
"test_agent_moved_on_after_max_iterations"
"test_agent_function_calling_llm"
"test_task_allow_crewai_trigger_context_no_payload"
"test_disabling_cache_for_agent"
"test_do_not_allow_crewai_trigger_context_for_first_task_hierarchical"
"test_tool_result_as_answer_is_the_final_answer_for_the_agent"
"test_agent_execute_task_with_ollama"
"test_agent_with_knowledge_sources"
"test_agent_respect_the_max_rpm_set"
"test_agent_execution_with_specific_tools"
"test_llm_call_with_ollama_llama3"
"test_first_task_auto_inject_trigger"
"test_agent_respect_the_max_rpm_set_over_crew_rpm"
"test_agent_powered_by_new_o_model_family_that_allows_skipping_tool"
"test_agent_with_knowledge_with_no_crewai_knowledge"
"test_tool_usage_information_is_appended_to_agent"
"test_agent_without_max_rpm_respects_crew_rpm"
"test_agent_powered_by_new_o_model_family_that_uses_tool"
"test_agent_error_on_parsing_tool"
"test_agent_custom_max_iterations"
"test_agent_remembers_output_format_after_using_tools_too_many_times"
"test_llm_call_with_all_attributes"
"test_agent_execute_task_with_custom_llm"
"test_agent_with_ollama_llama3"
"test_custom_llm_with_langchain"
"test_custom_llm_temperature_preservation"
"test_agent_from_repository_override_attributes"
"test_agent_from_repository_with_invalid_tools"
"test_get_knowledge_search_query"
"test_agent_from_repository"
# Tests lite agent - require API keys
"test_guardrail_is_called_using_callable"
"test_lite_agent_created_with_correct_parameters"
"test_guardrail_reached_attempt_limit"
"test_agent_output_when_guardrail_returns_base_model"
"test_lite_agent_with_tools"
"test_lite_agent_structured_output"
"test_lite_agent_returns_usage_metrics"
"test_guardrail_is_called_using_string"
# Tests evaluation - require API keys
"test_evaluate_current_iteration"
"test_eval_lite_agent"
"test_eval_specific_agents_from_crew"
"test_failed_evaluation"
# Tests knowledge - missing optional dependencies (docling, embedchain, pandas)
"test_docling_source"
"test_multiple_docling_sources"
"test_excel_knowledge_source"
# Test telemetry
"test_telemetry_fails_due_connect_timeout"
# Tests crew
"test_task_tools_override_agent_tools"
"test_crew_output_file_end_to_end"
"test_conditional_task_last_task_when_conditional_is_true"
"test_crew_with_failing_task_guardrails"
"test_kickoff_for_each_single_input"
"test_hierarchical_verbose_manager_agent"
"test_crew_function_calling_llm"
"test_replay_interpolates_inputs_properly"
"test_manager_agent_delegating_to_all_agents"
"test_crew_does_not_interpolate_without_inputs"
"test_crew_creation"
"test_delegation_is_not_enabled_if_there_are_only_one_agent"
"test_tools_with_custom_caching"
"test_api_calls_throttling"
"test_multimodal_agent_describing_image_successfully"
"test_warning_long_term_memory_without_entity_memory"
"test_replay_with_context"
"test_crew_verbose_output"
"test_before_kickoff_callback"
"test_hierarchical_verbose_false_manager_agent"
"test_task_with_no_arguments"
"test_replay_setup_context"
"test_kickoff_for_each_multiple_inputs"
"test_conditional_task_last_task_when_conditional_is_false"
"test_crew_with_delegating_agents"
"test_agents_do_not_get_delegation_tools_with_there_is_only_one_agent"
"test_multimodal_agent_live_image_analysis"
"test_hierarchical_process"
"test_crew_kickoff_usage_metrics"
"test_disabled_memory_using_contextual_memory"
"test_ensure_exchanged_messages_are_propagated_to_external_memory"
"test_agent_usage_metrics_are_captured_for_hierarchical_process"
"test_crew_log_file_output"
"test_before_kickoff_without_inputs"
"test_cache_hitting_between_agents"
"test_crew_kickoff_streaming_usage_metrics"
"test_async_crews_thread_safety"
"test_valid_action_parsing_with_unbalanced_quotes"
"test_valid_action_parsing_with_angle_brackets"
"test_valid_action_parsing_with_mixed_quotes"
"test_valid_action_parsing_with_parentheses"
"test_parsing_with_whitespace"
"test_valid_action_parsing_special_characters"
"test_parsing_with_special_characters"
"test_valid_action_parsing_with_newlines"
"test_valid_action_parsing_with_nested_quotes"
"test_valid_action_parsing_with_quotes"
"test_valid_action_parsing_with_escaped_characters"
"test_create_crew"
# Tests LLM - require API keys
"test_llm_callback_replacement"
"test_gemini_models"
"test_llm_call_with_message_list"
"test_gpt_4_1"
"test_o3_mini_reasoning_effort_low"
"test_handle_streaming_tool_calls"
"test_llm_call_with_string_input"
"test_llm_call_with_tool_and_string_input"
"test_llm_call_with_string_input_and_callbacks"
"test_llm_call_when_stop_is_unsupported"
"test_handle_streaming_tool_calls_with_error"
"test_o3_mini_reasoning_effort_medium"
"test_llm_call_with_tool_and_message_list"
"test_gemma3"
"test_llm_call_when_stop_is_unsupported_when_additional_drop_params_is_provided"
"test_o3_mini_reasoning_effort_high"
"test_handle_streaming_tool_calls_no_available_functions"
"test_handle_streaming_tool_calls_no_tools"
# Test main - require git
"test_publish_when_not_in_sync"
# Tests project - require embedchain and API keys
"test_before_kickoff_modification"
"test_before_kickoff_with_none_input"
"test_multiple_before_after_kickoff"
"test_after_kickoff_modification"
"test_internal_crew_with_mcp"
# Tests task - require API keys
"test_output_json_hierarchical"
"test_output_pydantic_sequential"
"test_no_inject_date"
"test_increment_tool_errors"
"test_task_execution_times"
"test_custom_converter_cls"
"test_save_task_output"
"test_inject_date"
"test_output_pydantic_hierarchical"
"test_json_property_without_output_json"
"test_task_interpolation_with_hyphens"
"test_increment_delegations_for_hierarchical_process"
"test_save_task_json_output"
"test_output_pydantic_to_another_task"
"test_output_json_dict_sequential"
"test_inject_date_custom_format"
"test_output_json_sequential"
"test_output_json_to_another_task"
"test_increment_delegations_for_sequential_process"
"test_save_task_pydantic_output"
"test_output_json_dict_hierarchical"
"test_task_with_max_execution_time"
"test_task_with_max_execution_time_exceeded"
# Tests task guardrails
"test_task_guardrail_process_output"
"test_guardrail_when_an_error_occurs"
"test_guardrail_emits_events"
# Tests tools
"test_delegate_work"
"test_delegate_work_with_wrong_co_worker_variable"
"test_ask_question_with_wrong_co_worker_variable"
"test_ask_question"
"test_delegate_work_withwith_coworker_as_array"
"test_ask_question_with_coworker_as_array"
"test_max_usage_count_is_respected"
"test_async_tool_using_within_isolated_crew"
"test_async_tool_using_decorator_within_flow"
"test_async_tool_using_decorator_within_isolated_crew"
"test_async_tool_within_flow"
"test_ainvoke"
# Tests tracing
"test_trace_listener_disabled_when_env_false"
"test_trace_listener_with_authenticated_user"
"test_trace_listener_collects_crew_events"
"test_trace_listener_ephemeral_batch"
"test_events_collection_batch_manager"
# Tests utilities
"test_converter_with_llama3_2_model"
"test_converter_with_llama3_1_model"
"test_converter_with_nested_model"
"test_convert_with_instructions"
"test_crew_emits_start_kickoff_event"
"test_crew_emits_test_kickoff_type_event"
"test_crew_emits_start_task_event"
"test_llm_emits_call_started_event"
"test_register_handler_adds_new_handler"
"test_multiple_handlers_for_same_event"
"test_llm_emits_event_with_lite_agent"
"test_tools_emits_finished_events"
"test_agent_emits_execution_started_and_completed_events"
"test_crew_emits_end_kickoff_event"
"test_llm_emits_stream_chunk_events"
"test_tools_emits_error_events"
"test_crew_emits_end_task_event"
"test_stream_llm_emits_event_with_task_and_agent_info"
"test_llm_no_stream_chunks_when_streaming_disabled"
"test_llm_emits_event_with_task_and_agent_info"
# Tests qdrant
"test_acreate_collection"
"test_aget_or_create_collection_wrong_client_type"
"test_aadd_documents_empty_list"
"test_acreate_collection_already_exists"
"test_aget_or_create_collection_existing"
"test_aadd_documents_collection_not_exists"
"test_acreate_collection_wrong_client_type"
"test_aadd_documents"
"test_aadd_documents_wrong_client_type"
"test_asearch"
"test_adelete_collection_not_exists"
"test_asearch_with_filters"
"test_adelete_collection_wrong_client_type"
"test_asearch_collection_not_exists"
"test_areset"
"test_areset_no_collections"
"test_aget_or_create_collection_new"
"test_aadd_documents_with_doc_id"
"test_asearch_wrong_client_type"
"test_areset_wrong_client_type"
"test_adelete_collection"
];
nativeCheckInputs = [
pytestCheckHook
pytest-xdist
qdrant-client
versionCheckHook
writableTmpDirAsHomeHook
];
versionCheckProgramArg = "--version";
meta = {
description = "Framework for orchestrating role-playing, autonomous AI agents";
homepage = "https://github.com/crewAIInc/crewAI";
changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ liberodark ];
platforms = lib.platforms.linux;
mainProgram = "crewai";
};
}

View File

@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "defusedcsv";
version = "2.0.0";
version = "3.0.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "raphaelm";
repo = "defusedcsv";
tag = "v${version}";
hash = "sha256-y8qLVfdkxRrDjtrTOLK5Zvi/1Vyv8eOnCueUkaRp4sQ=";
hash = "sha256-OEDZbltnh2tAM58Kk852W0so7oOSv7S+S046MjIOMfY=";
};
pythonImportsCheck = [ "defusedcsv.csv" ];

View File

@@ -11,18 +11,19 @@
symengine,
fenics-ufl,
pytestCheckHook,
nix-update-script,
}:
buildPythonPackage rec {
pname = "firdrake-fiat";
version = "2025.4.0";
pname = "firedrake-fiat";
version = "2025.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "firedrakeproject";
repo = "fiat";
tag = version;
hash = "sha256-i+hDpeg4SYRF7OK6uh1p1gVscyuJ4FjmyUUiLR7P7/A=";
hash = "sha256-rN2JPXsauyBF6X2378kOmqHNB+1EqxiGnDaVoEXy4vw=";
};
postPatch =
@@ -62,6 +63,18 @@ buildPythonPackage rec {
"--skip-download"
];
passthru = {
# python updater script sets the wrong tag
skipBulkUpdate = true;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"([0-9.]+)"
];
};
};
meta = {
description = "FInite element Automatic Tabulator";
homepage = "http://fenics-fiat.readthedocs.org/";

View File

@@ -43,9 +43,10 @@
mpiCheckPhaseHook,
writableTmpDirAsHomeHook,
# passthru.tests
# passthru
firedrake,
mpich,
nix-update-script,
}:
let
firedrakePackages = lib.makeScope newScope (self: {
@@ -173,6 +174,13 @@ buildPythonPackage rec {
# python updater script sets the wrong tag
skipBulkUpdate = true;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"([0-9.]+)"
];
};
tests = lib.optionalAttrs stdenv.hostPlatform.isLinux {
mpich = firedrake.override {
petsc4py = petsc4py.override { mpi = mpich; };

View File

@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "langchain-ollama";
version = "0.3.6";
version = "0.3.7";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-ollama==${version}";
hash = "sha256-GQkyJaYvwRbjDR0Rfen7/X5hFhY2+WU74B6/9Ufhpo4=";
hash = "sha256-BOXYyisEU/Hwf1/IymIrlK6ALL8DD3vBAXuDdb9eM9c=";
};
sourceRoot = "${src.name}/libs/partners/ollama";

View File

@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "latex2mathml";
version = "3.78.0";
version = "3.78.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "roniemartinez";
repo = "latex2mathml";
tag = version;
hash = "sha256-FB1VM2z9y17q+6/wv4oTrhe/rD2QzdAc0VMbFmcrIAw=";
hash = "sha256-VhBq6KSiomFPue9yzYhU68gH+MkHovVi8VEEFi3yUZ8=";
};
build-system = [ poetry-core ];

View File

@@ -21,14 +21,14 @@
buildPythonPackage rec {
pname = "mcdreforged";
version = "2.14.7";
version = "2.15.1";
pyproject = true;
src = fetchFromGitHub {
owner = "MCDReforged";
repo = "MCDReforged";
tag = "v${version}";
hash = "sha256-KwXvjLS9tg3EZT9vYFfiOIjPGswcOwdl66ErKPKS2rA=";
hash = "sha256-ksNSmy1VEZvP0MmJYB50aKexm35OmeLQchGdoMvxZZ0=";
};
build-system = [ setuptools ];

View File

@@ -1,51 +0,0 @@
{
lib,
aiomysql,
aiosqlite,
asyncpg,
buildPythonPackage,
databases,
fetchFromGitHub,
pythonOlder,
typesystem,
}:
buildPythonPackage rec {
pname = "orm";
version = "0.3.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "encode";
repo = "orm";
rev = version;
hash = "sha256-nlKEWdqttFnjBnXutlxTy9oILqFzKHKKPJpTtCUbJ5k=";
};
propagatedBuildInputs = [
aiomysql
aiosqlite
asyncpg
databases
typesystem
];
postPatch = ''
substituteInPlace setup.py \
--replace "typesystem==0.3.1" "typesystem"
'';
# Tests require databases
doCheck = false;
pythonImportsCheck = [ "orm" ];
meta = with lib; {
description = "Async ORM";
homepage = "https://github.com/encode/orm";
license = licenses.bsd3;
maintainers = [ ];
};
}

View File

@@ -73,7 +73,6 @@ buildPythonPackage rec {
changelog = "https://github.com/dbcli/pgcli/raw/v${version}/changelog.rst";
license = licenses.bsd3;
maintainers = with maintainers; [
dywedir
SuperSandro2000
];
};

View File

@@ -11,6 +11,7 @@
setuptools,
setuptools-scm,
sqlparse,
stdenv,
}:
buildPythonPackage rec {
@@ -34,6 +35,9 @@ buildPythonPackage rec {
psycopg
];
# postgresqlTestHook is not available on Darwin
doCheck = stdenv.hostPlatform.isLinux;
nativeCheckInputs = [
configobj
pytestCheckHook
@@ -59,6 +63,6 @@ buildPythonPackage rec {
homepage = "https://github.com/dbcli/pgspecial";
changelog = "https://github.com/dbcli/pgspecial/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = [ ];
maintainers = [ lib.maintainers.SuperSandro2000 ];
};
}

View File

@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pytubefix";
version = "9.4.1";
version = "9.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "JuanBindez";
repo = "pytubefix";
tag = "v${version}";
hash = "sha256-aw17XiWdr8cDIL8o4Dc91YLi3t4B8r5VAhBgZtCm3x8=";
hash = "sha256-3X0oSW1LdVzd9m6awUjqW+uI+0VijCjYYim0sH3wcSU=";
};
build-system = [ setuptools ];

View File

@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "splunk-sdk";
version = "2.1.0";
version = "2.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "splunk";
repo = "splunk-sdk-python";
tag = version;
hash = "sha256-N+QQ4DSkx7yakROhcJ2ISXPWFa7BXDeSUULNquhDPrg=";
hash = "sha256-+ae4/Q7Rx6K35RZuTOc/MDIgnX9hqswgZelnRvFiaRM=";
};
build-system = [ setuptools ];

View File

@@ -370,13 +370,6 @@ buildPythonPackage rec {
substituteInPlace third_party/kineto/libkineto/CMakeLists.txt \
--replace-fail "\''$ENV{ROCM_SOURCE_DIR}" "${rocmtoolkit_joined}"
# Workaround cmake error //include does not exist! in rocm-core-config.cmake
# Removing the call falls back to hip_version. Can likely be removed after ROCm 6.4 bump
substituteInPlace cmake/public/LoadHIP.cmake \
--replace-fail \
"find_package(rocm-core CONFIG)" \
""
# Use composable kernel as dependency, rather than built-in third-party
substituteInPlace aten/src/ATen/CMakeLists.txt \
--replace-fail "list(APPEND ATen_HIP_INCLUDE \''${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/composable_kernel/include)" "" \

View File

@@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "ultralytics-thop";
version = "2.0.15";
version = "2.0.16";
pyproject = true;
src = fetchFromGitHub {
owner = "ultralytics";
repo = "thop";
tag = "v${version}";
hash = "sha256-1osW/yTyNZWYVqyRBBoT5FOO9nAvZL2Bmo0vJhJcwu8=";
hash = "sha256-WKIO5XAf8gVtDTbwN42614E6JtqolUNqVAsCL6iPKrs=";
};
build-system = [ setuptools ];

View File

@@ -7,6 +7,14 @@
writeText,
}:
# rocm-core is used by most distros for a few purposes:
# - meta package that all rocm packages depend so `apt-get remove rocm-core` removes all rocm packages
# - provide overall ROCM_PATH
# - provide rocm version info and path to rocm version headers
# only the last usage makes sense in nixpkgs
let
padIfSingle = s: if lib.stringLength s == 1 then "0${s}" else s;
in
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-core";
version = "6.3.3";
@@ -18,23 +26,56 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-UDnPGvgwzwv49CzF+Kt0v95CsxS33BZeqNcKw1K6jRI=";
};
patches = [
./env-rocm-path.patch
];
nativeBuildInputs = [ cmake ];
# FIXME: What's the correct way to set this?
env.ROCM_LIBPATCH_VERSION = "${lib.versions.major finalAttrs.version}0${lib.versions.minor finalAttrs.version}0${lib.versions.patch finalAttrs.version}";
env.BUILD_ID = "nixos-${finalAttrs.env.ROCM_LIBPATCH_VERSION}";
env.ROCM_BUILD_ID = "release-${finalAttrs.env.BUILD_ID}";
env = {
ROCM_LIBPATCH_VERSION = "${lib.versions.major finalAttrs.version}${padIfSingle (lib.versions.minor finalAttrs.version)}${padIfSingle (lib.versions.patch finalAttrs.version)}";
BUILD_ID = "nixpkgs-${finalAttrs.env.ROCM_LIBPATCH_VERSION}";
ROCM_BUILD_ID = "${finalAttrs.env.BUILD_ID}";
};
cmakeFlags = [
"-DROCM_LIBPATCH_VERSION=${finalAttrs.env.ROCM_LIBPATCH_VERSION}"
"-DROCM_VERSION=${finalAttrs.version}"
"-DBUILD_ID=${finalAttrs.env.BUILD_ID}"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_BINDIR=bin"
];
setupHook = writeText "setupHook.sh" ''
export ROCM_VERSION="${finalAttrs.version}"
export ROCM_LIBPATCH_VERSION="${finalAttrs.env.ROCM_LIBPATCH_VERSION}"
export BUILD_ID="${finalAttrs.env.BUILD_ID}"
export ROCM_BUILD_ID="${finalAttrs.env.ROCM_BUILD_ID}"
'';
doInstallCheck = true;
preInstallCheck =
# Test that the CMake config file can be included and sets expected vars
''
mkdir test_project
pushd test_project
echo '
cmake_minimum_required(VERSION 3.16)
project(test_rocm_core)
find_package(rocm-core REQUIRED)
if(NOT DEFINED ROCM_CORE_INCLUDE_DIR)
message(FATAL_ERROR "ROCM_CORE_INCLUDE_DIR not set")
endif()
message(STATUS "Found ROCM_CORE_INCLUDE_DIR: ''${ROCM_CORE_INCLUDE_DIR}")
message(STATUS "Found ROCM_PATH: ''${ROCM_PATH}")
' > CMakeLists.txt
CMAKE_PREFIX_PATH="$out" cmake .
popd
. $out/nix-support/setup-hook
env | grep '^ROCM'
'';
passthru.ROCM_LIBPATCH_VERSION = finalAttrs.env.ROCM_LIBPATCH_VERSION;
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;

View File

@@ -0,0 +1,22 @@
In FHS distros rocm-core expects to be installed colocated with a full set of ROCM packages.
In nixpkgs contexts, we don't want rocm-core to be a ROCM_PATH root.
diff --git a/cmake_modules/rocm-core-config.cmake.in b/cmake_modules/rocm-core-config.cmake.in
index f5fe07c..9d72c9c 100644
--- a/cmake_modules/rocm-core-config.cmake.in
+++ b/cmake_modules/rocm-core-config.cmake.in
@@ -11,7 +11,14 @@ set_and_check(rocm_core_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(ROCM_CORE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(rocm_core_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
set_and_check(ROCM_CORE_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
-set_and_check(ROCM_PATH "${PACKAGE_PREFIX_DIR}")
+# Set ROCM_PATH with priority: existing value > environment variable > package prefix
+if(NOT DEFINED ROCM_PATH)
+ if(DEFINED ENV{ROCM_PATH})
+ set(ROCM_PATH "$ENV{ROCM_PATH}")
+ else()
+ set_and_check(ROCM_PATH "${PACKAGE_PREFIX_DIR}")
+ endif()
+endif()
get_filename_component(ROCM_CORE_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include("${ROCM_CORE_CMAKE_DIR}/rocmCoreTargets.cmake")

View File

@@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sbt";
version = "1.11.4";
version = "1.11.5";
src = fetchurl {
url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz";
hash = "sha256-1LVmQmTh11KRX3jMOaSeaB329h0av2HOppZssiEEarY=";
hash = "sha256-lJM3qaCC0BSPirUFiTJGf2nK48TBYZ9KGVZuwPG7ZJI=";
};
postPatch = ''

View File

@@ -3,9 +3,11 @@
buildGoModule,
fetchFromGitHub,
installShellFiles,
kustomize,
testers,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "kustomize";
version = "5.7.1";
@@ -15,14 +17,14 @@ buildGoModule rec {
in
[
"-s"
"-X ${t}.version=${version}"
"-X ${t}.gitCommit=${src.rev}"
"-X ${t}.version=v${finalAttrs.version}" # add 'v' prefix to match official releases
"-X ${t}.gitCommit=${finalAttrs.src.rev}"
];
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = pname;
rev = "kustomize/v${version}";
repo = "kustomize";
rev = "kustomize/v${finalAttrs.version}";
hash = "sha256-eLj9OQlHZph/rI3om6S5/0sYxjgYloUWag2mS0hEpCE=";
};
@@ -40,7 +42,15 @@ buildGoModule rec {
--zsh <($out/bin/kustomize completion zsh)
'';
meta = with lib; {
passthru.tests = {
versionCheck = testers.testVersion {
command = "${finalAttrs.meta.mainProgram} version";
version = "v${finalAttrs.version}";
package = kustomize;
};
};
meta = {
description = "Customization of kubernetes YAML configurations";
mainProgram = "kustomize";
longDescription = ''
@@ -49,8 +59,8 @@ buildGoModule rec {
as is.
'';
homepage = "https://github.com/kubernetes-sigs/kustomize";
license = licenses.asl20;
maintainers = with maintainers; [
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
carlosdagos
vdemeester
periklis
@@ -59,4 +69,4 @@ buildGoModule rec {
saschagrunert
];
};
}
})

View File

@@ -5,7 +5,9 @@ nvidia_x11: sha256:
lib,
fetchFromGitHub,
m4,
glibc,
libtirpc,
pkg-config,
}:
stdenv.mkDerivation {
@@ -19,8 +21,21 @@ stdenv.mkDerivation {
inherit sha256;
};
nativeBuildInputs = [ m4 ];
buildInputs = [ libtirpc ];
env = {
LIBRARY_PATH = "${glibc}/lib";
NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ];
};
NIX_LDFLAGS = [ "-ltirpc" ];
nativeBuildInputs = [
m4
pkg-config
];
buildInputs = [
libtirpc
stdenv.cc.cc.lib
];
makeFlags = nvidia_x11.makeFlags ++ [ "DATE=true" ];
@@ -36,13 +51,10 @@ stdenv.mkDerivation {
$out/bin/nvidia-persistenced
'';
env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
meta = with lib; {
homepage = "https://www.nvidia.com/object/unix.html";
description = "Settings application for NVIDIA graphics cards";
license = licenses.unfreeRedistributable;
meta = {
homepage = "https://github.com/NVIDIA/nvidia-persistenced";
description = "NVIDIA driver persistence daemon";
license = lib.licenses.mit;
platforms = nvidia_x11.meta.platforms;
maintainers = [ ];
mainProgram = "nvidia-persistenced";

View File

@@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "advanced-camera-card";
version = "7.15.0";
version = "7.17.0";
src = fetchzip {
url = "https://github.com/dermotduffy/advanced-camera-card/releases/download/v${version}/advanced-camera-card.zip";
hash = "sha256-7Xtr+MloMWB9lGOZvPNGjRWdznkal8HMhiU0fvZ6bK0=";
hash = "sha256-GwZU/vcucgg2zPsSXkgQlGzcOp/3gUCkGgGtspH0MgE=";
};
# TODO: build from source once yarn berry support lands in nixpkgs

View File

@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "zfs_exporter";
version = "2.3.8";
version = "2.3.10";
src = fetchFromGitHub {
owner = "pdf";
repo = pname;
rev = "v" + version;
hash = "sha256-bFS4JdmtHdRPNSZP2YZQEl8y9AC6aKpxgN1D0W4dIwc=";
hash = "sha256-8of1FdfofkmlTMSJKbpBxI5KNEu2y1Epkl2L6nNAJ/k=";
};
vendorHash = "sha256-P0KqKHQsocM/mrOUDJb4iNaFxJILF4toHPf7DIwMzBw=";
vendorHash = "sha256-wXPFR1B86oq/RieyYP1KTrpaUu3xOQnX2ismYt9N2Aw=";
ldflags = [
"-s"

View File

@@ -1,7 +1,7 @@
import ./generic.nix {
version = "18beta2";
rev = "refs/tags/REL_18_BETA3";
hash = "sha256-QpJONriQnRN75cCcsdu9TGt8Km7NQLs5diZx1pVruc4=";
version = "18rc1";
rev = "refs/tags/REL_18_RC1";
hash = "sha256-PDycGuKrEa00N1h/BsWUiwG7naE0f2wFFXpQSOhs/hY=";
muslPatches = {
dont-use-locale-a = {
url = "https://git.alpinelinux.org/aports/plain/main/postgresql17/dont-use-locale-a-on-musl.patch?id=d69ead2c87230118ae7f72cef7d761e761e1f37e";

View File

@@ -7,22 +7,16 @@
postgresqlBuildExtension (finalAttrs: {
pname = "pg_cron";
version = "1.6.5";
version = "1.6.6";
src = fetchFromGitHub {
owner = "citusdata";
repo = "pg_cron";
tag = "v${finalAttrs.version}";
hash = "sha256-Llksil7Fk7jvJJmCpfCN0Qm2b2I4J1VOA7/ibytO+KM=";
hash = "sha256-N6lLmfegUeHCpwXztMifTRvajlVLyxL0j+8edouKIOQ=";
};
meta = {
# PostgreSQL 18 support issue upstream: https://github.com/citusdata/pg_cron/issues/396
# Note: already fixed on `main` branch.
# Check after next package update.
broken = lib.warnIf (
finalAttrs.version != "1.6.5"
) "Is postgresql18Packages.pg_cron still broken?" (lib.versionAtLeast postgresql.version "18");
description = "Run Cron jobs through PostgreSQL";
homepage = "https://github.com/citusdata/pg_cron";
changelog = "https://github.com/citusdata/pg_cron/releases/tag/v${finalAttrs.version}";

View File

@@ -1,5 +1,6 @@
{
fetchFromGitHub,
fetchpatch,
lib,
postgresql,
postgresqlBuildExtension,
@@ -16,8 +17,13 @@ postgresqlBuildExtension (finalAttrs: {
hash = "sha256-Latdxph1Ura8yKEokEjalJ+/GY+pAKOT3GXjuLprj6c=";
};
# https://github.com/citusdata/postgresql-hll/issues/166#issuecomment-3165489050
NIX_CFLAGS_COMPILE = "-Wno-error=missing-variable-declarations";
patches = [
(fetchpatch {
name = "fix-postgresql-18.patch";
url = "https://github.com/citusdata/postgresql-hll/commit/f998e234653ea397ddddc1278d1c02d8d011bd16.patch";
hash = "sha256-gF4f+B4Gu/QEyCGMfKLmRK6lNwgfd8lML55wMkhsSY4=";
})
];
meta = {
description = "HyperLogLog for PostgreSQL";

View File

@@ -23,14 +23,11 @@ postgresqlBuildExtension (finalAttrs: {
maintainers = with lib.maintainers; [ ivan ];
platforms = postgresql.meta.platforms;
license = lib.licenses.postgresql;
broken =
lib.versionOlder postgresql.version "13"
||
# PostgreSQL 18 support issue upstream: https://github.com/sraoss/pg_ivm/issues/133
# Note: already fixed on `main` branch.
# Check after next package update.
lib.warnIf (finalAttrs.version != "1.11") "Is postgresql18Packages.pg_ivm still broken?" (
lib.versionAtLeast postgresql.version "18"
);
# PostgreSQL 18 support issue upstream: https://github.com/sraoss/pg_ivm/issues/133
# Note: already fixed on `main` branch.
# Check after next package update.
broken = lib.warnIf (finalAttrs.version != "1.11") "Is postgresql18Packages.pg_ivm still broken?" (
lib.versionAtLeast postgresql.version "18"
);
};
})

View File

@@ -23,6 +23,5 @@ postgresqlBuildExtension (finalAttrs: {
maintainers = with lib.maintainers; [ gaelreyrol ];
platforms = postgresql.meta.platforms;
license = lib.licenses.mpl20;
broken = lib.versionOlder postgresql.version "13";
};
})

View File

@@ -498,6 +498,11 @@ rec {
--replace "/sbin/modprobe" "${kmod}/bin/modprobe" \
--replace "/bin/grep" "${gnugrep}/bin/grep"
# Patch remount to use full path to mount(8), otherwise ceph-fuse fails when run
# from a systemd unit for example.
substituteInPlace src/client/fuse_ll.cc \
--replace-fail "mount -i -o remount" "${util-linux}/bin/mount -i -o remount"
# The install target needs to be in PYTHONPATH for "*.pth support" check to succeed
export PYTHONPATH=$PYTHONPATH:$lib/${sitePackages}:$out/${sitePackages}
patchShebangs src/

View File

@@ -1,3 +0,0 @@
source 'https://rubygems.org' do
gem 'docker-sync'
end

View File

@@ -1,29 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
backticks (1.0.2)
daemons (1.3.1)
docker-compose (1.1.10)
backticks (~> 1.0)
docker-sync (0.5.9)
daemons (~> 1.2, >= 1.2.3)
docker-compose (~> 1.1, >= 1.1.7)
dotenv (~> 2.1, >= 2.1.1)
gem_update_checker (~> 0.2.0, >= 0.2.0)
os
terminal-notifier (= 2.0.0)
thor (~> 0.20, >= 0.20.0)
dotenv (2.6.0)
gem_update_checker (0.2.0)
os (1.0.0)
terminal-notifier (2.0.0)
thor (0.20.3)
PLATFORMS
ruby
DEPENDENCIES
docker-sync!
BUNDLED WITH
2.1.4

View File

@@ -1,29 +0,0 @@
{
lib,
ruby,
bundlerApp,
bundlerUpdateScript,
}:
bundlerApp {
pname = "docker-sync";
gemdir = ./.;
inherit ruby;
exes = [ "docker-sync" ];
passthru.updateScript = bundlerUpdateScript "docker-sync";
meta = with lib; {
description = "Run your application at full speed while syncing your code for development";
homepage = "http://docker-sync.io";
license = licenses.gpl3;
maintainers = with maintainers; [
manveru
nicknovitski
];
platforms = platforms.unix;
mainProgram = "docker-sync";
};
}

View File

@@ -1,84 +0,0 @@
{
backticks = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vr28l9vckavnrb9pnqrhcmnk3wsvvpas8jjh165w2rzv3sdkws5";
type = "gem";
};
version = "1.0.2";
};
daemons = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w";
type = "gem";
};
version = "1.3.1";
};
docker-compose = {
dependencies = [ "backticks" ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "00v3y182rmpq34dl91iprvhc50vw8hysy2h7iy3ihmmm9pgg71gc";
type = "gem";
};
version = "1.1.10";
};
docker-sync = {
dependencies = [
"daemons"
"docker-compose"
"dotenv"
"gem_update_checker"
"os"
"terminal-notifier"
"thor"
];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vrlcggj7k8w30b76f23p64yx4wg7p7mq9lp6lsnh2ysq9n3cjqg";
type = "gem";
};
version = "0.5.9";
};
dotenv = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rgl2kqhnxqbjvi9brbvb52iaq1z8yi0pl0bawk4fm6kl9igxr8f";
type = "gem";
};
version = "2.6.0";
};
gem_update_checker = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ckbz4q3q59kkv138n0cmsyida0wg45pwscxzf5vshxcrxhmq3x7";
type = "gem";
};
version = "0.2.0";
};
os = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk";
type = "gem";
};
version = "1.0.0";
};
terminal-notifier = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1slc0y8pjpw30hy21v8ypafi8r7z9jlj4bjbgz03b65b28i2n3bs";
type = "gem";
};
version = "2.0.0";
};
thor = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
type = "gem";
};
version = "0.20.3";
};
}

View File

@@ -770,6 +770,7 @@ mapAliases {
docker_27 = throw "'docker_27' has been removed because it has been unmaintained since May 2025. Use docker_28 or newer instead."; # Added 2025-06-15
docker-compose_1 = throw "'docker-compose_1' has been removed because it has been unmaintained since May 2021. Use docker-compose instead."; # Added 2024-07-29
docker-distribution = distribution; # Added 2023-12-26
docker-sync = throw "'docker-sync' has been removed because it was broken and unmaintained"; # Added 2025-08-26
dolphin-emu-beta = dolphin-emu; # Added 2023-02-11
dolphinEmu = throw "'dolphinEmu' has been renamed to/replaced by 'dolphin-emu'"; # Converted to throw 2024-10-17
dolphinEmuMaster = throw "'dolphinEmuMaster' has been renamed to/replaced by 'dolphin-emu-beta'"; # Converted to throw 2024-10-17
@@ -917,6 +918,7 @@ mapAliases {
flutter326 = throw "flutter326 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2025-06-08
fluxctl = throw "fluxctl is unmaintained and has been removed. Migration to flux2 is recommended"; # Added 2025-05-11
fluxus = throw "fluxus has been removed because it hasn't been updated in 9 years and depended on insecure Racket 7.9"; # Added 2024-12-06
fmsynth = throw "'fmsynth' has been removed as it was broken and unmaintained both upstream and in nixpkgs."; # Added 2025-09-01
fmt_8 = throw "fmt_8 has been removed as it is obsolete and was no longer used in the tree"; # Added 2024-11-12
fntsample = throw "fntsample has been removed as it is unmaintained upstream"; # Added 2025-04-21
foldingathome = throw "'foldingathome' has been renamed to/replaced by 'fahclient'"; # Converted to throw 2024-10-17
@@ -1341,6 +1343,7 @@ mapAliases {
librewolf-wayland = librewolf; # Added 2022-11-15
libseat = throw "'libseat' has been renamed to/replaced by 'seatd'"; # Converted to throw 2024-10-17
libsForQt515 = libsForQt5; # Added 2022-11-24
libsmartcols = lib.warnOnInstantiate "'util-linux' should be used instead of 'libsmartcols'" util-linux; # Added 2025-09-03
libsoup = lib.warnOnInstantiate "libsoup has been renamed to libsoup_2_4" libsoup_2_4; # Added 2024-12-02
libstdcxx5 = throw "libstdcxx5 is severly outdated and has been removed"; # Added 2024-11-24
libtensorflow-bin = libtensorflow; # Added 2022-09-25
@@ -2503,6 +2506,7 @@ mapAliases {
wkhtmltopdf-bin = wkhtmltopdf; # Added 2024-07-17
wlroots_0_16 = throw "'wlroots_0_16' has been removed in favor of newer versions"; # Added 2024-07-14
wlroots = wlroots_0_19; # wlroots is unstable, we must keep depending on 'wlroots_0_*', convert to package after a stable(1.x) release
woof = throw "'woof' has been removed as it is broken and unmaintained upstream"; # Added 2025-09-04
wdomirror = throw "'wdomirror' has been removed as it is unmaintained upstream, Consider using 'wl-mirror' instead"; # Added 2025-09-04
wordpress6_3 = throw "'wordpress6_3' has been removed in favor of the latest version"; # Added 2024-08-03
wordpress6_4 = throw "'wordpress6_4' has been removed in favor of the latest version"; # Added 2024-08-03

View File

@@ -430,8 +430,6 @@ with pkgs;
nix-prefetch-docker = callPackage ../build-support/docker/nix-prefetch-docker.nix { };
docker-sync = callPackage ../tools/misc/docker-sync { };
# Dotnet
dotnetCorePackages = recurseIntoAttrs (callPackage ../development/compilers/dotnet { });

View File

@@ -109,6 +109,7 @@ mapAliases ({
bedup = throw "bedup was removed because it was broken and abandoned upstream"; # added 2023-02-04
bip_utils = bip-utils; # 2023-10-08
bitcoin-price-api = throw "bitcoin-price-api has been removed, it was using setuptools 2to3 translation feautre, which has been removed in setuptools 58"; # added 2022-02-15
bjoern = throw "'bjoern' has been removed, as the upstream repository was unmaintained and it was using libraries with severe security issues."; # Added 2025-09-01
bkcharts = throw "'bkcharts' has been removed as the upstream repository was archived in 2018"; # added 2025-08-26
blessings = throw "blessings has been removed in favor of blessed, as it was unmaintained"; # added 2024-08-20
BlinkStick = blinkstick; # added 2023-02-19
@@ -496,6 +497,7 @@ mapAliases ({
opsdroid_get_image_size = opsdroid-get-image-size; # added 2023-10-16
opentracing = throw "The opentracing Python module was removed due to being unmaintained upstream. Use OpenTelemetry instead."; # Added 2024-12-09
ordereddict = throw "ordereddict has been removed because it is only useful on unsupported python versions."; # added 2022-05-28
orm = throw "orm has been removed as it is unmaintained"; # added 2025-08-27
pafy = throw "pafy has been removed because it is unmaintained and only a dependency of mps-youtube, itself superseded by yewtube"; # Added 2023-01-19
paho-mqtt_1 = throw "paho-mqtt_1 was removed because no package depends on it anymore"; # added 2025-03-05
paho-mqtt_2 = paho-mqtt; # added 2025-03-05

View File

@@ -1955,8 +1955,6 @@ self: super: with self; {
bizkaibus = callPackage ../development/python-modules/bizkaibus { };
bjoern = callPackage ../development/python-modules/bjoern { };
bk7231tools = callPackage ../development/python-modules/bk7231tools { };
black = callPackage ../development/python-modules/black { };
@@ -3095,6 +3093,8 @@ self: super: with self; {
credstash = callPackage ../development/python-modules/credstash { };
crewai = callPackage ../development/python-modules/crewai { };
crispy-bootstrap3 = callPackage ../development/python-modules/crispy-bootstrap3 { };
crispy-bootstrap4 = callPackage ../development/python-modules/crispy-bootstrap4 { };
@@ -11137,8 +11137,6 @@ self: super: with self; {
orjson = callPackage ../development/python-modules/orjson { };
orm = callPackage ../development/python-modules/orm { };
ormar = callPackage ../development/python-modules/ormar { };
ormsgpack = callPackage ../development/python-modules/ormsgpack { };