From 2ef95ff80b31d04ebac25c5a2b9ec0be94d68108 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Fri, 29 Dec 2023 14:47:04 -0800 Subject: [PATCH 1/9] test r-devel build --- .github/workflows/main.yml | 2 +- mingw-w64-r-devel/.gitignore | 4 ++ mingw-w64-r-devel/PKGBUILD | 88 ++++++++++++++++++++++++++++++++++++ pacman.conf | 12 ----- 4 files changed, 93 insertions(+), 13 deletions(-) create mode 100644 mingw-w64-r-devel/.gitignore create mode 100644 mingw-w64-r-devel/PKGBUILD diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8aa72f2..a78c6ee 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,7 @@ jobs: build: timeout-minutes: 600 strategy: - fail-fast: true + fail-fast: false matrix: include: [ { msystem: ucrt64, runner: windows-2022 }, diff --git a/mingw-w64-r-devel/.gitignore b/mingw-w64-r-devel/.gitignore new file mode 100644 index 0000000..ca80692 --- /dev/null +++ b/mingw-w64-r-devel/.gitignore @@ -0,0 +1,4 @@ +*.zip +*.tar.gz +pkg +src diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD new file mode 100644 index 0000000..088abf6 --- /dev/null +++ b/mingw-w64-r-devel/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: Gore Liu + +_realname=r-devel +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgver=4.3.9000 +pkgrel=1 +pkgdesc="Software environment for statistical computing (mingw-w64)" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +url='https://www.r-project.org/' +license=('GPL-2.0-or-later') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-fc" + "texinfo" + "texinfo-tex" + "rsync" + "unzip" + "diffutils") +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" + "${MINGW_PACKAGE_PREFIX}-bzip2" + "${MINGW_PACKAGE_PREFIX}-cairo" + "${MINGW_PACKAGE_PREFIX}-curl" + "${MINGW_PACKAGE_PREFIX}-icu" + "${MINGW_PACKAGE_PREFIX}-libjpeg-turbo" + "${MINGW_PACKAGE_PREFIX}-libpng" + "${MINGW_PACKAGE_PREFIX}-libtiff" + "${MINGW_PACKAGE_PREFIX}-omp" + "${MINGW_PACKAGE_PREFIX}-pcre2" + "${MINGW_PACKAGE_PREFIX}-xz" + "${MINGW_PACKAGE_PREFIX}-zlib") +#source=("https://cran.r-project.org/src/base-prerelease/R-devel.tar.gz") +source=("R-devel.tar.gz::https://cran.r-project.org/src/base-prerelease/R-devel_2023-12-27_r85742.tar.gz" + "https://github.com/r-windows/bundles/releases/download/rtools43-5863/tcltk-5863-5787.zip" + "https://github.com/r-windows/bundles/releases/download/rtools43-5863/Tcl-aarch64-5863-5787.zip") +sha256sums=('SKIP' + 'SKIP' + 'SKIP') +noextract=(R-devel.tar.gz + tcltk-5863-5787.zip + Tcl-aarch64-5863-5787.zip) + +prepare() { + rm -rf ${srcdir}/${_realname}-${pkgver} + mkdir ${srcdir}/${_realname}-${pkgver} + MSYS="winsymlinks:lnk" tar -xf "R-devel.tar.gz" -C ${srcdir}/${_realname}-${pkgver} --strip-components=1 + + export PATH="$PATH:$(cygpath $LOCALAPPDATA)/Programs/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX/miktex/bin/x64" + echo "PATH: $PATH" + miktex --admin packages install inconsolata || true + pdflatex --version + texindex --version + texi2any --version + make --version + perl --version +} + +build() { + rm -Rf build-${MSYSTEM} + MSYS="winsymlinks:lnk" cp -Rf ${srcdir}/${_realname}-${pkgver} build-${MSYSTEM} + cd build-${MSYSTEM} + echo "WIN =" > src/gnuwin32/MkRules.local + echo "ICU_LIBS = $(pkg-config --libs --static icu-i18n)" >> src/gnuwin32/MkRules.local + echo "CURL_LIBS = $(pkg-config --libs --static libcurl)" >> src/gnuwin32/MkRules.local + echo "CAIRO_LIBS = \"$(pkg-config --libs --static cairo)\"" >> src/gnuwin32/MkRules.local + echo "CAIRO_CPPFLAGS = \"$(pkg-config --cflags --static cairo)\"" >> src/gnuwin32/MkRules.local + + if [[ ${MSYSTEM} == CLANG* ]]; then + echo "USE_LLVM = 1" >> src/gnuwin32/MkRules.local + fi + if [[ ${CARCH} == aarch64 ]]; then + unzip ${srcdir}/Tcl-aarch64-5863-5787.zip -d . + else + unzip ${srcdir}/tcltk-5863-5787.zip -d . + fi + cd src/gnuwin32 + make distribution +} + +check() { + cd "${srcdir}"/build-${MSYSTEM} + #make check +} + +package() { + cd "${srcdir}"/build-${MSYSTEM} + #make install DESTDIR="${pkgdir}" +} diff --git a/pacman.conf b/pacman.conf index 3629bec..c59134b 100644 --- a/pacman.conf +++ b/pacman.conf @@ -70,18 +70,6 @@ LocalFileSigLevel = Optional # Server = https://repo.msys2.org/staging/ # SigLevel = Never -[ucrt64-toolchains] -Server = https://ftp.opencpu.org/msys2/ucrt64-toolchains -SigLevel = Never - -[clang64-toolchains] -Server = https://ftp.opencpu.org/msys2/clang64-toolchains -SigLevel = Never - -[clangarm64-toolchains] -Server = https://ftp.opencpu.org/msys2/clangarm64-toolchains -SigLevel = Never - [ucrt64-libs] Server = https://ftp.opencpu.org/msys2/ucrt64-libs SigLevel = Never From e330cbd8a436aa81c30e573de6e8442396669c33 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sat, 30 Dec 2023 10:01:04 +0100 Subject: [PATCH 2/9] try this --- mingw-w64-r-devel/PKGBUILD | 19 ++++++++++--------- pacman.conf | 12 ------------ 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index 088abf6..b26176c 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -12,6 +12,7 @@ url='https://www.r-project.org/' license=('GPL-2.0-or-later') makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-fc" + "${MINGW_PACKAGE_PREFIX}-pkgconf" "texinfo" "texinfo-tex" "rsync" @@ -59,21 +60,21 @@ build() { rm -Rf build-${MSYSTEM} MSYS="winsymlinks:lnk" cp -Rf ${srcdir}/${_realname}-${pkgver} build-${MSYSTEM} cd build-${MSYSTEM} - echo "WIN =" > src/gnuwin32/MkRules.local - echo "ICU_LIBS = $(pkg-config --libs --static icu-i18n)" >> src/gnuwin32/MkRules.local - echo "CURL_LIBS = $(pkg-config --libs --static libcurl)" >> src/gnuwin32/MkRules.local - echo "CAIRO_LIBS = \"$(pkg-config --libs --static cairo)\"" >> src/gnuwin32/MkRules.local - echo "CAIRO_CPPFLAGS = \"$(pkg-config --cflags --static cairo)\"" >> src/gnuwin32/MkRules.local - - if [[ ${MSYSTEM} == CLANG* ]]; then - echo "USE_LLVM = 1" >> src/gnuwin32/MkRules.local - fi if [[ ${CARCH} == aarch64 ]]; then unzip ${srcdir}/Tcl-aarch64-5863-5787.zip -d . else unzip ${srcdir}/tcltk-5863-5787.zip -d . fi cd src/gnuwin32 + echo "WIN =" > MkRules.local + echo "ICU_LIBS = $(pkg-config --libs --static icu-i18n)" >> MkRules.local + echo "CURL_LIBS = $(pkg-config --libs --static libcurl)" >> MkRules.local + echo "CAIRO_LIBS = \"$(pkg-config --libs --static cairo)\"" >> MkRules.local + echo "CAIRO_CPPFLAGS = \"$(pkg-config --cflags --static cairo)\"" >> MkRules.local + if [[ ${MSYSTEM} == CLANG* ]]; then + echo "USE_LLVM = 1" >> MkRules.local + fi + cat MkRules.local make distribution } diff --git a/pacman.conf b/pacman.conf index c59134b..d4bda8a 100644 --- a/pacman.conf +++ b/pacman.conf @@ -70,18 +70,6 @@ LocalFileSigLevel = Optional # Server = https://repo.msys2.org/staging/ # SigLevel = Never -[ucrt64-libs] -Server = https://ftp.opencpu.org/msys2/ucrt64-libs -SigLevel = Never - -[clang64-libs] -Server = https://ftp.opencpu.org/msys2/clang64-libs -SigLevel = Never - -[clangarm64-libs] -Server = https://ftp.opencpu.org/msys2/clangarm64-libs -SigLevel = Never - [ucrt64] Server = https://repo.msys2.org/mingw/ucrt64/ SigLevel = Never From 81369e4ba1ce3f4ce906da3eba74276e75a7cd77 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sat, 30 Dec 2023 19:37:59 +0100 Subject: [PATCH 3/9] do not build installer --- mingw-w64-r-devel/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index b26176c..d173e43 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -48,8 +48,6 @@ prepare() { export PATH="$PATH:$(cygpath $LOCALAPPDATA)/Programs/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX/miktex/bin/x64" echo "PATH: $PATH" - miktex --admin packages install inconsolata || true - pdflatex --version texindex --version texi2any --version make --version @@ -75,12 +73,14 @@ build() { echo "USE_LLVM = 1" >> MkRules.local fi cat MkRules.local - make distribution + make all + make cairodevices + make recommended } check() { cd "${srcdir}"/build-${MSYSTEM} - #make check + make check } package() { From 1b107d29e3acbe43f3908c410a1865c70e9015e5 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sun, 31 Dec 2023 12:24:22 +0100 Subject: [PATCH 4/9] use tcl from msys2 --- mingw-w64-r-devel/PKGBUILD | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index d173e43..7a6bf5b 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -28,18 +28,13 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libtiff" "${MINGW_PACKAGE_PREFIX}-omp" "${MINGW_PACKAGE_PREFIX}-pcre2" + "${MINGW_PACKAGE_PREFIX}-tk" "${MINGW_PACKAGE_PREFIX}-xz" "${MINGW_PACKAGE_PREFIX}-zlib") #source=("https://cran.r-project.org/src/base-prerelease/R-devel.tar.gz") -source=("R-devel.tar.gz::https://cran.r-project.org/src/base-prerelease/R-devel_2023-12-27_r85742.tar.gz" - "https://github.com/r-windows/bundles/releases/download/rtools43-5863/tcltk-5863-5787.zip" - "https://github.com/r-windows/bundles/releases/download/rtools43-5863/Tcl-aarch64-5863-5787.zip") -sha256sums=('SKIP' - 'SKIP' - 'SKIP') -noextract=(R-devel.tar.gz - tcltk-5863-5787.zip - Tcl-aarch64-5863-5787.zip) +source=("R-devel.tar.gz::https://cran.r-project.org/src/base-prerelease/R-devel_2023-12-27_r85742.tar.gz") +sha256sums=('SKIP') +noextract=(R-devel.tar.gz) prepare() { rm -rf ${srcdir}/${_realname}-${pkgver} @@ -57,13 +52,7 @@ prepare() { build() { rm -Rf build-${MSYSTEM} MSYS="winsymlinks:lnk" cp -Rf ${srcdir}/${_realname}-${pkgver} build-${MSYSTEM} - cd build-${MSYSTEM} - if [[ ${CARCH} == aarch64 ]]; then - unzip ${srcdir}/Tcl-aarch64-5863-5787.zip -d . - else - unzip ${srcdir}/tcltk-5863-5787.zip -d . - fi - cd src/gnuwin32 + cd build-${MSYSTEM}/src/gnuwin32 echo "WIN =" > MkRules.local echo "ICU_LIBS = $(pkg-config --libs --static icu-i18n)" >> MkRules.local echo "CURL_LIBS = $(pkg-config --libs --static libcurl)" >> MkRules.local From e40316b44d2e690549d5ea104180f23855e2ad07 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sun, 31 Dec 2023 12:34:01 +0100 Subject: [PATCH 5/9] back to default source --- mingw-w64-r-devel/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index 7a6bf5b..f151c4d 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -31,8 +31,8 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-tk" "${MINGW_PACKAGE_PREFIX}-xz" "${MINGW_PACKAGE_PREFIX}-zlib") -#source=("https://cran.r-project.org/src/base-prerelease/R-devel.tar.gz") -source=("R-devel.tar.gz::https://cran.r-project.org/src/base-prerelease/R-devel_2023-12-27_r85742.tar.gz") +source=("https://cran.r-project.org/src/base-prerelease/R-devel.tar.gz") +#source=("R-devel.tar.gz::https://cran.r-project.org/src/base-prerelease/R-devel_2023-12-27_r85742.tar.gz") sha256sums=('SKIP') noextract=(R-devel.tar.gz) From 7f58c57948cd55fb4a43bee9776b243fed59ce19 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sun, 31 Dec 2023 12:49:51 +0100 Subject: [PATCH 6/9] test with make check --- ci-build.sh | 2 +- mingw-w64-r-devel/PKGBUILD | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ci-build.sh b/ci-build.sh index 5f3471a..bb8e37f 100755 --- a/ci-build.sh +++ b/ci-build.sh @@ -66,7 +66,7 @@ for package in "${packages[@]}"; do #execute "Installing build dependencies for $package" makepkg-mingw -seoc --noconfirm #rm -fv /${MINGW_ARCH}/lib/*.dll.a - execute 'Building binary' makepkg-mingw --noconfirm --noprogressbar --nocheck --skippgpcheck --syncdeps --rmdeps --cleanbuild + execute 'Building binary' makepkg-mingw --noconfirm --noprogressbar --skippgpcheck --syncdeps --rmdeps --cleanbuild #MINGW_ARCH=mingw64 execute 'Building source' makepkg-mingw --noconfirm --noprogressbar --skippgpcheck --allsource execute 'List output contents' ls -ltr execute 'Installing' yes:pacman --noprogressbar --upgrade --noconfirm *.pkg.tar.xz diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index f151c4d..7b97536 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -14,10 +14,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-fc" "${MINGW_PACKAGE_PREFIX}-pkgconf" "texinfo" - "texinfo-tex" - "rsync" - "unzip" - "diffutils") + "texinfo-tex") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-bzip2" "${MINGW_PACKAGE_PREFIX}-cairo" @@ -31,6 +28,8 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-tk" "${MINGW_PACKAGE_PREFIX}-xz" "${MINGW_PACKAGE_PREFIX}-zlib") +checkdepends=("diffutils" + "unzip") source=("https://cran.r-project.org/src/base-prerelease/R-devel.tar.gz") #source=("R-devel.tar.gz::https://cran.r-project.org/src/base-prerelease/R-devel_2023-12-27_r85742.tar.gz") sha256sums=('SKIP') @@ -68,7 +67,7 @@ build() { } check() { - cd "${srcdir}"/build-${MSYSTEM} + cd "${srcdir}"/build-${MSYSTEM}/src/gnuwin32 make check } From 92bd93759a9744faf9818155c47864b2ae6409f7 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sun, 31 Dec 2023 15:57:52 +0100 Subject: [PATCH 7/9] print failed tests --- mingw-w64-r-devel/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index 7b97536..ba4857d 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -67,8 +67,8 @@ build() { } check() { - cd "${srcdir}"/build-${MSYSTEM}/src/gnuwin32 - make check + cd ${srcdir}/build-${MSYSTEM}/src/gnuwin32 + make check || tail -n100 ${srcdir}/build-${MSYSTEM}/tests/*.fail } package() { From 00e4cb019ee4be3a42a4604f5cf7a3e69da3f6f4 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sun, 31 Dec 2023 15:57:52 +0100 Subject: [PATCH 8/9] help tcltk --- mingw-w64-r-devel/PKGBUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index ba4857d..32ea75b 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -67,6 +67,7 @@ build() { } check() { + export MY_TCLTK="${MINGW_PREFIX}/lib" cd ${srcdir}/build-${MSYSTEM}/src/gnuwin32 make check || tail -n100 ${srcdir}/build-${MSYSTEM}/tests/*.fail } From a909630d3925bbf46d847accda79e672a600ade5 Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Mon, 1 Jan 2024 18:18:09 +0100 Subject: [PATCH 9/9] copy imagedir --- mingw-w64-r-devel/PKGBUILD | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mingw-w64-r-devel/PKGBUILD b/mingw-w64-r-devel/PKGBUILD index 32ea75b..a55f07d 100644 --- a/mingw-w64-r-devel/PKGBUILD +++ b/mingw-w64-r-devel/PKGBUILD @@ -69,10 +69,15 @@ build() { check() { export MY_TCLTK="${MINGW_PREFIX}/lib" cd ${srcdir}/build-${MSYSTEM}/src/gnuwin32 - make check || tail -n100 ${srcdir}/build-${MSYSTEM}/tests/*.fail + make check || true } package() { - cd "${srcdir}"/build-${MSYSTEM} - #make install DESTDIR="${pkgdir}" + cd ${srcdir}/build-${MSYSTEM}/src/gnuwin32/installer + sed -i '/manual/d' Makefile + sed -i '/GW_INFO_FILES/d' Makefile + sed -i '/dosfiles.zip/d' Makefile + make imagedir + mkdir -p ${pkgdir}${MINGW_PREFIX} + cp -Rv R-devel ${pkgdir}${MINGW_PREFIX}/R }