Browse Source

Sync with portage [Sat Feb 13 22:57:50 MSK 2021].

tags/1878
Calculate Linux 7 months ago
parent
commit
e696d86e64
100 changed files with 518 additions and 2799 deletions
  1. BIN
      Manifest.files.gz
  2. BIN
      acct-group/Manifest.gz
  3. +0
    -0
      acct-group/trojan/Manifest
  4. +3
    -3
      acct-group/trojan/metadata.xml
  5. +8
    -0
      acct-group/trojan/trojan-0.ebuild
  6. BIN
      acct-user/Manifest.gz
  7. +0
    -0
      acct-user/trojan/Manifest
  8. +8
    -0
      acct-user/trojan/metadata.xml
  9. +12
    -0
      acct-user/trojan/trojan-0.ebuild
  10. BIN
      app-admin/Manifest.gz
  11. +1
    -1
      app-admin/fam/fam-2.7.0_p17_p3.ebuild
  12. +0
    -1
      app-admin/sshguard/Manifest
  13. +25
    -0
      app-admin/sshguard/files/sshguard-2.4.1-conf.patch
  14. +11
    -7
      app-admin/sshguard/metadata.xml
  15. +13
    -4
      app-admin/sshguard/sshguard-2.4.1-r1.ebuild
  16. +1
    -1
      app-admin/syslog-ng/syslog-ng-3.30.1.ebuild
  17. BIN
      app-antivirus/Manifest.gz
  18. +1
    -1
      app-antivirus/fangfrisch/Manifest
  19. +3
    -3
      app-antivirus/fangfrisch/fangfrisch-1.4.0.ebuild
  20. BIN
      app-arch/Manifest.gz
  21. +1
    -0
      app-arch/tar/Manifest
  22. +81
    -0
      app-arch/tar/tar-1.34.ebuild
  23. BIN
      app-backup/Manifest.gz
  24. +1
    -1
      app-backup/dar/dar-2.6.10.ebuild
  25. BIN
      app-crypt/Manifest.gz
  26. +23
    -28
      app-crypt/dieharder/dieharder-3.31.1-r3.ebuild
  27. +0
    -8
      app-crypt/dieharder/files/dieharder-3.31.1-build.patch
  28. +57
    -0
      app-crypt/dieharder/files/dieharder-3.31.1-cross-compile.patch
  29. +6
    -9
      app-crypt/dieharder/files/dieharder-3.31.1-urandom-64bit.patch
  30. BIN
      app-editors/Manifest.gz
  31. +1
    -1
      app-editors/emacs/emacs-24.5-r10.ebuild
  32. +0
    -355
      app-editors/emacs/emacs-24.5-r9.ebuild
  33. +0
    -365
      app-editors/emacs/emacs-25.3-r8.ebuild
  34. +1
    -1
      app-editors/emacs/emacs-25.3-r9.ebuild
  35. +0
    -392
      app-editors/emacs/emacs-26.3-r3.ebuild
  36. +1
    -1
      app-editors/emacs/emacs-26.3-r4.ebuild
  37. +0
    -460
      app-editors/emacs/emacs-27.1-r3.ebuild
  38. +2
    -2
      app-editors/emacs/emacs-27.1-r4.ebuild
  39. +1
    -1
      app-editors/emacs/emacs-27.1.91-r1.ebuild
  40. +1
    -1
      app-editors/emacs/emacs-27.1.9999-r1.ebuild
  41. +12
    -27
      app-editors/emacs/emacs-28.0.9999.ebuild
  42. +0
    -2
      app-editors/emacs/metadata.xml
  43. +4
    -2
      app-editors/vis/vis-0.7.ebuild
  44. +4
    -2
      app-editors/vis/vis-9999.ebuild
  45. BIN
      app-emulation/Manifest.gz
  46. +1
    -2
      app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild
  47. +2
    -3
      app-emulation/virt-manager/virt-manager-3.1.0.ebuild
  48. +1
    -2
      app-emulation/virt-manager/virt-manager-3.2.0.ebuild
  49. +0
    -1
      app-emulation/virt-manager/virt-manager-9999.ebuild
  50. BIN
      app-misc/Manifest.gz
  51. +1
    -0
      app-misc/detox/Manifest
  52. +42
    -0
      app-misc/detox/detox-1.4.0.ebuild
  53. +0
    -1
      app-misc/radeontop/Manifest
  54. +0
    -54
      app-misc/radeontop/radeontop-1.2.ebuild
  55. +5
    -2
      app-misc/radeontop/radeontop-1.3-r1.ebuild
  56. +6
    -3
      app-misc/radeontop/radeontop-9999.ebuild
  57. BIN
      app-text/Manifest.gz
  58. +21
    -19
      app-text/cuneiform/cuneiform-1.1.0-r3.ebuild
  59. +1
    -5
      app-text/cuneiform/files/cuneiform-1.1.0-c-assert.patch
  60. +0
    -3
      app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow.patch
  61. +3
    -6
      app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow_2.patch
  62. +0
    -1
      app-text/cuneiform/files/cuneiform-1.1.0-gcc6.patch
  63. +10
    -15
      app-text/cuneiform/files/cuneiform-1.1.0-gcc7.patch
  64. +0
    -3
      app-text/cuneiform/files/cuneiform-1.1.0-graphicsmagick.patch
  65. +0
    -3
      app-text/cuneiform/files/cuneiform-1.1.0-libm.patch
  66. +0
    -1
      app-text/cuneiform/files/cuneiform-1.1.0-typos.patch
  67. +1
    -1
      app-text/djvu/djvu-3.5.28.ebuild
  68. +1
    -2
      app-text/pdfarranger/Manifest
  69. +0
    -22
      app-text/pdfarranger/pdfarranger-1.3.1.ebuild
  70. +19
    -9
      app-text/pdfarranger/pdfarranger-1.7.0.ebuild
  71. +1
    -1
      app-text/teckit/teckit-2.5.10.ebuild
  72. BIN
      dev-db/Manifest.gz
  73. +1
    -1
      dev-db/pgadmin4/pgadmin4-4.29.ebuild
  74. BIN
      dev-embedded/Manifest.gz
  75. +0
    -41
      dev-embedded/esptool/esptool-2.8-r1.ebuild
  76. +0
    -37
      dev-embedded/esptool/esptool-2.8.ebuild
  77. +1
    -0
      dev-embedded/openocd/Manifest
  78. +0
    -35
      dev-embedded/openocd/files/openocd-0.10.0-gcc10.patch
  79. +1
    -0
      dev-embedded/openocd/metadata.xml
  80. +0
    -4
      dev-embedded/openocd/openocd-0.10.0-r1.ebuild
  81. +0
    -142
      dev-embedded/openocd/openocd-0.10.0.ebuild
  82. +98
    -0
      dev-embedded/openocd/openocd-0.11.0_rc2.ebuild
  83. +1
    -1
      dev-embedded/urjtag/urjtag-2019.12.ebuild
  84. BIN
      dev-lang/Manifest.gz
  85. +0
    -3
      dev-lang/crystal/Manifest
  86. +0
    -121
      dev-lang/crystal/crystal-0.36.0.ebuild
  87. +1
    -1
      dev-lang/elixir/elixir-1.11.3.ebuild
  88. +1
    -1
      dev-lang/erlang/erlang-23.2.1.ebuild
  89. +0
    -97
      dev-lang/lua/files/lua-5.1-make-r2.patch
  90. +0
    -59
      dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch
  91. +0
    -118
      dev-lang/lua/files/lua-5.1.5-gentoo-build.patch
  92. +0
    -17
      dev-lang/lua/files/lua-5.1.5-readline.patch
  93. +0
    -75
      dev-lang/lua/files/lua-5.2-make-r1.patch
  94. +0
    -91
      dev-lang/lua/files/lua-5.3-make-r1.patch
  95. +0
    -99
      dev-lang/lua/files/lua-5.4-makefiles.patch
  96. +0
    -4
      dev-lang/perl/perl-5.32.1.ebuild
  97. BIN
      dev-libs/Manifest.gz
  98. +1
    -1
      dev-libs/inih/Manifest
  99. +15
    -12
      dev-libs/inih/inih-53.ebuild
  100. +1
    -1
      dev-libs/libdnet/libdnet-1.14-r2.ebuild

BIN
Manifest.files.gz View File


BIN
acct-group/Manifest.gz View File


+ 0
- 0
acct-group/trojan/Manifest View File


kde-frameworks/kdesignerplugin/metadata.xml → acct-group/trojan/metadata.xml View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
<maintainer type="person">
<email>dlan@gentoo.org</email>
<name>Yixun Lan</name>
</maintainer>
</pkgmetadata>

+ 8
- 0
acct-group/trojan/trojan-0.ebuild View File

@@ -0,0 +1,8 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit acct-group

ACCT_GROUP_ID=326

BIN
acct-user/Manifest.gz View File


+ 0
- 0
acct-user/trojan/Manifest View File


+ 8
- 0
acct-user/trojan/metadata.xml View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dlan@gentoo.org</email>
<name>Yixun Lan</name>
</maintainer>
</pkgmetadata>

+ 12
- 0
acct-user/trojan/trojan-0.ebuild View File

@@ -0,0 +1,12 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit acct-user

DESCRIPTION="User for net-proxy/trojan"
ACCT_USER_ID=326
ACCT_USER_GROUPS=( trojan )

acct-user_add_deps

BIN
app-admin/Manifest.gz View File


+ 1
- 1
app-admin/fam/fam-2.7.0_p17_p3.ebuild View File

@@ -16,7 +16,7 @@ SRC_URI="

LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ppc64 s390 sparc ~x86"
KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 s390 sparc x86"
IUSE="static-libs"

DEPEND="


+ 0
- 1
app-admin/sshguard/Manifest View File

@@ -1,2 +1 @@
DIST sshguard-2.4.0.tar.gz 771506 BLAKE2B 82e9caf70dc9a1ba9ef6ba1c0916424a74891c84069a4a879c9057f3baea32af68f35d8b31cacdd60d323f5ec7b02a6e12aff1ec72fc0291b74c4882cd441d93 SHA512 64293700ef85f0843c333c3a27b04c5b2f69bf8dddf46353a371d4178915deb931362b3641ded0eeb5365f30cb63ce6ce17256d8d094383d1cfe661065b9c1c6
DIST sshguard-2.4.1.tar.gz 723940 BLAKE2B 04e72b9959ef3ead418d2a6fe8029b0806a4d91c91f7cd36c236c7203cca1afc67305b21de0b1dee1594b188564f201ff2770d54d4c57c54b4d23db15e0298a0 SHA512 bae7485d963454f2a6dc4b7d96506b03fb49013fe3ab3d81e315ea88bd8067e7a2305cdf25e411720ac014a68ee9635cdbcef65a7dc806b7fc942f099a9d5ba8

+ 25
- 0
app-admin/sshguard/files/sshguard-2.4.1-conf.patch View File

@@ -0,0 +1,25 @@
diff --git a/examples/sshguard.conf.sample b/examples/sshguard.conf.sample
index 556f1ec..a483b1e 100644
--- a/examples/sshguard.conf.sample
+++ b/examples/sshguard.conf.sample
@@ -6,14 +6,18 @@
#### REQUIRED CONFIGURATION ####
# Full path to backend executable (required, no default)
-#BACKEND="/usr/local/libexec/sshg-fw-iptables"
+# Example 1: iptables backend
+#BACKEND="/usr/libexec/sshg-fw-iptables"
+# Example 2: firewalld backend; for firewalld configuration instructions see
+# https://www.ctrl.blog/entry/how-to-sshguard-firewalld.html#sshguard-section-firewalld
+#BACKEND="/usr/libexec/sshg-fw-firewalld"
# Space-separated list of log files to monitor. (optional, no default)
#FILES="/var/log/auth.log /var/log/authlog /var/log/maillog"
# Shell command that provides logs on standard output. (optional, no default)
# Example 1: ssh and sendmail from systemd journal:
-#LOGREADER="LANG=C /usr/bin/journalctl -afb -p info -n1 -t sshd -t sendmail -o cat"
+#LOGREADER="LANG=C /bin/journalctl -afb -p info -n1 -t sshd -t sendmail -o cat"
# Example 2: ssh from os_log (macOS 10.12+)
#LOGREADER="/usr/bin/log stream --style syslog --predicate '(processImagePath contains \"sshd\")'"

+ 11
- 7
app-admin/sshguard/metadata.xml View File

@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
<name>Gentoo network monitoring and analysis project</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">sshguard</remote-id>
</upstream>
<maintainer type="person">
<email>dlan@gentoo.org</email>
<name>Yixun Lan</name>
</maintainer>
<maintainer type="project">
<email>netmon@gentoo.org</email>
<name>Gentoo network monitoring and analysis project</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">sshguard</remote-id>
</upstream>
</pkgmetadata>

app-admin/sshguard/sshguard-2.4.0.ebuild → app-admin/sshguard/sshguard-2.4.1-r1.ebuild View File

@@ -1,15 +1,16 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit systemd
DESCRIPTION="protects hosts from brute force attacks against ssh"
HOMEPAGE="https://www.sshguard.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"

DEPEND="
sys-devel/flex
@@ -22,13 +23,19 @@ DOCS=(
CONTRIBUTING.rst
README.rst
examples/net.sshguard.plist
examples/sshguard.service
examples/whitelistfile.example
)
PATCHES=(
"${FILESDIR}"/${PN}-2.1.0-conf.patch
"${FILESDIR}"/${PN}-2.4.1-conf.patch
)

src_prepare() {
default
sed -i -e "/ExecStartPre/s:/usr/sbin:/sbin:g" \
-e "/ExecStart/s:/usr/local/sbin:/usr/sbin:g" \
"${S}"/examples/${PN}.service || die
}

src_install() {
default

@@ -37,4 +44,6 @@ src_install() {

insinto /etc
newins examples/sshguard.conf.sample sshguard.conf

systemd_dounit "${S}"/examples/sshguard.service
}

+ 1
- 1
app-admin/syslog-ng/syslog-ng-3.30.1.ebuild View File

@@ -13,7 +13,7 @@ SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz

LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86"
IUSE="amqp caps dbi geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"


BIN
app-antivirus/Manifest.gz View File


+ 1
- 1
app-antivirus/fangfrisch/Manifest View File

@@ -1,2 +1,2 @@
DIST fangfrisch-1.2.0.tar.gz 113088 BLAKE2B 9fb5f4b838e6337128c9e988f5749864cadacb74c9e3006f29cf8b976592af88c00ff5359cd70e4d6901e24cfc01b061861b7b1a563a82d66b2d71c970627c26 SHA512 6f6c0cfc4d840f99186c83e6109c6234ff5bfb44e19bcd3309056347392e46da56e17106259508864b05397d39ea92500ab6863b50d55efc790d88b59f88ee3b
DIST fangfrisch-1.3.0.tar.gz 114361 BLAKE2B eca124f02f814d2915c4dbba45b6e4dc620e250730a32b34d3f5f5eaa33945e697d2d887f29251f1f8a3b1813476a54092091235a786e84695a3bc1cadebad28 SHA512 9c138737908a02efa5c9b4c6792a31e2a4908f8ab27e8cecab78612f812ab151afef75a405f47695779a949485aa88a3a5830efd02344ec334e6f37425cffe49
DIST fangfrisch-1.4.0.tar.gz 115303 BLAKE2B 6dea9305ad22e8beff0fc04219d24da995c36e0838e1be8b98d12b11db1f68d7ca4f6084d15270c09e8a4b8d94a7bdfe1b9bb336abef1767b1ded2d1751fa22b SHA512 5fca7b7e8d24daadfb450851c70391fce94943a718bbed4fc76efe08a730cce313d92e7d9a6a8324a0b0039871f8c77f1fcd3744c569826cc0d2e7a7fd4e9b32

app-antivirus/fangfrisch/fangfrisch-1.2.0-r1.ebuild → app-antivirus/fangfrisch/fangfrisch-1.4.0.ebuild View File

@@ -1,10 +1,10 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{7,8} )
PYTHON_COMPAT=( python3_{7,8,9} )

inherit distutils-r1 readme.gentoo-r1

@@ -37,7 +37,7 @@ database tables, then run the initdb command as shown above."

LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
KEYWORDS="~amd64 ~x86"

DEPEND=">=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-1.3.11[${PYTHON_USEDEP}]"

BIN
app-arch/Manifest.gz View File


+ 1
- 0
app-arch/tar/Manifest View File

@@ -1,2 +1,3 @@
DIST tar-1.32.tar.bz2 2947264 BLAKE2B 4e380a9a2f84a2af5130464e1b298ae6acf02ee459cbca20dd0991c2859785e5aac789d57b87b32e8b45d89985b6414af9dd37161385da9568d6030c5aa42c0e SHA512 3139e87112123269ee0600243b3ea081687cc93667bef5832bfe3c785c1be622f520f00fcfbdf44ad1d3247866d0ecfe347a85bbfec38eb38fa1014baef566f6
DIST tar-1.33.tar.xz 2224824 BLAKE2B 500bcf4b919881da13f7336c617b4d618b5f898e4d8606867c8917be165d4a3718783a2959896226df451d7acdd78ba2fd1d9fc774d7905fe0dbe2375e3329fb SHA512 d7c31147fafcd815bb54e3862c078dccc3f192a9fa149c2275bd89a21fcd54a4bdaa8343cacf4f76cadc2f57fd4ed955682c1b6f23d438add5a13cc35bd25260
DIST tar-1.34.tar.xz 2226068 BLAKE2B 741a662457509a6775338ffe5d2d84872fcf38b93ace70c8b748a81055b9b62f65a48c4e541955d08ae99e6f528509e89eacd7c799a65bcc3d017a259110c115 SHA512 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902

+ 81
- 0
app-arch/tar/tar-1.34.ebuild View File

@@ -0,0 +1,81 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit flag-o-matic

DESCRIPTION="Use this to make tarballs :)"
HOMEPAGE="https://www.gnu.org/software/tar/"
SRC_URI="mirror://gnu/tar/${P}.tar.xz
mirror://gnu-alpha/tar/${P}.tar.xz"

LICENSE="GPL-3+"
SLOT="0"
[[ -n "$(ver_cut 3)" ]] && [[ "$(ver_cut 3)" -ge 90 ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="acl elibc_glibc minimal nls selinux userland_GNU xattr"

RDEPEND="
acl? ( virtual/acl )
selinux? ( sys-libs/libselinux )
"
DEPEND="${RDEPEND}
xattr? ( elibc_glibc? ( sys-apps/attr ) )
"
BDEPEND="
nls? ( sys-devel/gettext )
"

src_prepare() {
default

if ! use userland_GNU ; then
sed -i \
-e 's:/backup\.sh:/gbackup.sh:' \
scripts/{backup,dump-remind,restore}.in \
|| die "sed non-GNU"
fi
}

src_configure() {
local myeconfargs=(
--bindir="${EPREFIX}"/bin
--enable-backup-scripts
--libexecdir="${EPREFIX}"/usr/sbin
$(usex userland_GNU "" "--program-prefix=g")
$(use_with acl posix-acls)
$(use_enable nls)
$(use_with selinux)
$(use_with xattr xattrs)
)
FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
}

src_install() {
default

local p=$(usex userland_GNU "" "g")
if [[ -z ${p} ]] ; then
# a nasty yet required piece of baggage
exeinto /etc
doexe "${FILESDIR}"/rmt
fi

# autoconf looks for gtar before tar (in configure scripts), hence
# in Prefix it is important that it is there, otherwise, a gtar from
# the host system (FreeBSD, Solaris, Darwin) will be found instead
# of the Prefix provided (GNU) tar
if use prefix ; then
dosym tar /bin/gtar
fi

mv "${ED}"/usr/sbin/${p}backup{,-tar} || die
mv "${ED}"/usr/sbin/${p}restore{,-tar} || die

if use minimal ; then
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
-type f -a '!' '(' -name tar -o -name ${p}tar ')' \
-delete || die
fi
}

BIN
app-backup/Manifest.gz View File


+ 1
- 1
app-backup/dar/dar-2.6.10.ebuild View File

@@ -10,7 +10,7 @@ SRC_URI="mirror://sourceforge/dar/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc sparc ~x86 ~amd64-linux"
KEYWORDS="amd64 ~ppc sparc x86 ~amd64-linux"
IUSE="curl dar32 dar64 doc gcrypt gpg lzo nls static static-libs xattr"

RESTRICT="test" # need to be run as root


BIN
app-crypt/Manifest.gz View File


+ 23
- 28
app-crypt/dieharder/dieharder-3.31.1-r3.ebuild View File

@@ -1,11 +1,13 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools flag-o-matic

DESCRIPTION="An advanced suite for testing the randomness of RNG's"
HOMEPAGE="http://www.phy.duke.edu/~rgb/General/dieharder.php"
SRC_URI="http://www.phy.duke.edu/~rgb/General/${PN}/${P}.tgz"
HOMEPAGE="https://www.phy.duke.edu/~rgb/General/dieharder.php"
SRC_URI="https://www.phy.duke.edu/~rgb/General/${PN}/${P}.tgz"

LICENSE="GPL-2"
SLOT="0"
@@ -14,30 +16,22 @@ IUSE="doc"
RESTRICT="test" # Way too long

RDEPEND="sci-libs/gsl"
DEPEND="${RDEPEND}
doc? ( dev-tex/latex2html )"

DOCS=(
NOTES
)
HTML_DOCS=()
DEPEND="${RDEPEND}"
BDEPEND=" doc? ( dev-tex/latex2html )"

PATCHES=(
"${FILESDIR}/${P}-build.patch"
"${FILESDIR}/${P}-urandom-64bit.patch"
"${FILESDIR}"/${P}-build.patch
"${FILESDIR}"/${P}-urandom-64bit.patch
"${FILESDIR}"/${P}-cross-compile.patch
)

pkg_setup() {
use doc && DOCS+=(
ChangeLog
manual/dieharder.pdf manual/dieharder.ps
)
use doc && HTML_DOCS+=(
dieharder.html
)
src_prepare() {
default
eautoreconf
}

src_configure() {
append-flags -fcommon
econf --disable-static
}

@@ -46,17 +40,18 @@ src_compile() {
use doc && emake -C manual
}

src_test() {
"${S}/dieharder/dieharder" -g 501 -a
}

src_install() {
if use doc; then
DOCS=( ChangeLog manual/dieharder.pdf manual/dieharder.ps)
HTML_DOCS=( dieharder.html )
fi

default

docinto "dieharder"
dodoc dieharder/README dieharder/NOTES
docinto "libdieharder"
dodoc libdieharder/README libdieharder/NOTES
docinto dieharder
dodoc dieharder/{NOTES,README}
docinto libdieharder
dodoc libdieharder/{NOTES,README}

find "${ED}" -name '*.la' -delete || die
}

+ 0
- 8
app-crypt/dieharder/files/dieharder-3.31.1-build.patch View File

@@ -1,5 +1,3 @@
diff --git a/include/dieharder/libdieharder.h b/include/dieharder/libdieharder.h
index 2138ebf..f6d471b 100644
--- a/include/dieharder/libdieharder.h
+++ b/include/dieharder/libdieharder.h
@@ -6,6 +6,8 @@
@@ -34,8 +32,6 @@ Subject: [PATCH 1/2] rgb_operm: convert to noop as implementation missing
include/dieharder/rgb_operm.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/include/dieharder/rgb_operm.h b/include/dieharder/rgb_operm.h
index c48fa37..f33fc1f 100644
--- a/include/dieharder/rgb_operm.h
+++ b/include/dieharder/rgb_operm.h
@@ -1,3 +1,4 @@
@@ -62,8 +58,6 @@ Subject: [PATCH 2/2] dab_filltree2: inline cannot have prototype nor can it be
libdieharder/dab_filltree2.c | 48 +++++++++++++++++-------------------
2 files changed, 41 insertions(+), 44 deletions(-)

diff --git a/libdieharder/dab_filltree.c b/libdieharder/dab_filltree.c
index 9cc5ce7..3ed6b00 100644
--- a/libdieharder/dab_filltree.c
+++ b/libdieharder/dab_filltree.c
@@ -34,7 +34,24 @@ static double targetData[] = {
@@ -117,8 +111,6 @@ index 9cc5ce7..3ed6b00 100644
#include<time.h>
int main_filltree(int argc, char **argv) {
diff --git a/libdieharder/dab_filltree2.c b/libdieharder/dab_filltree2.c
index 1e33af2..7102d3c 100644
--- a/libdieharder/dab_filltree2.c
+++ b/libdieharder/dab_filltree2.c
@@ -92,7 +92,29 @@ static double targetData[128] = { // size=128, generated from 6e9 samples


+ 57
- 0
app-crypt/dieharder/files/dieharder-3.31.1-cross-compile.patch View File

@@ -0,0 +1,57 @@
From: Tom Hughes <tomhughes@chromium.org>
Fix cross-compilation by removing gsl header/library check (these are enforced
through ebuild DEPENDS) and using AC_C_BIGENDIAN instead of the non-standard
AC_C_ENDIAN macro which tries to execute code.
--- a/configure.ac
+++ b/configure.ac
@@ -108,48 +108,7 @@
AC_SUBST(DIEHARDER_LIBS)
AC_SUBST(ACLOCAL_AMFLAGS)
-#==================================================================
-# Checks for libraries, and headers. Test for dependency libraries
-# FIRST in reverse order that you need -lwhatever to appear on
-# compile line as it accumulates libraries to build e.g.
-# -lgsl -lgslcblas
-# for the SECOND test, required (in that order) to succeed.
-#==================================================================
-AC_CHECK_HEADER([gsl/gsl_sf_gamma.h],,[AC_MSG_ERROR([Couldn't find GSL headers. Please install the gsl-devel package.])])
-AC_CHECK_LIB([gslcblas], [main],,[AC_MSG_ERROR([Couldn't find libgsl. Please install the gsl package.])])
-AC_CHECK_LIB([gsl],[gsl_sf_gamma])
-
-
-#==================================================================
-# Check if we're a little-endian or a big-endian system, needed by
-# brg_endian.h in the build of rng_threefish. This is a very
-# certain test, and therefore is checked FIRST in this header file.
-#==================================================================
-AC_DEFUN([AC_C_ENDIAN],
-[AC_CACHE_CHECK(for endianness, ac_cv_c_endian,
-[
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM([], [dnl
- long val = 1;
- char *c = (char *) &val;
- exit(*c == 1);
- ])
- ],[
- ac_cv_c_endian=big
- ],[
- ac_cv_c_endian=little
- ])
-])
-if test $ac_cv_c_endian = big; then
- AC_SUBST(LITTLE_ENDIAN,0)
-fi
-if test $ac_cv_c_endian = little; then
- AC_SUBST(LITTLE_ENDIAN,1)
-fi
-])
-
-AC_C_ENDIAN
-
+AC_C_BIGENDIAN([AC_SUBST(LITTLE_ENDIAN,0)],[AC_SUBST(LITTLE_ENDIAN,1)])
#==================================================================
# Checks for typedefs, structures, and compiler characteristics.


+ 6
- 9
app-crypt/dieharder/files/dieharder-3.31.1-urandom-64bit.patch View File

@@ -1,6 +1,5 @@
diff -ru dieharder-3.31.1/libdieharder/rng_dev_arandom.c dieharder-3.31.1_fixed/libdieharder/rng_dev_arandom.c
--- dieharder-3.31.1/libdieharder/rng_dev_arandom.c 2011-10-14 15:41:37.000000000 +0200
+++ dieharder-3.31.1_fixed/libdieharder/rng_dev_arandom.c 2014-01-03 22:51:30.010534418 +0100
--- a/libdieharder/rng_dev_arandom.c
+++ b/libdieharder/rng_dev_arandom.c
@@ -6,6 +6,7 @@
*/
@@ -27,9 +26,8 @@ diff -ru dieharder-3.31.1/libdieharder/rng_dev_arandom.c dieharder-3.31.1_fixed/
}
static void
diff -ru dieharder-3.31.1/libdieharder/rng_dev_random.c dieharder-3.31.1_fixed/libdieharder/rng_dev_random.c
--- dieharder-3.31.1/libdieharder/rng_dev_random.c 2011-10-14 15:41:37.000000000 +0200
+++ dieharder-3.31.1_fixed/libdieharder/rng_dev_random.c 2014-01-03 22:50:57.852321485 +0100
--- a/libdieharder/rng_dev_random.c
+++ b/libdieharder/rng_dev_random.c
@@ -6,6 +6,7 @@
*/
@@ -56,9 +54,8 @@ diff -ru dieharder-3.31.1/libdieharder/rng_dev_random.c dieharder-3.31.1_fixed/l
}
static void
diff -ru dieharder-3.31.1/libdieharder/rng_dev_urandom.c dieharder-3.31.1_fixed/libdieharder/rng_dev_urandom.c
--- dieharder-3.31.1/libdieharder/rng_dev_urandom.c 2011-10-14 15:41:37.000000000 +0200
+++ dieharder-3.31.1_fixed/libdieharder/rng_dev_urandom.c 2014-01-03 23:06:24.124239582 +0100
--- a/libdieharder/rng_dev_urandom.c
+++ b/libdieharder/rng_dev_urandom.c
@@ -3,6 +3,7 @@
*/


BIN
app-editors/Manifest.gz View File


+ 1
- 1
app-editors/emacs/emacs-24.5-r10.ebuild View File

@@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="24"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm zlib"

RDEPEND="acct-group/mail


+ 0
- 355
app-editors/emacs/emacs-24.5-r9.ebuild View File

@@ -1,355 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools elisp-common flag-o-matic readme.gentoo-r1

DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz
https://dev.gentoo.org/~ulm/emacs/${P}-patches-5.tar.xz"

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="24"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk gtk2 gui gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm zlib"

RDEPEND="acct-group/mail
app-emacs/emacs-common-gentoo[games?,gui(-)?]
net-libs/liblockfile
sys-libs/ncurses:0=
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
kerberos? ( virtual/krb5 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
zlib? ( sys-libs/zlib )
gui? ( !aqua? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXrandr
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
gtk2? ( x11-libs/gtk+:2 )
!gtk2? ( x11-libs/gtk+:3 )
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
) )"

DEPEND="${RDEPEND}
gui? ( !aqua? ( x11-base/xorg-proto ) )"

BDEPEND="app-eselect/eselect-emacs
virtual/pkgconfig
gzip-el? ( app-arch/gzip )"

RDEPEND="${RDEPEND}
app-eselect/eselect-emacs"

EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
S="${WORKDIR}/emacs-${FULL_VERSION}"

src_prepare() {
eapply ../patch
eapply_user

# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
|| die "unable to sed ctags.1"

AT_M4DIR=m4 eautoreconf
touch src/stamp-h.in || die
}

src_configure() {
strip-flags
filter-flags -pie #526948
append-ldflags $(test-flags -no-pie) #639570

if use ia64; then
replace-flags "-O[2-9]" -O1 #325373
else
replace-flags "-O[3-9]" -O2
fi

# Don't trigger a floating point exception for NaNs on alpha
use alpha && append-flags -mieee

local myconf

if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi

if ! use gui; then
einfo "Configuring to build without window system support"
myconf+=" --without-x --without-ns"
elif use aqua; then
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --with-x --without-ns"
myconf+=" $(use_with gconf)"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"

if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-libotf --without-m17n-flt"
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi

local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
myconf+=" --with-x-toolkit=$(usex gtk2 gtk2 gtk3)"
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
! use gtk && use gtk2 && ewarn \
"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
fi

econf \
--program-suffix="-${EMACS_SUFFIX}" \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--with-gameuser=":gamestat" \
--without-compress-install \
--without-hesiod \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
$(use_enable acl) \
$(use_with dbus) \
$(use_with gpm) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with libxml2 xml2) \
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with wide-int) \
$(use_with zlib) \
${myconf}
}

src_compile() {
# Disable sandbox when dumping. For the unbelievers, see bug #131505
emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
}

src_install() {
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install

mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
|| die "moving emacs executable failed"
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
|| die "moving emacs man page failed"

# move info dir to avoid collisions with the dir file generated by portage
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
|| die "moving info dir failed"
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig

# movemail must be setgid mail
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail

# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
rm -rf "${ED}"/usr/share/{applications,icons}
rm -rf "${ED}"/var

# remove unused <version>/site-lisp dir
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp

# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING

if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
assert "gzip .el failed"
fi

local cdir
if use source; then
cdir="/usr/share/emacs/${FULL_VERSION}/src"
insinto "${cdir}"
# This is not meant to install all the source -- just the
# C source you might find via find-function
doins src/*.{c,h,m}
elif has installsources ${FEATURES}; then
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
fi

sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
Y "${EPREFIX}${cdir}")
X (let ((path (getenv "INFOPATH"))
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
X (and path
X ;; move Emacs Info dir before anything else in /usr/share
X (let* ((p (cons nil (split-string path ":" t))) (q p))
X (while (and (cdr q) (not (string-match re (cadr q))))
X (setq q (cdr q)))
X (setcdr q (cons dir (delete dir (cdr q))))
X (setq Info-directory-list (prune-directory-list (cdr p)))))))
EOF
elisp-site-file-install "${T}/${SITEFILE}" || die

dodoc README BUGS

if use gui && use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi

local DOC_CONTENTS="You can set the version to be started by
/usr/bin/emacs through the Emacs eselect module, which also
redirects man and info pages. Therefore, several Emacs versions can
be installed at the same time. \"man emacs.eselect\" for details.
\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
strongly recommended that you use app-admin/emacs-updater to rebuild
all byte-compiled elisp files of the installed Emacs packages."
if use gui; then
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
readme.gentoo_create_doc
}

pkg_preinst() {
# move Info dir file to correct name
if [[ -d ${ED}/usr/share/info ]]; then
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
fi
}

pkg_postinst() {
elisp-site-regen
readme.gentoo_print_elog

if use livecd; then
# force an update of the emacs symlink for the livecd/dvd,
# because some microemacs packages set it with USE=livecd
eselect emacs update
elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
# refresh symlinks in case any installed files have changed
eselect emacs set ${EMACS_SUFFIX}
else
eselect emacs update ifunset
fi
}

pkg_postrm() {
elisp-site-regen
eselect emacs update ifunset
}

+ 0
- 365
app-editors/emacs/emacs-25.3-r8.ebuild View File

@@ -1,365 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools elisp-common flag-o-matic readme.gentoo-r1

DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz
https://dev.gentoo.org/~ulm/emacs/${P}-patches-2.tar.xz"

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="25"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk gtk2 gui gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm zlib"

RDEPEND="acct-group/mail
app-emacs/emacs-common-gentoo[games?,gui(-)?]
net-libs/liblockfile
sys-libs/ncurses:0=
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
kerberos? ( virtual/krb5 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
zlib? ( sys-libs/zlib )
gui? ( !aqua? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libxcb
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
cairo? ( >=x11-libs/cairo-1.12.18 )
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
gtk2? ( x11-libs/gtk+:2 )
!gtk2? ( x11-libs/gtk+:3 )
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
) )"

DEPEND="${RDEPEND}
gui? ( !aqua? ( x11-base/xorg-proto ) )"

BDEPEND="app-eselect/eselect-emacs
virtual/pkgconfig
gzip-el? ( app-arch/gzip )"

RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}
app-eselect/eselect-emacs"

EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
S="${WORKDIR}/emacs-${FULL_VERSION}"

src_prepare() {
eapply ../patch
eapply_user

# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
|| die "unable to sed ctags.1"

AT_M4DIR=m4 eautoreconf
touch src/stamp-h.in || die
}

src_configure() {
strip-flags
filter-flags -pie #526948

if use ia64; then
replace-flags "-O[2-9]" -O1 #325373
else
replace-flags "-O[3-9]" -O2
fi

# Don't trigger a floating point exception for NaNs on alpha
use alpha && append-flags -mieee

local myconf

if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi

if ! use gui; then
einfo "Configuring to build without window system support"
myconf+=" --without-x --without-ns"
elif use aqua; then
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --with-x --without-ns"
myconf+=" $(use_with gconf)"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"

if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with cairo)"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-cairo"
myconf+=" --without-libotf --without-m17n-flt"
use cairo && ewarn \
"USE flag \"cairo\" has no effect if \"xft\" is not set."
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi

local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
myconf+=" --with-x-toolkit=$(usex gtk2 gtk2 gtk3)"
myconf+=" --without-xwidgets"
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
! use gtk && use gtk2 && ewarn \
"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
fi

econf \
--program-suffix="-${EMACS_SUFFIX}" \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--with-gameuser=":gamestat" \
--without-compress-install \
--without-hesiod \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
$(use_enable acl) \
$(use_with dbus) \
$(use_with dynamic-loading modules) \
$(use_with gpm) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with libxml2 xml2) \
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with wide-int) \
$(use_with zlib) \
${myconf}
}

src_compile() {
# Disable sandbox when dumping. For the unbelievers, see bug #131505
emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
}

src_install() {
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install

mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
|| die "moving emacs executable failed"
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
|| die "moving emacs man page failed"

# move info dir to avoid collisions with the dir file generated by portage
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
|| die "moving info dir failed"
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig

# movemail must be setgid mail
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail

# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
rm -rf "${ED}"/usr/share/{appdata,applications,icons}
rm -rf "${ED}"/var

# remove unused <version>/site-lisp dir
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp

# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING

if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
assert "gzip .el failed"
fi

local cdir
if use source; then
cdir="/usr/share/emacs/${FULL_VERSION}/src"
insinto "${cdir}"
# This is not meant to install all the source -- just the
# C source you might find via find-function
doins src/*.{c,h,m}
elif has installsources ${FEATURES}; then
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
fi

sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
Y "${EPREFIX}${cdir}")
X (let ((path (getenv "INFOPATH"))
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
X (and path
X ;; move Emacs Info dir before anything else in /usr/share
X (let* ((p (cons nil (split-string path ":" t))) (q p))
X (while (and (cdr q) (not (string-match re (cadr q))))
X (setq q (cdr q)))
X (setcdr q (cons dir (delete dir (cdr q))))
X (setq Info-directory-list (prune-directory-list (cdr p)))))))
EOF
elisp-site-file-install "${T}/${SITEFILE}" || die

dodoc README BUGS CONTRIBUTE

if use gui && use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi

local DOC_CONTENTS="You can set the version to be started by
/usr/bin/emacs through the Emacs eselect module, which also
redirects man and info pages. Therefore, several Emacs versions can
be installed at the same time. \"man emacs.eselect\" for details.
\\n\\nIf you upgrade from a previous major version of Emacs, then
it is strongly recommended that you use app-admin/emacs-updater
to rebuild all byte-compiled elisp files of the installed Emacs
packages."
if use gui; then
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
readme.gentoo_create_doc
}

pkg_preinst() {
# move Info dir file to correct name
if [[ -d ${ED}/usr/share/info ]]; then
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
fi
}

pkg_postinst() {
elisp-site-regen
readme.gentoo_print_elog

if use livecd; then
# force an update of the emacs symlink for the livecd/dvd,
# because some microemacs packages set it with USE=livecd
eselect emacs update
elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
# refresh symlinks in case any installed files have changed
eselect emacs set ${EMACS_SUFFIX}
else
eselect emacs update ifunset
fi
}

pkg_postrm() {
elisp-site-regen
eselect emacs update ifunset
}

+ 1
- 1
app-editors/emacs/emacs-25.3-r9.ebuild View File

@@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="25"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm zlib"

RDEPEND="acct-group/mail


+ 0
- 392
app-editors/emacs/emacs-26.3-r3.ebuild View File

@@ -1,392 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools elisp-common flag-o-matic readme.gentoo-r1

DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz"

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="26"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk gtk2 gui gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib"

RDEPEND="app-emacs/emacs-common-gentoo[games?,gui(-)?]
sys-libs/ncurses:0=
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
kerberos? ( virtual/krb5 )
lcms? ( media-libs/lcms:2 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
mailutils? ( net-mail/mailutils[clients] )
!mailutils? ( acct-group/mail net-libs/liblockfile )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
systemd? ( sys-apps/systemd )
zlib? ( sys-libs/zlib )
gui? ( !aqua? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libxcb
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
cairo? ( >=x11-libs/cairo-1.12.18 )
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
gtk2? ( x11-libs/gtk+:2 )
!gtk2? (
x11-libs/gtk+:3
xwidgets? (
net-libs/webkit-gtk:4=
x11-libs/libXcomposite
)
)
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
) )"

DEPEND="${RDEPEND}
gui? ( !aqua? ( x11-base/xorg-proto ) )"

BDEPEND="app-eselect/eselect-emacs
virtual/pkgconfig
gzip-el? ( app-arch/gzip )"

RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}
app-eselect/eselect-emacs"

EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
S="${WORKDIR}/emacs-${FULL_VERSION}"

src_prepare() {
#eapply ../patch
eapply_user

# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die

#AT_M4DIR=m4 eautoreconf
}

src_configure() {
strip-flags
filter-flags -pie #526948

if use ia64; then
replace-flags "-O[2-9]" -O1 #325373
else
replace-flags "-O[3-9]" -O2
fi

local myconf

if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi

if ! use gui; then
einfo "Configuring to build without window system support"
myconf+=" --without-x --without-ns"
elif use aqua; then
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --with-x --without-ns"
myconf+=" $(use_with gconf)"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"

if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with cairo)"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-cairo"
myconf+=" --without-libotf --without-m17n-flt"
use cairo && ewarn \
"USE flag \"cairo\" has no effect if \"xft\" is not set."
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi

local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
if use gtk2; then
myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
else
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
fi
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
if ! use gtk; then
use gtk2 && ewarn \
"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
fi
fi

econf \
--program-suffix="-${EMACS_SUFFIX}" \
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--without-compress-install \
--without-hesiod \
--without-pop \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
$(use_enable acl) \
$(use_with dbus) \
$(use_with dynamic-loading modules) \
$(use_with games gameuser ":gamestat") \
$(use_with gpm) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with lcms lcms2) \
$(use_with libxml2 xml2) \
$(use_with mailutils) \
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with systemd libsystemd) \
$(use_with threads) \
$(use_with wide-int) \
$(use_with zlib) \
${myconf}
}

src_compile() {
# Disable sandbox when dumping. For the unbelievers, see bug #131505
emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
}

src_install() {
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install

mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die

# move info dir to avoid collisions with the dir file generated by portage
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig

# movemail must be setgid mail
if ! use mailutils; then
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
fi

# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
rm -rf "${ED}"/usr/share/{appdata,applications,icons}
rm -rf "${ED}/usr/$(get_libdir)"
rm -rf "${ED}"/var

# remove unused <version>/site-lisp dir
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp

# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING

if use systemd; then
insinto /usr/lib/systemd/user
sed -e "/^##/d" \
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
assert
fi

if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
assert "gzip .el failed"
fi

local cdir
if use source; then
cdir="/usr/share/emacs/${FULL_VERSION}/src"
insinto "${cdir}"
# This is not meant to install all the source -- just the
# C source you might find via find-function
doins src/*.{c,h,m}
elif has installsources ${FEATURES}; then
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
fi

sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
Y "${EPREFIX}${cdir}")
X (let ((path (getenv "INFOPATH"))
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
X (and path
X ;; move Emacs Info dir before anything else in /usr/share
X (let* ((p (cons nil (split-string path ":" t))) (q p))
X (while (and (cdr q) (not (string-match re (cadr q))))
X (setq q (cdr q)))
X (setcdr q (cons dir (delete dir (cdr q))))
X (setq Info-directory-list (prune-directory-list (cdr p)))))))
EOF
elisp-site-file-install "${T}/${SITEFILE}" || die

dodoc README BUGS CONTRIBUTE

if use gui && use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi

local DOC_CONTENTS="You can set the version to be started by
/usr/bin/emacs through the Emacs eselect module, which also
redirects man and info pages. Therefore, several Emacs versions can
be installed at the same time. \"man emacs.eselect\" for details.
\\n\\nIf you upgrade from a previous major version of Emacs, then
it is strongly recommended that you use app-admin/emacs-updater
to rebuild all byte-compiled elisp files of the installed Emacs
packages."
if use gui; then
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
readme.gentoo_create_doc
}

pkg_preinst() {
# move Info dir file to correct name
if [[ -d ${ED}/usr/share/info ]]; then
mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
fi
}

pkg_postinst() {
elisp-site-regen
readme.gentoo_print_elog

if use livecd; then
# force an update of the emacs symlink for the livecd/dvd,
# because some microemacs packages set it with USE=livecd
eselect emacs update
elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
# refresh symlinks in case any installed files have changed
eselect emacs set ${EMACS_SUFFIX}
else
eselect emacs update ifunset
fi
}

pkg_postrm() {
elisp-site-regen
eselect emacs update ifunset
}

+ 1
- 1
app-editors/emacs/emacs-26.3-r4.ebuild View File

@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz"

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="26"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib"

RDEPEND="app-emacs/emacs-common-gentoo[games?,gui(-)?]


+ 0
- 460
app-editors/emacs/emacs-27.1-r3.ebuild View File

@@ -1,460 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools elisp-common flag-o-matic readme.gentoo-r1 toolchain-funcs

if [[ ${PV##*.} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
EGIT_BRANCH="emacs-27"
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
S="${EGIT_CHECKOUT_DIR}"
SLOT="${PV%%.*}-vcs"
else
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
S="${WORKDIR}/emacs-${FULL_VERSION}"
# PV can be in any of the following formats:
# 27.1 released version (slot 27)
# 27.1_rc1 upstream release candidate (27)
# 27.0.9999 live ebuild (slot 27-vcs)
# 27.0.90 upstream prerelease snapshot (27-vcs)
# 27.0.50_pre20191223 snapshot by Gentoo developer (27-vcs)
if [[ ${PV} == *_pre* ]]; then
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
S="${WORKDIR}/emacs"
elif [[ ${PV//[0-9]} != "." ]]; then
SRC_URI="mirror://gnu-alpha/emacs/pretest/${PN}-${PV/_/-}.tar.xz"
fi
SLOT="${PV%%.*}"
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi

DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"

LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gui gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib"
RESTRICT="test"

RDEPEND="app-emacs/emacs-common-gentoo[games?,gui(-)?]
sys-libs/ncurses:0=
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gmp? ( dev-libs/gmp:0= )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
json? ( dev-libs/jansson )
kerberos? ( virtual/krb5 )
lcms? ( media-libs/lcms:2 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
mailutils? ( net-mail/mailutils[clients] )
!mailutils? ( acct-group/mail net-libs/liblockfile )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
systemd? ( sys-apps/systemd )
zlib? ( sys-libs/zlib )
gui? ( !aqua? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libxcb
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
cairo? ( >=x11-libs/cairo-1.12.18 )
harfbuzz? ( media-libs/harfbuzz:0= )
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
gtk2? ( x11-libs/gtk+:2 )
!gtk2? (
x11-libs/gtk+:3
xwidgets? (
net-libs/webkit-gtk:4=
x11-libs/libXcomposite
)
)
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
) )"

DEPEND="${RDEPEND}
gui? ( !aqua? ( x11-base/xorg-proto ) )"

BDEPEND="app-eselect/eselect-emacs
sys-apps/texinfo
virtual/pkgconfig
gzip-el? ( app-arch/gzip )"

RDEPEND="${RDEPEND}
!<=app-editors/emacs-27.1.9999-r0:27-vcs
!app-editors/emacs-vcs:27
app-eselect/eselect-emacs"

EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"

src_prepare() {
if [[ ${PV##*.} = 9999 ]]; then
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
configure.ac)
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
einfo "Emacs branch: ${EGIT_BRANCH}"
einfo "Commit: ${EGIT_VERSION}"
einfo "Emacs version number: ${FULL_VERSION}"
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
|| die "Upstream version number changed to ${FULL_VERSION}"
fi

eapply_user

# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die

#AT_M4DIR=m4 eautoreconf
}

src_configure() {
strip-flags
filter-flags -pie #526948

if use ia64; then
replace-flags "-O[2-9]" -O1 #325373
else
replace-flags "-O[3-9]" -O2
fi

local myconf

if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi

if ! use gui; then
einfo "Configuring to build without window system support"
myconf+=" --without-x --without-ns"
elif use aqua; then
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --with-x --without-ns"
myconf+=" $(use_with gconf)"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"

if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with cairo)"
myconf+=" $(use_with harfbuzz)"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-cairo"
myconf+=" --without-libotf --without-m17n-flt"
use cairo && ewarn \
"USE flag \"cairo\" has no effect if \"xft\" is not set."
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi

local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
if use gtk2; then
myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
else
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
fi
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
if ! use gtk; then
use gtk2 && ewarn \
"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
fi
fi

if tc-is-cross-compiler; then
# Configure a CBUILD directory when cross-compiling to make tools
mkdir "${S}-build" && pushd "${S}-build" >/dev/null || die
ECONF_SOURCE="${S}" econf_build --without-all --without-x-toolkit
popd >/dev/null || die
# Don't try to execute the binary for dumping during the build
myconf+=" --with-dumping=none"
else
myconf+=" --with-dumping=pdumper"
fi

econf \
--program-suffix="-${EMACS_SUFFIX}" \
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--without-compress-install \
--without-hesiod \
--without-pop \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
--with-pdumper \
$(use_enable acl) \
$(use_with dbus) \</