commit:     1306b7c1abd59d1e60fc797cddd165919bac796c
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Sun May 28 14:37:50 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon May 29 12:37:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1306b7c1

x11-misc/wdm: Replace sigsetmask with posix compliant functions

Closes: https://bugs.gentoo.org/898892
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31203
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../wdm/files/wdm-1.28-remove-sigsetmask.patch     | 15 ++++++
 x11-misc/wdm/wdm-1.28-r9.ebuild                    | 62 ++++++++++++++++++++++
 2 files changed, 77 insertions(+)

diff --git a/x11-misc/wdm/files/wdm-1.28-remove-sigsetmask.patch 
b/x11-misc/wdm/files/wdm-1.28-remove-sigsetmask.patch
new file mode 100644
index 000000000000..f76db846e597
--- /dev/null
+++ b/x11-misc/wdm/files/wdm-1.28-remove-sigsetmask.patch
@@ -0,0 +1,15 @@
+Please reffer 
https://www.openembedded.org/pipermail/openembedded-core/2011-July/044923.html
+--- a/src/wdm/util.c
++++ b/src/wdm/util.c
+@@ -113,8 +113,10 @@ CleanUpChild (void)
+ #ifdef CSRG_BASED
+       setsid();
+ #else
++      sigset_t sigmask;
+       setpgid (0, getpid ());
+-      sigsetmask (0);
++      sigemptyset(&sigmask);
++      sigprocmask(SIG_SETMASK, &sigmask, NULL);
+ #endif
+ #ifdef SIGCHLD
+       (void) Signal (SIGCHLD, SIG_DFL);

diff --git a/x11-misc/wdm/wdm-1.28-r9.ebuild b/x11-misc/wdm/wdm-1.28-r9.ebuild
new file mode 100644
index 000000000000..499a7d495ad1
--- /dev/null
+++ b/x11-misc/wdm/wdm-1.28-r9.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools pam toolchain-funcs
+
+DESCRIPTION="WINGs Display Manager"
+HOMEPAGE="https://github.com/voins/wdm";
+SRC_URI="http://voins.program.ru/${PN}/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="pam selinux truetype"
+
+DEPEND="
+       virtual/libcrypt:=
+       >=x11-wm/windowmaker-0.70.0
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXt
+       pam? ( sys-libs/pam )
+       truetype? ( x11-libs/libXft )
+"
+RDEPEND="${DEPEND}
+       pam? ( >=sys-auth/pambase-20080219.1 )
+"
+BDEPEND="
+       sys-devel/gettext
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-terminateServer.patch
+       "${FILESDIR}"/${P}-remove-fakehome.patch
+       "${FILESDIR}"/${P}-remove-sigsetmask.patch
+       "${FILESDIR}"/${P}-pkg_config.patch
+       "${FILESDIR}"/${P}-ar.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+src_configure() {
+       tc-export AR
+       econf \
+               --with-wdmdir="${EPREFIX}"/etc/X11/wdm \
+               $(use_enable pam) \
+               $(use_enable selinux)
+}
+
+src_install() {
+       default
+
+       rm -f "${ED}"/etc/pam.d/wdm || die
+
+       if use pam; then
+               pamd_mimic system-local-login wdm auth account password session
+       fi
+}

Reply via email to