gimp/.gitlab-ci.yml

255 lines
5.9 KiB
YAML
Raw Normal View History

2019-08-09 22:18:43 +08:00
image: salamandar/archlinux-gimp:latest
2019-08-21 19:54:38 +08:00
stages:
- dependencies
- gimp
variables:
GIT_DEPTH: "1"
INSTALL_DIR: "_install"
2019-08-21 19:54:38 +08:00
INSTALL_PREFIX: "${CI_PROJECT_DIR}/${INSTALL_DIR}"
PACMAN_CACHE: "${CI_PROJECT_DIR}/_pacman_cache"
deps-git:
stage: dependencies
cache:
paths:
- _pacman_cache
artifacts:
expire_in: 1 week
when: always
paths:
2019-08-21 19:54:38 +08:00
- "${INSTALL_DIR}"
- _babl/_build
- _gegl/_build
before_script:
2019-08-21 19:54:38 +08:00
- export PKG_CONFIG_PATH="${INSTALL_PREFIX}/lib/pkgconfig"
- export LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}"
- export XDG_DATA_DIRS="${INSTALL_PREFIX}/share:/usr/local/share:/usr/share"
- pacman -Syu --noconfirm --needed --cachedir "${PACMAN_CACHE}"
git
base-devel
meson
lcms2
base-devel
ffmpeg
gobject-introspection
graphviz
jasper
json-glib
lcms2
libgexiv2
libraw
librsvg
libspiro
libtiff
luajit
openexr
python
sdl2
suitesparse
2019-08-21 19:54:38 +08:00
- git clone --depth=${GIT_DEPTH} https://gitlab.gnome.org/GNOME/gegl.git _gegl
- git clone --depth="${GIT_DEPTH}" https://gitlab.gnome.org/GNOME/babl.git _babl
script:
- cd _babl
- meson -Dprefix="${INSTALL_PREFIX}" _build
- ninja -C _build
- ninja -C _build install
- cd ../_gegl
2019-08-21 19:54:38 +08:00
- meson --prefix="${INSTALL_PREFIX}" _build
- ninja -C _build
- ninja -C _build install
.gimp-base:
stage: gimp
dependencies:
- deps-git
artifacts:
expire_in: 1 week
when: always
name: "app-build-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
paths:
- _build
#- "${INSTALL_DIR}"
before_script:
- export PKG_CONFIG_PATH="${INSTALL_PREFIX}/lib/pkgconfig:${INSTALL_PREFIX}/share/pkgconfig"
2019-08-21 19:54:38 +08:00
- export LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}"
- export XDG_DATA_DIRS="${INSTALL_PREFIX}/share:/usr/local/share:/usr/share"
- pacman -Syu --noconfirm --needed --cachedir "${PACMAN_CACHE}"
git
base-devel
appstream-glib
at-spi2-core
at-spi2-atk
dbus-glib
desktop-file-utils
ffmpeg
glib-networking
gobject-introspection
gtk3
hicolor-icon-theme
jasper
lcms2
libexif
libgudev
libheif
libmng
libmypaint
librsvg
libwebp
libwmf
libxmu
libxpm
mypaint-brushes1
openexr
poppler-data
pygtk
alsa-lib
ghostscript
poppler-glib
gtk-doc
intltool
iso-codes
xorg-server-xvfb
gimp-autotools:
extends: .gimp-base
script:
2019-08-21 19:54:38 +08:00
- mkdir _build
- cd _build
- ../autogen.sh
2019-08-21 19:54:38 +08:00
--prefix="${INSTALL_PREFIX}"
--enable-debug
--with-python=force
--with-javascript=force
--with-lua=force
- make -j "$(nproc)"
# - make check
needs: ["deps-git"]
gimp-meson:
2019-08-09 22:18:43 +08:00
extends: .gimp-base
script:
- meson _build
--prefix="${INSTALL_PREFIX}"
-Dpython=always
-Djavascript=always
-Dlua=always
- ninja -C _build
# - ninja test
needs: ["deps-git"]
2019-08-09 22:18:43 +08:00
deps-x86_64-w64-mingw32:
image: fedora:31
stage: dependencies
variables:
XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache/"
XDG_DATA_HOME: "$CI_PROJECT_DIR/.local/share/"
cache:
paths:
- .cache/crossroad/
- dnf_cache
before_script:
- dnf install --assumeyes --setopt=cachedir=`pwd`/dnf_cache --verbose
automake
autoconf
meson
cmake
gettext
git
gcc
gcc-c++
gperf
intltool
libtool
libxslt
make
python2
mingw64-gcc
mingw64-gcc-c++
mingw64-binutils
cpio rpm
python3-docutils
python3-pip
python3-setuptools
shared-mime-info
which
libmount-devel
gdk-pixbuf2
gdk-pixbuf2-devel
glib2-devel
#- pip3 install wheel
#- pip3 install crossroad
- git clone git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
- cd crossroad
- ./setup.py install --prefix=`pwd`/../.local
- cd ..
- gdk-pixbuf-query-loaders-64 > /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders.cache
script:
- export PATH="`pwd`/.local/bin:$PATH"
- crossroad w64 gimp --run="build/windows/crossbuild-gitlab-ci/build-deps.sh"
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
expire_in: 1 week
paths:
- .local/
- _deps/
gimp-x86_64-w64-mingw32-meson:
image: fedora:31
stage: gimp
dependencies:
- deps-x86_64-w64-mingw32
variables:
XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache/"
XDG_DATA_HOME: "$CI_PROJECT_DIR/.local/share/"
cache:
paths:
- .cache/crossroad/
- dnf_cache
before_script:
- dnf install --assumeyes --setopt=cachedir=`pwd`/dnf_cache --verbose
automake
autoconf
meson
cmake
gettext
gcc
gcc-c++
gperf
intltool
libtool
libxslt
make
python3
mingw64-gcc
mingw64-gcc-c++
mingw64-binutils
cpio rpm
shared-mime-info
which
libmount-devel
gdk-pixbuf2
gdk-pixbuf2-devel
glib2-devel
script:
- export PATH="`pwd`/.local/bin:$PATH"
- mkdir _build && cd _build
- echo 'crossroad meson ..
-Dwmf=disabled -Dgtk-doc=false
-Dpython=always -Dlua=always
-Djavascript=always && ninja install &&
cp ../build/windows/crossbuild-gitlab-ci/gimp-wrapper.cmd $CROSSROAD_PREFIX/bin/ &&
cp -fr $CROSSROAD_PREFIX/ ../gimp-prefix/
' |
crossroad w64 gimp --run="-"
needs: ["deps-x86_64-w64-mingw32"]
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
expire_in: 1 week
paths:
- _build/
- gimp-prefix/