snapcraft.yaml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. name: freedoom
  2. version: 0.12.1
  3. summary: A free and open First-Person Shooter
  4. description: |
  5. Freedoom is a completely free and open replacement for DOOM, and is fully compatible with all DOOM levels and modifcations.
  6. This package contains Freedoom: Phase 1, Freedoom: Phase 2, and FreeDM.
  7. # The desktop launcher and icon have to be located within snap/gui to be included
  8. icon: snap/gui/io.github.freedoom.png
  9. license: "BSD-3-Clause"
  10. grade: stable
  11. confinement: strict
  12. base: core18
  13. assumes:
  14. - snapd2.41
  15. # auto-build architectures
  16. architectures:
  17. -build-on: [i386]
  18. -build-on: [amd64]
  19. -build-on: [armhf]
  20. -build-on: [arm64]
  21. -build-on: [ppc64el]
  22. apps:
  23. freedoom:
  24. command: desktop-launch $SNAP/bin/freedoom
  25. plugs: [desktop, desktop-legacy, unity7, network, opengl, pulseaudio, audio-playback, joystick, x11, wayland, home]
  26. environment:
  27. LD_LIBRARY_PATH: $SNAP/usr/lib/x86_64-linux-gnu/pulseaudio:$LD_LIBRARY_PATH
  28. parts:
  29. lzdoom:
  30. source: https://github.com/drfrag666/gzdoom.git
  31. source-commit: '797037f'
  32. plugin: cmake
  33. configflags: ["-DCMAKE_BUILD_TYPE=Release", "-DNO_FMOD=ON"]
  34. build-packages:
  35. - g++
  36. - make
  37. - cmake
  38. - libsdl2-dev
  39. - git
  40. - zlib1g-dev
  41. - libbz2-dev
  42. - libjpeg-dev
  43. - libfluidsynth-dev
  44. - libgme-dev
  45. - libopenal-dev
  46. - libmpg123-dev
  47. - libsndfile1-dev
  48. - libgtk-3-dev
  49. - timidity
  50. - nasm
  51. - libgl1-mesa-dev
  52. - tar
  53. - libsdl1.2-dev
  54. - libglew-dev
  55. stage-packages:
  56. - libsdl2-2.0-0
  57. - libopenal1
  58. - libfluidsynth1
  59. - libgme0
  60. - libmpg123-0
  61. - libsndfile1
  62. - libwildmidi2
  63. - libgtk-3-0
  64. - timidity
  65. - libsdl1.2debian
  66. - libgl1-mesa-glx
  67. - libpulse0
  68. - libgomp1
  69. - yad
  70. - libslang2
  71. - libglu1-mesa
  72. - freeglut3
  73. after:
  74. - desktop-glib-only
  75. override-build: |
  76. snapcraftctl build
  77. mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/sounds/sf2
  78. cp $SNAPCRAFT_PART_BUILD/soundfonts/lzdoom.sf2 $SNAPCRAFT_PART_INSTALL/usr/share/sounds/sf2/lzdoom.sf2
  79. prime:
  80. #We don't need the default soundfont (which is 140M)
  81. - -usr/share/sounds/sf2/FluidR3_GM.sf2
  82. #We don't need the icons (which are 40M)
  83. - -usr/share/icons
  84. desktop-glib-only:
  85. source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
  86. source-subdir: glib-only
  87. plugin: make
  88. build-packages:
  89. - libglib2.0-dev
  90. stage-packages:
  91. - libglib2.0-bin
  92. #only used for building freedoom
  93. deutex:
  94. source: https://github.com/Doom-Utils/deutex.git
  95. source-tag: v5.2.1
  96. plugin: autotools
  97. configflags: ["--disable-man"]
  98. build-packages:
  99. - libpng-dev
  100. prime:
  101. [-bin/deutex]
  102. freedoom:
  103. source: https://github.com/freedoom/freedoom.git
  104. source-tag: v0.12.1
  105. plugin: make
  106. after: [deutex]
  107. build-packages:
  108. - deutex
  109. - python3-pil
  110. - asciidoc
  111. - libpng16-16
  112. # Only copying the wads, not the docs, since they will be
  113. # inaccessible within the snap.
  114. override-build: |
  115. make
  116. mkdir -p $SNAPCRAFT_PART_INSTALL/share/games/doom
  117. cp $SNAPCRAFT_PART_BUILD/wads/*.wad $SNAPCRAFT_PART_INSTALL/share/games/doom
  118. config:
  119. source: config
  120. source-type: local
  121. plugin: dump
  122. organize:
  123. "freedoom.wrapper" : bin/freedoom
  124. # lzdoom.ini contains some sane defaults for lzdoom
  125. "lzdoom.ini" : config/lzdoom.ini
  126. layout:
  127. /usr/share/games/doom: # to locate the wad files
  128. bind: $SNAP/share/games/doom
  129. /usr/share/doom/soundfonts: # to locate the soundfonts
  130. bind: $SNAP/usr/share/sounds/sf2