78 lines
2.5 KiB
Plaintext
78 lines
2.5 KiB
Plaintext
# 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
|
|
}
|