snapcraft.yaml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. name: home-assistant-snap
  2. version: '2021.3.0b7'
  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. Your new installation will be available through your browser at http://localhost:8123/
  9. Please see official docs: https://git.giaever.org/joachimmg/home-assistant-snap and https://community.home-assistant.io for help on configuration etc.
  10. See `snap connections home-assistant-snap` for necessary plugs (such as access to USB etc).
  11. base: core20
  12. grade: stable
  13. confinement: strict
  14. license: Apache-2.0
  15. architectures:
  16. - build-on: amd64
  17. - build-on: arm64
  18. - build-on: armhf
  19. - build-on: ppc64el
  20. layout:
  21. /etc/pip.conf:
  22. bind-file: $SNAP_DATA/pip.conf
  23. /etc/openzwave:
  24. bind: $SNAP/openzwave
  25. plugs:
  26. bin:
  27. interface: content
  28. content: executables
  29. target: $SNAP/shared-bin
  30. slots:
  31. components:
  32. interface: content
  33. content: components
  34. write:
  35. - $SNAP_DATA/custom_components
  36. configurations:
  37. interface: content
  38. write:
  39. - $SNAP_DATA
  40. apps:
  41. home-assistant-snap:
  42. command: bin/hass --config $SNAP_DATA
  43. command-chain:
  44. - bin/plug-bin
  45. daemon: simple
  46. environment:
  47. PIP_USER: 1
  48. restart-condition: always
  49. plugs:
  50. - bluez
  51. - network
  52. - network-bind
  53. - raw-usb
  54. # GPIO devices etc.. (e.g RaZberry HAT)
  55. - physical-memory-control
  56. - removable-media
  57. slots:
  58. - components
  59. check-config:
  60. command: bin/hass --script check_config --config $SNAP_DATA -i
  61. parts:
  62. homeassistant:
  63. plugin: python #-wot-plugin
  64. source: https://github.com/home-assistant/core.git
  65. source-tag: ${SNAPCRAFT_PROJECT_VERSION}
  66. python-packages:
  67. - setuptools
  68. - wheel
  69. - Cython
  70. - pip
  71. # build-environment:
  72. # - SNAPCRAFT_PYTHON_INTERPRETER: python3.9
  73. build-packages:
  74. - python3
  75. - python3-dev
  76. - python3-setuptools
  77. - python3-wheel
  78. - pkg-config
  79. - autoconf
  80. - build-essential
  81. - cmake
  82. - cython3
  83. - ffmpeg
  84. - libavcodec-dev
  85. - libavdevice-dev
  86. - libavfilter-dev
  87. - libavformat-dev
  88. - libavresample-dev
  89. - libavutil-dev
  90. - libffi-dev
  91. - libglib2.0-dev
  92. - libglu1-mesa-dev
  93. - libgpiod-dev
  94. - libjpeg-dev
  95. - libopenzwave1.5-dev
  96. - libssl-dev
  97. - libswscale-dev
  98. - libudev-dev
  99. - libxml2-dev
  100. - libxslt1-dev
  101. - zlib1g-dev
  102. stage-packages:
  103. - freeglut3
  104. - ffmpeg
  105. - libglu1-mesa
  106. - zlib1g
  107. requirements:
  108. - requirements_all.txt
  109. constraints:
  110. - homeassistant/package_constraints.txt
  111. override-build: |
  112. snapcraftctl build
  113. sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' $SNAPCRAFT_PART_INSTALL/pyvenv.cfg
  114. hooks:
  115. plugin: dump
  116. source: ./scripts/hooks
  117. source-type: local
  118. stage-packages:
  119. - uuid
  120. organize:
  121. install: snap/hooks/install
  122. configure: snap/hooks/configure
  123. post-refresh: snap/hooks/post-refresh
  124. connect-plug-bin: snap/hooks/connect-plug-bin
  125. config:
  126. plugin: dump
  127. source: ./scripts/config
  128. source-type: local
  129. organize:
  130. plug-bin: bin/plug-bin