aboutsummaryrefslogtreecommitdiffstats
path: root/devel/hwloc
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2011-12-19 11:33:00 +0800
committermaho <maho@FreeBSD.org>2011-12-19 11:33:00 +0800
commit5cb6eb39ea09475bfb7a3b5a77fc41601b0aa13f (patch)
treebfab843d315957332e77e3cd9b268ac3b78c75b5 /devel/hwloc
parent3aaf1b53f55625428fac1245000cf8439085bc07 (diff)
downloadfreebsd-ports-graphics-5cb6eb39ea09475bfb7a3b5a77fc41601b0aa13f.tar.gz
freebsd-ports-graphics-5cb6eb39ea09475bfb7a3b5a77fc41601b0aa13f.tar.zst
freebsd-ports-graphics-5cb6eb39ea09475bfb7a3b5a77fc41601b0aa13f.zip
The Portable Hardware Locality software package
The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including as follows: - NUMA memory nodes; - sockets; - shared caches; - cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices (such as network interfaces, InfiniBand HCAs or GPUs). It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently [1]. [1] Portable Hardware Locality (hwloc) WWW. WWW: http://www.open-mpi.org/projects/hwloc/ PR: 163427 Submitted by: Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp> Feature safe: yes
Diffstat (limited to 'devel/hwloc')
-rw-r--r--devel/hwloc/Makefile64
-rw-r--r--devel/hwloc/distinfo2
-rw-r--r--devel/hwloc/files/manpages314
-rw-r--r--devel/hwloc/files/patch-configure16
-rw-r--r--devel/hwloc/files/patch-utils+Makefile.in14
-rw-r--r--devel/hwloc/pkg-descr16
-rw-r--r--devel/hwloc/pkg-plist133
7 files changed, 559 insertions, 0 deletions
diff --git a/devel/hwloc/Makefile b/devel/hwloc/Makefile
new file mode 100644
index 00000000000..181ac15ccdd
--- /dev/null
+++ b/devel/hwloc/Makefile
@@ -0,0 +1,64 @@
+# New ports collection makefile for: hwloc
+# Date created: 18 Dec 2011
+# Whom: Eijiro Shibusawa <ej-sib@ice.uec.ac.jp>
+#
+# $FreeBSD$
+#
+
+PORTNAME= hwloc
+PORTVERSION= 1.3
+CATEGORIES= devel
+MASTER_SITES= http://www.open-mpi.org/software/hwloc/v1.3/downloads/ \
+ http://icl.cs.utk.edu/open-mpi/software/hwloc/v1.3/downloads/
+
+MAINTAINER= phd_kimberlite@yahoo.co.jp
+COMMENT= The Portable Hardware Locality software package
+
+LICENSE= BSD
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --enable-static \
+ --enable-libxml2
+USE_BZIP2= yes
+USE_LDCONFIG= yes
+USE_GNOME= libxml2 pkgconfig
+MAKE_JOBS_SAFE= yes
+
+OPTIONS= CAIRO "Enable CAIRO support" off
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITHOUT_CAIRO)
+CONFIGURE_ARGS+= --disable-cairo \
+ --without-x
+.else
+CONFIGURE_ARGS+= --enable-cairo \
+ --with-x
+LIB_DEPENDS+= cairo.2:${PORTSDIR}/graphics/cairo
+USE_XORG= x11
+.endif
+
+.include "${FILESDIR}/manpages"
+
+post-patch:
+ @${REINPLACE_CMD} -e \
+ 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \
+ ${WRKSRC}/Makefile.in
+.ifdef NOPORTDOCS
+ @${REINPLACE_CMD} -e \
+ 's|^\(install-data-am:\) install-dist_pdfDATA \(install-man\)|\1 \2|g' \
+ ${WRKSRC}/doc/Makefile.in
+.endif
+
+post-install:
+ @(cd ${MAN1PREFIX}/man/man1/ ;\
+ ${LN} -sf lstopo.1.gz hwloc-info.1.gz ; \
+ ${LN} -sf lstopo.1.gz hwloc-ls.1.gz ;\
+ ${LN} -sf hwloc-calc.1.gz hwloc-mask.1.gz )
+.ifdef !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}/html
+ @${INSTALL_DATA} ${WRKSRC}/doc/doxygen-doc/html/* ${DOCSDIR}/html/.
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/devel/hwloc/distinfo b/devel/hwloc/distinfo
new file mode 100644
index 00000000000..3dd1d959ffa
--- /dev/null
+++ b/devel/hwloc/distinfo
@@ -0,0 +1,2 @@
+SHA256 (hwloc-1.3.tar.bz2) = be23f811db317f3dcb2449c20e976c45bdf546a74e22db43974c9f6721f8f483
+SIZE (hwloc-1.3.tar.bz2) = 2591703
diff --git a/devel/hwloc/files/manpages b/devel/hwloc/files/manpages
new file mode 100644
index 00000000000..120973599ca
--- /dev/null
+++ b/devel/hwloc/files/manpages
@@ -0,0 +1,314 @@
+MAN1= hwloc-bind.1 \
+ hwloc-calc.1 \
+ hwloc-distrib.1 \
+ hwloc-ps.1 \
+ lstopo.1
+
+MAN3= HWLOC_API_VERSION.3 \
+ HWLOC_CPUBIND_NOMEMBIND.3 \
+ HWLOC_CPUBIND_PROCESS.3 \
+ HWLOC_CPUBIND_STRICT.3 \
+ HWLOC_CPUBIND_THREAD.3 \
+ HWLOC_MEMBIND_BIND.3 \
+ HWLOC_MEMBIND_DEFAULT.3 \
+ HWLOC_MEMBIND_FIRSTTOUCH.3 \
+ HWLOC_MEMBIND_INTERLEAVE.3 \
+ HWLOC_MEMBIND_MIGRATE.3 \
+ HWLOC_MEMBIND_MIXED.3 \
+ HWLOC_MEMBIND_NEXTTOUCH.3 \
+ HWLOC_MEMBIND_NOCPUBIND.3 \
+ HWLOC_MEMBIND_PROCESS.3 \
+ HWLOC_MEMBIND_REPLICATE.3 \
+ HWLOC_MEMBIND_STRICT.3 \
+ HWLOC_MEMBIND_THREAD.3 \
+ HWLOC_OBJ_BRIDGE.3 \
+ HWLOC_OBJ_BRIDGE_HOST.3 \
+ HWLOC_OBJ_BRIDGE_PCI.3 \
+ HWLOC_OBJ_CACHE.3 \
+ HWLOC_OBJ_CORE.3 \
+ HWLOC_OBJ_GROUP.3 \
+ HWLOC_OBJ_MACHINE.3 \
+ HWLOC_OBJ_MISC.3 \
+ HWLOC_OBJ_NODE.3 \
+ HWLOC_OBJ_OSDEV_BLOCK.3 \
+ HWLOC_OBJ_OSDEV_DMA.3 \
+ HWLOC_OBJ_OSDEV_GPU.3 \
+ HWLOC_OBJ_OSDEV_NETWORK.3 \
+ HWLOC_OBJ_OSDEV_OPENFABRICS.3 \
+ HWLOC_OBJ_OS_DEVICE.3 \
+ HWLOC_OBJ_PCI_DEVICE.3 \
+ HWLOC_OBJ_PU.3 \
+ HWLOC_OBJ_SOCKET.3 \
+ HWLOC_OBJ_SYSTEM.3 \
+ HWLOC_OBJ_TYPE_MAX.3 \
+ HWLOC_RESTRICT_FLAG_ADAPT_DISTANCES.3 \
+ HWLOC_RESTRICT_FLAG_ADAPT_IO.3 \
+ HWLOC_RESTRICT_FLAG_ADAPT_MISC.3 \
+ HWLOC_TOPOLOGY_FLAG_IO_BRIDGES.3 \
+ HWLOC_TOPOLOGY_FLAG_IO_DEVICES.3 \
+ HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM.3 \
+ HWLOC_TOPOLOGY_FLAG_WHOLE_IO.3 \
+ HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM.3 \
+ HWLOC_TYPE_DEPTH_MULTIPLE.3 \
+ HWLOC_TYPE_DEPTH_UNKNOWN.3 \
+ HWLOC_TYPE_UNORDERED.3 \
+ hwloc_alloc.3 \
+ hwloc_alloc_membind.3 \
+ hwloc_alloc_membind_nodeset.3 \
+ hwloc_alloc_membind_policy.3 \
+ hwloc_alloc_membind_policy_nodeset.3 \
+ hwloc_bitmap_allbut.3 \
+ hwloc_bitmap_alloc.3 \
+ hwloc_bitmap_alloc_full.3 \
+ hwloc_bitmap_and.3 \
+ hwloc_bitmap_andnot.3 \
+ hwloc_bitmap_asprintf.3 \
+ hwloc_bitmap_clr.3 \
+ hwloc_bitmap_clr_range.3 \
+ hwloc_bitmap_compare.3 \
+ hwloc_bitmap_compare_first.3 \
+ hwloc_bitmap_copy.3 \
+ hwloc_bitmap_dup.3 \
+ hwloc_bitmap_fill.3 \
+ hwloc_bitmap_first.3 \
+ hwloc_bitmap_foreach_begin.3 \
+ hwloc_bitmap_foreach_end.3 \
+ hwloc_bitmap_free.3 \
+ hwloc_bitmap_from_ith_ulong.3 \
+ hwloc_bitmap_from_ulong.3 \
+ hwloc_bitmap_intersects.3 \
+ hwloc_bitmap_isequal.3 \
+ hwloc_bitmap_isfull.3 \
+ hwloc_bitmap_isincluded.3 \
+ hwloc_bitmap_isset.3 \
+ hwloc_bitmap_iszero.3 \
+ hwloc_bitmap_last.3 \
+ hwloc_bitmap_list_asprintf.3 \
+ hwloc_bitmap_list_snprintf.3 \
+ hwloc_bitmap_list_sscanf.3 \
+ hwloc_bitmap_next.3 \
+ hwloc_bitmap_not.3 \
+ hwloc_bitmap_only.3 \
+ hwloc_bitmap_or.3 \
+ hwloc_bitmap_set.3 \
+ hwloc_bitmap_set_ith_ulong.3 \
+ hwloc_bitmap_set_range.3 \
+ hwloc_bitmap_singlify.3 \
+ hwloc_bitmap_snprintf.3 \
+ hwloc_bitmap_sscanf.3 \
+ hwloc_bitmap_t.3 \
+ hwloc_bitmap_taskset_asprintf.3 \
+ hwloc_bitmap_taskset_snprintf.3 \
+ hwloc_bitmap_taskset_sscanf.3 \
+ hwloc_bitmap_to_ith_ulong.3 \
+ hwloc_bitmap_to_ulong.3 \
+ hwloc_bitmap_weight.3 \
+ hwloc_bitmap_xor.3 \
+ hwloc_bitmap_zero.3 \
+ hwloc_bridge_covers_pcibus.3 \
+ hwloc_compare_types.3 \
+ hwloc_compare_types_e.3 \
+ hwloc_const_bitmap_t.3 \
+ hwloc_const_cpuset_t.3 \
+ hwloc_const_nodeset_t.3 \
+ hwloc_cpubind_flags_t.3 \
+ hwloc_cpuset_from_glibc_sched_affinity.3 \
+ hwloc_cpuset_from_linux_libnuma_bitmask.3 \
+ hwloc_cpuset_from_linux_libnuma_nodemask.3 \
+ hwloc_cpuset_from_linux_libnuma_ulongs.3 \
+ hwloc_cpuset_from_nodeset.3 \
+ hwloc_cpuset_from_nodeset_strict.3 \
+ hwloc_cpuset_t.3 \
+ hwloc_cpuset_to_glibc_sched_affinity.3 \
+ hwloc_cpuset_to_linux_libnuma_bitmask.3 \
+ hwloc_cpuset_to_linux_libnuma_nodemask.3 \
+ hwloc_cpuset_to_linux_libnuma_ulongs.3 \
+ hwloc_cpuset_to_nodeset.3 \
+ hwloc_cpuset_to_nodeset_strict.3 \
+ hwloc_cuda_get_device_cpuset.3 \
+ hwloc_cudart_get_device_cpuset.3 \
+ hwloc_distances_s.3 \
+ hwloc_distribute.3 \
+ hwloc_distributev.3 \
+ hwloc_free.3 \
+ hwloc_free_xmlbuffer.3 \
+ hwloc_get_ancestor_obj_by_depth.3 \
+ hwloc_get_ancestor_obj_by_type.3 \
+ hwloc_get_api_version.3 \
+ hwloc_get_area_membind.3 \
+ hwloc_get_area_membind_nodeset.3 \
+ hwloc_get_cache_covering_cpuset.3 \
+ hwloc_get_child_covering_cpuset.3 \
+ hwloc_get_closest_objs.3 \
+ hwloc_get_common_ancestor_obj.3 \
+ hwloc_get_cpubind.3 \
+ hwloc_get_depth_type.3 \
+ hwloc_get_distance_matrix_covering_obj_by_depth.3 \
+ hwloc_get_first_largest_obj_inside_cpuset.3 \
+ hwloc_get_hostbridge_by_pcibus.3 \
+ hwloc_get_largest_objs_inside_cpuset.3 \
+ hwloc_get_last_cpu_location.3 \
+ hwloc_get_latency.3 \
+ hwloc_get_membind.3 \
+ hwloc_get_membind_nodeset.3 \
+ hwloc_get_nbobjs_by_depth.3 \
+ hwloc_get_nbobjs_by_type.3 \
+ hwloc_get_nbobjs_inside_cpuset_by_depth.3 \
+ hwloc_get_nbobjs_inside_cpuset_by_type.3 \
+ hwloc_get_next_bridge.3 \
+ hwloc_get_next_child.3 \
+ hwloc_get_next_obj_by_depth.3 \
+ hwloc_get_next_obj_by_type.3 \
+ hwloc_get_next_obj_covering_cpuset_by_depth.3 \
+ hwloc_get_next_obj_covering_cpuset_by_type.3 \
+ hwloc_get_next_obj_inside_cpuset_by_depth.3 \
+ hwloc_get_next_obj_inside_cpuset_by_type.3 \
+ hwloc_get_next_osdev.3 \
+ hwloc_get_next_pcidev.3 \
+ hwloc_get_non_io_ancestor_obj.3 \
+ hwloc_get_obj_below_array_by_type.3 \
+ hwloc_get_obj_below_by_type.3 \
+ hwloc_get_obj_by_depth.3 \
+ hwloc_get_obj_by_type.3 \
+ hwloc_get_obj_covering_cpuset.3 \
+ hwloc_get_obj_inside_cpuset_by_depth.3 \
+ hwloc_get_obj_inside_cpuset_by_type.3 \
+ hwloc_get_pcidev_by_busid.3 \
+ hwloc_get_pcidev_by_busidstring.3 \
+ hwloc_get_proc_cpubind.3 \
+ hwloc_get_proc_last_cpu_location.3 \
+ hwloc_get_proc_membind.3 \
+ hwloc_get_proc_membind_nodeset.3 \
+ hwloc_get_pu_obj_by_os_index.3 \
+ hwloc_get_root_obj.3 \
+ hwloc_get_shared_cache_covering_obj.3 \
+ hwloc_get_thread_cpubind.3 \
+ hwloc_get_type_depth.3 \
+ hwloc_get_type_depth_e.3 \
+ hwloc_get_type_or_above_depth.3 \
+ hwloc_get_type_or_below_depth.3 \
+ hwloc_get_whole_distance_matrix_by_depth.3 \
+ hwloc_get_whole_distance_matrix_by_type.3 \
+ hwloc_ibv_get_device_cpuset.3 \
+ hwloc_linux_get_tid_cpubind.3 \
+ hwloc_linux_parse_cpumap_file.3 \
+ hwloc_linux_set_tid_cpubind.3 \
+ hwloc_membind_flags_t.3 \
+ hwloc_membind_policy_t.3 \
+ hwloc_mx_board_get_device_cpuset.3 \
+ hwloc_mx_endpoint_get_device_cpuset.3 \
+ hwloc_nodeset_from_linux_libnuma_bitmask.3 \
+ hwloc_nodeset_from_linux_libnuma_nodemask.3 \
+ hwloc_nodeset_from_linux_libnuma_ulongs.3 \
+ hwloc_nodeset_t.3 \
+ hwloc_nodeset_to_linux_libnuma_bitmask.3 \
+ hwloc_nodeset_to_linux_libnuma_nodemask.3 \
+ hwloc_nodeset_to_linux_libnuma_ulongs.3 \
+ hwloc_obj.3 \
+ hwloc_obj_add_info.3 \
+ hwloc_obj_attr_snprintf.3 \
+ hwloc_obj_attr_u.3 \
+ hwloc_obj_attr_u_hwloc_bridge_attr_s.3 \
+ hwloc_obj_attr_u_hwloc_cache_attr_s.3 \
+ hwloc_obj_attr_u_hwloc_group_attr_s.3 \
+ hwloc_obj_attr_u_hwloc_osdev_attr_s.3 \
+ hwloc_obj_attr_u_hwloc_pcidev_attr_s.3 \
+ hwloc_obj_bridge_type_e.3 \
+ hwloc_obj_bridge_type_t.3 \
+ hwloc_obj_cpuset_snprintf.3 \
+ hwloc_obj_get_info_by_name.3 \
+ hwloc_obj_info_s.3 \
+ hwloc_obj_is_in_subtree.3 \
+ hwloc_obj_memory_s.3 \
+ hwloc_obj_memory_s_hwloc_obj_memory_page_type_s.3 \
+ hwloc_obj_osdev_type_e.3 \
+ hwloc_obj_osdev_type_t.3 \
+ hwloc_obj_snprintf.3 \
+ hwloc_obj_t.3 \
+ hwloc_obj_type_of_string.3 \
+ hwloc_obj_type_snprintf.3 \
+ hwloc_obj_type_string.3 \
+ hwloc_obj_type_t.3 \
+ hwloc_restrict_flags_e.3 \
+ hwloc_set_area_membind.3 \
+ hwloc_set_area_membind_nodeset.3 \
+ hwloc_set_cpubind.3 \
+ hwloc_set_membind.3 \
+ hwloc_set_membind_nodeset.3 \
+ hwloc_set_proc_cpubind.3 \
+ hwloc_set_proc_membind.3 \
+ hwloc_set_proc_membind_nodeset.3 \
+ hwloc_set_thread_cpubind.3 \
+ hwloc_topology_check.3 \
+ hwloc_topology_cpubind_support.3 \
+ hwloc_topology_destroy.3 \
+ hwloc_topology_discovery_support.3 \
+ hwloc_topology_export_xml.3 \
+ hwloc_topology_export_xmlbuffer.3 \
+ hwloc_topology_flags_e.3 \
+ hwloc_topology_get_allowed_cpuset.3 \
+ hwloc_topology_get_allowed_nodeset.3 \
+ hwloc_topology_get_complete_cpuset.3 \
+ hwloc_topology_get_complete_nodeset.3 \
+ hwloc_topology_get_depth.3 \
+ hwloc_topology_get_online_cpuset.3 \
+ hwloc_topology_get_support.3 \
+ hwloc_topology_get_topology_cpuset.3 \
+ hwloc_topology_get_topology_nodeset.3 \
+ hwloc_topology_ignore_all_keep_structure.3 \
+ hwloc_topology_ignore_type.3 \
+ hwloc_topology_ignore_type_keep_structure.3 \
+ hwloc_topology_init.3 \
+ hwloc_topology_insert_misc_object_by_cpuset.3 \
+ hwloc_topology_insert_misc_object_by_parent.3 \
+ hwloc_topology_is_thissystem.3 \
+ hwloc_topology_load.3 \
+ hwloc_topology_membind_support.3 \
+ hwloc_topology_restrict.3 \
+ hwloc_topology_set_distance_matrix.3 \
+ hwloc_topology_set_flags.3 \
+ hwloc_topology_set_fsroot.3 \
+ hwloc_topology_set_pid.3 \
+ hwloc_topology_set_synthetic.3 \
+ hwloc_topology_set_xml.3 \
+ hwloc_topology_set_xmlbuffer.3 \
+ hwloc_topology_support.3 \
+ hwloc_topology_t.3 \
+ hwlocality_advanced_io.3 \
+ hwlocality_api_version.3 \
+ hwlocality_bitmap.3 \
+ hwlocality_configuration.3 \
+ hwlocality_conversion.3 \
+ hwlocality_cpubinding.3 \
+ hwlocality_creation.3 \
+ hwlocality_cuda.3 \
+ hwlocality_cudart.3 \
+ hwlocality_distances.3 \
+ hwlocality_glibc_sched.3 \
+ hwlocality_helper_binding.3 \
+ hwlocality_helper_cpuset.3 \
+ hwlocality_helper_find_cache.3 \
+ hwlocality_helper_find_covering.3 \
+ hwlocality_helper_find_coverings.3 \
+ hwlocality_helper_find_inside.3 \
+ hwlocality_helper_nodeset.3 \
+ hwlocality_helper_nodeset_convert.3 \
+ hwlocality_helper_traversal.3 \
+ hwlocality_helper_traversal_basic.3 \
+ hwlocality_helper_types.3 \
+ hwlocality_information.3 \
+ hwlocality_linux.3 \
+ hwlocality_linux_libnuma_bitmask.3 \
+ hwlocality_linux_libnuma_nodemask.3 \
+ hwlocality_linux_libnuma_ulongs.3 \
+ hwlocality_membinding.3 \
+ hwlocality_myriexpress.3 \
+ hwlocality_objects.3 \
+ hwlocality_openfabrics.3 \
+ hwlocality_sets.3 \
+ hwlocality_tinker.3 \
+ hwlocality_topology.3 \
+ hwlocality_traversal.3 \
+ hwlocality_types.3
+
+MAN7= hwloc.7
diff --git a/devel/hwloc/files/patch-configure b/devel/hwloc/files/patch-configure
new file mode 100644
index 00000000000..44991d55882
--- /dev/null
+++ b/devel/hwloc/files/patch-configure
@@ -0,0 +1,16 @@
+--- configure.orig 2011-10-13 03:44:20.000000000 +0900
++++ configure 2011-12-18 10:43:10.000000000 +0900
+@@ -5555,7 +5555,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which CPU support to include" >&5
+ $as_echo_n "checking which CPU support to include... " >&6; }
+ case ${target} in
+- i*86-*-*|x86_64-*-*)
++ i*86-*-*|x86_64-*-*|amd64-*-*)
+ case ${ac_cv_sizeof_void_p} in
+ 4)
+
+@@ -23774,4 +23774,3 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+-
diff --git a/devel/hwloc/files/patch-utils+Makefile.in b/devel/hwloc/files/patch-utils+Makefile.in
new file mode 100644
index 00000000000..2f54444bae9
--- /dev/null
+++ b/devel/hwloc/files/patch-utils+Makefile.in
@@ -0,0 +1,14 @@
+--- utils/Makefile.in.orig 2011-10-13 03:44:22.000000000 +0900
++++ utils/Makefile.in 2011-12-18 11:55:12.000000000 +0900
+@@ -1235,11 +1235,9 @@
+ @HWLOC_BUILD_UTILS_TRUE@ rm -f $(DESTDIR)$(bindir)/hwloc-ls$(EXEEXT) $(DESTDIR)$(bindir)/hwloc-info$(EXEEXT) $(DESTDIR)$(bindir)/hwloc-mask$(EXEEXT)
+ @HWLOC_BUILD_UTILS_TRUE@ cd $(DESTDIR)$(bindir) && $(LN_S) lstopo$(EXEEXT) hwloc-ls$(EXEEXT) && $(LN_S) lstopo$(EXEEXT) hwloc-info$(EXEEXT) && $(LN_S) hwloc-calc$(EXEEXT) hwloc-mask$(EXEEXT)
+ @HWLOC_BUILD_UTILS_TRUE@ rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 $(DESTDIR)$(man1dir)/hwloc-info.1 $(DESTDIR)$(man1dir)/hwloc-mask.1
+-@HWLOC_BUILD_UTILS_TRUE@ cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo.1 hwloc-ls.1 && $(LN_S) lstopo.1 hwloc-info.1 && $(LN_S) hwloc-calc.1 hwloc-mask.1
+
+ @HWLOC_BUILD_UTILS_TRUE@uninstall-local:
+ @HWLOC_BUILD_UTILS_TRUE@ rm -f $(DESTDIR)$(bindir)/hwloc-ls$(EXEEXT) $(DESTDIR)$(bindir)/hwloc-info$(EXEEXT) $(DESTDIR)$(bindir)/hwloc-mask$(EXEEXT)
+-@HWLOC_BUILD_UTILS_TRUE@ rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 $(DESTDIR)$(man1dir)/hwloc-info.1 $(DESTDIR)$(man1dir)/hwloc-mask.1
+
+ @HWLOC_BUILD_UTILS_TRUE@distclean-local:
+ @HWLOC_BUILD_UTILS_TRUE@ rm -f $(nodist_man_MANS)
diff --git a/devel/hwloc/pkg-descr b/devel/hwloc/pkg-descr
new file mode 100644
index 00000000000..f6fc0a2a666
--- /dev/null
+++ b/devel/hwloc/pkg-descr
@@ -0,0 +1,16 @@
+The Portable Hardware Locality (hwloc) software package provides
+a portable abstraction (across OS, versions, architectures, ...) of
+the hierarchical topology of modern architectures, including as follows:
+ - NUMA memory nodes;
+ - sockets;
+ - shared caches;
+ - cores and simultaneous multithreading.
+It also gathers various system attributes such as cache and
+memory information as well as the locality of I/O devices
+(such as network interfaces, InfiniBand HCAs or GPUs).
+It primarily aims at helping applications with gathering information about
+modern computing hardware so as to exploit it accordingly and efficiently [1].
+
+[1] Portable Hardware Locality (hwloc) WWW.
+
+WWW: http://www.open-mpi.org/projects/hwloc/
diff --git a/devel/hwloc/pkg-plist b/devel/hwloc/pkg-plist
new file mode 100644
index 00000000000..e4480464079
--- /dev/null
+++ b/devel/hwloc/pkg-plist
@@ -0,0 +1,133 @@
+lib/libhwloc.so.4
+lib/libhwloc.so
+lib/libhwloc.la
+lib/libhwloc.a
+libdata/pkgconfig/hwloc.pc
+share/hwloc/hwloc.dtd
+%%PORTDOCS%%%%DOCSDIR%%/hwloc-a4.pdf
+%%PORTDOCS%%%%DOCSDIR%%/hwloc-letter.pdf
+%%PORTDOCS%%%%DOCSDIR%%/html/a00011.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00012.html
+%%PORTDOCS%%%%DOCSDIR%%/html/ppc64-without-smt.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00041.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00053.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00042.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00060.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00032_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00029_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00052.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tab_b.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00014.html
+%%PORTDOCS%%%%DOCSDIR%%/html/closed.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00005.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00022.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00040.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00058.html
+%%PORTDOCS%%%%DOCSDIR%%/html/modules.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00016.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00051.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00018.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hagrid.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00069.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00021.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00023.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00047.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00028_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/ppc64-with-smt.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00062.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tab_a.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00049.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00020.html
+%%PORTDOCS%%%%DOCSDIR%%/html/diagram.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00009.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00030_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/nav_h.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00036_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00043.html
+%%PORTDOCS%%%%DOCSDIR%%/html/files.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00063.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00067.html
+%%PORTDOCS%%%%DOCSDIR%%/html/bc_s.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00050.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00034_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00025.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00004.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00003.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00035_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/nav_f.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00048.html
+%%PORTDOCS%%%%DOCSDIR%%/html/open.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00056.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00061.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00068.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00015.html
+%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00054.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00039.html
+%%PORTDOCS%%%%DOCSDIR%%/html/annotated.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00070.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00019.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tabs.css
+%%PORTDOCS%%%%DOCSDIR%%/html/a00026_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00046.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00017.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00059.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00071.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00038.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00066.html
+%%PORTDOCS%%%%DOCSDIR%%/html/pages.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00010.html
+%%PORTDOCS%%%%DOCSDIR%%/html/devel09-pci.png
+%%PORTDOCS%%%%DOCSDIR%%/html/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00013.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00027_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/functions.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00024.html
+%%PORTDOCS%%%%DOCSDIR%%/html/dudley.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00064.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tab_s.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00044.html
+%%PORTDOCS%%%%DOCSDIR%%/html/emmett.png
+%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.css
+%%PORTDOCS%%%%DOCSDIR%%/html/a00072.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00001.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00057.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tab_h.png
+%%PORTDOCS%%%%DOCSDIR%%/html/a00006.html
+%%PORTDOCS%%%%DOCSDIR%%/html/ppc64-full-with-smt.png
+%%PORTDOCS%%%%DOCSDIR%%/html/functions_vars.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00008.html
+%%PORTDOCS%%%%DOCSDIR%%/html/classes.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00007.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00065.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00037.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00002.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00045.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00033_source.html
+%%PORTDOCS%%%%DOCSDIR%%/html/a00055.html
+man/man1/hwloc-info.1.gz
+man/man1/hwloc-ls.1.gz
+man/man1/hwloc-mask.1.gz
+include/hwloc.h
+include/hwloc/bitmap.h
+include/hwloc/cpuset.h
+include/hwloc/helper.h
+include/hwloc/myriexpress.h
+include/hwloc/openfabrics-verbs.h
+include/hwloc/cuda.h
+include/hwloc/cudart.h
+include/hwloc/rename.h
+include/hwloc/autogen/config.h
+bin/lstopo
+bin/hwloc-calc
+bin/hwloc-bind
+bin/hwloc-distrib
+bin/hwloc-ps
+bin/hwloc-ls
+bin/hwloc-info
+bin/hwloc-mask
+@dirrmtry include/hwloc/autogen
+@dirrmtry include/hwloc
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%/html
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%
+@dirrmtry share/hwloc