gnu: Add fifo-map.

* gnu/packages/cpp.scm (fifo-map): New variable.
* gnu/packages/patches/fifo-map-fix-flags-for-gcc.patch: New file.
* gnu/packages/patches/fifo-map-remove-catch.hpp.patch: New file.
* gnu/local.mk: Add new patch files.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Fis Trivial 2018-05-28 08:10:26 +00:00 committed by Ludovic Courtès
parent ad8a4d6dc8
commit 385357c0d7
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
4 changed files with 115 additions and 0 deletions

View File

@ -661,6 +661,8 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spFactor.patch \ %D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \ %D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \
%D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
%D%/packages/patches/file-CVE-2017-1000249.patch \ %D%/packages/patches/file-CVE-2017-1000249.patch \
%D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-localstatedir.patch \
%D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/findutils-test-xargs.patch \

View File

@ -151,3 +151,47 @@ the same arithmetic operators as for single values. It also provides
accelerated implementation of common mathematical functions operating on accelerated implementation of common mathematical functions operating on
batches.") batches.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public fifo-map
(let* ((commit "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9")
(revision "0")
(version (git-version "1.1.1" revision commit)))
(package
(name "fifo-map")
(version version)
(home-page "https://github.com/nlohmann/fifo_map")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"0pi77b75kp0l7z454ihcd14nzpi3nc5m4nyjbsgy5f9bw3676196"))
(patches (search-patches "fifo-map-remove-catch.hpp.patch"
"fifo-map-fix-flags-for-gcc.patch"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "./test/thirdparty"))))
(native-inputs
`(("catch2" ,catch-framework2)))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "./unit")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(inc (string-append out "/include/fifo_map")))
(with-directory-excursion
(string-append "../" ,name "-" ,version "-checkout")
(install-file "src/fifo_map.hpp" inc)
#t)))))))
(synopsis "FIFO-ordered associative container for C++")
(description "Fifo_map is a C++ header only library for associative
container which uses the order in which keys were inserted to the container
as ordering relation.")
(license license:expat))))

View File

@ -0,0 +1,39 @@
From 0871db30bd73d112a434f54572d34cca28de61c5 Mon Sep 17 00:00:00 2001
From: fis <ybbs.daans@hotmail.com>
Date: Sat, 26 May 2018 22:58:37 +0800
Subject: [PATCH 2/2] * CMakeLists.txt: Fix flags for gcc.
---
CMakeLists.txt | 18 ++----------------
1 file changed, 2 insertions(+), 16 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eba147b..d60dcef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,20 +6,6 @@ add_executable(unit src/fifo_map.hpp test/unit.cpp)
target_include_directories(unit PRIVATE "test" "src")
-if(MSVC)
- set(CMAKE_CXX_FLAGS
- "/EHsc"
- )
+set(CMAKE_CXX_FLAGS "-std=c++11 -fpermissive")
- STRING(REPLACE "/O2" "/Od" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
-
- add_definitions(-D_SCL_SECURE_NO_WARNINGS)
-else(MSVC)
- set(CMAKE_CXX_FLAGS
- "-std=c++11 -stdlib=libc++"
- )
-endif(MSVC)
-
-include_directories(
- src test
-)
+include_directories(src test)
--
2.14.3

View File

@ -0,0 +1,30 @@
From 20dcf90fd02511f8d78ea7cc8ac82c121fd2f6cf Mon Sep 17 00:00:00 2001
From: fis <ybbs.daans@hotmail.com>
Date: Sat, 26 May 2018 22:56:29 +0800
Subject: [PATCH 1/2] * CMakeLists.txt: Remove catch.hpp.
---
CMakeLists.txt | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6603c7f..eba147b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,11 +2,9 @@ cmake_minimum_required(VERSION 2.8)
project(fifo_map LANGUAGES CXX)
-add_executable(unit
- src/fifo_map.hpp test/thirdparty/catch/catch.hpp test/unit.cpp
-)
+add_executable(unit src/fifo_map.hpp test/unit.cpp)
-target_include_directories(unit PRIVATE "test" "src" "test/thirdparty")
+target_include_directories(unit PRIVATE "test" "src")
if(MSVC)
set(CMAKE_CXX_FLAGS
--
2.14.3