summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/openpgp.scm39
-rw-r--r--gnu/packages/patches/rnp-add-version.cmake.patch169
-rw-r--r--gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch26
-rw-r--r--gnu/packages/patches/rnp-unbundle-googletest.patch43
5 files changed, 10 insertions, 270 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4fb0e9cec4..403c5f483e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1807,9 +1807,6 @@ dist_patch_DATA = \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
%D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \
%D%/packages/patches/r-mixedpower-r2power.patch \
- %D%/packages/patches/rnp-add-version.cmake.patch \
- %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
- %D%/packages/patches/rnp-unbundle-googletest.patch \
%D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \
diff --git a/gnu/packages/openpgp.scm b/gnu/packages/openpgp.scm
index 40df62a6d7..422e9bdcd6 100644
--- a/gnu/packages/openpgp.scm
+++ b/gnu/packages/openpgp.scm
@@ -97,49 +97,31 @@ environments.")
(license license:gpl2+)))
(define-public rnp
- ;; Packaging the currently released version requires a large number of
- ;; patches. For now, we package a snapshot instead.
- (let ((commit "203224f0b1505dba17837c03da603e5b98ab125a")
- (revision "0")
- (last-version "0.13.1")
- (day-of-release "2020-07-21"))
+ (let ((day-of-release "2022-09-22"))
(package
(name "rnp")
- (version (git-version last-version revision commit))
+ (version "0.16.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rnpgp/rnp")
- (commit commit)))
- (file-name
- (string-append name "-" (string-take commit 7) "-checkout"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1rnwhc9ys4v4mv584hmmrl0ycnqmsaigpffzm31qq337hz24zqya"))
- (patches
- (search-patches "rnp-unbundle-googletest.patch"
- "rnp-disable-ruby-rnp-tests.patch"
- "rnp-add-version.cmake.patch"))))
+ "13z5kxm48a72w4m2crwgdjdng4a4pwxsd72r2z3a4pcakfp2swi8"))))
(build-system cmake-build-system)
(arguments `(#:configure-flags
'("-DBUILD_SHARED_LIBS=on"
- "-DBUILD_TESTING=on")
+ "-DBUILD_TESTING=on"
+ "-DDOWNLOAD_GTEST=off"
+ "-DDOWNLOAD_RUBYRNP=off")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fixes
(lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively (assoc-ref inputs "googletest-source")
- "src/tests/googletest-src")
(substitute* "src/tests/support.cpp"
(("\"cp\"") (string-append "\"" (which "cp") "\"")))
- ;; Produce a version stamp in the format the upstream
- ;; project uses for unreleased revisions.
- (with-output-to-file "version.txt"
- (lambda _
- (display
- (string-append ,last-version
- "-" ,revision
- "-g" ,(string-take commit 7)))))
#t))
(replace 'check
(lambda _
@@ -149,11 +131,10 @@ environments.")
(invoke "faketime" ,day-of-release "make" "test"))))))
(native-inputs
`(("gnupg" ,gnupg) ; for tests
- ("googletest-source" ,(package-source googletest)) ; for tests
+ ("googletest" ,googletest)
("libfaketime" ,libfaketime) ; for tests
("pkg-config" ,pkg-config)
- ("python" ,python)
- ("python2" ,python-2.7)))
+ ("python" ,python)))
(inputs (list botan bzip2 json-c zlib))
(synopsis
"RFC4880-compliant OpenPGP library written in C++")
diff --git a/gnu/packages/patches/rnp-add-version.cmake.patch b/gnu/packages/patches/rnp-add-version.cmake.patch
deleted file mode 100644
index 67e3b75457..0000000000
--- a/gnu/packages/patches/rnp-add-version.cmake.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From b4326f4649ceb146d5cc74f8579b68d8dc8f51e6 Mon Sep 17 00:00:00 2001
-From: Justus Winter <teythoon@avior.uberspace.de>
-Date: Mon, 27 Jul 2020 14:00:25 +0200
-Subject: [PATCH 3/3] Add external version.cmake.
-
-This file is maintained in an external repository. It is only
-included in released versions. For building snapshots of RNP, a fixed
-snapshot of version.cmake is downloaded on demand. To avoid this,
-this patch explicitly provides the file.
----
- cmake/version.cmake | 146 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 146 insertions(+)
- create mode 100644 cmake/version.cmake
-
-diff --git a/cmake/version.cmake b/cmake/version.cmake
-new file mode 100644
-index 00000000..514027aa
---- /dev/null
-+++ b/cmake/version.cmake
-@@ -0,0 +1,146 @@
-+# Copyright (c) 2018 Ribose Inc.
-+# All rights reserved.
-+#
-+# Redistribution and use in source and binary forms, with or without
-+# modification, are permitted provided that the following conditions
-+# are met:
-+# 1. Redistributions of source code must retain the above copyright
-+# notice, this list of conditions and the following disclaimer.
-+# 2. Redistributions in binary form must reproduce the above copyright
-+# notice, this list of conditions and the following disclaimer in the
-+# documentation and/or other materials provided with the distribution.
-+#
-+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
-+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-+# POSSIBILITY OF SUCH DAMAGE.
-+
-+# desired length of commit hash
-+set(GIT_REV_LEN 7)
-+
-+# call git, store output in var (can fail)
-+macro(_git var)
-+ execute_process(
-+ COMMAND "${GIT_EXECUTABLE}" ${ARGN}
-+ WORKING_DIRECTORY "${source_dir}"
-+ RESULT_VARIABLE _git_ec
-+ OUTPUT_VARIABLE ${var}
-+ OUTPUT_STRIP_TRAILING_WHITESPACE
-+ ERROR_QUIET
-+ )
-+endmacro()
-+
-+# call git, store output in var (can not fail)
-+macro(git var)
-+ _git(${var} ${ARGN})
-+ if (NOT _git_ec EQUAL 0)
-+ string(REPLACE ";" " " args "${ARGN}")
-+ message(FATAL_ERROR "Failed to execute: git ${args}")
-+ endif()
-+endmacro()
-+
-+function(extract_version_info version var_prefix)
-+ # extract the main components
-+ # v1.9.0-3-g5b92266+1546836556
-+ # v1.9.0-3-g5b92266-dirty+1546836556
-+ string(REGEX MATCH "^v?([0-9]+\\.[0-9]+\\.[0-9]+)(-([0-9]+)-g([0-9a-f]+)(-dirty)?)?(\\+([0-9]+))?$" matches "${version}")
-+ if (NOT matches)
-+ message(FATAL_ERROR "Failed to extract version components.")
-+ endif()
-+ set(${var_prefix}_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) # 1.9.0
-+ if (NOT CMAKE_MATCH_3)
-+ set(CMAKE_MATCH_3 "0")
-+ endif()
-+ set(${var_prefix}_VERSION_NCOMMITS "${CMAKE_MATCH_3}" PARENT_SCOPE) # 3
-+ if (NOT CMAKE_MATCH_4)
-+ set(CMAKE_MATCH_4 "0")
-+ endif()
-+ set(${var_prefix}_VERSION_GIT_REV "${CMAKE_MATCH_4}" PARENT_SCOPE) # 5b92266
-+ if (CMAKE_MATCH_5 STREQUAL "-dirty")
-+ set(${var_prefix}_VERSION_IS_DIRTY TRUE PARENT_SCOPE)
-+ else()
-+ set(${var_prefix}_VERSION_IS_DIRTY FALSE PARENT_SCOPE)
-+ endif()
-+ # timestamp is optional, default to 0
-+ if (NOT CMAKE_MATCH_7)
-+ set(CMAKE_MATCH_7 "0")
-+ endif()
-+ set(${var_prefix}_VERSION_COMMIT_TIMESTAMP "${CMAKE_MATCH_7}" PARENT_SCOPE) # 1546836556
-+endfunction()
-+
-+function(determine_version source_dir var_prefix)
-+ if (EXISTS "${source_dir}/.git")
-+ # for GIT_EXECUTABLE
-+ find_package(Git REQUIRED)
-+ # get a description of the version, something like:
-+ # v1.9.1-0-g38ffe82 (a tagged release)
-+ # v1.9.1-0-g38ffe82-dirty (a tagged release with local modifications)
-+ # v1.9.0-3-g5b92266 (post-release snapshot)
-+ # v1.9.0-3-g5b92266-dirty (post-release snapshot with local modifications)
-+ _git(version describe --abbrev=${GIT_REV_LEN} --match "v[0-9]*" --long --dirty)
-+ if (NOT _git_ec EQUAL 0)
-+ # no annotated tags, fake one
-+ git(revision rev-parse --short=${GIT_REV_LEN} --verify HEAD)
-+ set(version "v0.0.0-0-g${revision}")
-+ # check if dirty (this won't detect untracked files, but should be ok)
-+ _git(changes diff-index --quiet HEAD --)
-+ if (NOT _git_ec EQUAL 0)
-+ string(APPEND version "-dirty")
-+ endif()
-+ # append the commit timestamp of the most recent commit (only
-+ # in non-release branches -- typically master)
-+ git(commit_timestamp show -s --format=%ct)
-+ string(APPEND version "+${commit_timestamp}")
-+ endif()
-+ else()
-+ # same as above, but used for snapshots
-+ file(STRINGS "${source_dir}/version.txt" version)
-+ endif()
-+ set(local_prefix "_determine_ver")
-+ extract_version_info("${version}" "${local_prefix}")
-+ foreach(suffix VERSION VERSION_NCOMMITS VERSION_GIT_REV VERSION_IS_DIRTY VERSION_COMMIT_TIMESTAMP)
-+ if (NOT DEFINED ${local_prefix}_${suffix})
-+ message(FATAL_ERROR "Unable to determine version.")
-+ endif()
-+ set(${var_prefix}_${suffix} "${${local_prefix}_${suffix}}" PARENT_SCOPE)
-+ message(STATUS "${var_prefix}_${suffix}: ${${local_prefix}_${suffix}}")
-+ endforeach()
-+ # Set VERSION_SUFFIX and VERSION_FULL. When making changes, be aware that
-+ # this is used in packaging as well and will affect ordering.
-+ # | state | version_full |
-+ # |------------------------------------------------|
-+ # | exact tag | 0.9.0 |
-+ # | exact tag, dirty | 0.9.0+git20180604 |
-+ # | after tag | 0.9.0+git20180604.1.085039f |
-+ # | no tag | 0.0.0+git20180604.2ee02af |
-+ string(TIMESTAMP date "%Y%m%d" UTC)
-+ set(version_suffix "")
-+ if ((NOT ${local_prefix}_VERSION_NCOMMITS EQUAL 0) OR (${local_prefix}_VERSION STREQUAL "0.0.0"))
-+ # 0.9.0+git20150604.4.289818b
-+ string(APPEND version_suffix "+git${date}")
-+ if (NOT ${local_prefix}_VERSION_NCOMMITS EQUAL 0)
-+ string(APPEND version_suffix ".${${local_prefix}_VERSION_NCOMMITS}")
-+ endif()
-+ string(APPEND version_suffix ".${${local_prefix}_VERSION_GIT_REV}")
-+ else()
-+ if (${local_prefix}_VERSION_IS_DIRTY)
-+ # 0.9.0+git20150604
-+ string(APPEND version_suffix "+git${date}")
-+ endif()
-+ endif()
-+ set(version_full "${${local_prefix}_VERSION}${version_suffix}")
-+ # set the results
-+ set(${var_prefix}_VERSION_SUFFIX "${version_suffix}" PARENT_SCOPE)
-+ set(${var_prefix}_VERSION_FULL "${version_full}" PARENT_SCOPE)
-+ # for informational purposes
-+ message(STATUS "${var_prefix}_VERSION_SUFFIX: ${version_suffix}")
-+ message(STATUS "${var_prefix}_VERSION_FULL: ${version_full}")
-+endfunction()
-+
---
-2.20.1
-
diff --git a/gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch b/gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch
deleted file mode 100644
index 5a75b6f40f..0000000000
--- a/gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 40e53d639d86337cf58be3a2b9750b6c97a3c740 Mon Sep 17 00:00:00 2001
-From: Justus Winter <teythoon@avior.uberspace.de>
-Date: Tue, 21 Jul 2020 16:10:21 +0200
-Subject: [PATCH 2/2] Disable ruby-rnp tests.
-
-Prevents cmake from cloning the ruby-rnp repository in order to run its tests.
----
- src/tests/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
-index d3c4fbe6..e7e1965e 100644
---- a/src/tests/CMakeLists.txt
-+++ b/src/tests/CMakeLists.txt
-@@ -125,7 +125,7 @@ gtest_discover_tests(rnp_tests
-
- # ruby-rnp
- # cruby does not currently play nice with ASaN et al.
--if (NOT ENABLE_SANITIZERS AND BUILD_SHARED_LIBS AND NOT WIN32)
-+if (NOT ENABLE_SANITIZERS AND BUILD_SHARED_LIBS AND NOT WIN32 AND IGNORE)
- include(ExternalProject)
- set(_sourcedir "${CMAKE_BINARY_DIR}/ruby-rnp")
- if (DEFINED ENV{RUBY_RNP_INSTALL})
---
-2.20.1
-
diff --git a/gnu/packages/patches/rnp-unbundle-googletest.patch b/gnu/packages/patches/rnp-unbundle-googletest.patch
deleted file mode 100644
index b85bfd1f0e..0000000000
--- a/gnu/packages/patches/rnp-unbundle-googletest.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 4b4697c8dd66bd2b1e4d6b831bbde46e27d62c46 Mon Sep 17 00:00:00 2001
-From: Justus Winter <teythoon@avior.uberspace.de>
-Date: Tue, 21 Jul 2020 16:10:12 +0200
-Subject: [PATCH 1/2] Unbundle googletest.
-
----
- src/tests/CMakeLists.txt | 2 +-
- src/tests/gtest-CMakeLists.txt.in | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
-index 0a841666..d3c4fbe6 100644
---- a/src/tests/CMakeLists.txt
-+++ b/src/tests/CMakeLists.txt
-@@ -53,7 +53,7 @@ endif()
- # maintain compiler/linker settings on Windows
- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
- # add to our build (provides gtest_main target)
--add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
-+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/googletest-src
- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
- EXCLUDE_FROM_ALL)
-
-diff --git a/src/tests/gtest-CMakeLists.txt.in b/src/tests/gtest-CMakeLists.txt.in
-index a43e8e5d..3cc0ddd5 100644
---- a/src/tests/gtest-CMakeLists.txt.in
-+++ b/src/tests/gtest-CMakeLists.txt.in
-@@ -4,9 +4,9 @@ project(googletest-download NONE)
-
- include(ExternalProject)
- ExternalProject_Add(googletest
-- GIT_REPOSITORY https://github.com/google/googletest.git
-- GIT_TAG c43f710
-- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
-+# GIT_REPOSITORY https://github.com/google/googletest.git
-+# GIT_TAG c43f710
-+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/googletest-src"
- BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ""
---
-2.20.1
-