easyaudiosync: init at 1.1.1

authored by Matteo Pacini and committed by Sandro Jäckel 34f416de d35cdfc5

+190
+13
pkgs/applications/audio/easyaudiosync/0001-fix-project-name.patch
··· 1 + diff --git a/CMakeLists.txt b/CMakeLists.txt 2 + index 7065538..b2716e1 100644 3 + --- a/CMakeLists.txt 4 + +++ b/CMakeLists.txt 5 + @@ -4,7 +4,7 @@ if (VCPKG) 6 + include("${CMAKE_SOURCE_DIR}/cmake/vcpkg.cmake") 7 + endif () 8 + 9 + -project("Easy Audio Sync" 10 + +project("easyaudiosync" 11 + VERSION 1.1.1 12 + DESCRIPTION "Audio library syncing and conversion utility" 13 + HOMEPAGE_URL "https://github.com/complexlogic/EasyAudioSync"
+21
pkgs/applications/audio/easyaudiosync/0002-fix-qt67-deprecated-methods.patch
··· 1 + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt 2 + index e7befae..8689f13 100644 3 + --- a/src/CMakeLists.txt 4 + +++ b/src/CMakeLists.txt 5 + @@ -43,11 +43,14 @@ configure_file("${PROJECT_SOURCE_DIR}/translations/languages.hpp.in" "${PROJECT_ 6 + 7 + # Make lupdate target for Qt 6 8 + if (${QT_VERSION} VERSION_GREATER_EQUAL "6") 9 + - qt_add_lupdate(${EXECUTABLE_NAME} 10 + + qt_add_lupdate( 11 + TS_FILES ${TS_FILES} "${PROJECT_SOURCE_DIR}/translations/source.ts" 12 + + SOURCE_TARGETS ${EXECUTABLE_NAME} 13 + ) 14 + endif () 15 + -qt_add_translation(QM_FILES "${TS_FILES}") 16 + +qt_add_translations( 17 + + ${EXECUTABLE_NAME} 18 + +) 19 + foreach (FILE ${QM_FILES}) 20 + get_filename_component(BASENAME ${FILE} NAME) 21 + string(APPEND TRANSLATION_FILES " <file>${BASENAME}</file>\n")
+35
pkgs/applications/audio/easyaudiosync/0003-fix-darwin-app.patch
··· 1 + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt 2 + index e7befae..e7dc255 100644 3 + --- a/src/CMakeLists.txt 4 + +++ b/src/CMakeLists.txt 5 + @@ -86,7 +86,6 @@ if (UNIX) 6 + ) 7 + endif () 8 + if (APPLE) 9 + - if (DMG) 10 + set_target_properties(${EXECUTABLE_NAME} PROPERTIES 11 + MACOSX_BUNDLE ON 12 + MACOSX_BUNDLE_EXECUTABLE_NAME "${EXECUTABLE_NAME}" 13 + @@ -94,21 +93,12 @@ if (UNIX) 14 + MACOSX_BUNDLE_ICON_FILE "${EXECUTABLE_NAME}.icns" 15 + MACOSX_BUNDLE_GUI_IDENTIFIER "${RDNS_NAME}" 16 + MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}" 17 + - MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME}" 18 + + MACOSX_BUNDLE_BUNDLE_NAME "Easy Audio Sync" 19 + MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}" 20 + MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}" 21 + MACOSX_BUNDLE_COPYRIGHT "Public Domain" 22 + 23 + ) 24 + - install(CODE "include(BundleUtilities)\nfixup_bundle(\"${PROJECT_BINARY_DIR}/${EXECUTABLE_NAME}.app\" \"\" \"\")") 25 + - add_custom_target(my_install COMMAND ${CMAKE_COMMAND} --build . --target install WORKING_DIRECTORY "${PROJECT_BINARY_DIR}") 26 + - add_custom_target(dmg 27 + - COMMAND mv "${EXECUTABLE_NAME}.app" "${PROJECT_NAME}.app" # fixup_bundle won't accept app names with spaces so need to manually rename 28 + - COMMAND "${MACDEPLOYQT}" "${PROJECT_NAME}.app" -dmg 29 + - COMMAND mv "${PROJECT_NAME}.dmg" "${EXECUTABLE_NAME}-${PROJECT_VERSION}-${CMAKE_OSX_ARCHITECTURES}.dmg" 30 + - WORKING_DIRECTORY "${PROJECT_BINARY_DIR}") 31 + - add_dependencies(dmg my_install) 32 + - endif () 33 + else () 34 + install(TARGETS ${EXECUTABLE_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") 35 + set (DATA_DIR "${CMAKE_INSTALL_PREFIX}/share")
+21
pkgs/applications/audio/easyaudiosync/0004-force-qt6.patch
··· 1 + diff --git a/CMakeLists.txt b/CMakeLists.txt 2 + index 7065538..1946574 100644 3 + --- a/CMakeLists.txt 4 + +++ b/CMakeLists.txt 5 + @@ -19,14 +19,8 @@ set(EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}") 6 + set(VS_STARTUP_PROJECT ${EXECUTABLE_NAME}) 7 + 8 + # Configure options 9 + -if (WIN32 OR APPLE) 10 + - set(QT_VERSION "6") 11 + -else () 12 + - set(QT_VERSION "5" CACHE STRING "Qt major version to use (5 or 6).") 13 + - if (NOT (QT_VERSION STREQUAL "5" OR QT_VERSION STREQUAL "6")) 14 + - message(FATAL_ERROR "Unsupported Qt version '${QT_VERSION}'. Only 5 and 6 are supported") 15 + - endif () 16 + -endif () 17 + +set(QT_VERSION "6") 18 + + 19 + if (APPLE) 20 + option(DMG "Make deployable DMG" OFF) 21 + endif ()
+98
pkgs/applications/audio/easyaudiosync/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , pkg-config 5 + , cmake 6 + , qtbase 7 + , qttools 8 + , spdlog 9 + , ffmpeg 10 + , taglib 11 + , wrapQtAppsHook 12 + , makeDesktopItem 13 + , copyDesktopItems 14 + }: 15 + 16 + stdenv.mkDerivation rec { 17 + pname = "easyaudiosync"; 18 + version = "1.1.1"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "complexlogic"; 22 + repo = "EasyAudioSync"; 23 + rev = "v${version}"; 24 + hash = "sha256-w98tj9BuixPhuDgwn74EYY0gvKH6kbfQmtg030RWRU0="; 25 + }; 26 + 27 + patches = [ 28 + ./0001-fix-project-name.patch 29 + ./0002-fix-qt67-deprecated-methods.patch 30 + ./0003-fix-darwin-app.patch 31 + ./0004-force-qt6.patch 32 + ]; 33 + 34 + nativeBuildInputs = [ 35 + cmake 36 + pkg-config 37 + wrapQtAppsHook 38 + ] ++ lib.optional stdenv.isLinux copyDesktopItems; 39 + 40 + buildInputs = [ 41 + qtbase 42 + qttools 43 + ffmpeg 44 + spdlog 45 + taglib 46 + ]; 47 + 48 + installPhase = 49 + '' 50 + runHook preInstall 51 + '' + lib.optionalString stdenv.isDarwin '' 52 + mkdir -p $out/Applications 53 + mv "easyaudiosync.app" "Easy Audio Sync.app" 54 + cp -r "Easy Audio Sync.app" $out/Applications 55 + '' + lib.optionalString stdenv.isLinux '' 56 + install -Dm755 easyaudiosync $out/bin/easyaudiosync 57 + 58 + for RES in 48 64 128 256; do 59 + install -Dm755 "$src/assets/icons/easyaudiosync''${RES}.png" "$out/share/icons/hicolor/''${RES}x''${RES}/apps/easyaudiosync.png" 60 + done 61 + 62 + install -Dm755 "$src/assets/icons/easyaudiosync.svg" "$out/share/icons/hicolor/scalable/apps/easyaudiosync.svg" 63 + '' + '' 64 + runHook postInstall 65 + ''; 66 + 67 + desktopItems = [ 68 + (makeDesktopItem { 69 + name = "easyaudiosync"; 70 + exec = "easyaudiosync"; 71 + icon = "easyaudiosync"; 72 + desktopName = "Easy Audio Sync"; 73 + categories = [ 74 + "Qt" 75 + "Audio" 76 + "AudioVideo" 77 + ]; 78 + comment = "Audio library syncing and conversion utility"; 79 + }) 80 + ]; 81 + 82 + meta = with lib; { 83 + description = "Audio library syncing and conversion utility"; 84 + longDescription = '' 85 + Easy Audio Sync is an audio library syncing and conversion utility. 86 + The intended use is syncing an audio library with many lossless files to a mobile device 87 + with limited storage. 88 + 89 + The program's design is inspired by the rsync utility. It supports folder-based 90 + source to destination syncing, with added audio transcoding capability, and is 91 + GUI-based instead of CLI-based. 92 + ''; 93 + homepage = "https://github.com/complexlogic/EasyAudioSync"; 94 + license = licenses.unlicense; 95 + maintainers = with maintainers; [ matteopacini ]; 96 + platforms = platforms.linux ++ platforms.darwin; 97 + }; 98 + }
+2
pkgs/top-level/all-packages.nix
··· 5029 5029 5030 5030 easyabc = callPackage ../applications/audio/easyabc { }; 5031 5031 5032 + easyaudiosync = qt6Packages.callPackage ../applications/audio/easyaudiosync {}; 5033 + 5032 5034 easycrypt = callPackage ../applications/science/logic/easycrypt { 5033 5035 why3 = pkgs.why3.override { ideSupport = false; }; 5034 5036 };