I3status requiries some libpulse that has been removed from pkgconfig cuz i dont want pulseaudio.
Now it wont let me build it...
I read wikis about setting some flags in pkg environment PULSE_CFLAGS or PULSE_LIBS but no idea.
Why am i forced to use some pulseaudio garbage because i want build i3status from source ;-(. How to remove this dependency???
libpulse is not pulseaudio
If you can't satisfy the dependencies of a package don't expect it to work, even if you were to install it by force (pacman -Sdd pkgname). If you are building a package and it is a dependency of the building process then while you are trying to compile it, it will run into errors and will not build. It is expected behavior.
Lmao isn't like libpulse for pulseaudio
why this garbage is even needed

i don't know why i m such allergic to this pulseaudio systemd stuff lol....

edit: what if there is unknown trust gpg error key during building
i tried gpg --recv-keys unknownkey
but it doesnt solve it

So i type makepkg -Csi --skippgpcheck
But not sure if it's safe.. I use asp now
asp export hedgewars
and then makepkg -Csi

Fuck if i had modern cpu i'd be running fking gentoo cuz compiling would have been damn easy
Ok i am trying to build enlightenment window manager from source

I get that:
% LC_ALL=C makepkg -Csi
==> Making package: enlightenment 0.23.1-1 (Thu Mar  5 21:37:47 2020)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found enlightenment-0.23.1.tar.xz
==> Validating source files with sha256sums...
    enlightenment-0.23.1.tar.xz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting enlightenment-0.23.1.tar.xz with bsdtar
==> Removing existing $pkgdir/ directory...
==> Starting build()...
The Meson build system
Version: 0.53.2
Source dir: /home/cynicfm/enlightenment/src/enlightenment-0.23.1
Build dir: /home/cynicfm/enlightenment/src/enlightenment-0.23.1/build
Build type: native build
Project name: enlightenment
Project version: 0.23.1
Appending CFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fvisibility=hidden'
Appending LDFLAGS from environment: ['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now']
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
Appending CFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fvisibility=hidden'
Appending LDFLAGS from environment: ['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now']
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
C compiler for the host machine: cc (gcc 9.2.1 "cc (Arch Linux 9.2.1+20200130-2) 9.2.1 20200130")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wall: YES 
Compiler for C supports arguments -W: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wshadow: YES 
Compiler for C supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES 
Compiler for C supports arguments -Wfloat-equal: YES 
Compiler for C supports arguments -Wuninitialized: YES 
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wcast-align: YES 
Compiler for C supports arguments -Wformat=2: YES 
Compiler for C supports arguments -Wno-format-y2k -Wformat-y2k: YES 
meson.build:85: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
Library intl found: NO
Header <features.h> has symbol "__UCLIBC__" : NO 
Header <features.h> has symbol "__dietlibc__" : NO 
Checking for function "setenv" : YES 
Checking for function "unsetenv" : YES 
Checking for function "clearenv" : YES 
Has header "features.h" : YES 
Has header "sys/ptrace.h" : YES 
Has header "arpa/inet.h" : YES 
Has header "netinet/in.h" : YES 
Has header "execinfo.h" : YES 
Has header "fnmatch.h" : YES 
Checking for function "fnmatch" : YES 
Has header "CFBase.h" : NO 
Has header "security/pam_appl.h" : YES 
Library pam found: YES
Library m found: YES
Library dl found: YES
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Run-time dependency bluez found: YES 5.52
Found CMake: /usr/bin/cmake (3.16.4)
Appending CXXFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fno-plt'
Appending LDFLAGS from environment: ['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now']
Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2'
Run-time dependency systemd found: NO (tried pkgconfig and cmake)

meson.build:220:4: ERROR: Dependency "systemd" not found, tried pkgconfig and cmake

A full log can be found at /home/cynicfm/enlightenment/src/enlightenment-0.23.1/build/meson-logs/meson-log.txt
==> ERROR: A failure occurred in build().
    Aborting...
It's a little bit more complicated that you're expect :/
Let me explain how to accomplish this.

You need first to rebuild efl package which is the library for enlightenment DE. Efl package depend and was built with systemd support. Yes, i know, the dependency of systemd was not declared at the efl PKGBUILD. This is because Arch dev consider systemd as a mandatory package on their distro (this is logical or not depending of the point of view). A lot of package in Arch have a hard dependency on systemd without be explicitly declared on the PKGBUILD.

Anyway, retrieve the PKGBUILD of efl and ask to makepkg to prepare the build without building it
% makepkg -o
This will create the src/ directory.
Now in src/efl-1.23.2 you can find a file named meson_options.txt. This file contain all the flags that can be used to configure the efl package at build time.
Look into it and you will see a statement like:
option('systemd',
  type : 'boolean',
  value : true,
  description : 'Systemd support in efl'
)
So by default (value : true), the build supports systemd.
You can see a lot of options in this file, like the support of avahi, pulseaudio and so on. Take a look at each one and choose what you want. Maybe the majority of the options means nothing for you. A good packager should know every options of a package to build and understand the link between each option and the interaction with the system. Building a package it's easy, understand the build is not. That's why a good packager is not obvious to found :).
Anyway, now open your efl PKGBUILD and add to the build() function the flag that you want to use like this:
build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  export CFLAGS="$CFLAGS -fvisibility=hidden"

  if [ -d build ]; then
    rm -rf build
  fi
  mkdir -p build

  meson --prefix=/usr \
    -Dfb=true \
    -Ddrm=true \
    -Dwl=true \
    -Dnetwork-backend=connman \
    -Devas-loaders-disabler=json \
    -Dbindings= \
    -Dbuild-examples=false \
    -Dbuild-tests=false \
    -Decore-imf-loaders-disabler= \
    -Dsystemd=false \
    . build

  ninja -C build

  cd build/doc
  doxygen
}
I ask to not support systemd at the build by the sentence -Dsystemd=false . Be really careful how to write this sentence. You mustn't have any extra character after the anti-slash ('\') character even a space. If not, the build will cratch.
Well, you are ready to build it
% makepkg -Csri
Note: if you build multiple time the same package do not forgot to use the -C options to makepkg. This allow makepkg to destroy the build directory and remake the thing from the scratch.

Ok, all is good? you can now build the enlightenment package
This is the same manner to process.
Ask to makepkg to prepare the build
% makepkg -o
Open the meson_options.txt file and look what you want as flag and modify the PKGBUILD according to your needs. for example:
build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  export CFLAGS="$CFLAGS -fvisibility=hidden"

  if [ -d build ]; then
    rm -f build
  fi
  mkdir build
  meson --prefix=/usr \
    -Dwl=true \
    -Dsystemd=false \
    . build

  ninja -C build
  }
Build it
% makepkg -Csri
You're are done.

Welcome to the packager club :p
i3status do not provide option to build it without the support of libpulse :/. No choice here.
Hey thank you for your time...

I have built efl with disabled avahi, pulseaudio and systemd.
And also enlightenment with systemd disabled

But now there is something else..
$ enlightenment_start
dbus-daemon[1420]: Failed to start message bus: "XDG_RUNTIME_DIR" is not set
EOF in dbus-launch reading address from bus daemon
I really have no idea what dbus is
okey i messed things up...

i type 66-enable dbus-session@ myusername
66-enable: fatal: unable to find the current tree. You must use -t options.

I am clueless too... I tried to locale /home/.66 one or /run/1000 but i have no luck i dont get this 66 service completely
Just pay attention to # for root commands and % for user commands and also when you create the tree and enable it use -S to start it or 66-all to start a tree you created already. Otherwise /run/66/tree/1000 will not exist.
Also oblive and eric should be substituted with your own user name
If you set it right on next boot everything will work fine.

Note: a system wide dbus running and one run just for the user are separate services. I don't know if and how the two communicate.
Stil the same error ;/
 % 66-enable dbus-session@ cynicfm
66-enable: fatal: unable to find the current tree. You must use -t options
i have no idea what to put after -t, seems like location of the tree

sddm loads fine but enlightenment won't cuz of dbus
did you create a user tree? When you use 66-enable the service is enabled on the current tree (if you have many), this is what the -c option stands for when you create a new tree (% 66-tree -nc usertree), if you only have one tree for user that is also current, you should also use E option (-ncE) if you want it enabled when you log in.

If you don't have a current tree or any tree at all,
66-enable: fatal: unable to find the current tree. You must use -t options
you get this error message.
If you look at the JWM live there is a user tree called graphics (or something like that). As a user % 66-intree will tell you what user trees you have, % sudo 66-intree will show you system/root trees and services.

If you create a tree called i3 % 66-tree -nE i3 but you have other trees active and a different one as current, you need to specify the tree you want the service to be active.
% 66-enable -t i3 dbus-session@ cynicfm
It doesn't matter what name you give the tree, I used i3 as an example.
Ok, i have done it...

I typed 66-enable -t boot-user dbus-session@ nickname :-)

that has done it ;). Now i can use enlightenment ;-)
thanks for your time @ eric and @ fungal ;)

I mark it as solved like they do on arch forums
eric wroteA good packager should know every options of a package to build and understand the link between each option and the interaction with the system.
Disabling redhat lameware like avahi, pulseaudio systemd is enough for my basic needs ;). i have done it with esl

thnx
See, Obarun is the gateway, like a wormhole, through it you begin to see the light.
Well, i messed things up... That caused frustration...
So i had wiped whole hdd again and reinstalled obarun minimal... Now i use everything binary and lxde... Everything is 100% perfect
For example after i built enlightenment during obarun boot i had some give root password for mainteinance or press ctrl d to continue during boot...
On lxde i had no icons... Too much trouble...

Powered by Obarun