diff --git a/gnu/local.mk b/gnu/local.mk index 72c0115743b..526d5056180 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -977,10 +977,6 @@ dist_patch_DATA = \ %D%/packages/patches/adb-add-libraries.patch \ %D%/packages/patches/adb-libssl_11-compatibility.patch \ %D%/packages/patches/accountsservice-extensions.patch \ - %D%/packages/patches/aegisub-icu59-include-unistr.patch \ - %D%/packages/patches/aegisub-boost68.patch \ - %D%/packages/patches/aegisub-boost81.patch \ - %D%/packages/patches/aegisub-make43.patch \ %D%/packages/patches/agda-categories-remove-incompatible-flags.patch \ %D%/packages/patches/agda-categories-use-find.patch \ %D%/packages/patches/agda-categories-use-newer-stdlib.patch \ diff --git a/gnu/packages/patches/aegisub-boost68.patch b/gnu/packages/patches/aegisub-boost68.patch deleted file mode 100644 index 013721f3bd0..00000000000 --- a/gnu/packages/patches/aegisub-boost68.patch +++ /dev/null @@ -1,35 +0,0 @@ -Source: https://git.archlinux.org/svntogit/community.git/plain/trunk/boost-1.68.patch?h=packages/aegisub -From d8336d2fed73c72d1227b343d6acfb991bc1651b Mon Sep 17 00:00:00 2001 -From: Jan Beich -Date: Mon, 9 Jul 2018 20:15:29 +0000 -Subject: [PATCH] Keep using std::distance after Boost 1.68 - -src/search_replace_engine.cpp:256:14: error: call to - 'distance' is ambiguous - count += distance( - ^~~~~~~~ -/usr/include/c++/v1/iterator:511:1: note: candidate function [with _InputIter = - boost::u32regex_iterator >] -distance(_InputIter __first, _InputIter __last) -^ -/usr/local/include/boost/iterator/distance.hpp:49:9: note: candidate function [with SinglePassIterator = - boost::u32regex_iterator >] - distance(SinglePassIterator first, SinglePassIterator last) - ^ ---- - src/search_replace_engine.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/search_replace_engine.cpp b/src/search_replace_engine.cpp -index 594c21e5e..14c71680d 100644 ---- a/src/search_replace_engine.cpp -+++ b/src/search_replace_engine.cpp -@@ -253,7 +253,7 @@ bool SearchReplaceEngine::ReplaceAll() { - if (MatchState ms = matches(&diag, 0)) { - auto& diag_field = diag.*get_dialogue_field(settings.field); - std::string const& text = diag_field.get(); -- count += distance( -+ count += std::distance( - boost::u32regex_iterator(begin(text), end(text), *ms.re), - boost::u32regex_iterator()); - diag_field = u32regex_replace(text, *ms.re, settings.replace_with); diff --git a/gnu/packages/patches/aegisub-boost81.patch b/gnu/packages/patches/aegisub-boost81.patch deleted file mode 100644 index 4b63fba9b7f..00000000000 --- a/gnu/packages/patches/aegisub-boost81.patch +++ /dev/null @@ -1,62 +0,0 @@ -Source: https://gitlab.archlinux.org/archlinux/packaging/packages/aegisub/-/blob/main/boost-1.81.0.patch -From 12e1e5ee64afb7cfb5a43a998774642bc1eeede6 Mon Sep 17 00:00:00 2001 -From: Evangelos Foutras -Date: Sat, 21 Jan 2023 18:00:10 +0000 -Subject: [PATCH] Fix build with boost 1.81.0 ---- -diff --git a/libaegisub/include/libaegisub/lua/utils.h b/libaegisub/include/libaegisub/lua/utils.h -index c5a65d6e4..f4921d582 100644 ---- a/libaegisub/include/libaegisub/lua/utils.h -+++ b/libaegisub/include/libaegisub/lua/utils.h -@@ -87,7 +87,10 @@ int exception_wrapper(lua_State *L) { - - template - void set_field(lua_State *L, const char *name, T value) { -- push_value(L, value); -+ if constexpr(std::is_convertible::value) -+ push_value(L, static_cast(value)); -+ else -+ push_value(L, value); - lua_setfield(L, -2, name); - } - -diff --git a/src/auto4_lua.cpp b/src/auto4_lua.cpp -index 245689679..6d479b2c3 100644 ---- a/src/auto4_lua.cpp -+++ b/src/auto4_lua.cpp -@@ -115,7 +115,8 @@ namespace { - int get_translation(lua_State *L) - { - wxString str(check_wxstring(L, 1)); -- push_value(L, _(str).utf8_str()); -+ const char* val = static_cast( _(str).utf8_str()); -+ push_value(L, val); - return 1; - } - -diff --git a/src/command/video.cpp b/src/command/video.cpp -index fb2bcb0ba..77e3e9ca7 100644 ---- a/src/command/video.cpp -+++ b/src/command/video.cpp -@@ -475,7 +475,7 @@ static void save_snapshot(agi::Context *c, bool raw) { - // If where ever that is isn't defined, we can't save there - if ((basepath == "\\") || (basepath == "/")) { - // So save to the current user's home dir instead -- basepath = wxGetHomeDir().c_str(); -+ basepath = static_cast(wxGetHomeDir().c_str()); - } - } - // Actual fixed (possibly relative) path, decode it -diff --git a/src/dialog_attachments.cpp b/src/dialog_attachments.cpp -index 38ff53027..e30339f81 100644 ---- a/src/dialog_attachments.cpp -+++ b/src/dialog_attachments.cpp -@@ -161,7 +161,7 @@ void DialogAttachments::OnExtract(wxCommandEvent &) { - - // Multiple or single? - if (listView->GetNextSelected(i) != -1) -- path = wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str(); -+ path = static_cast(wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str()); - else { - path = SaveFileSelector( - _("Select the path to save the file to:"), diff --git a/gnu/packages/patches/aegisub-icu59-include-unistr.patch b/gnu/packages/patches/aegisub-icu59-include-unistr.patch deleted file mode 100644 index 78414741be4..00000000000 --- a/gnu/packages/patches/aegisub-icu59-include-unistr.patch +++ /dev/null @@ -1,12 +0,0 @@ -This patch adds an include needed since icu59: -Source: https://git.archlinux.org/svntogit/community.git/plain/trunk/icu59.patch?h=packages/aegisub ---- aegisub-3.2.2/src/utils.cpp 2014-12-08 02:07:09.000000000 +0200 -+++ aegisub-3.2.2/src/utils.cpp 2017-04-26 11:11:15.438239182 +0300 -@@ -44,6 +44,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/gnu/packages/patches/aegisub-make43.patch b/gnu/packages/patches/aegisub-make43.patch deleted file mode 100644 index 32f9d7749c5..00000000000 --- a/gnu/packages/patches/aegisub-make43.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix build with GNU Make 4.3: - -https://github.com/Aegisub/Aegisub/issues/171 - -Patch taken from upstream: - -https://github.com/Aegisub/Aegisub/commit/6bd3f4c26b8fc1f76a8b797fcee11e7611d59a39 - -diff --git a/Makefile.target b/Makefile.target ---- a/Makefile.target -+++ b/Makefile.target -@@ -112,7 +112,7 @@ POST_FLAGS = $($@_FLAGS) -c -o $@ $< - # Libraries contain all object files they depend on (but they may depend on other files) - # Not using libtool on OS X because it has an unsilenceable warning about a - # compatibility issue with BSD 4.3 (wtf) --lib%.a: $$($$*_OBJ) -+lib%.a: $$($$(*F)_OBJ) - @$(BIN_MKDIR_P) $(dir $@) - $(BIN_AR) cru $@ $(filter %.o,$^) - $(BIN_RANLIB) $@ diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2b8cb927c72..0e4d8b28624 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -79,6 +79,7 @@ ;;; Copyright © 2025 Julian Flake ;;; Copyright © 2025 Karl Hallsby ;;; Copyright © 2026 Ashish SHUKLA +;;; Copyright © 2026 Carlos Durán Domínguez ;;; ;;; This file is part of GNU Guix. ;;; @@ -173,6 +174,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages hunspell) + #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) @@ -5909,71 +5911,77 @@ programmers to access a standard API to open and decompress media files.") (define-public aegisub (package (name "aegisub") - (version "3.2.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Aegisub/Aegisub/releases/download/v" - version "/aegisub-" version ".tar.xz")) - (sha256 - (base32 - "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5")) - (patches (search-patches "aegisub-icu59-include-unistr.patch" - "aegisub-make43.patch" - "aegisub-boost68.patch" - "aegisub-boost81.patch")))) - (build-system gnu-build-system) + (version "3.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TypesettingTools/Aegisub") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wsksmxk6sgwy4hqag3j8gls77bbiaq0jflzc7i6c5glkqdqk3w6")))) + (build-system meson-build-system) (arguments - `(#:configure-flags - (list "--disable-update-checker" - "--without-portaudio" - "--without-openal" - "--without-oss" - "CXXFLAGS=-DU_USING_ICU_NAMESPACE=1") - ;; tests require busted, a lua package we don't have yet - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-ldflags - (lambda _ - (setenv "LDFLAGS" "-pthread") - #t)) - (add-after 'unpack 'fix-boost-headers - (lambda _ - (substitute* - '("src/subtitles_provider_libass.cpp" - "src/colour_button.cpp" - "src/video_provider_dummy.cpp" - "./src/video_frame.cpp") - (("#include ") - "#include ")) - #t))))) + (list + #:configure-flags + #~(list "-Denable_update_checker=false" + "-Dsystem_luajit=true" + "-Dlocal_boost=false") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'git-version-h + (lambda _ + (call-with-output-file "git_version.h" + (lambda (port) + (format + port + "#define BUILD_GIT_VERSION_NUMBER ~d +#define BUILD_GIT_VERSION_STRING ~s +#define TAGGED_RELEASE 1 +#define INSTALLER_VERSION ~s +#define RESOURCE_BASE_VERSION ~a" + ;; lastSvnHash=16cd907fe7482cb54a7374cd28b8501f138116be + ;; $(expr 6962 + $(git rev-list --count $lastSvnHash..HEAD)) + 9426 + #$version + #$version + #$(string-replace-substring version "." ", "))))))))) + (native-inputs + (list gettext-minimal + googletest + pkg-config + python)) (inputs - (list boost-1.83 + (list alsa-lib + boost-1.83 + curl ffms2 fftw hunspell - mesa + icu4c libass - alsa-lib + libportal + luajit-lua52-openresty + mesa + openal pulseaudio - libx11 - freetype - wxwidgets-gtk2)) - (native-inputs - (list intltool desktop-file-utils pkg-config)) + uchardet + wxwidgets + zlib)) (home-page "https://www.aegisub.org/") (synopsis "Subtitle engine") (description - "Aegisub is a tool for creating and modifying subtitles. Aegisub makes + "Aegisub is a tool for creating and modifying subtitles. Aegisub makes it quick and easy to time subtitles to audio, and features many powerful tools for styling them, including a built-in real-time video preview.") - (license (list license:bsd-3 ; the package is licensed under the bsd-3, except - license:mpl1.1 ; for vendor/universalchardet under the mpl1.1 - license:expat)))) ; and src/gl that is under a license similar - ; the the Expat license, with a rewording (Software -> Materials). (called MIT - ; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE - ; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author + ;; See https://github.com/TypesettingTools/Aegisub/issues/271 + (license (list license:bsd-2 + license:bsd-3 + license:expat + license:gpl2+ + license:isc + license:public-domain)))) (define-public pitivi (package