Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

134 lines
5.6KB

  1. SHELL:=/bin/bash
  2. ubuntu1804:
  3. # sometimes got 404 on videolan/x264
  4. #git clone https://code.videolan.org/videolan/x264
  5. #git clone git://source.ffmpeg.org/ffmpeg.git
  6. # for this reason pushed them to my own github
  7. git clone https://github.com/rayburgemeestre/x264
  8. git clone https://github.com/rayburgemeestre/ffmpeg
  9. bash ../ubuntu1804.sh make ffmpeg_impl
  10. make package-ubuntu1804
  11. ubuntu2004:
  12. # sometimes got 404 on videolan/x264
  13. #git clone https://code.videolan.org/videolan/x264
  14. #git clone git://source.ffmpeg.org/ffmpeg.git
  15. git clone https://github.com/rayburgemeestre/x264
  16. git clone https://github.com/rayburgemeestre/ffmpeg
  17. bash ../ubuntu2004.sh make ffmpeg_impl
  18. make package-ubuntu2004
  19. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  20. ubuntu2204:
  21. # sometimes got 404 on videolan/x264
  22. #git clone https://code.videolan.org/videolan/x264
  23. #git clone git://source.ffmpeg.org/ffmpeg.git
  24. git clone https://github.com/rayburgemeestre/x264
  25. git clone https://github.com/rayburgemeestre/ffmpeg
  26. bash ../ubuntu2204.sh make ffmpeg_impl
  27. make package-ubuntu2204
  28. bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  29. ubuntu2404:
  30. # sometimes got 404 on videolan/x264
  31. #git clone https://code.videolan.org/videolan/x264
  32. #git clone git://source.ffmpeg.org/ffmpeg.git
  33. #git clone https://github.com/rayburgemeestre/x264
  34. git clone -b stable https://code.videolan.org/videolan/x264
  35. #git clone https://github.com/rayburgemeestre/ffmpeg
  36. git clone -b n7.1 https://github.com/FFmpeg/FFmpeg ffmpeg
  37. bash ../ubuntu2404.sh make ffmpeg_impl
  38. make package-ubuntu2404
  39. bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  40. ffmpeg_impl:
  41. # see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/
  42. git config --global --add safe.directory '*'
  43. apt-get update
  44. sudo apt-get install -y yasm
  45. sudo apt-get install -y nasm # apparently x264 switched to this
  46. mkdir -p x264_out
  47. mkdir -p ffmpeg_out
  48. cp -prv 5.1-0004-fix-binutils.patch ffmpeg/
  49. pushd x264 && \
  50. echo pass
  51. #git checkout 2451a7282463f68e532f2eee090a70ab139bb3e7
  52. # ^ parent of 71ed44c7312438fac7c5c5301e45522e57127db4, which is where they dropped support for:
  53. # libavcodec/libx264.c:282:9: error: 'x264_bit_depth' undeclared (first use in this function); did you mean 'x264_picture_t'?
  54. # if (x264_bit_depth > 8)
  55. # ^~~~~~~~~~~~~~
  56. pushd x264 && \
  57. ./configure --cxx=$$(which c++) --enable-static --enable-shared --prefix=$$(realpath $$PWD/../x264_out) && \
  58. make -j $$(nproc) && \
  59. make install
  60. pushd x264 && \
  61. ./configure --cxx=$$(which c++) --enable-static --enable-shared && \
  62. make -j $$(nproc) && \
  63. make install
  64. pushd ffmpeg && git checkout n7.1
  65. #git checkout 71052d85c16bd65fa1e3e01d9040f9a3925efd7a # or my muxing code won't work, they've modified the example since fba1592f35501bff0f28d7885f4128dfc7b82777
  66. pushd ffmpeg && \
  67. ./configure --cxx=$$(which c++) --enable-static --enable-shared --enable-libx264 --enable-gpl --enable-swresample --disable-libdrm --prefix=$$(realpath $$PWD/../ffmpeg_out) && \
  68. # sed -i.bak 's/HAVE_ARC4RANDOM 1/HAVE_ARC4RANDOM 0/g' ./config.h && \
  69. # patch libavcodec/x86/mathops.h 5.1-0004-fix-binutils.patch && \
  70. make -j $$(nproc) && \
  71. make install
  72. package-ubuntu1804:
  73. rm -rf out
  74. mkdir -p out/opt/cppse/build/x264
  75. mkdir -p out/opt/cppse/build/ffmpeg
  76. cp -prv ./x264_out/* out/opt/cppse/build/x264/
  77. cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/
  78. rm -rf cppseffmpeg_*_amd64.deb
  79. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out
  80. package-ubuntu2004:
  81. rm -rf out
  82. mkdir -p out/opt/cppse/build/x264
  83. mkdir -p out/opt/cppse/build/ffmpeg
  84. cp -prv ./x264_out/* out/opt/cppse/build/x264/
  85. cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/
  86. rm -rf cppseffmpeg_*_amd64.deb
  87. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out
  88. package-ubuntu2204:
  89. rm -rf out
  90. mkdir -p out/opt/cppse/build/x264
  91. mkdir -p out/opt/cppse/build/ffmpeg
  92. cp -prv ./x264_out/* out/opt/cppse/build/x264/
  93. cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/
  94. rm -rf cppseffmpeg_*_amd64.deb
  95. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out
  96. package-ubuntu2404:
  97. rm -rf out
  98. mkdir -p out/opt/cppse/build/x264
  99. mkdir -p out/opt/cppse/build/ffmpeg
  100. cp -prv ./x264_out/* out/opt/cppse/build/x264/
  101. cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/
  102. rm -rf cppseffmpeg_*_amd64.deb
  103. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v 1.1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out
  104. clean:
  105. rm -rf x264
  106. rm -rf ffmpeg
  107. rm -rf out
  108. rm -rf x264_out
  109. rm -rf ffmpeg_out
  110. shell:
  111. FLAGS="-i --privileged" bash ../ubuntu2404.sh /bin/bash