hyx: enable on darwin

This commit is contained in:
Nikolay Korotkiy 2020-07-22 12:35:54 +03:00
parent fe6c0ff6b2
commit f585a26878
No known key found for this signature in database
GPG key ID: D1DE6D7F693663A5
2 changed files with 45 additions and 2 deletions

View file

@ -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;
};
}

View file

@ -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 <stdlib.h>
#include <stdio.h>