diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 3 | ||||
-rw-r--r-- | gnu/packages/openpgp.scm | 39 | ||||
-rw-r--r-- | gnu/packages/patches/rnp-add-version.cmake.patch | 169 | ||||
-rw-r--r-- | gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch | 26 | ||||
-rw-r--r-- | gnu/packages/patches/rnp-unbundle-googletest.patch | 43 |
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 - |