about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSophie Tauchert <sophie@999eagle.moe>2024-04-29 20:09:38 +0200
committerGaetan Lepage <gaetan@glepage.com>2024-05-02 14:51:11 +0200
commit69d88e341d62f9ff51cb1151c1c5e863227d5d26 (patch)
treea48658a7655b49130e37a433d3270fd393493dc0
parent9e0ab0983a910b9f2b2253cc5991cf89d7eebe9b (diff)
invidious: make versions overridable
-rw-r--r--pkgs/servers/invidious/default.nix25
-rw-r--r--pkgs/servers/invidious/videojs.nix12
-rw-r--r--pkgs/top-level/all-packages.nix5
3 files changed, 27 insertions, 15 deletions
diff --git a/pkgs/servers/invidious/default.nix b/pkgs/servers/invidious/default.nix
index 2c398e6bbbd25..b63e14e907c3b 100644
--- a/pkgs/servers/invidious/default.nix
+++ b/pkgs/servers/invidious/default.nix
@@ -1,5 +1,15 @@
-{ lib, stdenv, crystal, fetchFromGitea, librsvg, pkg-config, libxml2, openssl, shards, sqlite, videojs, nixosTests }:
-let
+{ lib
+, callPackage
+, crystal
+, fetchFromGitea
+, librsvg
+, pkg-config
+, libxml2
+, openssl
+, shards
+, sqlite
+, nixosTests
+
   # All versions, revisions, and checksums are stored in ./versions.json.
   # The update process is the following:
   #   * pick the latest tag
@@ -9,10 +19,11 @@ let
   #     but nix's sandboxing does not allow that)
   #   * if shard.lock changed
   #     * recreate shards.nix by running crystal2nix
-  #     * update lsquic and boringssl if necessarry, lsquic.cr depends on
-  #       the same version of lsquic and lsquic requires the boringssl
-  #       commit mentioned in its README
-  versions = lib.importJSON ./versions.json;
+, versions ? lib.importJSON ./versions.json
+}:
+let
+  # normally video.js is downloaded at build time
+  videojs = callPackage ./videojs.nix { inherit versions; };
 in
 crystal.buildCrystalPackage rec {
   pname = "invidious";
@@ -23,7 +34,7 @@ crystal.buildCrystalPackage rec {
     owner = "iv-org";
     repo = "invidious";
     fetchSubmodules = true;
-    rev = "v${version}";
+    rev = versions.invidious.rev or "v${version}";
     inherit (versions.invidious) hash;
   };
 
diff --git a/pkgs/servers/invidious/videojs.nix b/pkgs/servers/invidious/videojs.nix
index 35ad0b1f06558..dcd6e9e97cbf3 100644
--- a/pkgs/servers/invidious/videojs.nix
+++ b/pkgs/servers/invidious/videojs.nix
@@ -1,8 +1,12 @@
-{ lib, stdenvNoCC, cacert, crystal, openssl, pkg-config, invidious }:
+{ stdenvNoCC
+, cacert
+, crystal
+, openssl
+, pkg-config
+, invidious
+, versions
+}:
 
-let
-  versions = lib.importJSON ./versions.json;
-in
 stdenvNoCC.mkDerivation {
   name = "videojs";
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c0054b6f0a942..4f975e4a4e349 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9258,10 +9258,7 @@ with pkgs;
 
   internetarchive = with python3Packages; toPythonApplication internetarchive;
 
-  invidious = callPackage ../servers/invidious {
-    # normally video.js is downloaded at build time
-    videojs = callPackage ../servers/invidious/videojs.nix { };
-  };
+  invidious = callPackage ../servers/invidious { };
 
   invoice2data  = callPackage ../tools/text/invoice2data  { };