libhdhomerun: refactor
Co-authored-by: Nicholas Sielicki <git@opensource.nslick.com>
This commit is contained in:
parent
d3763eeb08
commit
e636c0dad7
2 changed files with 61 additions and 6 deletions
|
@ -10,30 +10,33 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://download.silicondust.com/hdhomerun/libhdhomerun_${version}.tgz";
|
||||
sha256 = "sha256-VSoQLoqiq8xBYJDewvb4DaWfl/kfV5aOnp17PcAF268=";
|
||||
hash = "sha256-VSoQLoqiq8xBYJDewvb4DaWfl/kfV5aOnp17PcAF268=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "-arch x86_64" "-arch ${stdenv.hostPlatform.darwinArch}"
|
||||
'';
|
||||
patches = [
|
||||
./nixos-darwin-no-fat-dylib.patch
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,lib,include/hdhomerun}
|
||||
install -Dm444 libhdhomerun${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib
|
||||
install -Dm555 hdhomerun_config $out/bin
|
||||
cp *.h $out/include/hdhomerun
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Implements the libhdhomerun protocol for use with Silicondust HDHomeRun TV tuners";
|
||||
homepage = "https://www.silicondust.com/support/linux";
|
||||
license = licenses.lgpl21Only;
|
||||
maintainers = with maintainers; [ sielicki titanous ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.titanous ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
From 6b9ed19d7874b88b7db5b740dac3dcd7dcda6c8c Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Sielicki <git@opensource.nslick.com>
|
||||
Date: Sat, 25 Nov 2023 13:54:39 -0600
|
||||
Subject: [PATCH] nixos-darwin-no-fat-dylib
|
||||
|
||||
Signed-off-by: Nicholas Sielicki <git@opensource.nslick.com>
|
||||
---
|
||||
Makefile | 24 ++++--------------------
|
||||
1 file changed, 4 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 1d8fb9f..35c7d15 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -42,30 +42,14 @@ LIBSRCS += hdhomerun_video.c
|
||||
|
||||
ifeq ($(OS),Darwin)
|
||||
|
||||
-TARGET_X64 := -target x86_64-apple-macos10.11
|
||||
-TARGET_ARM64 := -target arm64-apple-macos11
|
||||
-
|
||||
all : hdhomerun_config libhdhomerun.dylib
|
||||
|
||||
-hdhomerun_config_x64 : hdhomerun_config.c $(LIBSRCS)
|
||||
- $(CC) $(TARGET_X64) $(CFLAGS) $+ $(LDFLAGS) -o $@
|
||||
- $(STRIP) $@
|
||||
-
|
||||
-hdhomerun_config_arm64 : hdhomerun_config.c $(LIBSRCS)
|
||||
- $(CC) $(TARGET_ARM64) $(CFLAGS) $+ $(LDFLAGS) -o $@
|
||||
+hdhomerun_config: hdhomerun_config.c $(LIBSRCS)
|
||||
+ $(CC) $(CFLAGS) $+ $(LDFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
||||
-hdhomerun_config : hdhomerun_config_x64 hdhomerun_config_arm64
|
||||
- lipo -create -output hdhomerun_config hdhomerun_config_x64 hdhomerun_config_arm64
|
||||
-
|
||||
-libhdhomerun_x64.dylib : $(LIBSRCS)
|
||||
- $(CC) $(TARGET_X64) $(CFLAGS) -DDLL_EXPORT -fPIC -dynamiclib $+ $(LDFLAGS) -o $@
|
||||
-
|
||||
-libhdhomerun_arm64.dylib : $(LIBSRCS)
|
||||
- $(CC) $(TARGET_ARM64) $(CFLAGS) -DDLL_EXPORT -fPIC -dynamiclib $+ $(LDFLAGS) -o $@
|
||||
-
|
||||
-libhdhomerun.dylib : libhdhomerun_x64.dylib libhdhomerun_arm64.dylib
|
||||
- lipo -create -output libhdhomerun.dylib libhdhomerun_x64.dylib libhdhomerun_arm64.dylib
|
||||
+libhdhomerun.dylib : $(LIBSRCS)
|
||||
+ $(CC) $(CFLAGS) -DDLL_EXPORT -fPIC -dynamiclib $+ $(LDFLAGS) -o $@
|
||||
|
||||
else
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
Loading…
Reference in a new issue