parent
9a76def356
commit
1e7bfd98eb
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST kontrast-21.12.3.tar.xz 125760 BLAKE2B b72d78961d22fc0eb51c0a64f9a7381ef9e87709d9fc24a08c3b08c60ad8102eadbc97943e72b1153f950654f442f97190d1e34c3beb24f4f8ea070f923dba55 SHA512 36d084f0801d393a0d7bdd771d23163a192e6d0e50f6499b9080e3928f5f3982dcee81c3e3453f8de2ece721c508479928fdff4a971cfef945acadd917e19581
|
||||
DIST kontrast-22.04.1.tar.xz 125840 BLAKE2B 262ce500121a5d825fa30a241e5754c5f08638793ca07bff76e905a3bdade5de15e73b152fbab080768990c9879891a12fe6828b8c0eb1ee4b9e5523b830113c SHA512 ceaae7d2d183e9586ffa5088bfee80a292a0b61e5d53fe964c67bf421b461ad2875513f5e39a22b18b142d48ecff66fc3f7b145b9958cb6d2676c3a5537e65e7
|
||||
DIST kontrast-22.04.2.tar.xz 125844 BLAKE2B e9141894a70489caacc86fdcdc54f7815147871f4ce0c8e90d32b20ca1eac226e1f1b841cf8959e14e2ba5ad681f0b29c81dae72b97b4a10e35e79e63e8a52f2 SHA512 24e814e5b1921deda42df44381c750cbbe1e83e2fe32397e76a0d6d7aeaa2615b92981f5eb357168519ec0cc45ac7b4e0bfd77380dc92c775b5f4845c1f52d3a
|
||||
|
Binary file not shown.
@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -0,0 +1,270 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pam libtool tmpfiles toolchain-funcs
|
||||
|
||||
MY_P="${P/_/}"
|
||||
MY_P="${MY_P/beta/b}"
|
||||
|
||||
DESCRIPTION="Allows users or groups to run commands as other users"
|
||||
HOMEPAGE="https://www.sudo.ws/"
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
inherit mercurial
|
||||
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
|
||||
else
|
||||
inherit verify-sig
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/sudo.ws.asc
|
||||
BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-sudo )"
|
||||
|
||||
uri_prefix=
|
||||
case ${P} in
|
||||
*_beta*|*_rc*) uri_prefix=beta/ ;;
|
||||
esac
|
||||
|
||||
SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz
|
||||
verify-sig? (
|
||||
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig
|
||||
)"
|
||||
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~sparc-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Basic license is ISC-style as-is, some files are released under
|
||||
# 3-clause BSD license
|
||||
LICENSE="ISC BSD"
|
||||
SLOT="0"
|
||||
IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib:=
|
||||
virtual/libcrypt:=
|
||||
gcrypt? ( dev-libs/libgcrypt:= )
|
||||
ldap? (
|
||||
>=net-nds/openldap-2.1.30-r1:=
|
||||
sasl? (
|
||||
dev-libs/cyrus-sasl
|
||||
net-nds/openldap:=[sasl]
|
||||
)
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
skey? ( >=sys-auth/skey-1.1.5-r1 )
|
||||
ssl? ( dev-libs/openssl:0= )
|
||||
sssd? ( sys-auth/sssd[sudo] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-misc/editor-wrapper-3
|
||||
virtual/editor
|
||||
ldap? ( dev-lang/perl )
|
||||
pam? ( sys-auth/pambase )
|
||||
selinux? ( sec-policy/selinux-sudo )
|
||||
sendmail? ( virtual/mta )
|
||||
"
|
||||
BDEPEND+="
|
||||
sys-devel/bison
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
?? ( pam skey )
|
||||
?? ( gcrypt ssl )
|
||||
"
|
||||
|
||||
MAKEOPTS+=" SAMPLES="
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
set_secure_path() {
|
||||
# first extract the default ROOTPATH from build env
|
||||
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
|
||||
echo "${ROOTPATH}")
|
||||
case "${SECURE_PATH}" in
|
||||
*/usr/sbin*) ;;
|
||||
*) SECURE_PATH=$(unset PATH;
|
||||
. "${EPREFIX}"/etc/profile.env; echo "${PATH}")
|
||||
;;
|
||||
esac
|
||||
if [[ -z ${SECURE_PATH} ]] ; then
|
||||
ewarn " Failed to detect SECURE_PATH, please report this"
|
||||
fi
|
||||
|
||||
# then remove duplicate path entries
|
||||
cleanpath() {
|
||||
local newpath thisp IFS=:
|
||||
for thisp in $1 ; do
|
||||
if [[ :${newpath}: != *:${thisp}:* ]] ; then
|
||||
newpath+=:${thisp}
|
||||
else
|
||||
einfo " Duplicate entry ${thisp} removed..."
|
||||
fi
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
|
||||
|
||||
# finally, strip gcc paths #136027
|
||||
rmpath() {
|
||||
local e newpath thisp IFS=:
|
||||
for thisp in ${SECURE_PATH} ; do
|
||||
for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
|
||||
newpath+=:${thisp}
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local SECURE_PATH
|
||||
set_secure_path
|
||||
tc-export PKG_CONFIG #767712
|
||||
|
||||
# audit: somebody got to explain me how I can test this before I
|
||||
# enable it.. - Diego
|
||||
# plugindir: autoconf code is crappy and does not delay evaluation
|
||||
# until `make` time, so we have to use a full path here rather than
|
||||
# basing off other values.
|
||||
myeconfargs=(
|
||||
# We set all of the relevant options by ourselves (patched
|
||||
# into the toolchain) and setting these in the build system
|
||||
# actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3
|
||||
# (it'll downgrade to =2). So, this has no functional effect on
|
||||
# the hardening for users. It's safe.
|
||||
--disable-hardening
|
||||
|
||||
# requires some python eclass
|
||||
--disable-python
|
||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
||||
--enable-zlib=system
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
--with-env-editor
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
||||
--with-rundir="${EPREFIX}"/run/sudo
|
||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
||||
--without-linux-audit
|
||||
--without-opie
|
||||
$(use_enable gcrypt)
|
||||
$(use_enable nls)
|
||||
$(use_enable sasl)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with ldap)
|
||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
||||
$(use_with offensive insults)
|
||||
$(use_with offensive all-insults)
|
||||
$(use_with pam)
|
||||
$(use_with pam pam-login)
|
||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
||||
$(use_with selinux)
|
||||
$(use_with sendmail)
|
||||
$(use_with skey)
|
||||
$(use_with sssd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use ldap ; then
|
||||
dodoc README.LDAP.md
|
||||
|
||||
cat <<-EOF > "${T}"/ldap.conf.sudo
|
||||
# See ldap.conf(5) and README.LDAP.md for details
|
||||
# This file should only be readable by root
|
||||
|
||||
# supported directives: host, port, ssl, ldap_version
|
||||
# uri, binddn, bindpw, sudoers_base, sudoers_debug
|
||||
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
|
||||
EOF
|
||||
|
||||
if use sasl ; then
|
||||
cat <<-EOF >> "${T}"/ldap.conf.sudo
|
||||
|
||||
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
|
||||
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
|
||||
EOF
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins "${T}"/ldap.conf.sudo
|
||||
fperms 0440 /etc/ldap.conf.sudo
|
||||
|
||||
insinto /etc/openldap/schema
|
||||
newins docs/schema.OpenLDAP sudo.schema
|
||||
fi
|
||||
|
||||
if use pam; then
|
||||
pamd_mimic system-auth sudo auth account session
|
||||
pamd_mimic system-auth sudo-i auth account session
|
||||
fi
|
||||
|
||||
keepdir /var/db/sudo/lectured
|
||||
fperms 0700 /var/db/sudo/lectured
|
||||
fperms 0711 /var/db/sudo #652958
|
||||
|
||||
# Don't install into /run as that is a tmpfs most of the time
|
||||
# (bug #504854)
|
||||
rm -rf "${ED}"/run || die
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die #697812
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process sudo.conf
|
||||
|
||||
#652958
|
||||
local sudo_db="${EROOT}/var/db/sudo"
|
||||
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
|
||||
chmod 711 "${sudo_db}" || die
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
ewarn
|
||||
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
|
||||
ewarn
|
||||
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
|
||||
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
|
||||
ewarn "configured in /etc/nsswitch.conf."
|
||||
ewarn
|
||||
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
|
||||
ewarn " sudoers: ldap files"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
if use prefix ; then
|
||||
ewarn
|
||||
ewarn "To use sudo, you need to change file ownership and permissions"
|
||||
ewarn "with root privileges, as follows:"
|
||||
ewarn
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
|
||||
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
|
||||
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "To use the -A (askpass) option, you need to install a compatible"
|
||||
elog "password program from the following list. Starred packages will"
|
||||
elog "automatically register for the use with sudo (but will not force"
|
||||
elog "the -A option):"
|
||||
elog ""
|
||||
elog " [*] net-misc/ssh-askpass-fullscreen"
|
||||
elog " net-misc/x11-ssh-askpass"
|
||||
elog ""
|
||||
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
|
||||
elog "variable to the program you want to use."
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,25 @@
|
||||
--- a/core/CMakeLists.txt
|
||||
+++ b/core/CMakeLists.txt
|
||||
@@ -44,12 +44,6 @@ set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME common)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
-find_program(CCACHE_FOUND ccache)
|
||||
-if(CCACHE_FOUND)
|
||||
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||
- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
||||
-endif(CCACHE_FOUND)
|
||||
-
|
||||
# switch on CXX 17 Support
|
||||
#
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
@@ -584,9 +578,6 @@ message(STATUS "CMAKE_SUPPRESS_REGENERATION: " ${CMAKE_SUPPRESS_REGENERATION})
|
||||
# A simple way to get switches to the compiler is to use ADD_DEFINITIONS(). But
|
||||
# there are also two variables exactly for this purpose:
|
||||
|
||||
-# wheter or not
|
||||
-message(STATUS "CCACHE_FOUND: " ${CCACHE_FOUND})
|
||||
-
|
||||
# Choose the type of build. Example: SET(CMAKE_BUILD_TYPE Debug)
|
||||
message(STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE})
|
||||
|
@ -0,0 +1,23 @@
|
||||
https://bugs.gentoo.org/841734
|
||||
--- a/core/CMakeLists.txt
|
||||
+++ b/core/CMakeLists.txt
|
||||
@@ -96,7 +96,7 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
-Werror=format-security compiler_error_format_security
|
||||
)
|
||||
if(${compiler_error_format_security})
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=format-security")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-security")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -353,8 +353,8 @@ if(developer)
|
||||
add_definitions("-DDEVELOPER=1")
|
||||
endif()
|
||||
|
||||
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wall")
|
||||
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall")
|
||||
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||
|
||||
include(BareosSetVariableDefaults)
|
||||
option(ENABLE_BCONSOLE "Build bconsole binary" ON)
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST dolphin-plugins-21.12.3.tar.xz 254696 BLAKE2B e669a8acbf8b5559a602dd3ae646e2384b89a672bb0ed42d2f094b75a1eaefd6994644daaa70d17f9baba8ea491cef632090050b93e0f5e0b50f203a6166338e SHA512 3dad72b6e0283a8c825aded82e9d15bc5e03303bbfc6dd8f1e6af2cb3892ec9b04a3c97f01246e20abe6d86e5a91fa1c4f8fff48ed24186a3780009a78298d23
|
||||
DIST dolphin-plugins-22.04.1.tar.xz 256196 BLAKE2B ae55ea9210f6a8b2ca33c6542af5cdc33b129b611ea3b7b20e98d96af9af99db954ec7560dae83a78be6857ca7c051d6a80d2e4201e5179d2918d98d82706a30 SHA512 0833311429857a6aeccb19736ac2d49e8b4e0e9f9d393b2835b33f8f17032382d07fbcf61dd03d37dccebcaea1b3a542c5478f24dd47b52749bd1259461caa2f
|
||||
DIST dolphin-plugins-22.04.2.tar.xz 256540 BLAKE2B 97ac9f10e6085705397faacf82dd5787e1f346f9d44e6e310899c6b8c73df103f84c42f55e3a34a844fd29f6539298da71bd96b2d82c5c2fbff56402c079a0b2 SHA512 ec9ede9729194aeeaaefe2d83b219e1b2ee1b9eb8a7b64623bc08d58952adc906469f78d785add05d176461e6104fa806771b74497b8bc3f53c3822b8dedec94
|
||||
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST certbot-1.26.0.tar.gz 1364070 BLAKE2B f9b13df8fb424e579293280202b71756c37a3ec7f986da38a5fd318d00ab7e2ed89223c62a20448ad30271783bb3c44db11a0ce4afebced9f1e9ca4e4c6de3f2 SHA512 bd27cb0a0ef6fc143a3d0dcf5d530d336b93a24d7010e6427c25614befb815f33076b4a3043bb247cafdfad17b8714a19ead43257c64f4fd72ac99f02cb07cde
|
||||
DIST certbot-1.27.0.tar.gz 1366469 BLAKE2B e9ec47520e027a9d348e861ea7d070eff4857301be0d42be6965e4159d85ef60866aa70de76edd5e68b0d40d9544075aa28e9aa07a8e04dfbf3e1a7dd77fd1de SHA512 5db7836ae2eda27c088476c149e736ce7f41b85d871cf563c69e021dd8af2d64ed85c1482049edf0dffe6fd0c9591d66be3e22fbf617068600e12691c4802e5e
|
||||
DIST certbot-1.28.0.tar.gz 1367671 BLAKE2B 01fda6c068217e32273b2c1ac97faa099f98da687d41796e1c98971ed6779ab4ff78e3309b7a6f82b9b0a891c5f00b5201bb3ce1bc879e5acbab3ccc4988ec31 SHA512 888f51dfcf4712b70ce7c99abfc52106384dcba2eef486db8b033bfcca3043bd0beaadce1c1e59f19c3a58b7fe454b2b64774de2e23f5d93579b3e1be1a7c08b
|
||||
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
S=${WORKDIR}/certbot-${PV}/acme
|
||||
fi
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-17.3.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
|
||||
distutils_enable_tests pytest
|
@ -1,2 +1,3 @@
|
||||
DIST certbot-1.26.0.tar.gz 1364070 BLAKE2B f9b13df8fb424e579293280202b71756c37a3ec7f986da38a5fd318d00ab7e2ed89223c62a20448ad30271783bb3c44db11a0ce4afebced9f1e9ca4e4c6de3f2 SHA512 bd27cb0a0ef6fc143a3d0dcf5d530d336b93a24d7010e6427c25614befb815f33076b4a3043bb247cafdfad17b8714a19ead43257c64f4fd72ac99f02cb07cde
|
||||
DIST certbot-1.27.0.tar.gz 1366469 BLAKE2B e9ec47520e027a9d348e861ea7d070eff4857301be0d42be6965e4159d85ef60866aa70de76edd5e68b0d40d9544075aa28e9aa07a8e04dfbf3e1a7dd77fd1de SHA512 5db7836ae2eda27c088476c149e736ce7f41b85d871cf563c69e021dd8af2d64ed85c1482049edf0dffe6fd0c9591d66be3e22fbf617068600e12691c4802e5e
|
||||
DIST certbot-1.28.0.tar.gz 1367671 BLAKE2B 01fda6c068217e32273b2c1ac97faa099f98da687d41796e1c98971ed6779ab4ff78e3309b7a6f82b9b0a891c5f00b5201bb3ce1bc879e5acbab3ccc4988ec31 SHA512 888f51dfcf4712b70ce7c99abfc52106384dcba2eef486db8b033bfcca3043bd0beaadce1c1e59f19c3a58b7fe454b2b64774de2e23f5d93579b3e1be1a7c08b
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
|
||||
dev-python/python-augeas[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -1,2 +1,3 @@
|
||||
DIST certbot-1.26.0.tar.gz 1364070 BLAKE2B f9b13df8fb424e579293280202b71756c37a3ec7f986da38a5fd318d00ab7e2ed89223c62a20448ad30271783bb3c44db11a0ce4afebced9f1e9ca4e4c6de3f2 SHA512 bd27cb0a0ef6fc143a3d0dcf5d530d336b93a24d7010e6427c25614befb815f33076b4a3043bb247cafdfad17b8714a19ead43257c64f4fd72ac99f02cb07cde
|
||||
DIST certbot-1.27.0.tar.gz 1366469 BLAKE2B e9ec47520e027a9d348e861ea7d070eff4857301be0d42be6965e4159d85ef60866aa70de76edd5e68b0d40d9544075aa28e9aa07a8e04dfbf3e1a7dd77fd1de SHA512 5db7836ae2eda27c088476c149e736ce7f41b85d871cf563c69e021dd8af2d64ed85c1482049edf0dffe6fd0c9591d66be3e22fbf617068600e12691c4802e5e
|
||||
DIST certbot-1.28.0.tar.gz 1367671 BLAKE2B 01fda6c068217e32273b2c1ac97faa099f98da687d41796e1c98971ed6779ab4ff78e3309b7a6f82b9b0a891c5f00b5201bb3ce1bc879e5acbab3ccc4988ec31 SHA512 888f51dfcf4712b70ce7c99abfc52106384dcba2eef486db8b033bfcca3043bd0beaadce1c1e59f19c3a58b7fe454b2b64774de2e23f5d93579b3e1be1a7c08b
|
||||
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
else
|
||||
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
|
||||
fi
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-17.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -1,2 +1,3 @@
|
||||
DIST certbot-1.26.0.tar.gz 1364070 BLAKE2B f9b13df8fb424e579293280202b71756c37a3ec7f986da38a5fd318d00ab7e2ed89223c62a20448ad30271783bb3c44db11a0ce4afebced9f1e9ca4e4c6de3f2 SHA512 bd27cb0a0ef6fc143a3d0dcf5d530d336b93a24d7010e6427c25614befb815f33076b4a3043bb247cafdfad17b8714a19ead43257c64f4fd72ac99f02cb07cde
|
||||
DIST certbot-1.27.0.tar.gz 1366469 BLAKE2B e9ec47520e027a9d348e861ea7d070eff4857301be0d42be6965e4159d85ef60866aa70de76edd5e68b0d40d9544075aa28e9aa07a8e04dfbf3e1a7dd77fd1de SHA512 5db7836ae2eda27c088476c149e736ce7f41b85d871cf563c69e021dd8af2d64ed85c1482049edf0dffe6fd0c9591d66be3e22fbf617068600e12691c4802e5e
|
||||
DIST certbot-1.28.0.tar.gz 1367671 BLAKE2B 01fda6c068217e32273b2c1ac97faa099f98da687d41796e1c98971ed6779ab4ff78e3309b7a6f82b9b0a891c5f00b5201bb3ce1bc879e5acbab3ccc4988ec31 SHA512 888f51dfcf4712b70ce7c99abfc52106384dcba2eef486db8b033bfcca3043bd0beaadce1c1e59f19c3a58b7fe454b2b64774de2e23f5d93579b3e1be1a7c08b
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
S=${WORKDIR}/${P}/${PN}
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
|
||||
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="selinux"
|
||||
|
||||
RDEPEND="
|
||||
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
|
||||
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/parsedatetime-2.4[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
|
||||
dev-python/zope-component[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]
|
||||
selinux? ( sec-policy/selinux-certbot )"
|
||||
|
||||
distutils_enable_tests pytest
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST kicad-doc-5.1.12.tar.bz2 74217615 BLAKE2B f0906fdb0cf697348e06b63ef0003630a9035d47732c9a22ed3c4fee2f21c02f85fda51eee5149291b72326adc4899b31198178ee6e6ac0d494361cec6c06208 SHA512 db678d91ea5f564ca3f266829c297362cfd6cf35a5dced2ede5e7c9c38a37ca1037b264ee9314fa5c4a9d8197fcd92484ad4cae3668ea9741947d38c7ac7f910
|
||||
DIST kicad-doc-6.0.4.tar.gz 78919464 BLAKE2B cd8d321c3ae854df4edf9346fb809be933e842c9fff1679a2ec195dbedaea1acb58857eee2dae52a8c94b2af082d911e664089b4df6a14dc839887c34dfb6fb4 SHA512 cc8934e6b765c325b1fabc616f0eee180f0d13386d0bd4d995910aa30e8111bf6c486cc26875bfd9316e07371b73e9b403b14efdc7b20ecdefabb47afe0e296d
|
||||
DIST kicad-doc-6.0.5.tar.gz 79736553 BLAKE2B cd06e5110e10da76d6640aed0ea44f68bdb14e5aca10c35b34a5b87f8a7a44faa67353216aced053123fcbe80a5159839e9a115761e599824bce31fb56c863fe SHA512 c53c488de171232de44c7e07c6078ef5da0c56d5fc377e127f8a2b7d134528c991467d40a150237425b0b5a1c082eaa1ab5f17c5a8fd62a3e37482c1de795aac
|
||||
|
Binary file not shown.
@ -1,12 +1,3 @@
|
||||
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
|
||||
DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
|
||||
DIST vim-8.2.3428.tar.gz 15715383 BLAKE2B 865842bae0de25c34f255085f6edfe35b6905e220bdcb76372d7289ef1f6c2b2dee2f88e4a5f849d43fa560db4ade1e8e498d86f5651c5218d9153cde5ecddd3 SHA512 7cb473afa0ad6a9728dfc2f7d8ca19a21de329c4790141c7cb815b71c07e92a1ce04a5fcc2a0381c4beb304670d6c08629dc2ed2cb0842998cca2fd846c8cd6b
|
||||
DIST vim-8.2.3567.tar.gz 15771981 BLAKE2B 5a10ce998769b73a9c3b30fccb84e90eef8242d04e52b1cf475af777233ac774a6e5ec8c2aa09cadfe2db747b485fcc26d1d953017df4bb459d8a427715a3048 SHA512 f1b5debc77d5392966d168974eab7faae99082509a8148ea212e8e06ae980d9a2652ac77547d77d10953119527f68c633440cf813bb6dec8e259b7628af93af6
|
||||
DIST vim-8.2.3582.tar.gz 15778667 BLAKE2B c8eaa95fa4fde6514168a9f42a712a78442a7fe504b59158e2e7717b8025a59cb4d8948451d72418b29f2b7cf3619cd765ef43e1304d73f81a6cba405f9706e7 SHA512 f476f24390807b71a0e02729f1815b3743b6b42cdd28a414e9ceaf0aa3fd4cab91e3550a669b1c64b4cd83207515cfe2b4acf2358a6def60e216e101c979037e
|
||||
DIST vim-8.2.3669.tar.gz 15810783 BLAKE2B edac6dabfbeb11057c7b15830b30ec555a10942494bc89d7d85b4c701b5ff8f7413887e4e33e7b812057177ffebd2cdc74e69e86080a86cfee529b1da45156bb SHA512 83d172f7e1a3c5a8ea6238f2766bf077463d32d429111c08e5b28b8aafb8aea584807023281abf3b1710d61820fec8d2b808b42b5c50058d5eb4eb917deb19ab
|
||||
DIST vim-8.2.3741.tar.gz 15812097 BLAKE2B 5cd90d4c86774a63a020ac8f245005e3f7df030c1334f989862b17b70d7859d751f79dcaf98eb5216c23df6ce63f3406cb5cb3c643f9e8170987f4f705a49833 SHA512 19ee7cc27642253ad989e6e32ab96faa46b5e1feebba00cadd018af2de186358d686cfa5efbc8e5da00a14ceb42c226acfc81cb11cd87f34ec7ca901c98df814
|
||||
DIST vim-8.2.3950.tar.gz 15865929 BLAKE2B e713895f847194845c1a794fc796e97678b11686f51f9a33898d92cf1d3927c6d49cd24024b6c5cbbad82b45ab8293f6d4663f14e66a56cc8b361a5fabdbb0b0 SHA512 d9176f74a1b753fb9118362350b3da16f176c7bc5cc57b41dab1f470c1e80830e4a6f4851d5a090d6efdb272186bd8f6a8a5e08e5da5ae0474560cb32dd626be
|
||||
DIST vim-8.2.4285.tar.gz 15962343 BLAKE2B ba0971cbea3d3fe1761961f66a24281c06f0a509f1aac7c32e26f07b5d9d122b72da68646874b1f20879372d26e1b5a72f020913a31c1c0aa26f8e6bff074516 SHA512 760180b89c285b92f3ec40041c784e756a93d7c6d75386c1c737762b9041babfaa17fd0b9e47e3e4298b24b8f5c7300e6a1ab2addbbcda94e46c973a97d578ec
|
||||
DIST vim-8.2.4328.tar.gz 15983756 BLAKE2B 23d95d2ae6772fbd2a15a73dff5af75dcebf87af5a6a600d8a30284d32d1f83999111bfaa0e49c0295ae42a06f49075aeb00f8ae969eff251889b363b7445fda SHA512 f5e077891d22f468327e30808dba817efe74111c89948fbea5544be58333a8d3342290fa140939dd9c7d976575e63050e100daf947ba73373cc2268677020651
|
||||
DIST vim-8.2.4586.tar.gz 16251186 BLAKE2B 26471b493397e58d3e3d6f2c0c5cc69a08c294dcd59367a12729d1762cf2043eab0987ec4c370bd1f4cbbc67d10576f8a6dcfcb748d224b2f35476dbade32597 SHA512 354464e51a3cc13e13f3194ef8a4d5ccec978da7eb385337a042a6b2e6b38a253c587815e7c972070c516f59c7d54c89bce6926ae7f7f9635cddfd1d0bd237b9
|
||||
DIST vim-8.2.5066.tar.gz 16497942 BLAKE2B 613f009f6a03e28305763e471bf55b626f37bb8b0f01324d5a676f6682811e3c4a5c11442af839d06b7d94b3938f5a30306bac576eec5d3c76f4a135a3443bb3 SHA512 27fdd1e86b0488b974a9fd60523b31ba23b581cab4c9bd15aee9ae459e2f2d028d6887adf621ee88244b74d26697fc953b08b587a3a80b316d31b65fc588ce9e
|
||||
|
@ -1,378 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="vim"
|
||||
IUSE="acl aqua cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="lua? ( ${LUA_DEPS} )"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
S=${WORKDIR}/vim-${PV}
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,380 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="vim"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="lua? ( ${LUA_DEPS} )"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
S=${WORKDIR}/vim-${PV}
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix lua-single python-single-r1 ruby-single
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="GUI version of the Vim text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="acl aqua crypt cscope debug gtk gtk2 lua motif neXt netbeans nls perl python racket ruby selinux session sound tcl"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vim-core-${PV}
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
x11-libs/libXt
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
!aqua? (
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk? (
|
||||
gtk2? (
|
||||
>=x11-libs/gtk+-2.6:2
|
||||
x11-libs/libXft
|
||||
)
|
||||
!gtk2? (
|
||||
motif? ( >=x11-libs/motif-2.3:0 )
|
||||
!motif? (
|
||||
neXt? ( x11-libs/neXtaw )
|
||||
!neXt? ( x11-libs/libXaw )
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
lua? (
|
||||
${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
nls? ( virtual/libintl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
session? ( x11-libs/libSM )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
virtual/pkgconfig
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
# various failures (bugs #630042 and #682320)
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i -e \
|
||||
's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm -v src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
local file
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e ${file} ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
--disable-gpm
|
||||
--with-gnome=no
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable netbeans)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable session xsmp)
|
||||
$(use_enable tcl tclinterp)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# gvim's GUI preference order is as follows:
|
||||
# aqua CARBON (not tested)
|
||||
# -aqua gtk GTK3
|
||||
# -aqua -gtk gtk2 GTK2
|
||||
# -aqua -gtk -gtk motif MOTIF
|
||||
# -aqua -gtk -gtk -motif neXt NEXTAW
|
||||
# -aqua -gtk -gtk -motif -neXt ATHENA
|
||||
echo ; echo
|
||||
if use aqua; then
|
||||
einfo "Building gvim with the Carbon GUI"
|
||||
myconf+=(
|
||||
--enable-darwin
|
||||
--enable-gui=carbon
|
||||
)
|
||||
elif use gtk; then
|
||||
myconf+=( --enable-gtk3-check )
|
||||
einfo "Building gvim with the gtk+-3 GUI"
|
||||
myconf+=( --enable-gui=gtk3 )
|
||||
elif use gtk2; then
|
||||
myconf+=( --enable-gtk2-check )
|
||||
einfo "Building gvim with the gtk+-2 GUI"
|
||||
myconf+=( --enable-gui=gtk2 )
|
||||
elif use motif; then
|
||||
einfo "Building gvim with the MOTIF GUI"
|
||||
myconf+=( --enable-gui=motif )
|
||||
elif use neXt; then
|
||||
einfo "Building gvim with the neXtaw GUI"
|
||||
myconf+=( --enable-gui=nextaw )
|
||||
else
|
||||
einfo "Building gvim with the Athena GUI"
|
||||
myconf+=( --enable-gui=athena )
|
||||
fi
|
||||
echo ; echo
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
# avoid finding of this function, to avoid having to patch either
|
||||
# configure or the source, which would be much more hackish.
|
||||
# after all vim does it right, only interix is badly broken (again)
|
||||
export ac_cv_func_sigaction=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--with-vim-name=gvim \
|
||||
--with-x \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Make gvim not try to connect to X. See :help gui-x11-start in vim for how
|
||||
# this evil trickery works.
|
||||
ln -s "${S}"/src/gvim "${S}"/src/testvim || die
|
||||
|
||||
# Make sure our VIMPROG is used.
|
||||
sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
|
||||
|
||||
# Don't do additional GUI tests.
|
||||
emake -j1 VIMPROG=../testvim -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
einfo "Calling eselect vi update..."
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dobin src/gvim
|
||||
dosym gvim /usr/bin/gvimdiff
|
||||
dosym gvim /usr/bin/evim
|
||||
dosym gvim /usr/bin/eview
|
||||
dosym gvim /usr/bin/gview
|
||||
dosym gvim /usr/bin/rgvim
|
||||
dosym gvim /usr/bin/rgview
|
||||
|
||||
emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
|
||||
|
||||
dodir /usr/share/man/man1
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
|
||||
echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
|
||||
echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
|
||||
die "echo failed"
|
||||
|
||||
insinto /etc/vim
|
||||
newins "${FILESDIR}"/gvimrc-r1 gvimrc
|
||||
eprefixify "${ED}"/etc/vim/gvimrc
|
||||
|
||||
# bash completion script, bug #79018.
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# don't install vim desktop file
|
||||
rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update fdo mime stuff, bug #78394
|
||||
xdg_desktop_database_update
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
|
||||
# call eselect vi update
|
||||
eselect_vi_update
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST okteta-0.26.7.tar.xz 983388 BLAKE2B abe5abb678c0cae7538ac5bdf68b3e9285c405996194e03dcb3f74c397124805496a67ee1b9b2d8c2676dc3fca7d743a012898056aef82f5f1a1e998ee36ef60 SHA512 829294e0ed8b01be940b215334d9291bba1af01fded05511be33a813e9d090bc06f0af90dfb49d45d44814ae38de7c9cb6427215ea076b8401a66734aa42ea25
|
||||
DIST okteta-0.26.8.tar.xz 980328 BLAKE2B f8cdc9246c24c922f3f5b7dd659d3d00c3db58682a7d00d4b5f19d84ec1b376d5a72b0ab548698f44bd34018897bc7aec30874a8bbdf37c1ee9832737519a51b SHA512 1e6cd6c0386573b13cc107ec735dc9319860cbb458b8fe72773a50005b3327cd0257b5d9fc5b3bee1cdaddc12accb9106b2ce566fdbbc1f698617a4ff4b5c5f6
|
||||
DIST okteta-0.26.9.tar.xz 990484 BLAKE2B 97430ed8a5c8dda422dfd43a91c04fe778581caf475c74b324a26d772777030d73ed799dafa6662b225258ae76c1c37bd38c7d3c97d89d28928106d10f84308a SHA512 cc98f7923a26de9548944ebc207284879607707f41065c847707ac5876c04d31926bb4edf82062cd4d6ade2df64d7a2363d8dfa711524574514ca0dd260b4a9f
|
||||
|
@ -0,0 +1,69 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_DESIGNERPLUGIN="true"
|
||||
ECM_HANDBOOK="forceoptional"
|
||||
ECM_TEST="true"
|
||||
KFMIN=5.82.0
|
||||
QTMIN=5.15.2
|
||||
VIRTUALX_REQUIRED="test"
|
||||
inherit ecm kde.org
|
||||
|
||||
DESCRIPTION="Hex editor by KDE"
|
||||
HOMEPAGE="https://apps.kde.org/okteta/ https://utils.kde.org/projects/okteta/"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} = release ]]; then
|
||||
SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2 handbook? ( FDL-1.2 )"
|
||||
SLOT="5"
|
||||
IUSE="crypt"
|
||||
|
||||
DEPEND="
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtnetwork-${QTMIN}:5
|
||||
>=dev-qt/qtprintsupport-${QTMIN}:5
|
||||
>=dev-qt/qtscript-${QTMIN}:5[scripttools]
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
>=dev-qt/qtxml-${QTMIN}:5
|
||||
>=kde-frameworks/kbookmarks-${KFMIN}:5
|
||||
>=kde-frameworks/kcmutils-${KFMIN}:5
|
||||
>=kde-frameworks/kcodecs-${KFMIN}:5
|
||||
>=kde-frameworks/kcompletion-${KFMIN}:5
|
||||
>=kde-frameworks/kconfig-${KFMIN}:5
|
||||
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kcrash-${KFMIN}:5
|
||||
>=kde-frameworks/kdbusaddons-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
>=kde-frameworks/kiconthemes-${KFMIN}:5
|
||||
>=kde-frameworks/kio-${KFMIN}:5
|
||||
>=kde-frameworks/kjobwidgets-${KFMIN}:5
|
||||
>=kde-frameworks/knewstuff-${KFMIN}:5
|
||||
>=kde-frameworks/kparts-${KFMIN}:5
|
||||
>=kde-frameworks/kservice-${KFMIN}:5
|
||||
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kxmlgui-${KFMIN}:5
|
||||
crypt? ( >=app-crypt/qca-2.3.0:2 )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DOMIT_EXAMPLES=ON
|
||||
$(cmake_use_find_package crypt Qca-qt5)
|
||||
)
|
||||
|
||||
ecm_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local myctestargs=( -j1 )
|
||||
|
||||
ecm_src_test
|
||||
}
|
@ -1,12 +1,4 @@
|
||||
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
|
||||
DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
|
||||
DIST vim-8.2.3428.tar.gz 15715383 BLAKE2B 865842bae0de25c34f255085f6edfe35b6905e220bdcb76372d7289ef1f6c2b2dee2f88e4a5f849d43fa560db4ade1e8e498d86f5651c5218d9153cde5ecddd3 SHA512 7cb473afa0ad6a9728dfc2f7d8ca19a21de329c4790141c7cb815b71c07e92a1ce04a5fcc2a0381c4beb304670d6c08629dc2ed2cb0842998cca2fd846c8cd6b
|
||||
DIST vim-8.2.3567.tar.gz 15771981 BLAKE2B 5a10ce998769b73a9c3b30fccb84e90eef8242d04e52b1cf475af777233ac774a6e5ec8c2aa09cadfe2db747b485fcc26d1d953017df4bb459d8a427715a3048 SHA512 f1b5debc77d5392966d168974eab7faae99082509a8148ea212e8e06ae980d9a2652ac77547d77d10953119527f68c633440cf813bb6dec8e259b7628af93af6
|
||||
DIST vim-8.2.3582.tar.gz 15778667 BLAKE2B c8eaa95fa4fde6514168a9f42a712a78442a7fe504b59158e2e7717b8025a59cb4d8948451d72418b29f2b7cf3619cd765ef43e1304d73f81a6cba405f9706e7 SHA512 f476f24390807b71a0e02729f1815b3743b6b42cdd28a414e9ceaf0aa3fd4cab91e3550a669b1c64b4cd83207515cfe2b4acf2358a6def60e216e101c979037e
|
||||
DIST vim-8.2.3669.tar.gz 15810783 BLAKE2B edac6dabfbeb11057c7b15830b30ec555a10942494bc89d7d85b4c701b5ff8f7413887e4e33e7b812057177ffebd2cdc74e69e86080a86cfee529b1da45156bb SHA512 83d172f7e1a3c5a8ea6238f2766bf077463d32d429111c08e5b28b8aafb8aea584807023281abf3b1710d61820fec8d2b808b42b5c50058d5eb4eb917deb19ab
|
||||
DIST vim-8.2.3741.tar.gz 15812097 BLAKE2B 5cd90d4c86774a63a020ac8f245005e3f7df030c1334f989862b17b70d7859d751f79dcaf98eb5216c23df6ce63f3406cb5cb3c643f9e8170987f4f705a49833 SHA512 19ee7cc27642253ad989e6e32ab96faa46b5e1feebba00cadd018af2de186358d686cfa5efbc8e5da00a14ceb42c226acfc81cb11cd87f34ec7ca901c98df814
|
||||
DIST vim-8.2.3950.tar.gz 15865929 BLAKE2B e713895f847194845c1a794fc796e97678b11686f51f9a33898d92cf1d3927c6d49cd24024b6c5cbbad82b45ab8293f6d4663f14e66a56cc8b361a5fabdbb0b0 SHA512 d9176f74a1b753fb9118362350b3da16f176c7bc5cc57b41dab1f470c1e80830e4a6f4851d5a090d6efdb272186bd8f6a8a5e08e5da5ae0474560cb32dd626be
|
||||
DIST vim-8.2.4285.tar.gz 15962343 BLAKE2B ba0971cbea3d3fe1761961f66a24281c06f0a509f1aac7c32e26f07b5d9d122b72da68646874b1f20879372d26e1b5a72f020913a31c1c0aa26f8e6bff074516 SHA512 760180b89c285b92f3ec40041c784e756a93d7c6d75386c1c737762b9041babfaa17fd0b9e47e3e4298b24b8f5c7300e6a1ab2addbbcda94e46c973a97d578ec
|
||||
DIST vim-8.2.4328.tar.gz 15983756 BLAKE2B 23d95d2ae6772fbd2a15a73dff5af75dcebf87af5a6a600d8a30284d32d1f83999111bfaa0e49c0295ae42a06f49075aeb00f8ae969eff251889b363b7445fda SHA512 f5e077891d22f468327e30808dba817efe74111c89948fbea5544be58333a8d3342290fa140939dd9c7d976575e63050e100daf947ba73373cc2268677020651
|
||||
DIST vim-8.2.4586.tar.gz 16251186 BLAKE2B 26471b493397e58d3e3d6f2c0c5cc69a08c294dcd59367a12729d1762cf2043eab0987ec4c370bd1f4cbbc67d10576f8a6dcfcb748d224b2f35476dbade32597 SHA512 354464e51a3cc13e13f3194ef8a4d5ccec978da7eb385337a042a6b2e6b38a253c587815e7c972070c516f59c7d54c89bce6926ae7f7f9635cddfd1d0bd237b9
|
||||
DIST vim-8.2.5066.tar.gz 16497942 BLAKE2B 613f009f6a03e28305763e471bf55b626f37bb8b0f01324d5a676f6682811e3c4a5c11442af839d06b7d94b3938f5a30306bac576eec5d3c76f4a135a3443bb3 SHA512 27fdd1e86b0488b974a9fd60523b31ba23b581cab4c9bd15aee9ae459e2f2d028d6887adf621ee88244b74d26697fc953b08b587a3a80b316d31b65fc588ce9e
|
||||
|
@ -1,235 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="vim"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
DEPEND="sys-devel/autoconf"
|
||||
# avoid icon file collision bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
S=${WORKDIR}/vim-${PV}
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
inherit estack vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}"/vim-${PV}
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
# Avoid icon file collision, bug #673880
|
||||
RDEPEND="!!<app-editors/gvim-8.1.0648"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir -p failed"
|
||||
export HOME="${T}"/home
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=" --without-local-dir"
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
--enable-gui=no \
|
||||
--without-x \
|
||||
--disable-darwin \
|
||||
--disable-perlinterp \
|
||||
--disable-pythoninterp \
|
||||
--disable-rubyinterp \
|
||||
--disable-gpm \
|
||||
--disable-selinux \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r5 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
eshopts_push -s extglob
|
||||
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die "rm failed"
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die "rm failed"
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die "rm failed"
|
||||
|
||||
local keep_colors="default"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim )
|
||||
|
||||
local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig"
|
||||
# tinkering with the next line might make bad things happen ...
|
||||
keep_syntax="${keep_syntax}|syntax|nosyntax|synload"
|
||||
ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim )
|
||||
|
||||
# Delete skip_defaults_vim config not supported by vim[minimal]
|
||||
sed -i '/skip_defaults_vim/d' "${ED}"/etc/vim/vimrc || die "sed failed"
|
||||
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
# Delete defaults.vim to avoid conflicts with one from vim.
|
||||
# If defaults.vim already exists in files installed from vim,
|
||||
# do not install defaults.vim.
|
||||
if [[ -f "${vimfiles}/defaults.vim" ]]; then
|
||||
rm -v "${ED}${vimfiles}"/defaults.vim || die "rm failed"
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,12 +1,4 @@
|
||||
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
|
||||
DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
|
||||
DIST vim-8.2.3428.tar.gz 15715383 BLAKE2B 865842bae0de25c34f255085f6edfe35b6905e220bdcb76372d7289ef1f6c2b2dee2f88e4a5f849d43fa560db4ade1e8e498d86f5651c5218d9153cde5ecddd3 SHA512 7cb473afa0ad6a9728dfc2f7d8ca19a21de329c4790141c7cb815b71c07e92a1ce04a5fcc2a0381c4beb304670d6c08629dc2ed2cb0842998cca2fd846c8cd6b
|
||||
DIST vim-8.2.3567.tar.gz 15771981 BLAKE2B 5a10ce998769b73a9c3b30fccb84e90eef8242d04e52b1cf475af777233ac774a6e5ec8c2aa09cadfe2db747b485fcc26d1d953017df4bb459d8a427715a3048 SHA512 f1b5debc77d5392966d168974eab7faae99082509a8148ea212e8e06ae980d9a2652ac77547d77d10953119527f68c633440cf813bb6dec8e259b7628af93af6
|
||||
DIST vim-8.2.3582.tar.gz 15778667 BLAKE2B c8eaa95fa4fde6514168a9f42a712a78442a7fe504b59158e2e7717b8025a59cb4d8948451d72418b29f2b7cf3619cd765ef43e1304d73f81a6cba405f9706e7 SHA512 f476f24390807b71a0e02729f1815b3743b6b42cdd28a414e9ceaf0aa3fd4cab91e3550a669b1c64b4cd83207515cfe2b4acf2358a6def60e216e101c979037e
|
||||
DIST vim-8.2.3669.tar.gz 15810783 BLAKE2B edac6dabfbeb11057c7b15830b30ec555a10942494bc89d7d85b4c701b5ff8f7413887e4e33e7b812057177ffebd2cdc74e69e86080a86cfee529b1da45156bb SHA512 83d172f7e1a3c5a8ea6238f2766bf077463d32d429111c08e5b28b8aafb8aea584807023281abf3b1710d61820fec8d2b808b42b5c50058d5eb4eb917deb19ab
|
||||
DIST vim-8.2.3741.tar.gz 15812097 BLAKE2B 5cd90d4c86774a63a020ac8f245005e3f7df030c1334f989862b17b70d7859d751f79dcaf98eb5216c23df6ce63f3406cb5cb3c643f9e8170987f4f705a49833 SHA512 19ee7cc27642253ad989e6e32ab96faa46b5e1feebba00cadd018af2de186358d686cfa5efbc8e5da00a14ceb42c226acfc81cb11cd87f34ec7ca901c98df814
|
||||
DIST vim-8.2.3950.tar.gz 15865929 BLAKE2B e713895f847194845c1a794fc796e97678b11686f51f9a33898d92cf1d3927c6d49cd24024b6c5cbbad82b45ab8293f6d4663f14e66a56cc8b361a5fabdbb0b0 SHA512 d9176f74a1b753fb9118362350b3da16f176c7bc5cc57b41dab1f470c1e80830e4a6f4851d5a090d6efdb272186bd8f6a8a5e08e5da5ae0474560cb32dd626be
|
||||
DIST vim-8.2.4285.tar.gz 15962343 BLAKE2B ba0971cbea3d3fe1761961f66a24281c06f0a509f1aac7c32e26f07b5d9d122b72da68646874b1f20879372d26e1b5a72f020913a31c1c0aa26f8e6bff074516 SHA512 760180b89c285b92f3ec40041c784e756a93d7c6d75386c1c737762b9041babfaa17fd0b9e47e3e4298b24b8f5c7300e6a1ab2addbbcda94e46c973a97d578ec
|
||||
DIST vim-8.2.4328.tar.gz 15983756 BLAKE2B 23d95d2ae6772fbd2a15a73dff5af75dcebf87af5a6a600d8a30284d32d1f83999111bfaa0e49c0295ae42a06f49075aeb00f8ae969eff251889b363b7445fda SHA512 f5e077891d22f468327e30808dba817efe74111c89948fbea5544be58333a8d3342290fa140939dd9c7d976575e63050e100daf947ba73373cc2268677020651
|
||||
DIST vim-8.2.4586.tar.gz 16251186 BLAKE2B 26471b493397e58d3e3d6f2c0c5cc69a08c294dcd59367a12729d1762cf2043eab0987ec4c370bd1f4cbbc67d10576f8a6dcfcb748d224b2f35476dbade32597 SHA512 354464e51a3cc13e13f3194ef8a4d5ccec978da7eb385337a042a6b2e6b38a253c587815e7c972070c516f59c7d54c89bce6926ae7f7f9635cddfd1d0bd237b9
|
||||
DIST vim-8.2.5066.tar.gz 16497942 BLAKE2B 613f009f6a03e28305763e471bf55b626f37bb8b0f01324d5a676f6682811e3c4a5c11442af839d06b7d94b3938f5a30306bac576eec5d3c76f4a135a3443bb3 SHA512 27fdd1e86b0488b974a9fd60523b31ba23b581cab4c9bd15aee9ae459e2f2d028d6887adf621ee88244b74d26697fc953b08b587a3a80b316d31b65fc588ce9e
|
||||
|
@ -1,343 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="vim"
|
||||
IUSE="X acl cscope debug gpm lua ipv6 minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
sys-devel/autoconf
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="lua? ( ${LUA_DEPS} )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use ipv6; then
|
||||
myconf+=(
|
||||
vim_cv_ipv6_networking=no
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,355 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="vim"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
sys-devel/autoconf
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="lua? ( ${LUA_DEPS} )"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug 82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug 29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug 43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug 37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite $file
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug 187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,357 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,357 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,357 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,357 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,357 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,357 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="8.2"
|
||||
LUA_COMPAT=( lua5-1 luajit )
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://dev.gentoo.org/~zlogene/distfiles/app-editors/vim/vim-8.2.0360-gentoo-patches.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
!minimal? ( ~app-editors/vim-core-${PV} )
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# Gnome sandbox silliness. bug #114475.
|
||||
mkdir -p "${T}"/home || die "mkdir failed"
|
||||
export HOME="${T}"/home
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/patches/
|
||||
fi
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=()
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
econf \
|
||||
--with-modified-by=Gentoo-${PVR} \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
# Fix an issue of missing defaults.vim when USE=minimal.
|
||||
if use minimal ; then
|
||||
if [[ ! -f "${vimfiles}/defaults.vim" ]]; then
|
||||
insinto ${vimfiles}
|
||||
doins runtime/defaults.vim
|
||||
fi
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,93 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Disabled for now: bug #850628
|
||||
#DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1 udev
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
|
||||
else
|
||||
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
|
||||
KEYWORDS="amd64 arm64 ppc64 x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Cloud instance initialisation magic"
|
||||
HOMEPAGE="https://launchpad.net/cloud-init"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
CDEPEND="
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
dev-python/oauthlib[${PYTHON_USEDEP}]
|
||||
dev-python/pyserial[${PYTHON_USEDEP}]
|
||||
>=dev-python/configobj-5.0.2[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/jsonpatch[${PYTHON_USEDEP}]
|
||||
dev-python/jsonschema[${PYTHON_USEDEP}]
|
||||
dev-python/netifaces[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
${CDEPEND}
|
||||
test? (
|
||||
>=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
dev-python/responses[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
net-analyzer/macchanger
|
||||
sys-apps/iproute2
|
||||
sys-fs/growpart
|
||||
virtual/logger
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_prepare_all() {
|
||||
# Fix location of documentation installation
|
||||
sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
|
||||
fi
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install --init-system=sysvinit_openrc,systemd --distro gentoo
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
keepdir /etc/cloud
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
# installs as non-executable
|
||||
chmod +x "${D}"/etc/init.d/* || die
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
elog "cloud-init-local needs to be run in the boot runlevel because it"
|
||||
elog "modifies services in the default runlevel. When a runlevel is started"
|
||||
elog "it is cached, so modifications that happen to the current runlevel"
|
||||
elog "while you are in it are not acted upon."
|
||||
}
|
Binary file not shown.
@ -1,301 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_BSFIX_NAME="build.xml build-unix.xml"
|
||||
inherit autotools java-pkg-opt-2 java-ant-2
|
||||
|
||||
DESCRIPTION="A collection of file system and media management forensic analysis tools"
|
||||
HOMEPAGE="https://www.sleuthkit.org/sleuthkit/"
|
||||
# TODO: sqlite-jdbc does not exist in the tree, we bundle it for now
|
||||
# See: https://bugs.gentoo.org/690010
|
||||
# TODO: Upstream uses a very specific version of libewf which is not in
|
||||
# the tree anymore. So we statically compile and link to sleuthkit.
|
||||
# Hopefully upstream will figure something out in the future.
|
||||
# See: https://bugs.gentoo.org/689752
|
||||
# TODO: gson-2.8.5 does not exist in the tree. Building it seems to
|
||||
# require Java 9. We have Java 11 in the tree but I don't see a
|
||||
# way to use it as a gentoo-vm in order to build gson. Sleuthkit
|
||||
# upstream still uses Java 8.
|
||||
# See: https://bugs.gentoo.org/706274
|
||||
# TODO: commons-validator-1.6 does not exist in the tree. The latest version
|
||||
# as of writing this ebuild is 1.4.1, for which the build fails. As
|
||||
# per #711930, this is a security sensitive bump. We're gonna fetch
|
||||
# the jar file here and file a bug request for a bump as well:
|
||||
# https://bugs.gentoo.org/721020
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz
|
||||
java? (
|
||||
https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
|
||||
http://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.25.2/sqlite-jdbc-3.25.2.jar
|
||||
https://repo1.maven.org/maven2/commons-validator/commons-validator/1.6/commons-validator-1.6.jar
|
||||
)
|
||||
ewf? ( https://github.com/sleuthkit/libewf_64bit/archive/VisualStudio_2010.tar.gz -> sleuthkit-libewf_64bit-20130416.tar.gz )"
|
||||
|
||||
LICENSE="BSD CPL-1.0 GPL-2+ IBM java? ( Apache-2.0 )"
|
||||
SLOT="0/19" # subslot = major soname version
|
||||
KEYWORDS="amd64 ~hppa ppc x86"
|
||||
IUSE="aff doc ewf java static-libs test +threads zlib"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
dev-db/sqlite:3
|
||||
dev-lang/perl:*
|
||||
aff? ( app-forensics/afflib )
|
||||
ewf? ( sys-libs/zlib )
|
||||
java? (
|
||||
>=dev-java/c3p0-0.9.5:0
|
||||
dev-java/commons-lang:3.6
|
||||
dev-java/guava:20
|
||||
>=dev-java/jdbc-postgresql-9.4:0
|
||||
>=dev-java/joda-time-2.4:0
|
||||
dev-java/sparsebitset
|
||||
)
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
# TODO: add support for not-in-tree libraries libvhdi and libvmdk
|
||||
# libvhdi: https://github.com/libyal/libvhdi
|
||||
# libvmdk: https://github.com/libyal/libvmdk
|
||||
# DEPEND="${DEPEND}
|
||||
# vhdi? ( dev-libs/libvhdi )
|
||||
# vmdk? ( dev-libs/libvmdk )
|
||||
# "
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
java? ( virtual/jre:1.8 )
|
||||
"
|
||||
DEPEND="${DEPEND}
|
||||
java? ( virtual/jdk:1.8 )
|
||||
doc? ( app-doc/doxygen )
|
||||
test? ( >=dev-util/cppunit-1.2.1 )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.1.0-tools-shared-libs.patch
|
||||
"${FILESDIR}"/${PN}-4.6.4-default-jar-location-fix.patch
|
||||
"${FILESDIR}"/${PN}-4.10.1-exclude-usr-local.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
local f
|
||||
|
||||
unpack ${P}.tar.gz
|
||||
|
||||
if use ewf; then
|
||||
pushd "${T}" &>/dev/null || die
|
||||
unpack sleuthkit-libewf_64bit-20130416.tar.gz
|
||||
export TSK_LIBEWF_SRCDIR="${T}"/libewf_64bit-VisualStudio_2010
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Copy the jar files that don't exist in the tree yet
|
||||
if use java; then
|
||||
TSK_JAR_DIR="${T}/lib"
|
||||
mkdir "${TSK_JAR_DIR}" || die
|
||||
for f in ${A}; do
|
||||
if [[ ${f} =~ .jar$ ]]; then
|
||||
cp "${DISTDIR}"/"${f}" "${TSK_JAR_DIR}" || die
|
||||
fi
|
||||
done
|
||||
export TSK_JAR_DIR
|
||||
fi
|
||||
}
|
||||
|
||||
tsk_prepare_libewf() {
|
||||
# Inlining breaks the compilation, disable it
|
||||
sed -e 's/LIBUNA_INLINE inline/LIBUNA_INLINE/' \
|
||||
-i "${TSK_LIBEWF_SRCDIR}"/libuna/libuna_inline.h || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
use ewf && tsk_prepare_libewf
|
||||
|
||||
# Do not pass '-Werror'. This is overkill for user builds.
|
||||
sed -e '/AM_CXXFLAGS/ s/-Werror//g' \
|
||||
-i tsk/util/Makefile.am \
|
||||
-i tsk/pool/Makefile.am || die
|
||||
# Remove -static from LDFLAGS because it doesn't actually create
|
||||
# a static binary. It confuses libtool, who then inserts rpath
|
||||
sed -e '/LDFLAGS/ s/-static//' \
|
||||
-i tools/pooltools/Makefile.am || die
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
# Prevent "make install" from installing
|
||||
# jar files under /usr/share/java
|
||||
# We'll use the java eclasses for this
|
||||
# See: https://github.com/sleuthkit/sleuthkit/pull/1379
|
||||
sed -e '/^jar_DATA/ d;' -i Makefile.am || die
|
||||
|
||||
java-pkg-opt-2_src_prepare
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Override the doxygen output directories
|
||||
if use doc; then
|
||||
sed -e "/^OUTPUT_DIRECTORY/ s|=.*$|= ${T}/doc|" \
|
||||
-i tsk/docs/Doxyfile \
|
||||
-i bindings/java/doxygen/Doxyfile || die
|
||||
fi
|
||||
|
||||
# It's safe to call this even after java-pkg-opt-2_src_prepare
|
||||
# because future calls to eapply_user do nothing and return 0
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
tsk_compile_libewf() {
|
||||
local myeconfargs=(
|
||||
--prefix=/
|
||||
--libdir=/lib
|
||||
--enable-static
|
||||
--disable-shared
|
||||
--disable-winapi
|
||||
--without-libbfio
|
||||
--with-zlib
|
||||
--without-bzip2
|
||||
--without-libhmac
|
||||
--without-openssl
|
||||
--without-libuuid
|
||||
--without-libfuse
|
||||
|
||||
--with-libcstring=no
|
||||
--with-libcerror=no
|
||||
--with-libcdata=no
|
||||
--with-libclocale=no
|
||||
--with-libcnotify=no
|
||||
--with-libcsplit=no
|
||||
--with-libuna=no
|
||||
--with-libcfile=no
|
||||
--with-libcpath=no
|
||||
--with-libbfio=no
|
||||
--with-libfcache=no
|
||||
--with-libfvalue=no
|
||||
|
||||
)
|
||||
# We want to contain our build flags
|
||||
local CFLAGS="${CFLAGS}"
|
||||
local LDFLAGS="${LDFLAGS}"
|
||||
|
||||
pushd "${TSK_LIBEWF_SRCDIR}" &>/dev/null || die
|
||||
|
||||
# Produce relocatable code
|
||||
CFLAGS+=" -fPIC"
|
||||
LDFLAGS+=" -fPIC"
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# Do not waste CPU cycles on building ewftools
|
||||
sed -e '/ewftools/ d' -i Makefile || die
|
||||
emake
|
||||
|
||||
# Only install the headers and the library
|
||||
emake -C libewf DESTDIR="${T}"/image install
|
||||
emake -C include DESTDIR="${T}"/image install
|
||||
find "${T}"/image -name '*.la' -delete || die
|
||||
|
||||
popd &>/dev/null || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--enable-offline="${TSK_JAR_DIR}"
|
||||
$(use_enable java)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable threads multithreading)
|
||||
$(use_with aff afflib)
|
||||
$(use_with zlib)
|
||||
)
|
||||
# TODO: add support for non-existing libraries libvhdi and libvmdk
|
||||
# myeconfargs+=(
|
||||
# $(use_with vhdi libvhdi)
|
||||
# $(use_with vmdk libvmdk)
|
||||
# )
|
||||
myeconfargs+=(
|
||||
--without-libvhdi
|
||||
--without-libvmdk
|
||||
)
|
||||
|
||||
use ewf && tsk_compile_libewf
|
||||
myeconfargs+=( $(use_with ewf libewf "${T}"/image) )
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
java-ant-2_src_configure
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Give it an existing bogus ivy home #672220
|
||||
local -x IVY_HOME="${T}"
|
||||
|
||||
# Create symlinks of jars for the required dependencies
|
||||
if use java; then
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" c3p0
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" commons-lang:3.6
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" guava:20
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" jdbc-postgresql
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" joda-time
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" sparsebitset
|
||||
|
||||
# case-uco needs gson and expects it under case-uco/java/lib
|
||||
# symlink it to the jar dir we create for java bindings
|
||||
ln -s "${TSK_JAR_DIR}" "${S}"/case-uco/java/lib || die
|
||||
fi
|
||||
|
||||
# Create the doc output dirs if requested
|
||||
if use doc; then
|
||||
mkdir -p "${T}"/doc/{api-docs,jni-docs} || die
|
||||
fi
|
||||
|
||||
emake all $(usex doc api-docs "")
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Give it an existing bogus ivy home #756766
|
||||
local -x IVY_HOME="${T}"
|
||||
local f
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
# Install case-uco
|
||||
pushd "${S}"/case-uco/java &>/dev/null || die
|
||||
java-pkg_newjar "dist/${PN}-caseuco-${PV}".jar "${PN}-caseuco.jar"
|
||||
popd || die
|
||||
|
||||
# Install the bundled jar files as well as the
|
||||
# sleuthkit jar installed here by case-uco
|
||||
pushd "${TSK_JAR_DIR}" &>/dev/null || die
|
||||
for f in *; do
|
||||
# Skip the symlinks java-pkg_jar-from created
|
||||
[[ -f ${f} ]] || continue
|
||||
|
||||
# Strip the version numbers as per eclass recommendation
|
||||
[[ ${f} =~ -([0-9]+\.)+jar$ ]] || continue
|
||||
|
||||
java-pkg_newjar "${f}" "${f/${BASH_REMATCH[0]}/.jar}"
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
default
|
||||
# Default install target for case-uco installs the jar in the wrong place
|
||||
rm -r "${ED}"/usr/share/java
|
||||
|
||||
# It unconditionally builds both api and jni docs
|
||||
# We install conditionally based on the provided use flags
|
||||
if use doc; then
|
||||
dodoc -r "${T}"/doc/api-docs
|
||||
use java && dodoc -r "${T}"/doc/jni-docs
|
||||
fi
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
https://bugs.gentoo.org/840329
|
||||
--- a/main.cpp
|
||||
+++ b/main.cpp
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "Keyboard.h"
|
||||
+#include <cstring>
|
||||
#include <regex>
|
||||
#include <iostream>
|
||||
|
@ -0,0 +1,24 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,6 +1,7 @@
|
||||
-CC=g++
|
||||
-CFLAGS=-c -Wall
|
||||
-LDFLAGS=-lhidapi-libusb
|
||||
+CXX?=g++
|
||||
+COMMON_FLAGS=-Wall
|
||||
+CXXFLAGS+=$(COMMON_FLAGS)
|
||||
+LIBS=-lhidapi-libusb
|
||||
SOURCES=main.cpp Keyboard.cpp Color.cpp
|
||||
OBJECTS=$(SOURCES:.cpp=.o)
|
||||
EXECUTABLE=msi-keyboard
|
||||
@@ -11,8 +12,8 @@ clean:
|
||||
rm $(OBJECTS) $(EXECUTABLE)
|
||||
|
||||
$(EXECUTABLE): $(OBJECTS)
|
||||
- $(CC) $(LDFLAGS) $(OBJECTS) -o $@
|
||||
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
|
||||
|
||||
.cpp.o:
|
||||
- $(CC) $(CFLAGS) $< -o $@
|
||||
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
|
||||
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs udev
|
||||
|
||||
DESCRIPTION="Control backlight of MSI laptop keyboards"
|
||||
HOMEPAGE="https://github.com/makkarpov/msi-keyboard"
|
||||
SRC_URI="https://github.com/makkarpov/msi-keyboard/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="dev-libs/hidapi"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-r1-makefile.patch
|
||||
"${FILESDIR}"/${P}-gcc12.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
tc-export CXX
|
||||
}
|
||||
|
||||
src_install() {
|
||||
udev_dorules 99-msi-keyboard.rules
|
||||
dobin msi-keyboard
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
DIST tmux-3.1c.tar.gz 561323 BLAKE2B c6f688a854e128acffa140321a5dd00e4ca090ff79c7cbff15febbca6da9f7626c675fe1820b344637ff0fbe94ae6d0da7f111880ce5d74f97c4b6a90ceef802 SHA512 aad2e6457dd350369f245f711f1936a575d0588b72e660d10e7abc7d373da0d322903b451ad00b96a3e0e6847ca855673da6a4c5447cea91fa756edd23659397
|
||||
DIST tmux-3.2a.tar.gz 648394 BLAKE2B 94527d4d1016caddab170b5bbfd181514768474898314241fb65a53a1f5ae94863bacedf90a7543690c115d15295960dfab4d5ba2ce31cd105585a73fb9b82d1 SHA512 6e52c7f5d03b2c8b8c4c8caac092a166956ba97334b426f2823d74dc5849a1d31a80145924f641f69dd2c244809e9350d9bd7070897fa2e3e1f9f086f9b2f365
|
||||
DIST tmux-3.3.tar.gz 677501 BLAKE2B 7e5b66d6d294c580d86f4f8729f867277e00f401dfa2a4b4c5dd5bd08c1e9884122340cbebfb37f56c67c65e940667f5b79b638f20f05282c434f7b3641ad003 SHA512 2988ccef62337dee0a22579868608b611ce17e2160358a9ba4cc3a353fd1e6b1fea87584ceeed885f986b1786aac1b681c71bdf6a48ed4953809093280b38c09
|
||||
DIST tmux-3.3a.tar.gz 677448 BLAKE2B e835ce0f136175521035a684419f221864edb0a9506d7d68cbc0239b1349e78949ebd96573a9d8651a2df6d99acb433075d6e0c20d7394a53fe6b44bd9e56069 SHA512 29a846df7d93601c42a22f84f606931dc65da1f70b67d351d0425f77ea3affe3e8218b2940d42cd3dadf3cd1aa95032daad3ecb14fbff0f69939d1beae0498c7
|
||||
DIST tmux-bash-completion-678a27616b70c649c6701cae9cd8c92b58cc051b 458 BLAKE2B 04143e6d1cfbbd467f1656f949363cb7a4a3e16e9b3cf56b8b0423babe56276abee2622964cb490005fc76d1cbe12201fb1a6446a6f860c2cc1ff3c9bd5fc496 SHA512 fe0aca7d03067af87e0788a2fa902c7ef5500ba72295cb63c5a1814534a008c224256d7f890ac1af6d17f3734b45148765e1632f075e284c453185df2927b979
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
DIST kalendar-22.04.1.tar.xz 259100 BLAKE2B 73835821e35bbe8f1bf1c48739390c9ff996c208193cc4c9ac364462a30f131a5a2ce5e40b6c7c074f30ef21a1e3a4e799a9d64a2c8731c4698dcaa1e22ce07c SHA512 35c60e61e2f0c97e991cc8019b754a70f87d81afeef3888f9a9b48e42ff011ea5a84f16c1f83fa9cf1a569d87b479a6b3fb9ce55f105f19924c0db960bf56fc6
|
||||
DIST kalendar-22.04.2.tar.xz 259152 BLAKE2B 296ccfe705f4eff4e9969b07a34f4d04a9ed9a924869d58c22c42540aba2f85f1b2b0df8d5a01d581e6582f659db7e4375e5ef0557a6c5e619a38b216feb5211 SHA512 641636f97d7c6d3aa5ac9526e5fc6ac844b2ab4eee41fecc919150553c91e5a352da0b494d074f686850ee85512644b78b17e603bc3f914c005d576f571d7d61
|
||||
|
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue