pkgsrc/devel/mdds/Makefile

42 lines
1.3 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.28 2015/08/12 00:45:18 ryoon Exp $
DISTNAME= mdds_0.12.1
PKGNAME= ${DISTNAME:S/_/-/}
CATEGORIES= devel
MASTER_SITES= http://kohei.us/files/mdds/src/
EXTRACT_SUFX= .tar.bz2
EXTRACT_USING= gtar
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://code.google.com/p/multidimalgorithm/
COMMENT= Collection of multi-dimensional data structure and indexing algorithms
LICENSE= mit
USE_LANGUAGES= c++
GNU_CONFIGURE= yes
#NO_BUILD= yes
INSTALLATION_DIRS= include/mdds/compat include/mdds/hash_container \
share/pkgconfig
Updated package to its latest version, 0.9.0. Changes (apart from bugfixes) include: * all * added .pc file for pkg-config. * multi_type_vector * added another block function template to make it easier to declare container with 3 custom element types. * added two variants of release(): * template<typename _T> iterator release(size_type pos, _T& value) * template<typename _T> iterator release(const iterator& pos_hint, size_type pos, _T& value) * added a variant of release() that takes no arguments. This one releases all elements and makes the container empty afterward. * added a new variant of position() that takes const_iterator as position hint. * std::pair<const_iterator, size_type> position(const const_iterator& pos_hint, size_type pos) const * added compile-time macro MDDS_MULTI_TYPE_VECTOR_USE_DEQUE to allow users to specify std::deque as the underlying data array. By default, multi_type_vector uses std::vector as the underlying data array container. * added a new variant of swap() that allows partial swapping of content with another container. * added static block type identifier so that the numeric block type ID can be deduced from the block type directly. * value_type (which is a type of object returned when dereferencing an iterator) now stores 'position' which is the logical position of the first element of a block. * added position_type and const_position_type which are typedefs to the return types of position() methods. * added char and unsigned char types to the standard types supported by default. * added position() member method that takes a logical element position and returns a pair of block iterator where the element resides and its offset within that block. * added at() static member method to the data block, which calls the at() method of the underlying std::vector container. * added release() member method to allow caller to release an object stored inside a managed block. * added two templates to ease creation of custom element block functions when using one or two custom element types. * added transfer() member method to allow elements in a specified range to be transferred from one container to another. When transferring elements stored in a managed element block, the ownership of those elements is also transferred. * add variants of set() methods (both single- and multi-value) insert(), set_empty() and insert_empty() methods that take an iterator as an additional position hint parameter for block lookup speed optimization. * add support for non-const iterators which allow the client code to modify values directly from the iterators. * set() methods (both single- and multi-parameter variants), set_empty(), insert() and insert_empty() methods now return iterator that references the block to which the values are set or inserted. * multi_type_matrix: * get_numeric(), get_boolean(), and get_string() are made more efficient. * added position() method that returns a reference object to an element (position object). * added variants of get_numeric(), get_boolean() and get_string() that retrieves elements from position objects. * added variants of set() that sets new element values via position objects. * add a variant of the position() method that takes an iterator as positional hint. Note that there is no variant of position() that takes const_iterator. * flat_segment_tree * changed the return type of search_tree from bool to std::pair<const_iterator,bool>, to make it consistent with the search() method. Note that this is an API-incompatible change.
2013-08-22 16:42:57 +02:00
PKGCONFIG_OVERRIDE+= misc/mdds.pc.in
do-install:
for i in ${WRKSRC}/include/mdds/*.hpp; do \
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds; \
done
for i in ${WRKSRC}/include/mdds/*.inl; do \
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds; \
done
for i in ${WRKSRC}/include/mdds/compat/*.hpp; do \
${INSTALL_DATA} $$i ${DESTDIR}${PREFIX}/include/mdds/compat; \
done
for i in ${WRKSRC}/include/mdds/hash_container/*.hpp; do \
${INSTALL_DATA} $$i \
${DESTDIR}${PREFIX}/include/mdds/hash_container; \
done
Updated package to its latest version, 0.9.0. Changes (apart from bugfixes) include: * all * added .pc file for pkg-config. * multi_type_vector * added another block function template to make it easier to declare container with 3 custom element types. * added two variants of release(): * template<typename _T> iterator release(size_type pos, _T& value) * template<typename _T> iterator release(const iterator& pos_hint, size_type pos, _T& value) * added a variant of release() that takes no arguments. This one releases all elements and makes the container empty afterward. * added a new variant of position() that takes const_iterator as position hint. * std::pair<const_iterator, size_type> position(const const_iterator& pos_hint, size_type pos) const * added compile-time macro MDDS_MULTI_TYPE_VECTOR_USE_DEQUE to allow users to specify std::deque as the underlying data array. By default, multi_type_vector uses std::vector as the underlying data array container. * added a new variant of swap() that allows partial swapping of content with another container. * added static block type identifier so that the numeric block type ID can be deduced from the block type directly. * value_type (which is a type of object returned when dereferencing an iterator) now stores 'position' which is the logical position of the first element of a block. * added position_type and const_position_type which are typedefs to the return types of position() methods. * added char and unsigned char types to the standard types supported by default. * added position() member method that takes a logical element position and returns a pair of block iterator where the element resides and its offset within that block. * added at() static member method to the data block, which calls the at() method of the underlying std::vector container. * added release() member method to allow caller to release an object stored inside a managed block. * added two templates to ease creation of custom element block functions when using one or two custom element types. * added transfer() member method to allow elements in a specified range to be transferred from one container to another. When transferring elements stored in a managed element block, the ownership of those elements is also transferred. * add variants of set() methods (both single- and multi-value) insert(), set_empty() and insert_empty() methods that take an iterator as an additional position hint parameter for block lookup speed optimization. * add support for non-const iterators which allow the client code to modify values directly from the iterators. * set() methods (both single- and multi-parameter variants), set_empty(), insert() and insert_empty() methods now return iterator that references the block to which the values are set or inserted. * multi_type_matrix: * get_numeric(), get_boolean(), and get_string() are made more efficient. * added position() method that returns a reference object to an element (position object). * added variants of get_numeric(), get_boolean() and get_string() that retrieves elements from position objects. * added variants of set() that sets new element values via position objects. * add a variant of the position() method that takes an iterator as positional hint. Note that there is no variant of position() that takes const_iterator. * flat_segment_tree * changed the return type of search_tree from bool to std::pair<const_iterator,bool>, to make it consistent with the search() method. Note that this is an API-incompatible change.
2013-08-22 16:42:57 +02:00
${INSTALL_DATA} ${WRKSRC}/misc/mdds.pc ${DESTDIR}${PREFIX}/share/pkgconfig
BUILDLINK_DEPMETHOD.boost-headers?= build
.include "../../devel/boost-headers/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"