# Description: A tiling window manager (depends only on ports from our ISO) # URL: https://i3wm.org/ # Maintainer: Juergen Daubert, jue at crux dot nu # Depends on: cmake pango xorg-xcb-util-cursor xorg-xcb-util-keysyms xorg-xcb-util-wm name=i3 version=4.19 release=1 source=(http://i3wm.org/downloads/$name-$version.tar.xz https://github.com/lloyd/yajl/archive/2.1.0/yajl-2.1.0.tar.gz http://dist.schmorp.de/libev/Attic/libev-4.33.tar.gz http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz http://xkbcommon.org/download/libxkbcommon-1.0.1.tar.xz https://github.com/Airblader/xcb-util-xrm/releases/download/v1.3/xcb-util-xrm-1.3.tar.bz2) build() { local LIBS=$SRC/$name-$version/libs install -d $LIBS/{lib,include} # xcb-util-xrm cd $SRC/xcb-util-xrm-1.3 ./configure --prefix=/ --disable-shared make make DESTDIR=$LIBS install # libxkbcommon cd $SRC/libxkbcommon-1.0.1 meson setup build . \ --prefix=/ \ --buildtype=plain \ --default-library=static \ -D enable-wayland=false \ -D enable-docs=false meson compile -C build -j ${JOBS:-1} DESTDIR=$LIBS meson install -C build # yajl cd $SRC/yajl-2.1.0 cmake -S . -B build \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_C_FLAGS_RELEASE="$CFLAGS -DNDEBUG" \ -Wno-dev cmake --build build cp -r build/yajl-2.1.0/include $LIBS cp build/yajl-2.1.0/lib/libyajl_s.a $LIBS/lib/libyajl.a cp build/yajl-2.1.0/share/pkgconfig/yajl.pc $LIBS/lib/pkgconfig # libev cd $SRC/libev-4.33 ./configure --prefix=/ --disable-shared make make DESTDIR=$LIBS install # startup-notification cd $SRC/startup-notification-0.12 sed -i '/^Libs: /s/$/ -lX11-xcb/' libstartup-notification-1.0.pc.in ./configure --prefix=/ --disable-shared make make DESTDIR=$LIBS install mv $LIBS/include/{startup-notification-1.0/libsn,libsn} # i3 cd $SRC/$name-$version export CFLAGS="$CFLAGS -I$LIBS/include" export LDFLAGS="$LDFLAGS -L$LIBS/lib" meson setup build . \ --prefix=/usr \ --sysconfdir=/usr/etc \ --buildtype=release \ --pkg-config-path="$LIBS/lib/pkgconfig" meson compile -C build -j ${JOBS:-1} DESTDIR=$PKG meson install -C build install -d $PKG/usr/share/man/man1 install -m 0644 man/*.1 $PKG/usr/share/man/man1/ rm -r $PKG/usr/share/doc }