Automate installation of DXVK, D9VK + Wine/Wine Staging & update GPU drivers + PlayonLinux wineprefixes (Debian/Ubuntu/Mint/Arch Linux/Manjaro)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
4.7 KiB

  1. ########################################################
  2. # Common properties
  3. pkg_name="meson"
  4. pkg_license="apache"
  5. pkg_maintainer="${USER} <${USER}@unknown>"
  6. pkg_section="devel"
  7. pkg_priority="optional"
  8. pkg_arch="all"
  9. pkg_commondesc="high-productivity build system"
  10. pkg_longdesc="
  11. Meson is a build system designed to increase programmer\n\
  12. productivity. It does this by providing a fast, simple and easy to\n\
  13. use interface for modern software development tools and practices.
  14. "
  15. pkg_giturl="https://github.com/mesonbuild/meson"
  16. pkg_homeurl="http://mesonbuild.com"
  17. pkg_gitbranch=${git_branch_meson}
  18. git_commithash=${git_commithash_meson}
  19. pkg_gitver="git describe --long | sed 's/\-[a-z].*//; s/\-/\./; s/[a-z]//g'"
  20. pkg_installfile="./debian/install"
  21. pkg_controlfile="./debian/control"
  22. pkg_rulesfile="./debian/rules"
  23. pkg_compatfile="./debian/compat"
  24. ########################################################
  25. # Debian compatibility flag
  26. pkg_debcompat="12"
  27. ########################################################
  28. # Debian rules file section
  29. pkg_debrules="\
  30. #!/usr/bin/make -f
  31. # Original script by Jussi Pakkanen
  32. export MESON_PRINT_TEST_OUTPUT=1
  33. export QT_SELECT=qt5
  34. export LC_ALL=C.UTF-8
  35. %:
  36. dh \$@ --with python3 --buildsystem=pybuild
  37. override_dh_auto_configure:
  38. override_dh_auto_build:
  39. override_dh_auto_test:
  40. override_dh_clean:
  41. dh_clean
  42. rm -f *.pyc
  43. rm -rf __pycache__
  44. rm -rf mesonbuild/__pycache__
  45. rm -rf mesonbuild/*/__pycache__
  46. rm -rf work\ area
  47. rm -rf install\ dir/*
  48. rm -f meson-test-run.txt meson-test-run.xml
  49. rm -rf meson.egg-info
  50. rm -rf build
  51. rm -rf .pybuild
  52. override_dh_install:
  53. # Helper script to autogenerate cross files.
  54. python3 setup.py install --root=\$\$(pwd)/debian/meson --prefix=/usr --install-layout=deb --install-lib=/usr/share/meson --install-scripts=/usr/share/meson
  55. rm -rf \$\$(pwd)/debian/meson/usr/share/meson/mesonbuild/__pycache__
  56. rm -rf \$\$(pwd)/debian/meson/usr/share/meson/mesonbuild/*/__pycache__
  57. rm \$\$(pwd)/debian/meson/usr/bin/meson
  58. ln -s ../share/meson/meson \$\$(pwd)/debian/meson/usr/bin/meson
  59. "
  60. ########################################################
  61. # Debian install file section
  62. pkg_debinstall="empty"
  63. ########################################################
  64. # Debian control file subfields
  65. # Debian control file Overrides section
  66. pkg_overrides=(
  67. empty
  68. )
  69. # Debian control file Suggests section
  70. pkg_suggests=(
  71. empty
  72. )
  73. # Debian control file Conflicts section
  74. pkg_conflicts=(
  75. empty
  76. )
  77. # Debian control file Breaks section
  78. pkg_breaks=(
  79. empty
  80. )
  81. # Debian control file Replaces section
  82. pkg_replaces=(
  83. empty
  84. )
  85. # Debian control file Provides section
  86. pkg_provides=(
  87. empty
  88. )
  89. ############################
  90. # Build time dependencies
  91. pkg_deps_build=(
  92. 'python3 (>= 3.5)'
  93. 'dh-python'
  94. 'python3-setuptools'
  95. 'ninja-build (>= 1.6)'
  96. )
  97. # Runtime dependencies
  98. pkg_deps_runtime=(
  99. 'ninja-build (>=1.6)'
  100. 'python3'
  101. )
  102. # Extra fields for Debian control file Source (start) section
  103. pkg_extra_1=(
  104. 'X-Python3-Version: >= 3.5'
  105. )
  106. # Extra fields for Debian control file Package (end) section
  107. pkg_extra_2=(
  108. empty
  109. )
  110. ############################
  111. # Deb builder execution field
  112. # Do not build either debug symbols or doc files
  113. pkg_debbuilder="DEB_BUILD_OPTIONS=\"strip nodocs noddebs nocheck\" dpkg-buildpackage -rfakeroot -b -us -uc -d"
  114. ########################################################
  115. # Contents of Debian control file
  116. # This is a necessary variable setting for array loops below
  117. IFS=$'\n'
  118. pkg_debcontrol="\
  119. Source: ${pkg_name}
  120. Section: ${pkg_section}
  121. Priority: ${pkg_priority}
  122. Maintainer: ${pkg_maintainer}
  123. Build-Depends: debhelper (>=9), $(if [[ ${pkg_deps_build[0]} != "empty" ]]; then \
  124. for w in ${pkg_deps_build[@]}; do printf '%s, ' ${w}; done; fi)
  125. Standards-Version: 4.1.3
  126. Homepage: ${pkg_homeurl}
  127. $(if [[ ${pkg_extra_1[0]} != "empty" ]]; then for w in ${pkg_extra_1[@]}; do echo ${w}; done ; fi)
  128. Package: ${pkg_name}
  129. Architecture: ${pkg_arch}
  130. Depends: \${shlibs:Depends}, \${misc:Depends}, $(if [[ ${pkg_deps_runtime[0]} != "empty" ]]; then \
  131. for w in ${pkg_deps_runtime[@]}; do printf '%s, ' ${w}; done; fi)
  132. Description: ${pkg_commondesc}
  133. $(echo -e ${pkg_longdesc} | sed 's/^/ /g; s/\n/\n /g')
  134. $(if [[ ${pkg_extra_2[0]} != "empty" ]]; then for w in ${pkg_extra_2[@]}; do echo ${w}; done ; fi)
  135. $(if [[ ${pkg_suggests[0]} != "empty" ]]; then echo "Suggests: $(echo ${_kg_suggests[*]} | sed 's/\s/, /g')"; fi)
  136. $(if [[ ${pkg_conflicts[0]} != "empty" ]]; then echo "Conflicts: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
  137. $(if [[ ${pkg_breaks[0]} != "empty" ]]; then echo "Breaks: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
  138. $(if [[ ${pkg_replaces[0]} != "empty" ]]; then echo "Replaces: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
  139. $(if [[ ${pkg_provides[0]} != "empty" ]]; then echo "Provides: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
  140. "
  141. unset IFS