parent
203d7a00aa
commit
3f0f26e17a
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29484 BLAKE2B 42d16dbcb34c92bce65460dd3249e4d2f78d9de2d8fb453bab2c8b40be4a802e5a1888a9a86ee5999ca9290b967203a79962b9b8168f48f47e20f57537d12320 SHA512 b0b7b044ef051ed5142d9186e54582756b985ad0cb47a6e23cf1bf1e2bdb1200414121f586778f2c2018f9f23b8a1049a1a97f7c61c4ad342b6e137c9d59d6dc
|
||||
TIMESTAMP 2020-03-30T22:09:05Z
|
||||
MANIFEST Manifest.files.gz 29463 BLAKE2B 398423925bfe70b0195f2c1ad058e4c8f9784a9a835ca3a14b3efd382f5ff45cee3c60e61ea52417929bd96ebec8af3ebe26c2b386bc41ffc381ae2ed4d36b48 SHA512 fc554623160eeec361846e030186c6ab5e7ca06ae52122b29c38b90799c6c3486541ad71d8d894a1b28621193e85f29b75b6e5c38f71d3386944a5b5b3c33c38
|
||||
TIMESTAMP 2020-03-31T20:09:03Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl6CbgFfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl6Do19fFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klAIRw//asb8xYOHIvn9wzZWgPqIRomdgXnem7/Bb0jbTr7gfjByyVpZ1aYF6vmo
|
||||
pDfXSwcXZMiWL3L0KskL+wNq6vxspMmnOV3uxkZ0CIE+VYZX8kSuDHPQzDgL1UU5
|
||||
ZVz7+9KyxXNVxDaN2v8NPRzPT1YtVeG17PDzpCzgv1WjfLW7jUqwg8YePTlk3KPq
|
||||
L12y7QygIHfmZ0a0Ad3rMmmkNPVOQFUBMLA2kY4EyIw9oPcGMYO4bzz/qMfSm0wa
|
||||
sGlq+6Uo2OlaaNiNTZLo/Lbu9tLvh7954edPuDNaPhdmybfXzN+/QmxPe39HPOgR
|
||||
dwDXMioj6Xusq97gBi8cDoR7J7izgL5lcM1TYzNgbZTZTZ6YI5DRY/0kWN3dTu2g
|
||||
h2njQwOS++n9UY8IkrZd1FlPOCBpCeSob7zI7Ely3wICMxjquZAN+01bFKKhvQnR
|
||||
ShaqXmXQk97PqdFrpv79I8wTJhYRDowUdOM9IYVSmkU+n8aGFw0OKWda6K2Hrk5s
|
||||
HrkVBkJf3mEUc6pahvqx5cIby/ZSNUiNgSucn/xWI9B5k0KhTam7GnN7ISut+RzO
|
||||
O0Z4n/TbmOjvqT+N6SSkhDiJf47gkJNleVzJzHEhHKCbaEtvJK0imnts3Aj0WdE9
|
||||
WH20s0rPwnLIra//2fpcABQvBFF9jfjXAVyGXjPF5j4aNePNtX0=
|
||||
=Io5k
|
||||
klDmAg/7BNSKIkCvYt0LjkHHm9vBxikM/Xy25H78+PJxMNmJaEALLGRLRRBtpjSj
|
||||
cykb0txX+vOXy1S9FLJiaV+soOY8A+Xwh+1FAY9SUMDJMJw0i4FILrtl1TiZ+qB1
|
||||
mwxrMgtEVB2/SGiWf11lwHTXcgfW5yi2Ey6jOCoiWdl9GWCmNZr5bdz6Gt7jsr8t
|
||||
X4rCCUu/PmpuVXhvMh2rxZfNBkERsTKtEJlF7xFKbwdPMRvsNtKMSB2CfZursYGi
|
||||
UyRnvk0nO+kuTIsEfdpcFvj23QadfJD8dzs/ZSB1C3HTQz+KR0LU2GTCAad7YC6I
|
||||
hH4Powkscww3vpnkijxUJ+sJg9HmPwzwVDWEjDEN4O+Ux+y5lFh9Ftf/XGlOn9GF
|
||||
TbBnAA5ZhF4+F4MqFFVusdskTcftrd+r7El5/7mmlz/V7M2SCV6QzVjqUx75DvD5
|
||||
cK84uhdD4klb+7xfmysfFGCZccBtOCb5c9RUYKlIfM2lhJ6XvU92ahqbe6BhZFlZ
|
||||
fn0XTPErfRPVsE+hNevQXghTW4HpeplDP4SvumHvhCcRX8KrmlT5DsyCN1+SpL16
|
||||
G4KX3ZMkP6iYNbhBaKmgErAcq/ztmAiNXSVHxbWos2/tFbKLQXV/LKKu3PdqTg3V
|
||||
tCpbXwQtCE9+M9INnRh8ONowbQHoOKpgxm80h9TRqO6jlpgETsw=
|
||||
=5nsW
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
DIST eselect-1.4.15.tar.xz 178996 BLAKE2B 4354d975c8af2e1de0f0c6efe2badc92584e947f9b73c05aac144caf8f9d74c850d366c7c225112322a504262b5f285f6e2e8d32223f1b2d4bac87db740a148c SHA512 ceb55fecc2bf70e816679af9b20653b29aa9ce24ca2d4cd0c6e02ab214689459bc2ccd5b3968ac49249b8fb6613c6055e7e76598b86c6a114a9abf847c4a2b58
|
||||
DIST eselect-1.4.16.tar.xz 178660 BLAKE2B dae97ee324cb67983c5395b5dc54c4b84d2da43f6a0c5c8ab81ff402ab211e9d1f1d3fe5c174b130ac1e11d3dd19e3812056274145415ee029e649cda880cd95 SHA512 264fb6122f5f7c9e73bb2250a94c3c0377e5263e2e5ae653ed58e08ebf6ed1b4aa165ae5c1d70b0156081c4db5672d1ec9d379782919d5b40a2f3e862378ce62
|
||||
EBUILD eselect-1.4.15.ebuild 1604 BLAKE2B 42054e67b7b65ba3c3e987098d768fa7222750eceaff38d8d3e5216beee03fc0a7f4188cf4a802031df3c7fc8ba875d4d9cb0f101079c6a90a8ed7ba9cfe43d0 SHA512 61ad8deb5e4508601317dbf54aa15e8a769240964705ba04316bd6c67500956b5346c2c303815e5936f20010bb6294a54fcafc363bbf4925e816e8c4e6c9c9eb
|
||||
EBUILD eselect-1.4.16.ebuild 1606 BLAKE2B 314977c5a58cea7fc84191556a3256ca58ff43ab28e79e6d075c4cdbcecbec71e57eac60dbb492214114e0942f99ecb5ae347e916e4b2b19bca4dfe4b70cd619 SHA512 7894efaeaa7063dc95051142c4f5efa7af49edcbbc6fc58d466ac7137e46858597b798536ea993f97e3a2bb89a1f47a6f7a92161a9a5ff7552baa94fa4587dd3
|
||||
EBUILD eselect-1.4.16.ebuild 1605 BLAKE2B 6691a6e224beedf548ace1cef1473e46bfa16dec30bfa4e43b4842c2bd99e3779e925b4a212ac74d4501277893ba4290d43765326165d56d706aefb8683f18ee SHA512 3700d3ce0ec020aeaf41cdc0f7ce77c7efdfe1532a72e5439c3e5e70aa0daa29642efd18e1e5fa2d0fcf8a1012e004d027e0e58c8920657ae20b550227633c26
|
||||
EBUILD eselect-9999.ebuild 1437 BLAKE2B a390e3198a7f7f52f48ef56bdb73a8075d5c4c1560c0df7971d32798f1296114053b16a8faeee2982b8e106be835e3b61c3655dc2de270b488259f185e8a8980 SHA512 06a5eb4f7bed5a17f9cd56fe497a7cadb7a153580fac6aeefd6f0762ed029c78c79e4f4a50301177eff4e50ac3ac5ddfae342eb0eb4b5c64aa6a840493fa5868
|
||||
MISC metadata.xml 272 BLAKE2B 68f9c1edf77cdf1dc46891129ed694307cab4e954c6cb002c3fc32fba216949c83a21dc0618f4bf24fd8e1da5558043709210e6697fda3881adeb69a30eb569f SHA512 55cba722900834986e0ea0c9cd8463c3b69d3ada26227d45c8cc3aa07f6ca40919457f80b03a559a8f9ad55636d931cc2101b928b438aeca19b0531c90ec40a3
|
||||
|
@ -1,5 +1,3 @@
|
||||
DIST yadm-1.12.0.tar.gz 47340 BLAKE2B ef710f56c96244c082bfcc887cae4aee00aaaadec5e7466500dde263c5e4f43df046e11742fd275e989bd9704b39a123f17248cd70d64f6ca552b28db6c44814 SHA512 402a67770154ce3ae7ab947ff4d4e26ca5040d343110fb749195ca5c3f4ee435aba1d8cdf02d4ecf4a81d3f331c1b891bed4fb3fcfcc893867e0fce45b9c8cd8
|
||||
DIST yadm-2.4.0.tar.gz 96877 BLAKE2B 462a5816e106c4502007ff34ab338904e14a9851ebcfc7ff79a32a8b11fbbe3e0b7e6538ed6b489ab67e2205c84b2250749e3091c77fa663886dc9792078a576 SHA512 43e16a9502f9dd9f6c6dba3bb5403bb048244a406d44cb42a96a43e62bf7342efd5f302304dbedede61423546787fc929f378d68da9031207e70239ec4e265ce
|
||||
EBUILD yadm-1.12.0.ebuild 1258 BLAKE2B 6c1cda1aa6ff1f7ee5eae8dc43cee7aed49b7eb6e7d1a130c932fd58c8518268fa56024cf18dde7eeec50c0053693493a1cf452ea169ab1668a22a424b3f1167 SHA512 78d6becc931275ddf9a63b55f270b7c4145e364b81d0c512742b5b3c7532c7e1242f840513614343c325a176d9126232de16a50cca977764fa16726820bf94c9
|
||||
EBUILD yadm-2.4.0.ebuild 1348 BLAKE2B 59d48345afeff41cd3ca05cdacdfcc275dcd012ffd5a04b99cbb7790d7e995105a002621a789b0543afb95e36f5531d50d0ac8c59b25607d602e3606ae78eae4 SHA512 0e4fe41bb17f8129175bb42625bf98511ce9a2787a23239813c11c79e0079f86635e04f13a5bc7976e1e103f9b859842229b0c527408ac4b0e38baa23ddcebdb
|
||||
MISC metadata.xml 825 BLAKE2B 6fbf4554179cf6141396b8e21be3dada54c0eec7c5c5bd1e18860b73f1d170044006b92010f7dd5d3c2238f8545024ee43dc2c86305e8bc91871acdd497c8749 SHA512 0c8facf902245118eab0d6c4b48eb5a2fb63aa6cb7fe4581cc0353bd164912b7620eb2f42984b45410065d3a6e1af1cffa5028f5c26a4ecd38a9983da6b34feb
|
||||
|
@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit bash-completion-r1
|
||||
|
||||
DESCRIPTION="A dotfile manager for the config files in your home folder"
|
||||
HOMEPAGE="https://github.com/TheLocehiliosan/yadm/"
|
||||
SRC_URI="https://github.com/TheLocehiliosan/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="zsh-completion test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-tcltk/expect
|
||||
dev-util/bats
|
||||
dev-vcs/git
|
||||
)"
|
||||
|
||||
RDEPEND="
|
||||
dev-vcs/git
|
||||
app-crypt/gnupg
|
||||
zsh-completion? ( app-shells/gentoo-zsh-completions )"
|
||||
|
||||
src_compile() {
|
||||
emake "${PN}.md"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# 109_accept_encryption tests are interactive, thus fail. Skip them
|
||||
# 113_accept_jinja_alt.bats are depepending on the optional envtpl
|
||||
while IFS="" read -d $'\0' -r f ; do
|
||||
bats "${f}" || die "test ${f} failed"
|
||||
done < <(find test -name '*.bats' -and -not -name '109_accept_encryption.bats' -and -not -name '113_accept_jinja_alt.bats' -print0)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
|
||||
dobin "${PN}"
|
||||
doman "${PN}.1"
|
||||
|
||||
dobashcomp completion/yadm.bash_completion
|
||||
|
||||
if use zsh-completion; then
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins completion/yadm.zsh_completion _${PN}
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
AUX gnupg-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch 1048 BLAKE2B 36f37b74da309100191f4d8f9c27d08a1b00d2d30fbaf169dbb74ebbe42293357a4fb62332e286fe5725dcfdc30645a602dc2a51c51924b06215b68fd5235658 SHA512 fd12827150e96cd7979ea9611d64ed4ab9e6c61cfecdd697b8fb4d162f20985b734c2bfc365a921809b9029e86a85a9b36c10ec472b3dd49c25ea18f5aef56ce
|
||||
DIST gnupg-2.2.19.tar.bz2 6754972 BLAKE2B fc1b9afb398ef78a6d239c62fc88cba7148679b1b666ac39dbd9644847e99de1a683a7938bc112cb33adafe555472319dde4f64860071446a66cd79934f7d69c SHA512 d7700136ac9f0a8cf04b33da4023a42427fced648c2f90d76250c92904353b85fe728bdd89a713d847e8d38e5900c98d46075614492fdc3d1421f927a92f49dd
|
||||
DIST gnupg-2.2.20.tar.bz2 6786913 BLAKE2B 43cf9402a26e67d6c7c2444eb2faaee3f06ea0bf6c07708a50834c5d7424db2f9c38e1f0046dd3a35082abc08d401b2951655e7e068f0873db297560b87d2667 SHA512 3e69f102366ec3415f439ab81aae2458182fa1a18dfb86565b1d9dc638f3fc4c179a5947f0042b7c5a813345676285a662793664a1803ea9ad8328f0548e0edc
|
||||
EBUILD gnupg-2.2.19.ebuild 5323 BLAKE2B 1d1574d7984aabc6bc3abd73b5e046338716a705bd805f13896ad7888e05632dbc5cd9c43f8f41ff473d0a1c1f46b1ef5c46c822859b6b6ef2c43fcc64bac5bf SHA512 2d7784cb0bc19890659955ab7132b1734c28de73ecb1613743731c9c5eaf5d303b96983858a6c1bb4a533dee7ef63d941ebf4656b8bbd5224d7dfd07752d887c
|
||||
EBUILD gnupg-2.2.20.ebuild 5124 BLAKE2B 3cc31261ff50eaef8b62a076f7d317c6e511de6500247fcf86f0f8f2bae23a72c381f02985c6cd582d6fa6d2042d787192473e7340456273d40b42a05120c10a SHA512 bd7b342b565bd7e23b71e92faaf26d33a3b9809fe8d45566d49f59132ecdb5aff61f0d1f89fb48c6bba553797685578d2684cdad50151e4192474cea0e84d85b
|
||||
MISC metadata.xml 1212 BLAKE2B 36bd1e7478abbb579b33292418dc621c65869151cfd0cbe9cb7b553adf92b606273f415db763ec5c3884e91f29929f79de1cbf15cc47626b1115b168d567790e SHA512 646ec87262b7069808976e17fae4b2101f9a8aae7ad5bbd10abce6077a5e4e741eb5692997af4383cf8cd3e6b03ded83f9dd5245ed112533c6a6e4c752b1060a
|
||||
|
@ -0,0 +1,165 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic systemd toolchain-funcs
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="http://www.gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb user-socket wks-server"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND="!app-crypt/dirmngr
|
||||
>=dev-libs/libassuan-2.5.0
|
||||
>=dev-libs/libgcrypt-1.7.3
|
||||
>=dev-libs/libgpg-error-1.28
|
||||
>=dev-libs/libksba-1.3.4
|
||||
>=dev-libs/npth-1.2
|
||||
>=net-misc/curl-7.10
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
ssl? ( >=net-libs/gnutls-3.0:0= )
|
||||
sys-libs/zlib
|
||||
tofu? ( >=dev-db/sqlite-3.7 )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
app-crypt/pinentry
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
if use elibc_SunOS || use elibc_AIX; then
|
||||
myconf+=( --disable-symcryptrun )
|
||||
else
|
||||
myconf+=( --enable-symcryptrun )
|
||||
fi
|
||||
|
||||
#bug 663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == *clang ]] && \
|
||||
export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
|
||||
econf \
|
||||
"${myconf[@]}" \
|
||||
$(use_enable bzip2) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable smartcard scdaemon) \
|
||||
$(use_enable ssl gnutls) \
|
||||
$(use_enable tofu) \
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver') \
|
||||
$(use_enable wks-server wks-tools) \
|
||||
$(use_with ldap) \
|
||||
$(use_with readline) \
|
||||
--with-mailprog=/usr/libexec/sendmail \
|
||||
--disable-ntbtls \
|
||||
--enable-all-tests \
|
||||
--enable-gpg \
|
||||
--enable-gpgsm \
|
||||
--enable-large-secmem \
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)" \
|
||||
GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config" \
|
||||
KSBA_CONFIG="${EROOT}/usr/bin/ksba-config" \
|
||||
LIBASSUAN_CONFIG="${EROOT}/usr/bin/libassuan-config" \
|
||||
LIBGCRYPT_CONFIG="${EROOT}/usr/bin/${CHOST}-libgcrypt-config" \
|
||||
NPTH_CONFIG="${EROOT}/usr/bin/npth-config" \
|
||||
$("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
#Bug: 638574
|
||||
use tofu && export TESTFLAGS=--parallel
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools &&
|
||||
dobin \
|
||||
tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
|
||||
tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/* doc/*.png
|
||||
|
||||
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "See https://wiki.gentoo.org/wiki/GnuPG for documentation on gnupg"
|
||||
elog
|
||||
elog "If you wish to use 'gpg-wks-client --send', you must install an MTA!"
|
||||
}
|
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
DIST mg-20171014.tar.gz 141045 BLAKE2B a5b3bda6ff3b6416093069b471762687c2279737aa05b297ccd3077aff195cf52831566768613a81dcc977a27ac5ffd6e8a1874aa1010b6d90f4c678b6825cee SHA512 d55818308421aa523fb30b6e4725bb122f37637a822fabafeba9f9da3b97fd7f6af6431fce3015c969d0e656a48e89ed49b790deefc69fbdbb7e257f8a1aeb56
|
||||
DIST mg-20180408.tar.gz 141988 BLAKE2B db7da46fb0160acf8695f05234ed0c8e9a45e4239dc3abd433ddfb8b66e2b1aa550ffc4b409486a8990881d791ed73269a8ab78f6846cd4f0bee67761c11d281 SHA512 25fceb18fcbe63010e7a2e107aa5c30356938be2e04ff48869a12b5018dbb83bcf4dc70b03674713516616037247952a51454a28ca418cdc7b020d1f415f8701
|
||||
DIST mg-20200215.tar.gz 152254 BLAKE2B 89e47aaa94fd95b9409a53b09c9017e26d3f1cc73ce616e1c29ed22fbaed42cb78e7c9fbcd2424d98f86725fb00cee5160be4fe40abc97a927201557b684f800 SHA512 c6cda5544210bc3d3fa3cbb8494e60949e10ed3716d96b76d0c9e7f5671c7a85f6e7e7a860cfd05466f1bf52112053c722441ff338210c0ada89f10515ac170a
|
||||
EBUILD mg-20171014.ebuild 1022 BLAKE2B 42529172df6ebaeb310dbfc5e871e08126af01b013da40f141d233671b55133cbe7417affc6872cd3040357c04a2094e68c8c67370bff5f080d52341f03fc119 SHA512 33dc80e03ce4b7094221a85748962b89f83ba0301bcc6b4e20da33ee1f5abed4aad17b8fd0caff4383c95e6f497d1d5f11d92cb10c9fd06591a32d2e305ce114
|
||||
EBUILD mg-20180408.ebuild 1038 BLAKE2B 94c2a65dd5aa2dad60ef573c9b0fb3a8dd7e2874b8dad6999307f0fe996859760f697f5617680ec14ed23b8314765a67612e5843d6b9382fd0a364df7f4baa81 SHA512 8ce648f61e4ed9572a80ab8c1328498191c5a6f31e8b0c032f5af7fc69e375034852d8d71d5daba9f99d9c93c0c7620174f49e80f75f8344b164a46dc2dfd154
|
||||
EBUILD mg-20171014.ebuild 1023 BLAKE2B a6b86a471504c94104f4b4174cecfe878104b8d3d18ee6e5b5d005e7c19ce03582e68f6306ff8190f4e0bddcf84b223fd1d2d7b3d923c82c6f794daa0c370000 SHA512 845d09a9e38d0315cc0c2383aa3d65770b73c6dd8a494acb32c471b82d5243072236324a5428ca5a9a6200b75b0fe7a8366c4a94bed2c0f48d683ef36ad8628c
|
||||
EBUILD mg-20180408.ebuild 1039 BLAKE2B 1b1c3ad8fd0373d8dd16ddf0a12747f06abb028bc205a6064f50f711ad8fef8a135df1e4b87cb4835656d9ac9834cd2194b83ffe56fbba74e8a6d616dbba3fae SHA512 2acc555ba564b5c9a11bab563847762bb1f726f750a25387b24f282af906c22cf49db2b6912b116dba81f3715e7baa736a57375413d2ac62f2a446e332f124ff
|
||||
EBUILD mg-20200215.ebuild 1039 BLAKE2B 1b1c3ad8fd0373d8dd16ddf0a12747f06abb028bc205a6064f50f711ad8fef8a135df1e4b87cb4835656d9ac9834cd2194b83ffe56fbba74e8a6d616dbba3fae SHA512 2acc555ba564b5c9a11bab563847762bb1f726f750a25387b24f282af906c22cf49db2b6912b116dba81f3715e7baa736a57375413d2ac62f2a446e332f124ff
|
||||
MISC metadata.xml 384 BLAKE2B 86ad99174028addfaef8bb9f143949161c8d1d81f2e946b3aa9088bd644b61ce97869d0a0b669abcff56e925fe8757d77f6123a2dfe340b8620db2ae84ba0b55 SHA512 70e2db47bef37d81a3842797ea0e12081e697b6e06bd25fbecfb64acf58b80e60a0c31508bf1c93879734af0921a47654fd489f08301b2517757741e0c6d25cf
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST pax-utils-1.2.4.tar.xz 665648 BLAKE2B f0003f912e42a25c8b587764591f7c466aa4c7a24f38fe101d7b64ea5abca5511b2f9329fa5620d1b4ae1926c2272eb97d4ada0210d4e55d16c7766a055672f4 SHA512 03b84054c59e8ce64d2c07276c61245c8e9b3eca2fc430269531e2dafe120009b541ebb6adc4ff54c13a1da63caf0755fb026ba272cf17d04f75e06b893a3e95
|
||||
DIST pax-utils-1.2.5.tar.xz 679604 BLAKE2B 348c6ab52a5e950f346115802d596fd33142fe2d93a83d686fbec917d3f74c53c332f2fcbd197c5bdd38b545f48568c7b461143fa328433ce3ee931901012601 SHA512 bf2f47393a66b4218eba7981100fc6936c7c9d6d98970f5337e7b3097ce6f7b2ca13de486ff7450e4395b74ba2308d37105508234f323230376ec5814cfe54f9
|
||||
EBUILD pax-utils-1.2.4-r1.ebuild 1760 BLAKE2B 935abe9ccb770a6603b6ad88e816e59c89450ddd982cd3324c9e0d8c039878897d57859a6eb5260f66a7a0f6e9da75b7341a43291522996ebd93e6755a39c54d SHA512 73cce0e7731fe6748a323e19e4300358b9f53b1cd48968006654e1acf8c633c1bccb3273bf504e5dd5288ea7029e938ead8007db55d6aa0f70c415118c603617
|
||||
EBUILD pax-utils-1.2.5.ebuild 1761 BLAKE2B 98808bd866063db43d54694e24f8e28630d4167ec76407afd1b20e72254e11b64f1759feccc182ab578a9b4390b3d8f01474827223c5edca4914fb99fb9ce2b0 SHA512 7ef760857d940ca6d9e5d3e99c72c1f36c21e442ded4b907751a956ccda0dd1051bc2153c4b590d9a3c21b11ed464c1e1dff3cedcab30c7b9f5dcc9bda5fc106
|
||||
EBUILD pax-utils-1.2.5.ebuild 1760 BLAKE2B 935abe9ccb770a6603b6ad88e816e59c89450ddd982cd3324c9e0d8c039878897d57859a6eb5260f66a7a0f6e9da75b7341a43291522996ebd93e6755a39c54d SHA512 73cce0e7731fe6748a323e19e4300358b9f53b1cd48968006654e1acf8c633c1bccb3273bf504e5dd5288ea7029e938ead8007db55d6aa0f70c415118c603617
|
||||
MISC metadata.xml 706 BLAKE2B 1660bd83c0164ecb4c187d6271cd1f27a8140906bef315bcfc4be37594f91a79cfa9da8fb9dfd1af66c6c7028ed4d40ef891b025fb12b9486b7ee366a3e5c354 SHA512 3691bf431cb24ad3498b137f0e264562451db583201e1cae327ed201f36d838f01dfe78e3569a2d24593c67f747dff17eec645bacf0855148c72354ebeaa26f1
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,32 +1,17 @@
|
||||
AUX icedtea-bin.env.sh 1062 BLAKE2B fd3b099ba1cd2d4f817852ad6d5f6ee5690f4c4edf481ecb0e3b6a7ce7893d983405801ac997e7df53048a64c5c8c48b5370710a897aa68a086ec79d316d0026 SHA512 7d85767b6bc1d5761d2dfcdd560199f735bd2514bd1fe78d0a11af4f491c87b89cedb063d72e3170ced9cb01ebb5c40004f23e7b97b0c7e77a4d68c051a62b12
|
||||
DIST icedtea-bin-core-3.14.0-amd64.tar.xz 62155444 BLAKE2B cfa6a11778d159026151fffcfa7189fe45d23d22d810375f36f237afcdcd646be73788cb5cfa0a2e4822026ae58456b69f6f4baa03c7d143429f2ffe55d73e19 SHA512 2d29f7f61ef67d93b57318c34fbccf99077f40c6322bc774326e33ba11c8dc2a07d34c8e9d8b500feaeabe4aa45644d03140b57a3996261d13da9f9bf85ebf5c
|
||||
DIST icedtea-bin-core-3.14.0-arm.tar.xz 58158680 BLAKE2B 3899136ccb43550129a33996ec50f7b60b9b3d118f758e3d5c51a837f6222033a32677fca58f8c95de12abb4b1b8940190a442d9b1901808307634662af7aeb8 SHA512 8a56048439f50bd01ce4723f8f9b97f764f655370927dad0a92db9d678e8eb797ce3a6d813a247f60d4c38ae1a3de3ab9a3b78341d19977ef05d939e85194e67
|
||||
DIST icedtea-bin-core-3.14.0-arm64.tar.xz 61710384 BLAKE2B f02c68f71a057232f9a8ea7476b476a376c0bd508b53f1043dfc6a6f86b5701e50d0d6be7d627436c3cff931ebe3c56f0d634196d8e1b96058142421214d525d SHA512 853b7ef0d21d0d9645ef3bc4b5cb24ed43ca71687d2630a10d3087a4ea82855f98cc7c8190b0de62a746cfa214489c8ac3afdc17dfc13dbb61dd4c8a908da31b
|
||||
DIST icedtea-bin-core-3.14.0-ppc64.tar.xz 55154368 BLAKE2B 0a509f1ae6ef885c18cf15a7c4dbe984650e242ea820aa65602cfc1a001f0123151fb5c33f25546391c9a62cc735c5a6a6cb98ef97c61900d65154c5b44ab3d2 SHA512 f6b19b8e7dd80df8a162665d7c3dcc8f7d739fefcd1e6a1e8d588cbbf7de08240ef49c6542524bcd173f7150a1ff5d752a9c7532dc6a9b37954ea29928bf123c
|
||||
DIST icedtea-bin-core-3.14.0-ppc64le.tar.xz 55152852 BLAKE2B 198dffad2beefa5fed0fb0a9151ba68bf4f24e8dd1ff2a430983ecb72131d82119423eba6192365620731e030a58b60bb3492b34e2a87d19a58178c43e69853d SHA512 8ccfd5ba3ae3d0a7125b99c52db7ee37229f9071209e2011023398c3dd4746e7edda92f361427667739b298ee2d0de7777bab4346cffbe6572f2729e59971ef7
|
||||
DIST icedtea-bin-core-3.14.0-x86.tar.xz 61674516 BLAKE2B 9297b3192985e1925f732c38229854781ebc61a49b487d147380c0fcd088601908f59488f8795f2c9069d103613785082f0fe4e227659fe3916d807a6622c3bf SHA512 ca61c53a1a424a059b4a0b2b8fea8fa2a8ab9cf1e3dc8f5600b89b29f280f71841a7b853bfd1e88d756211816e733aef8fb232fcfdebca85978cf50c9026f0fb
|
||||
DIST icedtea-bin-core-3.15.0-amd64.tar.xz 62196772 BLAKE2B 0da09f58d785c3a9d8acffbe1daeb1d944370a5256ff85f4a8b92d48f465ad19d1ae6eb91729807aa67a43a00e029e9d2978b7848f59bbcddbd40252da930426 SHA512 6d9415449b5c937357f1a1b7610658446d1ac9c07a0203e02f89f5ca2077712ca59157f35f02a106674aa17c6f3e0c9b54d983c3278ca0eb8c1d25d639293db5
|
||||
DIST icedtea-bin-core-3.15.0-arm.tar.xz 58228516 BLAKE2B cc975c461ad1246257c993434035e679e57193ee70b073a072a15ba9b1f3b00848138092ad427356822a216f1142685fcfb31f4e36551846f5298a2338abc215 SHA512 517f73b41ac93dead8896b6c0894464ae2d3cae5d249258fe7426817947d1332245de5be60f027e5fb92566e062ea1fb74bbcb2fed600238713202519d70f3b7
|
||||
DIST icedtea-bin-core-3.15.0-arm64.tar.xz 61788580 BLAKE2B f2c8d1d0ac823838881f07fc3aa47f07b048924c49ec7a0f8ce5b1f942ede8d2aab70d7fd25ea75b6fe7ea68dcd181d9f834ba4b075977470181cf10b6f26696 SHA512 f0c9d683048e0cc5ab44a9bdf31b5f2c2f8a2bc425dd1a78fe366791f8b2bae4e7b77f43d9553d95c388673ccac5c1e5a916dadecb9dac2059daa66af97927f2
|
||||
DIST icedtea-bin-core-3.15.0-ppc64.tar.xz 55179660 BLAKE2B 3404f1b4ddc6f1109d141e8a88ff1a913153660b318b84fee43ffe013164c578f9fcad6b75f8212cb11cc9ee89a8260d55b39c7f9516aa910d3838b0490fe923 SHA512 7d5e3c16e156f09610e915d3c9062b0f24f5d15045545009f48ba616e8f45184161018ed4136145ab9d15bab6d853052df7fabda43b9bcbcf99aabea8e52477d
|
||||
DIST icedtea-bin-core-3.15.0-ppc64le.tar.xz 55188860 BLAKE2B 732973320837e689b42942da80015109868d5772097111d5789a3bbee100a0b8d75cb581e1825a0c62bd582e93fe828b5575ac307efb73083d248c154cc28cd0 SHA512 887af69cc6c0a4227922da2500f228b108d9ac445e62c1836411d09a88df8579e0397d89b3f62b94f73e794a0014c67f4b1c8d2247ac1118967a63092e704078
|
||||
DIST icedtea-bin-core-3.15.0-x86.tar.xz 61650896 BLAKE2B ed5140790ac2946c4162ead15cd1d8aae812d41d4be3e4fff6669eedb438576e293385ec53405a2c67674c9fad9279497b2f334ef58040f6744b62059dc4882c SHA512 2efbacbcd77474d4a8506f9c4f7d66c3ad57f929644e4c541bb76139b6f1c6a776639a9708257a4ce5085660ddf2d50f54ef179a63746a9eeeba83384f810cc5
|
||||
DIST icedtea-bin-doc-3.14.0.tar.xz 11406340 BLAKE2B 249832aaa0093f70c8bfff78bfcbe6fe32c3e6210789e1f7993d24098d467fc0b5dba505b58135da82a3e55a357891a90a03eb8032b4c4db9af15d3c16915db9 SHA512 3665b702f25e548061970a1078c4f6fb6b412bbcf59391ad04850d64cc3a664357990ad55ef1ba0a7e1fd214b23e408ca59314ad79ca0736e0f1dd94d6f92ab8
|
||||
DIST icedtea-bin-doc-3.15.0.tar.xz 11666068 BLAKE2B a4df6db09dfe47220cbfa07e12adaa03df490e81fcf38df490710502e78cfae741bf9d8f88ee81e8cf65465fa912b3139b239e858e5479e8af79a48c08444d5c SHA512 b990ceabf846b5be889ab706c3f259c23c335bf56aaa0e660206bedec4caef3d00fdd712d2eba5326e0b716010299b5b13e1089d91fd747cdf8cf58e4acce13b
|
||||
DIST icedtea-bin-examples-3.14.0-amd64.tar.xz 1855132 BLAKE2B 751c5ce41983960a0e08c7e544cf04379a591ef7077ce72aca33bfe5237a887e47ce00f2070d6bc2bfc0660ab0ac15dd1c408dd46f9bd66b2d70ad6d06235027 SHA512 96fd2459d61d5fafe798688f1b4e0c352975728255c779a91f640bbbda01149e3522025db0c1e01b9f14200be63f242eff73689c3c81ae8fb14930e460ab9c93
|
||||
DIST icedtea-bin-examples-3.14.0-arm.tar.xz 1840984 BLAKE2B 52c58563f24033203f95a4a4ece6a44e056aef145fae4221090c417c5cf091fdb79cf38d847c80f67c79711514173f99a2d62eeb39a4a7811b3fd1c8b46d235f SHA512 1b8c1738a485fa91e3a48835fa6ca8570bf4b428bd96837dd3c1f713c73de596ab874610a7d570fc54d31795168483912462ba2a8566b798265e351f8352fe5f
|
||||
DIST icedtea-bin-examples-3.14.0-arm64.tar.xz 1849808 BLAKE2B 2faa1faa65662ceb0ccf13142781ff01d2fa8601cbff0cdf30a8f53247012d3d68355780f77701804eb82e4b26082977996e10ab38181f372318165d3e08c624 SHA512 7b09e125ae6d65096ca3ee0165347336a36dc1cd016bf6fbfb3fadb0530681b5291a93429bf820533740306e75d09632bf3a1071609951e87d447d126ead2737
|
||||
DIST icedtea-bin-examples-3.14.0-ppc64.tar.xz 1864844 BLAKE2B 393f501701f6255692026fee6f6f03758828ae9771de2527ac00fb5378f4d7e8e8c15bd2f3a25d5f27dac0e57dbd19f9b93ca1b8bb453ee7460bfbb3ffa3eb74 SHA512 02c93ca019ffd281b54747c0dae47b5283d4f96b7a174dc2d433b803ae57afb04486ea6c8cf59bce34fefa64b0bb3b565c7e083fe606d161a5033bec06a25c5f
|
||||
DIST icedtea-bin-examples-3.14.0-ppc64le.tar.xz 1862512 BLAKE2B 2ebc865f23fd94c9065bf94d718ea2eea45f3c513d066f6513f190d83565378975491a66caff521e85e3f1307178979b0435487f46373615c1980c258e600c0c SHA512 9fff9c5b490010b06b695a864ec8ddc8ce44acfddde104fcb83742d9ecff70906669e02da36cef8e903ef1ef923cf9e92342daafde47e6fa35885865dd079eb7
|
||||
DIST icedtea-bin-examples-3.14.0-x86.tar.xz 1860288 BLAKE2B a2c8eb4cee690615f624fa97e0360cd25776beabbdd52089747fa48ab0f8b440a776e601455c87803f36889d1caeee6ffc44a43c9d366e2913bd07f877997a48 SHA512 862f6a23e9eef4b271491b19b9c4a98baa76fead458d6230424693151695b0a6e082a38ef4ad2cb05fbd80db4967840de718898cab25269a10bff3ea5f5acf01
|
||||
DIST icedtea-bin-examples-3.15.0-amd64.tar.xz 1854220 BLAKE2B 3572d1571da58c493402421db4163879aece2f3b2717f2769ef94cf9612b429a0156f278ef2ee5e114de8b171cdac787f46b7cdd0d533cf2a5568c987c836ee4 SHA512 8dd6017f4a9c90b56e5559277155afce2c37995cca3bb2a96bf62e0310a3eb9e259023faac51b5d4e5688dceaa33efad9372a5f7667b314685578c97fc937e43
|
||||
DIST icedtea-bin-examples-3.15.0-arm.tar.xz 1839548 BLAKE2B 1903f85534b49ef71a548ccf29065d301871e024402540038a81561d02ac988a9060b7c33307366dee55838c8f9a2cf277e86e152701f8e5312241e5cf499850 SHA512 de9eaf56ce6b10ea2d3d676b1896884a5a98f1def01175e3456487ebb10f0da618a5d238a7fc9fe25607e5fbf53dc6fa7c65d71d6858731c3540e270357a13c9
|
||||
DIST icedtea-bin-examples-3.15.0-arm64.tar.xz 1850912 BLAKE2B bf047a0d606bcb766e84ef90fcb169446e9bb97ada118c51762d58ed2f4fe5a9139549676fc731b2230a75c65e3a4f23b06b0f2a3224d85567f5601a1320e66c SHA512 2d5527d7daabb3cf5bcfb262bdd072af2e051cca3171aa3a973ac81b53f74b898d8c5045a0bcea28db18edca602d8ca9912cd90a157ef6026e535a0087b576a2
|
||||
DIST icedtea-bin-examples-3.15.0-ppc64.tar.xz 1865608 BLAKE2B 34afb142c6db332d399868783d2972f3d4a2a7de90120e88f70edae3d2b0ae8299dc1587c1431d810ff8d69f26f884a51d676d2b7738ee04089780f6a5719f8b SHA512 d23adb53d6df49b607ea4267570ffe8f16801d6bd9a570b1311b881cf02329804da17464ca284cd6f4b316856a3cb504ebb347e9e76fa37c8cf8c41dbc20366d
|
||||
DIST icedtea-bin-examples-3.15.0-ppc64le.tar.xz 1862752 BLAKE2B 03cf9411aef4c3797c5a542072ef7ea53f3565d7c90b2e9e2dfc9caac8ffe41cc4588b848e5c6cfc5c275245a625dbee66fa170aa38aeae3ee2110f1d4d08888 SHA512 0bacf0f9d2b7b396e5afe1962d54cd559bf777dc896dc9bf6d7581380bce1aaeff4156e4c2082ee1955f2d503a5c6b8537bf32da1d4846b264026229c22ef01a
|
||||
DIST icedtea-bin-examples-3.15.0-x86.tar.xz 1860232 BLAKE2B e0b9fa6d5c452ea8d258cc035e7d9913f9423ec972d3729b266cf03b686f3012ae16101a0d97db660ffabacd05e92e3ce47624346a7ea5fc5b42a2d89d69fb0c SHA512 2a7b7a1e45fc84d115ba09bb2617c298a8c0d8084e61ea274c16df0f36bc1e240d0a74a37ff9f0cf0dd6dfe4be8f6208f7c6c132bc5637be95b2d9e19c1fe5d7
|
||||
DIST icedtea-bin-src-3.14.0.tar.xz 45781864 BLAKE2B b4bef50c7c8ea17cb7e5c60ea17c31120181d0616869f2ca99676328cf1ba3eef95e5750301c1dc8d1b0024ccfa56088aa0ab4ca26bebf7253de7d75cab5d346 SHA512 00e0637e825073d33099665e2aff95c1a6555fda7177c0c0057298b5a74263acb35f98db946877ddd82c1d1bfb421a07da2801c8d3013ebb99e1a0229f9781ea
|
||||
DIST icedtea-bin-src-3.15.0.tar.xz 45859888 BLAKE2B 39926cb75a2eb784bb29322724ff452bd6fd259e5dfd583436a980073bf4b82277676d10ce29e155a1122a424718be6277e307d781d825d93b3909f1e6f1da91 SHA512 9523180f27da1936593a41322013a3147e4bd8bfded0589e39775dcd856736b97160a356c717969eb0a26d27c05cfb1dce6f08f6c09193a722e581f22f7a1dc4
|
||||
EBUILD icedtea-bin-3.14.0.ebuild 4587 BLAKE2B 2941cc41beddcf13c2d7f9e6dca721b1f03af83582a3e3930efe445e92c33408f3fd6d4b50d1c04cf208e34992d6e0039e9b893d3cc58f2723d7ddd1d13b1068 SHA512 dc51e269929a17fbb230cf214fa0e7332181df664c57baef7ac2baeb4c76694e4c8ba6188f8a2c170356a54caacc57991b505b701d8699bf02c42836f9286c86
|
||||
EBUILD icedtea-bin-3.15.0.ebuild 3518 BLAKE2B fc7e6fac3829b15fc3e01aa6d5ecca2d4cab162388b8521f0f7d8e3bfffd7ba375dfc9927667e10e1170f3c798f27a4266b41df5d133530e80dbc366a5209b8f SHA512 ea71e820d384fb2f4004f147858b7a652dd1231b7e7768e8b32138699b07dd7e9dbe5184a0761f2f04efebe507951799a228e006a917cfb6ad413a1895a86ea6
|
||||
EBUILD icedtea-bin-3.15.0.ebuild 3517 BLAKE2B 86c35b10ec33ca01a9619d2f57364a626b7b9f26140f0c711218a7a081e17e7800cb6ba457d34039454c448759c44ffb830e61b95b1401e8cc719649e851a01d SHA512 5877ab12f282819deb510747fba7472b7f8970d25a28ab1513774c90b19b6a4708ece2b6e6cff53a1fbde5bd1a0a18aca4e44c1a29fc861f364c6acb98f32f71
|
||||
MISC metadata.xml 560 BLAKE2B f377bffd73661fbf1573f3d80906a38fa9fd170a686dee6c13ee7769ffadd8ff2de696d63cd7fdc4332ca654851da027b76e22389a98412b52b4fd5c00935429 SHA512 71613013231a9bf6daabb672557c3f419bd9443999b740a4d73fe242b827a278a66671f2cb347d20833008c332262609f7df03691e313e0dc0ec3e2a56e79565
|
||||
|
@ -1,165 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
# Don't block arm. See bug #600134.
|
||||
#MULTILIB_COMPAT=( abi_ppc_64 abi_x86_{32,64} )
|
||||
KEYWORDS="-* amd64 ~arm arm64 ppc64 x86"
|
||||
|
||||
inherit java-vm-2 multilib-build toolchain-funcs
|
||||
|
||||
abi_uri() {
|
||||
echo "${2-$1}? (
|
||||
${BASE_URI}/${PN}-core-${PV}${3+-r${3}}-${1}.tar.xz
|
||||
examples? ( ${BASE_URI}/${PN}-examples-${PV}${3+-r${3}}-${1}.tar.xz )
|
||||
)"
|
||||
}
|
||||
|
||||
BASE_URI="https://dev.gentoo.org/~gyakovlev/distfiles"
|
||||
SRC_URI="doc? ( ${BASE_URI}/${PN}-doc-${PV}.tar.xz )
|
||||
source? ( ${BASE_URI}/${PN}-src-${PV}.tar.xz )
|
||||
multilib? ( amd64? ( abi_x86_32? ( ${BASE_URI}/${PN}-core-${PV}-x86.tar.xz ) ) )
|
||||
big-endian? ( $(abi_uri ppc64) )
|
||||
!big-endian? ( $(abi_uri ppc64le ppc64) )
|
||||
$(abi_uri amd64)
|
||||
$(abi_uri arm)
|
||||
$(abi_uri arm64)
|
||||
$(abi_uri x86)"
|
||||
|
||||
DESCRIPTION="A Gentoo-made binary build of the IcedTea JDK"
|
||||
HOMEPAGE="http://icedtea.classpath.org"
|
||||
LICENSE="GPL-2-with-classpath-exception"
|
||||
SLOT="8"
|
||||
|
||||
IUSE="+alsa big-endian cups doc examples +gtk headless-awt multilib nsplugin pulseaudio selinux source webstart"
|
||||
REQUIRED_USE="gtk? ( !headless-awt ) nsplugin? ( !headless-awt )"
|
||||
|
||||
RESTRICT="preserve-libs strip"
|
||||
QA_PREBUILT="opt/.*"
|
||||
|
||||
RDEPEND=">=dev-libs/glib-2.58:2%
|
||||
>=media-libs/fontconfig-2.13:1.0%
|
||||
>=media-libs/freetype-2.9.1:2%
|
||||
>=media-libs/lcms-2.9:2%
|
||||
>=sys-apps/baselayout-java-0.1.0-r1
|
||||
>=sys-libs/zlib-1.2.11-r1%
|
||||
virtual/jpeg-compat:62%
|
||||
alsa? ( >=media-libs/alsa-lib-1.0% )
|
||||
cups? ( >=net-print/cups-2.0% )
|
||||
gtk? (
|
||||
>=dev-libs/atk-2.28.1%
|
||||
>=x11-libs/cairo-1.16.0%
|
||||
x11-libs/gdk-pixbuf:2%
|
||||
>=x11-libs/gtk+-2.24:2%
|
||||
>=x11-libs/pango-1.42%
|
||||
)
|
||||
!headless-awt? (
|
||||
media-libs/giflib:0/7%
|
||||
=media-libs/libpng-1.6*%
|
||||
>=x11-libs/libX11-1.6%
|
||||
>=x11-libs/libXcomposite-0.4%
|
||||
>=x11-libs/libXext-1.3%
|
||||
>=x11-libs/libXi-1.7%
|
||||
>=x11-libs/libXrender-0.9.10%
|
||||
>=x11-libs/libXtst-1.2%
|
||||
)"
|
||||
|
||||
RDEPEND=">=sys-devel/gcc-9.2.0[multilib?]
|
||||
>=sys-libs/glibc-2.29[multilib?]
|
||||
virtual/ttf-fonts
|
||||
selinux? ( sec-policy/selinux-java )
|
||||
multilib? ( ${RDEPEND//%/[${MULTILIB_USEDEP}]} )
|
||||
!multilib? ( ${RDEPEND//%/} )"
|
||||
|
||||
PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
|
||||
nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )
|
||||
pulseaudio? ( dev-java/icedtea-sound )"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]]; then
|
||||
die "These binaries require a hardfloat system."
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# I wouldn't normally use -f below but symlinks in the arm files
|
||||
# make this fail otherwise and any other approach would be tedious.
|
||||
|
||||
if ! use alsa; then
|
||||
rm -fv */jre/lib/*/libjsoundalsa.* || die
|
||||
fi
|
||||
|
||||
if use headless-awt; then
|
||||
rm -fvr */jre/lib/*/lib*{[jx]awt,splashscreen}* \
|
||||
*/{,jre/}bin/policytool */bin/appletviewer || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
local dest="/opt/${P}-${ABI}"
|
||||
dest="${dest/%-${DEFAULT_ABI}/}"
|
||||
local ddest="${ED}${dest#/}"
|
||||
dodir "${dest}"
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
dodoc ${P}-${ABI}/doc/{ASSEMBLY_EXCEPTION,AUTHORS,NEWS,README,THIRD_PARTY_README}
|
||||
use doc && dodoc -r ${P}/doc/html
|
||||
|
||||
# doins doesn't preserve executable bits.
|
||||
cp -pRP ${P}-${ABI}/{bin,include,jre,lib,man} "${ddest}" || die
|
||||
|
||||
if use examples; then
|
||||
cp -pRP ${P}-${ABI}/{demo,sample} "${ddest}" || die
|
||||
fi
|
||||
|
||||
if use source; then
|
||||
cp ${P}/src.zip "${ddest}" || die
|
||||
fi
|
||||
|
||||
# use system-wide cacert store
|
||||
rm "${ddest}"/jre/lib/security/cacerts || die
|
||||
dosym "${EPREFIX}"/etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
|
||||
|
||||
# Use default VMHANDLE.
|
||||
java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh"
|
||||
else
|
||||
local x native=$(get_system_arch ${DEFAULT_ABI})
|
||||
|
||||
for x in {,/jre}/{bin,lib/$(get_system_arch)} /jre/lib/rt.jar; do
|
||||
dodir "${dest}"${x%/*}
|
||||
cp -pRP ${P}-${ABI}${x} "${ddest}"${x} || die
|
||||
done
|
||||
|
||||
for x in ${P}-${DEFAULT_ABI}{,/jre}/lib/*; do
|
||||
[[ ${x##*/} = ${native} ]] && continue
|
||||
[[ -e "${ddest}"/${x#*/} ]] && continue
|
||||
dosym "${EPREFIX}"/opt/${P}/${x#*/} "${dest}"/${x#*/}
|
||||
done
|
||||
|
||||
# Use ABI-suffixed VMHANDLE.
|
||||
VMHANDLE+="-${ABI}" java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh"
|
||||
fi
|
||||
|
||||
# Both icedtea itself and the icedtea ebuild set PAX markings but we
|
||||
# disable them for the icedtea-bin build because the line below will
|
||||
# respect end-user settings when icedtea-bin is actually installed.
|
||||
java-vm_set-pax-markings "${ddest}"
|
||||
|
||||
# Each invocation appends to the config.
|
||||
java-vm_revdep-mask "${EPREFIX}${dest}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use multilib; then
|
||||
multilib_foreach_abi multilib_src_install
|
||||
else
|
||||
multilib_src_install
|
||||
fi
|
||||
|
||||
java-vm_sandbox-predict /proc/self/coredump_filter
|
||||
}
|
@ -1,9 +1,7 @@
|
||||
AUX openjdk-jre-bin-11.env.sh 513 BLAKE2B b7dfc571fda637776479ca4f8a8f0eb1fa0f03f453b48e0079670aa20f5a5bc83ed73194508aeda596a62805e5a6273b4668b870d6b7aaa99ddc72498e384c54 SHA512 dfc012876174108b768d6fbd9deaf8b9e20965c2b5dfc2ea4ded556597c0ee4807537f7b29ca1e6f92ba800313457844299fab770b833d8b3a5b3d576369411f
|
||||
AUX openjdk-jre-bin-8.env.sh 675 BLAKE2B 66fb3b2690af2cb8bfb959bdd6edf66e130cd5e2c8968c96aa8d6cd09e01d193c6ab9973803e97105da4cb573b4221528d1cc830e044feac1b2c8ebe9f17d405 SHA512 ad361aeea566fd23fc21a607c9cdf63b164ad9d38a63fa01f435640af90e49cdb6562cb64409ab873a6603def04f8ecfc164340988c1a0660e8c6bdda500cd9d
|
||||
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.5_10.tar.gz 42132415 BLAKE2B f857b9618f653ce3df1a1f6b3a3f3fd0ceaaa2d66b9d58872817fdbb7846195459b0fd1d79cddb444e0cd17faafc46bcea85fa22b810d2e93b95a9829da6dad5 SHA512 b13ee8af718c701195765eb6c36c8a6dfc32a5a39f8da4118db4e5ef8ab2012f8952cea73a964fcac079487b6372c0be727f0f2df43b948ccdd4663e6b327d1d
|
||||
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.6_10.tar.gz 42198347 BLAKE2B e0022f46f0f3de41d28baf19bcea2c7d6237e80586b7a1e3fb2b97aced18d564fe03a6706b8a3fe97375ff6be395aceafd1e0dba6adaddaa7285b0b8eb24310b SHA512 0d1366c68ad12fafc76edddc7d385f612751182b5492cff4309d542a0e12b13c9b17ca89a0a8218ad0f8182b24285189158c43759db54645758c7ea8dc4d6ce9
|
||||
DIST OpenJDK8U-jre_x64_linux_hotspot_8u242b08.tar.gz 40987250 BLAKE2B ba3f15b938b4462a186c13ca8ea12c5e5e5bbfe5e716af1911e9525875e6956caf3155423f32433be05ebd1a3c873d94b33a797298d6d09577a775c7dfe2a658 SHA512 11dddf75813aa3b88b2bfb2ca89e186cc15601f75ec4f9cbe92c8b60f61438f75a76e45c26bc614eb54de16a584e906f8935cb2146937b96f2970eb89dddea09
|
||||
EBUILD openjdk-jre-bin-11.0.5_p10.ebuild 2727 BLAKE2B 13c53dde5e577bfb934f108fc0b9fd07744da6fc3dcefb6d57554f2aab733906f1f8fe1009fea3440d6e481fd9c906398a83a72296f58687d93c66d97bf4d01d SHA512 592a61cf6b31657706f0a83fcec0137dd2d4ed9e56b5a94de3326d692337e1c5ad665a74fa434530ceaed5feaaf0cd2a5c9950e7de19f8514d1ae3ce7bd1c988
|
||||
EBUILD openjdk-jre-bin-11.0.6_p10.ebuild 2727 BLAKE2B 13c53dde5e577bfb934f108fc0b9fd07744da6fc3dcefb6d57554f2aab733906f1f8fe1009fea3440d6e481fd9c906398a83a72296f58687d93c66d97bf4d01d SHA512 592a61cf6b31657706f0a83fcec0137dd2d4ed9e56b5a94de3326d692337e1c5ad665a74fa434530ceaed5feaaf0cd2a5c9950e7de19f8514d1ae3ce7bd1c988
|
||||
EBUILD openjdk-jre-bin-11.0.6_p10.ebuild 2726 BLAKE2B 147b9cb76e345b66a11641f25bc8619c6c375ed75bf252d4d5d1e41fb0b3de473647b34f89d1a7e90d742040aea9f8604cae1944469794cb8f80986c5dd7c688 SHA512 fb07d0c43999043f7e61eb4520965db912f956fa84d2476b8e228c690d6d5262f8a2db9b65c0af51b08249b74a5e5a0147bee20fe6d23bd86eeeda0d71f05e3f
|
||||
EBUILD openjdk-jre-bin-8.242_p08.ebuild 1938 BLAKE2B fca0e6d5d6a49dbb60e02a791e92dfde869944c12ded952fbdd8673afff32a60a3b53c751b0091686000ad149d29c1116fcec2b84ff22c326a674f8b36eed282 SHA512 57c3af2a942d122d717be2abf285aac117f27bc78bd6695af08bf414c09e2d86e0b2dd63b9a2f9843381685765a6f7f6edc0862dd14e7db4240722314674fb6e
|
||||
MISC metadata.xml 980 BLAKE2B bedd68b0facaa23d89578762fc5fd80dea94a3dce51e8afdd70dde4fb949168694e633564384a506afce44de11f81bc46ad33c324ff2e8e4c37b2fafd246bac3 SHA512 fbf6411ee2bf3f0aa6d7f475a883c7316b87fe20c54ee43200034268a7f57f8454e1aba5ce272645e08ef41dc35e61a4b965543215ed8278c4b8606fdbaf5f00
|
||||
|
@ -1,97 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit java-vm-2
|
||||
|
||||
abi_uri() {
|
||||
echo "${2-$1}? (
|
||||
https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
|
||||
)"
|
||||
}
|
||||
|
||||
MY_PV=${PV/_p/+}
|
||||
SLOT=${MY_PV%%[.+]*}
|
||||
|
||||
SRC_URI="
|
||||
$(abi_uri x64 amd64)
|
||||
"
|
||||
|
||||
DESCRIPTION="Prebuilt Java JRE binaries provided by AdoptOpenJDK"
|
||||
HOMEPAGE="https://adoptopenjdk.net"
|
||||
LICENSE="GPL-2-with-classpath-exception"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="alsa cups +gentoo-vm headless-awt nsplugin selinux webstart"
|
||||
|
||||
RDEPEND="
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/freetype:2
|
||||
>net-libs/libnet-1.1
|
||||
>=sys-apps/baselayout-java-0.1.0-r1
|
||||
>=sys-libs/glibc-2.2.5:*
|
||||
sys-libs/zlib
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups )
|
||||
selinux? ( sec-policy/selinux-java )
|
||||
!headless-awt? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
)"
|
||||
|
||||
PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
|
||||
nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
|
||||
|
||||
RESTRICT="preserve-libs splitdebug"
|
||||
QA_PREBUILT="*"
|
||||
|
||||
S="${WORKDIR}/jdk-${MY_PV}-jre"
|
||||
|
||||
src_install() {
|
||||
local dest="/opt/${P}"
|
||||
local ddest="${ED%/}/${dest#/}"
|
||||
|
||||
# Not sure why they bundle this as it's commonly available and they
|
||||
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
||||
# also has an explicit dependency while Oracle seemingly dlopens it.
|
||||
rm -vf lib/libfreetype.so || die
|
||||
|
||||
# Oracle and IcedTea have libjsoundalsa.so depending on
|
||||
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
||||
if ! use alsa ; then
|
||||
rm -v lib/libjsound.* || die
|
||||
fi
|
||||
|
||||
if use headless-awt ; then
|
||||
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
||||
fi
|
||||
|
||||
rm -v lib/security/cacerts || die
|
||||
dosym ../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
||||
|
||||
dodir "${dest}"
|
||||
cp -pPR * "${ddest}" || die
|
||||
|
||||
use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
|
||||
java-vm_set-pax-markings "${ddest}"
|
||||
java-vm_revdep-mask
|
||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
java-vm-2_pkg_postinst
|
||||
|
||||
if use gentoo-vm ; then
|
||||
ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JRE"
|
||||
ewarn "recognised by the system. This will almost certainly break things."
|
||||
else
|
||||
ewarn "The experimental gentoo-vm USE flag has not been enabled so this JRE"
|
||||
ewarn "will not be recognised by the system. For example, simply calling"
|
||||
ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
|
||||
ewarn "fully supports Java 11. This JRE must therefore be invoked using its"
|
||||
ewarn "absolute location under ${EPREFIX}/opt/${P}."
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -0,0 +1,228 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic multilib
|
||||
|
||||
MY_P="${PN}-$(ver_cut 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="https://www.ruby-lang.org/"
|
||||
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm:= )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
dev-libs/libffi:=
|
||||
sys-libs/readline:0=
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20161226
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24]
|
||||
>=dev-ruby/minitest-5.10.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/rake-12.0.0[ruby_targets_ruby24]
|
||||
>=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24]
|
||||
>=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby24]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby24]
|
||||
rdoc? ( >=dev-ruby/rdoc-5.1.0-r1[ruby_targets_ruby24] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}"/${SLOT}/{002,005,009,012}*.patch
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README*
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(23|24|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -0,0 +1,223 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic multilib
|
||||
|
||||
MY_P="${PN}-$(ver_cut 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="https://www.ruby-lang.org/"
|
||||
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm:= )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
dev-libs/libffi:=
|
||||
sys-libs/readline:0=
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20171225
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
|
||||
>=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
|
||||
>=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
|
||||
>=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
|
||||
>=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
|
||||
>=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby25]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby25]
|
||||
rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby25] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}"/${SLOT}/{001,005,011}*.patch
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README*
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(23|24|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -0,0 +1,235 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic multilib
|
||||
|
||||
MY_P="${PN}-$(ver_cut 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="https://www.ruby-lang.org/"
|
||||
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm:= )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
dev-libs/libffi:=
|
||||
sys-libs/readline:0=
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20171225
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.2.1[ruby_targets_ruby26]
|
||||
>=dev-ruby/minitest-5.11.3[ruby_targets_ruby26]
|
||||
>=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby26]
|
||||
>=dev-ruby/power_assert-1.1.3[ruby_targets_ruby26]
|
||||
>=dev-ruby/rake-12.3.2[ruby_targets_ruby26]
|
||||
>=dev-ruby/test-unit-3.2.9[ruby_targets_ruby26]
|
||||
>=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby26]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby26]
|
||||
>=dev-ruby/bundler-1.17.2[ruby_targets_ruby26]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby26]
|
||||
rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby26] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
# 005 does not compile bigdecimal and is questionable because it
|
||||
# compiles ruby in a non-standard way, may be dropped
|
||||
eapply "${FILESDIR}"/2.6/010*.patch
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700.
|
||||
rm -fr gems/* || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable jit jit-support ) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no
|
||||
|
||||
# Makefile is broken because it lacks -ldl
|
||||
rm -rf ext/-test-/popen_deadlock || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS=""
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
# Create directory for the default gems
|
||||
local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
|
||||
mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
|
||||
|
||||
emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README*
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(23|24|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -0,0 +1,237 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic multilib
|
||||
|
||||
MY_P="${PN}-$(ver_cut 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="https://www.ruby-lang.org/"
|
||||
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm:= )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
dev-libs/libffi:=
|
||||
sys-libs/readline:0=
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20171225
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/minitest-5.13.0[ruby_targets_ruby27]
|
||||
>=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby27]
|
||||
>=dev-ruby/power_assert-1.1.7[ruby_targets_ruby27]
|
||||
>=dev-ruby/rake-13.0.1[ruby_targets_ruby27]
|
||||
>=dev-ruby/test-unit-3.3.4[ruby_targets_ruby27]
|
||||
>=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby27]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby27]
|
||||
>=dev-ruby/bundler-2.1.4[ruby_targets_ruby27]
|
||||
>=dev-ruby/did_you_mean-1.3.1[ruby_targets_ruby27]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby27]
|
||||
rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby27] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
# 005 does not compile bigdecimal and is questionable because it
|
||||
# compiles ruby in a non-standard way, may be dropped
|
||||
eapply "${FILESDIR}"/2.7/010*.patch
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700.
|
||||
rm -fr gems/* || die
|
||||
# Don't install CLI tools since they will clash with the gem
|
||||
rm -f bin/{racc,racc2y,y2racc} || die
|
||||
sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable jit jit-support ) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no
|
||||
|
||||
# Makefile is broken because it lacks -ldl
|
||||
rm -rf ext/-test-/popen_deadlock || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS=""
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
# Create directory for the default gems
|
||||
local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
|
||||
mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
|
||||
|
||||
emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
dodoc -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README*
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(23|24|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,167 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
MY_P="rust-${PV}"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
SRC_URI="$(rust_all_arch_uris ${MY_P})"
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
SLOT="stable"
|
||||
KEYWORDS="amd64 arm64 ppc64 x86"
|
||||
IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-eselect/eselect-rust-20190311
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-misc/curl[ssl]
|
||||
!dev-lang/rust:0
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )"
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${P}/bin/*-${PV}
|
||||
opt/${P}/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/bin/*
|
||||
opt/${P}/lib/rustlib/*/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/lib/*.rlib*
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local std=$(grep 'std' ./components)
|
||||
local components="rustc,cargo,${std}"
|
||||
use doc && components="${components},rust-docs"
|
||||
use clippy && components="${components},clippy-preview"
|
||||
use rustfmt && components="${components},rustfmt-preview"
|
||||
./install.sh \
|
||||
--components="${components}" \
|
||||
--disable-verify \
|
||||
--prefix="${ED}/opt/${P}" \
|
||||
--mandir="${ED}/usr/share/${P}/man" \
|
||||
--disable-ldconfig \
|
||||
|| die
|
||||
|
||||
local rustc=rustc-bin-${PV}
|
||||
local rustdoc=rustdoc-bin-${PV}
|
||||
local rustgdb=rust-gdb-bin-${PV}
|
||||
local rustgdbgui=rust-gdbgui-bin-${PV}
|
||||
local rustlldb=rust-lldb-bin-${PV}
|
||||
|
||||
mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
|
||||
|
||||
dosym "${rustc}" "/opt/${P}/bin/rustc"
|
||||
dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
|
||||
dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
|
||||
dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
|
||||
dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
|
||||
|
||||
dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
|
||||
dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
|
||||
dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
|
||||
dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
|
||||
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
|
||||
|
||||
local cargo=cargo-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
|
||||
dosym "${cargo}" "/opt/${P}/bin/cargo"
|
||||
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
|
||||
|
||||
if use clippy; then
|
||||
local clippy_driver=clippy-driver-bin-${PV}
|
||||
local cargo_clippy=cargo-clippy-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
|
||||
dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
|
||||
dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
|
||||
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
|
||||
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
local rustfmt=rustfmt-bin-${PV}
|
||||
local cargo_fmt=cargo-fmt-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
|
||||
dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
|
||||
dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
|
||||
dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
|
||||
dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
|
||||
fi
|
||||
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="/opt/${P}/lib"
|
||||
MANPATH="/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB now,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,167 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
MY_P="rust-${PV}"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
SRC_URI="$(rust_all_arch_uris ${MY_P})"
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
SLOT="stable"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-eselect/eselect-rust-20190311
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-misc/curl[ssl]
|
||||
!dev-lang/rust:0
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )"
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${P}/bin/*-${PV}
|
||||
opt/${P}/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/bin/*
|
||||
opt/${P}/lib/rustlib/*/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/lib/*.rlib*
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local std=$(grep 'std' ./components)
|
||||
local components="rustc,cargo,${std}"
|
||||
use doc && components="${components},rust-docs"
|
||||
use clippy && components="${components},clippy-preview"
|
||||
use rustfmt && components="${components},rustfmt-preview"
|
||||
./install.sh \
|
||||
--components="${components}" \
|
||||
--disable-verify \
|
||||
--prefix="${ED}/opt/${P}" \
|
||||
--mandir="${ED}/usr/share/${P}/man" \
|
||||
--disable-ldconfig \
|
||||
|| die
|
||||
|
||||
local rustc=rustc-bin-${PV}
|
||||
local rustdoc=rustdoc-bin-${PV}
|
||||
local rustgdb=rust-gdb-bin-${PV}
|
||||
local rustgdbgui=rust-gdbgui-bin-${PV}
|
||||
local rustlldb=rust-lldb-bin-${PV}
|
||||
|
||||
mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
|
||||
|
||||
dosym "${rustc}" "/opt/${P}/bin/rustc"
|
||||
dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
|
||||
dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
|
||||
dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
|
||||
dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
|
||||
|
||||
dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
|
||||
dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
|
||||
dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
|
||||
dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
|
||||
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
|
||||
|
||||
local cargo=cargo-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
|
||||
dosym "${cargo}" "/opt/${P}/bin/cargo"
|
||||
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
|
||||
|
||||
if use clippy; then
|
||||
local clippy_driver=clippy-driver-bin-${PV}
|
||||
local cargo_clippy=cargo-clippy-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
|
||||
dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
|
||||
dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
|
||||
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
|
||||
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
local rustfmt=rustfmt-bin-${PV}
|
||||
local cargo_fmt=cargo-fmt-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
|
||||
dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
|
||||
dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
|
||||
dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
|
||||
dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
|
||||
fi
|
||||
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="/opt/${P}/lib"
|
||||
MANPATH="/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB now,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,167 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
MY_P="rust-${PV}"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
SRC_URI="$(rust_all_arch_uris ${MY_P})"
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
SLOT="stable"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-eselect/eselect-rust-20190311
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-misc/curl[ssl]
|
||||
!dev-lang/rust:0
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )"
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${P}/bin/*-${PV}
|
||||
opt/${P}/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/bin/*
|
||||
opt/${P}/lib/rustlib/*/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/lib/*.rlib*
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local std=$(grep 'std' ./components)
|
||||
local components="rustc,cargo,${std}"
|
||||
use doc && components="${components},rust-docs"
|
||||
use clippy && components="${components},clippy-preview"
|
||||
use rustfmt && components="${components},rustfmt-preview"
|
||||
./install.sh \
|
||||
--components="${components}" \
|
||||
--disable-verify \
|
||||
--prefix="${ED}/opt/${P}" \
|
||||
--mandir="${ED}/usr/share/${P}/man" \
|
||||
--disable-ldconfig \
|
||||
|| die
|
||||
|
||||
local rustc=rustc-bin-${PV}
|
||||
local rustdoc=rustdoc-bin-${PV}
|
||||
local rustgdb=rust-gdb-bin-${PV}
|
||||
local rustgdbgui=rust-gdbgui-bin-${PV}
|
||||
local rustlldb=rust-lldb-bin-${PV}
|
||||
|
||||
mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
|
||||
|
||||
dosym "${rustc}" "/opt/${P}/bin/rustc"
|
||||
dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
|
||||
dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
|
||||
dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
|
||||
dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
|
||||
|
||||
dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
|
||||
dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
|
||||
dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
|
||||
dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
|
||||
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
|
||||
|
||||
local cargo=cargo-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
|
||||
dosym "${cargo}" "/opt/${P}/bin/cargo"
|
||||
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
|
||||
|
||||
if use clippy; then
|
||||
local clippy_driver=clippy-driver-bin-${PV}
|
||||
local cargo_clippy=cargo-clippy-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
|
||||
dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
|
||||
dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
|
||||
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
|
||||
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
local rustfmt=rustfmt-bin-${PV}
|
||||
local cargo_fmt=cargo-fmt-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
|
||||
dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
|
||||
dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
|
||||
dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
|
||||
dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
|
||||
fi
|
||||
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="/opt/${P}/lib"
|
||||
MANPATH="/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB now,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,167 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
MY_P="rust-${PV}"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
SRC_URI="$(rust_all_arch_uris ${MY_P})"
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
SLOT="stable"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-eselect/eselect-rust-20190311
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-misc/curl[ssl]
|
||||
!dev-lang/rust:0
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )"
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${P}/bin/*-${PV}
|
||||
opt/${P}/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/bin/*
|
||||
opt/${P}/lib/rustlib/*/lib/*.so
|
||||
opt/${P}/lib/rustlib/*/lib/*.rlib*
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local std=$(grep 'std' ./components)
|
||||
local components="rustc,cargo,${std}"
|
||||
use doc && components="${components},rust-docs"
|
||||
use clippy && components="${components},clippy-preview"
|
||||
use rustfmt && components="${components},rustfmt-preview"
|
||||
./install.sh \
|
||||
--components="${components}" \
|
||||
--disable-verify \
|
||||
--prefix="${ED}/opt/${P}" \
|
||||
--mandir="${ED}/usr/share/${P}/man" \
|
||||
--disable-ldconfig \
|
||||
|| die
|
||||
|
||||
local rustc=rustc-bin-${PV}
|
||||
local rustdoc=rustdoc-bin-${PV}
|
||||
local rustgdb=rust-gdb-bin-${PV}
|
||||
local rustgdbgui=rust-gdbgui-bin-${PV}
|
||||
local rustlldb=rust-lldb-bin-${PV}
|
||||
|
||||
mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
|
||||
mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
|
||||
|
||||
dosym "${rustc}" "/opt/${P}/bin/rustc"
|
||||
dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
|
||||
dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
|
||||
dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
|
||||
dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
|
||||
|
||||
dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
|
||||
dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
|
||||
dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
|
||||
dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
|
||||
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
|
||||
|
||||
local cargo=cargo-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
|
||||
dosym "${cargo}" "/opt/${P}/bin/cargo"
|
||||
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
|
||||
|
||||
if use clippy; then
|
||||
local clippy_driver=clippy-driver-bin-${PV}
|
||||
local cargo_clippy=cargo-clippy-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
|
||||
dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
|
||||
dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
|
||||
dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
|
||||
dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
local rustfmt=rustfmt-bin-${PV}
|
||||
local cargo_fmt=cargo-fmt-bin-${PV}
|
||||
mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
|
||||
mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
|
||||
dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
|
||||
dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
|
||||
dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
|
||||
dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
|
||||
fi
|
||||
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="/opt/${P}/lib"
|
||||
MANPATH="/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB now,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
From 1f68002cb725c6a8fb5ca8425c1c86495a053f4f Mon Sep 17 00:00:00 2001
|
||||
From: Michal Gorny <mgorny@gentoo.org>
|
||||
Date: Thu, 4 Apr 2019 14:21:38 +0000
|
||||
Subject: [PATCH] [llvm] [cmake] Add additional headers only if they exist
|
||||
|
||||
Modify the add_header_files_for_glob() function to only add files
|
||||
that do exist, rather than all matches of the glob. This fixes CMake
|
||||
error when one of the include directories (which happen to include
|
||||
/usr/include) contain broken symlinks.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D59632
|
||||
|
||||
llvm-svn: 357701
|
||||
---
|
||||
llvm/cmake/modules/LLVMProcessSources.cmake | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake
|
||||
index 7cbd2863500..d0be0e8b3ba 100644
|
||||
--- a/src/llvm-project/llvm/cmake/modules/LLVMProcessSources.cmake
|
||||
+++ b/src/llvm-project/llvm/cmake/modules/LLVMProcessSources.cmake
|
||||
@@ -30,7 +30,15 @@ endmacro(add_td_sources)
|
||||
|
||||
function(add_header_files_for_glob hdrs_out glob)
|
||||
file(GLOB hds ${glob})
|
||||
- set(${hdrs_out} ${hds} PARENT_SCOPE)
|
||||
+ set(filtered)
|
||||
+ foreach(file ${hds})
|
||||
+ # Explicit existence check is necessary to filter dangling symlinks
|
||||
+ # out. See https://bugs.gentoo.org/674662.
|
||||
+ if(EXISTS ${file})
|
||||
+ list(APPEND filtered ${file})
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ set(${hdrs_out} ${filtered} PARENT_SCOPE)
|
||||
endfunction(add_header_files_for_glob)
|
||||
|
||||
function(find_all_header_files hdrs_out additional_headerdirs)
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,36 +0,0 @@
|
||||
From c1aa2a464ed1a0fa2430a1e604fe6a3b9d785048 Mon Sep 17 00:00:00 2001
|
||||
From: O01eg <o01eg@yandex.ru>
|
||||
Date: Mon, 8 Jul 2019 22:49:24 +0300
|
||||
Subject: [PATCH] Fix double resolving custom libdir
|
||||
|
||||
---
|
||||
src/bootstrap/dist.rs | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
|
||||
index 45bc77ec97d4..5ddd1c3da949 100644
|
||||
--- a/src/bootstrap/dist.rs
|
||||
+++ b/src/bootstrap/dist.rs
|
||||
@@ -485,7 +485,9 @@ impl Step for Rustc {
|
||||
let name = entry.file_name();
|
||||
if let Some(s) = name.to_str() {
|
||||
if is_dylib(s) {
|
||||
- builder.install(&entry.path(), &image.join(&libdir_relative), 0o644);
|
||||
+ // Don't use custom libdir here because ^lib/ will be resolved again
|
||||
+ // with installer
|
||||
+ builder.install(&entry.path(), &image.join("lib"), 0o644);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -493,8 +495,9 @@ impl Step for Rustc {
|
||||
|
||||
// Copy over the codegen backends
|
||||
let backends_src = builder.sysroot_codegen_backends(compiler);
|
||||
- let backends_rel = backends_src.strip_prefix(&src).unwrap();
|
||||
- let backends_dst = image.join(&backends_rel);
|
||||
+ let backends_rel = backends_src.strip_prefix(&libdir).unwrap();
|
||||
+ // Don't use custom libdir here because ^lib/ will be resolved again with installer
|
||||
+ let backends_dst = image.join("lib").join(&backends_rel);
|
||||
t!(fs::create_dir_all(&backends_dst));
|
||||
builder.cp_r(&backends_src, &backends_dst);
|
||||
|
@ -1,117 +0,0 @@
|
||||
From d6bd0a479ceaf6abdd696c3b955a56f66275c562 Mon Sep 17 00:00:00 2001
|
||||
From: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||
Date: Sat, 25 May 2019 22:21:16 -0700
|
||||
Subject: [PATCH] revert commits triggering multiple llvm rebuilds
|
||||
|
||||
this reverts the following commits
|
||||
https://github.com/rust-lang/rust/commit/105692c3ad281c63bf0f75a26a66bb9cff5b4553
|
||||
https://github.com/rust-lang/rust/commit/975ba58f42b34ff07cd7c2bd73350daed2057186
|
||||
https://github.com/rust-lang/rust/commit/e1daa36ba7df88788c2684bbe5ff6eb37f1cda69
|
||||
---
|
||||
src/bootstrap/llvm-rebuild-trigger | 4 +++
|
||||
src/bootstrap/native.rs | 46 +++++++++++++-----------------
|
||||
2 files changed, 24 insertions(+), 26 deletions(-)
|
||||
create mode 100644 src/bootstrap/llvm-rebuild-trigger
|
||||
|
||||
diff --git a/src/bootstrap/llvm-rebuild-trigger b/src/bootstrap/llvm-rebuild-trigger
|
||||
new file mode 100644
|
||||
index 0000000000..0f18c6a4ac
|
||||
--- /dev/null
|
||||
+++ b/src/rustllvm/llvm-rebuild-trigger
|
||||
@@ -0,0 +1,4 @@
|
||||
+# If this file is modified, then llvm will be (optionally) cleaned and then rebuilt.
|
||||
+# The actual contents of this file do not matter, but to trigger a change on the
|
||||
+# build bots then the contents should be changed so git updates the mtime.
|
||||
+2019-03-18
|
||||
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
|
||||
index fde40b0d1b..3babbc9e10 100644
|
||||
--- a/src/bootstrap/native.rs
|
||||
+++ b/src/bootstrap/native.rs
|
||||
@@ -67,40 +67,30 @@ impl Step for Llvm {
|
||||
}
|
||||
}
|
||||
|
||||
- let (llvm_info, root, out_dir, llvm_config_ret_dir) = if emscripten {
|
||||
- let info = &builder.emscripten_llvm_info;
|
||||
+ let rebuild_trigger = builder.src.join("src/rustllvm/llvm-rebuild-trigger");
|
||||
+ let rebuild_trigger_contents = t!(fs::read_to_string(&rebuild_trigger));
|
||||
+
|
||||
+ let (out_dir, llvm_config_ret_dir) = if emscripten {
|
||||
let dir = builder.emscripten_llvm_out(target);
|
||||
let config_dir = dir.join("bin");
|
||||
- (info, "src/llvm-emscripten", dir, config_dir)
|
||||
+ (dir, config_dir)
|
||||
} else {
|
||||
- let info = &builder.in_tree_llvm_info;
|
||||
let mut dir = builder.llvm_out(builder.config.build);
|
||||
if !builder.config.build.contains("msvc") || builder.config.ninja {
|
||||
dir.push("build");
|
||||
}
|
||||
- (info, "src/llvm-project/llvm", builder.llvm_out(target), dir.join("bin"))
|
||||
+ (builder.llvm_out(target), dir.join("bin"))
|
||||
};
|
||||
-
|
||||
- if !llvm_info.is_git() {
|
||||
- println!(
|
||||
- "git could not determine the LLVM submodule commit hash. \
|
||||
- Assuming that an LLVM build is necessary.",
|
||||
- );
|
||||
- }
|
||||
-
|
||||
+ let done_stamp = out_dir.join("llvm-finished-building");
|
||||
let build_llvm_config = llvm_config_ret_dir
|
||||
.join(exe("llvm-config", &*builder.config.build));
|
||||
- let done_stamp = out_dir.join("llvm-finished-building");
|
||||
-
|
||||
- if let Some(llvm_commit) = llvm_info.sha() {
|
||||
- if done_stamp.exists() {
|
||||
- let done_contents = t!(fs::read(&done_stamp));
|
||||
+ if done_stamp.exists() {
|
||||
+ let done_contents = t!(fs::read_to_string(&done_stamp));
|
||||
|
||||
- // If LLVM was already built previously and the submodule's commit didn't change
|
||||
- // from the previous build, then no action is required.
|
||||
- if done_contents == llvm_commit.as_bytes() {
|
||||
- return build_llvm_config
|
||||
- }
|
||||
+ // If LLVM was already built previously and contents of the rebuild-trigger file
|
||||
+ // didn't change from the previous build, then no action is required.
|
||||
+ if done_contents == rebuild_trigger_contents {
|
||||
+ return build_llvm_config
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +101,7 @@ impl Step for Llvm {
|
||||
t!(fs::create_dir_all(&out_dir));
|
||||
|
||||
// http://llvm.org/docs/CMake.html
|
||||
+ let root = if self.emscripten { "src/llvm-emscripten" } else { "src/llvm-project/llvm" };
|
||||
let mut cfg = cmake::Config::new(builder.src.join(root));
|
||||
|
||||
let profile = match (builder.config.llvm_optimize, builder.config.llvm_release_debuginfo) {
|
||||
@@ -251,6 +242,11 @@ impl Step for Llvm {
|
||||
channel::CFG_RELEASE_NUM,
|
||||
builder.config.channel,
|
||||
);
|
||||
+ let llvm_info = if self.emscripten {
|
||||
+ &builder.emscripten_llvm_info
|
||||
+ } else {
|
||||
+ &builder.in_tree_llvm_info
|
||||
+ };
|
||||
if let Some(sha) = llvm_info.sha_short() {
|
||||
default_suffix.push_str("-");
|
||||
default_suffix.push_str(sha);
|
||||
@@ -283,9 +279,7 @@ impl Step for Llvm {
|
||||
|
||||
cfg.build();
|
||||
|
||||
- if let Some(llvm_commit) = llvm_info.sha() {
|
||||
- t!(fs::write(&done_stamp, llvm_commit));
|
||||
- }
|
||||
+ t!(fs::write(&done_stamp, &rebuild_trigger_contents));
|
||||
|
||||
build_llvm_config
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,68 +0,0 @@
|
||||
diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
|
||||
index 5c961bcbc..a0ea2d357 100644
|
||||
--- a/vendor/openssl-sys/.cargo-checksum.json
|
||||
+++ b/vendor/openssl-sys/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{"CHANGELOG.md":"a3e7e4750fe6130a93e9423d5b1b68c659dd29246602f71583c7a101c4d647be","Cargo.toml":"5fdba4ce7cf40abec303651694e79a5ae551f040a7bbaad134ed9ab54d26a613","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"61b741c4fe9612f5a70b19bec53d3ab7ec2d7038b163c35b54f0664caa104a31","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"d88c47f4cf851aa67c0e3dec679910c5c7ba239bc5a1aa89e507a875b4c4ca0f","build/main.rs":"681a1f8a8f389c82bbd3d2498a3692c201c63db658e7c3d162f09d5d81892fd4","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"f72d6871d38865d9e7378882135cdc6f1acd66c48a4fc846502b7f488dbbf111","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"95a0803286d1efbe709a3668443b5001f5cce6f9db216165b1e08950972e0bfd","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"5341787b108f4e9acb12428fbf993aa507e9d77b97284912f7eab414ec6aeff9","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"300007bcf00eaff03cb1d113547a79c9495b498ede9e1b2f709a9e6e1ba42ac1","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"e8931dd7e59a56a247823201f52828ec15d0b8dbd15ba297cacd3dcb3ca747cf","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"83bb7745615a99fe2a8d5f8f51addba2024c7e6be847ab6c9244bfd04388c4f9","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"18c0c0c5ef02329be90fd279968da61d3e1a6b3a3aec102d6fefd99021d1822a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d"}
|
||||
\ No newline at end of file
|
||||
+{"files":{"CHANGELOG.md":"a3e7e4750fe6130a93e9423d5b1b68c659dd29246602f71583c7a101c4d647be","Cargo.toml":"5fdba4ce7cf40abec303651694e79a5ae551f040a7bbaad134ed9ab54d26a613","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"96a414be6e7e061a21a9e39a61449039f6791225264032641dd044a1a9b88111","build/cfgs.rs":"61b741c4fe9612f5a70b19bec53d3ab7ec2d7038b163c35b54f0664caa104a31","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0a2dc417eace7fc72c27b9046ebaf53c75e418b27baa877434925a81fe6c23ed","build/find_vendored.rs":"d88c47f4cf851aa67c0e3dec679910c5c7ba239bc5a1aa89e507a875b4c4ca0f","build/main.rs":"f2cd4ca8fde8298211581f9e1ca61668706d7681a38b95a63591450e1d8366a3","src/aes.rs":"660efd70f809cb2f5dbbf527be8f9592911776bab7dafa1fc4cc72dd9a576b67","src/asn1.rs":"f72d6871d38865d9e7378882135cdc6f1acd66c48a4fc846502b7f488dbbf111","src/bio.rs":"5c6f394a78f258af3babb68330fa3571610476c4c3ba3404359db928f2f706ee","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"95a0803286d1efbe709a3668443b5001f5cce6f9db216165b1e08950972e0bfd","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"f6e8a116940755b2b53e3d0d49d1b451fc6e4269831fd1cfcee9d6ed404cf487","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"5341787b108f4e9acb12428fbf993aa507e9d77b97284912f7eab414ec6aeff9","src/err.rs":"f6641be5df397086a9db80667e191fb1d92972c29151e617df86672c1a16d3ad","src/evp.rs":"300007bcf00eaff03cb1d113547a79c9495b498ede9e1b2f709a9e6e1ba42ac1","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"e8931dd7e59a56a247823201f52828ec15d0b8dbd15ba297cacd3dcb3ca747cf","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"9c20609db7115c9edb99185375426169cb5b7caee839d892b556e92285e65309","src/object.rs":"7539eb2164c3fe2162a339ef5b45f1c835010a1522307803815779a01825eed7","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"fc7366e75c78707650c8667593ed183eca6a8ce8dd6b911e342f644d1bcf98bd","src/pem.rs":"83bb7745615a99fe2a8d5f8f51addba2024c7e6be847ab6c9244bfd04388c4f9","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"05044d221d8d205010a4e3760c0b5c0e2e923e165db0d65f9a8c9bcedaad9961","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"18c0c0c5ef02329be90fd279968da61d3e1a6b3a3aec102d6fefd99021d1822a","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"20e221731587221aab00aef21b4e4bebb7635603d265d424f3dd3c60d4c511e2","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d"}
|
||||
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
|
||||
index 02b93b90a..f0cf4b4ff 100644
|
||||
--- a/vendor/openssl-sys/build/main.rs
|
||||
+++ b/vendor/openssl-sys/build/main.rs
|
||||
@@ -183,27 +183,31 @@ See rust-openssl README for more information:
|
||||
if let Some(libressl_version) = libressl_version {
|
||||
println!("cargo:libressl_version_number={:x}", libressl_version);
|
||||
|
||||
+ let major = (libressl_version >> 28) as u8;
|
||||
let minor = (libressl_version >> 20) as u8;
|
||||
let fix = (libressl_version >> 12) as u8;
|
||||
- let (minor, fix) = match (minor, fix) {
|
||||
- (5, 0) => ('5', '0'),
|
||||
- (5, 1) => ('5', '1'),
|
||||
- (5, 2) => ('5', '2'),
|
||||
- (5, _) => ('5', 'x'),
|
||||
- (6, 0) => ('6', '0'),
|
||||
- (6, 1) => ('6', '1'),
|
||||
- (6, 2) => ('6', '2'),
|
||||
- (6, _) => ('6', 'x'),
|
||||
- (7, _) => ('7', 'x'),
|
||||
- (8, 0) => ('8', '0'),
|
||||
- (8, 1) => ('8', '1'),
|
||||
- (8, _) => ('8', 'x'),
|
||||
- (9, 0) => ('9', '0'),
|
||||
+ let (major, minor, fix) = match (major, minor, fix) {
|
||||
+ (2, 5, 0) => ('2', '5', '0'),
|
||||
+ (2, 5, 1) => ('2', '5', '1'),
|
||||
+ (2, 5, 2) => ('2', '5', '2'),
|
||||
+ (2, 5, _) => ('2', '5', 'x'),
|
||||
+ (2, 6, 0) => ('2', '6', '0'),
|
||||
+ (2, 6, 1) => ('2', '6', '1'),
|
||||
+ (2, 6, 2) => ('2', '6', '2'),
|
||||
+ (2, 6, _) => ('2', '6', 'x'),
|
||||
+ (2, 7, _) => ('2', '7', 'x'),
|
||||
+ (2, 8, 0) => ('2', '8', '0'),
|
||||
+ (2, 8, 1) => ('2', '8', '1'),
|
||||
+ (2, 8, _) => ('2', '8', 'x'),
|
||||
+ (2, 9, 0) => ('2', '9', '0'),
|
||||
+ (2, 9, _) => ('2', '9', 'x'),
|
||||
+ (3, 0, 0) => ('3', '0', '0'),
|
||||
+ (3, 0, _) => ('3', '0', 'x'),
|
||||
_ => version_error(),
|
||||
};
|
||||
|
||||
println!("cargo:libressl=true");
|
||||
- println!("cargo:libressl_version=2{}{}", minor, fix);
|
||||
+ println!("cargo:libressl_version={}{}{}", major, minor, fix);
|
||||
println!("cargo:version=101");
|
||||
Version::Libressl
|
||||
} else {
|
||||
@@ -239,7 +243,7 @@ fn version_error() -> ! {
|
||||
"
|
||||
|
||||
This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
|
||||
-through 2.9.0, but a different version of OpenSSL was found. The build is now aborting
|
||||
+through 3.0.x, but a different version of OpenSSL was found. The build is now aborting
|
||||
due to this version mismatch.
|
||||
|
||||
"
|
@ -1,90 +0,0 @@
|
||||
From 8553cc0681db7fb6b58b25bb3fbd520604a0cc3a Mon Sep 17 00:00:00 2001
|
||||
From: O01eg <o01eg@yandex.ru>
|
||||
Date: Wed, 7 Aug 2019 23:37:55 +0300
|
||||
Subject: [PATCH] Fix double resolving custom libdir
|
||||
|
||||
---
|
||||
src/bootstrap/builder.rs | 20 +++++++++++++-------
|
||||
src/bootstrap/dist.rs | 13 +++++++++----
|
||||
2 files changed, 22 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
|
||||
index 5a75497173eb..06ccdd8e7f0f 100644
|
||||
--- a/src/bootstrap/builder.rs
|
||||
+++ b/src/bootstrap/builder.rs
|
||||
@@ -627,13 +627,7 @@ impl<'a> Builder<'a> {
|
||||
}
|
||||
|
||||
fn run(self, builder: &Builder<'_>) -> Interned<PathBuf> {
|
||||
- let compiler = self.compiler;
|
||||
- let config = &builder.build.config;
|
||||
- let lib = if compiler.stage >= 1 && config.libdir_relative().is_some() {
|
||||
- builder.build.config.libdir_relative().unwrap()
|
||||
- } else {
|
||||
- Path::new("lib")
|
||||
- };
|
||||
+ let lib = builder.sysroot_libdir_relative(self.compiler);
|
||||
let sysroot = builder
|
||||
.sysroot(self.compiler)
|
||||
.join(lib)
|
||||
@@ -687,6 +681,18 @@ impl<'a> Builder<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
+ /// Returns the compiler's relative libdir where the standard library and other artifacts are
|
||||
+ /// found for a compiler's sysroot.
|
||||
+ ///
|
||||
+ /// For example this returns `lib` on Unix and Windows.
|
||||
+ pub fn sysroot_libdir_relative(&self, compiler: Compiler) -> &Path {
|
||||
+ match self.config.libdir_relative() {
|
||||
+ Some(relative_libdir) if compiler.stage >= 1
|
||||
+ => relative_libdir,
|
||||
+ _ => Path::new("lib")
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/// Adds the compiler's directory of dynamic libraries to `cmd`'s dynamic
|
||||
/// library lookup path.
|
||||
pub fn add_rustc_lib_path(&self, compiler: Compiler, cmd: &mut Command) {
|
||||
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
|
||||
index bd012a887c26..213ceb194a81 100644
|
||||
--- a/src/bootstrap/dist.rs
|
||||
+++ b/src/bootstrap/dist.rs
|
||||
@@ -469,7 +469,6 @@ impl Step for Rustc {
|
||||
fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) {
|
||||
let host = compiler.host;
|
||||
let src = builder.sysroot(compiler);
|
||||
- let libdir = builder.rustc_libdir(compiler);
|
||||
|
||||
// Copy rustc/rustdoc binaries
|
||||
t!(fs::create_dir_all(image.join("bin")));
|
||||
@@ -481,11 +480,14 @@ impl Step for Rustc {
|
||||
|
||||
// Copy runtime DLLs needed by the compiler
|
||||
if libdir_relative.to_str() != Some("bin") {
|
||||
+ let libdir = builder.rustc_libdir(compiler);
|
||||
for entry in builder.read_dir(&libdir) {
|
||||
let name = entry.file_name();
|
||||
if let Some(s) = name.to_str() {
|
||||
if is_dylib(s) {
|
||||
- builder.install(&entry.path(), &image.join(&libdir_relative), 0o644);
|
||||
+ // Don't use custom libdir here because ^lib/ will be resolved again
|
||||
+ // with installer
|
||||
+ builder.install(&entry.path(), &image.join("lib"), 0o644);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -493,8 +495,11 @@ impl Step for Rustc {
|
||||
|
||||
// Copy over the codegen backends
|
||||
let backends_src = builder.sysroot_codegen_backends(compiler);
|
||||
- let backends_rel = backends_src.strip_prefix(&src).unwrap();
|
||||
- let backends_dst = image.join(&backends_rel);
|
||||
+ let backends_rel = backends_src.strip_prefix(&src).unwrap()
|
||||
+ .strip_prefix(builder.sysroot_libdir_relative(compiler)).unwrap();
|
||||
+ // Don't use custom libdir here because ^lib/ will be resolved again with installer
|
||||
+ let backends_dst = image.join("lib").join(&backends_rel);
|
||||
+
|
||||
t!(fs::create_dir_all(&backends_dst));
|
||||
builder.cp_r(&backends_src, &backends_dst);
|
||||
|
@ -1,75 +0,0 @@
|
||||
From 53fe76479aab03b1fbe5b7184f45484886f769b1 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Stone <jistone@redhat.com>
|
||||
Date: Wed, 4 Sep 2019 16:02:31 -0700
|
||||
Subject: [PATCH] Assume non-git LLVM is fresh if the stamp file exists
|
||||
|
||||
Rustbuild usually writes the LLVM submodule commit in a stamp file, so
|
||||
we can avoid rebuilding it unnecessarily. However, for builds from a
|
||||
source tarball (non-git), we were assuming a rebuild is always needed.
|
||||
This can cause a lot of extra work if any environment like `CFLAGS`
|
||||
changed between steps like build and install, which are often separate
|
||||
in distro builds.
|
||||
|
||||
Now we also write an empty stamp file if the git commit is unknown, and
|
||||
its presence is trusted to indicate that no rebuild is needed. An info
|
||||
message reports that this is happening, along with the stamp file path
|
||||
that can be deleted to force a rebuild anyway.
|
||||
---
|
||||
src/bootstrap/native.rs | 27 ++++++++++++++-------------
|
||||
1 file changed, 14 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
|
||||
index f02def3e1b05..7bf9ea2688f4 100644
|
||||
--- a/src/bootstrap/native.rs
|
||||
+++ b/src/bootstrap/native.rs
|
||||
@@ -81,26 +81,29 @@ impl Step for Llvm {
|
||||
(info, "src/llvm-project/llvm", builder.llvm_out(target), dir.join("bin"))
|
||||
};
|
||||
|
||||
- if !llvm_info.is_git() {
|
||||
- println!(
|
||||
- "git could not determine the LLVM submodule commit hash. \
|
||||
- Assuming that an LLVM build is necessary.",
|
||||
- );
|
||||
- }
|
||||
-
|
||||
let build_llvm_config = llvm_config_ret_dir
|
||||
.join(exe("llvm-config", &*builder.config.build));
|
||||
let done_stamp = out_dir.join("llvm-finished-building");
|
||||
|
||||
- if let Some(llvm_commit) = llvm_info.sha() {
|
||||
- if done_stamp.exists() {
|
||||
+ if done_stamp.exists() {
|
||||
+ if let Some(llvm_commit) = llvm_info.sha() {
|
||||
let done_contents = t!(fs::read(&done_stamp));
|
||||
|
||||
// If LLVM was already built previously and the submodule's commit didn't change
|
||||
// from the previous build, then no action is required.
|
||||
if done_contents == llvm_commit.as_bytes() {
|
||||
- return build_llvm_config
|
||||
+ return build_llvm_config;
|
||||
}
|
||||
+ } else {
|
||||
+ builder.info(
|
||||
+ "Could not determine the LLVM submodule commit hash. \
|
||||
+ Assuming that an LLVM rebuild is not necessary.",
|
||||
+ );
|
||||
+ builder.info(&format!(
|
||||
+ "To force LLVM to rebuild, remove the file `{}`",
|
||||
+ done_stamp.display()
|
||||
+ ));
|
||||
+ return build_llvm_config;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -303,9 +306,7 @@ impl Step for Llvm {
|
||||
|
||||
cfg.build();
|
||||
|
||||
- if let Some(llvm_commit) = llvm_info.sha() {
|
||||
- t!(fs::write(&done_stamp, llvm_commit));
|
||||
- }
|
||||
+ t!(fs::write(&done_stamp, llvm_info.sha().unwrap_or("")));
|
||||
|
||||
build_llvm_config
|
||||
}
|
@ -1,342 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
inherit check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="amd64 arm64 ppc64 x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
|
||||
$(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
|
||||
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling one than more slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# 1. List all the working slots (with min versions) in ||, newest first.
|
||||
# 2. Update the := to specify *max* version, e.g. < 9.
|
||||
# 3. Specify LLVM_MAX_SLOT, e.g. 8.
|
||||
LLVM_DEPEND="
|
||||
|| (
|
||||
sys-devel/llvm:8[llvm_targets_WebAssembly?]
|
||||
wasm? ( =sys-devel/lld-8* )
|
||||
)
|
||||
<sys-devel/llvm-9:=
|
||||
"
|
||||
LLVM_MAX_SLOT=8
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-libs/http-parser:=
|
||||
net-misc/curl[ssl]
|
||||
elibc_musl? ( sys-libs/libunwind )
|
||||
system-llvm? (
|
||||
${LLVM_DEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
dev-util/cmake
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=app-eselect/eselect-rust-20190311
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
|
||||
"${FILESDIR}"/1.34.2-fix-custom-libdir.patch
|
||||
"${FILESDIR}"/1.35.0-revert-commits-triggering-multiple-llvm-rebuilds.patch
|
||||
"${FILESDIR}"/1.36.0-libressl.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
CHECKREQS_DISK_BUILD="7G"
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
CHECKREQS_DISK_BUILD="10G"
|
||||
fi
|
||||
eshopts_pop
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
use system-llvm && llvm_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local extended="true" tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- EOF > "${S}"/config.toml
|
||||
[llvm]
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
docs = $(toml_usex doc)
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = ${extended}
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr"
|
||||
libdir = "$(get_libdir)/${P}"
|
||||
docdir = "share/doc/${P}"
|
||||
mandir = "share/${P}/man"
|
||||
[rust]
|
||||
optimize = $(toml_usex !debug)
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
default-linker = "$(tc-getCC)"
|
||||
channel = "stable"
|
||||
rpath = false
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
EOF
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- EOF >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
EOF
|
||||
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
EOF
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
EOF
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
if use wasm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
env $(cat "${S}"/config.env)\
|
||||
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
|
||||
--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local rust_target abi_libdir
|
||||
|
||||
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
|
||||
--exclude src/tools/miri || die
|
||||
|
||||
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
|
||||
if use clippy; then
|
||||
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
|
||||
fi
|
||||
if use rls; then
|
||||
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
|
||||
fi
|
||||
if use rustfmt; then
|
||||
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
|
||||
fi
|
||||
|
||||
# Copy shared library versions of standard libraries for all targets
|
||||
# into the system's abi-dependent lib directories because the rust
|
||||
# installer only does so for the native ABI.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
if [ ${v##*.} = ${DEFAULT_ABI} ]; then
|
||||
continue
|
||||
fi
|
||||
abi_libdir=$(get_abi_LIBDIR ${v##*.})
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
mkdir -p "${ED}/usr/${abi_libdir}/${P}"
|
||||
cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
|
||||
"${ED}/usr/${abi_libdir}/${P}" || die
|
||||
done
|
||||
|
||||
dodoc COPYRIGHT
|
||||
|
||||
# FIXME:
|
||||
# Really not sure if that env is needed, specailly LDPATH
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
MANPATH="${EPREFIX}/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
|
||||
ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
|
||||
ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
|
||||
ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,342 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
inherit check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
|
||||
$(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
|
||||
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling more than one slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# 1. List all the working slots (with min versions) in ||, newest first.
|
||||
# 2. Update the := to specify *max* version, e.g. < 9.
|
||||
# 3. Specify LLVM_MAX_SLOT, e.g. 8.
|
||||
LLVM_DEPEND="
|
||||
|| (
|
||||
sys-devel/llvm:9[llvm_targets_WebAssembly?]
|
||||
wasm? ( =sys-devel/lld-9* )
|
||||
)
|
||||
<sys-devel/llvm-10:=
|
||||
"
|
||||
LLVM_MAX_SLOT=9
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-libs/http-parser:=
|
||||
net-misc/curl[ssl]
|
||||
elibc_musl? ( sys-libs/libunwind )
|
||||
system-llvm? (
|
||||
${LLVM_DEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
dev-util/cmake
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=app-eselect/eselect-rust-20190311
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
QA_FLAGS_IGNORED="usr/bin/* usr/lib*/${P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/1.38.0-fix-custom-libdir.patch
|
||||
"${FILESDIR}"/1.38.0-fix-multiple-llvm-rebuilds.patch
|
||||
"${FILESDIR}"/1.36.0-libressl.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
CHECKREQS_DISK_BUILD="9G"
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
CHECKREQS_DISK_BUILD="14G"
|
||||
fi
|
||||
eshopts_pop
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
use system-llvm && llvm_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local extended="true" tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- EOF > "${S}"/config.toml
|
||||
[llvm]
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
docs = $(toml_usex doc)
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = ${extended}
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr"
|
||||
libdir = "$(get_libdir)/${P}"
|
||||
docdir = "share/doc/${P}"
|
||||
mandir = "share/${P}/man"
|
||||
[rust]
|
||||
optimize = $(toml_usex !debug)
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
default-linker = "$(tc-getCC)"
|
||||
channel = "stable"
|
||||
rpath = false
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
EOF
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- EOF >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
EOF
|
||||
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
EOF
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
EOF
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
if use wasm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
env $(cat "${S}"/config.env)\
|
||||
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
|
||||
--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local rust_target abi_libdir
|
||||
|
||||
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
|
||||
--exclude src/tools/miri || die
|
||||
|
||||
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
|
||||
if use clippy; then
|
||||
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
|
||||
fi
|
||||
if use rls; then
|
||||
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
|
||||
fi
|
||||
if use rustfmt; then
|
||||
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
|
||||
fi
|
||||
|
||||
# Copy shared library versions of standard libraries for all targets
|
||||
# into the system's abi-dependent lib directories because the rust
|
||||
# installer only does so for the native ABI.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
if [ ${v##*.} = ${DEFAULT_ABI} ]; then
|
||||
continue
|
||||
fi
|
||||
abi_libdir=$(get_abi_LIBDIR ${v##*.})
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
mkdir -p "${ED}/usr/${abi_libdir}/${P}"
|
||||
cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
|
||||
"${ED}/usr/${abi_libdir}/${P}" || die
|
||||
done
|
||||
|
||||
dodoc COPYRIGHT
|
||||
|
||||
# FIXME:
|
||||
# Really not sure if that env is needed, specailly LDPATH
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
MANPATH="${EPREFIX}/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
|
||||
ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
|
||||
ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
|
||||
ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,347 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
|
||||
$(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
|
||||
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling more than one slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# 1. List all the working slots (with min versions) in ||, newest first.
|
||||
# 2. Update the := to specify *max* version, e.g. < 9.
|
||||
# 3. Specify LLVM_MAX_SLOT, e.g. 8.
|
||||
LLVM_DEPEND="
|
||||
|| (
|
||||
sys-devel/llvm:9[llvm_targets_WebAssembly?]
|
||||
wasm? ( =sys-devel/lld-9* )
|
||||
)
|
||||
<sys-devel/llvm-10:=
|
||||
"
|
||||
LLVM_MAX_SLOT=9
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-libs/http-parser:=
|
||||
net-misc/curl[ssl]
|
||||
elibc_musl? ( sys-libs/libunwind )
|
||||
system-llvm? (
|
||||
${LLVM_DEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
dev-util/cmake
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=app-eselect/eselect-rust-20190311
|
||||
!dev-util/cargo
|
||||
rustfmt? ( !dev-util/rustfmt )
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
QA_FLAGS_IGNORED="usr/bin/* usr/lib*/${P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/1.36.0-libressl.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
CHECKREQS_DISK_BUILD="9G"
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
CHECKREQS_DISK_BUILD="14G"
|
||||
fi
|
||||
eshopts_pop
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
use system-llvm && llvm_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local extended="true" tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- EOF > "${S}"/config.toml
|
||||
[llvm]
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
docs = $(toml_usex doc)
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = ${extended}
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr"
|
||||
libdir = "$(get_libdir)/${P}"
|
||||
docdir = "share/doc/${P}"
|
||||
mandir = "share/${P}/man"
|
||||
[rust]
|
||||
optimize = $(toml_usex !debug)
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
default-linker = "$(tc-getCC)"
|
||||
channel = "stable"
|
||||
rpath = false
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
EOF
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- EOF >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
EOF
|
||||
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
EOF
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
EOF
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
if use wasm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
env $(cat "${S}"/config.env)\
|
||||
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
|
||||
--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local rust_target abi_libdir
|
||||
|
||||
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
|
||||
--exclude src/tools/miri || die
|
||||
|
||||
# bug #689562, #689160
|
||||
rm "${D}/etc/bash_completion.d/cargo" || die
|
||||
pushd "${D}" > /dev/null || die
|
||||
rmdir -p etc/bash_completion.d || die
|
||||
popd > /dev/null || die
|
||||
dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
|
||||
|
||||
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
|
||||
if use clippy; then
|
||||
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
|
||||
fi
|
||||
if use rls; then
|
||||
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
|
||||
fi
|
||||
if use rustfmt; then
|
||||
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
|
||||
fi
|
||||
|
||||
# Copy shared library versions of standard libraries for all targets
|
||||
# into the system's abi-dependent lib directories because the rust
|
||||
# installer only does so for the native ABI.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
if [ ${v##*.} = ${DEFAULT_ABI} ]; then
|
||||
continue
|
||||
fi
|
||||
abi_libdir=$(get_abi_LIBDIR ${v##*.})
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
mkdir -p "${ED}/usr/${abi_libdir}/${P}"
|
||||
cp "${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
|
||||
"${ED}/usr/${abi_libdir}/${P}" || die
|
||||
done
|
||||
|
||||
dodoc COPYRIGHT
|
||||
|
||||
# FIXME:
|
||||
# Really not sure if that env is needed, specailly LDPATH
|
||||
cat <<-EOF > "${T}"/50${P}
|
||||
LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
MANPATH="${EPREFIX}/usr/share/${P}/man"
|
||||
EOF
|
||||
doenvd "${T}"/50${P}
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
|
||||
ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
|
||||
ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
|
||||
ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,358 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="
|
||||
https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
|
||||
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
|
||||
"
|
||||
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling more than one slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# 1. List all the working slots (with min versions) in ||, newest first.
|
||||
# 2. Update the := to specify *max* version, e.g. < 10.
|
||||
# 3. Specify LLVM_MAX_SLOT, e.g. 9.
|
||||
LLVM_DEPEND="
|
||||
|| (
|
||||
sys-devel/llvm:9[llvm_targets_WebAssembly?]
|
||||
wasm? ( =sys-devel/lld-9* )
|
||||
)
|
||||
<sys-devel/llvm-10:=
|
||||
"
|
||||
LLVM_MAX_SLOT=9
|
||||
|
||||
# FIXME:
|
||||
# this should be '>=virtual/rust-1.$(($(ver_cut 2) - 1))', but we can't do it yet
|
||||
# as the first gentoo-built rust that can bootstap new compiler is 1.40.0-r1
|
||||
BOOTSTRAP_DEPEND="|| ( =dev-lang/rust-${PVR} =dev-lang/rust-bin-${PV}* )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
net-libs/libssh2
|
||||
net-libs/http-parser:=
|
||||
net-misc/curl[ssl]
|
||||
elibc_musl? ( sys-libs/libunwind )
|
||||
system-llvm? (
|
||||
${LLVM_DEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
|
||||
!system-llvm? (
|
||||
dev-util/cmake
|
||||
dev-util/ninja
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=app-eselect/eselect-rust-20190311
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
parallel-compiler? ( nightly )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
|
||||
QA_FLAGS_IGNORED="
|
||||
usr/bin/*-${PV}
|
||||
usr/lib*/lib*.so
|
||||
usr/lib/rustlib/*/codegen-backends/librustc_codegen_llvm-llvm.so
|
||||
usr/lib/rustlib/*/lib/lib*.so
|
||||
"
|
||||
|
||||
QA_SONAME="usr/lib.*/librustc_macros.*.so"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/1.36.0-libressl.patch
|
||||
"${FILESDIR}"/1.40.0-add-soname.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
CHECKREQS_DISK_BUILD="9G"
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
CHECKREQS_DISK_BUILD="14G"
|
||||
fi
|
||||
eshopts_pop
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
use system-llvm && llvm_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if ! use system-bootstrap; then
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
|
||||
--destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local extended="true" tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root
|
||||
if use system-bootstrap; then
|
||||
rust_stage0_root="$(rustc --print sysroot)"
|
||||
else
|
||||
rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
fi
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- EOF > "${S}"/config.toml
|
||||
[llvm]
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
docs = $(toml_usex doc)
|
||||
compiler-docs = $(toml_usex doc)
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = ${extended}
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr"
|
||||
libdir = "lib"
|
||||
docdir = "share/doc/${PF}"
|
||||
mandir = "share/man"
|
||||
[rust]
|
||||
optimize = $(toml_usex !debug)
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
default-linker = "$(tc-getCC)"
|
||||
parallel-compiler = $(toml_usex parallel-compiler)
|
||||
channel = "$(usex nightly nightly stable)"
|
||||
rpath = false
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
[dist]
|
||||
src-tarball = false
|
||||
EOF
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- EOF >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
EOF
|
||||
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
EOF
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
EOF
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
EOF
|
||||
fi
|
||||
done
|
||||
|
||||
if use wasm; then
|
||||
cat <<- EOF >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
env $(cat "${S}"/config.env)\
|
||||
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
|
||||
--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
|
||||
}
|
||||
|
||||
src_install() {
|
||||
env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \
|
||||
--exclude src/tools/miri || die
|
||||
|
||||
# bug #689562, #689160
|
||||
rm "${D}/etc/bash_completion.d/cargo" || die
|
||||
rmdir "${D}"/etc{/bash_completion.d,} || die
|
||||
dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
|
||||
|
||||
mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
|
||||
mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
|
||||
if use clippy; then
|
||||
mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die
|
||||
fi
|
||||
if use rls; then
|
||||
mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
|
||||
fi
|
||||
if use rustfmt; then
|
||||
mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
|
||||
mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die
|
||||
fi
|
||||
|
||||
# Move public shared libs to abi specific libdir
|
||||
# Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib
|
||||
if [[ $(get_libdir) != lib ]]; then
|
||||
dodir /usr/$(get_libdir)
|
||||
mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die
|
||||
fi
|
||||
|
||||
dodoc COPYRIGHT
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-EOF > "${T}/provider-${P}"
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
EOF
|
||||
echo /usr/bin/cargo >> "${T}/provider-${P}"
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update --if-unset
|
||||
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
|
||||
ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo."
|
||||
ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some"
|
||||
ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'."
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
|
||||
if use elibc_musl; then
|
||||
ewarn "${PN} on *-musl targets is configured with crt-static"
|
||||
ewarn ""
|
||||
ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
|
||||
ewarn "to use it with portage, otherwise you may see failures like"
|
||||
ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
|
||||
ewarn "x86_64-unknown-linux-musl does not support these crate types"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
DIST scala-2.12.4.tgz 19741785 BLAKE2B e782a4ac000ffcebc2faaac077cbb3cc13f8cc56deb9b3a78f1bddd3d0e6fd282d70f10cfef0780e4ab6a13e8d51b0401f84829b7974bd8823aecab54476ab02 SHA512 e6a9e11974d3bacc5f5dcdfdb379bdd1b430b1682141bed688f02f8b49395aff7c55cdb8da3319dff55da7bd7cfe7545e9b26db9558316ac8b3e29f6bb2c6d74
|
||||
DIST scala-2.13.1.tgz 19685743 BLAKE2B aaff6db71023f539d08da521ab1ff505a626605d9c298472d0c2e98a9a13d6b8440e89cf5ff4a53b7b9bcc48cbc1e3b55cc253563f54f18c369e13fc8c00a6c2 SHA512 028aa237c471cada1501cd5764b3c384c3f50e9fc327cddd3fa7c79e9cc909d86bf84d5fc28103054600f879a60c546fc45a837cdca54964eb57ec77f9c1613e
|
||||
EBUILD scala-bin-2.12.4.ebuild 1482 BLAKE2B 1f08b7ae9966682e14958090b42f5b45efcf1e80593fdc31aaeda09a100b46041a5b2a5d601feb52a829188ada9eef20038207fb028c8ab61adb7a51988bbbad SHA512 95bdf1e5108e90739d464d26c45b3c3a6c8949bbe8c8ae82afef56c583b4ef3e65571d798ca6786bea05ee45d8932471e1789cd4df5cbaa420fafbe8be1a9c37
|
||||
EBUILD scala-bin-2.13.1.ebuild 1306 BLAKE2B 9f4e07716d97106c279da5b885866758fc902b3d18af9c7a2d94e70dfee51c804af90aec1e607ef6864504c4665f7cdd874826ae99c716d8c1ad3c4e3dc235d0 SHA512 ff070c4e5702a846f46158b372282592a0946e5ce4aa277005fa4e25698c11e4f6b3937dc126ad4ce8772a8892b944e8747672b7ce1435b56c5389d093ff85ab
|
||||
MISC metadata.xml 317 BLAKE2B 47b0d918ff9d4f2287fc0c43a022b978a816aa0d96362cf449210cd6b13810ed1352dbe69c5bea8281cdd3f3d03f4dcf714589e414b27abd5cd8c648e3d64994 SHA512 506fab7ebaa9e1caf96f239d6d85978171b98282ebe22a4948f61df62ce05a4c22772d81159cec9a99dd9a127b602e7593615204142e295d88835f9385a64bc8
|
||||
|
@ -0,0 +1,76 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc"
|
||||
|
||||
inherit java-pkg-2
|
||||
|
||||
MY_PN="${PN%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="The Scala Programming Language"
|
||||
HOMEPAGE="http://scala.epfl.ch/"
|
||||
SRC_URI="http://downloads.lightbend.com/${MY_PN}/${PV}/${MY_P}.tgz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.6
|
||||
!dev-lang/scala"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
ebegin 'Cleaning .bat files'
|
||||
rm -f bin/*.bat || die
|
||||
eend $?
|
||||
|
||||
ebegin 'Patching SCALA_HOME variable in bin/ directory'
|
||||
local f
|
||||
for f in bin/*; do
|
||||
sed -i -e 's#\(SCALA_HOME\)=.*#\1=/usr/share/scala-bin#' $f || die
|
||||
done
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
:;
|
||||
}
|
||||
|
||||
src_install() {
|
||||
ebegin 'Installing bin scripts'
|
||||
dobin bin/*
|
||||
eend $?
|
||||
|
||||
ebegin 'Installing jar files'
|
||||
cd lib/ || die
|
||||
|
||||
# Unversion those libs.
|
||||
java-pkg_newjar jline-*.jar jline.jar
|
||||
java-pkg_newjar scalap-*.jar scalap.jar
|
||||
|
||||
# Install these the usual way.
|
||||
java-pkg_dojar scala-compiler.jar
|
||||
java-pkg_dojar scala-library.jar
|
||||
java-pkg_dojar scala-reflect.jar
|
||||
|
||||
eend $?
|
||||
|
||||
cd ../ || die
|
||||
|
||||
ebegin 'Installing man pages'
|
||||
doman man/man1/*.1
|
||||
eend $?
|
||||
|
||||
if use doc; then
|
||||
ebegin 'Installing documentation'
|
||||
java-pkg_dohtml -r doc/tools
|
||||
eend $?
|
||||
fi
|
||||
}
|
@ -0,0 +1,216 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..8} )
|
||||
|
||||
WANT_AUTOCONF="2.1"
|
||||
|
||||
inherit autotools check-reqs python-any-r1
|
||||
|
||||
MY_PN="mozjs"
|
||||
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
|
||||
|
||||
MY_MAJOR=$(ver_cut 1)
|
||||
|
||||
MOZ_ESR="1"
|
||||
|
||||
# Convert the ebuild version to the upstream mozilla version
|
||||
MOZ_PV="${MY_PV/_alpha/a}" # Handle alpha for SRC_URI
|
||||
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
|
||||
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
|
||||
|
||||
if [[ ${MOZ_ESR} == 1 ]] ; then
|
||||
# ESR releases have slightly different version numbers
|
||||
MOZ_PV="${MOZ_PV}esr"
|
||||
fi
|
||||
|
||||
# Patch version
|
||||
FIREFOX_PATCHSET="firefox-68.0-patches-12"
|
||||
SPIDERMONKEY_PATCHSET="${PN}-68.6.0-patches-01"
|
||||
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/releases"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
|
||||
|
||||
if [[ "${PV}" == *_rc* ]]; then
|
||||
MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
|
||||
MOZ_SRC_URI="${MOZ_HTTP_URI}/source/firefox-${MOZ_PV}.source.tar.xz"
|
||||
fi
|
||||
|
||||
PATCH_URIS=(
|
||||
https://dev.gentoo.org/~{anarchy,whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}.tar.xz
|
||||
https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}.tar.xz
|
||||
)
|
||||
|
||||
SRC_URI="${MOZ_SRC_URI}
|
||||
${PATCH_URIS[@]}"
|
||||
|
||||
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
|
||||
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
|
||||
|
||||
KEYWORDS=""
|
||||
|
||||
SLOT="68"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
IUSE="debug +jit +system-icu test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="dev-lang/python:2.7
|
||||
test? ( ${PYTHON_DEPS} )"
|
||||
|
||||
DEPEND=">=dev-libs/nspr-4.21
|
||||
sys-libs/readline:0=
|
||||
>=sys-libs/zlib-1.2.3
|
||||
system-icu? ( >=dev-libs/icu-63.1:= )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/firefox-${MY_PV}/js/src"
|
||||
|
||||
pkg_pretend() {
|
||||
if use test ; then
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use test ; then
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="5G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_setup
|
||||
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cd ../.. || die
|
||||
rm "${WORKDIR}"/firefox/2013_avoid_noinline_on_GCC_with_skcms.patch
|
||||
rm "${WORKDIR}"/firefox/2015_fix_cssparser.patch
|
||||
eapply "${WORKDIR}"/firefox
|
||||
eapply "${WORKDIR}"/spidermonkey-patches
|
||||
|
||||
default
|
||||
|
||||
MOZJS_BUILDDIR="${WORKDIR}/build"
|
||||
mkdir "${MOZJS_BUILDDIR}" || die
|
||||
|
||||
cd "${S}" || die
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC CXX LD AR RANLIB
|
||||
|
||||
# backup current active Python version
|
||||
local PYTHON_OLD=${PYTHON}
|
||||
|
||||
# build system will require Python2.7
|
||||
export PYTHON=python2.7
|
||||
|
||||
cd "${MOZJS_BUILDDIR}" || die
|
||||
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf \
|
||||
--disable-jemalloc \
|
||||
--enable-readline \
|
||||
--with-system-nspr \
|
||||
--with-system-zlib \
|
||||
--disable-optimize \
|
||||
--with-intl-api \
|
||||
$(use_with system-icu) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable jit ion) \
|
||||
$(use_enable test tests) \
|
||||
CONFIG_SHELL="${EPREFIX}/bin/bash" \
|
||||
XARGS="${EPREFIX}/usr/bin/xargs"
|
||||
|
||||
# restore PYTHON
|
||||
export PYTHON=${PYTHON_OLD}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${MOZJS_BUILDDIR}" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
|
||||
einfo "Smoke-test successful, continuing with full test suite"
|
||||
else
|
||||
die "Smoke-test failed: did interpreter initialization fail?"
|
||||
fi
|
||||
|
||||
local -a KNOWN_TESTFAILURES
|
||||
KNOWN_TESTFAILURES+=( test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Intl/RelativeTimeFormat/format.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
|
||||
KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
|
||||
|
||||
echo "" > "${T}"/known_failures.list || die
|
||||
|
||||
local KNOWN_TESTFAILURE
|
||||
for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
|
||||
echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
|
||||
done
|
||||
|
||||
PYTHONPATH="${S}/tests/lib" \
|
||||
${PYTHON} \
|
||||
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
|
||||
--exclude-file="${T}"/known_failures.list \
|
||||
"${MOZJS_BUILDDIR}"/js/src/js \
|
||||
|| die
|
||||
|
||||
if use jit ; then
|
||||
KNOWN_TESTFAILURES=()
|
||||
|
||||
echo "" > "${T}"/known_failures.list || die
|
||||
|
||||
for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
|
||||
echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
|
||||
done
|
||||
|
||||
PYTHONPATH="${S}/tests/lib" \
|
||||
${PYTHON} \
|
||||
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
|
||||
--exclude-file="${T}"/known_failures.list \
|
||||
"${MOZJS_BUILDDIR}"/js/src/js basic \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${MOZJS_BUILDDIR}" || die
|
||||
default
|
||||
|
||||
# fix soname links
|
||||
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
|
||||
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
|
||||
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
|
||||
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
|
||||
popd &>/dev/null || die
|
||||
|
||||
# remove unneeded files
|
||||
rm \
|
||||
"${ED}"/usr/bin/js${MY_MAJOR}-config \
|
||||
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|
||||
|| die
|
||||
|
||||
# fix permissions
|
||||
chmod -x \
|
||||
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
|
||||
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|
||||
|| die
|
||||
}
|
Binary file not shown.
@ -0,0 +1,77 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic multilib-minimal
|
||||
|
||||
DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
|
||||
HOMEPAGE="http://elfutils.org/"
|
||||
SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 lzma nls static-libs test +threads +utils valgrind"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
|
||||
!dev-libs/libelf"
|
||||
DEPEND="${RDEPEND}
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
BDEPEND="nls? ( sys-devel/gettext )
|
||||
>=sys-devel/flex-2.5.4a
|
||||
sys-devel/m4"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch
|
||||
"${FILESDIR}"/${PN}-0.177-disable-large.patch
|
||||
"${FILESDIR}"/${PN}-0.179-PaX-support.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if ! use static-libs; then
|
||||
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
|
||||
fi
|
||||
# https://sourceware.org/PR23914
|
||||
sed -i 's:-Werror::' */Makefile.in || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use test && append-flags -g #407135
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
$(use_enable nls) \
|
||||
$(use_enable threads thread-safety) \
|
||||
$(use_enable valgrind) \
|
||||
--disable-debuginfod \
|
||||
--program-prefix="eu-" \
|
||||
--with-zlib \
|
||||
$(use_with bzip2 bzlib) \
|
||||
$(use_with lzma)
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
|
||||
LC_ALL="C" \
|
||||
emake check VERBOSE=1
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
dodoc NOTES
|
||||
# These build quick, and are needed for most tests, so don't
|
||||
# disable their building when the USE flag is disabled.
|
||||
if ! use utils; then
|
||||
rm -rf "${ED}"/usr/bin || die
|
||||
fi
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
Add support for PaX ELF markings
|
||||
|
||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
||||
|
||||
http://bugs.gentoo.org/115100
|
||||
|
||||
--- a/libelf/elf.h
|
||||
+++ b/libelf/elf.h
|
||||
@@ -721,6 +721,7 @@ typedef struct
|
||||
#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
|
||||
#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
|
||||
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
|
||||
+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
|
||||
#define PT_LOSUNW 0x6ffffffa
|
||||
#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
|
||||
#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
|
||||
--- a/src/elflint.c
|
||||
+++ b/src/elflint.c
|
||||
@@ -4493,6 +4493,7 @@ only executables, shared objects, and core files can have program headers\n"));
|
||||
|
||||
if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME
|
||||
&& phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO
|
||||
+ && phdr->p_type != PT_PAX_FLAGS
|
||||
&& phdr->p_type != PT_GNU_PROPERTY
|
||||
/* Check for a known machine-specific type. */
|
||||
&& ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL)
|
@ -1,17 +1,10 @@
|
||||
AUX nspr-4.10.6-solaris.patch 973 BLAKE2B 8370bedb05c718d7b73d57b5ac5c720ca62499d6d7b7a039da608a9c514996c2d987ba0135b7dcac509d1b9363908f0c0cff6fe47e1f7ca94b7efbd8c19aeeca SHA512 d4e4c44d02be7aafe09e633f2ee747c323036f7438cb87864d91bcd9bb8ac072065353aa4e8a785e38724d33bfdc8adb0e460dbf44ff7fbd8c8dd32b569074f1
|
||||
AUX nspr-4.21-ipv6-musl-support.patch 1645 BLAKE2B 0b383804d5e66037041b91dcb7ddd52dd4533384ca5671ed1d36a71740b130863dd2b531867edab804fbb8cfab112282e17d607d7e298eb249ead620f99a55be SHA512 f241e607491d1192272221023d5f3e84b3e88957e7b66ce4d9ba1bcf2ab6639facc08eeb838a0e6753456f41dde4ced4fe99f923e0889030d844c23c62fad4e2
|
||||
AUX nspr-4.23-prtime.patch 814 BLAKE2B 2106a841b34445310cef07e15cb77ae4c9465cca9a7dc68acd68408a66383c90bee1fafeaaa144e1b8344d1edae27407714f193a452ffc3d425212e3b2c40fc5 SHA512 9f51a03852f0b3d4352c14ee849ec8af9b3dbef68eaa2755cb5a630018f91e3a2a4fce5742078b8be51e76995218a0cfc7ef8b0c013e8c47f746a61185795eae
|
||||
AUX nspr-4.7.0-prtime.patch 859 BLAKE2B d7869ee8e46f34e53546c28e7f9032497744d31b82d0fb47edb8c2ff5787392423698353e1374ebb5f9ed11470dff5ca62995e8f44f310756799bc9eae55ada5 SHA512 d8421bc11de5ec5e116c7eba3f31fcdde27796a64948d16aa1fb1822a29a92d8810056719ca60bcb96b1734b0e84c95250075c18acbcb631786249af7d679492
|
||||
AUX nspr-4.7.1-solaris.patch 411 BLAKE2B 0c1f0e621aec9e150bd8c279f46c18256c451b2555b9f264f0da7432fb0e7d5d69e1bbbb7adc9a448d88ca269be41943f2ee60e1cc8e115542e300c1d7c61185 SHA512 11bd4ab3f98cbad2586f999370291d387fe7a817bab9feda9f5493f284410a73318e90072c0052a8216d9ae1cdc5b2a862a99315e09b72560d9bad6ebc16eb79
|
||||
AUX nspr-4.8.4-darwin-install_name.patch 1046 BLAKE2B 1182149b03bd2c03fc4051bf98c61cdd4245da21a51d5f9b10149e12f5326992d587f0fe04bab79c26acee4aa2e4dded5ddf8c697b5cd4f2e34ea730c6ca7fe0 SHA512 dd00bc2108d6c7a64945afeaf97f31189250c90c3d63c86fa2b2b091ef812cc7c5f8c0f17211a02b497f50efc1c3668c840e21a45f514ff1103e22c659e820f2
|
||||
AUX nspr-4.8.9-link-flags.patch 931 BLAKE2B 6aa6aa1cf3b856a95b7baa20f58e9ed83b8b29ccce37bab39e10e0e76c433ae5c79839b5f7f9bdaf8b2475c8e3692ff4a57c246dfa4e1fed6866ab284826ee0d SHA512 0bb61dc09d287f1324749c983404e1f03fdf7014fbbd32cc5abe452fc2f32b90b759d8f18d964a61da044b5a7221f5ba274d94c93c07c8a7359e3c937e44b975
|
||||
AUX nspr-4.9.5_nspr_config.patch 251 BLAKE2B 65ae8b981e758e2955b7a3358f24b7b17dc1ef59f0e78f9fd9ddee740a4da3825bafea34f3900200b3f6edefed7d0797c194cb0339d4e36551615d599156108d SHA512 3f118b7142a19dcc7e26b348cec6029c78d585a57cc2bfc2ab7ca13d2ef953e576dab0ac044316e3165d0201bf27253afa732109f914da6f7a39f19facff8310
|
||||
DIST nspr-4.20.tar.gz 1140892 BLAKE2B 2cb96b7a40c307f904dac038f016b5c0e527aaf673463cbcb59d8bb6c9d0239219402587d624f48804e33f43abd4427c87f267bf1a88a0dacffcc408ac15dc49 SHA512 22fdf7627f450b0594ebccaee170098e1a8cd0f429fd44816f1322756002ced3d69cf686c3f69f7cb30b8132d3605a9fce5457ab99d0002e6af11a3408a5c949
|
||||
DIST nspr-4.22.tar.gz 1078701 BLAKE2B 8b37031ffebf79320c91ce674d7c3a0cfbef25bfb006cb9aaff44f090110b35ea2768f83dae4a793723f8e2f3aecabc1a4b8042cd1b0ab0aade30781e43f9d62 SHA512 d34271f0692905162f71b02cf6f62a8ebf779159335e4ed286ee8d51faaad633a61c9392bada86d976bca2b5aa47c8760085de30dbd13c9cfa423582c31db37b
|
||||
DIST nspr-4.24.tar.gz 1078825 BLAKE2B 3a773768c31334fa4f3f406d838d430dccfbcf5f7bd34dca422b199265f17fc08ef3d5d1e6df5468efeeeace8b5f8a38ece518e6bdbcdf811c2642d43be80c6c SHA512 b020031ed7a8997099c11e0772779c7b10d15b4f6b14e2b1832732943e8b8224afa952ce04a1914c1553af9d3973a6d9cacf08058ee6fff35102e3b2ec0943c1
|
||||
DIST nspr-4.25.tar.gz 1079633 BLAKE2B 377e5ec0e60cca13f1ee988adb10870bbb6cb9e4eb61e4434152418d4f8d446741a192d7019298ec2669b8e190cacb6a1ca9c4b2838e9b14dd3590ed40facdd2 SHA512 b9aa576e0da37e8729088fe559d94030cf18f277c1f7a30104d3088a804913343ed884645c0adb62144da475e20934b359f897bf3ae9a6ebb5f9daf283d5a562
|
||||
EBUILD nspr-4.20.ebuild 3767 BLAKE2B a6b75bd6c404d81e096146384a0063d9fd572d3682d1cdc21e30857b21d4e46548285c9688345ec199eb4e731192c09296b948e2f82b6164ffd622f37e160836 SHA512 48eff7a4dbe11435584d2bf7d1745aa3aba87c9117accf37e2f189fa7880eb168f627264e2bc0c21242e78f4d75792e47f248822e653ef661d375bec0a0d2c63
|
||||
EBUILD nspr-4.22.ebuild 3862 BLAKE2B 1233463b8607f8527153fa295aedfaed502770b2992dbf198120e0eb629dc86629a9f280e715f906c75c7be76a3d5acff447f84d77eaf9261c08e48513566151 SHA512 65d2798c263ca5d86d19c21cc0880431ea1f959b66b9e94ddce122f58ff6de0cf1cc2ecd0128b7cb14e82bd0b9dff0969ad1aa8521e066bbd7caeebda6f9cb60
|
||||
EBUILD nspr-4.24.ebuild 3939 BLAKE2B 6ca8360a5ed7711cef58d81c9db313ecfd57dc76ce48485f3427e84ecccb21069da57547385ef3c7a25085c1caed77f9bbb86f7b9b6b2ebdd7452893f0287b91 SHA512 0ad73faf242f7b8813d1add48629132d4276b618f63860a134576b757dbf14b253bf642f404a57d87bf8978ea896e75602dddb9b14a44241469b1e0466e09150
|
||||
EBUILD nspr-4.25.ebuild 3929 BLAKE2B f24ede145937321a3223a31d8e77c9881543160839393718c9c2b5cb904dced07ab03ee27c106cc42a16ad81e68d7d85fb10f12366a1de12d48f4ed7aa942632 SHA512 108af8076a159bdcf5535450861c73eca0499509bae674f83e827fa782cee6573ff1731869a7ec37b7dd1ea805c1ba0fb2ba3d572eb1d05b0e56e90aaef17f10
|
||||
MISC metadata.xml 349 BLAKE2B 06dabb7ec8263989dcff436449a820af581cc04ce9de05d7c4553751c8d9c6dc43a2af221c69107fca9ae046a1b3ec807cd3f3122195cffd23de9c6ce8b1c258 SHA512 5185204ed18d7e0e4a48f918dfd871a18c62572968767566b6e0c028075e1054ec8028aac412de0c598936a79e3f70486ef889f96b720e2b15d862cf91b12b23
|
||||
|
@ -1,26 +0,0 @@
|
||||
--- a/pr/src/misc/prtime.c
|
||||
+++ b/pr/src/misc/prtime.c
|
||||
@@ -1536,7 +1536,7 @@
|
||||
case TT_EET: zone_offset = 2 * 60; break;
|
||||
case TT_JST: zone_offset = 9 * 60; break;
|
||||
default:
|
||||
- PR_ASSERT (0);
|
||||
+ return PR_FAILURE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1578,11 +1578,12 @@
|
||||
struct tm localTime;
|
||||
time_t secs;
|
||||
|
||||
- PR_ASSERT(result->tm_month > -1 &&
|
||||
+ if (!(result->tm_month > -1 &&
|
||||
result->tm_mday > 0 &&
|
||||
result->tm_hour > -1 &&
|
||||
result->tm_min > -1 &&
|
||||
- result->tm_sec > -1);
|
||||
+ result->tm_sec > -1))
|
||||
+ return PR_FAILURE;
|
||||
|
||||
/*
|
||||
* To obtain time_t from a tm structure representing the local
|
@ -1,118 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.7.0-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
@ -1,120 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.7.0-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
@ -1,122 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.23-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
else
|
||||
elog "configure.in rename logic can be removed from ebuild."
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
@ -1,17 +1,7 @@
|
||||
AUX nss-3.21-gentoo-fixup-warnings.patch 178 BLAKE2B b51f80310db3db416d8aeaf9117ef801389b5b2df47c04aff51bf0759dd5bff41b09d1e9011f99b345d5769a3aab19acb943ee97f8437465518115f6902a0da1 SHA512 7667a020311ca11e8f1836bc146e4a3c94ff2a489882dbe87debcccfeaafeb50e6607574c64254a826b4b6f0bb436b310a3386fff4a58324f0e5e58debaa9d51
|
||||
AUX nss-3.23-hppa-byte_order.patch 460 BLAKE2B 97358cc8fbea0b0d3beee0697833e48ef01039ceb08fd00792a7f7ef68409eb076022c03764ab079fdaa971a0358130002fa11c0c182ebeb33dcdf660be26408 SHA512 ad0097bb6cf409d61eb28202d7460c87e983d6db977aba38ff9ef2749b3f7bb8fdadce4174f5bf806350ae33733097a1f444792d31cc43574b28341893642e5a
|
||||
AUX nss-3.47-enable-pem.patch 167 BLAKE2B 2b0b5e93ef43303008786280fe3b31d4ea5d92385134bf5574eef7a6fc3fb3e93b94b3a39857dd7ff5cb0f788af6b3c23a77164046b30a349666d0b050c715b2 SHA512 0fbcb0d2f0bce5fad6dadfe3d63288db98394384b901fbcabe98e86765bf029fac26eef96be5858113dd916fcf57595a3890904fe99573a652cfab4c13a112b7
|
||||
AUX nss-3.47-gentoo-fixups.patch 5260 BLAKE2B 994233aad2a0016676e6aea2bf4331a131561aa2b67bf6bab369b86e3a31e2fe651b0cd3fe77c6b8127fd276a5a2b8fccf3db90e0ecf63cd6d3a43e4dc26849a SHA512 c917ee0a2e4c889613f0d931b2553a6338c60a4ef898ea30bcdb888f94a30994849a3d33cd0b9eb7c5d1baebd2c7d991f2dfef44b50a0b59bf2f6b332ee3ef84
|
||||
DIST nss-3.47.1.tar.gz 76462846 BLAKE2B a26e858e06c494adb4059f8cc73993b0f3cff90a0785ed7eed3760931aa6b4ae5706cf7994c6c1421d9ed8bc36d1a4c199988bd9c59c06bb95fd03521c20f141 SHA512 ddee53f58929e5f3849c9f88a3a6735453a258c3c32a7e3e73cc949e0b7ad2dff81b21db31c9c5e1ef3eb79d63c31660e38ce76c06ca54a5681dd611dc2e2ae9
|
||||
DIST nss-3.48.tar.gz 76481237 BLAKE2B aded12d9f917d87e6fe32bc6c57b19e478507919c7d87b3f95e86ba10717d30da25632e60753b5cf7a24fbfef8fab6529ae373eea25d633d8164164bac97357c SHA512 71aefe323501dd8d750ed36606554f2e67ecb2bca85b55bc798d5dfc3a47f3d454348ca950971aaaafb16f6d847c098d2b1c40d40b50380e0c2540ed1b9a9e9a
|
||||
DIST nss-3.49.2.tar.gz 76489641 BLAKE2B 844a88984fde45142093ee6df2934d89cb4911d3e716019c0d1620254064af51b56249bc4348816e546c5dcab66d7fc9d4def32021661f4f3d868e09c342abec SHA512 fe0fe032db15853384a50b145dd6f3187a855109f0b81f1846312d33f8c628aededcbca4d199f974ae52530aec3f2312f80afbca3e5b97ed1ff96fcffafd2881
|
||||
DIST nss-3.50.tar.gz 78041630 BLAKE2B 4d21a1cac475936e153b22829f8b4b2f6f6a57c41e14d091b287aba633a8d4c80c045882ce6f1cb7a2f9ce760d616b13389f90e59f60250c41080ed1f5a4900a SHA512 d6bcaf8ad65b5a97c42cd6cbbc68add5c4b49db74b2debcedb2a007f72511ac0e9bd21fd2dec041bc1975cfc8af26a48450aa0d1b962f755931ab2ac45c795b1
|
||||
DIST nss-3.51.tar.gz 78305125 BLAKE2B 2c7b90d4cc9fe283bf81e21d0dceefff503e5a31f0053828b140b2b927ddab8c8881b23c7d4c003f3e2d0dcd22efbe699baee63443cab6e72d33a552fd430e3c SHA512 9c894b1ea41449b000750a7b3a89fcb43dfc3d0d4d6dcc0dc288bc73996f76f1ee1ede927a8aecae6d4a07f9f3d3e3a042c6a60cf06e27e0cdc004fce2e510fd
|
||||
DIST nss-cacert-class1-class3.patch 22950 BLAKE2B 9d5e60df5f161a3c27c41e5a9419440a54f888eda454e3cde5ebe626d4075b65cf9938b5144d0fb022377f4bd415bff5e5c67d104409860aa9391b3eb8872c68 SHA512 a5aa740bf110a3f0262e3f1ef2fc739ac2b44f042e220039d48aee8e97cd764d5c10718220364f4098aba955882bd02cadb5481512388971a8290312f88a7df0
|
||||
DIST nss-pem-20160329.tar.xz 27732 BLAKE2B 7c23133a7bfb969d8eac98fb6311e76ab60c5d6601c7329f3c492da30c017e66d64a1f8bc827dd36e52e65c1a1ec02b58816442aaf410345c5ed759a02264b84 SHA512 5834b06e4c64205447573d4f4c8989e20986ae67ee00eebce3817eb73794a6355a404143ba1c676ec302ceefaf9df103cb879b1d4ff14ba4e3790dbee3e40eb2
|
||||
EBUILD nss-3.47.1-r1.ebuild 9418 BLAKE2B 1360a98eb3c962017975876b63a6820ad51f3b4ef6c03fc35a83f6e7250affb35ee5deb8bee2cfb8843de9d2e398528036c7f9730e32114fe989f214230041fb SHA512 ac951dd107ad5e4b3f892b4c8482e86d874f07281590a94e940466f40819005d8a306e4ab747a9c6e4aa06e72b179c00b81bd56152432e2b43a58493ad30bbce
|
||||
EBUILD nss-3.48-r1.ebuild 9428 BLAKE2B 4345f09111b14e208185402842d3d4e6252a7e2b9d029652c4bc3c8ec7567a004040a7b5820e9145853bc638f6237536d56a31e55f5151be62cd9ebac8dc452a SHA512 cbcb3776b6d49fbe5d137c895361ba8e40d54c97ceb62fa4a5fc0080f164e81699fc0ead929e8406955d6fcf2f59342334f16282a5de215b3ce3bfdb2c4bcff5
|
||||
EBUILD nss-3.49.2.ebuild 9428 BLAKE2B 4345f09111b14e208185402842d3d4e6252a7e2b9d029652c4bc3c8ec7567a004040a7b5820e9145853bc638f6237536d56a31e55f5151be62cd9ebac8dc452a SHA512 cbcb3776b6d49fbe5d137c895361ba8e40d54c97ceb62fa4a5fc0080f164e81699fc0ead929e8406955d6fcf2f59342334f16282a5de215b3ce3bfdb2c4bcff5
|
||||
EBUILD nss-3.50-r1.ebuild 9022 BLAKE2B 3b0dbacc03de0558c3b7ea21296d8b67c598d92170935c8d426da82a1de72859a7f10ca107459b95a040845412eae192562ae3e28583eed3dd9d371a721d7841 SHA512 93bb2df5a5b66c5b89f083384933bf02ea37a2e83f928f8a68aa6be25a081bdfbff2d17b394e60eb65d847841296d78a67791b8ff8ca354e50d9fe326973f1df
|
||||
EBUILD nss-3.51.ebuild 9012 BLAKE2B 98fdf4b639a05d87fe2989663757c9d47141bd6e651aa9990bb799586c48e58441ce36f17aa22e3df9fe79f9f4874fe799f6b8c426066d0e5018f02c5134aa90 SHA512 b513b861e4ba69947fd0438b20c9f3ab9318109dff6114167c708d7c494282ef5f217c33303a29607e48b816496d047914f687110e5ede77fe7c1091f581aca9
|
||||
MISC metadata.xml 571 BLAKE2B 8c1d2f92910d9170240f17b28ac806d3c083fce45637526d0846ddcf0e957483fc458a4de14f239c433990f91a8996ea0be51f445a54a1a1f6a14c1f711654a3 SHA512 f6a7de1614f3bdbdea2d5ae627d82519c59e3703f293daefd9dc4692f84c3f0bc3000654b6a4fe595de95b433e698aaf1d3358897e22da283eb63b74a48d95b0
|
||||
MISC metadata.xml 515 BLAKE2B a63fb05a1a3e1b06f929f963ab0794ec1230e89903fc97a7c7db81a0b3c7b7e8b9277eaa7440f8929738ec0f805d8a8dd51c8262e569fb9be2fa0938b08ad7a2 SHA512 6bec952825416ba0ab8282669483eb75935f6b4a3052e0f78dad911c0246b8d8ce245c86cbd82b292d49338848fa50fb2009fb4a9def1ac8d81bf9a3320cd2b0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue