Merge pull request #251051 from pacien/translatelocally-init

translatelocally: init at unstable-2023-08-25

authored by

Weijia Wang and committed by
GitHub
33b8ca48 57a0c58e

+130
+62
pkgs/applications/misc/translatelocally/default.nix
··· 1 + { lib, stdenv, fetchFromGitHub 2 + , cmake, qt6, libarchive, pcre2, protobuf, gperftools, blas 3 + }: 4 + 5 + let 6 + rev = "f8a2dba0a63989c6b3a7be36f736ed478cad1dd2"; 7 + 8 + in stdenv.mkDerivation (finalAttrs: { 9 + pname = "translatelocally"; 10 + version = "unstable-2023-08-25"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "XapaJIaMnu"; 14 + repo = "translateLocally"; 15 + inherit rev; 16 + hash = "sha256-uUdDi0CwCR/FQjw5D2s088d/Tp7NQOI0ia30oOhlGoc="; 17 + fetchSubmodules = true; 18 + }; 19 + 20 + patches = [ 21 + ./version_without_git.patch 22 + ]; 23 + 24 + postPatch = '' 25 + echo '#define GIT_REVISION "${rev} ${finalAttrs.version}"' > \ 26 + 3rd_party/bergamot-translator/3rd_party/marian-dev/src/common/git_revision.h 27 + ''; 28 + 29 + nativeBuildInputs = [ 30 + cmake 31 + protobuf 32 + qt6.wrapQtAppsHook 33 + ]; 34 + 35 + buildInputs = [ 36 + qt6.qttools 37 + qt6.qtbase 38 + qt6.qtsvg 39 + libarchive 40 + pcre2 41 + protobuf 42 + gperftools # provides tcmalloc 43 + blas 44 + ]; 45 + 46 + cmakeFlags = [ 47 + "-DBLAS_LIBRARIES=-lblas" 48 + "-DCBLAS_LIBRARIES=-lcblas" 49 + ]; 50 + 51 + meta = with lib; { 52 + mainProgram = "translateLocally"; 53 + homepage = "https://translatelocally.com/"; 54 + description = "Fast and secure translation on your local machine, powered by marian and Bergamot."; 55 + license = licenses.mit; 56 + maintainers = with maintainers; [ pacien ]; 57 + platforms = platforms.linux; 58 + 59 + # https://github.com/XapaJIaMnu/translateLocally/issues/150 60 + broken = stdenv.isAarch64; 61 + }; 62 + })
+66
pkgs/applications/misc/translatelocally/version_without_git.patch
··· 1 + Submodule 3rd_party/bergamot-translator contains modified content 2 + Submodule 3rd_party/marian-dev contains modified content 3 + diff --git a/3rd_party/bergamot-translator/3rd_party/marian-dev/cmake/GetVersionFromFile.cmake b/3rd_party/bergamot-translator/3rd_party/marian-dev/cmake/GetVersionFromFile.cmake 4 + index 31352565..d90a366d 100644 5 + --- a/3rd_party/bergamot-translator/3rd_party/marian-dev/cmake/GetVersionFromFile.cmake 6 + +++ b/3rd_party/bergamot-translator/3rd_party/marian-dev/cmake/GetVersionFromFile.cmake 7 + @@ -22,10 +22,8 @@ else() 8 + endif() 9 + 10 + # Get current commit SHA from git 11 + -execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD 12 + - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 13 + - OUTPUT_VARIABLE PROJECT_VERSION_GIT_SHA 14 + - OUTPUT_STRIP_TRAILING_WHITESPACE) 15 + +# (dummy value for nix package without the .git) 16 + +set(PROJECT_VERSION_GIT_SHA 000000000000) 17 + 18 + # Get partial versions into a list 19 + string(REGEX MATCHALL "-.*$|[0-9]+" PROJECT_PARTIAL_VERSION_LIST 20 + diff --git a/3rd_party/bergamot-translator/3rd_party/marian-dev/src/CMakeLists.txt b/3rd_party/bergamot-translator/3rd_party/marian-dev/src/CMakeLists.txt 21 + index 76aa0e2b..ca982bd3 100644 22 + --- a/3rd_party/bergamot-translator/3rd_party/marian-dev/src/CMakeLists.txt 23 + +++ b/3rd_party/bergamot-translator/3rd_party/marian-dev/src/CMakeLists.txt 24 + @@ -149,23 +149,8 @@ target_compile_options(marian PRIVATE ${ALL_WARNINGS}) 25 + # 26 + # We set MARIAN_GIT_DIR to the appropriate path, depending on whether 27 + # ${CMAKE_CURRENT_SOURCE_DIR}/../.git is a directory or file. 28 + -set(MARIAN_GIT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../.git) 29 + -if(NOT IS_DIRECTORY ${MARIAN_GIT_DIR}) # i.e., it's a submodule 30 + - file(READ ${MARIAN_GIT_DIR} MARIAN_GIT_DIR) 31 + - string(REGEX REPLACE "gitdir: (.*)\n" "\\1" MARIAN_GIT_DIR ${MARIAN_GIT_DIR}) 32 + - if(NOT IS_ABSOLUTE ${MARIAN_GIT_DIR}) 33 + - get_filename_component(MARIAN_GIT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../${MARIAN_GIT_DIR}" ABSOLUTE) 34 + - endif() 35 + -endif(NOT IS_DIRECTORY ${MARIAN_GIT_DIR}) 36 + - 37 + -add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/common/git_revision.h 38 + - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 39 + - COMMAND git log -1 --pretty=format:\#define\ GIT_REVISION\ \"\%h\ \%ai\" > ${CMAKE_CURRENT_SOURCE_DIR}/common/git_revision.h 40 + - DEPENDS ${MARIAN_GIT_DIR}/logs/HEAD 41 + - VERBATIM 42 + -) 43 + -add_custom_target(marian_version DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/common/git_revision.h) 44 + -add_dependencies(marian marian_version) # marian must depend on it so that it gets created first 45 + +# (generated by nix package instead) 46 + + 47 + # make sure all local dependencies are installed first before this is built 48 + add_dependencies(marian 3rd_party_installs) 49 + 50 + diff --git a/cmake/GetVersionFromFile.cmake b/cmake/GetVersionFromFile.cmake 51 + index 83b7975..71cd861 100644 52 + --- a/cmake/GetVersionFromFile.cmake 53 + +++ b/cmake/GetVersionFromFile.cmake 54 + @@ -23,10 +23,8 @@ else() 55 + endif() 56 + 57 + # Get current commit SHA from git 58 + -execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD 59 + - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 60 + - OUTPUT_VARIABLE PROJECT_VERSION_GIT_SHA 61 + - OUTPUT_STRIP_TRAILING_WHITESPACE) 62 + +# (dummy value for nix package without the .git) 63 + +set(PROJECT_VERSION_GIT_SHA 000000000000) 64 + 65 + # Get partial versions into a list 66 + string(REGEX MATCHALL "-.*$|[0-9]+" PROJECT_PARTIAL_VERSION_LIST
+2
pkgs/top-level/all-packages.nix
··· 14028 14028 14029 14029 transifex-cli = callPackage ../applications/misc/transifex-cli { }; 14030 14030 14031 + translatelocally = callPackage ../applications/misc/translatelocally { }; 14032 + 14031 14033 translate-shell = callPackage ../applications/misc/translate-shell { }; 14032 14034 14033 14035 translatepy = with python3.pkgs; toPythonApplication translatepy;