diff --git a/.travis.yml b/.travis.yml index d2a15ca..4aa13e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,37 +4,35 @@ python: nightly dist: xenial os: linux -addons: - apt: - packages: - - astyle - - libalut-dev - - libconfig-dev - - libnotify-dev - - libopenal-dev - - libopus-dev - - libqrencode-dev - - libvpx-dev +jobs: + include: + - env: JOB=linux -cache: - directories: - - $HOME/cache + addons: + apt: + packages: + - libalut-dev + - libconfig-dev + - libnotify-dev + - libopenal-dev + - libopus-dev + - libqrencode-dev + - libvpx-dev -install: - # Where to find libraries. - - export LD_LIBRARY_PATH=$HOME/cache/usr/lib - - export PKG_CONFIG_PATH=$HOME/cache/usr/lib/pkgconfig - # c-sodium - - git clone --depth=1 --branch=stable https://github.com/jedisct1/libsodium ../libsodium - - test -f $HOME/cache/usr/lib/libsodium.so || (cd ../libsodium && ./configure --prefix=$HOME/cache/usr && make install -j$(nproc)) - # c-toxcore - - git clone --depth=1 https://github.com/TokTok/c-toxcore ../c-toxcore - - test -f $HOME/cache/usr/lib/libtoxcore.so || (cd ../c-toxcore && cmake -B_build -H. -DCMAKE_INSTALL_PREFIX:PATH=$HOME/cache/usr && make -C_build install -j$(nproc)) - # astyle - - wget -O ../astyle.tar.gz https://deb.debian.org/debian/pool/main/a/astyle/astyle_2.06.orig.tar.gz - - test -f $HOME/cache/astyle/build/gcc/bin/astyle || (tar -xf ../astyle.tar.gz -C "$HOME/cache" && make -C "$HOME/cache/astyle/build/gcc" -j2) + cache: + directories: + - $HOME/cache -script: - - $HOME/cache/astyle/build/gcc/bin/astyle --options=astylerc $(find . -name "*.[ch]") - - git diff --exit-code - - make ENABLE_PYTHON=1 -j2 + install: + # Where to find libraries. + - export LD_LIBRARY_PATH=$HOME/cache/usr/lib + - export PKG_CONFIG_PATH=$HOME/cache/usr/lib/pkgconfig + # c-sodium + - git clone --depth=1 --branch=stable https://github.com/jedisct1/libsodium ../libsodium + - test -f $HOME/cache/usr/lib/libsodium.so || (cd ../libsodium && ./configure --prefix=$HOME/cache/usr && make install -j$(nproc)) + # c-toxcore + - git clone --depth=1 https://github.com/TokTok/c-toxcore ../c-toxcore + - test -f $HOME/cache/usr/lib/libtoxcore.so || (cd ../c-toxcore && cmake -B_build -H. -DCMAKE_INSTALL_PREFIX:PATH=$HOME/cache/usr && make -C_build install -j$(nproc)) + + script: + - make ENABLE_PYTHON=1 -j$(nproc) diff --git a/cfg/checks/audio.mk b/cfg/checks/audio.mk index 7e684f7..304fd5f 100644 --- a/cfg/checks/audio.mk +++ b/cfg/checks/audio.mk @@ -8,13 +8,13 @@ else endif # Check if we can build audio support -CHECK_AUDIO_LIBS = $(shell $(PKG_CONFIG) --exists $(AUDIO_LIBS) || echo -n "error") +CHECK_AUDIO_LIBS := $(shell $(PKG_CONFIG) --exists $(AUDIO_LIBS) || echo -n "error") ifneq ($(CHECK_AUDIO_LIBS), error) LIBS += $(AUDIO_LIBS) CFLAGS += $(AUDIO_CFLAGS) OBJ += $(AUDIO_OBJ) else ifneq ($(MAKECMDGOALS), clean) - MISSING_AUDIO_LIBS = $(shell for lib in $(AUDIO_LIBS) ; do if ! $(PKG_CONFIG) --exists $$lib ; then echo $$lib ; fi ; done) + MISSING_AUDIO_LIBS := $(shell for lib in $(AUDIO_LIBS) ; do if ! $(PKG_CONFIG) --exists $$lib ; then echo $$lib ; fi ; done) $(warning WARNING -- Toxic will be compiled without audio support) $(warning WARNING -- You need these libraries for audio support) $(warning WARNING -- $(MISSING_AUDIO_LIBS)) diff --git a/cfg/checks/check_features.mk b/cfg/checks/check_features.mk index 4a3436f..2d4d923 100644 --- a/cfg/checks/check_features.mk +++ b/cfg/checks/check_features.mk @@ -1,19 +1,19 @@ CHECKS_DIR = $(CFG_DIR)/checks # Check if we want build X11 support -X11 = $(shell if [ -z "$(DISABLE_X11)" ] || [ "$(DISABLE_X11)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +X11 := $(shell if [ -z "$(DISABLE_X11)" ] || [ "$(DISABLE_X11)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(X11), disabled) -include $(CHECKS_DIR)/x11.mk endif # Check if we want build audio support -AUDIO = $(shell if [ -z "$(DISABLE_AV)" ] || [ "$(DISABLE_AV)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +AUDIO := $(shell if [ -z "$(DISABLE_AV)" ] || [ "$(DISABLE_AV)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(AUDIO), disabled) -include $(CHECKS_DIR)/audio.mk endif # Check if we want build video support -VIDEO = $(shell if [ -z "$(DISABLE_VI)" ] || [ "$(DISABLE_VI)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +VIDEO := $(shell if [ -z "$(DISABLE_VI)" ] || [ "$(DISABLE_VI)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(X11), disabled) ifneq ($(AUDIO), disabled) ifneq ($(VIDEO), disabled) @@ -23,42 +23,42 @@ endif endif # Check if we want build sound notifications support -SND_NOTIFY = $(shell if [ -z "$(DISABLE_SOUND_NOTIFY)" ] || [ "$(DISABLE_SOUND_NOTIFY)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +SND_NOTIFY := $(shell if [ -z "$(DISABLE_SOUND_NOTIFY)" ] || [ "$(DISABLE_SOUND_NOTIFY)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(SND_NOTIFY), disabled) -include $(CHECKS_DIR)/sound_notifications.mk endif # Check if we want build desktop notifications support -DESK_NOTIFY = $(shell if [ -z "$(DISABLE_DESKTOP_NOTIFY)" ] || [ "$(DISABLE_DESKTOP_NOTIFY)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +DESK_NOTIFY := $(shell if [ -z "$(DISABLE_DESKTOP_NOTIFY)" ] || [ "$(DISABLE_DESKTOP_NOTIFY)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(DESK_NOTIFY), disabled) -include $(CHECKS_DIR)/desktop_notifications.mk endif # Check if we want build QR export support -QR_CODE = $(shell if [ -z "$(DISABLE_QRCODE)" ] || [ "$(DISABLE_QRCODE)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +QR_CODE := $(shell if [ -z "$(DISABLE_QRCODE)" ] || [ "$(DISABLE_QRCODE)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(QR_CODE), disabled) -include $(CHECKS_DIR)/qr.mk endif # Check if we want build QR exported as PNG support -QR_PNG = $(shell if [ -z "$(DISABLE_QRPNG)" ] || [ "$(DISABLE_QRPNG)" = "0" ] ; then echo enabled ; else echo disabled ; fi) +QR_PNG := $(shell if [ -z "$(DISABLE_QRPNG)" ] || [ "$(DISABLE_QRPNG)" = "0" ] ; then echo enabled ; else echo disabled ; fi) ifneq ($(QR_PNG), disabled) -include $(CHECKS_DIR)/qr_png.mk endif # Check if we want build Python scripting support -PYTHON = $(shell if [ -z "$(ENABLE_PYTHON)" ] || [ "$(ENABLE_PYTHON)" = "0" ] ; then echo disabled ; else echo enabled ; fi) +PYTHON := $(shell if [ -z "$(ENABLE_PYTHON)" ] || [ "$(ENABLE_PYTHON)" = "0" ] ; then echo disabled ; else echo enabled ; fi) ifneq ($(PYTHON), disabled) -include $(CHECKS_DIR)/python.mk endif # Check if we can build Toxic -CHECK_LIBS = $(shell $(PKG_CONFIG) --exists $(LIBS) || echo -n "error") +CHECK_LIBS := $(shell $(PKG_CONFIG) --exists $(LIBS) || echo -n "error") ifneq ($(CHECK_LIBS), error) CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBS)) LDFLAGS += $(shell $(PKG_CONFIG) --libs $(LIBS)) else ifneq ($(MAKECMDGOALS), clean) - MISSING_LIBS = $(shell for lib in $(LIBS) ; do if ! $(PKG_CONFIG) --exists $$lib ; then echo $$lib ; fi ; done) + MISSING_LIBS := $(shell for lib in $(LIBS) ; do if ! $(PKG_CONFIG) --exists $$lib ; then echo $$lib ; fi ; done) $(warning ERROR -- Cannot compile Toxic) $(warning ERROR -- You need these libraries) $(warning ERROR -- $(MISSING_LIBS)) diff --git a/cfg/checks/desktop_notifications.mk b/cfg/checks/desktop_notifications.mk index edcdc4f..1f9a8fa 100644 --- a/cfg/checks/desktop_notifications.mk +++ b/cfg/checks/desktop_notifications.mk @@ -3,12 +3,12 @@ DESK_NOTIFY_LIBS = libnotify DESK_NOTIFY_CFLAGS = -DBOX_NOTIFY # Check if we can build desktop notifications support -CHECK_DESK_NOTIFY_LIBS = $(shell $(PKG_CONFIG) --exists $(DESK_NOTIFY_LIBS) || echo -n "error") +CHECK_DESK_NOTIFY_LIBS := $(shell $(PKG_CONFIG) --exists $(DESK_NOTIFY_LIBS) || echo -n "error") ifneq ($(CHECK_DESK_NOTIFY_LIBS), error) LIBS += $(DESK_NOTIFY_LIBS) CFLAGS += $(DESK_NOTIFY_CFLAGS) else ifneq ($(MAKECMDGOALS), clean) - MISSING_DESK_NOTIFY_LIBS = $(shell for lib in $(DESK_NOTIFY_LIBS) ; do if ! $(PKG_CONFIG) --exists $$lib ; then echo $$lib ; fi ; done) + MISSING_DESK_NOTIFY_LIBS := $(shell for lib in $(DESK_NOTIFY_LIBS) ; do if ! $(PKG_CONFIG) --exists $$lib ; then echo $$lib ; fi ; done) $(warning WARNING -- Toxic will be compiled without desktop notifications support) $(warning WARNING -- You need these libraries for desktop notifications support) $(warning WARNING -- $(MISSING_DESK_NOTIFY_LIBS))