Add new package: davix (#8376)

* Add new package: davix

* Add list_url

* Remove extra spaces, add list_depth and specify dependency type
This commit is contained in:
Javier Cervantes 2018-06-07 01:54:07 +02:00 committed by Adam J. Stewart
parent 8e161f1034
commit 728351faae
2 changed files with 109 additions and 0 deletions

View File

@ -0,0 +1,66 @@
---
cmake/modules/Finduuid.cmake | 48 +++++++++++++++++-------------------
1 file changed, 22 insertions(+), 26 deletions(-)
diff --git a/cmake/modules/Finduuid.cmake b/cmake/modules/Finduuid.cmake
index 2f97a1f..e2c7d13 100644
--- a/cmake/modules/Finduuid.cmake
+++ b/cmake/modules/Finduuid.cmake
@@ -1,32 +1,28 @@
-# Try to find uuid
-# Once done, this will define
-#
-# UUID_FOUND - system has uuid
-# UUID_INCLUDE_DIRS - uuid include directories
-# UUID_LIBRARIES - libraries needed to use uuid
-
+include(CheckCXXSymbolExists)
+include(CheckLibraryExists)
include(FindPackageHandleStandardArgs)
-if(UUID_INCLUDE_DIRS AND UUID_LIBRARIES)
- set(UUID_FIND_QUIETLY TRUE)
-else()
- find_path(
- UUID_INCLUDE_DIR
- NAMES uuid.h
- HINTS ${UUID_ROOT_DIR}
- PATH_SUFFIXES include uuid)
-
- find_library(
- UUID_LIBRARY
- NAMES uuid
- HINTS ${UUID_ROOT_DIR}
- PATH_SUFFIXES ${LIBRARY_PATH_PREFIX})
+if(NOT UUID_INCLUDE_DIR)
+ find_path(UUID_INCLUDE_DIR uuid/uuid.h)
+endif()
+if(EXISTS UUID_INCLUDE_DIR)
set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR})
- set(UUID_LIBRARIES ${UUID_LIBRARY})
-
- find_package_handle_standard_args(
- uuid DEFAULT_MSG UUID_LIBRARY UUID_INCLUDE_DIR)
+ set(CMAKE_REQUIRED_INCLUDES ${UUID_INCLUDE_DIRS})
+ check_cxx_symbol_exists("uuid_generate_random" "uuid/uuid.h" _uuid_header_only)
+endif()
- mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
+if(NOT _uuid_header_only AND NOT UUID_LIBRARY)
+ check_library_exists("uuid" "uuid_generate_random" "" _have_libuuid)
+ if(_have_libuuid)
+ set(UUID_LIBRARY "uuid")
+ set(UUID_LIBRARIES ${UUID_LIBRARY})
+ endif()
endif()
+
+unset(CMAKE_REQUIRED_INCLUDES)
+unset(_uuid_header_only)
+unset(_have_libuuid)
+
+find_package_handle_standard_args(uuid DEFAULT_MSG UUID_INCLUDE_DIR)
+mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
--
2.17.0

View File

@ -0,0 +1,43 @@
##############################################################################
# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class Davix(CMakePackage):
"""High-performance file management over WebDAV/HTTP."""
homepage = "https://dmc.web.cern.ch/projects/davix"
url = "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/0.6.7/davix-0.6.7.tar.gz"
list_url = "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/"
list_depth = 1
version('0.6.7', 'f811647d924a6dc5852c92110359ed91')
depends_on('pkgconfig', type='build')
depends_on('libxml2')
depends_on('libuuid')
depends_on('openssl')
patch('davix-0.6.7-uuid.patch', when="@0.6.7")