Unverified Commit be076961 authored by Gergő Gutyina's avatar Gergő Gutyina Committed by GitHub
Browse files

plik{,d}: refactor and move to pkgs/by-name (#486162)

parents 47b6f96e 126c3f76
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
{
  buildGoModule,
  plikd,
}:

buildGoModule (finalAttrs: {
  pname = "plik";
  inherit (plikd)
    version
    src
    postPatch
    passthru
    ;

  subPackages = [ "client" ];

  vendorHash = null;

  postInstall = ''
    mv $out/bin/client $out/bin/plik
  '';

  meta = {
    inherit (plikd.meta)
      description
      homepage
      license
      maintainers
      ;
    mainProgram = "plik";
  };
})
+63 −0
Original line number Diff line number Diff line
@@ -2,73 +2,62 @@
  lib,
  buildGoModule,
  fetchFromGitHub,
  makeWrapper,
  runCommand,
  fetchurl,
  nixosTests,
  makeWrapper,
}:

let
buildGoModule (finalAttrs: {
  pname = "plikd";
  version = "1.3.8";

  src = fetchFromGitHub {
    owner = "root-gg";
    repo = "plik";
    rev = version;
    rev = finalAttrs.version;
    hash = "sha256-WCtfkzlZnyzZDwNDBrW06bUbLYTL2C704Y7aXbiVi5c=";
  };

  # TODO build webapp from source (how to hanndle npm and bower deps?)
  src-webapp = fetchurl {
    url = "https://github.com/root-gg/plik/releases/download/${finalAttrs.version}/plik-${finalAttrs.version}-linux-amd64.tar.gz";
    hash = "sha256-taUFXZJeUHYjjhrVlLgKYPxNn6W5o8uoEVcu+f5flCA=";
  };

  subPackages = [ "server" ];

  vendorHash = null;

  meta = {
    homepage = "https://plik.root.gg/";
    description = "Scalable & friendly temporary file upload system";
    maintainers = [ ];
    license = lib.licenses.mit;
    mainProgram = "plik";
  };
  nativeBuildInputs = [
    makeWrapper
  ];

  postPatch = ''
    substituteInPlace server/common/version.go \
      --replace '"0.0.0"' '"${version}"'
      --replace '"0.0.0"' '"${finalAttrs.version}"'
  '';

  passthru.tests = {
    inherit (nixosTests) plikd;
  };

in
{

  plik = buildGoModule {
    pname = "plik";
    inherit
      version
      meta
      src
      vendorHash
      postPatch
      passthru
      ;

    subPackages = [ "client" ];
  postInstall = ''
      mv $out/bin/client $out/bin/plik
    # install the webapp
    mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin
    tar xf ${finalAttrs.src-webapp} plik-${finalAttrs.version}-linux-amd64/webapp/dist/
    mv plik-*/webapp/dist $out/libexec/plikd/webapp

    # move and wrap the server binary
    mv $out/bin/server $out/libexec/plikd/bin/plikd
    makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \
      --chdir "$out/libexec/plikd/bin"
  '';
  };

  plikd-unwrapped = buildGoModule {
    pname = "plikd-unwrapped";
    inherit
      version
      src
      vendorHash
      postPatch
      passthru
      ;
  passthru.tests = {
    inherit (nixosTests) plikd;
  };

    subPackages = [ "server" ];
    postFixup = ''
      mv $out/bin/server $out/bin/plikd
    '';
  meta = {
    description = "Scalable & friendly temporary file upload system";
    homepage = "https://plik.root.gg/";
    license = lib.licenses.mit;
    mainProgram = "plikd";
    maintainers = [ ];
  };
}
})

pkgs/servers/plik/default.nix

deleted100644 → 0
+0 −38
Original line number Diff line number Diff line
{
  lib,
  fetchurl,
  makeWrapper,
  runCommand,
  callPackage,
}:

let
  version = "1.3.7";

  programs = callPackage ./programs.nix { };

  webapp = fetchurl {
    url = "https://github.com/root-gg/plik/releases/download/${version}/plik-${version}-linux-amd64.tar.gz";
    hash = "sha256-Uj3I/ohgMr/Ud5xAZiBjsIW8bSdUeXXv9NYKLu8Aym8=";
  };

in
{

  inherit (programs) plik plikd-unwrapped;

  plikd =
    runCommand "plikd-${version}"
      {
        nativeBuildInputs = [ makeWrapper ];
        inherit (programs.plikd-unwrapped) passthru;
      }
      ''
        mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin
        tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/
        mv plik-*/webapp/dist $out/libexec/plikd/webapp
        cp ${programs.plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd
        makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \
          --chdir "$out/libexec/plikd/bin"
      '';
}
+0 −5
Original line number Diff line number Diff line
@@ -3334,11 +3334,6 @@ with pkgs;
  playwright-driver = (callPackage ../development/web/playwright/driver.nix { }).playwright-core;
  playwright-test = (callPackage ../development/web/playwright/driver.nix { }).playwright-test;

  inherit (callPackage ../servers/plik { })
    plik
    plikd
    ;

  plex = callPackage ../servers/plex { };

  plexRaw = callPackage ../servers/plex/raw.nix { };