Unverified Commit 1e4b6f43 authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

pipeline: fix playback errors; overhaul build (#470280)

parents 733274c2 ce763681
Loading
Loading
Loading
Loading
+0 −56
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  meson,
  ninja,
  pkg-config,
  gobject-introspection,
  vala,
  glib,
  libsoup_3,
  json-glib,
  libxml2,
  gst_all_1,
  unstableGitUpdater,
}:

stdenv.mkDerivation {
  pname = "gtuber";
  version = "0-unstable-2025-01-19";

  src = fetchFromGitHub {
    owner = "Rafostar";
    repo = "gtuber";
    rev = "446e26668a4e01fc2ca9c261a7f1c281577e566d";
    hash = "sha256-5Z6sID7Alm4FWl1qCQV1w5DmGsmor2vbnZUJi3Is650=";
  };

  nativeBuildInputs = [
    meson
    ninja
    pkg-config
    gobject-introspection # For g-ir-scanner
    vala # For vapigen
  ];
  buildInputs = [
    glib
    libsoup_3
    json-glib
    libxml2
    gst_all_1.gstreamer
    gst_all_1.gst-plugins-base
  ];

  passthru = {
    updateScript = unstableGitUpdater { };
  };

  meta = {
    description = "GStreamer plugin for streaming videos from websites";
    homepage = "https://rafostar.github.io/gtuber/";
    license = lib.licenses.lgpl21Plus;
    maintainers = with lib.maintainers; [ chuangzhu ];
    platforms = lib.platforms.unix;
  };
}
+33 −22
Original line number Diff line number Diff line
@@ -13,16 +13,18 @@
  pkg-config,
  wrapGAppsHook4,
  glib,
  appstream-glib,
  appstream,
  desktop-file-utils,
  blueprint-compiler,
  sqlite,
  clapper-unwrapped,
  clapper-enhancers,
  gettext,
  gst_all_1,
  gtuber,
  glib-networking,
  gnome,
  libjxl,
  libheif,
  webp-pixbuf-loader,
  librsvg,
  nix-update-script,
@@ -35,12 +37,12 @@ stdenv.mkDerivation (finalAttrs: {
  src = fetchFromGitLab {
    owner = "schmiddi-on-mobile";
    repo = "pipeline";
    rev = finalAttrs.version;
    tag = finalAttrs.version;
    hash = "sha256-iMBdyjN6fMDOSE110tA9i6+D4UaNGG2aBoq+4s0YyJI=";
  };

  cargoDeps = rustPlatform.fetchCargoVendor {
    inherit (finalAttrs) src;
    inherit (finalAttrs) src pname version;
    hash = "sha256-w+q90i6FQRPFceniUfwouU2p673O4sVnsRfowCu2fWY=";
  };

@@ -48,12 +50,13 @@ stdenv.mkDerivation (finalAttrs: {
    meson
    ninja
    cargo
    gettext
    rustPlatform.cargoSetupHook
    rustc
    pkg-config
    wrapGAppsHook4
    glib
    appstream-glib
    appstream
    desktop-file-utils
    blueprint-compiler
  ];
@@ -64,38 +67,46 @@ stdenv.mkDerivation (finalAttrs: {
    openssl
    sqlite
    clapper-unwrapped

    clapper-enhancers
    gst_all_1.gstreamer
    gst_all_1.gst-libav
    gst_all_1.gst-plugins-base
    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
    gst_all_1.gst-plugins-good
    gst_all_1.gst-plugins-bad
    gettext
    gtuber
    gst_all_1.gst-plugins-ugly
    gst_all_1.gst-vaapi
    glib-networking # For GIO_EXTRA_MODULES. Fixes "TLS support is not available"
  ];

  # Pull in WebP support for YouTube avatars.
  # In postInstall to run before gappsWrapperArgsHook.
  postInstall = ''
    export GDK_PIXBUF_MODULE_FILE="${
  preFixup = ''
    gappsWrapperArgs+=(
       --set GDK_PIXBUF_MODULE_FILE ${
         gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
           extraLoaders = [
          webp-pixbuf-loader
             libjxl
             librsvg
             webp-pixbuf-loader
             libheif.lib
           ];
         }
    }"
       }
       --set CLAPPER_ENHANCERS_PATH ${clapper-enhancers}/${clapper-enhancers.passthru.pluginPath}
    )
  '';

  passthru.updateScript = nix-update-script { attrPath = finalAttrs.pname; };
  passthru = {
    updateScript = nix-update-script { };
  };

  meta = {
    description = "Watch YouTube and PeerTube videos in one place";
    homepage = "https://mobile.schmidhuberj.de/pipeline";
    mainProgram = "tubefeeder";
    license = lib.licenses.gpl3Plus;
    maintainers = with lib.maintainers; [ chuangzhu ];
    maintainers = with lib.maintainers; [
      chuangzhu
      normalcea
    ];
    platforms = lib.platforms.linux;
  };
})
+1 −0
Original line number Diff line number Diff line
@@ -734,6 +734,7 @@ mapAliases {
  gsettings-qt = lomiri.gsettings-qt; # Added 2025-12-06
  gtkcord4 = throw "'gtkcord4' has been renamed to/replaced by 'dissent'"; # Converted to throw 2025-10-27
  gtkextra = throw "'gtkextra' has been removed due to lack of maintenance upstream."; # Added 2025-06-10
  gtuber = throw "'gtuber' has been removed due to being discontinued by upstream."; # Added 2025-12-12
  guile-disarchive = throw "'guile-disarchive' has been renamed to/replaced by 'disarchive'"; # Converted to throw 2025-10-27
  guile-sdl = throw "guile-sdl has been removed, as it was broken"; # Added 2025-08-25
  gutenprintBin = gutenprint-bin; # Added 2025-08-21