libhdhomerun: refactor

Co-authored-by: Nicholas Sielicki <git@opensource.nslick.com>
This commit is contained in:
Weijia Wang 2024-01-20 06:08:21 +01:00
parent d3763eeb08
commit e636c0dad7
2 changed files with 61 additions and 6 deletions

View file

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

View file

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