Skip to content

Instantly share code, notes, and snippets.

@PerchunPak
Created December 22, 2024 11:34
Show Gist options
  • Save PerchunPak/ffc206405e219209f1cddde26373de09 to your computer and use it in GitHub Desktop.
Save PerchunPak/ffc206405e219209f1cddde26373de09 to your computer and use it in GitHub Desktop.
diff --git a/pkgs/by-name/ca/carburetor/package.nix b/pkgs/by-name/ca/carburetor/package.nix
index 701e87066c65..35b8384a778a 100644
--- a/pkgs/by-name/ca/carburetor/package.nix
+++ b/pkgs/by-name/ca/carburetor/package.nix
@@ -1,38 +1,67 @@
{
lib,
- fetchzip,
- python3Packages,
+ appstream,
+ desktop-file-utils,
+ fetchFromGitLab,
+ fetchpatch2,
gobject-introspection,
- wrapGAppsHook4,
libadwaita,
+ meson,
+ pkg-config,
+ python3Packages,
tractor,
+ wrapGAppsHook4,
}:
-
python3Packages.buildPythonApplication rec {
-
pname = "carburetor";
- version = "4.5.1";
+ version = "5.0.0";
- pyproject = true;
+ pyproject = false;
- src = fetchzip {
- url = "https://framagit.org/tractor/carburetor/-/archive/${version}/carburetor-${version}.zip";
- hash = "sha256-FI5fTk1mQv5PvQd3Ygcug3Mm2yrk07s5BpiiDK8GA6A=";
+ src = fetchFromGitLab {
+ domain = "framagit.org";
+ owner = "tractor";
+ repo = "carburetor";
+ rev = "refs/tags/${version}";
+ hash = "sha256-Z67bqjogPz5sz6JwM68z1jsaqvRBAOMDeBLcyLo+QLY=";
};
+ patches = [
+ (fetchpatch2 {
+ url = "https://framagit.org/tractor/carburetor/-/commit/620b70288942497abc20ad26c043b593f66e9e3b.diff";
+ hash = "sha256-oFKLjvu+fwgyU4FIUb2K8jwXOP34P3pEazOhofwveJw=";
+ })
+ ];
+
+ build-system = [
+ meson
+ python3Packages.meson-python
+ ];
+
nativeBuildInputs = [
+ appstream
+ desktop-file-utils
gobject-introspection
+ pkg-config
wrapGAppsHook4
];
- buildInputs = [ libadwaita ];
+ buildInputs = [
+ libadwaita
+ ];
- dependencies = [
- python3Packages.setuptools
- python3Packages.pygobject3
+ dependencies = with python3Packages; [
+ pycountry
+ pygobject3
tractor
];
+ dontWrapGApps = true;
+
+ preFixup = ''
+ makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+ '';
+
meta = with lib; {
homepage = "https://framagit.org/tractor/carburetor";
description = "Graphical settings app for Tractor in GTK";
diff --git a/pkgs/by-name/tr/tractor/fix-gsettings-schema.patch b/pkgs/by-name/tr/tractor/fix-gsettings-schema.patch
new file mode 100644
index 000000000000..a6e5d056b812
--- /dev/null
+++ b/pkgs/by-name/tr/tractor/fix-gsettings-schema.patch
@@ -0,0 +1,13 @@
+diff --git a/src/tractor/db.py b/src/tractor/db.py
+index 6f39bc4..22fbdd2 100644
+--- a/src/tractor/db.py
++++ b/src/tractor/db.py
+@@ -15,7 +15,7 @@ def dconf() -> Gio.Settings:
+ """
+ schema = "org.tractor"
+ schemas = Gio.SettingsSchemaSource.get_default()
+- if not Gio.SettingsSchemaSource.lookup(schemas, schema, False):
++ if not Gio.SettingsSchemaSource.lookup(schemas, schema, recursive=True):
+ gschema_dir = "/usr/share/glib-2.0/schemas/"
+ for directory in GLib.get_system_data_dirs():
+ gdir = f"{directory}/glib-2.0/schemas/"
diff --git a/pkgs/by-name/tr/tractor/package.nix b/pkgs/by-name/tr/tractor/package.nix
index 313f6a763fd9..7428ed54024b 100644
--- a/pkgs/by-name/tr/tractor/package.nix
+++ b/pkgs/by-name/tr/tractor/package.nix
@@ -1,35 +1,60 @@
{
lib,
- fetchzip,
- python3Packages,
+ fetchFromGitLab,
+ glib,
gobject-introspection,
+ gsettings-desktop-schemas,
+ python3Packages,
+ tor,
wrapGAppsHook4,
}:
-
python3Packages.buildPythonApplication rec {
pname = "tractor";
- version = "4.5.1";
+ version = "5.0.0";
pyproject = true;
- src = fetchzip {
- url = "https://framagit.org/tractor/tractor/-/archive/${version}/tractor-${version}.zip";
- hash = "sha256-vAKtC1L8sVpMXQowa9s9NJCppVTXEQeLplVp0pZkz84=";
+ src = fetchFromGitLab {
+ domain = "framagit.org";
+ owner = "tractor";
+ repo = "tractor";
+ rev = "refs/tags/${version}";
+ hash = "sha256-KyVL3dFofoi2TRtZo557X9P/RD16v94VuWdtdAskZk4=";
};
+ patches = [ ./fix-gsettings-schema.patch ];
+
nativeBuildInputs = [
+ glib
gobject-introspection
+ gsettings-desktop-schemas
wrapGAppsHook4
];
- dependencies = [
- python3Packages.setuptools
- python3Packages.fire
- python3Packages.pygobject3
- python3Packages.pysocks
- python3Packages.stem
+ propagatedBuildInputs = [
+ tor
];
+ dependencies = with python3Packages; [
+ fire
+ pygobject3
+ pysocks
+ setuptools
+ stem
+ ];
+
+ postInstall = ''
+ mkdir -p "$out/share/glib-2.0/schemas"
+ cp "$src/src/tractor/tractor.gschema.xml" "$out/share/glib-2.0/schemas"
+ glib-compile-schemas "$out/share/glib-2.0/schemas"
+ '';
+
+ dontWrapGApps = true;
+
+ preFixup = ''
+ makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+ '';
+
meta = with lib; {
homepage = "https://framagit.org/tractor/tractor";
description = "setup a proxy with Onion Routing via TOR and optionally obfs4proxy";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment