From dd5e038e5138e37356a6ce89a49c131024810ef7 Mon Sep 17 00:00:00 2001 From: ngn Date: Sun, 25 Aug 2024 18:05:29 +0300 Subject: [PATCH] fix: more build function issues --- src/gtk2/pkg.sh | 10 ++++- src/i3status/pkg.sh | 14 +++--- src/libcddb/pkg.sh | 22 ++++++---- src/libdrm/pkg.sh | 16 ++++--- src/libportal/pkg.sh | 24 ++++++++--- src/librsvg/pkg.sh | 25 ++++++++--- src/libsecret/changes.md | 3 ++ src/libsecret/pkg.sh | 24 ++++++----- src/libtiff/pkg.sh | 23 ++++++---- src/libxcb/pkg.sh | 22 +++++++--- src/lxpanel/pkg.sh | 25 +++++++---- src/lxsession/pkg.sh | 21 +++++---- src/pcmanfm/pkg.sh | 22 ++++++---- src/polkit/pkg.sh | 42 +++++++++++++----- ...polkitd_uid-to-meson_post_install.py.patch | 43 +++++++++++++++++++ 15 files changed, 241 insertions(+), 95 deletions(-) create mode 100644 src/polkit/polkit-124-polkitd_uid-to-meson_post_install.py.patch diff --git a/src/gtk2/pkg.sh b/src/gtk2/pkg.sh index 4eed4a0..afa503c 100644 --- a/src/gtk2/pkg.sh +++ b/src/gtk2/pkg.sh @@ -21,12 +21,20 @@ PACKAGE() { tar xf "gtk+-${VERSION}.tar.xz" cd "gtk+-${VERSION}" + export CFLAGS+=" -Wno-error=implicit-int -Wno-error=incompatible-pointer-types" + sed -e 's#l \(gtk-.*\).sgml#& -o \1#' \ -i docs/{faq,tutorial}/Makefile.in + sed -i '/AM_INIT_AUTOMAKE/s/]/ foreign]/' configure.ac + autoreconf -fvi + + ./configure --prefix=/usr \ + --with-xinput=yes \ + --sysconfdir=/etc - ./configure --prefix=/usr --sysconfdir=/etc make make DESTDIR="${ROOTDIR}" install + rm "${ROOTDIR}/usr/bin/gtk-update-icon-cache" cd .. && rm -r "gtk+-${VERSION}" } diff --git a/src/i3status/pkg.sh b/src/i3status/pkg.sh index 9a1752c..d3ec344 100644 --- a/src/i3status/pkg.sh +++ b/src/i3status/pkg.sh @@ -1,19 +1,23 @@ NAME="i3status" DESC="Small program for generating a status bar for i3bar, dzen2, xmobar or similar programs" VERSION="2.14" -FILES=("https://i3wm.org/i3status/i3status-$VERSION.tar.xz") + +FILES=("https://i3wm.org/i3status/i3status-${VERSION}.tar.xz") HASHES=("5c4d0273410f9fa3301fd32065deda32e9617fcae8b3cb34793061bf21644924") + DEPENDS=("alsa-lib" "pulseaudio" "libconfuse" "libnl") +BUILD=("asciidoc" "meson" "xmlto") PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" mkdir build cd build meson --prefix=/usr --buildtype=plain -Dmans=true .. - meson compile && meson install --destdir "$ROOTDIR" + meson compile + meson install --destdir "${ROOTDIR}" - cd ../.. && rm -r $NAME-$VERSION + cd ../.. && rm -r "${NAME}-${VERSION}" } diff --git a/src/libcddb/pkg.sh b/src/libcddb/pkg.sh index 4fe9981..4415599 100644 --- a/src/libcddb/pkg.sh +++ b/src/libcddb/pkg.sh @@ -1,13 +1,16 @@ NAME="libcddb" -DESC="Library that implements the different protocols to access data on a CDDB server" +DESC="Implements the different protocols to access data on a CDDB server" VERSION="1.3.2" -FILES=("https://downloads.sourceforge.net/libcddb/libcddb-$VERSION.tar.bz2") + +FILES=("https://downloads.sourceforge.net/libcddb/libcddb-${VERSION}.tar.bz2") HASHES=("8bb4a6f542197e8e9648ae597cd6bc8a") -DEPENDS=() + +DEPENDS=("glibc") +BUILD=() PACKAGE() { - tar xf $NAME-$VERSION.tar.bz2 - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.bz2" + cd "${NAME}-${VERSION}" sed -e '/DEFAULT_SERVER/s/freedb.org/gnudb.gnudb.org/' \ -e '/DEFAULT_PORT/s/888/&0/' \ @@ -15,8 +18,11 @@ PACKAGE() { sed '/^Genre:/s/Trip-Hop/Electronic/' -i tests/testdata/920ef00b.txt sed '/DISCID/i# Revision: 42' -i tests/testcache/misc/12340000 - ./configure --prefix=/usr --disable-static - make && make DESTDIR="$ROOTDIR" install + export CFLAGS="${CFLAGS} -std=gnu89" - cd .. && rm -r $NAME-$VERSION + ./configure --prefix=/usr --disable-static + make + make DESTDIR="${ROOTDIR}" install + + cd .. && rm -r "${NAME}-${VERSION}" } diff --git a/src/libdrm/pkg.sh b/src/libdrm/pkg.sh index bc3753d..dda01ab 100644 --- a/src/libdrm/pkg.sh +++ b/src/libdrm/pkg.sh @@ -1,13 +1,16 @@ NAME="libdrm" DESC="Userspace library for accessing the direct rendering manager (DRM)" VERSION="2.4.115" -FILES=("https://dri.freedesktop.org/libdrm/libdrm-$VERSION.tar.xz") + +FILES=("https://dri.freedesktop.org/libdrm/libdrm-${VERSION}.tar.xz") HASHES=("5403981a20c964f4c893ff91393652bd") -DEPENDS=("libpciaccess") + +DEPENDS=("glibc" "libpciaccess") +BUILD=("pypi-docutils" "meson") PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" mkdir build cd build @@ -17,7 +20,8 @@ PACKAGE() { -Dudev=true \ -Dvalgrind=disabled \ .. - ninja && DESTDIR=${ROOTDIR} ninja install + ninja + DESTDIR="${ROOTDIR}" ninja install - cd ../.. && rm -rf $NAME-$VERSION + cd ../.. && rm -r "${NAME}-${VERSION}" } diff --git a/src/libportal/pkg.sh b/src/libportal/pkg.sh index 48c669e..e2a18ac 100644 --- a/src/libportal/pkg.sh +++ b/src/libportal/pkg.sh @@ -1,19 +1,29 @@ NAME="libportal" DESC="GIO-style async APIs for most Flatpak portals" VERSION="0.6" -FILES=("https://github.com/flatpak/libportal/releases/download/$VERSION/libportal-$VERSION.tar.xz") + +FILES=("https://github.com/flatpak/libportal/releases/download/${VERSION}/libportal-${VERSION}.tar.xz") HASHES=("e16c8ca2621aff64774a1d2ad6a2a346") -DEPENDS=("gtk3" "gtk4" "qt5") + +DEPENDS=("glib") +BUILD=( + "gtk3" "gtk4" "qt5" + "gobject-introspection" "meson" "vala" + "pypi-pytest" +) PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" mkdir build cd build - meson setup --prefix=/usr --buildtype=release -Ddocs=false .. - ninja && DESTDIR="$ROOTDIR" ninja install + meson setup --prefix=/usr \ + --buildtype=release \ + -Ddocs=false .. + ninja + DESTDIR="${ROOTDIR}" ninja install - cd ../.. && rm -r $NAME-$VERSION + cd ../.. && rm -r "${NAME}-${VERSION}" } diff --git a/src/librsvg/pkg.sh b/src/librsvg/pkg.sh index c0f1369..fe6b431 100644 --- a/src/librsvg/pkg.sh +++ b/src/librsvg/pkg.sh @@ -1,19 +1,30 @@ NAME="librsvg" DESC="Library and tools used to manipulate, convert and view Scalable Vector Graphic (SVG) images" VERSION="2.56.3" -FILES=("https://download.gnome.org/sources/librsvg/2.56/librsvg-$VERSION.tar.xz") + +FILES=("https://download.gnome.org/sources/librsvg/2.56/librsvg-${VERSION}.tar.xz") HASHES=("8055142a6c9d0d21d42e40bc08dff814") -DEPENDS=("cairo" "gdk-pixbuf" "pango" "gobject-introspection") + +DEPENDS=( + "cairo" "gdk-pixbuf" "pango" + "freetype" "gcc-libs" "glibc" + "harfbuzz" "libxml2" +) +BUILD=( + "gobject-introspection" "pypi-docutils" + "rustc" "vala" +) PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" ./configure --prefix=/usr \ --enable-vala \ --disable-static \ - --docdir=/usr/share/doc/librsvg-$VERSION - make && make DESTDIR="$ROOTDIR" DOC_INSTALL_DIR='$(docdir)' install + --docdir="/usr/share/doc/librsvg-${VERSION}" + make + make DESTDIR="${ROOTDIR}" DOC_INSTALL_DIR='$(docdir)' install - cd .. && rm -r $NAME-$VERSION + cd .. && rm -r "${NAME}-${VERSION}" } diff --git a/src/libsecret/changes.md b/src/libsecret/changes.md index a373526..fb29a85 100644 --- a/src/libsecret/changes.md +++ b/src/libsecret/changes.md @@ -1,2 +1,5 @@ +# 0.21.3 +Updated to a newer upstream release + # 0.21.0 First version diff --git a/src/libsecret/pkg.sh b/src/libsecret/pkg.sh index 58d80a0..e01fae6 100644 --- a/src/libsecret/pkg.sh +++ b/src/libsecret/pkg.sh @@ -1,24 +1,28 @@ NAME="libsecret" DESC="GObject based library for accessing the Secret Service API" -VERSION="0.21.0" -FILES=("https://download.gnome.org/sources/libsecret/0.21/libsecret-$VERSION.tar.xz") -HASHES=("212af4c882ce7e29d15d50c880afc4a8") -DEPENDS=( - "glib" "gobject-introspection" "libxslt" -) +VERSION="0.21.3" + +FILES=("https://download.gnome.org/sources/libsecret/0.21/libsecret-${VERSION}.tar.xz") +HASHES=("47e4d26ef43c938156011ad8cab5f414") + +DEPENDS=("glib" "libgcrypt" "libxslt") +BUILD=("gobject-introspection" "meson" "vala") PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" mkdir bld cd bld + export CFLAGS="${CFLAGS} -std=gnu89" + meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. - ninja && DESTDIR="$ROOTDIR" ninja install + ninja + DESTDIR="${ROOTDIR}" ninja install - cd ../.. && rm -r $NAME-$VERSION + cd ../.. && rm -r "${NAME}-${VERSION}" } diff --git a/src/libtiff/pkg.sh b/src/libtiff/pkg.sh index 94584ac..331f432 100644 --- a/src/libtiff/pkg.sh +++ b/src/libtiff/pkg.sh @@ -1,20 +1,27 @@ NAME="libtiff" DESC="TIFF libraries and associated utilities" VERSION="4.6.0" -FILES=("https://download.osgeo.org/libtiff/tiff-$VERSION.tar.gz") + +FILES=("https://download.osgeo.org/libtiff/tiff-${VERSION}.tar.gz") HASHES=("fc7d49a9348b890b29f91a4ecadd5b49") -DEPENDS=("freeglut" "libjpeg-turbo") + +DEPENDS=( + "gcc-libs" "glibc" "libjpeg-turbo" + "xz" "zlib" "zstd" "freeglut" +) +BUILD=("meson" "glu") PACKAGE() { - tar xf tiff-$VERSION.tar.gz - cd tiff-$VERSION + tar xf "tiff-${VERSION}.tar.gz" + cd "tiff-${VERSION}" mkdir -p libtiff-build cd libtiff-build - cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-$VERSION \ - -DCMAKE_INSTALL_PREFIX=/usr -G Ninja .. && - ninja && DESTDIR="$ROOTDIR" ninja install + cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-${VERSION} \ + -DCMAKE_INSTALL_PREFIX=/usr -G Ninja .. + ninja + DESTDIR="${ROOTDIR}" ninja install - cd ../.. && rm -rf tiff-$VERSION + cd ../.. && rm -r "tiff-${VERSION}" } diff --git a/src/libxcb/pkg.sh b/src/libxcb/pkg.sh index 3e3c2ea..4ea13c2 100644 --- a/src/libxcb/pkg.sh +++ b/src/libxcb/pkg.sh @@ -1,18 +1,26 @@ NAME="libxcb" DESC="An interface to the X Window System protocol" VERSION="1.16" -FILES=("https://xorg.freedesktop.org/archive/individual/lib/libxcb-$VERSION.tar.xz") + +FILES=("https://xorg.freedesktop.org/archive/individual/lib/libxcb-${VERSION}.tar.xz") HASHES=("c769f93c254263077df62404661b710d") -DEPENDS=("libxau" "libxdmcp") + +DEPENDS=( + "glibc" "libxau" "libxdmcp" + "xcb-proto" +) +BUILD=("libxslt" "python3" "xorgproto") PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ - --without-doxygen --docdir=/usr/share/doc/libxcb-$VERSION - make && make DESTDIR=$ROOTDIR install + --without-doxygen --docdir="/usr/share/doc/libxcb-${VERSION}" - cd .. && rm -rf $NAME-$VERSION + make + make DESTDIR="${ROOTDIR}" install + + cd .. && rm -r "${NAME}-${VERSION}" } diff --git a/src/lxpanel/pkg.sh b/src/lxpanel/pkg.sh index 4daf7f1..f81c116 100644 --- a/src/lxpanel/pkg.sh +++ b/src/lxpanel/pkg.sh @@ -1,20 +1,29 @@ NAME="lxpanel" DESC="Lightweight X11 desktop panel" VERSION="0.10.1" -FILES=("https://downloads.sourceforge.net/lxde/lxpanel-$VERSION.tar.xz") + +FILES=("https://downloads.sourceforge.net/lxde/lxpanel-${VERSION}.tar.xz") HASHES=("c922d044789c3d7ae028f0e80dea18b0") + DEPENDS=( - "gdk-pixbuf-xlib" "keybinder2" "libwnck2" - "lxmenu-data" "menu-cache" "alsa-lib" - "gnome-screenshot" "libxml2" "wireless-tools" + "alsa-lib" "curl" "libfm" + "keybinder2" "libwnck2" "lxmenu-data" + "menu-cache" "gnome-screenshot" "wireless-tools" +) +BUILD=( + "docbook-xml" "docbook-xsl-nons" "intltool" + "wireless-tools" ) PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" + + export CFLAGS="${CFLAGS} -std=gnu89" ./configure --prefix=/usr - make && make DESTDIR="$ROOTDIR" install + make + make DESTDIR="${ROOTDIR}" install - cd .. && rm -r $NAME-$VERSION + cd .. && rm -r "${NAME}-${VERSION}" } diff --git a/src/lxsession/pkg.sh b/src/lxsession/pkg.sh index df68caf..f12ad91 100644 --- a/src/lxsession/pkg.sh +++ b/src/lxsession/pkg.sh @@ -1,19 +1,22 @@ NAME="lxsession" DESC="Default session manager for LXDE" VERSION="0.5.5" -FILES=("https://downloads.sourceforge.net/lxde/lxsession-$VERSION.tar.xz") + +FILES=("https://downloads.sourceforge.net/lxde/lxsession-${VERSION}.tar.xz") HASHES=("e8380acef215ee7c99c067a2241c2c7b") -DEPENDS=( - "dbus-glib" "libunique" - "polkit" "gtk2" "libxslt" -) + +DEPENDS=("gtk2" "polkit") +BUILD=("docbook-xsl" "intltool" "vala") PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" + + export CFLAGS="${CFLAGS} -std=gnu89" ./configure --prefix=/usr - make && make DESTDIR="$ROOTDIR" install + make + make DESTDIR="${ROOTDIR}" install - cd .. && rm -r $NAME-$VERSION + cd .. && rm -r "${NAME}-${VERSION}" } diff --git a/src/pcmanfm/pkg.sh b/src/pcmanfm/pkg.sh index 231f924..d6bbe5b 100644 --- a/src/pcmanfm/pkg.sh +++ b/src/pcmanfm/pkg.sh @@ -1,17 +1,23 @@ NAME="pcmanfm" DESC="Extremely fast, lightweight, yet feature-rich file manager with tabbed browsing" VERSION="1.3.2" -FILES=("https://downloads.sourceforge.net/pcmanfm/pcmanfm-$VERSION.tar.xz") + +FILES=("https://downloads.sourceforge.net/pcmanfm/pcmanfm-${VERSION}.tar.xz") HASHES=("ef7c4417d2697ef138d175db7aeae15a") -DEPENDS=("libfm" "adwaita-icon-theme" "fribidi") + +DEPENDS=("libfm" "lxmenu-data" "adwaita-icon-theme") +BUILD=("intltool") PACKAGE() { - tar xf $NAME-$VERSION.tar.xz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.xz" + cd "${NAME}-${VERSION}" - ./configure --prefix=/usr \ - --sysconfdir=/etc - make && make DESTDIR="$ROOTDIR" install + export CFLAGS="${CFLAGS} -std=gnu89" - cd .. && rm -r $NAME-$VERSION + ./configure --prefix=/usr \ + --sysconfdir=/etc + make + make DESTDIR="${ROOTDIR}" install + + cd .. && rm -r "${NAME}-${VERSION}" } diff --git a/src/polkit/pkg.sh b/src/polkit/pkg.sh index 8ad80ea..c6935a3 100644 --- a/src/polkit/pkg.sh +++ b/src/polkit/pkg.sh @@ -1,16 +1,32 @@ NAME="polkit" DESC="Toolkit for defining and handling authorizations" -VERSION="123" -FILES=("https://gitlab.freedesktop.org/polkit/polkit/-/archive/$VERSION/polkit-$VERSION.tar.gz") -HASHES=("36540b837c588e1e77145523bb39f511") +VERSION="124" + +FILES=( + "https://gitlab.freedesktop.org/polkit/polkit/-/archive/${VERSION}/polkit-${VERSION}.tar.gz" + "polkit-${VERSION}-polkitd_uid-to-meson_post_install.py.patch" +) +HASHES=( + "97db655618e1483706fbc764787c7d6e" + "34bc2831f2354a30c87fd71894e4b870e2e73a5840350cc5dda94d61108d1792" +) + DEPENDS=( - "glib" "duktape" "gobject-introspection" - "libxslt" "linux-pam" "systemd" + "duktape" "expat" "glib" + "glibc" "linux-pam" "systemd" + "libxslt" +) +BUILD=( + "dbus" "gobject-introspection" "gtk-doc" + "meson" ) PACKAGE() { - tar xf $NAME-$VERSION.tar.gz - cd $NAME-$VERSION + tar xf "${NAME}-${VERSION}.tar.gz" + cd "${NAME}-${VERSION}" + + patch -Np1 -i "../polkit-${VERSION}-polkitd_uid-to-meson_post_install.py.patch" + export CFLAGS+=" -Wno-implicit-function-declaration " mkdir build cd build @@ -18,16 +34,20 @@ PACKAGE() { meson setup .. \ --prefix=/usr \ --buildtype=release \ + -Dpolkitd_uid=1027 \ + -Dpolkitd_user=polkitd \ -Dman=true \ -Dsession_tracking=libsystemd-login \ -Dtests=true - ninja && DESTDIR="$ROOTDIR" ninja install + ninja + DESTDIR="${ROOTDIR}" ninja install - cd ../.. && rm -r $NAME-$VERSION + cd ../.. && rm -r "${NAME}-${VERSION}" } INSTALL(){ - groupadd -fg 27 polkitd - useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 -g polkitd -s /bin/false polkitd + groupadd -fg 1027 polkitd + useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 1027 \ + -g polkitd -s /bin/false polkitd exit 0 } diff --git a/src/polkit/polkit-124-polkitd_uid-to-meson_post_install.py.patch b/src/polkit/polkit-124-polkitd_uid-to-meson_post_install.py.patch new file mode 100644 index 0000000..3827f59 --- /dev/null +++ b/src/polkit/polkit-124-polkitd_uid-to-meson_post_install.py.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 17 Jan 2024 20:57:44 +0100 +Subject: [PATCH] meson: Pass polkitd_uid to meson_post_install.py + +So it can change the rules.d GID without the group being defined. +--- + meson.build | 1 + + meson_post_install.py | 9 ++++++--- + 2 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 302c18961e2d..2bd62bea4aa4 100644 +--- a/meson.build ++++ b/meson.build +@@ -385,6 +385,7 @@ if not libs_only + pk_libprivdir, + pk_pkgsysconfdir, + polkitd_user, ++ polkitd_uid, # Actually needs the GID, but we assume UID == GID + ) + endif + +diff --git a/meson_post_install.py b/meson_post_install.py +index efb75a1de69b..2367ef33fbc1 100644 +--- a/meson_post_install.py ++++ b/meson_post_install.py +@@ -22,9 +22,12 @@ pkgsysconfdir = destdir_path(sys.argv[3]) + polkitd_user = sys.argv[4] + + try: +- polkitd_gid = pwd.getpwnam(polkitd_user).pw_gid +-except KeyError: +- polkitd_gid = None ++ polkitd_gid = int(sys.argv[5]) # Actually the UID, but we assume UID == GID ++except ValueError: ++ try: ++ polkitd_gid = pwd.getpwnam(polkitd_user).pw_gid ++ except KeyError: ++ polkitd_gid = None + + dst = os.path.join(bindir, 'pkexec') +