1SUMMARY = "F Virtual Window Manager "
2HOMEPAGE = "http://www.fvwm.org/"
3SECTION = "x11/wm"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388"
6
7DEPENDS = " \
8    bison-native \
9    flex-native \
10    freetype-native \
11    gettext-native \
12    libxslt-native \
13    fontconfig \
14    libice \
15    libpng \
16    librsvg \
17    libsm \
18    libxau \
19    libxcb \
20    libxcursor \
21    libxdmcp \
22    libxext \
23    libxfixes \
24    libxft \
25    libxinerama \
26    libxml2 \
27    libxrender \
28    libxt \
29    virtual/libx11 \
30    xrandr \
31    zlib \
32"
33
34SRC_URI = " \
35    git://github.com/fvwmorg/fvwm.git;protocol=https;branch=master \
36    file://0001-Fix-compilation-for-disabled-gnome.patch \
37    file://0001-configure-Do-not-require-support-for-implicit-ints.patch \
38    file://0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch \
39    file://0003-configure-Further-defang-the-Werror-check.patch \
40"
41
42SRCREV = "7baf540e56fb1a3e91752acba872a88543529d46"
43
44S = "${WORKDIR}/git"
45
46inherit autotools gettext update-alternatives pkgconfig python3native perlnative features_check
47# depends on virtual/libx11
48REQUIRED_DISTRO_FEATURES = "x11"
49
50ALTERNATIVE:${PN} = "x-window-manager"
51ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
52ALTERNATIVE_PRIORITY[x-window-manager] = "20"
53
54EXTRA_OECONF = " \
55    --disable-bidi \
56    --disable-fontconfigtest \
57    --disable-htmldoc \
58    --disable-imlibtest \
59    --disable-nls \
60    --disable-perllib \
61    --disable-rsvg \
62    --disable-shape \
63    --disable-sm \
64    --disable-xfttest \
65    --with-imlib-exec-prefix=/nonexistent \
66    --with-imlib-prefix=/nonexistent \
67    --without-ncurses-library \
68    --without-readline-library \
69    --without-rplay-library \
70    --without-stroke-library \
71    --without-termcap-library \
72    --without-xpm-library \
73    ac_cv_func_mkstemp=no \
74    has_safety_mkstemp=yes \
75    ac_cv_path_FVWM_CPP=cpp \
76    ac_cv_path_PERL=perl \
77"
78
79# show the exact commands in the log file
80EXTRA_OEMAKE = " \
81    V=1 \
82"
83# clang treats them as errors by default now starting with 15.0+
84CFLAGS += "-Wno-error=int-conversion -Wno-error=implicit-int"
85
86do_install:append() {
87    install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
88    # You can install the config file here
89
90    install -d -m 0755 ${D}/${datadir}/fvwm
91    touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
92    sed -i -e 's:${STAGING_BINDIR_NATIVE}/perl-native/perl:${USRBINPATH}/env perl:g' ${D}${bindir}/fvwm-*
93    sed -i -e 's:${STAGING_BINDIR_NATIVE}/perl-native/perl:${USRBINPATH}/env perl:g' ${D}${libexecdir}/fvwm/*/Fvwm*
94    sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/fvwm-menu-desktop
95    sed -i -e 's:${WORKDIR}::g' ${D}${bindir}/fvwm-bug
96}
97
98# the only needed packages (note: locale packages are automatically generated
99# as well)
100PACKAGES = " \
101    ${PN} \
102    ${PN}-extra \
103    ${PN}-doc \
104    ${PN}-dbg \
105"
106
107# minimal set of binaries
108FILES:${PN} = " \
109    ${bindir}/fvwm \
110    ${bindir}/fvwm-root \
111    ${datadir}/fvwm/ConfigFvwmDefaults \
112"
113
114FILES:${PN}-extra = " \
115    ${bindir} \
116    ${libexecdir} \
117    ${sysconfdir}/xdg/fvwm \
118"
119FILES:${PN}-doc = " \
120    ${mandir} \
121    ${datadir}/fvwm \
122"
123RDEPENDS:${PN} = " \
124    xuser-account \
125"
126RDEPENDS:${PN}-extra += "\
127    perl \
128    python3-core \
129"
130