# HG changeset patch # User Edouard Tisserant # Date 1659796777 -7200 # Node ID a95b2fa896e9d7ca3dde4145dd9551929451888c # Parent 1088ce57d3c9092a73df90c2e01886eee02ac8fc SNAP: add SVGHMI and OPC-UA dependencies diff -r 1088ce57d3c9 -r a95b2fa896e9 Makefile --- a/Makefile Sun Jul 31 17:54:19 2022 +0200 +++ b/Makefile Sat Aug 06 16:39:37 2022 +0200 @@ -51,7 +51,7 @@ include $(src)/$(DIST).mk endif -OWN_PROJECTS=beremiz matiec $(OWN_PROJECTS_EX) +OWN_PROJECTS=beremiz matiec canfestival define get_revision $(1)_revision?=$(lastword $(shell grep $(1) $(src)/revisions.txt)) @@ -83,6 +83,16 @@ own_sources: $(foreach project,$(OWN_PROJECTS), sources/$(project)_src) touch $@ +all_sources: own_sources sources/open62541_src + touch $@ + +sources/open62541_src: + rm -rf sources/open62541 + $(call get_src_http,https://github.com/open62541/open62541/archive/refs/tags,v1.3.2.tar.gz)\ + tar -xzf $$dld + mv open62541-1.3.2 sources/open62541 + + define show_revision_details echo -n $(1) "revision is: "; hg -R $(HGROOT)/$(1) id -r $($(1)_revisionid); endef diff -r 1088ce57d3c9 -r a95b2fa896e9 snap.mk --- a/snap.mk Sun Jul 31 17:54:19 2022 +0200 +++ b/snap.mk Sat Aug 06 16:39:37 2022 +0200 @@ -2,13 +2,10 @@ main_target: Snap -OWN_PROJECTS_EX=canfestival - tar_opts=--absolute-names --exclude=.hg --exclude=.git --exclude=.*.pyc --exclude=.*.swp Snap: snap_built -snap_built: own_sources revisions.txt - #cp -a $(src)/snap $(src)/revisions.txt sources +snap_built: all_sources revisions.txt tar -C $(src) $(tar_opts) -c snap revisions.txt | tar -C sources -x cd sources; snapcraft --debug touch $@ diff -r 1088ce57d3c9 -r a95b2fa896e9 snap/gui/beremiz.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/snap/gui/beremiz.desktop Sat Aug 06 16:39:37 2022 +0200 @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=Beremiz IDE +Comment=IEC-61131 Open Source PLC programming +Exec=beremiz.ide %f +Icon=${SNAP}/meta/gui/beremiz.png diff -r 1088ce57d3c9 -r a95b2fa896e9 snap/gui/beremiz.png Binary file snap/gui/beremiz.png has changed diff -r 1088ce57d3c9 -r a95b2fa896e9 snap/snapcraft.yaml --- a/snap/snapcraft.yaml Sun Jul 31 17:54:19 2022 +0200 +++ b/snap/snapcraft.yaml Sat Aug 06 16:39:37 2022 +0200 @@ -2,7 +2,9 @@ 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. + Beremiz is Free and Open Source PLC. It brings Free Software IDE (GPL) and Runtime (LGPL) for machine automation, conforming to IEC-61131. +# TODO icon + grade: devel confinement: devmode @@ -14,10 +16,11 @@ # 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: @@ -30,34 +33,35 @@ 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. + # Apparently 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 \ + 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 \ + msgpack_python \ + u-msgpack-python \ + zeroconf2 \ + enum34 \ + pyro \ + sslpsk \ + posix_spawn \ + twisted \ + nevow \ + autobahn \ + click \ + opcua \ + pycountry \ + fonttools \ + Brotli \ wxPython==4.1.1 beremiz: @@ -73,7 +77,6 @@ - linux-libc-dev - libgcc-9-dev - libgcc-s1 - override-build: | cp -a $SNAPCRAFT_PART_SRC $SNAPCRAFT_PART_INSTALL/beremiz @@ -91,7 +94,30 @@ override-build: | autoreconf -i && ./configure && make cp -a $SNAPCRAFT_PART_BUILD $SNAPCRAFT_PART_INSTALL/matiec + + open62541: + plugin: nil + source: open62541 + source-type: local + build-packages: + - build-essential + - cmake + override-build: | + mkdir build && cd build && cmake .. && make + cp -a $SNAPCRAFT_PART_BUILD $SNAPCRAFT_PART_INSTALL/open62541 + inkscape: + # CLI only, used in SVGHMI build + # GUI fails to launch couldn't find a way + plugin: nil + stage-packages: + - inkscape + - libgtk-3-0 + # libgtk3 needs to be explicitely given + # otherwise wxGtk doesn't start, with this error : + # libgtk-3.so.0: undefined symbol: pango_font_family_get_face + # ... why ? + revisiontxt: # Makefile generated "revisions.txt" plugin: nil @@ -102,13 +128,20 @@ apps: ide: + # Launcher for the IDE environment: SYSROOT: $SNAP command: usr/bin/python2 $SNAP/beremiz/Beremiz.py extensions: [gnome-3-38] beremiz: + # Beremiz Command Line interface environment: SYSROOT: $SNAP command: usr/bin/python2 $SNAP/beremiz/Beremiz_cli.py - + + runtime: + # Standalone runtime + environment: + SYSROOT: $SNAP + command: usr/bin/python2 $SNAP/beremiz/Beremiz_service.py diff -r 1088ce57d3c9 -r a95b2fa896e9 win32.mk --- a/win32.mk Sun Jul 31 17:54:19 2022 +0200 +++ b/win32.mk Sat Aug 06 16:39:37 2022 +0200 @@ -4,8 +4,6 @@ include $(src)/windows_installer.mk -OWN_PROJECTS_EX=canfestival - ide_targets_from_dist: canfestival touch $@