build.windows.amd64 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. #= Windows 7+ amd64 (x64) .zip
  3. set -o errexit
  4. set -o xtrace
  5. # Version variables
  6. NSSM_VERSION="nssm-2.24-101-g897c7ad"
  7. NSSM_URL="http://files.evilt.win/nssm/${NSSM_VERSION}.zip"
  8. FFMPEG_URL="https://repo.jellyfin.org/releases/server/windows/ffmpeg/jellyfin-ffmpeg.zip";
  9. # Move to source directory
  10. pushd ${SOURCE_DIR}
  11. # Get version
  12. if [[ ${IS_UNSTABLE} == 'yes' ]]; then
  13. version="${BUILD_ID}"
  14. else
  15. version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )"
  16. fi
  17. output_dir="dist/jellyfin-server_${version}"
  18. # Build binary
  19. dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime win-x64 --output ${output_dir}/ "-p:DebugSymbols=false;DebugType=none;UseAppHost=true"
  20. # Prepare addins
  21. addin_build_dir="$( mktemp -d )"
  22. wget ${NSSM_URL} -O ${addin_build_dir}/nssm.zip
  23. wget ${FFMPEG_URL} -O ${addin_build_dir}/jellyfin-ffmpeg.zip
  24. unzip ${addin_build_dir}/nssm.zip -d ${addin_build_dir}
  25. cp ${addin_build_dir}/${NSSM_VERSION}/win64/nssm.exe ${output_dir}/nssm.exe
  26. unzip ${addin_build_dir}/jellyfin-ffmpeg.zip -d ${addin_build_dir}/jellyfin-ffmpeg
  27. cp ${addin_build_dir}/jellyfin-ffmpeg/* ${output_dir}
  28. rm -rf ${addin_build_dir}
  29. # Prepare scripts
  30. cp ${SOURCE_DIR}/windows/legacy/install-jellyfin.ps1 ${output_dir}/install-jellyfin.ps1
  31. cp ${SOURCE_DIR}/windows/legacy/install.bat ${output_dir}/install.bat
  32. # Create zip package
  33. pushd dist
  34. zip -qr jellyfin-server_${version}.portable.zip jellyfin-server_${version}
  35. popd
  36. rm -rf ${output_dir}
  37. # Move the artifacts out
  38. mkdir -p ${ARTIFACT_DIR}/
  39. mv dist/jellyfin[-_]*.zip ${ARTIFACT_DIR}/
  40. if [[ ${IS_DOCKER} == YES ]]; then
  41. chown -Rc $(stat -c %u:%g ${ARTIFACT_DIR}) ${ARTIFACT_DIR}
  42. fi
  43. popd