--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/snap/snapcraft.yaml Sun Jul 31 16:43:25 2022 +0200
@@ -0,0 +1,114 @@
+name: beremiz
+version: '1.3-beta2'
+summary: Beremiz
+description: |
+ Beremiz is an integrated development environment for machine automation. It is Free Software, conforming to IEC-61131 among other standards.
+
+grade: devel
+confinement: devmode
+base: core20
+
+parts:
+
+ python-deps:
+ # This part provides all python2 dependencies, including interpreter
+ # More particularily, it builds latest PIP supporting python2 from git
+ # and uses it to collect and buid other Beremiz dependencies.
+
+ # rational:
+ # - python plugin doesn't support python2 anymore on core20+
+ # - attempts to get python2+pip+virtualenv in a core20 based snap failed
+ plugin: nil
+ source: https://github.com/pypa/pip/archive/refs/tags/20.3.4.tar.gz
+ build-packages:
+ - libssl-dev
+ - libgtk-3-dev
+ - libgl1-mesa-dev
+ - libglu1-mesa-dev
+ - python2-dev
+
+ stage-packages:
+ - python2
+ - python-setuptools
+ # libs reclaimed by snapcraft at the end of wxPython build
+ # TODO: test if still necessary since using "extensions: [gnome-3-38]"
+ - libgtk-3-0
+ - libegl1
+ - libgl1
+ - libsm6
+ - libxtst6
+
+ override-build: |
+ # For some reasons site-packages needs to be created and
+ # added to PYTHONPATH during PIP (own) build.
+ # Strangely, not anymore when snap is executed.
+ mkdir $SNAPCRAFT_PART_INSTALL/usr/lib/python2.7/site-packages
+ PYTHONPATH=$SNAPCRAFT_PART_INSTALL/usr/lib/python2.7/site-packages $SNAPCRAFT_PART_INSTALL/usr/bin/python2 $SNAPCRAFT_PART_SRC/setup.py install --prefix $SNAPCRAFT_PART_INSTALL/usr
+ PYTHONPATH=$SNAPCRAFT_PART_INSTALL/usr/lib/python2.7/site-packages $SNAPCRAFT_PART_INSTALL/usr/bin/pip install \
+ lxml \
+ future \
+ matplotlib \
+ zeroconf2 \
+ enum34 \
+ pyro \
+ sslpsk \
+ posix_spawn \
+ twisted \
+ nevow \
+ autobahn \
+ click \
+ opcua \
+ wxPython==4.1.1
+
+ beremiz:
+ # Beremiz python source + GCC toolchain
+ # source tree is expected to be just aside snap directory
+ plugin: nil
+ source: beremiz
+ source-type: local
+ stage-packages:
+ - gcc
+ - libc6
+ - libc6-dev
+ - linux-libc-dev
+ - libgcc-9-dev
+ - libgcc-s1
+
+ override-build: |
+ cp -a $SNAPCRAFT_PART_SRC $SNAPCRAFT_PART_INSTALL/beremiz
+
+ matiec:
+ # Matiec ST, SFC and IL compiler.
+ # source tree is expected to be just aside snap directory
+ plugin: nil
+ source: matiec
+ source-type: local
+ build-packages:
+ - build-essential
+ - automake
+ - flex
+ - bison
+ override-build: |
+ autoreconf -i && ./configure && make
+ cp -a $SNAPCRAFT_PART_BUILD $SNAPCRAFT_PART_INSTALL/matiec
+
+ revisiontxt:
+ # Makefile generated "revisions.txt"
+ plugin: nil
+ source: .
+ source-type: local
+ override-build: |
+ cp $SNAPCRAFT_PART_SRC/revisions.txt $SNAPCRAFT_PART_INSTALL
+
+apps:
+ ide:
+ environment:
+ SYSROOT: $SNAP
+ command: usr/bin/python2 $SNAP/beremiz/Beremiz.py
+ extensions: [gnome-3-38]
+
+ beremiz:
+ environment:
+ SYSROOT: $SNAP
+ command: usr/bin/python2 $SNAP/beremiz/Beremiz_cli.py
+