Loading pkgs/by-name/fr/freedv/no-framework.patch 0 → 100644 +28 −0 Original line number Diff line number Diff line 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) pkgs/by-name/fr/freedv/package.nix +81 −28 Original line number Diff line number Diff line { config, lib, stdenv, fetchFromGitHub, cmake, pkg-config, python3, libopus, macdylibbundler, makeWrapper, darwin, Loading @@ -17,22 +19,47 @@ hamlib_4, wxGTK32, sioclient, pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, dbus, apple-sdk_15, nix-update-script, }: let radaeSrc = fetchFromGitHub { owner = "drowe67"; repo = "radae"; rev = "2354cd2a4b3af60c7feb1c0d6b3d6dd7417c2ac9"; hash = "sha256-yEr/OCXV83qXi89QHXMrUtQ2UwNOsijQMN35Or2JP+Y="; }; in stdenv.mkDerivation (finalAttrs: { pname = "freedv"; version = "1.9.9.2"; version = "2.0.0"; src = fetchFromGitHub { owner = "drowe67"; repo = "freedv-gui"; 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 \ --replace-fail "-Wl,-ld_classic" "" substituteInPlace src/CMakeLists.txt \ Loading @@ -43,14 +70,18 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake pkg-config python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ macdylibbundler makeWrapper darwin.autoSignDarwinBinariesHook darwin.sigtool ]; buildInputs = [ buildInputs = [ codec2 libsamplerate libsndfile Loading @@ -59,18 +90,40 @@ stdenv.mkDerivation (finalAttrs: { hamlib_4 wxGTK32 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 = [ (lib.cmakeBool "USE_INTERNAL_CODEC2" false) (lib.cmakeBool "USE_STATIC_DEPS" false) (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"; doCheck = false; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' postInstall = '' install -Dm755 rade_build/src/librade.* -t $out/lib '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications mv $out/bin/FreeDV.app $out/Applications makeWrapper $out/Applications/FreeDV.app/Contents/MacOS/FreeDV $out/bin/freedv Loading Loading
pkgs/by-name/fr/freedv/no-framework.patch 0 → 100644 +28 −0 Original line number Diff line number Diff line 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)
pkgs/by-name/fr/freedv/package.nix +81 −28 Original line number Diff line number Diff line { config, lib, stdenv, fetchFromGitHub, cmake, pkg-config, python3, libopus, macdylibbundler, makeWrapper, darwin, Loading @@ -17,22 +19,47 @@ hamlib_4, wxGTK32, sioclient, pulseSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, dbus, apple-sdk_15, nix-update-script, }: let radaeSrc = fetchFromGitHub { owner = "drowe67"; repo = "radae"; rev = "2354cd2a4b3af60c7feb1c0d6b3d6dd7417c2ac9"; hash = "sha256-yEr/OCXV83qXi89QHXMrUtQ2UwNOsijQMN35Or2JP+Y="; }; in stdenv.mkDerivation (finalAttrs: { pname = "freedv"; version = "1.9.9.2"; version = "2.0.0"; src = fetchFromGitHub { owner = "drowe67"; repo = "freedv-gui"; 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 \ --replace-fail "-Wl,-ld_classic" "" substituteInPlace src/CMakeLists.txt \ Loading @@ -43,14 +70,18 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake pkg-config python3 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ macdylibbundler makeWrapper darwin.autoSignDarwinBinariesHook darwin.sigtool ]; buildInputs = [ buildInputs = [ codec2 libsamplerate libsndfile Loading @@ -59,18 +90,40 @@ stdenv.mkDerivation (finalAttrs: { hamlib_4 wxGTK32 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 = [ (lib.cmakeBool "USE_INTERNAL_CODEC2" false) (lib.cmakeBool "USE_STATIC_DEPS" false) (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"; doCheck = false; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' postInstall = '' install -Dm755 rade_build/src/librade.* -t $out/lib '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications mv $out/bin/FreeDV.app $out/Applications makeWrapper $out/Applications/FreeDV.app/Contents/MacOS/FreeDV $out/bin/freedv Loading