diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/bless/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/editors/bless/default.nix | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/editors/bless/default.nix b/nixpkgs/pkgs/applications/editors/bless/default.nix new file mode 100644 index 000000000000..24fc8440bbd7 --- /dev/null +++ b/nixpkgs/pkgs/applications/editors/bless/default.nix @@ -0,0 +1,80 @@ +{ lib, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, mono +, gtk-sharp-2_0 +, gettext +, makeWrapper +, glib +, gtk2-x11 +, gnome2 +}: + +stdenv.mkDerivation rec { + pname = "bless"; + version = "0.6.2"; + + src = fetchFromGitHub { + owner = "afrantzis"; + repo = pname; + rev = "v${version}"; + sha256 = "04ra2mcx3pkhzbhcz0zwfmbpqj6cwisrypi6xbc2d6pxd4hdafn1"; + }; + + buildInputs = [ + gtk-sharp-2_0 + mono + # runtime only deps + glib + gtk2-x11 + gnome2.libglade + ]; + + nativeBuildInputs = [ + pkg-config + autoreconfHook + gettext + makeWrapper + ]; + + configureFlags = [ + # scrollkeeper is a gnome2 package, so it must be old and we shouldn't really support it + # NOTE: that sadly doesn't turn off the compilation of the manual with scrollkeeper, so we have to fake the binaries below + "--without-scrollkeeper" + ]; + + autoreconfPhase = '' + mkdir _bin + + # this fakes the scrollkeeper commands, to keep the build happy + for f in scrollkeeper-preinstall scrollkeeper-update; do + echo "true" > ./_bin/$f + chmod +x ./_bin/$f + done + + export PATH="$PWD/_bin:$PATH" + + # and it also wants to install that file + touch ./doc/user/bless-manual.omf + + # patch mono path + sed "s|^mono|${mono}/bin/mono|g" -i src/bless-script.in + + ./autogen.sh + ''; + + preFixup = '' + MPATH="${gtk-sharp-2_0}/lib/mono/gtk-sharp-2.0:${glib.out}/lib:${gtk2-x11}/lib:${gnome2.libglade}/lib:${gtk-sharp-2_0}/lib" + wrapProgram $out/bin/bless --prefix MONO_PATH : "$MPATH" --prefix LD_LIBRARY_PATH : "$MPATH" + ''; + + meta = with lib; { + homepage = "https://github.com/afrantzis/bless"; + description = "Gtk# Hex Editor"; + maintainers = [ maintainers.mkg20001 ]; + license = licenses.gpl2; + platforms = platforms.linux; + badPlatforms = [ "aarch64-linux" ]; + }; +} |