Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 760012 - x11-wm/fvwm:3 version bump
Summary: x11-wm/fvwm:3 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL: https://github.com/fvwmorg/fvwm3
Whiteboard:
Keywords: EBUILD, PullRequest
Depends on:
Blocks:
 
Reported: 2020-12-14 14:31 UTC by Dominique Michel
Modified: 2022-06-04 02:19 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild for fvwm3 (fvwm-3.9999.ebuild,6.41 KB, text/plain)
2020-12-15 00:00 UTC, Dominique Michel
Details
updated metadata with the go USE flag (metadata.xml,1.04 KB, text/xml)
2020-12-15 00:02 UTC, Dominique Michel
Details
oops, make repoman happy (metadata.xml,1.04 KB, text/xml)
2020-12-15 00:16 UTC, Dominique Michel
Details
ebuild for fvwm3 (fvwm-3.9999.ebuild,6.44 KB, text/plain)
2020-12-15 01:09 UTC, Dominique Michel
Details
fixed metadata (metadata.xml,1.05 KB, text/xml)
2020-12-15 01:11 UTC, Dominique Michel
Details
fix shebangs and simplify (fvwm-3.9999.ebuild,6.58 KB, text/plain)
2020-12-18 09:12 UTC, Dominique Michel
Details
fix dependencies (fvwm-3.9999.ebuild,6.56 KB, text/plain)
2020-12-18 09:20 UTC, Dominique Michel
Details
fix depends (fvwm-3.9999.ebuild,6.56 KB, text/plain)
2020-12-18 09:25 UTC, Dominique Michel
Details
fix installation of dev-docs files (fvwm-3.9999.ebuild,6.56 KB, text/plain)
2021-06-05 06:38 UTC, Dominique Michel
Details
fix maintainer (metadata.xml,1.05 KB, text/plain)
2021-06-05 10:36 UTC, Dominique Michel
Details
build.log (fvwm-3.9999-build.log,167.05 KB, text/plain)
2021-10-13 18:00 UTC, needle
Details
remove libsson depend; add GO conditional (fvwm-3.9999.ebuild,6.98 KB, text/plain)
2022-01-20 12:53 UTC, Dominique Michel
Details
build log (build.log,30.46 KB, text/x-log)
2022-01-20 13:05 UTC, Dominique Michel
Details
ebuild for the last released version (fvwm-3.1.0.4.ebuild,5.85 KB, text/plain)
2022-01-21 12:37 UTC, Dominique Michel
Details
fix for the go ldflags portage issue (fvwm-3.9999-goflags.patch,320 bytes, patch)
2022-01-21 12:40 UTC, Dominique Michel
Details | Diff
use the build system to generate the html doc (fvwm-3.9999-htmldoc.patch,755 bytes, patch)
2022-01-21 12:44 UTC, Dominique Michel
Details | Diff
live ebuild with fix for the go ldflags issue (fvwm-3.9999.ebuild,6.76 KB, text/plain)
2022-01-21 12:49 UTC, Dominique Michel
Details
Translucent Menus Patch (fvwm-3.9999-translucent-menus.patch,15.62 KB, patch)
2022-01-24 10:17 UTC, sebaro
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique Michel 2020-12-14 14:31:08 UTC
The successor of fvwm is released and in active development. at that time, the fvwm2 configurations are compatible with fvwm2, with no changes at all or with a few very minor changes.

Reproducible: Always




I have a working ebuild for fvwm3-1.0.1 and fvwm3-9999, but before I finalize and put it here, it would be best if we can decide how we integrate fvwm3 into portage. Also, we can wait until fvwm3-1.0.2 is out (maybe that week), because it will contain some important fixes for the compatibility with the existing fvwm2 configurations.

If we keep fvwm3 in x11-wm/fvwm, this will result into fvwm-1.0.x being fvwm3 and more recent than fvwm-2.6.{5,8,9}.

In that case, the dependencies of x11-themes/fvwm-crystal should be modified to depend on fvwm-1.* or >=fvwm-2.6.9 for its last and coming versions (I will try to keep the compatibility with fvwm.2.6.9 as long it is possible to do it without too much work. How long it will be the case is out of my control because it depend on fvwm3 development.).

If we make a new package x11-wm/fvwm3, we will have to add virtual/fvwm and make x11-themes/{fvwm-crystal, fvwm-icons, fvwm_sound} to depend on it.

Also, x11-themes/fvwm-themes* should work at that time with fvwm3, but as it was no development on them from years, They will certainly break with the future development of fvwm3. Anyway, I fell than from years, they are more interesting to keep into the tree for the numerous fvwm configuration examples they contains, than to get a good and stable fvwm based working environment. I also fell than these examples are good to have in the tree, that because if fvwm is not hard, it is complex and, especially with modules like FvwmScript, they are very helpful in order to get started with the hacking of fvwm configuration.

Also, it is a possibility to have both fvwm2 and fvwm3 installed, but this imply to install one of them with PREFIX="Usr/local", which break the FHS/Gentoo policy paths. Which imply this is not a valid option.

I don't see how we can slot them because, at the exception of the main executable which was renamed to fvwm3, this will result into a lot of files collisions with at least the other exec in $PREFIX/bin, the man pages and the locales.

So, what do we do with fvwm3?
Comment 1 Dominique Michel 2020-12-14 14:35:38 UTC
Oops: the fvwm2 configurations are compatible with fvwm3, with no changes at all or with a few very minor changes.
Comment 2 Dominique Michel 2020-12-14 14:52:28 UTC
If we look how the few other distributions which have a package for fvwm3 integrate it, they made a new fvwm3 package: https://repology.org/project/fvwm3/versions. If wee look for fvwm, only one have fvwm3 and it integrate it like fvwm-3-1.0.1: https://repology.org/project/fvwm/versions

Maybe the simplest in portage would be to name the package as fvwm-3.1.0.x. That way, in other packages, a depend like >=fvwm-2.6.x would work with both fvwm2 and fvwm3.
Comment 3 Dominique Michel 2020-12-15 00:00:53 UTC
Created attachment 678322 [details]
ebuild for fvwm3

It is a combined ebuild for fvwm-3.9999 and fvwm-3.1.0.1

When fvwm-3.1.0.2 will be released, it would be possible to simplify it a bit.

With fvwm-3.1.0.1 and USE=htmldoc, the html doc is installed into /usr/share/doc/fvwm3, but I prefer to wait until fvwm3-1.0.2 is released than to fix it.
Comment 4 Dominique Michel 2020-12-15 00:02:20 UTC
Created attachment 678325 [details]
updated metadata with the go USE flag
Comment 5 Dominique Michel 2020-12-15 00:16:47 UTC
Created attachment 678328 [details]
oops, make repoman happy
Comment 6 Dominique Michel 2020-12-15 01:09:58 UTC
Created attachment 678331 [details]
ebuild for fvwm3

libstroke is not supported anymore by fvwm3.
Added KEYWORDS for non live versions.
Various fixes to make "repoman full" out of business.
Comment 7 Dominique Michel 2020-12-15 01:11:33 UTC
Created attachment 678334 [details]
fixed metadata

Removed stroke use flag.
Fixed tab/space inconsistency.
Comment 8 Dominique Michel 2020-12-18 09:12:26 UTC
Created attachment 678691 [details]
fix shebangs and simplify

This fix the python shebangs and make the ebuild ready for 3.1.0.2

Thomas Adam confirmed me than 3.1.0.2 will be out very soon. Anyway, 3.1.0.2 address several critical bugs and compatibility issues with the fvvwm2 configurations, the live version is very stable when 3.1.0.1 is not.
Comment 9 Dominique Michel 2020-12-18 09:20:07 UTC
Created attachment 678694 [details]
fix dependencies

remove non needed dependency
Comment 10 Dominique Michel 2020-12-18 09:25:08 UTC
Created attachment 678697 [details]
fix depends

remove non needed depend
Comment 11 Henrik Johansson 2021-01-12 21:29:43 UTC
I got the following error when trying the ebuild:

Traceback (most recent call last):
  File "/usr/lib/portage/python3.7/doins.py", line 594, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/usr/lib/portage/python3.7/doins.py", line 585, in main
    os.path.dirname(source)):
  File "/usr/lib/portage/python3.7/doins.py", line 434, in _doins
    return install_runner.install_file(source, os.path.dirname(dest))
  File "/usr/lib/portage/python3.7/doins.py", line 370, in install_file
    return self._ins_runner.run(source, dest_dir)
  File "/usr/lib/portage/python3.7/doins.py", line 179, in run
    sstat = os.stat(source)
FileNotFoundError: [Errno 2] No such file or directory: b'dev-docs/NEW-COMMANDS.md'
 * ERROR: x11-wm/fvwm-3.1.0.2::localrepo failed (install phase):
 *   dodoc failed
 * 
 * If you need support, post the output of `emerge --info '=x11-wm/fvwm-3.1.0.2::localrepo'`,
 * the complete build log and the output of `emerge -pqv '=x11-wm/fvwm-3.1.0.2::localrepo'`.
 * The complete build log is located at '/var/tmp/portage/x11-wm/fvwm-3.1.0.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-wm/fvwm-3.1.0.2/temp/environment'.
 * Working directory: '/var/tmp/portage/x11-wm/fvwm-3.1.0.2/work/fvwm3-1.0.2'
 * S: '/var/tmp/portage/x11-wm/fvwm-3.1.0.2/work/fvwm3-1.0.2'
 * QA Notice: command not found:
 * 
 * 	/var/tmp/portage/x11-wm/fvwm-3.1.0.2/temp/environment: line 3730: python_single-r1_pkg_setup: command not found

Removing dev-docs/NEW-COMMANDS.md from DOCS solved this.

$ emerge fvwm -vp
[ebuild   R    ] x11-wm/fvwm-3.1.0.2::localrepo  USE="png readline truetype -bidi -debug -doc -go -htmldoc -lock -netpbm -nls -perl -rplay -svg -tk -vanilla" PYTHON_SINGLE_TARGET="python3_7 (-python3_6) -python3_8 -python3_9" 0 KiB
Comment 12 needle 2021-05-31 15:07:18 UTC
The attached ebuilds work great over here. Could those be released by any chance soon? That would be great.

Thanks.
Comment 13 Dominique Michel 2021-06-05 06:38:28 UTC
Created attachment 713712 [details]
fix installation of dev-docs files
Comment 14 Dominique Michel 2021-06-05 10:36:33 UTC
Created attachment 713796 [details]
fix maintainer
Comment 15 sebaro 2021-07-13 09:38:59 UTC
For now Go is optional, is there any way to make it optional in the ebuild too? The "go" use flag is useless because of the inherited "go-module" eclass.

[ebuild  N     ] dev-lang/go-bootstrap-1.13.6::gentoo  USE="(-big-endian)" 114,185 KiB
[ebuild  N     ] dev-lang/go-1.16.5:0/1.16.5::gentoo  CPU_FLAGS_X86="sse2" 20,432 KiB
[ebuild     U *] x11-wm/fvwm-3.9999::GEN2 [2.6.9::gentoo] USE="nls png svg truetype -bidi -debug -doc -go% -htmldoc% -lock -netpbm -perl -readline -rplay -tk -vanilla (-stroke%) (-xinerama%)" PYTHON_SINGLE_TARGET="python3_9%* -python3_8%" 0 KiB

Also, dev-libs/libbson is not a dependency any more.
Comment 16 needle 2021-10-13 18:00:41 UTC
Created attachment 744777 [details]
build.log
Comment 17 needle 2021-10-13 18:01:19 UTC
Using the attached ebuild building fvwm3 fails, build.log attached.
Comment 18 sebaro 2021-10-24 10:07:27 UTC
@needle
Check GOFLAGS:
> go: parsing $GOFLAGS: unknown flag -w"
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-29 09:15:30 UTC
Hi Dominique, if you're interested in maintaining this, could you:
- email me a 'git am'-able patch (git format-patch should do this, or git send-email), or
- email the proxy-maint mailing list, or
- make a github PR.

Thanks!
Comment 20 needle 2021-10-29 09:33:38 UTC
@sebaro.

Thanks for the hint. I have been pointed to this fvwm3 commit, causes the issue:

https://github.com/fvwmorg/fvwm3/commit/9bac03e442bcebd47db55946de840096fb04ce75

I try to write a patch for this.

(In reply to sebaro from comment #18)
> @needle
> Check GOFLAGS:
> > go: parsing $GOFLAGS: unknown flag -w"
Comment 21 needle 2021-10-31 15:27:34 UTC
Patching the GOFLAGS in the Makefile.am is OK. Howerver it makes no difference if GOFLAGS is set to -s or left empty. The build breaks saying either "invalid value" for leaving empty or "unknown flag" if flags are set. This can not be solved this way. Someone with GO experienced would need to take a loo at this.

(In reply to needle from comment #20)
> @sebaro.
> 
> Thanks for the hint. I have been pointed to this fvwm3 commit, causes the
> issue:
> 
> https://github.com/fvwmorg/fvwm3/commit/
> 9bac03e442bcebd47db55946de840096fb04ce75
> 
> I try to write a patch for this.
> 
> (In reply to sebaro from comment #18)
> > @needle
> > Check GOFLAGS:
> > > go: parsing $GOFLAGS: unknown flag -w"
Comment 22 Dominique Michel 2022-01-20 01:08:41 UTC
(In reply to needle from comment #21)
> Patching the GOFLAGS in the Makefile.am is OK. Howerver it makes no
> difference if GOFLAGS is set to -s or left empty. The build breaks saying
> either "invalid value" for leaving empty or "unknown flag" if flags are set.
> This can not be solved this way. Someone with GO experienced would need to
> take a loo at this.

I agree with you. I get the same error now, and if I go in $S and run "make", it compile without issue:

make[3]: Entering directory '/var/tmp/portage/x11-wm/fvwm3-9999/work/fvwm3-9999/bin/FvwmPrompt'
go build -mod=mod -ldflags="-s -w" -mod=vendor -o FvwmPrompt -v
make[3]: Leaving directory '/var/tmp/portage/x11-wm/fvwm3-9999/work/fvwm3-9999/bin/FvwmPrompt'

That imply it should be an issue with go in portage and into the ebuild.
Comment 23 Dominique Michel 2022-01-20 12:53:50 UTC
Created attachment 762823 [details]
remove libsson depend; add GO conditional

Can you please test the GO conditional and report how it work for you.
Comment 24 Dominique Michel 2022-01-20 13:05:32 UTC
Created attachment 762824 [details]
build log

I can see 2 issues/warnings with go:

- In src_unpack:

 * Tidying go.mod/go.sum
go: go.mod file not found in current directory or any parent directory; see 'go help modules'

I don't know if this can be ignored or if it should be fixed and how.

- In src_compile:

Making all in FvwmPrompt
make[3]: Entering directory '/var/tmp/portage/x11-wm/fvwm-3.9999/work/fvwm-3.9999/bin/FvwmPrompt'
go build -mod=mod -ldflags="-s -w" -mod=vendor -o FvwmPrompt -v
go: parsing $GOFLAGS: unknown flag -w"
make[3]: *** [Makefile:529: build] Error 1

I googled and try different things like setting the EGO_BUILD_FLAGS or GOFLAGS variables, but I found nothing that work and have no more clue. Even to use make instead of emake was not working.
Comment 25 Dominique Michel 2022-01-20 13:54:54 UTC
Another issue I get with go in that ebuild is when I try, instead of maintaining a long list into EGO_SUM, to put the following:

EGO_SUM=(
	"https://github.com/fvwmorg/fvwm3/blob/master/bin/FvwmPrompt/go.mod"
)

which result into:

ebuild fvwm-3.9999.ebuild digest
...
!!! Couldn't download 'https:%2F%2Fgithub.com%2Ffvwmorg%2Ffvwm3%2Fblob%2Fmaster%2Fbin%2F!fvwm!prompt%2Fgo.mod%2F@v%2F.zip'. Aborting.
!!! Fetch failed for https:%2F%2Fgithub.com%2Ffvwmorg%2Ffvwm3%2Fblob%2Fmaster%2Fbin%2F!fvwm!prompt%2Fgo.mod%2F@v%2F.zip, can't update Manifest
Comment 26 Dominique Michel 2022-01-20 14:04:26 UTC
Same issue if I try with the permalink:

!!! Couldn't download 'https:%2F%2Fgithub.com%2Ffvwmorg%2Ffvwm3%2Fblob%2F42d9198c81d689b9c26a45ee1c5518df1b1d1f70%2Fbin%2F!fvwm!prompt%2Fgo.mod%2F@v%2F.zip'. Aborting
Comment 27 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-20 14:32:44 UTC
(In reply to Dominique Michel from comment #26)
> Same issue if I try with the permalink:
> 
> !!! Couldn't download
> 'https:%2F%2Fgithub.
> com%2Ffvwmorg%2Ffvwm3%2Fblob%2F42d9198c81d689b9c26a45ee1c5518df1b1d1f70%2Fbin
> %2F!fvwm!prompt%2Fgo.mod%2F@v%2F.zip'. Aborting


[14:31:58]  <@sam_> dominique_michel: as for the issue at the end of the bug, you have to put the contents of go.sum into that variable, _not_ the link to it
[14:32:08]  <@sam_> i do: cat /tmp/go.sum | cut -d" " -f1,2 | awk '{print "\t\"" $0 "\""}'
[14:32:12]  <@sam_> then i put the output into EGO_SUM
Comment 28 Dominique Michel 2022-01-21 11:20:53 UTC
(In reply to Dominique Michel from comment #24)

> Making all in FvwmPrompt
> make[3]: Entering directory
> '/var/tmp/portage/x11-wm/fvwm-3.9999/work/fvwm-3.9999/bin/FvwmPrompt'
> go build -mod=mod -ldflags="-s -w" -mod=vendor -o FvwmPrompt -v
> go: parsing $GOFLAGS: unknown flag -w"
> make[3]: *** [Makefile:529: build] Error 1

According to Thomas Adam on IRC #fvwm:
- ... it'll be due to the golang version you're using.

When I tell him I don't get that issue when running just "make", but only with portage, he answered:
- Sounds like a Gentoo/Portage issue to me.  Try asking them.

I don't get that issue with the last released version: fvwm3-1.0.4. I am testing it and a patch for the live ebuild that fix that issue by removing these ldflags. But as the real issue seam to be in portage, that will be more a workaround than the real fix.
Comment 29 Dominique Michel 2022-01-21 12:37:45 UTC
Created attachment 762993 [details]
ebuild for the last released version

That version compile fine with portage and go version go1.17.6 linux/amd64
Comment 30 Dominique Michel 2022-01-21 12:40:50 UTC
Created attachment 762994 [details, diff]
fix for the go ldflags portage issue

That patch works fine here with the live ebuild and go version go1.17.6 linux/amd64
Comment 31 Dominique Michel 2022-01-21 12:44:46 UTC
Created attachment 762995 [details, diff]
use the build system to generate the html doc

fvwm documentation is so extensive than I really prefer to use the html version.
Comment 32 Dominique Michel 2022-01-21 12:49:42 UTC
Created attachment 762996 [details]
live ebuild with fix for the go ldflags issue

Next step is a little bit more cleanup and, hopefully, a PR or an email with a portage patch.
Comment 33 sebaro 2022-01-24 10:17:10 UTC
Created attachment 763485 [details, diff]
Translucent Menus Patch
Comment 34 sebaro 2022-01-24 10:18:58 UTC
It works with some changes:

* dev-libs/libbson is not needed any more, was replaced with internal cJSON

* both doc and htmldoc flags require dev-ruby/asciidoctor

* attached translucent menus patch from fvwm2
Comment 35 needle 2022-03-18 12:20:31 UTC
The ebuild 3.9999 works including the needed 2 patches:

fvwm-3.9999-goflags.patch
fvwm-3.9999-htmldoc.patch

work now over here. Thanks for looking into this and fixing.
Comment 36 Matt Jolly gentoo-dev 2022-06-01 05:06:42 UTC
OK, everything on the PR looks good to go now; Someone that actually has a fvwm2 configuration to migrate (or already uses fvwm3) should take a look and validate that functionality is working.

The x11-wm/fvwm3 package has a weak blocker on x11-wm/fvwm to prevent collisions.

I went with `x11-wm/fvwm3` to match upstream's naming convention. This will require some additional work by an actual fvwm3 user who can test (add '|| x11-wm/fvwm3' to deps). The most likely culprits are:

x11-themes/fvwm-crystal
x11-themes/fvwm_icons
x11-themes/fvwm_sounds
x11-themes/fvwm-themes-extra
x11-themes/fvwm-themes

I note that the majority of these packages are on EAPI 7, with one on 6 so they could probably use some love anyway - I've got a few other projects on at the moment and can't get to it right now, and an actual fvwm user is probably going to notice any issues - at the moment I'd only be able to go with 'it compiles and launches'.
Comment 37 Larry the Git Cow gentoo-dev 2022-06-02 05:38:21 UTC Comment hidden (obsolete)
Comment 38 Larry the Git Cow gentoo-dev 2022-06-04 02:19:28 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0676d323821ce5660feec809a9f8018a2ab58c3

commit e0676d323821ce5660feec809a9f8018a2ab58c3
Author:     Matt Jolly <Matt.Jolly@footclan.ninja>
AuthorDate: 2022-05-20 13:02:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-06-04 02:19:19 +0000

    x11-wm/fvwm3: new package, add 1.0.4, 9999
    
    Closes: https://bugs.gentoo.org/760012
    
    Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja>
    Signed-off-by: Sam James <sam@gentoo.org>

 x11-wm/fvwm3/Manifest                              |   3 +
 x11-wm/fvwm3/files/README.translucency             |  94 ++++
 x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch       |  70 +++
 .../files/fvwm3-1.0.4-translucent-menus.patch      | 487 ++++++++++++++++++++
 x11-wm/fvwm3/files/fvwm3-9999-goflags.patch        |  11 +
 x11-wm/fvwm3/files/fvwm3-9999-htmldoc.patch        |  43 ++
 .../fvwm3/files/fvwm3-9999-translucent-menus.patch | 489 +++++++++++++++++++++
 x11-wm/fvwm3/fvwm3-1.0.4.ebuild                    | 204 +++++++++
 x11-wm/fvwm3/fvwm3-9999.ebuild                     | 204 +++++++++
 x11-wm/fvwm3/metadata.xml                          |  27 ++
 10 files changed, 1632 insertions(+)