881
Comment:
|
12065
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#acl FreaknetGroup:read,write,admin,delete,revert All: | #acl FreaknetGroup:read,write,admin,delete,revert All:read |
Line 7: | Line 7: |
E' svolta. | This wiki page is just a scratchpad for now. It may become a sort of howto, who knows?!? ;) Actually, it's related to my Enlightenment installation on DEVUAN, so without systemd, pulseandio and similar bloatware :) PS: pulseaudio is now needed for bluetooth to work, so unfortunately I'm still using it, but I'm working for a replacement using ALSA and some other stuff. Stay tuned! http://devuan.org for more details on my distro without systemd bloatware! ;) Many thanks to the "e" IRC channel on Freenode for all the support I received and the patience to answer my silly questions! :) |
Line 13: | Line 21: |
http://git.enlightenment.org/ sequence: git clone git://git.enlightenment.org/core/efl.git git clone git://git.enlightenment.org/core/elementary.git git clone git://git.enlightenment.org/enlightenment.git === connman / econnman === '''connman''' isn't an E package, so apt-get install connman ! :) |
* http://git.enlightenment.org/ === BASE install === You need: {{{ apt-get install joe mc git build-essential autoconf autopoint check }}} (Yes, I use Joe as editor because I'm used to Wordstar commands since '80 ;) Any editor can work :) ) ==== BEFORE COMPILING ==== As stated in https://www.enlightenment.org/docs/distros/start : You will want to ensure the default prefix /usr/local is available to build tools. If you know what you are doing, you can change the prefix, but this here shall assume you do not, and the above prefix is used. These environment variables are used during build, so you may want to make them more permanent. {{{ export PATH=/usr/local/bin:"$PATH" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:"$PKG_CONFIG_PATH" export LD_LIBRARY_PATH=/usr/local/lib:"$LD_LIBRARY_PATH" }}} Below choose one of the following CFLAGS to use. To ensure your code is compiled with decent optimzations you should also set this up in your environment: {{{ export CFLAGS="-O3 -ffast-math -march=native" }}} Note that if you wish to compile for older architectures than your current system, please look up the compiler documentation and replace -march=native with something appropriate. If you wish decently optimized code that is still debuggable (but that optimizations may still make a little hard to debug) you can do: {{{ export CFLAGS="-O2 -ffast-math -march=native -g -ggdb3" }}} If you want a really debuggable piece of code where optimizations mess with little to nothing at all use: {{{ export CFLAGS="-O -g -ffast-math -march=native -ggdb3" }}} ===== Runtime Library Linking ===== Note the LD_LIBRARY_PATH environment variable is set. You can ensure the system always supports /usr/local/lib by editing /etc/ld.so.conf or adding a file to /etc/ld.so.conf.d and simply have a line in either file that says: {{{ /usr/local/lib }}} And remember to run sudo ldconfig tool every time you install a library to ensure caches are updated. ===== Build Order ===== For libraries (build these before applications), build them in order: {{{ efl }}} Then any further applications or tools (in any order now) such as: {{{ enlightenment terminology rage }}} etc. ==== efl ==== {{{ git clone https://git.enlightenment.org/core/efl.git }}} ''(NOTA, da dentro una dir, se devi prelevare o aggiornare efl, per dire, fai solo "git pull" E BASTA) (guarda git howto)'' Require: meson / ninja! As root: {{{ apt-get install python3-pip pip3 install meson apt install ninja-build pkg-config cmake libssl-dev libjpeg-dev zlib1g-dev libglib2.0-dev libdbus-1-dev libharfbuzz-dev libpoppler-cpp-dev libspectre-dev librsvg2-dev doxygen libssl-dev libjpeg-dev libsdl2-dev libluajit-5.1-dev libfribidi-dev libgif-dev libtiff-dev libmount-dev libblkid-dev libsndfile1-dev x11proto-print-dev libxtst-dev libbullet-dev libfreetype6-dev libfontconfig1-dev libraw-dev libxcomposite-dev libtool libtool-bin libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gnutls-dev libwebp }}} {{{ ALSO 499 apt install libinput-dev TOO OLD, COMPILE BY HAND 500 apt search libinput 501 apt install mtdev-dev 502 apt install mtdev 503 apt-file search mtdev 504 apt install libmtdev-dev 505 apt-file search mtdev 506 ./config 507 ./configure 508 apt install libevdev-dev 509 ./configure 510 apt install libwacom-dev 511 ./configure 512 make 513 MAKE INSTALL 514 make install 515 ldconfig -v 516 apt install libopenjp2-dev 517 apt install libopenjp2 518 apt search libopenjp 519 apt search libopenjp2-7-dev 520 apt install libopenjp2-7-dev 521 apt install gbm 522 apt search gbm 523 apt install libgbm-dev 524 apt search scim 525 apt install libscim-dev 526 history 527 history }}} Look at the meson_options.txt for opts to disable with -D as below! And the final step is: {{{ # CHECK IF YOU NEED Pulseaudio SHIT or not. here!\ meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false . build # -Dfb=true-Ddrm=true -Dwl=false -Dnetwork-backend=connman -Dbindings= -Dbuild-examples=false -Dbuild-tests=false # -Dopengl=es-egl ma meglio full # #define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 in src/modules/evas/engines/gl_drm/evas_engine.c ninja -C build sudo ninja -C build install sudo ldconfig }}} And that's it! BEWARE if you use that prefix, some libs will go in /usr/local/lib/x86_64-linux-gnu/ instead of /usr/lib/x86_64-linux-gnu/ but that's missing in /etc/ld.so.conf.d/somewhere, so ldconfig won't found the libraries and the following compilations will FAIL with missing lib errors! You need to add /usr/local/lib/x86_64-linux-gnu/ in /etc/ld.so.conf.d/somewhere accordingly and do ldconfig again, as root. ==== enlightenment ==== {{{ git clone http://git.enlightenment.org/core/enlightenment.git/ # I need to disable PAM here? Dunno. -Dpam=false in case? meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false . build ninja -C build sudo ninja -C build install sudo ldconfig }}} ==== Terminology ==== {{{ git clone https://git.enlightenment.org/apps/terminology.git meson . build ninja -C build sudo ninja -C build install }}} OLD: {{{ ./autogen.sh ./configure --prefix=/usr/local # but he does exactly that after autogen.sh ;) make make install }}} ==== ecrire, text editor ==== This doesn't use meson/ninja, it goes as follow: {{{ git clone https://git.enlightenment.org/apps/ecrire.git mkdir build cd build cmake .. make make install }}} everything goes into /usr/local ;) ==== eterm ==== {{{ Sudo apt install libast-dev git clone https://git.enlightenment.org/apps/eterm.git ./autogen.sh ./configure --prefix=/usr/local make sudo make install }}} ==== equate ==== this goes in /usr/local by default {{{ git clone https://git.enlightenment.org/apps/equate.git ./autogen.sh make sudo make install }}} ==== wlan monitoring module ==== {{{ git clone http://git.enlightenment.org/enlightenment/modules/wlan.git ./autogen.sh ./configure --prefix=/usr/local make sudo make install }}} ==== cpu monitor module ==== {{{ git clone http://git.enlightenment.org/enlightenment/modules/cpu.git/ ./autogen.sh ./configure --prefix=/usr/local make sudo make install }}} ==== rage ==== Some warnings here, dunno if it's ok. {{{ git clone http://git.enlightenment.org/apps/rage.git/ ./autogen.sh ninja -C build sudo ninja -C build install }}} === OLD - NOT NEEDED === ==== connman / econnman ==== |
Line 28: | Line 321: |
git clone git://git.enlightenment.org/bindings/python/python-efl.git | {{{ git clone https://git.enlightenment.org/bindings/python/python-efl.git apt-get install cython python setup.py build python setup.py install }}} |
Line 32: | Line 333: |
git clone git://git.enlightenment.org/apps/econnman.git | {{{ git clone https://git.enlightenment.org/apps/econnman.git ./autogen.sh ./configure --prefix=/usr/local --localstatedir=/var make make install }}} {{{ apt-get install intltool openconnect libgtk-3-dev libgtk-3-0 git clone https://github.com/jgke/connman-gtk.git ./autogen.sh ./configure --prefix=/usr/local make make install }}} just launch "connman-gtk" ;) '''connman''' isn't an E package, so apt-get install connman ! :) but warning, it does remove wicd! so do it when you're almost sure. apt-get autoremove will help clean out stuff. or use packages by Martinx - ジェームズ (Devuan community) {{{ ppa:martinx/enlightenment }}} ==== elementary ==== Not needed if using the EFL from git. {{{ git clone https://git.enlightenment.org/core/elementary.git }}} poi ./autogen.sh ./configure === Starting the whole thing === It's not automatic in Devuan, dunno why. I installed lightdm. Also, I had to create this: {{{ asbesto@rover:~$ cat /usr/share/xsessions/e.desktop [Desktop Entry] Version=1.0 Name=Enlightenment Comment=Use this session to run E as your desktop environment Exec=enlightenment_start Icon= Type=Application DesktopNames=Enlightenment asbesto@rover:~$ }}} and now lightdm see it as a dm. :) === Tap to click - scroll bar shit === Added into InputClass section of /usr/share/X11/xorg.conf.d/50-synaptics.conf : {{{ Option "TapButton1" "1" Option "VertEdgeScroll" "1" }}} |
Line 36: | Line 418: |
{{{ | |
Line 39: | Line 422: |
there are also other things there like the git packages we were talkin'bout... |
}}} NOTE: {{{ To disable edge flipping, open the Settings Panel, go to the Input tab, and select Edge Bindings. You can disable all the edge bindings there. If you use /usr/local: Your installation prefix is *NOT* /usr so this means you need to ensure some files are visible to dbus otherwise services cannot be started when needed. You will need to do the following: System-wide installation: ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service or add "/usr/local/share" to $XDG_DATA_DIRS User installation: ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service In case of error: ./configure: line 8396: syntax error near unexpected token `win32-dll' ./configure: line 8396: `LT_INIT(win32-dll disable-static pic-only)' do root@rover:/home/asbesto/Desktop/src/e/efl# aclocal configure.ac:276: warning: macro 'AM_GNU_GETTEXT_VERSION' not found in library configure.ac:285: warning: macro 'AM_GNU_GETTEXT' not found in library configure.ac:374: warning: macro 'AM_PATH_LIBGCRYPT' not found in library and root@rover:/home/asbesto/Desktop/src/e/efl# autoreconf -i configure.ac:285: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged. configure.ac:285: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead, configure.ac:285: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files. and try again. IT DOESNT WORK. FUCK THAT SHIT edita configure alla riga 8396 e leva la merda di riga, che non c'entra un cazzo, rilancia configure and you see that works. ma anche installa libtool e libtool-bin, root@rover:/home/asbesto/Desktop/src/e/efl# apt-get install libtool libtool-bin poi ridai questo: autoheader \ && aclocal \ && libtoolize --ltdl --copy --force \ && automake --add-missing --copy \ && autoconf \ && ./configure con tutte le tue opzioni del cazzo Those are unnecessary, graphic acceleration will be use automagically if available. --enable-fb enable raw Framebuffer access. [default=disabled] --enable-eglfs enable hardware accelerated framebuffer access. [default=disabled] --enable-drm enable drm engine. [default=disabled] --enable-gl-drm enable gl drm engine. [default=disabled] --enable-egl enable EGL rendering. [default=disabled] }}} ---- CategoryMuseo |
Enlightenment
This wiki page is just a scratchpad for now. It may become a sort of howto, who knows?!? Actually, it's related to my Enlightenment installation on DEVUAN, so without systemd, pulseandio and similar bloatware
PS: pulseaudio is now needed for bluetooth to work, so unfortunately I'm still using it, but I'm working for a replacement using ALSA and some other stuff. Stay tuned!
http://devuan.org for more details on my distro without systemd bloatware!
Many thanks to the "e" IRC channel on Freenode for all the support I received and the patience to answer my silly questions!
Install from sources
Git repo:
BASE install
You need:
apt-get install joe mc git build-essential autoconf autopoint check
(Yes, I use Joe as editor because I'm used to Wordstar commands since '80 Any editor can work )
BEFORE COMPILING
As stated in https://www.enlightenment.org/docs/distros/start :
You will want to ensure the default prefix /usr/local is available to build tools. If you know what you are doing, you can change the prefix, but this here shall assume you do not, and the above prefix is used. These environment variables are used during build, so you may want to make them more permanent.
export PATH=/usr/local/bin:"$PATH" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:"$PKG_CONFIG_PATH" export LD_LIBRARY_PATH=/usr/local/lib:"$LD_LIBRARY_PATH"
Below choose one of the following CFLAGS to use. To ensure your code is compiled with decent optimzations you should also set this up in your environment:
export CFLAGS="-O3 -ffast-math -march=native"
Note that if you wish to compile for older architectures than your current system, please look up the compiler documentation and replace -march=native with something appropriate.
If you wish decently optimized code that is still debuggable (but that optimizations may still make a little hard to debug) you can do:
export CFLAGS="-O2 -ffast-math -march=native -g -ggdb3"
If you want a really debuggable piece of code where optimizations mess with little to nothing at all use:
export CFLAGS="-O -g -ffast-math -march=native -ggdb3"
Runtime Library Linking
Note the LD_LIBRARY_PATH environment variable is set. You can ensure the system always supports /usr/local/lib by editing /etc/ld.so.conf or adding a file to /etc/ld.so.conf.d and simply have a line in either file that says:
/usr/local/lib
And remember to run sudo ldconfig tool every time you install a library to ensure caches are updated.
Build Order
For libraries (build these before applications), build them in order:
efl
Then any further applications or tools (in any order now) such as:
enlightenment terminology rage
etc.
efl
git clone https://git.enlightenment.org/core/efl.git
(NOTA, da dentro una dir, se devi prelevare o aggiornare efl, per dire, fai solo "git pull" E BASTA) (guarda git howto)
Require: meson / ninja!
As root:
apt-get install python3-pip pip3 install meson apt install ninja-build pkg-config cmake libssl-dev libjpeg-dev zlib1g-dev libglib2.0-dev libdbus-1-dev libharfbuzz-dev libpoppler-cpp-dev libspectre-dev librsvg2-dev doxygen libssl-dev libjpeg-dev libsdl2-dev libluajit-5.1-dev libfribidi-dev libgif-dev libtiff-dev libmount-dev libblkid-dev libsndfile1-dev x11proto-print-dev libxtst-dev libbullet-dev libfreetype6-dev libfontconfig1-dev libraw-dev libxcomposite-dev libtool libtool-bin libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gnutls-dev libwebp
ALSO 499 apt install libinput-dev TOO OLD, COMPILE BY HAND 500 apt search libinput 501 apt install mtdev-dev 502 apt install mtdev 503 apt-file search mtdev 504 apt install libmtdev-dev 505 apt-file search mtdev 506 ./config 507 ./configure 508 apt install libevdev-dev 509 ./configure 510 apt install libwacom-dev 511 ./configure 512 make 513 MAKE INSTALL 514 make install 515 ldconfig -v 516 apt install libopenjp2-dev 517 apt install libopenjp2 518 apt search libopenjp 519 apt search libopenjp2-7-dev 520 apt install libopenjp2-7-dev 521 apt install gbm 522 apt search gbm 523 apt install libgbm-dev 524 apt search scim 525 apt install libscim-dev 526 history 527 history
Look at the meson_options.txt for opts to disable with -D as below!
And the final step is:
# CHECK IF YOU NEED Pulseaudio SHIT or not. here!\ meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false . build # -Dfb=true-Ddrm=true -Dwl=false -Dnetwork-backend=connman -Dbindings= -Dbuild-examples=false -Dbuild-tests=false # -Dopengl=es-egl ma meglio full # #define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 in src/modules/evas/engines/gl_drm/evas_engine.c ninja -C build sudo ninja -C build install sudo ldconfig
And that's it!
BEWARE if you use that prefix, some libs will go in /usr/local/lib/x86_64-linux-gnu/ instead of /usr/lib/x86_64-linux-gnu/ but that's missing in /etc/ld.so.conf.d/somewhere, so ldconfig won't found the libraries and the following compilations will FAIL with missing lib errors!
You need to add /usr/local/lib/x86_64-linux-gnu/ in /etc/ld.so.conf.d/somewhere accordingly and do ldconfig again, as root.
enlightenment
git clone http://git.enlightenment.org/core/enlightenment.git/ # I need to disable PAM here? Dunno. -Dpam=false in case? meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false . build ninja -C build sudo ninja -C build install sudo ldconfig
Terminology
git clone https://git.enlightenment.org/apps/terminology.git meson . build ninja -C build sudo ninja -C build install
OLD:
./autogen.sh ./configure --prefix=/usr/local # but he does exactly that after autogen.sh ;) make make install
ecrire, text editor
This doesn't use meson/ninja, it goes as follow:
git clone https://git.enlightenment.org/apps/ecrire.git mkdir build cd build cmake .. make make install
everything goes into /usr/local
eterm
Sudo apt install libast-dev git clone https://git.enlightenment.org/apps/eterm.git ./autogen.sh ./configure --prefix=/usr/local make sudo make install
equate
this goes in /usr/local by default
git clone https://git.enlightenment.org/apps/equate.git ./autogen.sh make sudo make install
wlan monitoring module
git clone http://git.enlightenment.org/enlightenment/modules/wlan.git ./autogen.sh ./configure --prefix=/usr/local make sudo make install
cpu monitor module
git clone http://git.enlightenment.org/enlightenment/modules/cpu.git/ ./autogen.sh ./configure --prefix=/usr/local make sudo make install
rage
Some warnings here, dunno if it's ok.
git clone http://git.enlightenment.org/apps/rage.git/ ./autogen.sh ninja -C build sudo ninja -C build install
OLD - NOT NEEDED
connman / econnman
for econnman you need:
git clone https://git.enlightenment.org/bindings/python/python-efl.git apt-get install cython python setup.py build python setup.py install
and
git clone https://git.enlightenment.org/apps/econnman.git ./autogen.sh ./configure --prefix=/usr/local --localstatedir=/var make make install
apt-get install intltool openconnect libgtk-3-dev libgtk-3-0 git clone https://github.com/jgke/connman-gtk.git ./autogen.sh ./configure --prefix=/usr/local make make install
just launch "connman-gtk"
connman isn't an E package, so apt-get install connman ! but warning, it does remove wicd! so do it when you're almost sure. apt-get autoremove will help clean out stuff.
or use packages by Martinx - ジェームズ (Devuan community)
ppa:martinx/enlightenment
elementary
Not needed if using the EFL from git.
git clone https://git.enlightenment.org/core/elementary.git
poi ./autogen.sh ./configure
Starting the whole thing
It's not automatic in Devuan, dunno why.
I installed lightdm. Also, I had to create this:
asbesto@rover:~$ cat /usr/share/xsessions/e.desktop [Desktop Entry] Version=1.0 Name=Enlightenment Comment=Use this session to run E as your desktop environment Exec=enlightenment_start Icon= Type=Application DesktopNames=Enlightenment asbesto@rover:~$
and now lightdm see it as a dm.
Tap to click - scroll bar shit
Added into InputClass section of /usr/share/X11/xorg.conf.d/50-synaptics.conf :
Option "TapButton1" "1" Option "VertEdgeScroll" "1"
Repositories for E18/E19 ?
sudo add-apt-repository ppa:niko2040/e19 sudo apt-get update sudo apt-get install enlightenment
NOTE:
To disable edge flipping, open the Settings Panel, go to the Input tab, and select Edge Bindings. You can disable all the edge bindings there. If you use /usr/local: Your installation prefix is *NOT* /usr so this means you need to ensure some files are visible to dbus otherwise services cannot be started when needed. You will need to do the following: System-wide installation: ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service or add "/usr/local/share" to $XDG_DATA_DIRS User installation: ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service In case of error: ./configure: line 8396: syntax error near unexpected token `win32-dll' ./configure: line 8396: `LT_INIT(win32-dll disable-static pic-only)' do root@rover:/home/asbesto/Desktop/src/e/efl# aclocal configure.ac:276: warning: macro 'AM_GNU_GETTEXT_VERSION' not found in library configure.ac:285: warning: macro 'AM_GNU_GETTEXT' not found in library configure.ac:374: warning: macro 'AM_PATH_LIBGCRYPT' not found in library and root@rover:/home/asbesto/Desktop/src/e/efl# autoreconf -i configure.ac:285: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged. configure.ac:285: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead, configure.ac:285: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files. and try again. IT DOESNT WORK. FUCK THAT SHIT edita configure alla riga 8396 e leva la merda di riga, che non c'entra un cazzo, rilancia configure and you see that works. ma anche installa libtool e libtool-bin, root@rover:/home/asbesto/Desktop/src/e/efl# apt-get install libtool libtool-bin poi ridai questo: autoheader \ && aclocal \ && libtoolize --ltdl --copy --force \ && automake --add-missing --copy \ && autoconf \ && ./configure con tutte le tue opzioni del cazzo Those are unnecessary, graphic acceleration will be use automagically if available. --enable-fb enable raw Framebuffer access. [default=disabled] --enable-eglfs enable hardware accelerated framebuffer access. [default=disabled] --enable-drm enable drm engine. [default=disabled] --enable-gl-drm enable gl drm engine. [default=disabled] --enable-egl enable EGL rendering. [default=disabled]