forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-scheme/guile: add unmask patch bug #596864
Package-Manager: portage-2.3.0
- Loading branch information
Showing
2 changed files
with
155 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- a/libguile/filesys.c 2016-11-05 15:03:52.131894648 +0100 | ||
+++ b/libguile/filesys.c 2016-11-05 15:07:13.275894481 +0100 | ||
@@ -791,24 +791,18 @@ | ||
SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0, | ||
(SCM path, SCM mode), | ||
"Create a new directory named by @var{path}. If @var{mode} is omitted\n" | ||
- "then the permissions of the directory file are set using the current\n" | ||
- "umask. Otherwise they are set to the decimal value specified with\n" | ||
- "@var{mode}. The return value is unspecified.") | ||
+ "then the permissions of the directory are set to @code{#o777}\n" | ||
+ "masked with the current umask (@pxref{Processes, @code{umask}}).\n" | ||
+ "Otherwise they are set to the value specified with @var{mode}.\n" | ||
+ "The return value is unspecified.") | ||
#define FUNC_NAME s_scm_mkdir | ||
{ | ||
int rv; | ||
- mode_t mask; | ||
+ mode_t c_mode; | ||
|
||
- if (SCM_UNBNDP (mode)) | ||
- { | ||
- mask = umask (0); | ||
- umask (mask); | ||
- STRING_SYSCALL (path, c_path, rv = mkdir (c_path, 0777 ^ mask)); | ||
- } | ||
- else | ||
- { | ||
- STRING_SYSCALL (path, c_path, rv = mkdir (c_path, scm_to_uint (mode))); | ||
- } | ||
+ c_mode = SCM_UNBNDP (mode) ? 0777 : scm_to_uint (mode); | ||
+ | ||
+ STRING_SYSCALL (path, c_path, rv = mkdir (c_path, c_mode)); | ||
if (rv != 0) | ||
SCM_SYSERROR; | ||
return SCM_UNSPECIFIED; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=5 | ||
inherit eutils autotools flag-o-matic elisp-common | ||
|
||
DESCRIPTION="Scheme interpreter" | ||
HOMEPAGE="https://www.gnu.org/software/guile/" | ||
SRC_URI="mirror://gnu/guile/${P}.tar.gz" | ||
|
||
LICENSE="LGPL-2.1" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" | ||
IUSE="debug debug-freelist debug-malloc +deprecated discouraged emacs networking nls readline +regex +threads" | ||
|
||
RESTRICT="!regex? ( test )" | ||
|
||
RDEPEND=" | ||
>=dev-libs/gmp-4.1:0= | ||
dev-libs/libltdl:0= | ||
sys-devel/gettext | ||
sys-libs/ncurses:0= | ||
emacs? ( virtual/emacs ) | ||
readline? ( sys-libs/readline:0= )" | ||
DEPEND="${RDEPEND} | ||
sys-apps/texinfo | ||
sys-devel/libtool" | ||
|
||
# Guile seems to contain some slotting support, /usr/share/guile/ is slotted, | ||
# but there are lots of collisions. Most in /usr/share/libguile. Therefore | ||
# I'm slotting this in the same slot as guile-1.6* for now. | ||
SLOT="12/8" | ||
MAJOR="1.8" | ||
|
||
src_prepare() { | ||
epatch "${FILESDIR}/${P}-fix_guile-config.patch" \ | ||
"${FILESDIR}/${P}-gcc46.patch" \ | ||
"${FILESDIR}/${P}-gcc5.patch" \ | ||
"${FILESDIR}/${P}-makeinfo-5.patch" \ | ||
"${FILESDIR}/${P}-gtexinfo-5.patch" \ | ||
"${FILESDIR}/${P}-readline.patch" \ | ||
"${FILESDIR}/${P}-tinfo.patch" \ | ||
"${FILESDIR}/${P}-sandbox.patch" \ | ||
"${FILESDIR}/${P}-mkdir-mask.patch" | ||
|
||
sed \ | ||
-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g" \ | ||
-e "/AM_PROG_CC_STDC/d" \ | ||
-i guile-readline/configure.in || die | ||
|
||
epatch_user | ||
|
||
mv "${S}"/configure.{in,ac} || die | ||
mv "${S}"/guile-readline/configure.{in,ac} || die | ||
|
||
eautoreconf | ||
} | ||
|
||
src_configure() { | ||
# see bug #178499 | ||
filter-flags -ftree-vectorize | ||
|
||
#will fail for me if posix is disabled or without modules -- hkBst | ||
econf \ | ||
--disable-error-on-warning \ | ||
--disable-static \ | ||
--enable-posix \ | ||
$(use_enable networking) \ | ||
$(use_enable readline) \ | ||
$(use_enable regex) \ | ||
$(use deprecated || use_enable discouraged) \ | ||
$(use_enable deprecated) \ | ||
$(use_enable emacs elisp) \ | ||
$(use_enable nls) \ | ||
--disable-rpath \ | ||
$(use_enable debug-freelist) \ | ||
$(use_enable debug-malloc) \ | ||
$(use_enable debug guile-debug) \ | ||
$(use_with threads) \ | ||
--with-modules \ | ||
EMACS=no | ||
} | ||
|
||
src_compile() { | ||
emake | ||
|
||
# Above we have disabled the build system's Emacs support; | ||
# for USE=emacs we compile (and install) the files manually | ||
if use emacs; then | ||
cd emacs || die | ||
elisp-compile *.el || die | ||
fi | ||
} | ||
|
||
src_install() { | ||
emake DESTDIR="${D}" install | ||
|
||
dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS | ||
|
||
# texmacs needs this, closing bug #23493 | ||
dodir /etc/env.d | ||
echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile || die | ||
|
||
# necessary for registering slib, see bug 206896 | ||
keepdir /usr/share/guile/site | ||
|
||
if use emacs; then | ||
elisp-install ${PN} emacs/*.{el,elc} || die | ||
elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" || die | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
[ "${EROOT}" == "/" ] && pkg_config | ||
use emacs && elisp-site-regen | ||
} | ||
|
||
pkg_postrm() { | ||
use emacs && elisp-site-regen | ||
} |