diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/ra')
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; + }; +}) |