~ruther/guix-local

13424a4a3548978de5646a70e22b1e03ea2a8231 — Zhu Zihao 1 year, 1 month ago 96ca564
gnu: libobjc2: Update to 2.2.1.

* gnu/local.mk (dist_patch_DATA): Remove entry for
libobjc2-unbundle-robin-map.patch.
* gnu/packages/patches/libobjc2-unbundle-robin-map.patch: Remove file.
* gnu/packages/gnustep.scm (libobjc2): Update to 2.2.1.
[source]: Remove unused patch.
[arguments]: Update packaging comments.
<#:configure-flags>: Enable tests.
[home-page]: Switch to HTTPS.

Change-Id: Ief5b4831eb22589d096a379f4cdbf35689c4cf95
Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com>
3 files changed, 10 insertions(+), 58 deletions(-)

M gnu/local.mk
M gnu/packages/gnustep.scm
D gnu/packages/patches/libobjc2-unbundle-robin-map.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1679,7 1679,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/libgeotiff-fix-tests-on-i386.patch	\
  %D%/packages/patches/libguestfs-syms.patch            	\
  %D%/packages/patches/libinfinity-renew-test-certificate.patch \
  %D%/packages/patches/libobjc2-unbundle-robin-map.patch	\
  %D%/packages/patches/libretro-dolphin-emu-data.patch		\
  %D%/packages/patches/librewolf-neuter-locale-download.patch	\
  %D%/packages/patches/librewolf-use-system-wide-dir.patch	\

M gnu/packages/gnustep.scm => gnu/packages/gnustep.scm +10 -10
@@ 3,7 3,7 @@
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022, 2025 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 76,7 76,7 @@ to easily create cross-compiled binaries.")
(define-public libobjc2
  (package
    (name "libobjc2")
    (version "2.1")
    (version "2.2.1")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 84,20 84,20 @@ to easily create cross-compiled binaries.")
                    (commit (string-append "v" version))))
              (sha256
               (base32
                "1zjryzvy06gjf36gz6zrkg9icwz6wsf80mp94x6bq1109vkl40b5"))
              (file-name (git-file-name name version))
              (patches
               (search-patches "libobjc2-unbundle-robin-map.patch"))))
                "1srbmxfz906x1myblr0vzl5rzlw4cyn1sh11fhxwk2nvhvbzdlzq"))
              (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments
     (list
      ;; XXX: Cannot use GCC to compile ObjC code due to
      ;; https://issues.guix.gnu.org/29644.
      ;; NOTE: Though the issue of GCC cannot compile ObjC code described
      ;; in https://issues.guix.gnu.org/29644 is fixed.
      ;; But libobjc2 says it 'strongly recommended that you compile with clang'
      #:configure-flags #~(list "-DCMAKE_C_COMPILER=clang"
                                "-DCMAKE_CXX_COMPILER=clang++")))
                                "-DCMAKE_CXX_COMPILER=clang++"
                                "-DTESTS=ON")))
    (inputs
     (list clang robin-map))
    (home-page "http://www.gnustep.org/")
    (home-page "https://www.gnustep.org/")
    (synopsis "Objective-C runtime library for Clang")
    (description "Libobjc2 is an Objective-C runtime library designed as a
drop-in replacement for GCC runtime.  It supports following features beyond

D gnu/packages/patches/libobjc2-unbundle-robin-map.patch => gnu/packages/patches/libobjc2-unbundle-robin-map.patch +0 -47
@@ 1,47 0,0 @@
From 2c5b0d5d6eba3bda4e83f489da546060fa8f3a2b Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Sat, 26 Mar 2022 16:54:43 +0800
Subject: [PATCH] Unbundle robin-map.

This patch makes libobjc2 use robin-map header from system instead of cloning
from submodule.
---
 CMakeLists.txt | 8 --------
 arc.mm         | 2 +-
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2746e9..cf731f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,14 +86,6 @@ else ()
 	list(APPEND libobjc_C_SRCS eh_personality.c)
 endif (WIN32)
 
-if (NOT EXISTS "${CMAKE_SOURCE_DIR}/third_party/robin-map/include/tsl/robin_map.h")
-	message(FATAL_ERROR "Git submodules not present, please run:\n\n"
-						" $ git submodule init && git submodule update\n\n"
-						"If you did not checkout via git, you will need to"
-						"fetch the submodule's contents from"
-						"https://github.com/Tessil/robin-map/")
-endif ()
-
 # For release builds, we disable spamming the terminal with warnings about
 # selector type mismatches
 if (CMAKE_BUILD_TYPE STREQUAL Release)
diff --git a/arc.mm b/arc.mm
index c96681f..cc93e7f 100644
--- a/arc.mm
+++ b/arc.mm
@@ -3,7 +3,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
-#include "third_party/robin-map/include/tsl/robin_map.h"
+#include <tsl/robin_map.h>
 #import "lock.h"
 #import "objc/runtime.h"
 #import "objc/blocks_runtime.h"
-- 
2.34.0