09aa2457bd
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mlterm/versions. These checks were done: - built on NixOS - Warning: no invocation of /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6/bin/mlterm had a zero exit code or showed the expected version - Warning: no invocation of /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6/bin/mlfc had a zero exit code or showed the expected version - /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6/bin/mlcc passed the binary check. - /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6/bin/mlclient passed the binary check. - /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6/bin/mlclientx passed the binary check. - Warning: no invocation of /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6/bin/mlterm-fb had a zero exit code or showed the expected version - 3 of 6 passed binary check by having a zero exit code. - 0 of 6 passed binary check by having the new version present in output. - found 3.8.6 with grep in /nix/store/y5kq18q0af30rvbhl25jpxrrf7czp5b8-mlterm-3.8.6 - directory tree listing: https://gist.github.com/917b0ce2af6e7d2a9baa6c66857143a5 - du listing: https://gist.github.com/7b0c64048e0913af1cabbed5885116b2
94 lines
3 KiB
Nix
94 lines
3 KiB
Nix
{ stdenv, fetchurl, pkgconfig, autoconf, makeDesktopItem
|
|
, libX11, gdk_pixbuf, cairo, libXft, gtk3, vte
|
|
, harfbuzz #substituting glyphs with opentype fonts
|
|
, fribidi, m17n_lib #bidi and encoding
|
|
, openssl, libssh2 #build-in ssh
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "mlterm-${version}";
|
|
version = "3.8.6";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz";
|
|
sha256 = "06zylbinh84s9v79hrlvv44rd57z7kvgz9afbps3rjcbncxcmivd";
|
|
};
|
|
|
|
nativeBuildInputs = [ pkgconfig autoconf ];
|
|
buildInputs = [
|
|
libX11 gdk_pixbuf.dev cairo libXft gtk3 vte
|
|
harfbuzz fribidi m17n_lib openssl libssh2
|
|
];
|
|
|
|
#bad configure.ac and Makefile.in everywhere
|
|
preConfigure = ''
|
|
sed -ie 's;-L/usr/local/lib -R/usr/local/lib;;g' \
|
|
main/Makefile.in \
|
|
tool/mlfc/Makefile.in \
|
|
tool/mlimgloader/Makefile.in \
|
|
tool/mlconfig/Makefile.in \
|
|
uitoolkit/libtype/Makefile.in \
|
|
uitoolkit/libotl/Makefile.in
|
|
sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' \
|
|
tool/mlconfig/po/Makefile.in.in
|
|
#utmp and mlterm-fb
|
|
substituteInPlace configure.in \
|
|
--replace "-m 2755 -g utmp" " " \
|
|
--replace "-m 4755 -o root" " "
|
|
substituteInPlace configure \
|
|
--replace "-m 2755 -g utmp" " " \
|
|
--replace "-m 4755 -o root" " "
|
|
'';
|
|
NIX_LDFLAGS = "
|
|
-L${stdenv.cc.cc.lib}/lib
|
|
-lX11 -lgdk_pixbuf-2.0 -lcairo -lfontconfig -lfreetype -lXft
|
|
-lvte-2.91 -lgtk-3 -lharfbuzz -lfribidi -lm17n
|
|
" + stdenv.lib.optionalString (openssl != null) "
|
|
-lcrypto
|
|
" + stdenv.lib.optionalString (libssh2 != null) "
|
|
-lssh2
|
|
";
|
|
|
|
configureFlags = [
|
|
"--with-x=yes"
|
|
"--with-gui=xlib,fb"
|
|
"--with-imagelib=gdk-pixbuf" #or mlimgloader depending on your bugs of choice
|
|
"--with-type-engines=cairo,xft,xcore"
|
|
"--with-gtk=3.0"
|
|
"--enable-ind" #indic scripts
|
|
"--enable-fribidi" #bidi scripts
|
|
"--enable-m17nlib" #character encodings
|
|
"--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc"
|
|
#mlterm-menu and mlconfig depend on enabling gnome3.at-spi2-core
|
|
#and configuring ~/.mlterm/key correctly.
|
|
] ++ stdenv.lib.optional (libssh2 == null) [
|
|
"--disable-ssh2"
|
|
];
|
|
|
|
postInstall = ''
|
|
install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg"
|
|
install -D contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png"
|
|
install -D -t $out/share/applications $desktopItem/share/applications/*
|
|
'';
|
|
|
|
desktopItem = makeDesktopItem rec {
|
|
name = "mlterm";
|
|
exec = "mlterm %U";
|
|
icon = "mlterm";
|
|
type = "Application";
|
|
comment = "Terminal emulator";
|
|
desktopName = "mlterm";
|
|
genericName = "Terminal emulator";
|
|
categories = stdenv.lib.concatStringsSep ";" [
|
|
"Application" "System" "TerminalEmulator"
|
|
];
|
|
startupNotify = "false";
|
|
};
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = http://mlterm.sourceforge.net/;
|
|
license = licenses.bsd2;
|
|
maintainers = with maintainers; [ vrthra ramkromberg ];
|
|
platforms = with platforms; linux;
|
|
};
|
|
}
|