about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/editors/bless/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/bless/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/editors/bless/default.nix80
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" ];
+  };
+}