[gentoo-dev] New tool for updating Bug summaries after package moves: bugsed

2024-12-11 Thread Michał Górny
Hi,

I've made a quick tool that can perform search-and-replacement
on Bugzilla bugs, so if you move a package, you can quickly update
hundreds of bugs filed against it.

https://github.com/projg2/bugsed

Note that it just does dumb text replacement with substring match, so it
can be greedy.  By default, it just does a dry-run, `-u` to update.

You may also want to try pkgmove from mgorny-dev-scripts, which is also
dumb as hell, greedy on seding stuff and requires you to rename ebuilds
inside the package directory first.

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Last-rites: app-text/kjots and kde-apps/knotes

2024-12-11 Thread Andreas Sturmlechner
# Andreas Sturmlechner  (2024-12-11)
# Declared unmaintained by upstream, will be broken by akonadi-24.12.
# Use app-text/marknote https://apps.kde.org/marknote/ as alternative,
# importing existing notes is possible.
app-text/kjots
kde-apps/knotes


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] Unmessing mod/tracker music file flags (mikmod, modplug, openmpt)

2024-12-11 Thread Arve Barsnes
On Wed, 11 Dec 2024 at 11:20, Michał Górny  wrote:
> Right now we have three flags that do pretty much the same thing, via
> different libraries:
>
> Given that they are roughly used in the same way, and only a small
> subset of packages (e.g. mpv) support more than one library, how about
> settling on a single feature flag instead?  While they probably differ
> in fine details like the exact list of supported file formats,
> the overlap is wide enough to justify it.
>
> Such as:
>
> mod - Enable support for a variety of tracker module (.it, .mod, .s3m, .xm, 
> and more) music files

As a user of these things, I'm all for it. Makes it easy to know what
to enable when I want it on a package.

Regards,
Arve



[gentoo-dev] [PATCH 1/3] latex-package.eclass: do not set $@ in latex-package_src_doinstall's loop

2024-12-11 Thread Florian Schmaus
Since 595611085bc5 ("latex-package: kill POSIX and old EAPI"), the 'tex'
and 'dtx' case handling of latex-package_src_doinstall's loop would set
$@ to a pdflatex invocation. However, the main loop of this function
iterates over $@, and after $@ is set to a pdflatex command, this
iteration would continue to process the components of the pdflatex
command.

As result, ebuild have to

latex-package_src_doinstall doc
latex-package_src_doinstall pdf

when

latex-package_src_doinstall doc

should be sufficient, because the 'doc' case expands to the "tex dtx dvi
ps pdf" cases. However, once a 'tex' or 'dtx' case was processed, the
remaining onces are no longer be processed, due the bug described above.

The fix is simple: do not abuse $@ to save the pdflatex command,
instead, use a dedicated local variable.

Fixes: 595611085bc532afb9f31fa23cee734bc37d21a4
Signed-off-by: Florian Schmaus 
---
 eclass/latex-package.eclass | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index 4082e161b843..d6426775f720 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -137,11 +137,16 @@ latex-package_src_doinstall() {
continue
 
einfo "Making documentation: 
${i}"
+   local mypdflatex=(
+   pdflatex
+   ${LATEX_DOC_ARGUMENTS}
+   --halt-on-error
+   
--interaction=nonstopmode
+   "${i}"
+   )
# some macros need compiler 
called twice, do it here.
-   set -- pdflatex 
${LATEX_DOC_ARGUMENTS} \
-   --halt-on-error 
--interaction=nonstopmode "${i}"
-   if "${@}"; then
-   "${@}"
+   if "${mypdflatex[@]}"; then
+   "${mypdflatex[@]}"
else
einfo "pdflatex failed, 
trying texi2dvi"
texi2dvi -q -c 
--language=latex "${i}" || die
-- 
2.45.2




[gentoo-dev] [PATCH 3/3] dev-tex/minted: remove workaround for buggy latex-package.eclass

2024-12-11 Thread Florian Schmaus
Now that latex-package.eclass is fixed, we can drop the workaround.

Signed-off-by: Florian Schmaus 
---
 dev-tex/minted/minted-3.4.0.ebuild | 5 -
 1 file changed, 5 deletions(-)

diff --git a/dev-tex/minted/minted-3.4.0.ebuild 
b/dev-tex/minted/minted-3.4.0.ebuild
index 2e59495b4426..1eee5a8d8056 100644
--- a/dev-tex/minted/minted-3.4.0.ebuild
+++ b/dev-tex/minted/minted-3.4.0.ebuild
@@ -79,11 +79,6 @@ src_install() {
local -x PYTHONPATH="${ED}/usr/lib/${EPYTHON}/site-packages"
local -x PATH="${ED}/usr/lib/python-exec/${EPYTHON}:${PATH}"
latex-package_src_doinstall doc
-   # The following line shouldn't be required, as 'doc' is expaned
-   # by latex-package.eclass to "… dtx … pdf", but without this,
-   # the pdf is *not* installed. Maybe a bug in
-   # latex-package.eclass?
-   latex-package_src_doinstall pdf
fi
popd &> /dev/null || die
 }
-- 
2.45.2




[gentoo-dev] [PATCH 2/3] latex-package.eclass: add default case to latex-package_src_doinstall

2024-12-11 Thread Florian Schmaus
Add a default case to the switch/case statement in
latex-package_src_doinstall, invoking die.

Signed-off-by: Florian Schmaus 
---
 eclass/latex-package.eclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index d6426775f720..dfef7fc2836f 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -200,6 +200,9 @@ latex-package_src_doinstall() {
"all")
latex-package_src_doinstall styles fonts bin doc
;;
+   *)
+   die "Unknown module: ${1}"
+   ;;
esac
shift
done
-- 
2.45.2




[gentoo-dev] Last-rites: dev-db/firebird [or up for grabs, if you dare]

2024-12-11 Thread Andreas Sturmlechner
# Build system needs someone really dedicated to put up with it.
# Version completely outdated, way too many bugs to list here.
# Removal on 2025-01-10
dev-db/firebird

signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] [PATCH] texlive-module.eclass: use pipestatus

2024-12-11 Thread Florian Schmaus
Signed-off-by: Florian Schmaus 
---
 eclass/texlive-module.eclass | 15 +++
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index f8b6f0858cd6..4ba507d4fd70 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -79,7 +79,7 @@ esac
 if [[ -z ${_TEXLIVE_MODULE_ECLASS} ]]; then
 _TEXLIVE_MODULE_ECLASS=1
 
-inherit texlive-common
+inherit eapi9-pipestatus texlive-common
 
 HOMEPAGE="https://www.tug.org/texlive/";
 
@@ -537,16 +537,15 @@ texlive-module_src_install() {
grep_expressions+=(-e "/${f//./\\.}\$")
done
 
+   local status
+   # "success-status aware grep", returning exit status 0 
instead of 1.
+   sgrep() { grep "$@"; return "$(( $? <= 1 ? 0 : $? ))"; }
ebegin "Installing man pages"
find texmf-dist/doc/man -type f -name '*.[0-9n]' -print 
|
-   grep -v "${grep_expressions[@]}" |
+   sgrep -v "${grep_expressions[@]}" |
xargs -d '\n' --no-run-if-empty nonfatal doman
-   local pipestatus="${PIPESTATUS[*]}"
-   # The grep in the middle of the pipe may return 1 in 
case
-   # everything from the input is dropped.
-   # See https://bugs.gentoo.org/931994
-   [[ ${pipestatus} == "0 "[01]" 0" ]]
-   eend $? || die "error installing man pages (pipestatus: 
${pipestatus})"
+   status=$(pipestatus -v)
+   eend $? || die "error installing man pages (PIPESTATUS: 
${status})"
 
# Delete all man pages under texmf-dist/doc/man
find texmf-dist/doc/man -type f -name '*.[0-9n]' 
-delete ||
-- 
2.45.2




[gentoo-dev] [PATCH] */*: make "vpx" a global use flag

2024-12-11 Thread Michał Górny
Make the "vpx" flag global, as it is used semi-consistently across
a number of packages to enable VP8/VP9 decoding (and/or encoding),
using media-libs/libvpx.  Remove the redundant descriptions where they
don't add helpful information.

This was originally proposed in 2010, but was not followed through:
https://archives.gentoo.org/gentoo-dev/201007311337.40902.ha...@gentoo.org/

Signed-off-by: Michał Górny 
---
 games-engines/scummvm/metadata.xml| 1 -
 games-fps/eduke32/metadata.xml| 1 -
 media-libs/avidemux-plugins/metadata.xml  | 1 -
 media-libs/libopenglrecorder/metadata.xml | 1 -
 media-libs/xine-lib/metadata.xml  | 3 ---
 media-plugins/gst-plugins-meta/metadata.xml   | 2 --
 media-tv/mythtv/metadata.xml  | 1 -
 media-video/simplescreenrecorder/metadata.xml | 1 -
 media-video/vlc/metadata.xml  | 1 -
 net-libs/pjproject/metadata.xml   | 1 -
 profiles/use.desc | 1 +
 x11-wm/xpra/metadata.xml  | 1 -
 12 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/games-engines/scummvm/metadata.xml 
b/games-engines/scummvm/metadata.xml
index 3b6346cbd8b6..c1308841d7c2 100644
--- a/games-engines/scummvm/metadata.xml
+++ b/games-engines/scummvm/metadata.xml
@@ -18,7 +18,6 @@
 Enable parallel port support via 
sys-libs/libieee1284
 Enable support for MIDI music using 
media-sound/sndio
 enable unsupported and/or broken game engines 
(you're on your own)
-Enable VP8/VP9 codec support via 
media-libs/libvpx
   
   
 scummvm
diff --git a/games-fps/eduke32/metadata.xml b/games-fps/eduke32/metadata.xml
index 970fd2d68d82..8c509fc367cd 100644
--- a/games-fps/eduke32/metadata.xml
+++ b/games-fps/eduke32/metadata.xml
@@ -27,7 +27,6 @@
Install the support tools for 
mapster32.
Enable support for Shadow Warrior (Classic) 
through VoidSW.
Install the Duke Nukem 3D Voxels 
Pack.
-   Enable support for 
media-libs/libvpx.
Enable support for 
media-libs/exempi.

 
diff --git a/media-libs/avidemux-plugins/metadata.xml 
b/media-libs/avidemux-plugins/metadata.xml
index 7a85584cd7c5..656454924dba 100644
--- a/media-libs/avidemux-plugins/metadata.xml
+++ b/media-libs/avidemux-plugins/metadata.xml
@@ -12,7 +12,6 @@
 Adds support for encoding AAC using 
media-libs/fdk-aac.
 Enable unicode bidirectional algorithm support via 
dev-libs/fribidi.
 Enable TwoLAME support via 
media-sound/twolame, an optimised MPEG Audio Layer 2 (MP2) 
encoder.
-Enable WebM VP8 Codec SDK support via 
media-libs/libvpx.
 Enables HEVC support with 
media-libs/x265.
   
   
diff --git a/media-libs/libopenglrecorder/metadata.xml 
b/media-libs/libopenglrecorder/metadata.xml
index 948c61c5b49a..1c10170a9b9a 100644
--- a/media-libs/libopenglrecorder/metadata.xml
+++ b/media-libs/libopenglrecorder/metadata.xml
@@ -7,7 +7,6 @@


Enable H.264 support using 
media-libs/openh264
-   Enable VP8/VP9 codec support via 
media-libs/libvpx


Benau/libopenglrecorder
diff --git a/media-libs/xine-lib/metadata.xml b/media-libs/xine-lib/metadata.xml
index 2ffbc928d60d..402b3e7d564a 100644
--- a/media-libs/xine-lib/metadata.xml
+++ b/media-libs/xine-lib/metadata.xml
@@ -61,9 +61,6 @@

Adds support for SIMD optimizations for UltraSPARC 
processors.

-   
-   Enable VP8 codec support via 
media-libs/libvpx.
-   

Enable support for XVideo Motion Compensation 
(accelerated mpeg playback).

diff --git a/media-plugins/gst-plugins-meta/metadata.xml 
b/media-plugins/gst-plugins-meta/metadata.xml
index 95f46a152f04..e0f9c9cf3ca7 100644
--- a/media-plugins/gst-plugins-meta/metadata.xml
+++ b/media-plugins/gst-plugins-meta/metadata.xml
@@ -15,7 +15,5 @@ since gstreamer plugins are all run-time dependencies.
Enable http streaming via 
net-libs/libsoup
Enable visualization effects via 
media-libs/libvisual
-   Enables vp8 codec support using libvpx, required to
-   play some HTML5 videos
 
 
diff --git a/media-tv/mythtv/metadata.xml b/media-tv/mythtv/metadata.xml
index d8dec5de5964..332d894c764c 100644
--- a/media-tv/mythtv/metadata.xml
+++ b/media-tv/mythtv/metadata.xml
@@ -26,7 +26,6 @@
Enable NVDEC (NVCUVID) hardware accelerated 
video decoding
Build the perl bindings for MythTV
V@Box Communications network-attached tuner 
devices support
-   Enable VP8/VP9 support for 
media-libs/libvpx
Use Ubuntu mythtfrontend wrapper
Enable h265 encoding using x265
Support media-tv/xmltv TV listing 
- not used by Schedules Direct]
diff --git a/media-video/sim

[gentoo-dev] [RFC] Unmessing mod/tracker music file flags (mikmod, modplug, openmpt)

2024-12-11 Thread Michał Górny
Hello,

Right now we have three flags that do pretty much the same thing, via
different libraries:

global[mikmod] Add libmikmod support to allow playing of SoundTracker-style 
music files

global[modplug] Add libmodplug support for playing SoundTracker-style music 
files
media-sound/mixxx[modplug] Add libmodplug support

media-libs/sdl_audiolib[openmpt] OpenMPT decoder via media-libs/libopenmpt
media-plugins/audacious-plugins[openmpt] Add support for OpenMPT
media-sound/mpd[openmpt] OpenMPT decoder plugin
media-sound/fooyin[openmpt] Build the OpenMPT input plugin using 
media-libs/libopenmpt
media-sound/musikcube[libopenmpt] Build plugin to support playing MOD music aka 
tracker music through libopenmpt

Given that they are roughly used in the same way, and only a small
subset of packages (e.g. mpv) support more than one library, how about
settling on a single feature flag instead?  While they probably differ
in fine details like the exact list of supported file formats,
the overlap is wide enough to justify it.

Such as:

mod - Enable support for a variety of tracker module (.it, .mod, .s3m, .xm, and 
more) music files

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] texlive-module.eclass: use pipestatus

2024-12-11 Thread Ulrich Müller
> On Wed, 11 Dec 2024, Florian Schmaus wrote:

> --- a/eclass/texlive-module.eclass
> +++ b/eclass/texlive-module.eclass
> @@ -79,7 +79,7 @@ esac
>  if [[ -z ${_TEXLIVE_MODULE_ECLASS} ]]; then
>  _TEXLIVE_MODULE_ECLASS=1
>  
> -inherit texlive-common
> +inherit eapi9-pipestatus texlive-common
>  
>  HOMEPAGE="https://www.tug.org/texlive/";
>  
> @@ -537,16 +537,15 @@ texlive-module_src_install() {
>   grep_expressions+=(-e "/${f//./\\.}\$")
>   done
>  
> + local status
> + # "success-status aware grep", returning exit status 0 
> instead of 1.
> + sgrep() { grep "$@"; return "$(( $? <= 1 ? 0 : $? ))"; }

"sgrep" is rather generic as a function name and prone to name clashes.
I suggest "_tl_grep" instead.

>   ebegin "Installing man pages"
>   find texmf-dist/doc/man -type f -name '*.[0-9n]' -print 
> |
> - grep -v "${grep_expressions[@]}" |
> + sgrep -v "${grep_expressions[@]}" |
>   xargs -d '\n' --no-run-if-empty nonfatal doman
> - local pipestatus="${PIPESTATUS[*]}"
> - # The grep in the middle of the pipe may return 1 in 
> case
> - # everything from the input is dropped.
> - # See https://bugs.gentoo.org/931994
> - [[ ${pipestatus} == "0 "[01]" 0" ]]
> - eend $? || die "error installing man pages (pipestatus: 
> ${pipestatus})"
> + status=$(pipestatus -v)
> + eend $? || die "error installing man pages (PIPESTATUS: 
> ${status})"
>  
>   # Delete all man pages under texmf-dist/doc/man
>   find texmf-dist/doc/man -type f -name '*.[0-9n]' 
> -delete ||

Otherwise LGTM.


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] profiles: make USE=test-install a global USE flag

2024-12-11 Thread Sam James
Sam James  writes:

> This comes up often enough to justify it. Some packages have been always
> disabling this given there wasn't convention or wisdom on how to handle it,
> but this helps to provide that.
>
> See https://public-inbox.gentoo.org/gentoo-dev/87ttftr9ay@gentoo.org/.
>
> Signed-off-by: Sam James 
> ---
> I consider the USE flag itself as having consensus, but I'll wait to push
> in case anyone has comments on the description.

Pushed. Comments welcome still on description, of course.

>
>  profiles/use.desc | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/profiles/use.desc b/profiles/use.desc
> index 78dc606950512..830fcabec611d 100644
> --- a/profiles/use.desc
> +++ b/profiles/use.desc
> @@ -335,6 +335,7 @@ tcmalloc - Use the dev-util/google-perftools libraries to 
> replace the malloc() i
>  tcpd - Add support for TCP wrappers
>  telemetry - Send anonymized usage information to upstream so they can better 
> understand our users
>  test - Enable dependencies and/or preparations necessary to run tests 
> (usually controlled by FEATURES=test but can be toggled independently)
> +test-install - Install testsuite for manual execution by the user
>  test-rust - Enable important test dependencies that require Rust toolchain
>  theora - Add support for the Theora Video Compression Codec
>  threads - Add threads support for various packages. Usually pthreads



Re: [gentoo-dev] New tool for updating Bug summaries after package moves: bugsed

2024-12-11 Thread Sam James
Michał Górny  writes:

> Hi,
>
> I've made a quick tool that can perform search-and-replacement
> on Bugzilla bugs, so if you move a package, you can quickly update
> hundreds of bugs filed against it.

Nice!

>
> https://github.com/projg2/bugsed
>
> Note that it just does dumb text replacement with substring match, so it
> can be greedy.  By default, it just does a dry-run, `-u` to update.
>
> You may also want to try pkgmove from mgorny-dev-scripts, which is also
> dumb as hell, greedy on seding stuff and requires you to rename ebuilds
> inside the package directory first.

Could you run it over historical updates (at least from the last year)?
I can do it if you give me whatever recipe you used as well (or if not,
can get to it later again when bored).