about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/ra
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/ra')
-rw-r--r--nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch23
-rw-r--r--nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch16
-rw-r--r--nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix56
-rw-r--r--nixpkgs/pkgs/by-name/ra/ratpoison/package.nix88
4 files changed, 183 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch b/nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch
new file mode 100644
index 000000000000..ddfec9b22e14
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch
@@ -0,0 +1,23 @@
+diff --git a/test/unit/test_uv_fs.c b/test/unit/test_uv_fs.c
+index 638c39c..c8758d2 100644
+--- a/test/unit/test_uv_fs.c
++++ b/test/unit/test_uv_fs.c
+@@ -40,18 +40,6 @@ TEST(UvFsCheckDir, exists, DirSetUp, DirTearDown, 0, NULL)
+     return MUNIT_OK;
+ }
+ 
+-/* If the directory doesn't exist, it an error is returned. */
+-TEST(UvFsCheckDir, doesNotExist, DirSetUp, DirTearDown, 0, NULL)
+-{
+-    const char *parent = data;
+-    char errmsg[RAFT_ERRMSG_BUF_SIZE];
+-    char dir[128];
+-    sprintf(errmsg, "%s/sub", parent);
+-    sprintf(errmsg, "directory '%s' does not exist", dir);
+-    CHECK_DIR_ERROR(dir, RAFT_NOTFOUND, errmsg);
+-    return MUNIT_OK;
+-}
+-
+ /* If the process can't access the directory, an error is returned. */
+ TEST(UvFsCheckDir, permissionDenied, NULL, NULL, 0, NULL)
+ {
diff --git a/nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch b/nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch
new file mode 100644
index 000000000000..7c8be29feafd
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile.am b/Makefile.am
+index 2137932..93abdb6 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -198,11 +198,7 @@ test_integration_uv_SOURCES = \
+   test/integration/test_uv_bootstrap.c \
+   test/integration/test_uv_load.c \
+   test/integration/test_uv_recover.c \
+-  test/integration/test_uv_recv.c \
+-  test/integration/test_uv_send.c \
+   test/integration/test_uv_set_term.c \
+-  test/integration/test_uv_tcp_connect.c \
+-  test/integration/test_uv_tcp_listen.c \
+   test/integration/test_uv_snapshot_put.c \
+   test/integration/test_uv_truncate.c \
+   test/integration/test_uv_work.c
diff --git a/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix b/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix
new file mode 100644
index 000000000000..821abd91727c
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libuv
+, lz4
+, pkg-config
+, incus
+, gitUpdater
+}:
+
+stdenv.mkDerivation rec {
+  pname = "raft-cowsql";
+  version = "0.17.7";
+
+  src = fetchFromGitHub {
+    owner = "cowsql";
+    repo = "raft";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZAUC2o0VWpC/zMOVOAxW+CAdiDTXa5JG0gfHirTjm88=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ libuv lz4 ];
+
+  enableParallelBuilding = true;
+
+  patches = [
+    # network tests either hang indefinitely, or fail outright
+    ./disable-net-tests.patch
+
+    # missing dir check is flaky
+    ./disable-missing-dir-test.patch
+  ];
+
+  preConfigure = ''
+    substituteInPlace configure --replace /usr/bin/ " "
+  '';
+
+  doCheck = true;
+
+  outputs = [ "dev" "out" ];
+
+  passthru.tests = {
+    inherit incus;
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "Asynchronous C implementation of the Raft consensus protocol";
+    homepage = "https://github.com/cowsql/raft";
+    license = licenses.lgpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ adamcstephens ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ra/ratpoison/package.nix b/nixpkgs/pkgs/by-name/ra/ratpoison/package.nix
new file mode 100644
index 000000000000..6a2f63159f65
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ra/ratpoison/package.nix
@@ -0,0 +1,88 @@
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, fontconfig
+, freetype
+, libX11
+, libXft
+, libXi
+, libXpm
+, libXrandr
+, libXt
+, libXtst
+, perl
+, pkg-config
+, readline
+, texinfo
+, xorgproto
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ratpoison";
+  version = "1.4.9";
+
+  src = fetchurl {
+    url = "mirror://savannah/ratpoison/ratpoison-${finalAttrs.version}.tar.xz";
+    hash = "sha256-2Y+kvgJezKRTxAf/MRqzlJ8p8g1tir7fjwcWuF/I0fE=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    texinfo
+  ];
+
+  buildInputs = [
+    fontconfig
+    freetype
+    libX11
+    libXft
+    libXi
+    libXpm
+    libXrandr
+    libXt
+    libXtst
+    perl
+    readline
+    xorgproto
+  ];
+
+  outputs = [ "out" "contrib" "man" "doc" "info" ];
+
+  strictDeps = true;
+
+  configureFlags = [
+    # >=1.4.9 requires this even with readline in inputs
+    "--enable-history"
+  ];
+
+  postInstall = ''
+    mkdir -p $contrib/{bin,share}
+    mv $out/bin/rpws $contrib/bin
+    mv $out/share/ratpoison $contrib/share
+  '';
+
+  meta = {
+    homepage = "https://www.nongnu.org/ratpoison/";
+    description = "Simple mouse-free tiling window manager";
+    longDescription = ''
+       Ratpoison is a simple window manager with no fat library
+       dependencies, no fancy graphics, no window decorations, and no
+       rodent dependence.  It is largely modelled after GNU Screen which
+       has done wonders in the virtual terminal market.
+
+       The screen can be split into non-overlapping frames.  All windows
+       are kept maximized inside their frames to take full advantage of
+       your precious screen real estate.
+
+       All interaction with the window manager is done through keystrokes.
+       Ratpoison has a prefix map to minimize the key clobbering that
+       cripples Emacs and other quality pieces of software.
+    '';
+    license = lib.licenses.gpl2Plus;
+    mainProgram = "ratpoison";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    inherit (libX11.meta) platforms;
+  };
+})