summaryrefslogtreecommitdiff
path: root/dev-cpp/sparsehash
diff options
context:
space:
mode:
authormirror@stealer.net <mirror@stealer.net>2026-03-01 00:00:21 +0000
committermirror@stealer.net <mirror@stealer.net>2026-03-01 00:00:21 +0000
commitb8b66b58a7749b7418bf5e70c2306d9295677667 (patch)
treeb1ed0dd6c368663d9efab27e5215561b143ee35a /dev-cpp/sparsehash
2026-02-28 22:24:04+00:00grafted
Diffstat (limited to 'dev-cpp/sparsehash')
-rw-r--r--dev-cpp/sparsehash/Manifest4
-rw-r--r--dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch71
-rw-r--r--dev-cpp/sparsehash/metadata.xml11
-rw-r--r--dev-cpp/sparsehash/sparsehash-2.0.4-r1.ebuild22
4 files changed, 108 insertions, 0 deletions
diff --git a/dev-cpp/sparsehash/Manifest b/dev-cpp/sparsehash/Manifest
new file mode 100644
index 0000000000..82ac7d7014
--- /dev/null
+++ b/dev-cpp/sparsehash/Manifest
@@ -0,0 +1,4 @@
+AUX sparsehash-2.0.3-fix-buildsystem.patch 2649 BLAKE2B d7a5e7d4343279af069e0b8eb00ad2b8fc33e26840ee0a9ca63c73ea37aa99548d3c741d70647078424f27906946f261b07d764be9adaf47c1d13bc4bf6d302f SHA512 6732a3197550f75ce7a83d61882938d841694f41e9daec51ef36206306fdabdd33dd46eaec106a8877826098b8227368c1ed0962d36aa220abd0336713667bd4
+DIST sparsehash-2.0.4.tar.gz 323154 BLAKE2B 8e0da89a6ae684271293f048092d6c79d14818f7ab9d4fa449414b3354f9e7769d9b0cc724227c47a1be7c7357cdac5cf6f3873047a08c8f085cc457858a8826 SHA512 40c007bc5814dd5f2bdacd5ec884bc5424f7126f182d4c7b34371f88b674456fc193b947fdd283dbd0c7eb044d8f06baf8caec6c93e73b1b587282b9026ea877
+EBUILD sparsehash-2.0.4-r1.ebuild 510 BLAKE2B 3f8f951a4b0d373b71f4f801b6167143ea3b5b78cace87c4a89d05bbb75d7e758ddb8789084d52686556509d8fbf45c6588509518464a7a2d7ac3864a50de538 SHA512 ace53b012f2595f3b06908775717728953b5565ddcfe8684c2bb983d1504c0498d73e2707a2f4299bac0e5dd328e2225c65e0ac8fa3130beb50c5637944d57dd
+MISC metadata.xml 334 BLAKE2B 13c59a7f06e31a02327cd4a394645f9b0e05f9703d093ab401fe6a0bf0ad8810283b3fec4cb0a87d9b87925bce0703cbeb5bf57717e7975e3fed4ce15965e850 SHA512 80339a3d0f36902822493ce7fcf0734840eeb8a107838e5d95b2ab59aa5e55f3c50bcfc266f4a989c768ae758b0fa5a22d18e0bbf070d7f1150e076ae0d4d544
diff --git a/dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch b/dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch
new file mode 100644
index 0000000000..237719c3b9
--- /dev/null
+++ b/dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch
@@ -0,0 +1,71 @@
+* Do not override $(docdir) as part of the GNU conventions
+* Do not install 'COPYING' and 'INSTALL'
+* Install html files using html_ prefix and not doc_ prefix
+* Do not try to link against tcmalloc, the complexity of juggling
+ the options around isn't worth it
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=585968
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -9,7 +9,7 @@
+ # (for sanity checking)
+ AC_CONFIG_SRCDIR(README)
+ AM_INIT_AUTOMAKE([dist-zip])
+-AM_CONFIG_HEADER(src/config.h)
++AC_CONFIG_HEADERS([src/config.h])
+
+ # Checks for programs.
+ AC_PROG_CXX
+@@ -28,23 +28,7 @@
+ # These are 'only' needed for unittests
+ AC_CHECK_HEADERS(sys/resource.h unistd.h sys/time.h sys/utsname.h)
+
+-# If you have google-perftools installed, we can do a bit more testing.
+-# We not only want to set HAVE_MALLOC_EXTENSION_H, we also want to set
+-# a variable to let the Makefile to know to link in tcmalloc.
+ AC_LANG([C++])
+-AC_CHECK_HEADERS(google/malloc_extension.h,
+- tcmalloc_libs=-ltcmalloc,
+- tcmalloc_libs=)
+-# On some systems, when linking in tcmalloc you also need to link in
+-# pthread. That's a bug somewhere, but we'll work around it for now.
+-tcmalloc_flags=""
+-if test -n "$tcmalloc_libs"; then
+- ACX_PTHREAD
+- tcmalloc_flags="\$(PTHREAD_CFLAGS)"
+- tcmalloc_libs="$tcmalloc_libs \$(PTHREAD_LIBS)"
+-fi
+-AC_SUBST(tcmalloc_flags)
+-AC_SUBST(tcmalloc_libs)
+
+ # Figure out where hash_map lives and also hash_fun.h (or stl_hash_fun.h).
+ # This also tells us what namespace hash code lives in.
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,12 +11,11 @@
+ AM_CXXFLAGS = -Wall -W -Wwrite-strings -Woverloaded-virtual -Wshadow
+ endif
+
+-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+ ## This is for HTML and other documentation you want to install.
+ ## Add your documentation files (in doc/) in addition to these boilerplate
+ ## Also add a TODO file if you have one
+-dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README_windows.txt \
+- TODO \
++dist_doc_DATA = AUTHORS ChangeLog NEWS README README_windows.txt TODO
++dist_html_DATA = \
+ doc/dense_hash_map.html \
+ doc/dense_hash_set.html \
+ doc/sparse_hash_map.html \
+@@ -182,11 +181,6 @@
+ $(sparsehashinclude_HEADERS)
+ nodist_time_hash_map_SOURCES = $(nodist_internalinclude_HEADERS)
+
+-# If tcmalloc is installed, use it with time_hash_map; it gives us
+-# heap-usage statistics for the hash_map routines, which is very nice
+-time_hash_map_CXXFLAGS = @tcmalloc_flags@ $(AM_CXXFLAGS)
+-time_hash_map_LDFLAGS = @tcmalloc_flags@
+-time_hash_map_LDADD = @tcmalloc_libs@
+
+ ## ^^^^ END OF RULES TO MAKE THE LIBRARIES, BINARIES, AND UNITTESTS
+
diff --git a/dev-cpp/sparsehash/metadata.xml b/dev-cpp/sparsehash/metadata.xml
new file mode 100644
index 0000000000..69937c2810
--- /dev/null
+++ b/dev-cpp/sparsehash/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">sparsehash/sparsehash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/sparsehash/sparsehash-2.0.4-r1.ebuild b/dev-cpp/sparsehash/sparsehash-2.0.4-r1.ebuild
new file mode 100644
index 0000000000..acb2560d7d
--- /dev/null
+++ b/dev-cpp/sparsehash/sparsehash-2.0.4-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="An extremely memory-efficient hash_map implementation"
+HOMEPAGE="https://github.com/sparsehash/sparsehash"
+SRC_URI="https://github.com/sparsehash/sparsehash/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.0.3-fix-buildsystem.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}