Unverified Commit fa896c94 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

osmium: init at 0.0.16 (#497201)

parents cdc4666b e746eabf
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -27942,6 +27942,12 @@
    githubId = 131159000;
    name = "Nitin Passa";
  };
  twoneis = {
    email = "nix@chpu.eu";
    github = "twoneis";
    githubId = 48321566;
    name = "Mira Chacku Purakal";
  };
  twz123 = {
    name = "Tom Wieczorek";
    email = "tom@bibbu.net";
+108 −0
Original line number Diff line number Diff line
{
  stdenv,
  fetchurl,
  lib,
  makeDesktopItem,
  makeShellWrapper,
  autoPatchelfHook,
  libgcc,
  libx11,
  libxext,
  libxcb,
  libGL,
  ffmpeg,
  glib,
  dbus,
  pango,
  libxcomposite,
  libxdamage,
  libxrandr,
  libxkbcommon,
  libgbm,
  nss,
  nspr,
  gtk3,
}:

stdenv.mkDerivation rec {
  pname = "osmium";
  version = "0.0.16";

  src = fetchurl {
    url = "https://updater.osmium.chat/Osmium-${version}-alpha-x64.tar.gz";
    hash = "sha256-dMOyZ9oPVnLt6MHeQwsMJ03wgvaKzalynwAL/PRfI28=";
  };

  nativeBuildInputs = [
    autoPatchelfHook
    makeShellWrapper
  ];

  buildInputs = [
    libgcc
    libx11
    libxext
    libxcb
    ffmpeg
    glib
    dbus
    pango
    libxcomposite
    libxdamage
    libxrandr
    libxkbcommon
    libgbm
    nss
    nspr
    gtk3
  ];

  installPhase = ''
    runHook preInstall

    mkdir -p $out/{bin,opt,share/{pixmaps,icons/hicolor/256x256/apps}}

    mv * $out/opt/
    chmod +x $out/opt/osmium

    ln -s $out/opt/osmium $out/bin/

    wrapProgramShell $out/opt/osmium \
      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
      --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]}

    ln -s $out/opt/resources/assets/icons/256x256.png $out/share/pixmaps/osmium.png
    ln -s $out/opt/resources/assets/icons/256x256.png $out/share/icons/hicolor/256x256/apps/osmium.png

    runHook postInstall
  '';

  desktopItem = makeDesktopItem {
    name = "osmium";
    exec = "osmium";
    icon = "osmium";
    desktopName = "Osmium";
    genericName = "A globally distributed community messaging and voice/video platform.";
    categories = [
      "Network"
      "InstantMessaging"
    ];
    mimeTypes = [ "x-scheme-handler/osmium" ];
    startupWMClass = "Osmium";
  };

  meta = {
    description = "Globally distributed community messaging and voice/video platform";
    homepage = "https://osmium.chat/";
    license = lib.licenses.unfree;
    mainProgram = "osmium";
    maintainers = with lib.maintainers; [
      twoneis
    ];
    platforms = [
      "x86_64-linux"
    ];
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
  };
}