139 lines
3.2 KiB
Nix
139 lines
3.2 KiB
Nix
{
|
|
stdenv,
|
|
autoconf,
|
|
automake,
|
|
itstool,
|
|
intltool,
|
|
pkg-config,
|
|
fetchFromGitHub,
|
|
glib,
|
|
gettext,
|
|
sqlite,
|
|
mono,
|
|
stfl,
|
|
makeWrapper,
|
|
lib,
|
|
guiSupport ? true,
|
|
gtk-sharp-2_0,
|
|
gdk-pixbuf,
|
|
pango,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "smuxi";
|
|
version = "unstable-2023-07-01";
|
|
|
|
runtimeLoaderEnvVariableName =
|
|
if stdenv.hostPlatform.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "meebey";
|
|
repo = "smuxi";
|
|
rev = "3e4b5050b66944532e95df3c31245c8ae6379b3f";
|
|
hash = "sha256-zSsckcEPEX99v3RkM4O4+Get5tnz4FOpiodoTGTZq+8=";
|
|
fetchSubmodules = true;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
makeWrapper
|
|
];
|
|
buildInputs =
|
|
[
|
|
autoconf
|
|
automake
|
|
itstool
|
|
intltool
|
|
gettext
|
|
mono
|
|
stfl
|
|
]
|
|
++ lib.optionals (guiSupport) [
|
|
gtk-sharp-2_0
|
|
# loaded at runtime by GTK#
|
|
gdk-pixbuf
|
|
pango
|
|
];
|
|
|
|
preConfigure = ''
|
|
NOCONFIGURE=1 NOGIT=1 ./autogen.sh
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--disable-frontend-gnome"
|
|
"--enable-frontend-stfl"
|
|
] ++ lib.optional guiSupport "--enable-frontend-gnome";
|
|
|
|
postInstall = ''
|
|
makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-message-buffer" \
|
|
--add-flags "$out/lib/smuxi/smuxi-message-buffer.exe" \
|
|
--prefix ${runtimeLoaderEnvVariableName} : ${
|
|
lib.makeLibraryPath [
|
|
gettext
|
|
sqlite
|
|
]
|
|
}
|
|
|
|
makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-server" \
|
|
--add-flags "$out/lib/smuxi/smuxi-server.exe" \
|
|
--prefix ${runtimeLoaderEnvVariableName} : ${
|
|
lib.makeLibraryPath [
|
|
gettext
|
|
sqlite
|
|
]
|
|
}
|
|
|
|
makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-frontend-stfl" \
|
|
--add-flags "$out/lib/smuxi/smuxi-frontend-stfl.exe" \
|
|
--prefix ${runtimeLoaderEnvVariableName} : ${
|
|
lib.makeLibraryPath [
|
|
gettext
|
|
sqlite
|
|
stfl
|
|
]
|
|
}
|
|
|
|
makeWrapper "${mono}/bin/mono" "$out/bin/smuxi-frontend-gnome" \
|
|
--add-flags "$out/lib/smuxi/smuxi-frontend-gnome.exe" \
|
|
--prefix MONO_GAC_PREFIX : ${if guiSupport then gtk-sharp-2_0 else ""} \
|
|
--prefix ${runtimeLoaderEnvVariableName} : ${
|
|
lib.makeLibraryPath [
|
|
gettext
|
|
glib
|
|
sqlite
|
|
gtk-sharp-2_0
|
|
gtk-sharp-2_0.gtk
|
|
gdk-pixbuf
|
|
pango
|
|
]
|
|
}
|
|
|
|
# install log4net and nini libraries
|
|
mkdir -p $out/lib/smuxi/
|
|
cp -a lib/log4net.dll $out/lib/smuxi/
|
|
cp -a lib/Nini.dll $out/lib/smuxi/
|
|
|
|
# install GTK+ icon theme on Darwin
|
|
${
|
|
if guiSupport && stdenv.hostPlatform.isDarwin then
|
|
"
|
|
mkdir -p $out/lib/smuxi/icons/
|
|
cp -a images/Smuxi-Symbolic $out/lib/smuxi/icons/
|
|
"
|
|
else
|
|
""
|
|
}
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://smuxi.im/";
|
|
downloadPage = "https://smuxi.im/download/";
|
|
changelog = "https://github.com/meebey/smuxi/releases/tag/v${version}";
|
|
description = "irssi-inspired, detachable, cross-platform, multi-protocol (IRC, XMPP/Jabber) chat client for the GNOME desktop";
|
|
platforms = platforms.unix;
|
|
license = lib.licenses.gpl2Plus;
|
|
maintainers = with maintainers; [
|
|
meebey
|
|
];
|
|
};
|
|
}
|