Separate gtk3 and gnome-shell versioning (#117)

* Separate gtk3 and gnome-shell version detection

GTK3's version isn't tied to gnome desktop version any more. Let's
separate the versioning for gtk3 and gnome-shell themes to reflect that.

* Add symlinks to support shell versions up to 3.30

* Fix indentation in autoconf macros

* Detect version with gnome-shell: grab the shell version directly from 'gnome-shell --version'
output.

* Update README for gtk3 and gnome-shell options

GTK3 and gnome-shell themes are now versioned separately.

* Update build options indentation in README
master
jnsh 2018-09-08 18:13:25 +03:00 committed by David Mohammed
parent 95b39e0986
commit 1759706eb4
9 changed files with 141 additions and 91 deletions

View File

@ -77,26 +77,25 @@ Clone the git repository with
Other options to pass to autogen.sh are
--disable-transparency disable transparency in the GTK3 theme
--disable-light disable Arc Light support
--disable-darker disable Arc Darker support
--disable-dark disable Arc Dark support
--disable-cinnamon disable Cinnamon support
--disable-gnome-shell disable GNOME Shell support
--disable-gtk2 disable GTK2 support
--disable-gtk3 disable GTK3 support
--disable-metacity disable Metacity support
--disable-unity disable Unity support
--disable-xfwm disable XFWM support
--disable-plank disable Plank theme support
--disable-openbox disable Openbox support
--disable-transparency disable transparency in the GTK3 theme
--disable-light disable Arc Light support
--disable-darker disable Arc Darker support
--disable-dark disable Arc Dark support
--disable-cinnamon disable Cinnamon support
--disable-gnome-shell disable GNOME Shell support
--disable-gtk2 disable GTK2 support
--disable-gtk3 disable GTK3 support
--disable-metacity disable Metacity support
--disable-unity disable Unity support
--disable-xfwm disable XFWM support
--disable-plank disable Plank theme support
--disable-openbox disable Openbox support
--with-gnome=<version> build the theme for a specific GNOME version (3.18, 3.20, 3.22)
Note 1: Normally the correct version is detected automatically and this
option should not be needed.
Note 2: For GNOME 3.24 and 3.26, use --with-gnome=3.22
(this works for now, the build system will be improved in the future)
--with-custom=<script> run the executable script file in the custom subfolder
--with-gnome-shell=<version> build the gnome-shell theme for a specific version
--with-gtk3=<version> build the GTK3 theme for a specific version
Note: Normally the correct version is detected automatically
and these options should not be needed.
--with-custom=<script> run the executable script file in the custom subfolder
After the installation is complete the theme can be activated with `gnome-tweak-tool` or a similar program by selecting `Arc`, `Arc-Darker` or `Arc-Dark` as Window/GTK+ theme and `Arc` or `Arc-Dark` as GNOME Shell/Cinnamon theme.

View File

@ -68,9 +68,9 @@ endif # ENABLE_GNOME_SHELL
if ENABLE_GNOME_SHELL
$(MKDIR_P) $(ithemedir)/gnome-shell
sassc $(srcdir)/gnome-shell/$(GNOME_VERSION)/sass/gnome-shell.scss $(srcdir)/gnome-shell/$(GNOME_VERSION)/gnome-shell.css;
sassc $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/sass/gnome-shell.scss $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/gnome-shell.css;
cd $(srcdir)/gnome-shell/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION) && cp -R \
common-assets \
light-assets \
gnome-shell.css \
@ -79,14 +79,14 @@ if ENABLE_GNOME_SHELL
if ENABLE_DARK
$(MKDIR_P) $(ithemedarkdir)/gnome-shell
sassc $(srcdir)/gnome-shell/$(GNOME_VERSION)/sass/gnome-shell-dark.scss $(srcdir)/gnome-shell/$(GNOME_VERSION)/gnome-shell-dark.css;
sassc $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/sass/gnome-shell-dark.scss $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/gnome-shell-dark.css;
cd $(srcdir)/gnome-shell/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION) && cp -R \
common-assets \
dark-assets \
$(ithemedarkdir)/gnome-shell
cd $(srcdir)/gnome-shell/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION) && cp -R \
gnome-shell-dark.css \
$(ithemedarkdir)/gnome-shell/gnome-shell.css
endif # ENABLE_DARK
@ -143,17 +143,17 @@ endif # ENABLE_GTK2
if ENABLE_GTK3
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && $(MKDIR_P) assets && ./render-assets.sh
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && $(MKDIR_P) assets && ./render-assets.sh
if ENABLE_LIGHT
$(MKDIR_P) $(ithemedir)/gtk-3.0
cd $(srcdir)/gtk-3.0 && cp thumbnail.png $(ithemedir)/gtk-3.0
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css;
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
assets \
gtk.css \
gtk-dark.css \
@ -165,16 +165,16 @@ if ENABLE_DARKER
cd $(srcdir)/gtk-3.0 && cp thumbnail.png $(ithemedarkerdir)/gtk-3.0
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-darker.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-darker.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-darker.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-darker.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css;
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
assets \
gtk-dark.css \
$(ithemedarkerdir)/gtk-3.0
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-darker.css \
$(ithemedarkerdir)/gtk-3.0/gtk.css
endif # ENABLE_DARKER
@ -184,14 +184,14 @@ if ENABLE_DARK
cd $(srcdir)/gtk-3.0 && cp thumbnail-dark.png $(ithemedarkdir)/gtk-3.0/thumbnail.png
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
assets \
$(ithemedarkdir)/gtk-3.0
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css;
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-dark.css \
$(ithemedarkdir)/gtk-3.0/gtk.css
endif # ENABLE_DARK
@ -199,40 +199,40 @@ endif # ENABLE_DARK
if !ENABLE_TRANSPARENCY
if ENABLE_LIGHT
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-solid.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-solid.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-solid-dark.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css;
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-solid.css \
$(ithemedir)/gtk-3.0/gtk.css
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-solid-dark.css \
$(ithemedir)/gtk-3.0/gtk-dark.css
endif # ENABLE_LIGHT
if ENABLE_DARKER
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-solid-darker.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-solid-darker.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-solid-dark.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-darker.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-darker.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css;
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-solid-darker.css \
$(ithemedarkerdir)/gtk-3.0/gtk.css
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-solid-dark.css \
$(ithemedarkerdir)/gtk-3.0/gtk-dark.css
endif # ENABLE_DARKER
if ENABLE_DARK
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk-solid-dark.css;
sassc $(srcdir)/gtk-3.0/$(GNOME_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GNOME_VERSION)/gtk.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-dark.css;
sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css;
cd $(srcdir)/gtk-3.0/$(GNOME_VERSION) && cp -R \
cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \
gtk-solid-dark.css \
$(ithemedarkdir)/gtk-3.0/gtk.css
endif # ENABLE_DARK

1
common/gnome-shell/3.26 Symbolic link
View File

@ -0,0 +1 @@
3.18

1
common/gnome-shell/3.28 Symbolic link
View File

@ -0,0 +1 @@
3.18

1
common/gnome-shell/3.30 Symbolic link
View File

@ -0,0 +1 @@
3.18

View File

@ -26,7 +26,8 @@ ARC_ENABLE([TRANSPARENCY], [transparency], [transparency], [disable])
ARC_ENABLE([PLANK], [plank], [Plank theme], [disable])
ARC_ENABLE([OPENBOX], [openbox], [Openbox], [disable])
AS_IF([test "x$ENABLE_GNOME_SHELL$ENABLE_GTK3" != xnono], [ARC_GNOME])
AS_IF([test "x$ENABLE_GTK3" != xno], [ARC_GTK3])
AS_IF([test "x$ENABLE_GNOME_SHELL" != xno], [ARC_GNOME_SHELL])
AC_CONFIG_FILES([
common/Makefile

47
m4/arc-gnome-shell.m4 Normal file
View File

@ -0,0 +1,47 @@
# ARC_GNOME_SHELL()
# ---------------
AC_DEFUN([ARC_GNOME_SHELL], [
GNOME_SHELL_DIR="$srcdir/common/gnome-shell"
AC_ARG_WITH(
[gnome-shell],
[AS_HELP_STRING(
[--with-gnome-shell],
[gnome-shell minor version]
)],
[GNOME_SHELL_VERSION="$withval"],
[AC_CHECK_PROG(
[GNOME_SHELL_FOUND],
[gnome-shell],
[yes],
[no]
)
AS_IF(
[test "x$GNOME_SHELL_FOUND" = xyes],
[GNOME_SHELL_VERSION=`gnome-shell --version | cut -d' ' -f3`],
[AC_MSG_ERROR([Could not find gnome-shell from \$PATH.])]
)
AS_IF(
[test -z "$GNOME_SHELL_VERSION"],
[AC_MSG_ERROR([Could not determine gnome-shell version.])]
)]
)
# Trim version extras
GNOME_SHELL_VERSION=`echo $GNOME_SHELL_VERSION | cut -d. -f-2`
# Extra major and minor version components
GNOME_SHELL_VERSMJR=`echo $GNOME_SHELL_VERSION | cut -d. -f1`
GNOME_SHELL_VERSMNR=`echo $GNOME_SHELL_VERSION | cut -d. -f2`
# Evenize the minor version for stable versions
AS_IF(
[test `expr $GNOME_SHELL_VERSMNR % 2` != "0"],
[GNOME_SHELL_VERSION="$GNOME_SHELL_VERSMJR.`expr $GNOME_SHELL_VERSMNR + 1`"]
)
AS_IF(
[! test -e "$GNOME_SHELL_DIR/$GNOME_SHELL_VERSION"],
[AC_MSG_ERROR([Invalid gnome-shell version: $GNOME_SHELL_VERSION])]
)
AC_SUBST([GNOME_SHELL_VERSION])
AC_MSG_RESULT([Building for gnome-shell $GNOME_SHELL_VERSION])
])

View File

@ -1,38 +0,0 @@
# ARC_GNOME()
# ---------------
AC_DEFUN([ARC_GNOME], [
GNOMEDIR="$srcdir/common/gtk-3.0"
PKG_PROG_PKG_CONFIG()
AC_ARG_WITH(
[gnome],
[AS_HELP_STRING(
[--with-gnome],
[GNOME minor version]
)],
[GNOME_VERSION="$withval"],
[PKG_CHECK_EXISTS(
[gtk+-3.0],
[GNOME_VERSION=`$PKG_CONFIG --modversion gtk+-3.0`],
[AC_MSG_ERROR([Could not determine GNOME version. Install GTK3 and its development files (libgtk-3-dev for Debian/Ubuntu based distros and gtk3-devel for RPM based distros).])]
)]
)
# Trim version extras
GNOME_VERSION=`echo $GNOME_VERSION | cut -d. -f-2`
# Extra major and minor version components
GNOME_VERSMJR=`echo $GNOME_VERSION | cut -d. -f1`
GNOME_VERSMNR=`echo $GNOME_VERSION | cut -d. -f2`
# Evenize the minor version for stable versions
AS_IF(
[test `expr $GNOME_VERSMNR % 2` != "0"],
[GNOME_VERSION="$GNOME_VERSMJR.`expr $GNOME_VERSMNR + 1`"]
)
AS_IF(
[! test -e "$GNOMEDIR/$GNOME_VERSION"],
[AC_MSG_ERROR([Invalid GNOME version: $GNOME_VERSION])]
)
AC_SUBST([GNOME_VERSION])
AC_MSG_RESULT([Building for GNOME $GNOME_VERSION])
])

38
m4/arc-gtk3.m4 Normal file
View File

@ -0,0 +1,38 @@
# ARC_GTK3()
# ---------------
AC_DEFUN([ARC_GTK3], [
GTK3DIR="$srcdir/common/gtk-3.0"
PKG_PROG_PKG_CONFIG()
AC_ARG_WITH(
[gtk3],
[AS_HELP_STRING(
[--with-gtk3],
[GTK3 minor version]
)],
[GTK3_VERSION="$withval"],
[PKG_CHECK_EXISTS(
[gtk+-3.0],
[GTK3_VERSION=`$PKG_CONFIG --modversion gtk+-3.0`],
[AC_MSG_ERROR([Could not determine GTK3 version. Install GTK3 and its development files (libgtk-3-dev for Debian/Ubuntu based distros and gtk3-devel for RPM based distros).])]
)]
)
# Trim version extras
GTK3_VERSION=`echo $GTK3_VERSION | cut -d. -f-2`
# Extra major and minor version components
GTK3_VERSMJR=`echo $GTK3_VERSION | cut -d. -f1`
GTK3_VERSMNR=`echo $GTK3_VERSION | cut -d. -f2`
# Evenize the minor version for stable versions
AS_IF(
[test `expr $GTK3_VERSMNR % 2` != "0"],
[GTK3_VERSION="$GTK3_VERSMJR.`expr $GTK3_VERSMNR + 1`"]
)
AS_IF(
[! test -e "$GTK3DIR/$GTK3_VERSION"],
[AC_MSG_ERROR([Invalid GTK3 version: $GTK3_VERSION])]
)
AC_SUBST([GTK3_VERSION])
AC_MSG_RESULT([Building for GTK3 $GTK3_VERSION])
])