Created attachment 6762 Build log Looks like 0.3.0 fails to build against gtk+-3.18.9 (current Gentoo stable version). The error is: make[2]: *** No rule to make target 'themes/gtk-3.0/Default/gtk.css', needed by 'all-am'. Stop. I'm attaching a complete build log. I can also tell that it builds fine with gtk+-3.20.6.
Hi, I presume you took the release tarball, which was built against Gtk+3.20 and consequently only works with that. If you checkout the 0.3.0 git tag everything should work as expected. If you have a good idea as to how to improve this let me know! Otherwise sorry for the inconvenience.
Are you saying that autoreconf would fix it or...? Would building the tarball against older GTK+ preserve compatibility with more versions? In any case, I don't think it is really fixed as people will still bump into this. If you can't fix it, then mark it WONTFIX or alike, please, to make this clear. Possibly you could also increase the version requirement in configure.ac, or add some kludge warning people to autoreconf when running with older autoconf.
Ok, let me explain that a little. The problem is that themes are totally incompatible for Gtk+3 <= 3.18 and Gtk+3 >= 3.20, so *either* one *or* the other have to be installed. If both would be installed, themes wouldn't work in any Gtk+3 version. So after some consideration I decided to make the switch (i.e. which themes to use) at compile-time, not at run-time, as I would presume that distribution packagers would know which Gtk+3 version to build their packages against. So the Makefile/autotools stuff checks which Gtk+3 version you have installed and based on that it only takes the correct themes folder, which is either gtk-3.0 (for Gtk+3 <= 3.18) or gtk-3.20 (for Gtk+3 3.20 and beyond). As I ran make dist-check for building the release tarball on a system with Gtk+3 3.20, the gtk-3.0 folder isn't included in the archive. If you check out the git tag, everything is there and working. If you have any suggestions as to how to improve that in terms of building a release tarball with both the gtk-3.0 and gtk-3.20 folder that will work fine with all versions please let me know! I'm fine with leaving this bug open if you think it will help others who bump into this issue, although I would hope it's mostly distro maintainers/packagers.
Sounds like a case for EXTRA_DIST -- you need to put the other theme in there for it to be distributed along with the theme being installed. I think it's fine to repeat files normally distributed in EXTRA_DIST, so you should be able to put both themes in there.
I won't pretend I'm a make or autotools expert, so if you have a patch for me I'll gladly review it ;)
Created attachment 6810 Patch fixing 'make dist' Here you are. I've noticed that the file is already using 'dist_noinst_DATA' which is kinda weird but works the same as EXTRA_DIST, so I just extended that. I've added both themes verbatim there since I found introducing $(otherstyle) would only unnecessarily make things more complex.
(In reply to Simon Steinbeiss from comment #3) > As I ran make dist-check for building the release tarball on a system with > Gtk+3 3.20, the gtk-3.0 folder isn't included in the archive. If you check > out the git tag, everything is there and working. I misremembered this, sorry. The folders are both there, not sure why it's not working. As I currently don't have a Gtk3.18 system around to test, does your patch fix your problem? (Doesn't seem to make a difference here)
(In reply to Simon Steinbeiss from comment #7) > (In reply to Simon Steinbeiss from comment #3) > > As I ran make dist-check for building the release tarball on a system with > > Gtk+3 3.20, the gtk-3.0 folder isn't included in the archive. If you check > > out the git tag, everything is there and working. > > I misremembered this, sorry. The folders are both there, not sure why it's > not working. No, they're not: $ tar -tf xfce4-notifyd-0.3.0.tar.bz2 | grep themes xfce4-notifyd-0.3.0/themes/ xfce4-notifyd-0.3.0/themes/gtk-3.20/ xfce4-notifyd-0.3.0/themes/gtk-3.20/Smoke/ xfce4-notifyd-0.3.0/themes/gtk-3.20/Smoke/gtk.css xfce4-notifyd-0.3.0/themes/gtk-3.20/ZOMG-PONIES!/ xfce4-notifyd-0.3.0/themes/gtk-3.20/ZOMG-PONIES!/gtk.css xfce4-notifyd-0.3.0/themes/gtk-3.20/Default/ xfce4-notifyd-0.3.0/themes/gtk-3.20/Default/gtk.css > As I currently don't have a Gtk3.18 system around to test, does your patch > fix your problem? (Doesn't seem to make a difference here) It certainly causes both theme versions to be included in the tarball. I will try to find the time to test it tomorrow or the day after tomorrow.
I can confirm that my patch fixes newly generated distribution tarballs. Having GTK+ 3.20 installed, I did 'make dist' before and after applying the patch. The tarball without the patch missed 3.0 themes, the other one had them. Afterwards, I've downgraded GTK+ to 3.18, and attempted to install from the two tarballs. As expected, the first one failed while the second one worked.
Yes, sorry, that was my mixup. I checked the tarballs from https://git.xfce.org/apps/xfce4-notifyd/, not from archive.xfce.org. I've pushed it to master, thanks again for your contribution! https://git.xfce.org/apps/xfce4-notifyd/commit/?id=46b813f1eea4fc0db7b68d1657cabea799157f6c