Unverified Commit 8da188f8 authored by Masum Reza's avatar Masum Reza Committed by GitHub
Browse files

Merge pull request #306650 from returntoreality/indi-3rdparty-refactor

indi-full: Indi 3rdparty refactor
parents 669ce8b6 d2367c3f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -17418,6 +17418,12 @@
    githubId = 5265630;
    name = "Michael Köppl";
  };
  returntoreality = {
    email = "linus@lotz.li";
    github = "retuntoreality";
    githubId = 255667;
    name = "Linus Karl";
  };
  revol-xut = {
    email = "revol-xut@protonmail.com";
    name = "Tassilo Tanneberger";
+4 −0
Original line number Diff line number Diff line
@@ -305,6 +305,10 @@

- `programs.vim.defaultEditor` now only works if `programs.vim.enable` is enabled.

- The `indi-full` package no longer contains non-free drivers.
  To get the old collection of drivers use `indi-full-nonfree` or create your own collection of drivers by overriding indi-with-drivers.
  E.g.: `pkgs.indi-with-drivers.override {extraDrivers = with pkgs.indi-3rdparty; [indi-gphoto];}`

- `/share/vim-plugins` now only gets linked if `programs.vim.enable` is enabled

- The `tracy` package no longer works on X11, since it's moved to Wayland
+15 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  indi-3rdparty,
  indilib,
  indi-with-drivers,
}:

indi-with-drivers.override {
  pname = "indi-full-nonfree";
  inherit (indilib) version;
  extraDrivers = builtins.filter (attrs: lib.meta.availableOn stdenv.hostPlatform attrs) (
    builtins.attrValues indi-3rdparty
  );
}
+23 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  indi-3rdparty,
  indi-with-drivers,
  indilib,
}:

let
  licenseFree = p: p.meta.license.free or false;
  isFree =
    p:
    (builtins.all licenseFree ((p.buildInputs or [ ]) ++ (p.propagatedBuildInputs or [ ])))
    && licenseFree p;
  drivers = builtins.filter (
    attrs: isFree attrs && (lib.meta.availableOn stdenv.hostPlatform attrs)
  ) (builtins.attrValues indi-3rdparty);
in
indi-with-drivers.override {
  pname = "indi-full";
  inherit (indilib) version;
  extraDrivers = drivers;
}
+24 −0
Original line number Diff line number Diff line
{ buildEnv, makeBinaryWrapper, indilib ? indilib, pname ? "indi-with-drivers", version ? null, extraDrivers ? null }:
{
  lib,
  buildEnv,
  makeBinaryWrapper,
  indilib ? indilib,
  pname ? "indi-with-drivers",
  version ? indilib.version,
  extraDrivers ? [ ],
}:

buildEnv {
  name = "${pname}-${version}";
  paths = [
    indilib
  ]
  ++ extraDrivers;

  paths = [ indilib ] ++ extraDrivers;

  nativeBuildInputs = [ makeBinaryWrapper ];

  postBuild = ''
  postBuild = lib.optionalString (extraDrivers != [ ]) ''
    rm $out/bin/indiserver
    makeBinaryWrapper ${indilib}/bin/indiserver $out/bin/indiserver --set-default INDIPREFIX $out
  '';


  inherit (indilib) meta;
}
Loading