Commit c3853b47 authored by S. Nordin Abouzahra's avatar S. Nordin Abouzahra
Browse files

deadd-notification-center: 2022-04-20 -> unstable-2022-11-07

Update deadd-notification-center to the latest revision. Change the
expression from using the prebuilt binary provided in the repository to
building from source instead as well as provide a functioning systemd
service file as the one provided by upstream is broken.

Remove pacman99 from and add Melkor333 to maintainers as requested.
parent 3487ae7d
Loading
Loading
Loading
Loading
+43 −48
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, autoPatchelfHook
, wrapGAppsHook
, hicolor-icon-theme
, gtk3
, gobject-introspection
, libxml2
, fetchpatch
}:
stdenv.mkDerivation rec {
{ mkDerivation, haskellPackages, fetchFromGitHub, lib, writeText }:

let
  # deadd-notification-center.service
  systemd-service = ''
    [Unit]
    Description=Deadd Notification Center
    PartOf=graphical-session.target

    [Service]
    Type=dbus
    BusName=org.freedesktop.Notifications
    ExecStart=$out/bin/deadd-notification-center

    [Install]
    WantedBy=graphical-session.target
  '';
in mkDerivation rec {
  pname = "deadd-notification-center";
  version = "2022-04-20";
  version = "unstable-2022-11-07";

  src = fetchFromGitHub {
    owner = "phuhl";
    repo = "linux_notification_center";
    rev = "d31867472c35a09562c832b0a589479930c52b86";
    sha256 = "sha256-Arl4niscJPYCFWd4mw42IgNs+JsHsVpaTx86zEj3KFM=";
    rev = "f4b8e2b724d86def9e7b0e12ea624f95760352d5";
    hash = "sha256-ClJfWqStULvmj5YRAUDAmn2WOSA2sVtyZsa+qSY51Gk=";
  };

  patches = [
    (fetchpatch {
      url = "https://github.com/phuhl/linux_notification_center/commit/5244e1498574983322be97925e1ff7ebe456d974.patch";
      sha256 = "sha256-hbqbgBmuewOhtx0na2tmFa5W128ZrBvDcyPme/mRzlI=";
    })
  ];
  isLibrary = false;

  nativeBuildInputs = [
    autoPatchelfHook
    wrapGAppsHook
  ];
  isExecutable = true;

  buildInputs = [
    gtk3
    gobject-introspection
    libxml2
    hicolor-icon-theme
  libraryHaskellDepends = with haskellPackages; [
    base bytestring ConfigFile containers dbus directory env-locale
    filepath gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib gi-gobject
    gi-gtk gi-pango haskell-gettext haskell-gi haskell-gi-base
    hdaemonize here lens mtl process regex-tdfa setlocale split stm
    tagsoup text time transformers tuple unix
  ];

  buildFlags = [
    # Exclude stack from `make all` to use the prebuilt binary from .out/
    "service"
  ];
  executableHaskellDepends = with haskellPackages; [ base ];

  makeFlags = [
    "PREFIX=${placeholder "out"}"
    "SERVICEDIR_SYSTEMD=${placeholder "out"}/etc/systemd/user"
    "SERVICEDIR_DBUS=${placeholder "out"}/share/dbus-1/services"
    # Override systemd auto-detection.
    "SYSTEMD=1"
  ];
  # Test suite does nothing.
  doCheck = false;

  # Add systemd user unit.
  postInstall = ''
    mkdir -p $out/lib/systemd/user
    echo "${systemd-service}" > $out/lib/systemd/user/deadd-notification-center.service
  '';

  meta = with lib; {
  description = "A haskell-written notification center for users that like a desktop with style";
  homepage = "https://github.com/phuhl/linux_notification_center";
    license = licenses.bsd3;
    maintainers = [ maintainers.pacman99 ];
    platforms = platforms.linux;
  };
  license = lib.licenses.bsd3;
  maintainers = with lib.maintainers; [ melkor333 sna ];
  platforms = lib.platforms.linux;
}
+1 −1
Original line number Diff line number Diff line
@@ -30349,7 +30349,7 @@ with pkgs;
  linvstmanager = qt5.callPackage ../applications/audio/linvstmanager { };
  deadd-notification-center = callPackage ../applications/misc/deadd-notification-center { };
  deadd-notification-center = haskell.lib.compose.justStaticExecutables (haskellPackages.callPackage ../applications/misc/deadd-notification-center { });
  lollypop = callPackage ../applications/audio/lollypop { };