aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/dcd/Manifest2
-rw-r--r--dev-util/dcd/dcd-0.13.4.ebuild102
2 files changed, 104 insertions, 0 deletions
diff --git a/dev-util/dcd/Manifest b/dev-util/dcd/Manifest
index c9f16c6..3a6d8c9 100644
--- a/dev-util/dcd/Manifest
+++ b/dev-util/dcd/Manifest
@@ -1,5 +1,7 @@
DIST DCD-0.13.1.tar.gz 136095 BLAKE2B ae0ee1acec1201d724feb178b58483651cf5498b7c9aa66036afe153972a9e889f400d7d86612d021faa576d64587892f6a2a068b9a8e4ebe241414c727d7016 SHA512 c52540b4ba02c7bca77beca74ae482cd0b046fe7e16498e30600a1ca03f997a365eacb7450a1c13ae4ab3c9c8bfe6c65a8aa899697755f4596804ff636a86784
+DIST DCD-0.13.4.tar.gz 133944 BLAKE2B 6a6fe85e70810c29101feed0c7417bfbcb9240e8fac882cbd9ed57e6563b19cdfda3a9313e07b2f9948f5ba8d96121103090a8349880c4eff770388b3a4ec9c2 SHA512 5f3d77b7d898b4bfbcfce1b6333f6f96395f85193ae874d7b8c043e2964eeb6136cc8c4331544d5b730a2d611aa8766dc78b8a3315fe06aa855d019a6ea6321a
DIST containers-f4e79375539554b3793adf1c557361a64a073524.tar.gz 55265 BLAKE2B 208ba1baf12a6f690861bc2798c0b94f46f8155509832613f4d2308826c14ee951a7bb3e45bcea852e4747308c267bb1d37cf5383ecea80ebf2dabf5ca017b51 SHA512 d1779a060b3c846ad70942b5c7f8d05733d58964a4585913a3515d8dfe2dcc811a57af1d7bdb6e3606ccce1ba637f9f029de07213fddea00e2305c9d75293be1
+DIST containers-fc1625a5a0c253272b80addfb4107928495fd647.tar.gz 55220 BLAKE2B 67851802c64c2e22c40688e050e8ba3825d6152df0fed2130d3585b77264ddd0ff0444c199d95330116887d6711935b82cdba392e557acf22d353b094c4be8a4 SHA512 ff13091bd8ccd2fbfdb18284d81cf3789f208cc3e9f07f36cfb87122efb36b364c3201c695c9b0267705576561270a6f2a9ec91ce8776a7d683db4bf36ca328b
DIST dsymbol-f9a3d302527a9e50140991562648a147b6f5a78e.tar.gz 34796 BLAKE2B c9fb476a348b030d7c57e43b0e21fb8db255ba4b350f7bde6315750ed5888eef9ce32ec68428f55e321bf6e9f167433ce3279185ff0ce0b899fbf5257b4d40c5 SHA512 2133f1c8dc966920496b7851f9ae094f10170117d1d9961f96c5382df126c3f72a8eb678dbc106bac5f3b4c1f97848428bf9004656c57d1c1c5f2697b7d2a4da
DIST libdparse-1393ee4d0c8e50011e641e06d64c429841fb3c2b.tar.gz 137198 BLAKE2B e2d4122f63847fe9c0aa7591f5d5cfb9b8708c02c45b02b24fbb488f17a9dc0986ab0525a573e6e4e43daa3a1b8880edc93e0b6061fd5486a39e8fd45f516dd4 SHA512 8339e339d667f7fbd524f12c89a824f95a2151ce126fae33bbf940f76dcc460d42c0c412fa169867eaa056dabb1ef2aaa89b95b47219294edfc166aafa48c89c
DIST msgpack-d-480f3bf9ee80ccf6695ed900cfcc1850ba8da991.tar.gz 143848 BLAKE2B 44ac6f1efbbdb455af694cc476524535bebe993777a8c47d93a7cff21d825c2b8ce4caaf0d9f072f1e37869a9e50821abbd60e23a38546e0522047809cd0695a SHA512 76f7049c9f9f4128b9e9691e224c2ff5d8ee5400bf0796cc362386f0bc6f2359bb1694606923aec21eab539f65b93b828c2e018dee22358b91713365dd443e4d
diff --git a/dev-util/dcd/dcd-0.13.4.ebuild b/dev-util/dcd/dcd-0.13.4.ebuild
new file mode 100644
index 0000000..96a5a2f
--- /dev/null
+++ b/dev-util/dcd/dcd-0.13.4.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Auto-complete program for the D programming language"
+HOMEPAGE="https://github.com/dlang-community/DCD"
+LICENSE="GPL-3"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="systemd"
+
+CONTAINERS="fc1625a5a0c253272b80addfb4107928495fd647"
+DSYMBOL="f9a3d302527a9e50140991562648a147b6f5a78e"
+LIBDPARSE="1393ee4d0c8e50011e641e06d64c429841fb3c2b"
+MSGPACK="480f3bf9ee80ccf6695ed900cfcc1850ba8da991"
+ALLOCATOR="d6e6ce4a838e0dad43ef13f050f96627339cdccd"
+SRC_URI="
+ https://github.com/dlang-community/DCD/archive/v${PV}.tar.gz -> DCD-${PV}.tar.gz
+ https://github.com/economicmodeling/containers/archive/${CONTAINERS}.tar.gz -> containers-${CONTAINERS}.tar.gz
+ https://github.com/dlang-community/dsymbol/archive/${DSYMBOL}.tar.gz -> dsymbol-${DSYMBOL}.tar.gz
+ https://github.com/dlang-community/libdparse/archive/${LIBDPARSE}.tar.gz -> libdparse-${LIBDPARSE}.tar.gz
+ https://github.com/dlang-community/stdx-allocator/archive/${ALLOCATOR}.tar.gz -> stdx-allocator-${ALLOCATOR}.tar.gz
+ https://github.com/msgpack/msgpack-d/archive/${MSGPACK}.tar.gz -> msgpack-d-${MSGPACK}.tar.gz
+ "
+S="${WORKDIR}/DCD-${PV}"
+
+DLANG_VERSION_RANGE="2.082-"
+DLANG_PACKAGE_TYPE="single"
+
+inherit dlang systemd bash-completion-r1
+
+src_prepare() {
+ # Default ebuild unpack function places archives side-by-side ...
+ mv -T ../stdx-allocator-${ALLOCATOR} stdx-allocator/source || die
+ mv -T ../containers-${CONTAINERS} containers || die
+ mv -T ../dsymbol-${DSYMBOL} dsymbol || die
+ mv -T ../libdparse-${LIBDPARSE} libdparse || die
+ mv -T ../msgpack-d-${MSGPACK} msgpack-d || die
+ # Stop makefile from executing git to write an unused githash.txt
+ echo "v${PV}" > githash.txt || die "Could not generate githash"
+ touch githash || die "Could not generate githash"
+ # Apply patches
+ dlang_src_prepare
+}
+
+d_src_compile() {
+ # Build client & server with the requested Dlang compiler
+ local flags="$DCFLAGS $LDFLAGS -Icontainers/src -Idsymbol/src -Ilibdparse/src -Imsgpack-d/src -Isrc -J."
+ case "$DLANG_VENDOR" in
+ DigitalMars)
+ emake \
+ DMD="$DC" \
+ DMD_CLIENT_FLAGS="$flags -ofbin/dcd-client" \
+ DMD_SERVER_FLAGS="$flags -ofbin/dcd-server" \
+ dmd
+ ;;
+ GNU)
+ emake \
+ GDC="$DC" \
+ GDC_CLIENT_FLAGS="$flags -obin/dcd-client" \
+ GDC_SERVER_FLAGS="$flags -obin/dcd-server" \
+ gdc
+ ;;
+ LDC)
+ mkdir -p bin || die "Could not create 'bin' output directory."
+ emake \
+ LDC="$DC" \
+ LDC_CLIENT_FLAGS="$flags -g -of=bin/dcd-client" \
+ LDC_SERVER_FLAGS="$flags" \
+ ldc
+ ;;
+ *)
+ die "Unsupported compiler vendor: $DLANG_VENDOR"
+ ;;
+ esac
+ # Write system include paths of host compiler into dcd.conf
+ dlang_system_imports > dcd.conf
+}
+
+d_src_test() {
+ # The tests don't work too well in a sandbox, e.g. multiple permission denied errors.
+ cd tests
+ #./run_tests.sh || die "Tests failed"
+}
+
+d_src_install() {
+ dobin bin/dcd-server
+ dobin bin/dcd-client
+ use systemd && systemd_douserunit "${FILESDIR}"/dcd-server.service
+ dobashcomp bash-completion/completions/dcd-server
+ dobashcomp bash-completion/completions/dcd-client
+ insinto /etc
+ doins dcd.conf
+ dodoc README.md
+ doman man1/dcd-client.1 man1/dcd-server.1
+}
+
+pkg_postinst() {
+ use systemd && elog "A systemd user service for 'dcd-server' has been installed."
+}