public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/qdirstat/, sys-apps/qdirstat/files/
@ 2022-02-09 12:36 Conrad Kostecki
  0 siblings, 0 replies; only message in thread
From: Conrad Kostecki @ 2022-02-09 12:36 UTC (permalink / raw
  To: gentoo-commits

commit:     1d4d614e35253dfa2d748e5386d4040da9ecc0fd
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  9 12:34:38 2022 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Wed Feb  9 12:34:38 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d4d614e

sys-apps/qdirstat: fix build with musl

Closes: https://bugs.gentoo.org/832904
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 sys-apps/qdirstat/files/qdirstat-1.8-musl.patch | 102 ++++++++++++++++++++++++
 sys-apps/qdirstat/qdirstat-1.8.ebuild           |   4 +-
 2 files changed, 105 insertions(+), 1 deletion(-)

diff --git a/sys-apps/qdirstat/files/qdirstat-1.8-musl.patch b/sys-apps/qdirstat/files/qdirstat-1.8-musl.patch
new file mode 100644
index 000000000000..e730352a8040
--- /dev/null
+++ b/sys-apps/qdirstat/files/qdirstat-1.8-musl.patch
@@ -0,0 +1,102 @@
+From ca2c6c4a0a90ed467af9c4c73b918dd4bf720f2a Mon Sep 17 00:00:00 2001
+From: Stefan Hundhammer <Stefan.Hundhammer@gmx.de>
+Date: Wed, 9 Feb 2022 11:05:31 +0100
+Subject: [PATCH] Fixed GitHub issue #187: ALLPERMS not defined in libc-musl
+
+---
+ src/BrokenLibc.h   | 45 +++++++++++++++++++++++++++++++++++++++++++++
+ src/FileInfo.cpp   |  1 +
+ src/FormatUtil.cpp |  1 +
+ src/src.pro        |  3 ++-
+ 4 files changed, 49 insertions(+), 1 deletion(-)
+ create mode 100644 src/BrokenLibc.h
+
+diff --git a/src/BrokenLibc.h b/src/BrokenLibc.h
+new file mode 100644
+index 00000000..8bdf2a84
+--- /dev/null
++++ b/src/BrokenLibc.h
+@@ -0,0 +1,45 @@
++/*
++ *   File name: BrokenLibc.h
++ *   Summary:	Substitutes for common system-level defines
++ *   License:	GPL V2 - See file LICENSE for details.
++ *
++ *   Author:	Stefan Hundhammer <Stefan.Hundhammer@gmx.de>
++ */
++
++#ifndef BrokenLibc_h
++#define BrokenLibc_h
++
++// This contains common #defines that are present on modern systems, but
++// sometimes not on systems that insist to exchange known working subsystems
++// such as glibc with their own version, commonly because of the "not invented
++// here" syndrome.
++
++
++// Make sure the original defines are available regardless of include order
++
++#include <sys/stat.h>   // ALLPERMS
++
++
++#ifndef ALLPERMS
++#  define ALLPERMS 07777
++
++// Uncomment for debugging:
++// #  warning "Using ALLPERMS replacement"
++
++// Not available in musl-libc used on Gentoo:
++//
++//   https://github.com/shundhammer/qdirstat/issues/187
++//
++// Original from Linux / glibc /usr/include/x86_64-linux-gnu/sys/stat.h :
++//
++//   #define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++//
++// But that might induce more complaints because any of S_IRWXU, S_IRWXG
++// etc. may also not be defined on such a system. So let's keep it simple.
++// If they also use a different bit pattern for those permissions, that's their
++// problem.
++#endif
++
++
++
++#endif  // BrokenLibc_h
+diff --git a/src/FileInfo.cpp b/src/FileInfo.cpp
+index 6be13a8d..d8195819 100644
+--- a/src/FileInfo.cpp
++++ b/src/FileInfo.cpp
+@@ -26,6 +26,7 @@
+ #include "SysUtil.h"
+ #include "Logger.h"
+ #include "Exception.h"
++#include "BrokenLibc.h"     // ALLPERMS
+ 
+ // Some filesystems (NTFS seems to be among them) may handle block fragments
+ // well. Don't report files as "sparse" files if the block size is only a few
+diff --git a/src/FormatUtil.cpp b/src/FormatUtil.cpp
+index 6c755d79..43ca9ec4 100644
+--- a/src/FormatUtil.cpp
++++ b/src/FormatUtil.cpp
+@@ -11,6 +11,7 @@
+ #include <QTextStream>
+ 
+ #include "FormatUtil.h"
++#include "BrokenLibc.h"     // ALLPERMS
+ 
+ using namespace QDirStat;
+ 
+diff --git a/src/src.pro b/src/src.pro
+index c9616462..50b51ca4 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -157,7 +157,8 @@ HEADERS	  =				\
+ 	    ActionManager.h		\
+ 	    AdaptiveTimer.h		\
+ 	    Attic.h			\
+-	    BreadcrumbNavigator.h	\
++            BreadcrumbNavigator.h	\
++            BrokenLibc.h                \
+ 	    BucketsTableModel.h		\
+ 	    BusyPopup.h			\
+ 	    Cleanup.h			\

diff --git a/sys-apps/qdirstat/qdirstat-1.8.ebuild b/sys-apps/qdirstat/qdirstat-1.8.ebuild
index 64ab49423bd4..62fb4a2c928d 100644
--- a/sys-apps/qdirstat/qdirstat-1.8.ebuild
+++ b/sys-apps/qdirstat/qdirstat-1.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -26,6 +26,8 @@ RDEPEND="
 	dev-perl/URI
 "
 
+PATCHES=( "${FILESDIR}/${PN}-1.8-musl.patch" )
+
 src_prepare() {
 	default
 


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-09 12:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-09 12:36 [gentoo-commits] repo/gentoo:master commit in: sys-apps/qdirstat/, sys-apps/qdirstat/files/ Conrad Kostecki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox