Differences between revisions 33 and 35 (spanning 2 versions)
Revision 33 as of 2019-10-31 17:47:38
Size: 7000
Editor: asbesto
Comment:
Revision 35 as of 2019-11-01 17:54:01
Size: 10329
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
Line 19: Line 18:
=== BASE install without hardware accelerations and amusements ===

On your system, if you're trying the git repos, you need:
=== BASE install ===

You need:
Line 27: Line 26:
(Yes, I use Joe as editor because I'm used to Wordstar commands since '80 ;) ) (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.
Line 35: Line 95:
Require: meson! Require: meson / ninja!
Line 45: Line 105:
apt install pkg-config cmake libssl-dev libjpeg-dev zlib1g-dev libglib2.0-dev libdbus-1-dev libharfbuzz-dev libpoppler-cpp-dev libspectre-dev librsvg2-dev   }}}

After a while I broke my COJONES and did this:

{{{

sudo apt-get install
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


}}}

look at the meson_options.txt for opts to disable with -D as below!
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


}}}

Look at the meson_options.txt for opts to disable with -D as below!
Line 73: Line 125:






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]


}}}


==== elementary ====

Not needed if using the EFL from git.

{{{
 git clone https://git.enlightenment.org/core/elementary.git
}}}

poi
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
meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false -Dpam=false . build

ninja -C build
sudo ninja -C build install
sudo ldconfig

}}}

==== Terminology ====

{{{

git clone https://git.enlightenment.org/apps/terminology.git
Line 171: Line 149:
./configure


==== enlightenment ====

{{{

git clone https//git.enlightenment.org/core/enlightenment.git

apt-get install libxcb1-dev libxcb-shape0-dev libxcb-keysyms1-dev

./autogen.sh

./configure --prefix=/usr/local

make
./configure --prefix=/usr/local # but he does exactly that after autogen.sh ;)
make
Line 192: Line 155:


=== Terminology ===

{{{

git clone https://git.enlightenment.org/apps/terminology.git

./autogen.sh

./configure --prefix=/usr/local # but he does exactly that after autogen.sh ;)

make

make install



=== ecrire, text editor ===

{{{
apt-get install cmake
==== ecrire, text editor ====

This doesn't use meson/ninja, it goes as follow:

{{{
Line 228: Line 174:
=== connman / econnman === ==== 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 281: Line 304:
==== elementary ====

Not needed if using the EFL from git.

{{{
 git clone https://git.enlightenment.org/core/elementary.git
}}}

poi
./autogen.sh
./configure
Line 324: Line 358:

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]


}}}


Enlightenment

light.gif

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 shit :)

http://devuan.org for more details!

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

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

Look at the meson_options.txt for opts to disable with -D as below!

And the final step is:

meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false . build
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
meson --prefix=/usr/local -Dsystemd=false -Dpulseaudio=false -Davahi=false -Dpam=false . build

ninja -C build
sudo ninja -C build install
sudo ldconfig 

Terminology

git clone https://git.enlightenment.org/apps/terminology.git
./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]


CategoryMuseo

Enlightenment (last edited 2024-03-23 16:57:54 by asbesto)