snapcraft.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. name: home-assistant-snap
  2. version: '0.114.4'
  3. summary: Open source home automation that puts local control and privacy first
  4. description: |
  5. Home Assistant is a home automation platform running on Python 3.
  6. It is able to track and control all devices at home and offer a
  7. platform for automating control.
  8. This version supports integrations with
  9. - HACS: see 'home-assistant-hacs' (custom_components)
  10. - acme.sh: see 'acme-sh' (SSL-certificates)
  11. Also see 'ddclient-snap' to easily update your DNS.
  12. base: core20
  13. grade: stable
  14. confinement: strict
  15. layout:
  16. /etc/pip.conf:
  17. bind-file: $SNAP_DATA/pip.conf
  18. /etc/openzwave:
  19. bind: $SNAP/openzwave
  20. slots:
  21. components:
  22. interface: content
  23. content: components
  24. write:
  25. - $SNAP_DATA/custom_components
  26. certs:
  27. interface: content
  28. content: certs
  29. write:
  30. - $SNAP_DATA/certs
  31. configurations:
  32. interface: content
  33. write:
  34. - $SNAP_DATA/configuration.yaml
  35. - $SNAP_DATA/scenes.yaml
  36. - $SNAP_DATA/scripts.yaml
  37. - $SNAP_DATA/configurations
  38. apps:
  39. hass:
  40. command: bin/hass --config $SNAP_DATA
  41. command-chain:
  42. - bin/slot-certs
  43. daemon: simple
  44. environment:
  45. PIP_USER: 1
  46. restart-condition: always
  47. plugs:
  48. - bluez
  49. - network
  50. - network-bind
  51. - raw-usb
  52. # GPIO devices etc.. (e.g RaZberry GPIO hat)
  53. - physical-memory-control
  54. slots:
  55. - components
  56. certs-daemon:
  57. command: bin/certs-daemon
  58. daemon: oneshot
  59. restart-condition: always
  60. timer: 00:00-24:00/287
  61. slots:
  62. - certs
  63. plugs:
  64. - network
  65. - network-bind
  66. refresh-certs:
  67. command: bin/certs-daemon
  68. slots:
  69. - certs
  70. plugs:
  71. - network
  72. - network-bind
  73. hooks:
  74. prepare-slot-certs:
  75. plugs:
  76. - network
  77. - network-bind
  78. parts:
  79. homeassistant:
  80. plugin: python-wot-plugin
  81. source: https://github.com/home-assistant/core.git
  82. source-tag: ${SNAPCRAFT_PROJECT_VERSION}
  83. python-packages:
  84. - setuptools
  85. - wheel
  86. - Cython
  87. - pip
  88. build-packages:
  89. - python3
  90. - python3-dev
  91. - python3-setuptools
  92. - python3-wheel
  93. - pkg-config
  94. - autoconf
  95. - build-essential
  96. - cmake
  97. - cython3
  98. - ffmpeg
  99. - libavcodec-dev
  100. - libavdevice-dev
  101. - libavfilter-dev
  102. - libavformat-dev
  103. - libavresample-dev
  104. - libavutil-dev
  105. - libffi-dev
  106. - libglib2.0-dev
  107. - libglu1-mesa-dev
  108. - libgpiod-dev
  109. - libjpeg-dev
  110. - libopenzwave1.5-dev
  111. - libssl-dev
  112. - libswscale-dev
  113. - libudev-dev
  114. - libxml2-dev
  115. - libxslt1-dev
  116. - zlib1g-dev
  117. stage-packages:
  118. - freeglut3
  119. - ffmpeg
  120. - libglu1-mesa
  121. - zlib1g
  122. requirements:
  123. - requirements_all.txt
  124. constraints:
  125. - homeassistant/package_constraints.txt
  126. override-build: |
  127. snapcraftctl build
  128. sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' $SNAPCRAFT_PART_INSTALL/pyvenv.cfg
  129. hooks:
  130. plugin: dump
  131. source: ./scripts/hooks
  132. source-type: local
  133. stage-packages:
  134. - uuid
  135. - libossp-uuid16
  136. - libassuan0
  137. - gpg
  138. - gpg-agent
  139. organize:
  140. configure: snap/hooks/configure
  141. post-refresh: snap/hooks/post-refresh
  142. prepare-slot-certs: snap/hooks/prepare-slot-certs
  143. bins:
  144. plugin: dump
  145. source: ./scripts/bin
  146. source-type: local
  147. organize:
  148. slot-certs: bin/slot-certs
  149. certs-daemon: bin/certs-daemon
  150. config:
  151. plugin: dump
  152. source: ./scripts/config
  153. source-type: local