hyx: use memstreamHook

This commit is contained in:
Dmitry Kalinkin 2021-08-24 04:29:02 -04:00
parent 66f3da43f9
commit 8b2abe429d
No known key found for this signature in database
GPG key ID: 5157B3EC8B2CA333
2 changed files with 6 additions and 42 deletions

View file

@ -1,11 +1,5 @@
{ 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
{ lib, stdenv, fetchurl, memstreamHook }:
stdenv.mkDerivation rec {
pname = "hyx";
version = "2020-06-09";
@ -15,11 +9,12 @@ stdenv.mkDerivation rec {
sha256 = "1x8dmll93hrnj24kn5knpwj36y6r1v2ygwynpjwrg2hwd4c1a8hi";
};
postUnpack = lib.optionalString stdenv.isDarwin ''
tar --strip=1 -C $sourceRoot -xf ${memstream} --wildcards "memstream-0.1/memstream.[hc]"
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile \
--replace "-Wl,-z,relro,-z,now -fpic -pie" ""
'';
patches = lib.optional stdenv.isDarwin ./memstream.patch;
buildInputs = lib.optional (stdenv.system == "x86_64-darwin") memstreamHook;
installPhase = ''
install -vD hyx $out/bin/hyx

View file

@ -1,31 +0,0 @@
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>