[PATCH]: Add libobjc2.

  • Done
  • quality assurance status badge
Details
2 participants
  • Zhu Zihao
  • Ludovic Courtès
Owner
unassigned
Submitted by
Zhu Zihao
Severity
normal
Z
Z
Zhu Zihao wrote on 10 May 2022 14:15
(address . guix-patches@gnu.org)
86k0atbn1y.fsf@163.com

-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYnpXiRUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/mmdAEA+qfdiIj2hOkMP0eMIZAQEnhQ2HxJ
Cku8TSNR+iuD4W4A/1IzSSPDVQ9kpTcttr/TdOtHa3iMvF/mPHHTx7d8YEMF
=Ij3n
-----END PGP SIGNATURE-----

From 8ecb351adf9220651d7901d88c1acc120b2572f2 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Tue, 10 May 2022 19:57:17 +0800
Subject: [PATCH 1/3] gnu: Use license: prefix for gnu/packages/gnustep.scm.

* gnu/packages/gnustep.scm (gnustep-make)[license]: Use "license:" prefix.
(windowmaker): Ditto.
(wmbattery): Ditto.
(wmnd): Ditto.
(wmcpuload): Ditto.
(wmclock): Ditto.
(wmfire): Ditto.
---
gnu/packages/gnustep.scm | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index eef3863949..a6c7c800a8 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -3,6 +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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,7 +24,7 @@ (define-module (gnu packages gnustep)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages xorg)
@@ -62,7 +63,7 @@ (define-public gnustep-make
project without having to deal with the complex issues associated with
configuration, building, installation, and packaging. It also allows the user
to easily create cross-compiled binaries.")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public windowmaker
(package
@@ -153,7 +154,7 @@ (define-public windowmaker
interface. It is fast, feature rich, easy to configure, and easy to use.")
;; Artwork is distributed under the WTFPL.
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmbattery
(package
@@ -180,7 +181,7 @@ (define-public wmbattery
This includes if it is plugged in, if the battery is charging, how many minutes
of battery life remain, battery life remaining (with both a percentage and a
graph), and battery status (high - green, low - yellow, or critical - red).")
- (license gpl2)))
+ (license license:gpl2)))
(define-public wmnd
(package
@@ -204,7 +205,7 @@ (define-public wmnd
(description
"WMND is a dockapp for monitoring network interfaces under WindowMaker and
other compatible window managers.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmcpuload
(package
@@ -231,7 +232,7 @@ (define-public wmcpuload
on and off by clicking the mouse button over the application. If the CPU usage
hits a certain threshold, an alarm-mode will alert you by turning back-light
on.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmclock
(package
@@ -257,7 +258,7 @@ (define-public wmclock
"wmclock is an applet for Window Maker which displays the date and time in
a dockable tile. It features multiple language support, 24h or 12h time
display, and can run a user-specified program on mouse click.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmfire
(package
@@ -286,4 +287,4 @@ (define-public wmfire
entering the dock a burning spot replaces the cursor, and after two seconds
symbols to represent the current monitor are \"burnt\" onscreen. The flame
colour can also be changed.")
- (license gpl2+)))
+ (license license:gpl2+)))
--
2.36.0
From a0974ff954165732c90be02f20ac6e8701f4fb43 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Tue, 10 May 2022 19:27:25 +0800
Subject: [PATCH 3/3] gnu: clang: Add OBJC_INCLUDE_PATH to native-search-paths.

Clang is also a compiler for Objective-C.

* gnu/packages/llvm.scm (clang-for-llvm): Add OBJC_INCLUDE_PATH to native-search-paths.
---
gnu/packages/llvm.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 0fc2a8e380..619c3280fc 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -388,6 +388,9 @@ (define* (clang-from-llvm llvm clang-runtime
(search-path-specification
(variable "CPLUS_INCLUDE_PATH")
(files '("include/c++" "include")))
+ (search-path-specification
+ (variable "OBJC_INCLUDE_PATH")
+ (files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
--
2.36.0
--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
Z
Z
Zhu Zihao wrote on 10 May 2022 14:34
Re: bug#55349: Acknowledgement ([PATCH]: Add libobjc2.)
(address . 55349@debbugs.gnu.org)
864k1xbm5m.fsf@163.com
Remove unneeded input gcc-objc.
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYnpcFRUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/nTlwD6AwetRVblKV1sKuHAj1C/N/DaShU1
+3IaBnAGFycYpLoBANQgBfgYYV4C4cBq0kzoFdsfCLDDoVe7sB0ugNxai7cN
=kjdn
-----END PGP SIGNATURE-----

From 8ecb351adf9220651d7901d88c1acc120b2572f2 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Tue, 10 May 2022 19:57:17 +0800
Subject: [PATCH 1/3] gnu: Use license: prefix for gnu/packages/gnustep.scm.

* gnu/packages/gnustep.scm (gnustep-make)[license]: Use "license:" prefix.
(windowmaker): Ditto.
(wmbattery): Ditto.
(wmnd): Ditto.
(wmcpuload): Ditto.
(wmclock): Ditto.
(wmfire): Ditto.
---
gnu/packages/gnustep.scm | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index eef3863949..a6c7c800a8 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -3,6 +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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,7 +24,7 @@ (define-module (gnu packages gnustep)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages xorg)
@@ -62,7 +63,7 @@ (define-public gnustep-make
project without having to deal with the complex issues associated with
configuration, building, installation, and packaging. It also allows the user
to easily create cross-compiled binaries.")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public windowmaker
(package
@@ -153,7 +154,7 @@ (define-public windowmaker
interface. It is fast, feature rich, easy to configure, and easy to use.")
;; Artwork is distributed under the WTFPL.
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmbattery
(package
@@ -180,7 +181,7 @@ (define-public wmbattery
This includes if it is plugged in, if the battery is charging, how many minutes
of battery life remain, battery life remaining (with both a percentage and a
graph), and battery status (high - green, low - yellow, or critical - red).")
- (license gpl2)))
+ (license license:gpl2)))
(define-public wmnd
(package
@@ -204,7 +205,7 @@ (define-public wmnd
(description
"WMND is a dockapp for monitoring network interfaces under WindowMaker and
other compatible window managers.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmcpuload
(package
@@ -231,7 +232,7 @@ (define-public wmcpuload
on and off by clicking the mouse button over the application. If the CPU usage
hits a certain threshold, an alarm-mode will alert you by turning back-light
on.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmclock
(package
@@ -257,7 +258,7 @@ (define-public wmclock
"wmclock is an applet for Window Maker which displays the date and time in
a dockable tile. It features multiple language support, 24h or 12h time
display, and can run a user-specified program on mouse click.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public wmfire
(package
@@ -286,4 +287,4 @@ (define-public wmfire
entering the dock a burning spot replaces the cursor, and after two seconds
symbols to represent the current monitor are \"burnt\" onscreen. The flame
colour can also be changed.")
- (license gpl2+)))
+ (license license:gpl2+)))
--
2.36.0
From f8e8dccc92813ded4e3464593427c6cae095e490 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Tue, 10 May 2022 19:27:25 +0800
Subject: [PATCH 2/3] gnu: clang: Add OBJC_INCLUDE_PATH to native-search-paths.

Clang is also a compiler for Objective-C.

* gnu/packages/llvm.scm (clang-for-llvm): Add OBJC_INCLUDE_PATH to native-search-paths.
---
gnu/packages/llvm.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 0fc2a8e380..619c3280fc 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -388,6 +388,9 @@ (define* (clang-from-llvm llvm clang-runtime
(search-path-specification
(variable "CPLUS_INCLUDE_PATH")
(files '("include/c++" "include")))
+ (search-path-specification
+ (variable "OBJC_INCLUDE_PATH")
+ (files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
--
2.36.0
--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
Z
Z
Zhu Zihao wrote on 19 May 2022 17:55
(address . 55349@debbugs.gnu.org)
86v8u14ivv.fsf@163.com
ping.

--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYoZoZBUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/n3swD/blH7rxIZuqkd8swkoRKcwfIRpPpC
96SPLhHguwVYuRABAM2BM1utHW8zDouV7htr4vZLbCM05ayVMSVInEhyp7MA
=gQxn
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 20 May 2022 20:27
Re: bug#55349: [PATCH]: Add libobjc2.
(name . Zhu Zihao)(address . all_but_last@163.com)(address . 55349-done@debbugs.gnu.org)
87v8u0vz3t.fsf_-_@gnu.org
Hi,

Zhu Zihao <all_but_last@163.com> skribis:

Toggle quote (13 lines)
>>From 8ecb351adf9220651d7901d88c1acc120b2572f2 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last@163.com>
> Date: Tue, 10 May 2022 19:57:17 +0800
> Subject: [PATCH 1/3] gnu: Use license: prefix for gnu/packages/gnustep.scm.
>
> * gnu/packages/gnustep.scm (gnustep-make)[license]: Use "license:" prefix.
> (windowmaker): Ditto.
> (wmbattery): Ditto.
> (wmnd): Ditto.
> (wmcpuload): Ditto.
> (wmclock): Ditto.
> (wmfire): Ditto.

[...]

Toggle quote (9 lines)
>>From f8e8dccc92813ded4e3464593427c6cae095e490 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last@163.com>
> Date: Tue, 10 May 2022 19:27:25 +0800
> Subject: [PATCH 2/3] gnu: clang: Add OBJC_INCLUDE_PATH to native-search-paths.
>
> Clang is also a compiler for Objective-C.
>
> * gnu/packages/llvm.scm (clang-for-llvm): Add OBJC_INCLUDE_PATH to native-search-paths.

[...]

Toggle quote (9 lines)
>>From 6c828759cc66da8a1c7ecfed77abe7cd41aee055 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last@163.com>
> Date: Sun, 27 Mar 2022 01:11:15 +0800
> Subject: [PATCH 3/3] gnu: Add libobjc2.
>
> * gnu/packages/patches/libobjc2-unbundle-robin-map.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add corresponding file entry.
> * gnu/packages/gnustep.scm (libobjc2): New variable.

Applied, with the cosmetic changes below to placate ‘guix lint’.

Thanks,
Ludo’.
Toggle diff (43 lines)
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index 0fde3c0ebe..0314983559 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -75,18 +75,17 @@ (define-public libobjc2
(package
(name "libobjc2")
(version "2.1")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/gnustep/libobjc2")
- (commit (string-append "v" version))))
- (sha256
- (base32
- "1zjryzvy06gjf36gz6zrkg9icwz6wsf80mp94x6bq1109vkl40b5"))
- (patches
- (search-patches "libobjc2-unbundle-robin-map.patch"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gnustep/libobjc2")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1zjryzvy06gjf36gz6zrkg9icwz6wsf80mp94x6bq1109vkl40b5"))
+ (file-name (git-file-name name version))
+ (patches
+ (search-patches "libobjc2-unbundle-robin-map.patch"))))
(build-system cmake-build-system)
(arguments
(list
@@ -99,7 +98,7 @@ (define-public libobjc2
(home-page "http://www.gnustep.org/")
(synopsis "Objective-C runtime library for Clang")
(description "Libobjc2 is an Objective-C runtime library designed as a
-drop-in replacment for GCC runtime. It supports following features beyond
+drop-in replacment for GCC runtime. It supports following features beyond
GCC runtime.
@itemize
Closed
?