jnsh / arc-theme

A flat theme with transparent elements (actively maintained fork)
GNU General Public License v3.0
902 stars 77 forks source link

Cannot make in FreeBSD #82

Closed nicolashainaux closed 3 years ago

nicolashainaux commented 3 years ago

Hello,

As the package in FreeBSD repos is broken, I'm trying to build the theme on FreeBSD (actually I'm testing on a GhostBSD XFCE box).

gtk-murrine-engine and inkscape were previously installed. I did:

pkg install sassc optipng gnome-themes-extra pkgconf
git clone https://github.com/jnsh/arc-theme --depth 1 && cd arc-theme
./autogen.sh --prefix=$HOME/.local --disable-cinnamon --disable-gnome-shell --disable-unity
make install

The result of the two last commands is:

nico@xantico /u/h/n/.c/arc-theme (master)> ./autogen.sh --prefix=$HOME/.local --disable-cinnamon --disable-gnome-shell --disable-unity
autoreconf-2.69: Entering directory `.'
autoreconf-2.69: configure.ac: not using Gettext
autoreconf-2.69: running: aclocal --force -I m4
autoreconf-2.69: configure.ac: tracing
autoreconf-2.69: configure.ac: not using Libtool
autoreconf-2.69: running: /usr/local/bin/autoconf-2.69 --force
autoreconf-2.69: configure.ac: not using Autoheader
autoreconf-2.69: running: automake --add-missing --copy --force-missing
autoreconf-2.69: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... build-aux/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether ln -s works... yes
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
Detected GTK3 3.24.23
Building GTK3 theme 3.24
checking for inkscape... /usr/local/bin/inkscape
checking for optipng... /usr/local/bin/optipng
checking for sassc... /usr/local/bin/sassc
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating common/gtk-2.0/Makefile
config.status: creating common/gtk-3.0/Makefile
config.status: creating common/gtk-3.0/3.18/Makefile
config.status: creating common/gtk-3.0/3.20/Makefile
config.status: creating common/gtk-3.0/3.22/Makefile
config.status: creating common/gtk-3.0/3.24/Makefile
config.status: creating common/xfwm4/Makefile
config.status: creating common/Makefile
config.status: creating Makefile
nico@xantico /u/h/n/.c/arc-theme (master)> make install
Making install in common
Making install in gtk-2.0
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc/gtk-2.0'
 /usr/bin/install -c -m 644 ./light/gtkrc '/home/nico/.local/share/themes/Arc/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Dark/gtk-2.0'
 /usr/bin/install -c -m 644 ./dark/gtkrc '/home/nico/.local/share/themes/Arc-Dark/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Darker/gtk-2.0'
 /usr/bin/install -c -m 644 ./darker/gtkrc '/home/nico/.local/share/themes/Arc-Darker/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Lighter/gtk-2.0'
 /usr/bin/install -c -m 644 ./lighter/gtkrc '/home/nico/.local/share/themes/Arc-Lighter/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc/gtk-2.0/menubar-toolbar'
 /usr/bin/install -c -m 644  ./menubar-toolbar/menubar-toolbar.rc '/home/nico/.local/share/themes/Arc/gtk-2.0/menubar-toolbar'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Dark/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Dark/gtk-2.0/menubar-toolbar'
 /usr/bin/install -c -m 644  ./menubar-toolbar/menubar-toolbar-dark.rc '/home/nico/.local/share/themes/Arc-Dark/gtk-2.0/menubar-toolbar'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Darker/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Darker/gtk-2.0/menubar-toolbar'
 /usr/bin/install -c -m 644  ./menubar-toolbar/menubar-toolbar-dark.rc '/home/nico/.local/share/themes/Arc-Darker/gtk-2.0/menubar-toolbar'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Lighter/gtk-2.0'
 ../../build-aux/install-sh -c -d '/home/nico/.local/share/themes/Arc-Lighter/gtk-2.0/menubar-toolbar'
 /usr/bin/install -c -m 644  ./menubar-toolbar/menubar-toolbar.rc '/home/nico/.local/share/themes/Arc-Lighter/gtk-2.0/menubar-toolbar'
Making install in gtk-3.0
Making install in 3.24
make[3]: don't know how to make light/gtk.css. Stop

make[3]: stopped in /usr/home/nico/.code/arc-theme/common/gtk-3.0/3.24
*** Error code 1
*** Error code 1
*** Error code 1
nico@xantico /u/h/n/.c/arc-theme (master) [1]>

Any hint?

(I've tried with gmake too, but it failed miserably).

jnsh commented 3 years ago

Thank you for the report. I haven't encountered anything similar myself and couldn't reproduce the build error on Arch Linux using the exact commands you used.

One odd thing I noticed on the build log, is that there's no output from inkscape rendering the .png assets for both GTK themes, or from sassc compiling the .css files for GTK3. A failure with the latter should explain the build stopping abruptly in light/gtk.css.

I can see that autogen.sh found both inkscape and sassc binaries in /usr/local/bin. Can you make sure both executables work correctly (e.g. simply run /usr/local/bin/inkscape and /usr/local/bin/sassc with full path, and ensure there are no issues).

Apart from that, I have no ideas for now unfortunately. I'm not at all familiar with *BSD systems, and can't imagine what could cause such issue. I may just have to set up GhostBSD VM and investigate myself at some time in the future.

EDIT: Maybe you could suggest the FreeBSD package maintainers to switch to this repo. The build error that broke the old package should be sorted out here.

nicolashainaux commented 3 years ago

Thank you for your quick reply!

Both /usr/local/bin/inkscape and /usr/local/bin/sassc run correctly.

The package maintainer seems to be unreachable since a while unfortunately. I will try to discover what can be done.

On another hand, I've noticed they seem to use gmake (the "GNU version" of make, available in FreeBSD too) instead of FreeBSD's make. I said gmake failed miserably because it produced a lot of errors, but looking at them more in details, they do not look too bad. At least, the compilation does not stop on its own. Here are the first lines (I did interrupt it):

gmake install
Making install in common
gmake[1] : on entre dans le répertoire « /usr/home/nico/.code/arc-theme/common »
Making install in gtk-2.0
gmake[2] : on entre dans le répertoire « /usr/home/nico/.code/arc-theme/common/gtk-2.0 »
/usr/local/bin/inkscape --export-id-only --export-filename="dark/assets/radio-checked-insensitive.png" --export-id="radio-checked-insensitive" --export-dpi=96 "dark/assets.svg" >/dev/null

(process:5689): GLib-CRITICAL **: 10:39:55.381: g_path_get_dirname: assertion 'file_name != NULL' failed

(org.inkscape.Inkscape:5689): Gtk-WARNING **: 10:39:55.433: Theme parsing error: gtk.css:6274:9: 'bordert' is not a valid property name
Exporting only object with id="radio-checked-insensitive"; all other objects hidden.
Background RRGGBBAA: ffffff00
Area 337:17.9999:353:33.9999 exported to 16 x 16 pixels (96 dpi)
/usr/local/bin/optipng -o7 --quiet "dark/assets/radio-checked-insensitive.png"
/usr/local/bin/inkscape --export-id-only --export-filename="dark/assets/radio-unchecked.png" --export-id="radio-unchecked" --export-dpi=96 "dark/assets.svg" >/dev/null

(process:5691): GLib-CRITICAL **: 10:39:55.931: g_path_get_dirname: assertion 'file_name != NULL' failed

(org.inkscape.Inkscape:5691): Gtk-WARNING **: 10:39:55.976: Theme parsing error: gtk.css:6274:9: 'bordert' is not a valid property name
Exporting only object with id="radio-unchecked"; all other objects hidden.
Background RRGGBBAA: ffffff00
Area 289:17.9999:305:33.9999 exported to 16 x 16 pixels (96 dpi)
/usr/local/bin/optipng -o7 --quiet "dark/assets/radio-unchecked.png"
/usr/local/bin/inkscape --export-id-only --export-filename="dark/assets/radio-unchecked-insensitive.png" --export-id="radio-unchecked-insensitive" --export-dpi=96 "dark/assets.svg" >/dev/null

(process:5693): GLib-CRITICAL **: 10:39:56.431: g_path_get_dirname: assertion 'file_name != NULL' failed

(org.inkscape.Inkscape:5693): Gtk-WARNING **: 10:39:56.476: Theme parsing error: gtk.css:6274:9: 'bordert' is not a valid property name
^Cgmake[2]: *** [Makefile:818 : dark/assets/radio-unchecked-insensitive.png] Erreur 2
gmake[1]: *** [Makefile:464: install-recursive] Interrupt
gmake: *** [Makefile:362: install-recursive] Interrupt

I'll try to let it run and see what happens.

nicolashainaux commented 3 years ago

Well after a while it did finally work. I just had to ignore the CRITICAL errors, nothing more! So, sorry for this!

jnsh commented 3 years ago

Happy to hear you got it sorted.

The output you're seeing is from inkscape rendering the individual assets, and it seems to output some non-fatal warnings. This part does indeed take some time on first compilation. You can speed this up on multi-core machines with the -j <number_of_jobs> option for make (assuming this also works on gmake).

Also, good to know about the gmake in case anyone else is struggling with this on FreeBSD.