From f585a26878ea415e3b2c65b34fe1bdf5e5559795 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Wed, 22 Jul 2020 12:35:54 +0300 Subject: [PATCH] hyx: enable on darwin --- pkgs/tools/text/hyx/default.nix | 16 +++++++++++++-- pkgs/tools/text/hyx/memstream.patch | 31 +++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/text/hyx/memstream.patch diff --git a/pkgs/tools/text/hyx/default.nix b/pkgs/tools/text/hyx/default.nix index 6553e935fe8e..c2b055be7df9 100644 --- a/pkgs/tools/text/hyx/default.nix +++ b/pkgs/tools/text/hyx/default.nix @@ -1,5 +1,11 @@ { lib, stdenv, fetchurl }: - +let + # memstream — POSIX memory streams for BSD + memstream = fetchurl { + url = "https://piumarta.com/software/memstream/memstream-0.1.tar.gz"; + sha256 = "0kvdb897g7nyviaz72arbqijk2g2wa61cmi3l5yh48rzr49r3a3a"; + }; +in stdenv.mkDerivation rec { pname = "hyx"; version = "2020-06-09"; @@ -9,6 +15,12 @@ stdenv.mkDerivation rec { sha256 = "1x8dmll93hrnj24kn5knpwj36y6r1v2ygwynpjwrg2hwd4c1a8hi"; }; + postUnpack = lib.optionalString stdenv.isDarwin '' + tar --strip=1 -C $sourceRoot -xf ${memstream} --wildcards "memstream-0.1/memstream.[hc]" + ''; + + patches = lib.optional stdenv.isDarwin ./memstream.patch; + installPhase = '' install -vD hyx $out/bin/hyx ''; @@ -18,6 +30,6 @@ stdenv.mkDerivation rec { homepage = "https://yx7.cc/code/"; license = licenses.mit; maintainers = with maintainers; [ fpletz ]; - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/tools/text/hyx/memstream.patch b/pkgs/tools/text/hyx/memstream.patch new file mode 100644 index 000000000000..a02509ced762 --- /dev/null +++ b/pkgs/tools/text/hyx/memstream.patch @@ -0,0 +1,31 @@ +diff -Naur hyx-2020.06.09.org/Makefile hyx-2020.06.09/Makefile +--- hyx-2020.06.09.org/Makefile 2020-06-09 15:19:50.000000000 +0300 ++++ hyx-2020.06.09/Makefile 2020-07-22 11:46:40.000000000 +0300 +@@ -1,6 +1,6 @@ + + all: CFLAGS ?= -O2 -Wl,-s \ +- -Wl,-z,relro,-z,now -fpic -pie -D_FORTIFY_SOURCE=2 -fstack-protector-all ++ -D_FORTIFY_SOURCE=2 -fstack-protector-all + all: CFLAGS += -std=c99 -pedantic -Wall -Wextra -DNDEBUG + all: hyx + +@@ -13,7 +13,7 @@ + hyx: *.h *.c + $(CC) \ + $(CFLAGS) \ +- hyx.c common.c blob.c history.c view.c input.c \ ++ hyx.c common.c blob.c history.c view.c input.c memstream.c \ + -o hyx + + clean: +diff -Naur hyx-2020.06.09.org/view.c hyx-2020.06.09/view.c +--- hyx-2020.06.09.org/view.c 2020-06-09 15:19:50.000000000 +0300 ++++ hyx-2020.06.09/view.c 2020-07-22 11:49:09.000000000 +0300 +@@ -4,6 +4,7 @@ + #include "view.h" + #include "input.h" + #include "ansi.h" ++#include "memstream.h" + + #include + #include