Files
blender-formula/blender/init.sls
T

48 lines
1.5 KiB
Plaintext

{% from "blender/map.jinja" import blender with context %}
# 1. Download and extract directly from download.blender.org
blender_extract_tarball:
archive.extracted:
- name: {{ blender.archive_dir }}
- source: {{ blender.download_url }}
- skip_verify: True
- enforce_ownership_on: {{ blender.archive_dir }}
- options: '--strip-components=1'
- if_missing: {{ blender.archive_dir }}/blender
# Pass a modern browser User-Agent to bypass CDN bot filters
- http_headers:
User-Agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
# 2. Maintain generic symlink pointing to active version
blender_opt_symlink:
file.symlink:
- name: {{ blender.symlink_dir }}
- target: {{ blender.archive_dir }}
- force: True
- require:
- archive: blender_extract_tarball
# 3. Create CLI launcher symlink
blender_bin_symlink:
file.symlink:
- name: {{ blender.bin_dir }}/blender
- target: {{ blender.symlink_dir }}/blender
- force: True
- require:
- file: blender_opt_symlink
# 4. Deploy desktop menu shortcut
blender_desktop_entry:
file.managed:
- name: {{ blender.desktop_dir }}/blender.desktop
- source: salt://blender/templates/blender.desktop.jinja
- template: jinja
- mode: '0644'
- user: root
- group: root
- context:
version: "{{ blender.version }}"
exec_path: "{{ blender.symlink_dir }}/blender %f"
icon_path: "{{ blender.symlink_dir }}/blender.svg"
- require:
- file: blender_opt_symlink