{% from "salt/map.jinja" import salt_settings with context %} git: pkg.installed {% if salt_settings.gitfs.pygit2.install_from_source %} # we probably don't have a package or it's not a high enough version # install latest from source/pip pygit-deps: pkg.installed: - pkgs: - build-essential - python-dev - libssh-dev - libffi-dev - cmake dl-libgit2-src: archive.extracted: - name: /usr/src - source: https://github.com/libgit2/libgit2/archive/v0.22.1.tar.gz - source_hash: md5=dbf516d18e176bbb131de3efccfee533 - archive_format: tar - keep: True - if_missing: /usr/src/libgit2-0.22.1 /usr/src/libgit2-0.22.1/_build: file.directory configure-libgit2: cmd.run: - name: cmake .. - cwd: /usr/src/libgit2-0.22.1/_build - creates: /usr/src/libgit2-0.22.1/_build/Makefile build-libgit2: cmd.run: - name: make -j4 - cwd: /usr/src/libgit2-0.22.1/_build - creates: /usr/src/libgit2-0.22.1/_build/libgit2.so install-libgit2: cmd.run: - name: make install - cwd: /usr/src/libgit2-0.22.1/_build - creates: /usr/local/lib/libgit2.so run-ldconfig-after-lib-install: cmd.run: - name: ldconfig - onchanges: - cmd: install-libgit2 install-pygit2: pip.installed: - name: pygit2 {% else %} {{ salt_settings.pygit2 }}: pkg.installed {% endif %}