Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
20557d6279 | ||
|
0bd361e62f | ||
|
70c97d53ea |
4
.gitignore
vendored
4
.gitignore
vendored
@ -27,7 +27,3 @@
|
|||||||
/emacs-26.3.tar.xz.sig
|
/emacs-26.3.tar.xz.sig
|
||||||
/emacs-27.1.tar.xz
|
/emacs-27.1.tar.xz
|
||||||
/emacs-27.1.tar.xz.sig
|
/emacs-27.1.tar.xz.sig
|
||||||
/emacs-27.2.tar.xz
|
|
||||||
/emacs-27.2.tar.xz.sig
|
|
||||||
/emacs-28.1.tar.xz
|
|
||||||
/emacs-28.1.tar.xz.sig
|
|
707
cdefs.h
707
cdefs.h
@ -1,707 +0,0 @@
|
|||||||
/* Copyright (C) 1992-2022 Free Software Foundation, Inc.
|
|
||||||
Copyright The GNU Toolchain Authors.
|
|
||||||
This file is part of the GNU C Library.
|
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with the GNU C Library; if not, see
|
|
||||||
<https://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#ifndef _SYS_CDEFS_H
|
|
||||||
#define _SYS_CDEFS_H 1
|
|
||||||
|
|
||||||
/* We are almost always included from features.h. */
|
|
||||||
#ifndef _FEATURES_H
|
|
||||||
# include <features.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The GNU libc does not support any K&R compilers or the traditional mode
|
|
||||||
of ISO C compilers anymore. Check for some of the combinations not
|
|
||||||
supported anymore. */
|
|
||||||
#if defined __GNUC__ && !defined __STDC__
|
|
||||||
# error "You need a ISO C conforming compiler to use the glibc headers"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Some user header file might have defined this before. */
|
|
||||||
#undef __P
|
|
||||||
#undef __PMT
|
|
||||||
|
|
||||||
/* Compilers that lack __has_attribute may object to
|
|
||||||
#if defined __has_attribute && __has_attribute (...)
|
|
||||||
even though they do not need to evaluate the right-hand side of the &&.
|
|
||||||
Similarly for __has_builtin, etc. */
|
|
||||||
#if (defined __has_attribute \
|
|
||||||
&& (!defined __clang_minor__ \
|
|
||||||
|| (defined __apple_build_version__ \
|
|
||||||
? 6000000 <= __apple_build_version__ \
|
|
||||||
: 3 < __clang_major__ + (5 <= __clang_minor__))))
|
|
||||||
# define __glibc_has_attribute(attr) __has_attribute (attr)
|
|
||||||
#else
|
|
||||||
# define __glibc_has_attribute(attr) 0
|
|
||||||
#endif
|
|
||||||
#ifdef __has_builtin
|
|
||||||
# define __glibc_has_builtin(name) __has_builtin (name)
|
|
||||||
#else
|
|
||||||
# define __glibc_has_builtin(name) 0
|
|
||||||
#endif
|
|
||||||
#ifdef __has_extension
|
|
||||||
# define __glibc_has_extension(ext) __has_extension (ext)
|
|
||||||
#else
|
|
||||||
# define __glibc_has_extension(ext) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined __GNUC__ || defined __clang__
|
|
||||||
|
|
||||||
/* All functions, except those with callbacks or those that
|
|
||||||
synchronize memory, are leaf functions. */
|
|
||||||
# if __GNUC_PREREQ (4, 6) && !defined _LIBC
|
|
||||||
# define __LEAF , __leaf__
|
|
||||||
# define __LEAF_ATTR __attribute__ ((__leaf__))
|
|
||||||
# else
|
|
||||||
# define __LEAF
|
|
||||||
# define __LEAF_ATTR
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* GCC can always grok prototypes. For C++ programs we add throw()
|
|
||||||
to help it optimize the function calls. But this only works with
|
|
||||||
gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions
|
|
||||||
as non-throwing using a function attribute since programs can use
|
|
||||||
the -fexceptions options for C code as well. */
|
|
||||||
# if !defined __cplusplus \
|
|
||||||
&& (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__))
|
|
||||||
# define __THROW __attribute__ ((__nothrow__ __LEAF))
|
|
||||||
# define __THROWNL __attribute__ ((__nothrow__))
|
|
||||||
# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
|
|
||||||
# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct
|
|
||||||
# else
|
|
||||||
# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4)
|
|
||||||
# if __cplusplus >= 201103L
|
|
||||||
# define __THROW noexcept (true)
|
|
||||||
# else
|
|
||||||
# define __THROW throw ()
|
|
||||||
# endif
|
|
||||||
# define __THROWNL __THROW
|
|
||||||
# define __NTH(fct) __LEAF_ATTR fct __THROW
|
|
||||||
# define __NTHNL(fct) fct __THROW
|
|
||||||
# else
|
|
||||||
# define __THROW
|
|
||||||
# define __THROWNL
|
|
||||||
# define __NTH(fct) fct
|
|
||||||
# define __NTHNL(fct) fct
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#else /* Not GCC or clang. */
|
|
||||||
|
|
||||||
# if (defined __cplusplus \
|
|
||||||
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
|
|
||||||
# define __inline inline
|
|
||||||
# else
|
|
||||||
# define __inline /* No inline functions. */
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define __THROW
|
|
||||||
# define __THROWNL
|
|
||||||
# define __NTH(fct) fct
|
|
||||||
|
|
||||||
#endif /* GCC || clang. */
|
|
||||||
|
|
||||||
/* These two macros are not used in glibc anymore. They are kept here
|
|
||||||
only because some other projects expect the macros to be defined. */
|
|
||||||
#define __P(args) args
|
|
||||||
#define __PMT(args) args
|
|
||||||
|
|
||||||
/* For these things, GCC behaves the ANSI way normally,
|
|
||||||
and the non-ANSI way under -traditional. */
|
|
||||||
|
|
||||||
#define __CONCAT(x,y) x ## y
|
|
||||||
#define __STRING(x) #x
|
|
||||||
|
|
||||||
/* This is not a typedef so `const __ptr_t' does the right thing. */
|
|
||||||
#define __ptr_t void *
|
|
||||||
|
|
||||||
|
|
||||||
/* C++ needs to know that types and declarations are C, not C++. */
|
|
||||||
#ifdef __cplusplus
|
|
||||||
# define __BEGIN_DECLS extern "C" {
|
|
||||||
# define __END_DECLS }
|
|
||||||
#else
|
|
||||||
# define __BEGIN_DECLS
|
|
||||||
# define __END_DECLS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Fortify support. */
|
|
||||||
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
|
|
||||||
#define __bos0(ptr) __builtin_object_size (ptr, 0)
|
|
||||||
|
|
||||||
/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */
|
|
||||||
#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \
|
|
||||||
|| __GNUC_PREREQ (12, 0))
|
|
||||||
# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0)
|
|
||||||
# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1)
|
|
||||||
#else
|
|
||||||
# define __glibc_objsize0(__o) __bos0 (__o)
|
|
||||||
# define __glibc_objsize(__o) __bos (__o)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Compile time conditions to choose between the regular, _chk and _chk_warn
|
|
||||||
variants. These conditions should get evaluated to constant and optimized
|
|
||||||
away. */
|
|
||||||
|
|
||||||
#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s))
|
|
||||||
#define __glibc_unsigned_or_positive(__l) \
|
|
||||||
((__typeof (__l)) 0 < (__typeof (__l)) -1 \
|
|
||||||
|| (__builtin_constant_p (__l) && (__l) > 0))
|
|
||||||
|
|
||||||
/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ
|
|
||||||
condition can be folded to a constant and if it is true. The -1 check is
|
|
||||||
redundant because since it implies that __glibc_safe_len_cond is true. */
|
|
||||||
#define __glibc_safe_or_unknown_len(__l, __s, __osz) \
|
|
||||||
(__glibc_unsigned_or_positive (__l) \
|
|
||||||
&& __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
|
|
||||||
__s, __osz)) \
|
|
||||||
&& __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz))
|
|
||||||
|
|
||||||
/* Conversely, we know at compile time that the length is unsafe if the
|
|
||||||
__L * __S <= __OBJSZ condition can be folded to a constant and if it is
|
|
||||||
false. */
|
|
||||||
#define __glibc_unsafe_len(__l, __s, __osz) \
|
|
||||||
(__glibc_unsigned_or_positive (__l) \
|
|
||||||
&& __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \
|
|
||||||
__s, __osz)) \
|
|
||||||
&& !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz))
|
|
||||||
|
|
||||||
/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be
|
|
||||||
declared. */
|
|
||||||
|
|
||||||
#define __glibc_fortify(f, __l, __s, __osz, ...) \
|
|
||||||
(__glibc_safe_or_unknown_len (__l, __s, __osz) \
|
|
||||||
? __ ## f ## _alias (__VA_ARGS__) \
|
|
||||||
: (__glibc_unsafe_len (__l, __s, __osz) \
|
|
||||||
? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \
|
|
||||||
: __ ## f ## _chk (__VA_ARGS__, __osz))) \
|
|
||||||
|
|
||||||
/* Fortify function f, where object size argument passed to f is the number of
|
|
||||||
elements and not total size. */
|
|
||||||
|
|
||||||
#define __glibc_fortify_n(f, __l, __s, __osz, ...) \
|
|
||||||
(__glibc_safe_or_unknown_len (__l, __s, __osz) \
|
|
||||||
? __ ## f ## _alias (__VA_ARGS__) \
|
|
||||||
: (__glibc_unsafe_len (__l, __s, __osz) \
|
|
||||||
? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \
|
|
||||||
: __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \
|
|
||||||
|
|
||||||
#if __GNUC_PREREQ (4,3)
|
|
||||||
# define __warnattr(msg) __attribute__((__warning__ (msg)))
|
|
||||||
# define __errordecl(name, msg) \
|
|
||||||
extern void name (void) __attribute__((__error__ (msg)))
|
|
||||||
#else
|
|
||||||
# define __warnattr(msg)
|
|
||||||
# define __errordecl(name, msg) extern void name (void)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Support for flexible arrays.
|
|
||||||
Headers that should use flexible arrays only if they're "real"
|
|
||||||
(e.g. only if they won't affect sizeof()) should test
|
|
||||||
#if __glibc_c99_flexarr_available. */
|
|
||||||
#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc
|
|
||||||
# define __flexarr []
|
|
||||||
# define __glibc_c99_flexarr_available 1
|
|
||||||
#elif __GNUC_PREREQ (2,97) || defined __clang__
|
|
||||||
/* GCC 2.97 and clang support C99 flexible array members as an extension,
|
|
||||||
even when in C89 mode or compiling C++ (any version). */
|
|
||||||
# define __flexarr []
|
|
||||||
# define __glibc_c99_flexarr_available 1
|
|
||||||
#elif defined __GNUC__
|
|
||||||
/* Pre-2.97 GCC did not support C99 flexible arrays but did have
|
|
||||||
an equivalent extension with slightly different notation. */
|
|
||||||
# define __flexarr [0]
|
|
||||||
# define __glibc_c99_flexarr_available 1
|
|
||||||
#else
|
|
||||||
/* Some other non-C99 compiler. Approximate with [1]. */
|
|
||||||
# define __flexarr [1]
|
|
||||||
# define __glibc_c99_flexarr_available 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* __asm__ ("xyz") is used throughout the headers to rename functions
|
|
||||||
at the assembly language level. This is wrapped by the __REDIRECT
|
|
||||||
macro, in order to support compilers that can do this some other
|
|
||||||
way. When compilers don't support asm-names at all, we have to do
|
|
||||||
preprocessor tricks instead (which don't have exactly the right
|
|
||||||
semantics, but it's the best we can do).
|
|
||||||
|
|
||||||
Example:
|
|
||||||
int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
|
|
||||||
|
|
||||||
#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4)
|
|
||||||
|
|
||||||
# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
|
|
||||||
# ifdef __cplusplus
|
|
||||||
# define __REDIRECT_NTH(name, proto, alias) \
|
|
||||||
name proto __THROW __asm__ (__ASMNAME (#alias))
|
|
||||||
# define __REDIRECT_NTHNL(name, proto, alias) \
|
|
||||||
name proto __THROWNL __asm__ (__ASMNAME (#alias))
|
|
||||||
# else
|
|
||||||
# define __REDIRECT_NTH(name, proto, alias) \
|
|
||||||
name proto __asm__ (__ASMNAME (#alias)) __THROW
|
|
||||||
# define __REDIRECT_NTHNL(name, proto, alias) \
|
|
||||||
name proto __asm__ (__ASMNAME (#alias)) __THROWNL
|
|
||||||
# endif
|
|
||||||
# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
|
|
||||||
# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
|
|
||||||
|
|
||||||
/*
|
|
||||||
#elif __SOME_OTHER_COMPILER__
|
|
||||||
|
|
||||||
# define __REDIRECT(name, proto, alias) name proto; \
|
|
||||||
_Pragma("let " #name " = " #alias)
|
|
||||||
*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* GCC and clang have various useful declarations that can be made with
|
|
||||||
the '__attribute__' syntax. All of the ways we use this do fine if
|
|
||||||
they are omitted for compilers that don't understand it. */
|
|
||||||
#if !(defined __GNUC__ || defined __clang__)
|
|
||||||
# define __attribute__(xyz) /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* At some point during the gcc 2.96 development the `malloc' attribute
|
|
||||||
for functions was introduced. We don't want to use it unconditionally
|
|
||||||
(although this would be possible) since it generates warnings. */
|
|
||||||
#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__)
|
|
||||||
# define __attribute_malloc__ __attribute__ ((__malloc__))
|
|
||||||
#else
|
|
||||||
# define __attribute_malloc__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Tell the compiler which arguments to an allocation function
|
|
||||||
indicate the size of the allocation. */
|
|
||||||
#if __GNUC_PREREQ (4, 3)
|
|
||||||
# define __attribute_alloc_size__(params) \
|
|
||||||
__attribute__ ((__alloc_size__ params))
|
|
||||||
#else
|
|
||||||
# define __attribute_alloc_size__(params) /* Ignore. */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Tell the compiler which argument to an allocation function
|
|
||||||
indicates the alignment of the allocation. */
|
|
||||||
#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__)
|
|
||||||
# define __attribute_alloc_align__(param) \
|
|
||||||
__attribute__ ((__alloc_align__ param))
|
|
||||||
#else
|
|
||||||
# define __attribute_alloc_align__(param) /* Ignore. */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* At some point during the gcc 2.96 development the `pure' attribute
|
|
||||||
for functions was introduced. We don't want to use it unconditionally
|
|
||||||
(although this would be possible) since it generates warnings. */
|
|
||||||
#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__)
|
|
||||||
# define __attribute_pure__ __attribute__ ((__pure__))
|
|
||||||
#else
|
|
||||||
# define __attribute_pure__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* This declaration tells the compiler that the value is constant. */
|
|
||||||
#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__)
|
|
||||||
# define __attribute_const__ __attribute__ ((__const__))
|
|
||||||
#else
|
|
||||||
# define __attribute_const__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__)
|
|
||||||
# define __attribute_maybe_unused__ __attribute__ ((__unused__))
|
|
||||||
#else
|
|
||||||
# define __attribute_maybe_unused__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* At some point during the gcc 3.1 development the `used' attribute
|
|
||||||
for functions was introduced. We don't want to use it unconditionally
|
|
||||||
(although this would be possible) since it generates warnings. */
|
|
||||||
#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__)
|
|
||||||
# define __attribute_used__ __attribute__ ((__used__))
|
|
||||||
# define __attribute_noinline__ __attribute__ ((__noinline__))
|
|
||||||
#else
|
|
||||||
# define __attribute_used__ __attribute__ ((__unused__))
|
|
||||||
# define __attribute_noinline__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Since version 3.2, gcc allows marking deprecated functions. */
|
|
||||||
#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__)
|
|
||||||
# define __attribute_deprecated__ __attribute__ ((__deprecated__))
|
|
||||||
#else
|
|
||||||
# define __attribute_deprecated__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Since version 4.5, gcc also allows one to specify the message printed
|
|
||||||
when a deprecated function is used. clang claims to be gcc 4.2, but
|
|
||||||
may also support this feature. */
|
|
||||||
#if __GNUC_PREREQ (4,5) \
|
|
||||||
|| __glibc_has_extension (__attribute_deprecated_with_message__)
|
|
||||||
# define __attribute_deprecated_msg__(msg) \
|
|
||||||
__attribute__ ((__deprecated__ (msg)))
|
|
||||||
#else
|
|
||||||
# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* At some point during the gcc 2.8 development the `format_arg' attribute
|
|
||||||
for functions was introduced. We don't want to use it unconditionally
|
|
||||||
(although this would be possible) since it generates warnings.
|
|
||||||
If several `format_arg' attributes are given for the same function, in
|
|
||||||
gcc-3.0 and older, all but the last one are ignored. In newer gccs,
|
|
||||||
all designated arguments are considered. */
|
|
||||||
#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__)
|
|
||||||
# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
|
|
||||||
#else
|
|
||||||
# define __attribute_format_arg__(x) /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* At some point during the gcc 2.97 development the `strfmon' format
|
|
||||||
attribute for functions was introduced. We don't want to use it
|
|
||||||
unconditionally (although this would be possible) since it
|
|
||||||
generates warnings. */
|
|
||||||
#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__)
|
|
||||||
# define __attribute_format_strfmon__(a,b) \
|
|
||||||
__attribute__ ((__format__ (__strfmon__, a, b)))
|
|
||||||
#else
|
|
||||||
# define __attribute_format_strfmon__(a,b) /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The nonnull function attribute marks pointer parameters that
|
|
||||||
must not be NULL. This has the name __nonnull in glibc,
|
|
||||||
and __attribute_nonnull__ in files shared with Gnulib to avoid
|
|
||||||
collision with a different __nonnull in DragonFlyBSD 5.9. */
|
|
||||||
#ifndef __attribute_nonnull__
|
|
||||||
# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
|
|
||||||
# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
|
|
||||||
# else
|
|
||||||
# define __attribute_nonnull__(params)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#ifndef __nonnull
|
|
||||||
# define __nonnull(params) __attribute_nonnull__ (params)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The returns_nonnull function attribute marks the return type of the function
|
|
||||||
as always being non-null. */
|
|
||||||
#ifndef __returns_nonnull
|
|
||||||
# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__)
|
|
||||||
# define __returns_nonnull __attribute__ ((__returns_nonnull__))
|
|
||||||
# else
|
|
||||||
# define __returns_nonnull
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* If fortification mode, we warn about unused results of certain
|
|
||||||
function calls which can lead to problems. */
|
|
||||||
#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__)
|
|
||||||
# define __attribute_warn_unused_result__ \
|
|
||||||
__attribute__ ((__warn_unused_result__))
|
|
||||||
# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0
|
|
||||||
# define __wur __attribute_warn_unused_result__
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define __attribute_warn_unused_result__ /* empty */
|
|
||||||
#endif
|
|
||||||
#ifndef __wur
|
|
||||||
# define __wur /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Forces a function to be always inlined. */
|
|
||||||
#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__)
|
|
||||||
/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
|
|
||||||
it conflicts with this definition. Therefore undefine it first to
|
|
||||||
allow either header to be included first. */
|
|
||||||
# undef __always_inline
|
|
||||||
# define __always_inline __inline __attribute__ ((__always_inline__))
|
|
||||||
#else
|
|
||||||
# undef __always_inline
|
|
||||||
# define __always_inline __inline
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Associate error messages with the source location of the call site rather
|
|
||||||
than with the source location inside the function. */
|
|
||||||
#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__)
|
|
||||||
# define __attribute_artificial__ __attribute__ ((__artificial__))
|
|
||||||
#else
|
|
||||||
# define __attribute_artificial__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
|
|
||||||
inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
|
|
||||||
or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
|
|
||||||
older than 4.3 may define these macros and still not guarantee GNU inlining
|
|
||||||
semantics.
|
|
||||||
|
|
||||||
clang++ identifies itself as gcc-4.2, but has support for GNU inlining
|
|
||||||
semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
|
|
||||||
__GNUC_GNU_INLINE__ macro definitions. */
|
|
||||||
#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
|
|
||||||
|| (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
|
|
||||||
|| defined __GNUC_GNU_INLINE__)))
|
|
||||||
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
|
|
||||||
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
|
|
||||||
# define __extern_always_inline \
|
|
||||||
extern __always_inline __attribute__ ((__gnu_inline__))
|
|
||||||
# else
|
|
||||||
# define __extern_inline extern __inline
|
|
||||||
# define __extern_always_inline extern __always_inline
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __extern_always_inline
|
|
||||||
# define __fortify_function __extern_always_inline __attribute_artificial__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* GCC 4.3 and above allow passing all anonymous arguments of an
|
|
||||||
__extern_always_inline function to some other vararg function. */
|
|
||||||
#if __GNUC_PREREQ (4,3)
|
|
||||||
# define __va_arg_pack() __builtin_va_arg_pack ()
|
|
||||||
# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* It is possible to compile containing GCC extensions even if GCC is
|
|
||||||
run in pedantic mode if the uses are carefully marked using the
|
|
||||||
`__extension__' keyword. But this is not generally available before
|
|
||||||
version 2.8. */
|
|
||||||
#if !(__GNUC_PREREQ (2,8) || defined __clang__)
|
|
||||||
# define __extension__ /* Ignore */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* __restrict is known in EGCS 1.2 and above, and in clang.
|
|
||||||
It works also in C++ mode (outside of arrays), but only when spelled
|
|
||||||
as '__restrict', not 'restrict'. */
|
|
||||||
#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3)
|
|
||||||
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
|
|
||||||
# define __restrict restrict
|
|
||||||
# else
|
|
||||||
# define __restrict /* Ignore */
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is
|
|
||||||
array_name[restrict]
|
|
||||||
GCC 3.1 and clang support this.
|
|
||||||
This syntax is not usable in C++ mode. */
|
|
||||||
#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus
|
|
||||||
# define __restrict_arr __restrict
|
|
||||||
#else
|
|
||||||
# ifdef __GNUC__
|
|
||||||
# define __restrict_arr /* Not supported in old GCC. */
|
|
||||||
# else
|
|
||||||
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
|
|
||||||
# define __restrict_arr restrict
|
|
||||||
# else
|
|
||||||
/* Some other non-C99 compiler. */
|
|
||||||
# define __restrict_arr /* Not supported. */
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect)
|
|
||||||
# define __glibc_unlikely(cond) __builtin_expect ((cond), 0)
|
|
||||||
# define __glibc_likely(cond) __builtin_expect ((cond), 1)
|
|
||||||
#else
|
|
||||||
# define __glibc_unlikely(cond) (cond)
|
|
||||||
# define __glibc_likely(cond) (cond)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (!defined _Noreturn \
|
|
||||||
&& (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
|
|
||||||
&& !(__GNUC_PREREQ (4,7) \
|
|
||||||
|| (3 < __clang_major__ + (5 <= __clang_minor__))))
|
|
||||||
# if __GNUC_PREREQ (2,8)
|
|
||||||
# define _Noreturn __attribute__ ((__noreturn__))
|
|
||||||
# else
|
|
||||||
# define _Noreturn
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __GNUC_PREREQ (8, 0)
|
|
||||||
/* Describes a char array whose address can safely be passed as the first
|
|
||||||
argument to strncpy and strncat, as the char array is not necessarily
|
|
||||||
a NUL-terminated string. */
|
|
||||||
# define __attribute_nonstring__ __attribute__ ((__nonstring__))
|
|
||||||
#else
|
|
||||||
# define __attribute_nonstring__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Undefine (also defined in libc-symbols.h). */
|
|
||||||
#undef __attribute_copy__
|
|
||||||
#if __GNUC_PREREQ (9, 0)
|
|
||||||
/* Copies attributes from the declaration or type referenced by
|
|
||||||
the argument. */
|
|
||||||
# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg)))
|
|
||||||
#else
|
|
||||||
# define __attribute_copy__(arg)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (!defined _Static_assert && !defined __cplusplus \
|
|
||||||
&& (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
|
|
||||||
&& (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \
|
|
||||||
|| defined __STRICT_ANSI__))
|
|
||||||
# define _Static_assert(expr, diagnostic) \
|
|
||||||
extern int (*__Static_assert_function (void)) \
|
|
||||||
[!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Gnulib avoids including these, as they don't work on non-glibc or
|
|
||||||
older glibc platforms. */
|
|
||||||
#ifndef __GNULIB_CDEFS
|
|
||||||
# include <bits/wordsize.h>
|
|
||||||
# include <bits/long-double.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
|
||||||
# ifdef __REDIRECT
|
|
||||||
|
|
||||||
/* Alias name defined automatically. */
|
|
||||||
# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
|
|
||||||
# define __LDBL_REDIR_DECL(name) \
|
|
||||||
extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
|
|
||||||
|
|
||||||
/* Alias name defined automatically, with leading underscores. */
|
|
||||||
# define __LDBL_REDIR2_DECL(name) \
|
|
||||||
extern __typeof (__##name) __##name \
|
|
||||||
__asm (__ASMNAME ("__" #name "ieee128"));
|
|
||||||
|
|
||||||
/* Alias name defined manually. */
|
|
||||||
# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
|
|
||||||
# define __LDBL_REDIR1_DECL(name, alias) \
|
|
||||||
extern __typeof (name) name __asm (__ASMNAME (#alias));
|
|
||||||
|
|
||||||
# define __LDBL_REDIR1_NTH(name, proto, alias) \
|
|
||||||
__REDIRECT_NTH (name, proto, alias)
|
|
||||||
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
|
|
||||||
__LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
|
|
||||||
|
|
||||||
/* Unused. */
|
|
||||||
# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
|
|
||||||
# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
|
|
||||||
|
|
||||||
# else
|
|
||||||
_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
|
|
||||||
# endif
|
|
||||||
#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
|
|
||||||
# define __LDBL_COMPAT 1
|
|
||||||
# ifdef __REDIRECT
|
|
||||||
# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
|
|
||||||
# define __LDBL_REDIR(name, proto) \
|
|
||||||
__LDBL_REDIR1 (name, proto, __nldbl_##name)
|
|
||||||
# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
|
|
||||||
# define __LDBL_REDIR_NTH(name, proto) \
|
|
||||||
__LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
|
|
||||||
# define __LDBL_REDIR2_DECL(name) \
|
|
||||||
extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
|
|
||||||
# define __LDBL_REDIR1_DECL(name, alias) \
|
|
||||||
extern __typeof (name) name __asm (__ASMNAME (#alias));
|
|
||||||
# define __LDBL_REDIR_DECL(name) \
|
|
||||||
extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
|
|
||||||
# define __REDIRECT_LDBL(name, proto, alias) \
|
|
||||||
__LDBL_REDIR1 (name, proto, __nldbl_##alias)
|
|
||||||
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
|
|
||||||
__LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
|
|
||||||
|| !defined __REDIRECT
|
|
||||||
# define __LDBL_REDIR1(name, proto, alias) name proto
|
|
||||||
# define __LDBL_REDIR(name, proto) name proto
|
|
||||||
# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
|
|
||||||
# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
|
|
||||||
# define __LDBL_REDIR2_DECL(name)
|
|
||||||
# define __LDBL_REDIR_DECL(name)
|
|
||||||
# ifdef __REDIRECT
|
|
||||||
# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
|
|
||||||
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
|
|
||||||
__REDIRECT_NTH (name, proto, alias)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
|
|
||||||
intended for use in preprocessor macros.
|
|
||||||
|
|
||||||
Note: MESSAGE must be a _single_ string; concatenation of string
|
|
||||||
literals is not supported. */
|
|
||||||
#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
|
|
||||||
# define __glibc_macro_warning1(message) _Pragma (#message)
|
|
||||||
# define __glibc_macro_warning(message) \
|
|
||||||
__glibc_macro_warning1 (GCC warning message)
|
|
||||||
#else
|
|
||||||
# define __glibc_macro_warning(msg)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Generic selection (ISO C11) is a C-only feature, available in GCC
|
|
||||||
since version 4.9. Previous versions do not provide generic
|
|
||||||
selection, even though they might set __STDC_VERSION__ to 201112L,
|
|
||||||
when in -std=c11 mode. Thus, we must check for !defined __GNUC__
|
|
||||||
when testing __STDC_VERSION__ for generic selection support.
|
|
||||||
On the other hand, Clang also defines __GNUC__, so a clang-specific
|
|
||||||
check is required to enable the use of generic selection. */
|
|
||||||
#if !defined __cplusplus \
|
|
||||||
&& (__GNUC_PREREQ (4, 9) \
|
|
||||||
|| __glibc_has_extension (c_generic_selections) \
|
|
||||||
|| (!defined __GNUC__ && defined __STDC_VERSION__ \
|
|
||||||
&& __STDC_VERSION__ >= 201112L))
|
|
||||||
# define __HAVE_GENERIC_SELECTION 1
|
|
||||||
#else
|
|
||||||
# define __HAVE_GENERIC_SELECTION 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __GNUC_PREREQ (10, 0)
|
|
||||||
/* Designates a 1-based positional argument ref-index of pointer type
|
|
||||||
that can be used to access size-index elements of the pointed-to
|
|
||||||
array according to access mode, or at least one element when
|
|
||||||
size-index is not provided:
|
|
||||||
access (access-mode, <ref-index> [, <size-index>]) */
|
|
||||||
# define __attr_access(x) __attribute__ ((__access__ x))
|
|
||||||
/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may
|
|
||||||
use the access attribute to get object sizes from function definition
|
|
||||||
arguments, so we can't use them on functions we fortify. Drop the object
|
|
||||||
size hints for such functions. */
|
|
||||||
# if __USE_FORTIFY_LEVEL == 3
|
|
||||||
# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o)))
|
|
||||||
# else
|
|
||||||
# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s))
|
|
||||||
# endif
|
|
||||||
# if __GNUC_PREREQ (11, 0)
|
|
||||||
# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))
|
|
||||||
# else
|
|
||||||
# define __attr_access_none(argno)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define __fortified_attr_access(a, o, s)
|
|
||||||
# define __attr_access(x)
|
|
||||||
# define __attr_access_none(argno)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __GNUC_PREREQ (11, 0)
|
|
||||||
/* Designates dealloc as a function to call to deallocate objects
|
|
||||||
allocated by the declared function. */
|
|
||||||
# define __attr_dealloc(dealloc, argno) \
|
|
||||||
__attribute__ ((__malloc__ (dealloc, argno)))
|
|
||||||
# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1)
|
|
||||||
#else
|
|
||||||
# define __attr_dealloc(dealloc, argno)
|
|
||||||
# define __attr_dealloc_free
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Specify that a function such as setjmp or vfork may return
|
|
||||||
twice. */
|
|
||||||
#if __GNUC_PREREQ (4, 1)
|
|
||||||
# define __attribute_returns_twice__ __attribute__ ((__returns_twice__))
|
|
||||||
#else
|
|
||||||
# define __attribute_returns_twice__ /* Ignore. */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* sys/cdefs.h */
|
|
@ -1,31 +0,0 @@
|
|||||||
From a56539c1d7ef7aa56e575685bdfe1406aebb518d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Oliver <git@mavit.org.uk>
|
|
||||||
Date: Wed, 5 Feb 2020 12:42:04 +0000
|
|
||||||
Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assemble=20systemdunitdir=20fro?=
|
|
||||||
=?UTF-8?q?m=20`libdir`?=
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
On 64 bit Fedora, `libdir` is `/usr/lib64`, whereas systemd services
|
|
||||||
live under `/usr/lib/systemd`.
|
|
||||||
---
|
|
||||||
Makefile.in | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile.in b/Makefile.in
|
|
||||||
index 2c82c49fba..b2468eb824 100644
|
|
||||||
--- a/Makefile.in
|
|
||||||
+++ b/Makefile.in
|
|
||||||
@@ -208,7 +208,7 @@ appdatadir=
|
|
||||||
# Other options include ~/.config/systemd/user/,
|
|
||||||
# $XDG_RUNTIME_DIR/systemd/user/
|
|
||||||
# It seems the user may end up having to make a manual link...
|
|
||||||
-systemdunitdir=$(libdir)/systemd/user
|
|
||||||
+systemdunitdir=$(shell pkg-config --variable=systemduserunitdir systemd)
|
|
||||||
|
|
||||||
# Where the etc/images/icons/hicolor directory is to be installed.
|
|
||||||
icondir=$(datarootdir)/icons
|
|
||||||
--
|
|
||||||
2.24.1
|
|
||||||
|
|
@ -1,171 +0,0 @@
|
|||||||
From e81f1faca4382ed5c8f15fec84fb7c900a5468f9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Glenn Morris <rgm@gnu.org>
|
|
||||||
Date: Mon, 11 Oct 2021 14:03:26 +0200
|
|
||||||
Subject: Make the installed pmdp file use a fingerprint
|
|
||||||
|
|
||||||
* Makefile.in (EMACS_PDMP): Use --fingerprint.
|
|
||||||
|
|
||||||
* doc/emacs/cmdargs.texi (Action Arguments): Document --fingerprint.
|
|
||||||
|
|
||||||
* src/emacs.c (load_pdump): Load the fingerprinted version of the
|
|
||||||
pdmp file (bug#42790).
|
|
||||||
(main): Support --fingerprint.
|
|
||||||
|
|
||||||
* src/pdumper.c (dump_fingerprint): Make non-static.
|
|
||||||
|
|
||||||
* src/pdumper.h: Declare dump_fingerprint.
|
|
||||||
---
|
|
||||||
Makefile.in | 3 ++-
|
|
||||||
doc/emacs/cmdargs.texi | 5 +++++
|
|
||||||
src/emacs.c | 31 +++++++++++++++++++++++++++++--
|
|
||||||
src/pdumper.c | 2 +-
|
|
||||||
src/pdumper.h | 3 +++
|
|
||||||
5 files changed, 40 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile.in b/Makefile.in
|
|
||||||
index 5fc1edc..c6c507f 100644
|
|
||||||
--- a/Makefile.in
|
|
||||||
+++ b/Makefile.in
|
|
||||||
@@ -313,6 +313,7 @@ TRANSFORM = @program_transform_name@
|
|
||||||
EMACS_NAME = `echo emacs | sed '$(TRANSFORM)'`
|
|
||||||
EMACS = ${EMACS_NAME}${EXEEXT}
|
|
||||||
EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`${EXEEXT}
|
|
||||||
+EMACS_PDMP = `./src/emacs${EXEEXT} --fingerprint 2>&1 | sed 's/.* //'`.pdmp
|
|
||||||
|
|
||||||
# Subdirectories to make recursively.
|
|
||||||
SUBDIR = $(NTDIR) lib lib-src src lisp
|
|
||||||
@@ -521,7 +522,7 @@ install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR)
|
|
||||||
ifeq (${ns_self_contained},no)
|
|
||||||
${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} "$(DESTDIR)${bindir}/$(EMACSFULL)"
|
|
||||||
ifeq (${DUMPING},pdumper)
|
|
||||||
- ${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs.pdmp
|
|
||||||
+ ${INSTALL_DATA} src/emacs.pdmp "$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}"/emacs-${EMACS_PDMP}
|
|
||||||
endif
|
|
||||||
-chmod 755 "$(DESTDIR)${bindir}/$(EMACSFULL)"
|
|
||||||
ifndef NO_BIN_LINK
|
|
||||||
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
|
|
||||||
index d5177fa..313682b 100644
|
|
||||||
--- a/doc/emacs/cmdargs.texi
|
|
||||||
+++ b/doc/emacs/cmdargs.texi
|
|
||||||
@@ -185,6 +185,11 @@ successfully.
|
|
||||||
@item --version
|
|
||||||
@opindex --version
|
|
||||||
Print Emacs version, then exit successfully.
|
|
||||||
+
|
|
||||||
+@item --fingerprint
|
|
||||||
+@opindex --fingerprint
|
|
||||||
+Print the Emacs ``fingerprint'', which is used to uniquely identify
|
|
||||||
+the compiled version of Emacs.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@node Initial Options
|
|
||||||
diff --git a/src/emacs.c b/src/emacs.c
|
|
||||||
index 866e43f..cda7a9b 100644
|
|
||||||
--- a/src/emacs.c
|
|
||||||
+++ b/src/emacs.c
|
|
||||||
@@ -133,6 +133,7 @@ extern char etext;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "pdumper.h"
|
|
||||||
+#include "fingerprint.h"
|
|
||||||
#include "epaths.h"
|
|
||||||
|
|
||||||
static const char emacs_version[] = PACKAGE_VERSION;
|
|
||||||
@@ -255,6 +256,7 @@ Initialization options:\n\
|
|
||||||
#ifdef HAVE_PDUMPER
|
|
||||||
"\
|
|
||||||
--dump-file FILE read dumped state from FILE\n\
|
|
||||||
+--fingerprint output fingerprint and exit\n\
|
|
||||||
",
|
|
||||||
#endif
|
|
||||||
#if SECCOMP_USABLE
|
|
||||||
@@ -830,6 +832,8 @@ load_pdump (int argc, char **argv)
|
|
||||||
const char *const suffix = ".pdmp";
|
|
||||||
int result;
|
|
||||||
char *emacs_executable = argv[0];
|
|
||||||
+ ptrdiff_t hexbuf_size;
|
|
||||||
+ char *hexbuf;
|
|
||||||
const char *strip_suffix =
|
|
||||||
#if defined DOS_NT || defined CYGWIN
|
|
||||||
".exe"
|
|
||||||
@@ -927,9 +931,15 @@ load_pdump (int argc, char **argv)
|
|
||||||
/* Look for "emacs.pdmp" in PATH_EXEC. We hardcode "emacs" in
|
|
||||||
"emacs.pdmp" so that the Emacs binary still works if the user
|
|
||||||
copies and renames it. */
|
|
||||||
+ hexbuf_size = 2 * sizeof fingerprint;
|
|
||||||
+ hexbuf = xmalloc (hexbuf_size + 1);
|
|
||||||
+ hexbuf_digest (hexbuf, (char *)fingerprint, sizeof fingerprint);
|
|
||||||
+ hexbuf[hexbuf_size] = '\0';
|
|
||||||
needed = (strlen (path_exec)
|
|
||||||
+ 1
|
|
||||||
+ strlen (argv0_base)
|
|
||||||
+ + 1
|
|
||||||
+ + strlen (hexbuf)
|
|
||||||
+ strlen (suffix)
|
|
||||||
+ 1);
|
|
||||||
if (bufsize < needed)
|
|
||||||
@@ -937,8 +947,8 @@ load_pdump (int argc, char **argv)
|
|
||||||
xfree (dump_file);
|
|
||||||
dump_file = xpalloc (NULL, &bufsize, needed - bufsize, -1, 1);
|
|
||||||
}
|
|
||||||
- sprintf (dump_file, "%s%c%s%s",
|
|
||||||
- path_exec, DIRECTORY_SEP, argv0_base, suffix);
|
|
||||||
+ sprintf (dump_file, "%s%c%s-%s%s",
|
|
||||||
+ path_exec, DIRECTORY_SEP, argv0_base, hexbuf, suffix);
|
|
||||||
#if !defined (NS_SELF_CONTAINED)
|
|
||||||
/* Assume the Emacs binary lives in a sibling directory as set up by
|
|
||||||
the default installation configuration. */
|
|
||||||
@@ -1387,6 +1397,23 @@ main (int argc, char **argv)
|
|
||||||
exit (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef HAVE_PDUMPER
|
|
||||||
+ if (argmatch (argv, argc, "-fingerprint", "--fingerprint", 4,
|
|
||||||
+ NULL, &skip_args))
|
|
||||||
+ {
|
|
||||||
+ if (initialized)
|
|
||||||
+ {
|
|
||||||
+ dump_fingerprint ("fingerprint", (unsigned char *)fingerprint);
|
|
||||||
+ exit (0);
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ fputs ("Not initialized\n", stderr);
|
|
||||||
+ exit (1);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
emacs_wd = emacs_get_current_dir_name ();
|
|
||||||
#ifdef HAVE_PDUMPER
|
|
||||||
if (dumped_with_pdumper_p ())
|
|
||||||
diff --git a/src/pdumper.c b/src/pdumper.c
|
|
||||||
index 11c680d..977f4fb 100644
|
|
||||||
--- a/src/pdumper.c
|
|
||||||
+++ b/src/pdumper.c
|
|
||||||
@@ -312,7 +312,7 @@ dump_reloc_set_offset (struct dump_reloc *reloc, dump_off offset)
|
|
||||||
error ("dump relocation out of range");
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void
|
|
||||||
+void
|
|
||||||
dump_fingerprint (char const *label,
|
|
||||||
unsigned char const xfingerprint[sizeof fingerprint])
|
|
||||||
{
|
|
||||||
diff --git a/src/pdumper.h b/src/pdumper.h
|
|
||||||
index deec9af..bc339c4 100644
|
|
||||||
--- a/src/pdumper.h
|
|
||||||
+++ b/src/pdumper.h
|
|
||||||
@@ -50,6 +50,9 @@ enum { PDUMPER_NO_OBJECT = -1 };
|
|
||||||
#define PDUMPER_REMEMBER_SCALAR(thing) \
|
|
||||||
pdumper_remember_scalar (&(thing), sizeof (thing))
|
|
||||||
|
|
||||||
+extern void dump_fingerprint (const char *label,
|
|
||||||
+ const unsigned char *xfingerprint);
|
|
||||||
+
|
|
||||||
extern void pdumper_remember_scalar_impl (void *data, ptrdiff_t nbytes);
|
|
||||||
|
|
||||||
INLINE void
|
|
||||||
--
|
|
||||||
cgit v1.1
|
|
||||||
|
|
@ -1,22 +1,16 @@
|
|||||||
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
|
||||||
index 0a3a49d868..b6c0975857 100644
|
index 1d28de7..1daec44 100644
|
||||||
--- a/lisp/textmodes/ispell.el
|
--- a/lisp/textmodes/ispell.el
|
||||||
+++ b/lisp/textmodes/ispell.el
|
+++ b/lisp/textmodes/ispell.el
|
||||||
@@ -191,12 +191,12 @@ Must be greater than 1."
|
@@ -200,9 +200,9 @@
|
||||||
:type 'integer)
|
;; cause an error; and one of the other spelling engines below is
|
||||||
|
;; almost certainly installed in any case, for enchant to use.
|
||||||
(defcustom ispell-program-name
|
(defcustom ispell-program-name
|
||||||
- (or (executable-find "aspell")
|
- (or (executable-find "aspell")
|
||||||
- (executable-find "ispell")
|
+ (or (executable-find "hunspell")
|
||||||
+ ;; Enchant is commonly installed as `enchant-2', so use this
|
|
||||||
+ ;; name and avoid old versions of `enchant'.
|
|
||||||
+ (or (executable-find "enchant-2")
|
|
||||||
(executable-find "hunspell")
|
|
||||||
- ;; Enchant is commonly installed as `enchant-2', so use this
|
|
||||||
- ;; name and avoid old versions of `enchant'.
|
|
||||||
- (executable-find "enchant-2")
|
|
||||||
+ (executable-find "aspell")
|
+ (executable-find "aspell")
|
||||||
+ (executable-find "ispell")
|
(executable-find "ispell")
|
||||||
|
- (executable-find "hunspell")
|
||||||
"ispell")
|
"ispell")
|
||||||
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
|
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
|
||||||
:type 'string
|
:type 'string
|
||||||
|
64
emacs.appdata.xml
Normal file
64
emacs.appdata.xml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Copyright 2014 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> -->
|
||||||
|
<component type="desktop">
|
||||||
|
<id>emacs.desktop</id>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<project_license>GPL-3.0+</project_license>
|
||||||
|
<name>GNU Emacs</name>
|
||||||
|
<summary>Edit text files, view pictures and binary files</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
Emacs is a powerful, customizable, self-documenting, modeless
|
||||||
|
editor. It is used primarely to edit text, including text
|
||||||
|
documents, source code of programs, web pages and XML documents,
|
||||||
|
but can also be used to display and edit binary files.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Emacs allows efficient editing of text with shortcuts which
|
||||||
|
allow operating on letters, words, sentences, and paragraphs as
|
||||||
|
single units. This includes both moving around and operations
|
||||||
|
like copying, deleting, transposing, and pasting. Macros can be
|
||||||
|
conveniently defined to repeat sequences of commands. In
|
||||||
|
addition, Emacs is (partially) built in a scripting language
|
||||||
|
(elisp) which can also be used to define further functions
|
||||||
|
extending existing capabilities.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Emacs has extensive support for editing source code, including
|
||||||
|
programmable syntax highlighting, automatic indentation, source
|
||||||
|
code indexing, overview modes, and navigation based on language
|
||||||
|
specific units like functions and blocks. It is also possible to
|
||||||
|
invoke the compiler from within Emacs and easily move between
|
||||||
|
compiler output and corresponding positions in the source.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Emacs has multiple modules which provide further functionality.
|
||||||
|
This provides the capability to read mail, news, browse
|
||||||
|
pictures, read man and info pages, browse the web, execute
|
||||||
|
arbitrary programs, and more, without leaving the editor.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default" height="888" width="1595">
|
||||||
|
<image>http://in.waw.pl/~zbyszek/fedora/emacs-two-buffers.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot height="667" width="1199">
|
||||||
|
<image>http://in.waw.pl/~zbyszek/fedora/emacs-editing-xml.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot height="572" width="1019">
|
||||||
|
<image>http://in.waw.pl/~zbyszek/fedora/emacs-hexl-mode.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot height="667" width="1199">
|
||||||
|
<image>http://in.waw.pl/~zbyszek/fedora/emacs-showing-svg.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot height="439" width="794">
|
||||||
|
<image>http://in.waw.pl/~zbyszek/fedora/emacs-with-python-source.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<url type="homepage">http://www.gnu.org/software/emacs/</url>
|
||||||
|
<url type="bugtracker">https://www.gnu.org/software/emacs/manual/html_node/emacs/Bugs.html</url>
|
||||||
|
<url type="donation">https://my.fsf.org/donate/</url>
|
||||||
|
<url type="help">https://www.gnu.org/software/emacs/manual/</url>
|
||||||
|
<update_contact>zbyszek@in.waw.pl</update_contact>
|
||||||
|
<translation/>
|
||||||
|
</component>
|
12
emacs.desktop
Normal file
12
emacs.desktop
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Emacs
|
||||||
|
GenericName=Text Editor
|
||||||
|
Comment=Edit text
|
||||||
|
Comment[zh_TW]=編輯文字
|
||||||
|
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||||
|
Exec=emacs %f
|
||||||
|
Icon=emacs
|
||||||
|
Type=Application
|
||||||
|
Terminal=false
|
||||||
|
Categories=Utility;TextEditor;X-Red-Hat-Base;
|
||||||
|
StartupWMClass=Emacs
|
11
emacs.service
Normal file
11
emacs.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Emacs: the extensible, self-documenting text editor
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStart=/usr/bin/emacs --daemon
|
||||||
|
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
238
emacs.spec
238
emacs.spec
@ -4,27 +4,29 @@
|
|||||||
Summary: GNU Emacs text editor
|
Summary: GNU Emacs text editor
|
||||||
Name: emacs
|
Name: emacs
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 28.1
|
Version: 27.1
|
||||||
Release: 3%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv3+ and CC0
|
License: GPLv3+ and CC0-1.0
|
||||||
URL: http://www.gnu.org/software/emacs/
|
URL: http://www.gnu.org/software/emacs/
|
||||||
Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
|
Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
|
||||||
Source1: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz.sig
|
Source1: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz.sig
|
||||||
# get Eli Zaretskii's key
|
# generate the keyring via:
|
||||||
# wget https://keys.openpgp.org/vks/v1/by-fingerprint/17E90D521672C04631B1183EE78DAE0F3115E06B -O gpgkey-17E90D521672C04631B1183EE78DAE0F3115E06B.gpg
|
# wget https://ftp.gnu.org/gnu/gnu-keyring.gpg
|
||||||
Source2: gpgkey-17E90D521672C04631B1183EE78DAE0F3115E06B.gpg
|
# gpg2 --import gnu-keyring.gpg
|
||||||
Source3: https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/cdefs.h;hb=refs/heads/master#./cdefs.h
|
# gpg2 --armor --export D405AA2C862C54F17EEE6BE0E8BCD7866AFCF978 > gpgkey-D405AA2C862C54F17EEE6BE0E8BCD7866AFCF978.gpg
|
||||||
|
Source2: gpgkey-D405AA2C862C54F17EEE6BE0E8BCD7866AFCF978.gpg
|
||||||
|
Source3: emacs.desktop
|
||||||
Source4: dotemacs.el
|
Source4: dotemacs.el
|
||||||
Source5: site-start.el
|
Source5: site-start.el
|
||||||
Source6: default.el
|
Source6: default.el
|
||||||
# Emacs Terminal Mode, #551949, #617355
|
# Emacs Terminal Mode, #551949, #617355
|
||||||
Source7: emacs-terminal.desktop
|
Source7: emacs-terminal.desktop
|
||||||
Source8: emacs-terminal.sh
|
Source8: emacs-terminal.sh
|
||||||
|
Source9: emacs.service
|
||||||
|
Source10: %{name}.appdata.xml
|
||||||
# rhbz#713600
|
# rhbz#713600
|
||||||
Patch1: emacs-spellchecker.patch
|
Patch1: emacs-spellchecker.patch
|
||||||
Patch2: emacs-system-crypto-policies.patch
|
Patch2: emacs-system-crypto-policies.patch
|
||||||
Patch3: emacs-libdir-vs-systemd.patch
|
|
||||||
Patch4: emacs-pdmp-fingerprint.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: atk-devel
|
BuildRequires: atk-devel
|
||||||
@ -62,12 +64,10 @@ BuildRequires: cairo
|
|||||||
BuildRequires: texinfo
|
BuildRequires: texinfo
|
||||||
BuildRequires: gzip
|
BuildRequires: gzip
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: libappstream-glib
|
|
||||||
BuildRequires: libacl-devel
|
BuildRequires: libacl-devel
|
||||||
BuildRequires: harfbuzz-devel
|
BuildRequires: harfbuzz-devel
|
||||||
BuildRequires: jansson-devel
|
BuildRequires: jansson-devel
|
||||||
BuildRequires: systemd-devel
|
BuildRequires: systemd-devel
|
||||||
BuildRequires: libgccjit-devel
|
|
||||||
|
|
||||||
BuildRequires: gtk3-devel
|
BuildRequires: gtk3-devel
|
||||||
BuildRequires: webkit2gtk3-devel
|
BuildRequires: webkit2gtk3-devel
|
||||||
@ -80,14 +80,11 @@ BuildRequires: Xaw3d-devel
|
|||||||
%ifarch %{ix86}
|
%ifarch %{ix86}
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: make
|
|
||||||
|
|
||||||
# Emacs requires info for info mode, rhbz#1989264
|
|
||||||
Requires: info
|
|
||||||
# Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422
|
# Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422
|
||||||
Requires: desktop-file-utils
|
Requires: desktop-file-utils
|
||||||
Requires: dejavu-sans-mono-fonts
|
Requires: dejavu-sans-mono-fonts
|
||||||
Requires: libgccjit
|
|
||||||
Requires(preun): %{_sbindir}/alternatives
|
Requires(preun): %{_sbindir}/alternatives
|
||||||
Requires(posttrans): %{_sbindir}/alternatives
|
Requires(posttrans): %{_sbindir}/alternatives
|
||||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||||
@ -98,7 +95,6 @@ Provides: emacs(bin) = %{epoch}:%{version}-%{release}
|
|||||||
%define bytecompargs -batch --no-init-file --no-site-file -f batch-byte-compile
|
%define bytecompargs -batch --no-init-file --no-site-file -f batch-byte-compile
|
||||||
%define pkgconfig %{_datadir}/pkgconfig
|
%define pkgconfig %{_datadir}/pkgconfig
|
||||||
%define emacs_libexecdir %{_libexecdir}/emacs/%{version}/%{_host}
|
%define emacs_libexecdir %{_libexecdir}/emacs/%{version}/%{_host}
|
||||||
%define native_lisp %{_libdir}/emacs/%{version}/native-lisp
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||||
@ -110,7 +106,6 @@ This package provides an emacs binary with support for X windows.
|
|||||||
|
|
||||||
%package lucid
|
%package lucid
|
||||||
Summary: GNU Emacs text editor with LUCID toolkit X support
|
Summary: GNU Emacs text editor with LUCID toolkit X support
|
||||||
Requires: libgccjit
|
|
||||||
Requires(preun): %{_sbindir}/alternatives
|
Requires(preun): %{_sbindir}/alternatives
|
||||||
Requires(posttrans): %{_sbindir}/alternatives
|
Requires(posttrans): %{_sbindir}/alternatives
|
||||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||||
@ -127,7 +122,6 @@ using LUCID toolkit.
|
|||||||
|
|
||||||
%package nox
|
%package nox
|
||||||
Summary: GNU Emacs text editor without X support
|
Summary: GNU Emacs text editor without X support
|
||||||
Requires: libgccjit
|
|
||||||
Requires(preun): %{_sbindir}/alternatives
|
Requires(preun): %{_sbindir}/alternatives
|
||||||
Requires(posttrans): %{_sbindir}/alternatives
|
Requires(posttrans): %{_sbindir}/alternatives
|
||||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||||
@ -150,14 +144,8 @@ License: GPLv3+ and GFDL and BSD
|
|||||||
Requires(preun): %{_sbindir}/alternatives
|
Requires(preun): %{_sbindir}/alternatives
|
||||||
Requires(posttrans): %{_sbindir}/alternatives
|
Requires(posttrans): %{_sbindir}/alternatives
|
||||||
Requires: %{name}-filesystem = %{epoch}:%{version}-%{release}
|
Requires: %{name}-filesystem = %{epoch}:%{version}-%{release}
|
||||||
Recommends: enchant2
|
|
||||||
Provides: %{name}-el = %{epoch}:%{version}-%{release}
|
Provides: %{name}-el = %{epoch}:%{version}-%{release}
|
||||||
Obsoletes: emacs-el < 1:24.3-29
|
Obsoletes: emacs-el < 1:24.3-29
|
||||||
# transient.el is provided by emacs in lisp/transient.el
|
|
||||||
Provides: emacs-transient = 0.3.7
|
|
||||||
# the existing emacs-transient package is obsoleted by emacs 28+, last package
|
|
||||||
# version as of the release of emacs 28.1 is obsoleted
|
|
||||||
Obsoletes: emacs-transient < 0.3.0-4
|
|
||||||
|
|
||||||
%description common
|
%description common
|
||||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||||
@ -198,15 +186,13 @@ Development header files for Emacs.
|
|||||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
# workaround for ftbfs on ppc64, see https://bugzilla.redhat.com/show_bug.cgi?id=2045780#c8
|
|
||||||
cp -p %{SOURCE3} lib/
|
|
||||||
|
|
||||||
%patch1 -p1 -b .spellchecker
|
%patch1 -p1 -b .spellchecker
|
||||||
%patch2 -p1 -b .system-crypto-policies
|
%patch2 -p1 -b .system-crypto-policies
|
||||||
%patch3 -p1 -b .libdir-vs-systemd
|
|
||||||
%patch4 -p1 -b .pdmp-fingerprint
|
|
||||||
autoconf
|
autoconf
|
||||||
|
|
||||||
|
# We prefer our emacs.desktop file
|
||||||
|
cp %SOURCE3 etc/emacs.desktop
|
||||||
|
|
||||||
grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
||||||
&& mv lisp/Makefile.in.new lisp/Makefile.in
|
&& mv lisp/Makefile.in.new lisp/Makefile.in
|
||||||
grep -v "pong.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
grep -v "pong.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
||||||
@ -248,6 +234,19 @@ ln -s ../../%{name}/%{version}/etc/NEWS doc
|
|||||||
export CFLAGS="-DMAIL_USE_LOCKF %{build_cflags}"
|
export CFLAGS="-DMAIL_USE_LOCKF %{build_cflags}"
|
||||||
%set_build_flags
|
%set_build_flags
|
||||||
|
|
||||||
|
# Build GTK+ binary
|
||||||
|
mkdir build-gtk && cd build-gtk
|
||||||
|
ln -s ../configure .
|
||||||
|
|
||||||
|
LDFLAGS=-Wl,-z,relro; export LDFLAGS;
|
||||||
|
|
||||||
|
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
||||||
|
--with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no \
|
||||||
|
--with-xwidgets --with-modules --with-harfbuzz --with-cairo --with-json
|
||||||
|
make bootstrap
|
||||||
|
%{setarch} %make_build
|
||||||
|
cd ..
|
||||||
|
|
||||||
# Build Lucid binary
|
# Build Lucid binary
|
||||||
mkdir build-lucid && cd build-lucid
|
mkdir build-lucid && cd build-lucid
|
||||||
ln -s ../configure .
|
ln -s ../configure .
|
||||||
@ -256,31 +255,15 @@ LDFLAGS=-Wl,-z,relro; export LDFLAGS;
|
|||||||
|
|
||||||
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
||||||
--with-tiff --with-xft --with-xpm --with-x-toolkit=lucid --with-gpm=no \
|
--with-tiff --with-xft --with-xpm --with-x-toolkit=lucid --with-gpm=no \
|
||||||
--with-modules --with-harfbuzz --with-cairo --with-json \
|
--with-modules --with-harfbuzz --with-cairo --with-json
|
||||||
--with-native-compilation
|
make bootstrap
|
||||||
%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1
|
|
||||||
%{setarch} %make_build
|
%{setarch} %make_build
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# Build binary without X support
|
# Build binary without X support
|
||||||
mkdir build-nox && cd build-nox
|
mkdir build-nox && cd build-nox
|
||||||
ln -s ../configure .
|
ln -s ../configure .
|
||||||
%configure --with-x=no --with-modules --with-json --with-native-compilation
|
%configure --with-x=no --with-modules --with-json
|
||||||
%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1
|
|
||||||
%{setarch} %make_build
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# Build GTK+ binary
|
|
||||||
mkdir build-gtk && cd build-gtk
|
|
||||||
ln -s ../configure .
|
|
||||||
|
|
||||||
LDFLAGS=-Wl,-z,relro; export LDFLAGS;
|
|
||||||
|
|
||||||
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
|
||||||
--with-tiff --with-xpm --with-x-toolkit=gtk3 --with-gpm=no \
|
|
||||||
--with-xwidgets --with-modules --with-harfbuzz --with-cairo --with-json \
|
|
||||||
--with-native-compilation
|
|
||||||
%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1
|
|
||||||
%{setarch} %make_build
|
%{setarch} %make_build
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
@ -316,15 +299,23 @@ cd ..
|
|||||||
rm %{buildroot}%{_bindir}/emacs
|
rm %{buildroot}%{_bindir}/emacs
|
||||||
touch %{buildroot}%{_bindir}/emacs
|
touch %{buildroot}%{_bindir}/emacs
|
||||||
|
|
||||||
|
# Remove emacs.pdmp from common
|
||||||
|
rm %{buildroot}%{emacs_libexecdir}/emacs.pdmp
|
||||||
|
|
||||||
# Do not compress the files which implement compression itself (#484830)
|
# Do not compress the files which implement compression itself (#484830)
|
||||||
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-compr.el.gz
|
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-compr.el.gz
|
||||||
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-cmpr-hook.el.gz
|
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-cmpr-hook.el.gz
|
||||||
|
|
||||||
|
# Install emacs.pdmp of the emacs with GTK+
|
||||||
|
install -p -m 0644 build-gtk/src/emacs.pdmp %{buildroot}%{_bindir}/emacs-%{version}.pdmp
|
||||||
|
|
||||||
# Install the emacs with LUCID toolkit
|
# Install the emacs with LUCID toolkit
|
||||||
install -p -m 0755 build-lucid/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-lucid
|
install -p -m 0755 build-lucid/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-lucid
|
||||||
|
install -p -m 0644 build-lucid/src/emacs.pdmp %{buildroot}%{_bindir}/emacs-%{version}-lucid.pdmp
|
||||||
|
|
||||||
# Install the emacs without X
|
# Install the emacs without X
|
||||||
install -p -m 0755 build-nox/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-nox
|
install -p -m 0755 build-nox/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-nox
|
||||||
|
install -p -m 0644 build-nox/src/emacs.pdmp %{buildroot}%{_bindir}/emacs-%{version}-nox.pdmp
|
||||||
|
|
||||||
# Make sure movemail isn't setgid
|
# Make sure movemail isn't setgid
|
||||||
chmod 755 %{buildroot}%{emacs_libexecdir}/movemail
|
chmod 755 %{buildroot}%{emacs_libexecdir}/movemail
|
||||||
@ -355,6 +346,12 @@ install -p -m 0644 %SOURCE4 %{buildroot}%{_sysconfdir}/skel/.emacs
|
|||||||
mkdir -p %{buildroot}/%{pkgconfig}
|
mkdir -p %{buildroot}/%{pkgconfig}
|
||||||
install -p -m 0644 emacs.pc %{buildroot}/%{pkgconfig}
|
install -p -m 0644 emacs.pc %{buildroot}/%{pkgconfig}
|
||||||
|
|
||||||
|
# Install app data
|
||||||
|
mkdir -p %{buildroot}/%{_datadir}/appdata
|
||||||
|
cp -a %SOURCE10 %{buildroot}/%{_datadir}/appdata
|
||||||
|
# Upstream ships its own appdata file, but it's quite terse.
|
||||||
|
rm %{buildroot}/%{_datadir}/metainfo/emacs.appdata.xml
|
||||||
|
|
||||||
# Install rpm macro definition file
|
# Install rpm macro definition file
|
||||||
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
|
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
|
||||||
install -p -m 0644 macros.emacs %{buildroot}%{_rpmconfigdir}/macros.d/
|
install -p -m 0644 macros.emacs %{buildroot}%{_rpmconfigdir}/macros.d/
|
||||||
@ -365,18 +362,19 @@ install -p -m 755 %SOURCE8 %{buildroot}%{_bindir}/emacs-terminal
|
|||||||
# After everything is installed, remove info dir
|
# After everything is installed, remove info dir
|
||||||
rm -f %{buildroot}%{_infodir}/dir
|
rm -f %{buildroot}%{_infodir}/dir
|
||||||
|
|
||||||
|
# Installing service file
|
||||||
|
mkdir -p %{buildroot}%{_userunitdir}
|
||||||
|
install -p -m 0644 %SOURCE9 %{buildroot}%{_userunitdir}/emacs.service
|
||||||
|
# Emacs 26.1 installs the upstream unit file to /usr/lib64 on 64bit archs, we don't want that
|
||||||
|
rm -f %{buildroot}/usr/lib64/systemd/user/emacs.service
|
||||||
|
|
||||||
# Install desktop files
|
# Install desktop files
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/applications
|
||||||
|
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||||
|
%SOURCE3
|
||||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||||
%SOURCE7
|
%SOURCE7
|
||||||
|
|
||||||
# Remove duplicate desktop-related files
|
|
||||||
rm %{buildroot}%{_datadir}/%{name}/%{version}/etc/%{name}.{desktop,service}
|
|
||||||
|
|
||||||
# We don't ship the client variants yet
|
|
||||||
# https://src.fedoraproject.org/rpms/emacs/pull-request/12
|
|
||||||
rm %{buildroot}%{_datadir}/applications/emacsclient.desktop
|
|
||||||
rm %{buildroot}%{_datadir}/applications/emacsclient-mail.desktop
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Create file lists
|
# Create file lists
|
||||||
#
|
#
|
||||||
@ -399,83 +397,55 @@ cat el-*-files common-lisp-dir-files > el-filelist
|
|||||||
# Remove old icon
|
# Remove old icon
|
||||||
rm %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document23.svg
|
rm %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document23.svg
|
||||||
|
|
||||||
# Install all the pdmp with fingerprints
|
|
||||||
gtk_pdmp="emacs-$(./build-gtk/src/emacs --fingerprint 2>&1 | sed 's/.* //').pdmp"
|
|
||||||
install -p -m 0644 build-gtk/src/emacs.pdmp %{buildroot}%{emacs_libexecdir}/${gtk_pdmp}
|
|
||||||
|
|
||||||
lucid_pdmp="emacs-$(./build-lucid/src/emacs --fingerprint 2>&1 | sed 's/.* //').pdmp"
|
|
||||||
install -p -m 0644 build-lucid/src/emacs.pdmp %{buildroot}%{emacs_libexecdir}/${lucid_pdmp}
|
|
||||||
|
|
||||||
nox_pdmp="emacs-$(./build-nox/src/emacs --fingerprint 2>&1 | sed 's/.* //').pdmp"
|
|
||||||
install -p -m 0644 build-nox/src/emacs.pdmp %{buildroot}%{emacs_libexecdir}/${nox_pdmp}
|
|
||||||
|
|
||||||
# Install native compiled Lisp of all builds
|
|
||||||
gtk_comp_native_ver=$(ls -1 build-gtk/native-lisp)
|
|
||||||
lucid_comp_native_ver=$(ls -1 build-lucid/native-lisp)
|
|
||||||
nox_comp_native_ver=$(ls -1 build-nox/native-lisp)
|
|
||||||
cp -ar build-gtk/native-lisp/${gtk_comp_native_ver} %{buildroot}%{native_lisp}
|
|
||||||
cp -ar build-lucid/native-lisp/${lucid_comp_native_ver} %{buildroot}%{native_lisp}
|
|
||||||
cp -ar build-nox/native-lisp/${nox_comp_native_ver} %{buildroot}%{native_lisp}
|
|
||||||
|
|
||||||
# List of binary specific files
|
|
||||||
echo %{emacs_libexecdir}/${gtk_pdmp} > gtk-filelist
|
|
||||||
echo %{emacs_libexecdir}/${lucid_pdmp} > lucid-filelist
|
|
||||||
echo %{emacs_libexecdir}/${nox_pdmp} > nox-filelist
|
|
||||||
echo %{native_lisp}/${gtk_comp_native_ver} >> gtk-filelist
|
|
||||||
echo %{native_lisp}/${lucid_comp_native_ver} >> lucid-filelist
|
|
||||||
echo %{native_lisp}/${nox_comp_native_ver} >> nox-filelist
|
|
||||||
|
|
||||||
%check
|
|
||||||
appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/*.metainfo.xml
|
|
||||||
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
|
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version} || :
|
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}
|
||||||
|
|
||||||
%posttrans
|
%posttrans
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 80 || :
|
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 80
|
||||||
|
|
||||||
%preun lucid
|
%preun lucid
|
||||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-lucid || :
|
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-lucid
|
||||||
%{_sbindir}/alternatives --remove emacs-lucid %{_bindir}/emacs-%{version}-lucid || :
|
%{_sbindir}/alternatives --remove emacs-lucid %{_bindir}/emacs-%{version}-lucid
|
||||||
|
|
||||||
%posttrans lucid
|
%posttrans lucid
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-lucid 70 || :
|
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-lucid 70
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/emacs-lucid emacs-lucid %{_bindir}/emacs-%{version}-lucid 60 || :
|
%{_sbindir}/alternatives --install %{_bindir}/emacs-lucid emacs-lucid %{_bindir}/emacs-%{version}-lucid 60
|
||||||
|
|
||||||
%preun nox
|
%preun nox
|
||||||
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-nox || :
|
%{_sbindir}/alternatives --remove emacs %{_bindir}/emacs-%{version}-nox
|
||||||
%{_sbindir}/alternatives --remove emacs-nox %{_bindir}/emacs-%{version}-nox || :
|
%{_sbindir}/alternatives --remove emacs-nox %{_bindir}/emacs-%{version}-nox
|
||||||
|
|
||||||
%posttrans nox
|
%posttrans nox
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70 || :
|
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/emacs-nox emacs-nox %{_bindir}/emacs-%{version}-nox 60 || :
|
%{_sbindir}/alternatives --install %{_bindir}/emacs-nox emacs-nox %{_bindir}/emacs-%{version}-nox 60
|
||||||
|
|
||||||
%preun common
|
%preun common
|
||||||
%{_sbindir}/alternatives --remove emacs.etags %{_bindir}/etags.emacs || :
|
%{_sbindir}/alternatives --remove emacs.etags %{_bindir}/etags.emacs
|
||||||
|
|
||||||
%posttrans common
|
%posttrans common
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
|
%{_sbindir}/alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
|
||||||
--slave %{_mandir}/man1/etags.1.gz emacs.etags.man %{_mandir}/man1/etags.emacs.1.gz || :
|
--slave %{_mandir}/man1/etags.1.gz emacs.etags.man %{_mandir}/man1/etags.emacs.1.gz
|
||||||
|
|
||||||
%files -f gtk-filelist
|
%files
|
||||||
%{_bindir}/emacs-%{version}
|
%{_bindir}/emacs-%{version}
|
||||||
|
%{_bindir}/emacs-%{version}.pdmp
|
||||||
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
||||||
%{_datadir}/applications/emacs.desktop
|
%{_datadir}/applications/emacs.desktop
|
||||||
%{_datadir}/applications/emacs-mail.desktop
|
%{_datadir}/appdata/%{name}.appdata.xml
|
||||||
%{_metainfodir}/%{name}.metainfo.xml
|
|
||||||
%{_datadir}/icons/hicolor/*/apps/emacs.png
|
%{_datadir}/icons/hicolor/*/apps/emacs.png
|
||||||
%{_datadir}/icons/hicolor/scalable/apps/emacs.svg
|
%{_datadir}/icons/hicolor/scalable/apps/emacs.svg
|
||||||
%{_datadir}/icons/hicolor/scalable/apps/emacs.ico
|
%{_datadir}/icons/hicolor/scalable/apps/emacs.ico
|
||||||
%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document.svg
|
%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document.svg
|
||||||
|
|
||||||
%files lucid -f lucid-filelist
|
%files lucid
|
||||||
%{_bindir}/emacs-%{version}-lucid
|
%{_bindir}/emacs-%{version}-lucid
|
||||||
|
%{_bindir}/emacs-%{version}-lucid.pdmp
|
||||||
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
||||||
%attr(0755,-,-) %ghost %{_bindir}/emacs-lucid
|
%attr(0755,-,-) %ghost %{_bindir}/emacs-lucid
|
||||||
|
|
||||||
%files nox -f nox-filelist
|
%files nox
|
||||||
%{_bindir}/emacs-%{version}-nox
|
%{_bindir}/emacs-%{version}-nox
|
||||||
|
%{_bindir}/emacs-%{version}-nox.pdmp
|
||||||
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
%attr(0755,-,-) %ghost %{_bindir}/emacs
|
||||||
%attr(0755,-,-) %ghost %{_bindir}/emacs-nox
|
%attr(0755,-,-) %ghost %{_bindir}/emacs-nox
|
||||||
|
|
||||||
@ -512,65 +482,6 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
|
|||||||
%{_includedir}/emacs-module.h
|
%{_includedir}/emacs-module.h
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:28.1-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jul 14 2022 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:28.1-2
|
|
||||||
- Obsolete emacs-transient to prevent update issues, fixes rhbz#2107269
|
|
||||||
|
|
||||||
* Mon Apr 4 2022 Bhavin Gandhi <bhavin7392@gmail.com> - 1:28.1-1
|
|
||||||
- emacs-28.1 is available, fixes rhbz#2071638
|
|
||||||
- Build with Native Compilation support and natively compile all .el files
|
|
||||||
- Use upstream app data file
|
|
||||||
- Use pdmp files with fingerprints
|
|
||||||
|
|
||||||
* Wed Mar 23 2022 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-11
|
|
||||||
- Include upstream version of bundled glib cdefs.h, fixes rhbz#2045136
|
|
||||||
|
|
||||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.2-10
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Aug 7 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-9
|
|
||||||
- Add Requires: info to fix info-mode
|
|
||||||
- Fixes rhbz#1989264
|
|
||||||
|
|
||||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.2-8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jul 11 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-7
|
|
||||||
- Add patch to fix pdump page size incompatibility
|
|
||||||
- Fixes rhbz#1974244
|
|
||||||
|
|
||||||
* Sun Jun 13 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-6
|
|
||||||
- Swallow %%preun and %%posttrans scriptlet exit status
|
|
||||||
- Fixes rhbz#1962181
|
|
||||||
|
|
||||||
* Sat Jun 5 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.2-5
|
|
||||||
- Validate AppStream metainfo.
|
|
||||||
|
|
||||||
* Tue May 25 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.2-4
|
|
||||||
- Prefer upstream emacs.desktop.
|
|
||||||
- Remove duplicate emacs.desktop from /usr/share/emacs/27.2/etc/.
|
|
||||||
|
|
||||||
* Mon Apr 26 2021 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:27.2-3
|
|
||||||
- Add emacs-modula2.patch
|
|
||||||
- Fixes rhbz#1950158
|
|
||||||
|
|
||||||
* Sat Mar 27 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.2-2
|
|
||||||
- Prefer upstream systemd service definition.
|
|
||||||
|
|
||||||
* Sat Mar 27 2021 Scott Talbert <swt@techie.net> - 1:27.1-5
|
|
||||||
- Fix FTBFS with glibc 2.34
|
|
||||||
|
|
||||||
* Thu Mar 25 2021 Bhavin Gandhi <bhavin7392@gmail.com> - 1:27.2-1
|
|
||||||
- emacs-27.2 is available
|
|
||||||
|
|
||||||
* Fri Feb 05 2021 Peter Oliver <rpm@mavit.org.uk> - 1:27.1-4
|
|
||||||
- Make Enchant the default for ispell-program-name when available.
|
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.1-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Aug 18 2020 Jan Synáček <jsynacek@redhat.com> - 1:27.1-2
|
* Tue Aug 18 2020 Jan Synáček <jsynacek@redhat.com> - 1:27.1-2
|
||||||
- use make macros (original patch provided by Tom Stellard)
|
- use make macros (original patch provided by Tom Stellard)
|
||||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||||
@ -581,9 +492,6 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
|
|||||||
- Build with Cairo and Jansson support
|
- Build with Cairo and Jansson support
|
||||||
- Remove ImageMagick dependency as it's no longer used
|
- Remove ImageMagick dependency as it's no longer used
|
||||||
|
|
||||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.3-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Apr 16 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:26.3-3
|
* Thu Apr 16 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:26.3-3
|
||||||
- Drop dependency on GConf2
|
- Drop dependency on GConf2
|
||||||
|
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
Comment: 17E9 0D52 1672 C046 31B1 183E E78D AE0F 3115 E06B
|
|
||||||
Comment: Eli Zaretskii <eliz@gnu.org>
|
|
||||||
|
|
||||||
xsFNBGIorlcBEADDfvr2wRY5BvUYDRelVXoyPg9kmufSw7M4mNRgjJ/ACzTL0DrT
|
|
||||||
/MiItj/9hFYofCKvqbKNXoidD0K8yW3hg6C4EKEBdh7Tgd1owcn6R4QlxPyWd9a+
|
|
||||||
bJBf/9TV4RtJDdgFSysxpg+q6IiKu91+RH6ioHMHHbMt1VHV8hRwrfr/z9NbWGKw
|
|
||||||
Q5V3dyd+bJcxa2Jrq4Bai1JUj3CJFXmLq7tRqnJwXWURgmyG2R6hV0pGiscxcIAt
|
|
||||||
+aP6iFPVIjOg7y8ttI2DoTA59pqpRD1kcQ3h9wgzRHIKKJwlEkhudeoGgwciGPyp
|
|
||||||
GYKDC5gY02BFRcEr669DP24toJ9RiGA6YBg6ajZZ4k/qLBoBChN9HrbnG+Jh2/ZC
|
|
||||||
ncXTpnwQpGOrdJ20kdUI816PoUISIVTrb2jXJbiYVsJ1PVXYKoSOBr4Zdk2KJLLB
|
|
||||||
L69QCJLf3ERaV4t7lknpSVqyglSPnuQf42FmdXwsu4w4BoD+p2oKsqWaNVIWjCwH
|
|
||||||
kBXCVxhs0lqpce8X60tQ3fo66QQ0UyznEg0wOYFxDqnMo2DF2YMTMW+GQ5W1gHEr
|
|
||||||
+Ehtz4lV/PMlUaTc0bIPz05+b18WWNSZl7squblpJHvjsEjb01W20EZGIiXFwNpJ
|
|
||||||
LepB3Pnvalhmyuq8lB7ISZH5C1dSUzxIr863I8kjVS74GFsi0sKF4mjpcwARAQAB
|
|
||||||
zRxFbGkgWmFyZXRza2lpIDxlbGl6QGdudS5vcmc+wsGOBBMBCgA4FiEEF+kNUhZy
|
|
||||||
wEYxsRg+542uDzEV4GsFAmIorlcCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA
|
|
||||||
CgkQ542uDzEV4GvMPQ//XJOVwvXE0AWHt6XHBQa5vgpZlabRuQQ9C5Di/eC8zs2X
|
|
||||||
TCvkUzGsuDwW0H/Ne+nFp8m97Ykd4Z/02HPf4YVFyF4EEM4q7ThSxbpVsagZ8YJl
|
|
||||||
VckZauLxFE36M/Ask1WwJalMNLudPULJXKe8h7JciHPnO6axCzXkWrR7jr199rSo
|
|
||||||
VdKwuvPcEe9Iu9nophxkaUO2Bls7UFDmA4SkGfeu9L2XJbaxkVooCRf7oazWrUaj
|
|
||||||
ts3X7bQZDeiOvjJQsLUOQDb6b99Y9XFV0rpj2hIlIla0owmPw96kWaF7/m18Hqyt
|
|
||||||
RcHBcscOrR1lZfG/mu+bd+kBccFF58d9XJiyzF8qNp5drXh0CvVSRPwtyXD19jF2
|
|
||||||
mkPLR+sqYPcUavZJN+Zlx6OuhF6b969IRuo04QP82Z6uzoG6XUQdtvSvQuaumwiX
|
|
||||||
QX4V8ZwLgDpjtGWK8s/fSBDOyedPDhLzjQ2Iz2uzWHPFSzisVuD0FBFLv/MzylGo
|
|
||||||
XvkroFcM+o1phc9QELnfQie3mCDHmIxnDJvEKgdAVagN44DlD3/5NtVq0TbZDy+I
|
|
||||||
qTBtX13eBrJ6f/31Mzvlw9C6orbFT9t8hlwg4kqLYCGKEYwW9LIKOcwrWiW5L+cI
|
|
||||||
VoTQaqVvk7++9Qv4Hz/JfWsI7vsuXfrh6fo+oI0x1OhCjRLgmsrFyYiM8bS09ODO
|
|
||||||
wU0EYiiuVwEQANRJHvhVcTBssEJiJW1RK/FrlS8SBrwQczM3UxBbnNsD4PjYQvEA
|
|
||||||
oF9r6qTB5+rWuIYLqsIIdRMrbxsDXyrRI3rGhXAjZMNSuvt4ShmUzHMWXT5S2/xJ
|
|
||||||
TvPVs4WSlUc6Z/His31JpM6Pw5vEg2KklcvYfCuO2CM6xjgS+uyNT7MnVYOZEkil
|
|
||||||
GdjpEqoQ5SqE6iXlvcTujTrNt1cotpi5SKFT+eSV4QXbIpvIJvIpzDtT3SOTN4JD
|
|
||||||
6dcrbYHiYOnBBcbYL/rPDObwCUlK01ed+UkiZU24ByJdpLRhBHeH0wS1OIhdeWEJ
|
|
||||||
Iqae4JQ3L76ZBGorjQOlLy/KCKAifwi4pyjssnvcyYrRFwamRl4DVjNsbydzr+Em
|
|
||||||
SSmxiLaBron9q8PYTaTBzDdSgHNEaJxTsYW0oxCf3iSAOtTNq99CJwd/xTQd+9Ou
|
|
||||||
JAnyA9Km5zL8idFk9BaFpGGXf+kOB7Wd66E2ThdBuz7GiVd+2B9n70cOuMCrt58M
|
|
||||||
lsD/yRVfABSspfIWd2yjOp4qvjX/xiv41s89l0bi6mmozauWkQIA+zaEdpUIA82m
|
|
||||||
nhsTdgvRBxvubJbTDjXT7R26hk2bm7bQQWe4HZYfSTh1RvAokg4/ZoFu1EKWreuw
|
|
||||||
uSzuJCW/KKyvfiabjNQE1n7z+Pqfnfke9xhSRZx3QHJlu6peAMAODJo5ABEBAAHC
|
|
||||||
wXYEGAEKACAWIQQX6Q1SFnLARjGxGD7nja4PMRXgawUCYiiuVwIbDAAKCRDnja4P
|
|
||||||
MRXga1AWD/0Z8yTCJR5oES4m+Yrarn7g6xIYaf2t94J+1qBXHdK5zpSXjt122+ys
|
|
||||||
5bNGFS/R2qB1CxxjJURze9g1nv8n9Rh1xWxd7j0/oFAziluGeybkSJ4iReb1qfIF
|
|
||||||
bn1HvLiD4Cz1RjGDaIScZiuLg1qXjXUcOr90EQ5O8hAnLAeb8kR8d5PeMDfPVfP2
|
|
||||||
2pRM5Hwy3pxeK7zSidrYBSH8PcRuJogS3p3GnNxQoolEtf6qQoDm09Mqi83fvXHE
|
|
||||||
kLh2accy3HuqTekRxL19/IS2lIRmI5CO9Z8gwOVJrJ+YQklqR0VEpgzGcZD85Haw
|
|
||||||
BrmrKV8Eap62Pm8UPwFnOevJ6dj5nhFMc04gHeOjhUsQR7fKNspaYt1O6DiGXhf6
|
|
||||||
yyeEyZu+38hpqqKJ8rMHF64ltbzwOyTiADgR9n8r6wIFBhIyVShhuKgeNpaTJaJ5
|
|
||||||
kNuc3kYwPV8bliblKiYdkN/dSWEn8TDW5cAhKyxyRho0XoZoDO54/sfApSEHM/S1
|
|
||||||
43PMSZp+0WpV/znm87mv68DhzMBby45MaIfcPFszbvtTyLDK/vcQKenTQIG/CFZ3
|
|
||||||
cIrRlfOjtQf2abs/xxfQXknl38jD6IXG3g/kN9XVLRXVYPK58nNnjaU0b2Cb1gy8
|
|
||||||
keZsV/4wEN1Mipv0SFLcd5zNzirfAlJMecPv8cCNHDkA8IOR7zp/VQ==
|
|
||||||
=+3ql
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
91
gpgkey-D405AA2C862C54F17EEE6BE0E8BCD7866AFCF978.gpg
Normal file
91
gpgkey-D405AA2C862C54F17EEE6BE0E8BCD7866AFCF978.gpg
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=/cmd
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (emacs-28.1.tar.xz) = c146ff7086aba49fa6c18adf4e485a59eb4c6525fddb9d385034446830b8bb0ac9e6fb76e7b6d94a9fddc41643415f36acad57a1ae16a841c97f61bc211459d9
|
SHA512 (emacs-27.1.tar.xz) = dfb26531d2c19cf9fb56505f03d799654b45e5f9528e777900e8280ed2c1d21e04c52f510528e31e015977c471ae63164cedee6174b7439ebcf479a21fc18064
|
||||||
SHA512 (emacs-28.1.tar.xz.sig) = cc905fb3d75c2f03c491fb1e0edd883312147d65125a667dcf77e6a078a6381f0674e321feba24a205d819275b6f31282a54910b3fc1c1284421a0fd35a2882a
|
SHA512 (emacs-27.1.tar.xz.sig) = 8873c9f7a812db4d44625eb5d4de1a3e1abb458584a70e5e68dd97b79361ce729f9007cb41d89ba9d9a5730fa024913690bdfa71f7482554aaf45cd635c30355
|
||||||
|
Loading…
Reference in New Issue
Block a user