* [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages.
@ 2024-06-29 6:53 Liliana Marie Prikler
2024-06-29 8:51 ` [bug#71837] [PATCH v2 1/3] gnu: libadwaita: Update to 1.5.2 Liliana Marie Prikler
2024-07-07 6:21 ` [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages Liliana Marie Prikler
0 siblings, 2 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2024-06-29 6:53 UTC (permalink / raw)
To: 71837
Clasp uses an interesting CRTP pattern to insert statically (i.e. compile-time)
generated numeric IDs into global fields. However, these templates are
instantiated once per shared library---thus, whenever a library is linked, new
IDs are generated, and the original intent (safely type-casting objects across
libraries) is lost. To help the linker out, we make sure that these IDs are
only instantiated in clasp and not when building other libraries.
* gnu/packages/patches/clasp-hide-event-ids.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/clasp.scm (source)[patches]: Add it here.
(clingo)[#:phases]: Drop ‘skip-failing-tests’.
(python-clorm)[#:phases]<fix-breaking-tests>: Adjust accordingly.
(python-clintest): Drop arguments.
---
gnu/local.mk | 1 +
.../patches/clasp-hide-event-ids.patch | 41 +++++++++++++++++++
gnu/packages/potassco.scm | 31 ++------------
3 files changed, 45 insertions(+), 28 deletions(-)
create mode 100644 gnu/packages/patches/clasp-hide-event-ids.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index d0cc62dd57..de13a0794e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1063,6 +1063,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch \
%D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \
%D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \
+ %D%/packages/patches/clasp-hide-event-ids.patch \
%D%/packages/patches/classpath-aarch64-support.patch \
%D%/packages/patches/classpath-miscompilation.patch \
%D%/packages/patches/cling-use-shared-library.patch \
diff --git a/gnu/packages/patches/clasp-hide-event-ids.patch b/gnu/packages/patches/clasp-hide-event-ids.patch
new file mode 100644
index 0000000000..9587f9ff3f
--- /dev/null
+++ b/gnu/packages/patches/clasp-hide-event-ids.patch
@@ -0,0 +1,41 @@
+From a4c4e4f3c410834c3e56f644841f5bcbb084225c Mon Sep 17 00:00:00 2001
+From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
+Date: Fri, 28 Jun 2024 11:15:16 +0200
+Subject: [PATCH] clasp: Hide Event_t<T>::id_s.
+
+This patch helps build clingo with non-local clasp while keeping the
+event system working as intended.
+---
+ clasp/util/misc_types.h | 2 ++
+ src/CMakeLists.txt | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/clasp/util/misc_types.h b/clasp/util/misc_types.h
+index 3677873..09c2075 100644
+--- a/clasp/util/misc_types.h
++++ b/clasp/util/misc_types.h
+@@ -432,7 +432,9 @@ struct Event_t : Event {
+ Event_t(Subsystem sys, Verbosity verb) : Event(sys, id_s, verb) {}
+ static const uint32 id_s;
+ };
++#if _BUILDING_CLASP_
+ template <class T> const uint32 Event_t<T>::id_s = Event::nextId();
++#endif
+
+ template <class ToType, class EvType> const ToType* event_cast(const EvType& ev) { return ev.id == ToType::id_s ? static_cast<const ToType*>(&ev) : 0; }
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8439d12..4f55990 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -123,6 +123,7 @@ source_group("${ide_header}\\mt" FILES ${header_mt})
+ endif()
+
+ add_library(libclasp ${header} ${header_util} ${header_cli} ${header_mt} ${src})
++target_compile_definitions(libclasp PRIVATE _BUILDING_CLASP_)
+ if (CLASP_BUILD_WITH_THREADS)
+ target_link_libraries(libclasp PUBLIC Threads::Threads)
+ target_compile_options(libclasp PRIVATE
+--
+2.45.1
+
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index b7cfca2eec..5432fc10c3 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -112,6 +112,7 @@ (define-public clasp
(url "https://github.com/potassco/clasp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
+ (patches (search-patches "clasp-hide-event-ids.patch"))
(sha256
(base32
"0qap7rar8a5mkqz28n2hnvr4cfv5x0rh4zs3wdp919dw4d034chr"))))
@@ -200,22 +201,7 @@ (define-public clingo
(substitute* "cmake/ClingoConfig.cmake.in"
(("find_package\\(Clasp") "find_package(clasp"))
(rename-file "cmake/ClingoConfig.cmake.in"
- "cmake/clingo-config.cmake.in")))
- (add-after 'unpack 'skip-failing-tests
- (lambda _
- (with-directory-excursion "libclingo/tests"
- (substitute* "CMakeLists.txt"
- (("COMMAND test_clingo" all)
- (string-append all
- " -f "
- "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
- (call-with-output-file "good.txt"
- (lambda (port)
- (for-each (lambda (test) (format port "~s~%" test))
- '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
- "unpool-ast-v2" "parse_term"
- "propagator" "propgator-sequence-mining"
- "symbol" "visitor"))))))))))
+ "cmake/clingo-config.cmake.in"))))))
(inputs (list catch2-3 clasp libpotassco))
(native-inputs (list bison re2c
mpark-variant
@@ -465,10 +451,7 @@ (define-public python-clorm
(lambda _
;; noclingo tests rely on this being set
(setenv "CLORM_NOCLINGO" "1")
- (delete-file "tests/test_mypy_query.py")
- (substitute* "tests/test_clingo.py"
- (("self\\.assertTrue\\(os_called\\)" all)
- (string-append "# " all))))))))
+ (delete-file "tests/test_mypy_query.py"))))))
(propagated-inputs (list python-clingo))
(native-inputs (list python-typing-extensions))
(home-page "https://potassco.org")
@@ -627,14 +610,6 @@ (define-public python-clintest
(base32
"0xzbby9ram55h87ykm652kgm45b8rlhbjc8gjkz308h1jnjllmmy"))))
(build-system pyproject-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'delete-failing-tests
- (lambda _
- ;; XXX: Clingo statistics are broken in dependencies already.
- (for-each delete-file '("tests/test_solver.py"
- "tests/test_test.py")))))))
(inputs (list python-clingo))
(native-inputs (list python-pytest))
(home-page "https://potassco.org/clintest/")
base-commit: 01ea5ebc71a5f104af2ed220cb29f88523298ca7
--
2.45.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#71837] [PATCH v2 1/3] gnu: libadwaita: Update to 1.5.2.
2024-06-29 6:53 [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages Liliana Marie Prikler
@ 2024-06-29 8:51 ` Liliana Marie Prikler
2024-06-29 8:51 ` [bug#71837] [PATCH v2 3/3] gnu: komikku: Update to 1.46.0 Liliana Marie Prikler
2024-07-03 4:24 ` [bug#71837] [PATCH v2 2/3] gnu: webp-pixbuf-loader: Update to 0.2.4 Liliana Marie Prikler
2024-07-07 6:21 ` [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages Liliana Marie Prikler
1 sibling, 2 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2024-06-29 8:51 UTC (permalink / raw)
To: 71837; +Cc: liliana.prikler, maxim.cournoyer, vivien
* gnu/packages/gnome.scm (libadwaita): Update to 1.5.2.
---
gnu/packages/gnome.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b4caaf29a7..988a39c87b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -13752,7 +13752,7 @@ (define-public ocrfeeder
(define-public libadwaita
(package
(name "libadwaita")
- (version "1.4.0")
+ (version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libadwaita/"
@@ -13760,7 +13760,7 @@ (define-public libadwaita
"libadwaita-" version ".tar.xz"))
(sha256
(base32
- "1hj7kxza6263x662v4ffndlz8dhfx19cz3y4iwhnhdflaj50j6p5"))))
+ "05icswk84kf4pbcybv8j9r9n98q1dgr1m7zn6k72p4dlbh0fxyn9"))))
(build-system meson-build-system)
(arguments
`(#:phases
base-commit: 972c06dc79641864b05590b2cd905cc8b810062b
prerequisite-patch-id: 7c61d3862f582ed6ad89994f2a2204485bb94d5d
prerequisite-patch-id: f6c4adbef94c3035a2c5d772f8d33ba563e43163
prerequisite-patch-id: 195523867e21de90d11bdda7d6c12f10214cc5df
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#71837] [PATCH v2 3/3] gnu: komikku: Update to 1.46.0.
2024-06-29 8:51 ` [bug#71837] [PATCH v2 1/3] gnu: libadwaita: Update to 1.5.2 Liliana Marie Prikler
@ 2024-06-29 8:51 ` Liliana Marie Prikler
2024-07-07 6:17 ` bug#71837: " Liliana Marie Prikler
2024-07-03 4:24 ` [bug#71837] [PATCH v2 2/3] gnu: webp-pixbuf-loader: Update to 0.2.4 Liliana Marie Prikler
1 sibling, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2024-06-29 8:51 UTC (permalink / raw)
To: 71837; +Cc: liliana.prikler, maxim.cournoyer, vivien
* gnu/packages/gnome.scm (komikku): Update to 1.46.0.
[source]: Use “https://codeberg.org” for the URL.
[home-page]: Use “https://apps.gnome.org/Komikku”.
[#:phases]<python-and-gi-wrap>: Also wrap GDK_PIXBUF_MODULE_FILE.
[inputs]: Add webp-pixbuf-loader.
---
gnu/packages/gnome.scm | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 988a39c87b..452b1f1eef 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -13510,17 +13510,17 @@ (define-public gnome-builder
(define-public komikku
(package
(name "komikku")
- (version "1.34.2")
+ (version "1.46.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/valos/Komikku/")
+ (url "https://codeberg.org/valos/Komikku/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "044m3z7h1hi2avx4z6qgjzhgn1fkf1iclxhr4j7pb6flbqvwnxhs"))))
+ "1ggg4hgd1kyc69b06kcgvvjwmz72xgjakva19gs3nrszr4cinank"))))
(build-system meson-build-system)
(arguments
(list
@@ -13546,7 +13546,9 @@ (define-public komikku
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program (search-input-file outputs "bin/komikku")
`("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
+ `("GDK_PIXBUF_MODULE_FILE" =
+ (,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
(inputs
(list bash-minimal
gtk
@@ -13572,7 +13574,8 @@ (define-public komikku
python-rarfile
python-requests
python-unidecode
- webkitgtk))
+ webkitgtk
+ webp-pixbuf-loader))
(native-inputs
(list blueprint-compiler
desktop-file-utils
@@ -13580,7 +13583,7 @@ (define-public komikku
`(,glib "bin")
gobject-introspection
pkg-config))
- (home-page "https://gitlab.com/valos/Komikku")
+ (home-page "https://apps.gnome.org/Komikku")
(synopsis "Manga reader for GNOME")
(description "Komikku is an online/offline manga reader for GNOME,
developed with the aim of being used with the Librem 5 phone.")
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#71837] [PATCH v2 2/3] gnu: webp-pixbuf-loader: Update to 0.2.4.
2024-06-29 8:51 ` [bug#71837] [PATCH v2 1/3] gnu: libadwaita: Update to 1.5.2 Liliana Marie Prikler
2024-06-29 8:51 ` [bug#71837] [PATCH v2 3/3] gnu: komikku: Update to 1.46.0 Liliana Marie Prikler
@ 2024-07-03 4:24 ` Liliana Marie Prikler
1 sibling, 0 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2024-07-03 4:24 UTC (permalink / raw)
To: 71837; +Cc: liliana.prikler, maxim.cournoyer, vivien
* gnu/packages/gtk.scm (webp-pixbuf-loader): Update to 0.2.4.
---
gnu/packages/gtk.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 56763cd835..fb10351849 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -2970,7 +2970,7 @@ (define-public gromit-mpx
(define-public webp-pixbuf-loader
(package
(name "webp-pixbuf-loader")
- (version "0.0.4")
+ (version "0.2.4")
(source
(origin
(method git-fetch)
@@ -2979,7 +2979,7 @@ (define-public webp-pixbuf-loader
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1kshsz91mirjmnmv796nba1r8jg8a613anhgd38dhh2zmnladcwn"))))
+ (base32 "0dsdkw0i8fg3051653zmz68s068a2w23d708av64afzvav1xvhv0"))))
(build-system meson-build-system)
(arguments
(list
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages.
2024-06-29 6:53 [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages Liliana Marie Prikler
2024-06-29 8:51 ` [bug#71837] [PATCH v2 1/3] gnu: libadwaita: Update to 1.5.2 Liliana Marie Prikler
@ 2024-07-07 6:21 ` Liliana Marie Prikler
1 sibling, 0 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2024-07-07 6:21 UTC (permalink / raw)
To: 71837-done
Am Samstag, dem 29.06.2024 um 08:53 +0200 schrieb Liliana Marie
Prikler:
> Clasp uses an interesting CRTP pattern to insert statically (i.e.
> compile-time) generated numeric IDs into global fields. However,
> these templates are instantiated once per shared library---thus,
> whenever a library is linked, new IDs are generated, and the original
> intent (safely type-casting objects across libraries) is lost. To
> help the linker out, we make sure that these IDs are only
> instantiated in clasp and not when building other libraries.
>
> * gnu/packages/patches/clasp-hide-event-ids.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it here.
> * gnu/packages/clasp.scm (source)[patches]: Add it here.
> (clingo)[#:phases]: Drop ‘skip-failing-tests’.
> (python-clorm)[#:phases]<fix-breaking-tests>: Adjust accordingly.
> (python-clintest): Drop arguments.
> ---
Looks like I got my patch IDs messed up somehow.
Anyhow, this is pushed.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-07-07 6:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-29 6:53 [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages Liliana Marie Prikler
2024-06-29 8:51 ` [bug#71837] [PATCH v2 1/3] gnu: libadwaita: Update to 1.5.2 Liliana Marie Prikler
2024-06-29 8:51 ` [bug#71837] [PATCH v2 3/3] gnu: komikku: Update to 1.46.0 Liliana Marie Prikler
2024-07-07 6:17 ` bug#71837: " Liliana Marie Prikler
2024-07-07 6:22 ` bug#71839: " Liliana Marie Prikler
2024-07-03 4:24 ` [bug#71837] [PATCH v2 2/3] gnu: webp-pixbuf-loader: Update to 0.2.4 Liliana Marie Prikler
2024-07-07 6:21 ` [bug#71837] [PATCH] gnu: clasp: Prevent ID clashes in dependent packages Liliana Marie Prikler
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.