VincentWei / MiniGUI

A modern and mature cross-platform window system for embedded systems and smart IoT devices.
http://www.minigui.com
GNU General Public License v3.0
676 stars 157 forks source link

Arch Linux 下编译 MiniGUI 失败 #119

Open taotieren opened 1 year ago

taotieren commented 1 year ago

minigui-git PKGBUILD

# Contributor: taotieren <admin@taotieren.com>

pkgname=minigui-git
pkgver=5.0.11.r12.g0d1f1f02
pkgrel=1
pkgdesc="A modern and proven cross-platform window system for embedded systems or smart IoT devices."
arch=('any')
url="https://github.com/VincentWei/MiniGUI"
license=('GPLv3')
provides=(${pkgname%-git})
conflicts=(${pkgname%-git})
#replaces=(${pkgname})
depends=(
# chipmunk
        freetype2
        harfbuzz
        libdrm
        libevdev
        libjpeg-turbo
        libinput
        libpng
        kmod
        mtdev
        util-linux
        sqlite
        systemd
        pkgconf
        zlib)
optdepends=()
makedepends=(git
            cmake
            ninja)
backup=()
options=('!strip')
#install=${pkgname}.install
source=("${pkgname}::git+${url}.git")
sha256sums=('SKIP')

pkgver() {
    cd "${srcdir}/${pkgname}"
    git describe --long --tags | sed 's/ver-//g;s/\([^-]*-g\)/r\1/;s/-/./g'
}

build() {
    cd "${srcdir}/${pkgname}"

# see:https://wiki.archlinux.org/title/CMake_package_guidelines
#     cmake -DCMAKE_BUILD_TYPE=Release \
    cmake -DCMAKE_BUILD_TYPE=None \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DCMAKE_INSTALL_LIBEXECDIR=lib \
        -B build \
        -G Ninja

    ninja -C build
}

package() {
    DESTDIR="${pkgdir}" ninja -C "${srcdir}"/${pkgname}/build install
}

build log

minigui-git on  master [?] took 14s 
❯ extra-x86_64-build
:: Synchronizing package databases...
 core downloading...
 extra downloading...
:: Starting full system upgrade...
 there is nothing to do
==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> [taotieren]...done
==> 正在创建软件包:minigui-git 5.0.11.r12.g0d1f1f02-1 (2023年06月18日 星期日 21时43分40秒)
==> 获取源代码...
  -> 正在升级 minigui-git git 仓库...
==> 正在验证 source 文件,使用sha256sums...
    minigui-git ... 已跳过==> Making package: minigui-git 5.0.11.r12.g0d1f1f02-1 (Sun Jun 18 21:43:47 2023)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: harfbuzz will be installed before its freetype2 dependency

Package (28)                 New Version  Net Change  Download Size

core/argon2                  20190702-5     0.10 MiB               
core/cryptsetup              2.6.1-3        2.66 MiB               
core/dbus                    1.14.8-1       0.89 MiB       0.30 MiB
core/device-mapper           2.03.21-1      0.75 MiB               
extra/graphite               1:1.3.14-3     0.20 MiB               
core/hwdata                  0.371-1        8.77 MiB               
core/iptables                1:1.8.9-1      2.38 MiB               
core/kbd                     2.6.0-1        3.13 MiB       1.23 MiB
extra/libgudev               237-2          0.39 MiB               
core/libmnl                  1.0.5-1        0.03 MiB               
core/libnetfilter_conntrack  1.0.9-1        0.15 MiB               
core/libnfnetlink            1.0.2-1        0.04 MiB               
core/libnftnl                1.2.5-1        0.24 MiB               
core/libnl                   3.7.0-3        2.08 MiB               
core/libpcap                 1.10.4-1       0.63 MiB               
extra/libpciaccess           0.17-1         0.06 MiB               
extra/libwacom               2.7.0-1        0.70 MiB       0.11 MiB
core/popt                    1.19-1         0.23 MiB               
extra/freetype2              2.13.0-1       1.68 MiB               
extra/harfbuzz               7.3.0-1        3.72 MiB               
core/kmod                    30-3           0.28 MiB               
extra/libdrm                 2.4.115-1      1.18 MiB               
extra/libevdev               1.13.1-1       0.25 MiB               
extra/libinput               1.23.0-1       1.08 MiB       0.28 MiB
extra/libjpeg-turbo          2.1.5.1-1      1.90 MiB               
extra/libpng                 1.6.39-1       0.57 MiB               
extra/mtdev                  1.1.6-2        0.05 MiB       0.02 MiB
core/systemd                 253.5-1       28.61 MiB               

Total Download Size:    1.93 MiB
Total Installed Size:  62.74 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 kbd-2.6.0-1-x86_64 downloading...
 dbus-1.14.8-1-x86_64 downloading...
 libinput-1.23.0-1-x86_64 downloading...
 libwacom-2.7.0-1-x86_64 downloading...
 mtdev-1.1.6-2-x86_64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing graphite...
Optional dependencies for graphite
    graphite-docs: Documentation
installing harfbuzz...
Optional dependencies for harfbuzz
    harfbuzz-utils: utilities
installing libpng...
installing freetype2...
installing libpciaccess...
installing libdrm...
installing libevdev...
installing libjpeg-turbo...
Optional dependencies for libjpeg-turbo
    java-runtime>11: for TurboJPEG Java wrapper
installing mtdev...
installing device-mapper...
installing popt...
installing argon2...
installing cryptsetup...
installing dbus...
installing libmnl...
installing libnftnl...
installing libnl...
installing libpcap...
installing libnfnetlink...
installing libnetfilter_conntrack...
installing iptables...
installing kbd...
installing kmod...
installing hwdata...
installing systemd...
warning: directory permissions differ on /var/log/journal/
filesystem: 755  package: 2755
Creating group 'sys' with GID 3.
Creating group 'mem' with GID 8.
Creating group 'ftp' with GID 11.
Creating group 'mail' with GID 12.
Creating group 'log' with GID 19.
Creating group 'smmsp' with GID 25.
Creating group 'proc' with GID 26.
Creating group 'games' with GID 50.
Creating group 'lock' with GID 54.
Creating group 'network' with GID 90.
Creating group 'floppy' with GID 94.
Creating group 'scanner' with GID 96.
Creating group 'power' with GID 98.
Creating group 'nobody' with GID 65534.
Creating group 'adm' with GID 999.
Creating group 'wheel' with GID 998.
Creating group 'utmp' with GID 997.
Creating group 'audio' with GID 996.
Creating group 'disk' with GID 995.
Creating group 'input' with GID 994.
Creating group 'kmem' with GID 993.
Creating group 'kvm' with GID 992.
Creating group 'lp' with GID 991.
Creating group 'optical' with GID 990.
Creating group 'render' with GID 989.
Creating group 'sgx' with GID 988.
Creating group 'storage' with GID 987.
Creating group 'tty' with GID 5.
Creating group 'uucp' with GID 986.
Creating group 'video' with GID 985.
Creating group 'users' with GID 984.
Creating group 'systemd-journal' with GID 983.
Creating group 'rfkill' with GID 982.
Creating group 'bin' with GID 1.
Creating user 'bin' (n/a) with UID 1 and GID 1.
Creating group 'daemon' with GID 2.
Creating user 'daemon' (n/a) with UID 2 and GID 2.
Creating user 'mail' (n/a) with UID 8 and GID 12.
Creating user 'ftp' (n/a) with UID 14 and GID 11.
Creating group 'http' with GID 33.
Creating user 'http' (n/a) with UID 33 and GID 33.
Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534.
Creating group 'dbus' with GID 81.
Creating user 'dbus' (System Message Bus) with UID 81 and GID 81.
Creating group 'systemd-coredump' with GID 981.
Creating user 'systemd-coredump' (systemd Core Dumper) with UID 981 and GID 981.
Creating group 'systemd-network' with GID 980.
Creating user 'systemd-network' (systemd Network Management) with UID 980 and GID 980.
Creating group 'systemd-oom' with GID 979.
Creating user 'systemd-oom' (systemd Userspace OOM Killer) with UID 979 and GID 979.
Creating group 'systemd-journal-remote' with GID 978.
Creating user 'systemd-journal-remote' (systemd Journal Remote) with UID 978 and GID 978.
Creating group 'systemd-resolve' with GID 977.
Creating user 'systemd-resolve' (systemd Resolver) with UID 977 and GID 977.
Creating group 'systemd-timesync' with GID 976.
Creating user 'systemd-timesync' (systemd Time Synchronization) with UID 976 and GID 976.
Creating group 'tss' with GID 975.
Creating user 'tss' (tss user for tpm2) with UID 975 and GID 975.
Creating group 'uuidd' with GID 68.
Creating user 'uuidd' (n/a) with UID 68 and GID 68.
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /usr/lib/systemd/system/getty@.service.
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /usr/lib/systemd/system/remote-fs.target.
Optional dependencies for systemd
    libmicrohttpd: systemd-journal-gatewayd and systemd-journal-remote
    quota-tools: kernel-level quota management
    systemd-sysvcompat: symlink package to provide sysvinit binaries
    systemd-ukify: combine kernel and initrd into a signed Unified Kernel Image
    polkit: allow administration as unprivileged user
    python: Unified Kernel Image with ukify
    curl: systemd-journal-upload, machinectl pull-tar and pull-raw [installed]
    gnutls: systemd-journal-gatewayd and systemd-journal-remote [installed]
    libbpf: support BPF programs
    libfido2: unlocking LUKS2 volumes with FIDO2 token
    libp11-kit: support PKCS#11 [installed]
    tpm2-tss: unlocking LUKS2 volumes with TPM2 [installed]
installing libgudev...
installing libwacom...
Optional dependencies for libwacom
    python-libevdev: for libwacom-show-stylus
    python-pyudev: for libwacom-show-stylus
installing libinput...
Optional dependencies for libinput
    gtk4: libinput debug-gui
    python-pyudev: libinput measure
    python-libevdev: libinput measure
:: Running post-transaction hooks...
(1/9) Creating system user accounts...
(2/9) Updating journal message catalog...
(3/9) Reloading system manager configuration...
  Skipped: Current root is not booted.
(4/9) Updating udev hardware database...
(5/9) Applying kernel sysctl settings...
  Skipped: Current root is not booted.
(6/9) Creating temporary files...
(7/9) Reloading device manager configuration...
  Skipped: Device manager is not running.
(8/9) Arming ConditionNeedsUpdate...
(9/9) Reloading system bus configuration...
  Skipped: Current root is not booted.
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Package (11)              New Version  Net Change

extra/hicolor-icon-theme  0.17-3         0.05 MiB
extra/jsoncpp             1.9.5-2        0.73 MiB
core/libnsl               2.0.0-3        0.07 MiB
extra/libuv               1.44.2-1       0.55 MiB
extra/perl-error          0.17029-4      0.04 MiB
extra/perl-mailtools      2.21-6         0.11 MiB
extra/perl-timedate       2.33-4         0.08 MiB
extra/rhash               1.4.3-1        0.32 MiB
extra/cmake               3.26.4-1      66.69 MiB
extra/git                 2.41.0-1      38.57 MiB
extra/ninja               1.11.1-3       0.35 MiB

Total Installed Size:  107.56 MiB

:: Proceed with installation? [Y/n] 
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing git...
Optional dependencies for git
    tk: gitk and git gui
    perl-libwww: git svn
    perl-term-readkey: git svn and interactive.singlekey setting
    perl-io-socket-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    perl-mediawiki-api: git mediawiki support
    perl-datetime-format-iso8601: git mediawiki support
    perl-lwp-protocol-https: git mediawiki https support
    perl-cgi: gitweb (web interface) support
    python: git svn & git p4
    subversion: git svn
    org.freedesktop.secrets: keyring credential helper
    libsecret: libsecret credential helper [installed]
installing hicolor-icon-theme...
installing jsoncpp...
Optional dependencies for jsoncpp
    jsoncpp-doc: documentation
installing libnsl...
installing libuv...
installing rhash...
installing cmake...
Optional dependencies for cmake
    qt6-base: cmake-gui
installing ninja...
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
Creating group 'git' with GID 974.
Creating user 'git' (git daemon user) with UID 974 and GID 974.
(2/4) Reloading system manager configuration...
  Skipped: Current root is not booted.
(3/4) Arming ConditionNeedsUpdate...
(4/4) Warn about old perl modules
==> Retrieving sources...
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
  -> Creating working copy of minigui-git git repo...
Cloning into 'minigui-git'...
done.
==> Starting pkgver()...
==> Starting build()...
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Find PTHREAD include in /usr/include
-- Find PTHREAD library in /usr/lib/libpthread.a
-- Performing Test _compile_ret
-- Performing Test _compile_ret - Success
-- Looking for include file alloca.h
-- Looking for include file alloca.h - found
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Looking for include file math.h
-- Looking for include file math.h - found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file ndir.h
-- Looking for include file ndir.h - not found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file sys/dir.h
-- Looking for include file sys/dir.h - found
-- Looking for include file sys/ndir.h
-- Looking for include file sys/ndir.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file termio.h
-- Looking for include file termio.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for time
-- Looking for time - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for mktime
-- Looking for mktime - found
-- Looking for localtime
-- Looking for localtime - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for getpt
-- Looking for getpt - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for setlocale
-- Looking for setlocale - found
-- Looking for vprintf
-- Looking for vprintf - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Checking for module 'libpng'
--   Found libpng, version 1.6.39
-- Find JPEG include in /usr/include
-- Find JPEG library in /usr/lib/libjpeg.so
=============================================
MiniGUI Version :  3.0.13
Run mode        :  Threads
OS Name         :  linux
Target board    :  unknown
Library type    :   Dynamic
=============================================

*********************************************
* license-management
*********************************************
* Enabled:
    splash screensaver

* Disabled:
    productid

*********************************************
* gal
*********************************************
* Enabled:
    fbcon dummy pcxvfb

* Disabled:
    dfb qvfb wvfb commlcd shadow mlshadow em85xxosd em85xxyuv em86gfx svpxxosd bf533
    mb93493 utpmc nexus s3c6410 custom sigma8654 mstar hi3560a gdl ST7167 STGFB rtosxvfb
    hi35xx

*********************************************
* ial
*********************************************
* Enabled:
    dummy console dlcustom consoleps2 consoleimps2 consolems consolems3 consoletextmode

* Disabled:
    custom net ciscotouchpad mstar ipaqh3600 nexus ipaqh5400 tslib auto random comm
    qvfb qemu wvfb jz4740 lide 2440 davinci6446 dfb consolegpm

*********************************************
* look and feel renderer
*********************************************
* Enabled:
    flat skin

* Disabled:
   (null)

*********************************************
* control
*********************************************
* Enabled:
    static button sledit bidisledit listbox progressbar newtoolbar trackbar combobox
    propsheet scrollview monthcal treeview spinbox coolbar listview iconview animation
    scrollbar newtextedit textedit menubutton

* Disabled:
    treeviewrdr gridview

*********************************************
* charset
*********************************************
* Enabled:
    latin2support latin3support latin4support latin5support latin6support latin7support
    latin8support latin9support latin10support cyrillicsupport arabicsupport greeksupport
    hebrewsupport thaisupport gbsupport gbksupport big5support euckrsupport eucjpsupport
    shiftjissupport

* Disabled:
    gb18030support

*********************************************
* font
*********************************************
* Enabled:
    bmpfsupport upfsupport rbfsupport vbfsupport unicodesupport

* Disabled:
    qpfsupport sefsupport ttfenablecache ttfgrayadjust

*********************************************
* incorefont
*********************************************
* Enabled:
    rbfvgaoem rbfterminal rbffixedsys sserif courier system times

* Disabled:
   (null)

*********************************************
* image
*********************************************
* Enabled:
    gifsupport pngsupport jpgsupport

* Disabled:
    pcxsupport lbmsupport tgasupport

*********************************************
* keyboard-layout
*********************************************
* Enabled:
   (null)

* Disabled:
    hebrewpc arabicpc frpc fr de delatin1 it es escp850

*********************************************
* misc
*********************************************
* Enabled:
    dblclk savebitmap aboutdlg savescreen havemenu haveclipboard havecursor havefixedmath
    havemousecalibrate haveadv2dapi

* Disabled:
    debug miniguientry incoreres useownmalloc useownstdio useownpthread havetracemsg
    havemsgstr

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!
!! WARNING
!!
!!
!! Product ID is *DISABLE*
!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-- Configuring done (5.5s)
CMake Error at src/CMakeLists.txt:106 (add_library):
  Cannot find source file:

    misc/listenfd.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc

CMake Error at src/CMakeLists.txt:106 (add_library):
  No SOURCES given to target: _ths

CMake Generate step failed.  Build files cannot be regenerated correctly.
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/taotieren/build
taotieren commented 1 year ago
❯ makepkg -sf
==> 正在创建软件包:minigui-git 5.0.11.r12.g0d1f1f02-1 (2023年06月28日 星期三 21时04分33秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系==> 获取源代码...
  -> 正在升级 minigui-git git 仓库...
==> 正在验证 source 文件,使用sha256sums...
    minigui-git ... 已跳过==> 正在释放源码...
  -> 正在建立 minigui-git git 仓库的拷贝...
正克隆到 'minigui-git'...
完成。==> 正在开始 pkgver()...
==> 正在开始 build()...
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Find PTHREAD include in /usr/include
-- Find PTHREAD library in /usr/lib/libpthread.a
-- Performing Test _compile_ret
-- Performing Test _compile_ret - Success
-- Looking for include file alloca.h
-- Looking for include file alloca.h - found
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Looking for include file math.h
-- Looking for include file math.h - found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file ndir.h
-- Looking for include file ndir.h - not found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file sys/dir.h
-- Looking for include file sys/dir.h - found
-- Looking for include file sys/ndir.h
-- Looking for include file sys/ndir.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file termio.h
-- Looking for include file termio.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for time
-- Looking for time - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for mktime
-- Looking for mktime - found
-- Looking for localtime
-- Looking for localtime - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for getpt
-- Looking for getpt - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for setlocale
-- Looking for setlocale - found
-- Looking for vprintf
-- Looking for vprintf - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Checking for module 'libpng'
--   Found libpng, version 1.6.40
-- Find JPEG include in /usr/include
-- Find JPEG library in /usr/lib/libjpeg.so
=============================================
MiniGUI Version :  3.0.13
Run mode        :  Threads
OS Name         :  linux
Target board    :  unknown
Library type    :   Dynamic
=============================================

*********************************************
* license-management
*********************************************
* Enabled:
    splash screensaver

* Disabled:
    productid

*********************************************
* gal
*********************************************
* Enabled:
    fbcon dummy pcxvfb

* Disabled:
    dfb qvfb wvfb commlcd shadow mlshadow em85xxosd em85xxyuv em86gfx svpxxosd bf533
    mb93493 utpmc nexus s3c6410 custom sigma8654 mstar hi3560a gdl ST7167 STGFB rtosxvfb
    hi35xx

*********************************************
* ial
*********************************************
* Enabled:
    dummy console dlcustom consoleps2 consoleimps2 consolems consolems3 consoletextmode

* Disabled:
    custom net ciscotouchpad mstar ipaqh3600 nexus ipaqh5400 tslib auto random comm
    qvfb qemu wvfb jz4740 lide 2440 davinci6446 dfb consolegpm

*********************************************
* look and feel renderer
*********************************************
* Enabled:
    flat skin

* Disabled:
   (null)

*********************************************
* control
*********************************************
* Enabled:
    static button sledit bidisledit listbox progressbar newtoolbar trackbar combobox
    propsheet scrollview monthcal treeview spinbox coolbar listview iconview animation
    scrollbar newtextedit textedit menubutton

* Disabled:
    treeviewrdr gridview

*********************************************
* charset
*********************************************
* Enabled:
    latin2support latin3support latin4support latin5support latin6support latin7support
    latin8support latin9support latin10support cyrillicsupport arabicsupport greeksupport
    hebrewsupport thaisupport gbsupport gbksupport big5support euckrsupport eucjpsupport
    shiftjissupport

* Disabled:
    gb18030support

*********************************************
* font
*********************************************
* Enabled:
    bmpfsupport upfsupport rbfsupport vbfsupport unicodesupport

* Disabled:
    qpfsupport sefsupport ttfenablecache ttfgrayadjust

*********************************************
* incorefont
*********************************************
* Enabled:
    rbfvgaoem rbfterminal rbffixedsys sserif courier system times

* Disabled:
   (null)

*********************************************
* image
*********************************************
* Enabled:
    gifsupport pngsupport jpgsupport

* Disabled:
    pcxsupport lbmsupport tgasupport

*********************************************
* keyboard-layout
*********************************************
* Enabled:
   (null)

* Disabled:
    hebrewpc arabicpc frpc fr de delatin1 it es escp850

*********************************************
* misc
*********************************************
* Enabled:
    dblclk savebitmap aboutdlg savescreen havemenu haveclipboard havecursor havefixedmath
    havemousecalibrate haveadv2dapi

* Disabled:
    debug miniguientry incoreres useownmalloc useownstdio useownpthread havetracemsg
    havemsgstr

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!
!! WARNING
!!
!!
!! Product ID is *DISABLE*
!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-- Configuring done (3.9s)
CMake Error at src/CMakeLists.txt:106 (add_library):
  Cannot find source file:

    misc/listenfd.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc

CMake Error at src/CMakeLists.txt:106 (add_library):
  No SOURCES given to target: _ths

CMake Generate step failed.  Build files cannot be regenerated correctly.
==> 错误: 在 build() 中发生一个错误。    正在放弃...
VincentWei commented 1 year ago

哦,您在用 cmake 配置和编译啊?cmake 不维护了,仍然在使用 autotools。所以您要用 autotools 那套命令来配置和编译。

taotieren commented 1 year ago

automake 方式重写 PKGBUILD

# Maintainer:  taotieren <admin@taotieren.com>

pkgbase=minigui-git
pkgname=(minigui-{,{mgutils,mgplus,mgeff,mgncs,mgncs4touch,mg-tools,mg-tests,mg-samples,mg-demos,cell-phone-ux-demo,res,docs}-}git)
pkgver=5.0.11.r12.g0d1f1f02
pkgrel=1
arch=('any')
_url="https://github.com/VincentWei"
url="${_url}/MiniGUI"
license=('GPLv3')
provides=(${pkgname%-git})
conflicts=(${pkgname%-git})
# replaces=(${pkgname})
depends=(
        chipmunk
        freetype2
        harfbuzz
        libdrm
        libevdev
        libjpeg-turbo
        libinput
        libpng
        kmod
        mtdev
        util-linux
        sqlite
        systemd
        pkgconf
        zlib)
optdepends=()
makedepends=(git
            automake)
backup=()
options=('!strip')
install=
source=("${pkgbase}::git+${url}.git"
        "minigui-mgutils::git+${_url}/mgutils.git"
        "minigui-mgplus::git+${_url}/mgplus.git"
        "minigui-mgeff::git+${_url}/mgeff.git"
        "minigui-mgncs::git+${_url}/mgncs.git"
        "minigui-mgncs4touch::git+${_url}/mgncs4touch.git"
        "minigui-mg-tools::git+${_url}/mg-tools.git"
        "minigui-mg-tests::git+${_url}/mg-tests.git"
        "minigui-mg-samples::git+${_url}/mg-samples.git"
        "minigui-mg-demos::git+${_url}/mg-demos.git"
        "minigui-cell-phone-ux-demo::git+${_url}/cell-phone-ux-demo.git"
        "minigui-res::git+${_url}/minigui-res.git"
        "minigui-docs::git+${_url}/minigui-docs.git")

sha256sums=('SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP')

pkgver() {
    cd "${srcdir}/${pkgbase}"
    git describe --long --tags | sed 's/ver-//g;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
    install -Dm0755 /dev/stdin "${srcdir}/myconfig.sh" << EOF
# This is the template of `myconfig.sh`, and the later
# will be included in every script.

# PLEASE COPY THIS FILE TO `myconfig.sh`,
# AND CHANGE THE FOLLOWING GLOBAL VARIABLES FOR YOUR CUSTOMIZATION.

#
# The URL prefix of remote repository.

# Use this if you want to use the repos on gitlab.fmsoft.cn via HTTPS (recommended)
REPO_URL=https://gitlab.fmsoft.cn/VincentWei

# Use this one if you are a developer of MiniGUI
# REPO_URL=git4os@gitlab.fmsoft.cn:VincentWei

# Use this if you want to visit GitHub via HTTPS
# REPO_URL=https://github.com/VincentWei

# Use this one if you can visit GitHub via SSH
# REPO_URL=git@github.com:VincentWei

#
# The branch name
BRANCH_NAME=rel-5-0

#
# Global configuration options for MiniGUI Core and components.
# GOPTS="--enable-develmode"
GOPTS=

#
# extra options for configuring MiniGUI Core.
# MGOPTS="--with-targetname=external"
MGOPTS=

#
# The jobs number for building source.
NRJOBS=`getconf _NPROCESSORS_ONLN`
EOF

}

package_minigui-mgutils-git() {
    pkgdesc="A component of MiniGUI, provides users with a number of common dialog templates"

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgplus-git() {
    pkgdesc="A MiniGUI component which provides support for advanced 2D graphics functions"

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgeff-git() {
    pkgdesc="An animation framework for MiniGUI"

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgncs-git() {
    pkgdesc="mGNCS provides a new control set and a new framework for MiniGUI apps."

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgncs4touch-git() {
    pkgdesc="A set of mGNCS-compliant controls for devices with a touch screen."

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-tools-git() {
    pkgdesc="A modern and proven cross-platform window system for embedded systems or smart IoT devices."

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-tests-git() {
    pkgdesc="Test code of MiniGUI Core"

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-samples-git() {
    pkgdesc="Basic Samples for MiniGUI Core and Key MiniGUI Components."

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-demos-git() {
    pkgdesc="A set of demos as supplements of cell-phone-ux-demo"

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-cell-phone-ux-demo-git() {
    pkgdesc="This UX demo shows the new features of MiniGUI core, mGEff, mGNCS, and mGNCS4Touch components."

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-res-git() {
    pkgdesc="Resources package for MiniGUI"

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-docs-git() {
    pkgdesc="Documents for MiniGUI Core and MiniGUI Components."

    install -dm0755 ${pkgdir}/usr/share/doc
    cp -rv "${srcdir}"/${pkgname%-git}  "${pkgdir}"/usr/share/doc/
}

package_minigui-git() {
    pkgdesc="A modern and proven cross-platform window system for embedded systems or smart IoT devices."
    depends=(minigui-{mgutils,mgplus,mgeff,mgncs,mgncs4touch,mg-tools,mg-tests,mg-samples,mg-demos,cell-phone-ux-demo,res,docs})

    source "${srcdir}/myconfig.sh"
    cd "${srcdir}/${pkgbase}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --disable-static $GOPTS

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

编译时还是报错

minigui-build-log.md

VincentWei commented 1 year ago

可以参考下 build-minigui-5.0 中的配置和构建脚本。

taotieren commented 1 year ago

更新 PKGBUILD 后

# Maintainer:  taotieren <admin@taotieren.com>

pkgbase=minigui-git
pkgname=(minigui{,-{mgutils,mgplus,mgeff,mgncs,chipmunk,mgncs4touch,mg-tools,mg-tests,mg-samples,mg-demos,cell-phone-ux-demo,res,docs,ministudo}}-git)
pkgver=5.0.11.r12.g0d1f1f02
pkgrel=1
arch=('x86_64')
_url="https://github.com/VincentWei"
url="${_url}/MiniGUI"
license=('GPLv3')
depends=(
        freetype2
        gtk2
        harfbuzz
        libdrm
        libevdev
        libjpeg-turbo
        libtool
        libinput
        libwebp
        libxml2
        libpng
        kmod
        mtdev
        openssl
        util-linux
        sqlite
        systemd
        xorg-server-xvfb
        zlib)
optdepends=()
makedepends=(git
            autoconf
            automake
            cmake
            make
            pkgconf)
backup=()
options=('!strip')
install=
source=("${pkgbase}::git+${url}.git"
        "minigui-mgutils::git+${_url}/mgutils.git"
        "minigui-mgplus::git+${_url}/mgplus.git"
        "minigui-mgeff::git+${_url}/mgeff.git"
        "minigui-mgncs::git+${_url}/mgncs.git"
        "minigui-mgncs4touch::git+${_url}/mgncs4touch.git"
        "minigui-mg-tools::git+${_url}/mg-tools.git"
        "minigui-mg-tests::git+${_url}/mg-tests.git"
        "minigui-mg-samples::git+${_url}/mg-samples.git"
        "minigui-mg-demos::git+${_url}/mg-demos.git"
        "minigui-chipmunk::git+${_url}/chipmunk.git"
        "minigui-cell-phone-ux-demo::git+${_url}/cell-phone-ux-demo.git"
        "minigui-res::git+${_url}/minigui-res.git"
        "minigui-docs::git+${_url}/minigui-docs.git"
        "minigui-ministudio::git+https://github.com/FMSoftCN/ministudo-guibuilder.git")

sha256sums=('SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP')

pkgver() {
    cd "${srcdir}/${pkgbase}"
    git describe --long --tags | sed 's/ver-//g;s/\([^-]*-g\)/r\1/;s/-/./g'
}

package_minigui-mgutils-git() {
    pkgdesc="A component of MiniGUI, provides users with a number of common dialog templates"
    url="${_url}/mgutils"
    depends=(minigui)
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"

    ./autogen.sh
    ./configure --prefix=/usr \
        --disable-static \
        --with-targetname=mstudio \
        --with-libsuffix=msd

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgplus-git() {
    pkgdesc="A MiniGUI component which provides support for advanced 2D graphics functions"
    url="${_url}/mgplus"
    depends=(minigui)
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"

    ./autogen.sh
    ./configure --prefix=/usr \
        --disable-static \
        --with-targetname=mstudio \
        --with-libsuffix=msd

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgeff-git() {
    pkgdesc="An animation framework for MiniGUI"
    url="${_url}/mgeff"
    depends=(
            minigui
            minigui-mgplus
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
                --with-targetname=mstudio \
                --with-libsuffix=msd

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mgncs-git() {
    pkgdesc="mGNCS provides a new control set and a new framework for MiniGUI apps."
    url="${_url}/mgncs"
    depends=(
            minigui
            minigui-mgutils
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    sed -i 's|$(prefix)/etc|/etc|g;s|   $(INSTALL_DATA)|#   $(INSTALL_DATA)|g' etc/Makefile.am
    ./autogen.sh
    ./configure --prefix=/usr \
        --disable-static \
        --with-targetname=mstudio \
        --with-libsuffix=msd  \
        --enable-guibuilder-support  \
        --enable-datasource          \
        --enable-old-mledit          \
        --enable-texteditor

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-chipmunk-git() {
    pkgdesc="Chipmunk is a simple, lightweight, fast and portable 2D rigid body physics library written in C. "
    url="${_url}/chipmunk"
    depends=(
            cmake
            gtk2
            )
    provides=(${pkgname%-git} chipmunk)
    conflicts=(${pkgname%-git} chipmunk)
    replaces=(chipmunk)

    cd "${srcdir}/${pkgname%-git}"

# Ninja build
# see:https://wiki.archlinux.org/title/CMake_package_guidelines
#     cmake -DCMAKE_BUILD_TYPE=Release \
    cmake -DCMAKE_BUILD_TYPE=None \
        -DCMAKE_INSTALL_PREFIX=/usr

    make

    make DESTDIR="$pkgdir" install
}

package_minigui-mgncs4touch-git() {
    pkgdesc="A set of mGNCS-compliant controls for devices with a touch screen."
    url="${_url}/mgncs4touch"
    depends=(
            minigui
            minigui-mgutils
            minigui-mgplus
            minigui-mgeff
            minigui-mgncs
            minigui-chipmunk
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"

    sed -i 's|$(prefix)/etc|/etc|g;s|   $(INSTALL_DATA)|#   $(INSTALL_DATA)|g' etc/Makefile.am
    ./autogen.sh
    ./configure --prefix=/usr \
        --disable-static \
        --with-targetname=mstudio \
        --with-libsuffix=msd  \
        --enable-guibuilder-support

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-tools-git() {
    pkgdesc="A modern and proven cross-platform window system for embedded systems or smart IoT devices."
    url="${_url}/mg-tools"
    depends=(
            freetype2
            openssl
            minigui
            minigui-mgutils
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-tests-git() {
    pkgdesc="Test code of MiniGUI Core"
    url="${_url}/mg-tests"
    depends=(
            minigui
            minigui-mgeff
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-samples-git() {
    pkgdesc="Basic Samples for MiniGUI Core and Key MiniGUI Components."
    url="${_url}/mg-samples"
    depends=(
            minigui
            minigui-mgutils
            minigui-mgplus
            minigui-mgeff
            minigui-mgncs
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-mg-demos-git() {
    pkgdesc="A set of demos as supplements of cell-phone-ux-demo"
    url="${_url}/mg-demos"
    depends=(
            minigui
            minigui-mgutils
            minigui-mgplus
            minigui-mgeff
            minigui-mgncs
            minigui-mgncs4touch
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-cell-phone-ux-demo-git() {
    pkgdesc="This UX demo shows the new features of MiniGUI core, mGEff, mGNCS, and mGNCS4Touch components."
    url="${_url}/cell-phone-ux-demo"
    depends=(
            minigui
            minigui-mgutils
            minigui-mgplus
            minigui-mgeff
            minigui-mgncs
            minigui-mgncs4touch
            minigui-chipmunk
            )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"

    sed -i 's|$(prefix)/bin/etc|/etc|g' etc/Makefile.am
    ./autogen.sh
    ./configure --prefix=/usr

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-res-git() {
    pkgdesc="Resources package for MiniGUI"
    url="${_url}/minigui-res"
    depends=(minigui)
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgname%-git}"
    sed -i 's|prefix = $(TOPDIR)/usr/local|prefix = $(prefix)|g' config.linux
    ./autogen.sh
    ./configure --prefix=/usr

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-docs-git() {
    pkgdesc="Documents for MiniGUI Core and MiniGUI Components."
    url="${_url}/minigui-docs"
    depends=(minigui)
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    install -dm0755 ${pkgdir}/usr/share/doc
    cp -rv "${srcdir}"/${pkgname%-git}  "${pkgdir}"/usr/share/doc/
}

package_minigui-git() {
    pkgdesc="A modern and proven cross-platform window system for embedded systems or smart IoT devices."
    url="${_url}/MiniGUI"
#     depends=(
# #             chipmunk
#     )
    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})

    cd "${srcdir}/${pkgbase}"

    sed -i 's|$(prefix)/etc|/etc|g' etc/Makefile.am
    ./autogen.sh

    ./configure \
        $prefix_config \
        --prefix=/usr \
        --disable-static \
        --with-targetname=mstudio \
        --with-libsuffix=msd \
        --enable-pcxvfb \
        --disable-qvfbial \
        --disable-consoleial \
        --disable-dummyial \
        --disable-autoial \
        --disable-videodummy \
        --disable-videoqvfb \
        --disable-videofbcon \
        --disable-videocommlcd \
        --with-ttfsupport=ft2 \
        --enable-qpfsupport \
        --enable-upfsupport \
        --enable-gb18030support \
        --enable-unicodesupport \
        --enable-aboutdlg \
        --disable-savescreen \
        --disable-splash \
        --disable-screensaver \
        --with-runmode=ths \
        --enable-ctrlstatic \
        --enable-ctrlbutton \
        --enable-ctrlsledit \
        --enable-ctrlbidisledit \
        --enable-ctrlnewtextedit \
        --enable-ctrllistbox \
        --enable-ctrlpgbar \
        --enable-ctrlcombobox \
        --enable-ctrlpropsheet \
        --enable-ctrltrackbar \
        --enable-ctrlscrollbar \
        --enable-ctrlnewtoolbar \
        --enable-ctrlmenubtn \
        --enable-ctrlscrollview \
        --enable-ctrltextedit \
        --enable-ctrlmonthcal \
        --enable-ctrltreeview \
        --enable-ctrltreeview-rdr \
        --enable-ctrlspinbox \
        --enable-ctrlcoolbar \
        --enable-ctrllistview \
        --enable-ctrliconview \
        --enable-ctrlgridview \
        --enable-ctrlanimation \
        --disable-watermark \
        --disable-pngsupport \
        --disable-videodrm

    sed -i 's|/local||g' etc/mvfb.cfg
    sed -i 's|/local||g' etc/MiniGUI.cfg

    make -j$NR_JOBS
    make DESTDIR="$pkgdir" install
}

package_minigui-ministudo-git() {
    pkgdesc="GUIBuilder of miniStudio."
    depends=(minigui{,-{mgutils,mgplus,mgeff,mgncs,mgncs4touch,mg-tools,mg-tests,mg-samples,mg-demos,cell-phone-ux-demo,chipmunk,res,docs}})
    url="https://github.com/FMSoftCN/ministudo-guibuilder"

    provides=(${pkgname%-git})
    conflicts=(${pkgname%-git})
    # build GUIBuilder
    cd "${srcdir}/${pkgname%-git}"
    ./autogen.sh
    ./configure --prefix=/usr \
        --enable-werror

    make
    make DESTDIR="$pkgdir" install

    # resourse
    cd "${srcdir}/${pkgname%-git}/etc"
    make
    make DESTDIR="$pkgdir" install

    # tools/mgcfg-trans
    cd "${srcdir}/${pkgname%-git}/tools/mgcfg-trans"
    rm -f mgcfg-trans
    gcc lex.yy.c -o mgcfg-trans
    install -Dm755 mgcfg-trans -t $pkgdir/bin/

    # tools/res2c
    cd "${srcdir}/${pkgname%-git}/tools/res2"
    make clean
    make
    install -Dm755 cfg2c.py -t $pkgdir/bin/
    install -Dm755 res2c -t $pkgdir/bin/
}

编译报错如下

==> Starting package_minigui-mg-tools-git()...
configure.ac:8: installing './compile'
configure.ac:21: installing './config.guess'
configure.ac:21: installing './config.sub'
configure.ac:5: installing './install-sh'
configure.ac:5: installing './missing'
bdf2rbf/Makefile.am: installing './depcomp'
configure.ac:14: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:14: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:14: the top level
configure.ac:60: warning: The macro `ac_cv_prog_gcc' is obsolete.
configure.ac:60: You should run autoupdate.
./lib/autoconf/c.m4:440: ac_cv_prog_gcc is expanded from...
configure.ac:60: the top level
configure.ac:90: warning: AC_OUTPUT should be used without arguments.
configure.ac:90: You should run autoupdate.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking whether lstat correctly handles trailing slash... yes
checking whether lstat accepts an empty string... no
checking for GNU libc compatible malloc... yes
checking for minigui/common.h... yes
checking for freetype/freetype.h... no
checking for openssl/md5.h... yes
checking for gcc options needed to detect all undeclared functions... none needed
checking whether __NOUNIX__ is declared... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for MINIGUI... yes
checking for MGUTILS... yes
checking for TT_FreeType_Version in -lttf... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating res/Makefile
config.status: creating tools/Makefile
config.status: creating font-tools/Makefile
config.status: creating mgcfg-trans/Makefile
config.status: creating inner-res-trans/Makefile
config.status: creating res2c/Makefile
config.status: creating ngux-tools/Makefile
config.status: creating product-id/Makefile
config.status: creating cryptool/Makefile
config.status: creating rbfeditor/Makefile
config.status: creating vbfeditor/Makefile
config.status: creating qpfeditor/Makefile
config.status: creating upfeditor/Makefile
config.status: creating image-dumper/Makefile
config.status: creating common/Makefile
config.status: creating ttf2qpf/Makefile
config.status: creating ttf2upf/Makefile
config.status: creating bdf2upf/Makefile
config.status: creating bdf2rbf/Makefile
config.status: executing depfiles commands
Making all in common
make[1]: Entering directory '/home/taotieren/git_clone/aur/minigui-git/src/minigui-mg-tools/common'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/taotieren/git_clone/aur/minigui-git/src/minigui-mg-tools/common'
Making all in tools
make[1]: Entering directory '/home/taotieren/git_clone/aur/minigui-git/src/minigui-mg-tools/tools'
gcc -DPACKAGE_NAME=\"mg-tools\" -DPACKAGE_TARNAME=\"mg-tools\" -DPACKAGE_VERSION=\"3.2.1\" -DPACKAGE_STRING=\"mg-tools\ 3.2.1\" -DPACKAGE_BUGREPORT=\"consult@minigui.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mg-tools\" -DVERSION=\"3.2.1\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DLSTAT_FOLLOWS_SLASHED_SYMLINK=1 -DHAVE_MALLOC=1 -DHAVE_MINIGUI_COMMON_H=1 -DHAVE_OPENSSL_MD5_H=1 -DHAVE_DECL___NOUNIX__=0 -D_LANG_EN=1 -I.     -march=x86-64-v3 -mtune=native -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto=auto -Wall -Wstrict-prototypes -pipe -MT bin2c.o -MD -MP -MF .deps/bin2c.Tpo -c -o bin2c.o bin2c.c
gcc -DPACKAGE_NAME=\"mg-tools\" -DPACKAGE_TARNAME=\"mg-tools\" -DPACKAGE_VERSION=\"3.2.1\" -DPACKAGE_STRING=\"mg-tools\ 3.2.1\" -DPACKAGE_BUGREPORT=\"consult@minigui.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mg-tools\" -DVERSION=\"3.2.1\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DLSTAT_FOLLOWS_SLASHED_SYMLINK=1 -DHAVE_MALLOC=1 -DHAVE_MINIGUI_COMMON_H=1 -DHAVE_OPENSSL_MD5_H=1 -DHAVE_DECL___NOUNIX__=0 -D_LANG_EN=1 -I.     -march=x86-64-v3 -mtune=native -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto=auto -Wall -Wstrict-prototypes -pipe -MT bdf2bin.o -MD -MP -MF .deps/bdf2bin.Tpo -c -o bdf2bin.o bdf2bin.c
gcc -DPACKAGE_NAME=\"mg-tools\" -DPACKAGE_TARNAME=\"mg-tools\" -DPACKAGE_VERSION=\"3.2.1\" -DPACKAGE_STRING=\"mg-tools\ 3.2.1\" -DPACKAGE_BUGREPORT=\"consult@minigui.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mg-tools\" -DVERSION=\"3.2.1\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DLSTAT_FOLLOWS_SLASHED_SYMLINK=1 -DHAVE_MALLOC=1 -DHAVE_MINIGUI_COMMON_H=1 -DHAVE_OPENSSL_MD5_H=1 -DHAVE_DECL___NOUNIX__=0 -D_LANG_EN=1 -I.     -march=x86-64-v3 -mtune=native -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -flto=auto -Wall -Wstrict-prototypes -pipe -MT font.o -MD -MP -MF .deps/font.Tpo -c -o font.o font.c
bin2c.c:80:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
   80 | error (msg1, msg2, msg3)
      | ^~~~~
bin2c.c:102:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  102 | my_strrchr (s, c)
      | ^~~~~~~~~~
bin2c.c: In function ‘add_export’:
bin2c.c:213:20: warning: implicit declaration of function ‘isalnum’ [-Wimplicit-function-declaration]
  213 |                 if(isalnum(begin[i]))
      |                    ^~~~~~~
bin2c.c:42:1: note: include ‘<ctype.h>’ or provide a declaration of ‘isalnum’
   41 | #include <string.h>
  +++ |+#include <ctype.h>
   42 | 
bin2c.c: In function ‘parser_args’:
bin2c.c:248:17: error: format not a string literal and no format arguments [-Werror=format-security]
  248 |                 printf(usage);
      |                 ^~~~~~
bin2c.c:264:33: error: format not a string literal and no format arguments [-Werror=format-security]
  264 |                                 printf(usage);
      |                                 ^~~~~~
bin2c.c: At top level:
bin2c.c:278:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  278 | main (argc, argv)
      | ^~~~
bin2c.c: In function ‘main’:
bin2c.c:289:7: warning: unused variable ‘position’ [-Wunused-variable]
  289 |   int position;
      |       ^~~~~~~~
bin2c.c:288:9: warning: unused variable ‘ptr’ [-Wunused-variable]
  288 |   char *ptr;
      |         ^~~
bin2c.c:283:8: warning: unused variable ‘suffix’ [-Wunused-variable]
  283 |   char suffix[SUFFIXLEN];
      |        ^~~~~~
bin2c.c: At top level:
bin2c.c:181:12: warning: ‘file_list’ defined but not used [-Wunused-variable]
  181 | static int file_list;
      |            ^~~~~~~~~
bin2c.c:102:1: warning: ‘my_strrchr’ defined but not used [-Wunused-function]
  102 | my_strrchr (s, c)
      | ^~~~~~~~~~
bdf2bin.c: In function ‘main’:
bdf2bin.c:60:11: warning: variable ‘font’ set but not used [-Wunused-but-set-variable]
   60 |   u_char *font;
      |           ^~~~
bdf2bin.c: In function ‘FontLoadBdf’:
bdf2bin.c:290:11: warning: pointer targets in returning ‘char *’ from a function with return type ‘u_char *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
  290 |     return(fdata);
      |           ^
bdf2bin.c:108:33: warning: unused variable ‘code’ [-Wunused-variable]
  108 |     int num, width, high, i, j, code = 0, pitch;
      |                                 ^~~~
bdf2bin.c:107:16: warning: unused variable ‘ch2’ [-Wunused-variable]
  107 |     u_char ch, ch2;
      |                ^~~
bdf2bin.c:107:12: warning: unused variable ‘ch’ [-Wunused-variable]
  107 |     u_char ch, ch2;
      |            ^~
bdf2bin.c:231:17: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  231 |                 fgets(line, 256, fp);
      |                 ^~~~~~~~~~~~~~~~~~~~
mv -f .deps/font.Tpo .deps/font.Po
cc1: some warnings being treated as errors
make[1]: *** [Makefile:385: bin2c.o] Error 1
make[1]: *** Waiting for unfinished jobs....
mv -f .deps/bdf2bin.Tpo .deps/bdf2bin.Po
make[1]: Leaving directory '/home/taotieren/git_clone/aur/minigui-git/src/minigui-mg-tools/tools'
make: *** [Makefile:364: all-recursive] Error 1
==> ERROR: A failure occurred in package_minigui-mg-tools-git().
    Aborting...