diff options
Diffstat (limited to 'dev-db/influxdb/influxdb-2.7.8-r1.ebuild')
-rw-r--r-- | dev-db/influxdb/influxdb-2.7.8-r1.ebuild | 290 |
1 files changed, 290 insertions, 0 deletions
diff --git a/dev-db/influxdb/influxdb-2.7.8-r1.ebuild b/dev-db/influxdb/influxdb-2.7.8-r1.ebuild new file mode 100644 index 000000000000..020930e8bf16 --- /dev/null +++ b/dev-db/influxdb/influxdb-2.7.8-r1.ebuild @@ -0,0 +1,290 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + ahash@0.7.6 + aho-corasick@0.7.20 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anyhow@1.0.70 + arrayvec@0.5.2 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.0.2 + bumpalo@3.12.0 + cast@0.3.0 + cc@1.0.79 + cfg-if@1.0.0 + chrono@0.4.24 + clap@2.34.0 + codespan-reporting@0.11.1 + colored@2.0.0 + core-foundation-sys@0.8.4 + crc32fast@1.3.2 + criterion-plot@0.4.5 + criterion@0.3.6 + crossbeam-channel@0.5.7 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.14 + crossbeam-utils@0.8.15 + csv-core@0.1.10 + csv@1.2.1 + ctor@0.1.26 + cxx-build@1.0.94 + cxx@1.0.94 + cxxbridge-flags@1.0.94 + cxxbridge-macro@1.0.94 + derivative@2.2.0 + derive_more@0.99.17 + diff@0.1.13 + dissimilar@1.0.6 + either@1.8.1 + ena@0.14.2 + env_logger@0.9.3 + errno-dragonfly@0.1.2 + errno@0.3.0 + expect-test@1.4.1 + fallible-iterator@0.2.0 + fallible-streaming-iterator@0.1.9 + fastrand@1.9.0 + flatbuffers@22.12.6 + fnv@1.0.7 + form_urlencoded@1.1.0 + getrandom@0.2.8 + half@1.8.2 + hashbrown@0.12.3 + hashlink@0.8.1 + heck@0.3.3 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + hermit-abi@0.3.1 + humantime@2.1.0 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.56 + idna@0.3.0 + indexmap@1.9.3 + instant@0.1.12 + io-lifetimes@1.0.10 + itertools@0.10.5 + itoa@1.0.6 + js-sys@0.3.61 + lazy_static@1.4.0 + libc@0.2.141 + libflate@1.3.0 + libflate_lz77@1.2.0 + libsqlite3-sys@0.26.0 + link-cplusplus@1.0.8 + linux-raw-sys@0.3.1 + lock_api@0.4.9 + log@0.4.17 + lsp-types@0.91.1 + maplit@1.0.2 + memchr@2.5.0 + memoffset@0.8.0 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.17.1 + oorandom@11.1.3 + ordered-float@3.6.0 + output_vt100@0.1.3 + pad@0.1.6 + parking_lot@0.11.2 + parking_lot_core@0.8.6 + percent-encoding@2.2.0 + pkg-config@0.3.26 + plotters-backend@0.3.4 + plotters-svg@0.3.3 + plotters@0.3.4 + pretty@0.11.3 + pretty_assertions@1.3.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.56 + pulldown-cmark@0.9.2 + quote@1.0.26 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.2.16 + redox_syscall@0.3.5 + regex-syntax@0.6.29 + regex@1.7.3 + rle-decode-fast@1.0.3 + rusqlite@0.29.0 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.7 + ryu@1.0.13 + salsa-macros@0.17.0-pre.2 + salsa@0.17.0-pre.2 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.5 + semver@1.0.17 + serde@1.0.159 + serde_cbor@0.11.2 + serde_derive@1.0.159 + serde_json@1.0.95 + serde_repr@0.1.12 + smallvec@1.10.0 + strsim@0.8.0 + structopt-derive@0.4.18 + structopt@0.3.26 + syn@1.0.109 + syn@2.0.13 + tempfile@3.5.0 + termcolor@1.2.0 + textwrap@0.11.0 + thiserror-impl@1.0.40 + thiserror@1.0.40 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + typed-arena@2.0.2 + unicase@2.6.0 + unicode-bidi@0.3.13 + unicode-ident@1.0.8 + unicode-normalization@0.1.22 + unicode-segmentation@1.10.1 + unicode-width@0.1.10 + url@2.3.1 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.4 + walkdir@2.3.3 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-shared@0.2.84 + wasm-bindgen@0.2.84 + web-sys@0.3.61 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.0 + yansi@0.5.1 +" + +inherit cargo go-module systemd + +DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" +HOMEPAGE="https://www.influxdata.com" + +FLUX_PV="0.195.1" + +SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-2.7.8/build.tar.gz -> ${P}-assets.tar.gz" +# Generate go-mod of base dir. Then cd go-mod/github.com/influxdata/pkg-config@v0.2.11 and generate go-mod of it +SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="virtual/pkgconfig" + +DEPEND=" + acct-group/influxdb + acct-user/influxdb +" +RDEPEND="${DEPEND}" + +pkg_setup() { + go_pkg_setup + rust_pkg_setup +} + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + default + + local data_dir + data_dir="${S}/static/data" + mkdir "${data_dir}" || die + mv "${WORKDIR}/build" "${data_dir}" || die +} + +src_compile() { + mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die + mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die + cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die + ego build . + mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die + mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die + + cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die + cargo_src_compile + + cd "${S}" || die + + export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config" + ego generate ./static + GOBIN="${S}/bin" \ + ego install \ + -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \ + -ldflags="-X main.version=${PV}" \ + ./... +} + +src_test() { + ego test ./tests +} + +src_install() { + dobin bin/influx* + dodoc *.md + cd .circleci/scripts/package/influxdb2/fs || die + systemd_dounit usr/lib/influxdb/scripts/influxdb.service + exeinto /usr/lib/influxdb/scripts + doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh + exeinto /usr/share/influxdb + doexe usr/share/influxdb/influxdb2-upgrade.sh + newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb + newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb + keepdir /var/log/influxdb + fowners influxdb:influxdb /var/log/influxdb + + newenvd - "99${PN}" <<-_EOF_ + INFLUXD_CONFIG_PATH="/etc/influxdb" + _EOF_ +} + +pkg_postinst() { + elog "Upgrading from InfluxDB1.x requires migration of time series data." + elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/" + elog "Keep in mind that some applications not compatible with InfluxDB 2.x" + elog "may stop working." + + ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli" + ewarn "You will need to install it separately" +} |