freedv: 1.9.9.2 -> 2.0 (#415393)
This commit is contained in:
commit
dbf31c57ed
28
pkgs/by-name/fr/freedv/no-framework.patch
Normal file
28
pkgs/by-name/fr/freedv/no-framework.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index 38b3b262..3be9bfee 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -146,21 +146,16 @@ if(APPLE)
|
||||||
|
TARGET FreeDV
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND rm -rf dist_tmp FreeDV.dmg || true
|
||||||
|
- COMMAND DYLD_LIBRARY_PATH=${CODEC2_BUILD_DIR}/src:${portaudio_BINARY_DIR}:${samplerate_BINARY_DIR}/src:${Python3_ROOT_DIR}:${DYLD_LIBRARY_PATH} ${CMAKE_SOURCE_DIR}/macdylibbundler/dylibbundler ARGS -od -b -x FreeDV.app/Contents/MacOS/FreeDV -d FreeDV.app/Contents/libs -p @loader_path/../libs/ -i /usr/lib -s ${CODEC2_BUILD_DIR}/src -s ${CMAKE_BINARY_DIR}/codec2_build/src ${PORTAUDIO_BUNDLE_ARG} -s ${samplerate_BINARY_DIR}/src -s ${rade_BINARY_DIR}/src -s ${Python3_ROOT_DIR}
|
||||||
|
+ COMMAND DYLD_LIBRARY_PATH=${CODEC2_BUILD_DIR}/src:${portaudio_BINARY_DIR}:${samplerate_BINARY_DIR}/src:${DYLD_LIBRARY_PATH} ${CMAKE_SOURCE_DIR}/macdylibbundler/dylibbundler ARGS -od -b -x FreeDV.app/Contents/MacOS/FreeDV -d FreeDV.app/Contents/libs -p @loader_path/../libs/ -i /usr/lib -s ${CODEC2_BUILD_DIR}/src -s ${CMAKE_BINARY_DIR}/codec2_build/src ${PORTAUDIO_BUNDLE_ARG} -s ${samplerate_BINARY_DIR}/src -s ${rade_BINARY_DIR}/src
|
||||||
|
COMMAND cp ARGS ${CMAKE_CURRENT_SOURCE_DIR}/freedv.icns FreeDV.app/Contents/Resources
|
||||||
|
COMMAND rm ARGS -rf FreeDV.app/Contents/Frameworks
|
||||||
|
COMMAND mkdir ARGS FreeDV.app/Contents/Frameworks
|
||||||
|
- COMMAND cp ARGS -a ${Python3_ROOT_DIR}/../../../Python.framework FreeDV.app/Contents/Frameworks
|
||||||
|
- COMMAND install_name_tool ARGS -add_rpath @loader_path/../Frameworks/Python.framework FreeDV.app/Contents/libs/librade*.dylib
|
||||||
|
COMMAND cp ARGS ../rade_src/radae_*e.py FreeDV.app/Contents/Resources
|
||||||
|
COMMAND cp ARGS -a ../rade_src/radae FreeDV.app/Contents/Resources
|
||||||
|
COMMAND cp ARGS -a ../rade_src/model19_check3 FreeDV.app/Contents/Resources
|
||||||
|
|
||||||
|
- # Precompile Python code to improve startup time
|
||||||
|
- COMMAND cd FreeDV.app/Contents/Resources && ../Frameworks/Python.framework/Versions/Current/bin/python3 -c "import radae_txe\; import radae_rxe\;" && cd ../../..
|
||||||
|
-
|
||||||
|
# Codesign binary so that it can execute
|
||||||
|
- COMMAND codesign --force --options runtime --timestamp --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/entitlements.plist --sign ${MACOS_CODESIGN_IDENTITY} ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app `find ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app -name '*.so' -o -name '*.dylib'` `find ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app/Contents/Frameworks/Python.framework/Versions/3.12/bin -name 'Python' -o -name 'python3.12*'` `find ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app/Contents/Frameworks/Python.framework/ -name 'Python'` ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app/Contents/MacOS/FreeDV ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app/Contents/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/torch/bin/* ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app/Contents/Frameworks/Python.framework/Versions/3.12/Python
|
||||||
|
+ COMMAND codesign --force --options runtime --timestamp --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/entitlements.plist --sign ${MACOS_CODESIGN_IDENTITY} ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app `find ${CMAKE_CURRENT_BINARY_DIR}/FreeDV.app -name '*.so' -o -name '*.dylib'`
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MACOS_CODESIGN_KEYCHAIN_PROFILE)
|
@ -1,9 +1,11 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
cmake,
|
cmake,
|
||||||
|
pkg-config,
|
||||||
|
python3,
|
||||||
|
libopus,
|
||||||
macdylibbundler,
|
macdylibbundler,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
darwin,
|
darwin,
|
||||||
@ -17,22 +19,47 @@
|
|||||||
hamlib_4,
|
hamlib_4,
|
||||||
wxGTK32,
|
wxGTK32,
|
||||||
sioclient,
|
sioclient,
|
||||||
pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux,
|
dbus,
|
||||||
|
apple-sdk_15,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
radaeSrc = fetchFromGitHub {
|
||||||
|
owner = "drowe67";
|
||||||
|
repo = "radae";
|
||||||
|
rev = "2354cd2a4b3af60c7feb1c0d6b3d6dd7417c2ac9";
|
||||||
|
hash = "sha256-yEr/OCXV83qXi89QHXMrUtQ2UwNOsijQMN35Or2JP+Y=";
|
||||||
|
};
|
||||||
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "freedv";
|
pname = "freedv";
|
||||||
version = "1.9.9.2";
|
version = "2.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "drowe67";
|
owner = "drowe67";
|
||||||
repo = "freedv-gui";
|
repo = "freedv-gui";
|
||||||
tag = "v${finalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-oFuAH81mduiSQGIDgDDy1IPskqqCBmfWbpqQstUIw9g=";
|
hash = "sha256-3vwFB+3LloumEAGlSJZc2+/I8uI6KLP/KuDGeDOj87k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
patches = [
|
||||||
|
./no-framework.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch =
|
||||||
|
''
|
||||||
|
cp -R ${radaeSrc} radae
|
||||||
|
chmod -R u+w radae
|
||||||
|
substituteInPlace radae/cmake/BuildOpus.cmake \
|
||||||
|
--replace-fail "https://gitlab.xiph.org/xiph/opus/-/archive/main/opus-main.tar.gz" "${libopus.src}" \
|
||||||
|
--replace-fail "./autogen.sh && " ""
|
||||||
|
substituteInPlace cmake/BuildRADE.cmake \
|
||||||
|
--replace-fail "GIT_REPOSITORY https://github.com/drowe67/radae.git" "URL $(realpath radae)" \
|
||||||
|
--replace-fail "GIT_TAG main" ""
|
||||||
|
patchShebangs test/test_*.sh
|
||||||
|
''
|
||||||
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
substituteInPlace CMakeLists.txt \
|
substituteInPlace CMakeLists.txt \
|
||||||
--replace-fail "-Wl,-ld_classic" ""
|
--replace-fail "-Wl,-ld_classic" ""
|
||||||
substituteInPlace src/CMakeLists.txt \
|
substituteInPlace src/CMakeLists.txt \
|
||||||
@ -43,14 +70,18 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
[
|
[
|
||||||
cmake
|
cmake
|
||||||
|
pkg-config
|
||||||
|
python3
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
macdylibbundler
|
macdylibbundler
|
||||||
makeWrapper
|
makeWrapper
|
||||||
darwin.autoSignDarwinBinariesHook
|
darwin.autoSignDarwinBinariesHook
|
||||||
|
darwin.sigtool
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
|
[
|
||||||
codec2
|
codec2
|
||||||
libsamplerate
|
libsamplerate
|
||||||
libsndfile
|
libsndfile
|
||||||
@ -59,18 +90,40 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
hamlib_4
|
hamlib_4
|
||||||
wxGTK32
|
wxGTK32
|
||||||
sioclient
|
sioclient
|
||||||
] ++ (if pulseSupport then [ libpulseaudio ] else [ portaudio ]);
|
python3.pkgs.numpy
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
if stdenv.hostPlatform.isLinux then
|
||||||
|
[
|
||||||
|
libpulseaudio
|
||||||
|
dbus
|
||||||
|
]
|
||||||
|
else if stdenv.hostPlatform.isDarwin then
|
||||||
|
[
|
||||||
|
apple-sdk_15
|
||||||
|
]
|
||||||
|
else
|
||||||
|
[
|
||||||
|
portaudio
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
(lib.cmakeBool "USE_INTERNAL_CODEC2" false)
|
(lib.cmakeBool "USE_INTERNAL_CODEC2" false)
|
||||||
(lib.cmakeBool "USE_STATIC_DEPS" false)
|
(lib.cmakeBool "USE_STATIC_DEPS" false)
|
||||||
(lib.cmakeBool "UNITTEST" true)
|
(lib.cmakeBool "UNITTEST" true)
|
||||||
(lib.cmakeBool "USE_PULSEAUDIO" pulseSupport)
|
(lib.cmakeBool "USE_NATIVE_AUDIO" (with stdenv.hostPlatform; isLinux || isDarwin))
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = true;
|
env.NIX_CFLAGS_COMPILE = "-I${codec2.src}/src";
|
||||||
|
|
||||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
doCheck = false;
|
||||||
|
|
||||||
|
postInstall =
|
||||||
|
''
|
||||||
|
install -Dm755 rade_build/src/librade.* -t $out/lib
|
||||||
|
''
|
||||||
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
mkdir -p $out/Applications
|
mkdir -p $out/Applications
|
||||||
mv $out/bin/FreeDV.app $out/Applications
|
mv $out/bin/FreeDV.app $out/Applications
|
||||||
makeWrapper $out/Applications/FreeDV.app/Contents/MacOS/FreeDV $out/bin/freedv
|
makeWrapper $out/Applications/FreeDV.app/Contents/MacOS/FreeDV $out/bin/freedv
|
||||||
|
Loading…
x
Reference in New Issue
Block a user