about summary refs log tree commit diff
path: root/pkgs/by-name/eg
diff options
context:
space:
mode:
authorLuflosi2024-07-26 21:24:10 +0200
committerLuflosi2024-07-27 10:42:43 +0200
commit38653c5be27143fcff1dd7297b63269121c0fd6e (patch)
tree6d94750d68c81877d37cbce613c0149fdb2120f9 /pkgs/by-name/eg
parentb250bc0454a64962c6b34d152961d1546ac4218d (diff)
eg25-manager: init at 0.4.6
Diffstat (limited to 'pkgs/by-name/eg')
-rw-r--r--pkgs/by-name/eg/eg25-manager/package.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/by-name/eg/eg25-manager/package.nix b/pkgs/by-name/eg/eg25-manager/package.nix
new file mode 100644
index 000000000000..320771bafe88
--- /dev/null
+++ b/pkgs/by-name/eg/eg25-manager/package.nix
@@ -0,0 +1,64 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitLab,
+  gnugrep,
+  meson,
+  ninja,
+  pkg-config,
+  scdoc,
+  curl,
+  glib,
+  libgpiod_1,
+  libgudev,
+  libusb1,
+  modemmanager,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "eg25-manager";
+  version = "0.4.6";
+
+  src = fetchFromGitLab {
+    owner = "mobian1";
+    repo = "eg25-manager";
+    rev = finalAttrs.version;
+    hash = "sha256-2JsdwK1ZOr7ljNHyuUMzVCpl+HV0C5sA5LAOkmELqag=";
+  };
+
+  postPatch = ''
+    substituteInPlace 'udev/80-modem-eg25.rules' \
+      --replace-fail '/bin/grep' '${lib.getExe gnugrep}'
+  '';
+
+  depsBuildBuild = [ pkg-config ];
+
+  nativeBuildInputs = [
+    glib # Contains gdbus-codegen program
+    meson
+    ninja
+    pkg-config
+    scdoc
+  ];
+
+  buildInputs = [
+    curl
+    glib
+    libgpiod_1 # Tracking issue for compatibility with libgpiod 2.0: https://gitlab.com/mobian1/eg25-manager/-/issues/45
+    libgudev
+    libusb1
+    modemmanager
+  ];
+
+  strictDeps = true;
+
+  meta = {
+    description = "Manager daemon for the Quectel EG25 mobile broadband modem found on the Pine64 PinePhone and PinePhone Pro";
+    homepage = "https://gitlab.com/mobian1/eg25-manager";
+    changelog = "https://gitlab.com/mobian1/eg25-manager/-/tags/${finalAttrs.version}";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "eg25-manager";
+    maintainers = with lib.maintainers; [ Luflosi ];
+    platforms = lib.platforms.linux;
+  };
+})