# Template file for 'nim' pkgname=nim version=1.4.2 revision=2 _cversion=0.20.0 _nimbleversion=0.12.0 _fusionversion=e942c649892b2ae3802851fba6bc5d251326e5fb create_wrksrc=yes build_wrksrc="Nim-$version" hostmakedepends="ed" depends="gcc openssl-devel" short_desc="Nim programming language" maintainer="allan " license="MIT" homepage="https://nim-lang.org/" _ghsite="https://github.com/nim-lang" distfiles="${_ghsite}/Nim/archive/v${version}.tar.gz ${_ghsite}/csources/archive/v${_cversion}.tar.gz>csources-${_cversion}.tar.gz ${_ghsite}/nimble/archive/v${_nimbleversion}.tar.gz>nimble-${_nimbleversion}.tar.gz ${_ghsite}/fusion/archive/${_fusionversion}.tar.gz>fusion-${_fusionversion}.tar.gz" checksum="fc1e25aa2c667a34fe48160a79472fd5ced35af6478a535919d20b8821277a3a 5e6fd15d90df1a8cb7614c4ffc70aa8c4198cd854d7742016202b96dd0228d3c 0b88d91a450f31641f85379f2d76afb0a013cf783e62144a6534525b9cb1cbac 76d10a2f0f25ba7fb3393bdb800c75e8084758d8ce69e63d07926cd36f555084" post_extract() { mv csources-$_cversion $build_wrksrc/csources mkdir $build_wrksrc/dist mv nimble-$_nimbleversion $build_wrksrc/dist/nimble mv fusion-$_fusionversion $build_wrksrc/dist/fusion } do_build() { cd csources case "$XBPS_TARGET_MACHINE" in i686*) CC=cc LD=cc CFLAGS="-Os -pipe" LDFLAGS= \ sh build.sh --cpu i686;; *) CC=cc LD=cc CFLAGS="-Os -pipe" LDFLAGS= sh build.sh;; esac cd .. bin/nim c koch ./koch boot -d:release -d:danger case "$XBPS_TARGET_MACHINE" in aarch64*) _arch=arm64;; arm*) _arch=arm;; ppc64le*) _arch=powerpc64el;; ppc64*) _arch=powerpc64;; ppc*) _arch=powerpc;; esac case "$XBPS_TARGET_MACHINE" in arm*|aarch64*|ppc*) ed config/nim.cfg <<-EDIT ,s/^arm.linux.gcc.exe .*/arm.linux.gcc.exe = "$CC"/ ,s/^arm.linux.gcc.linkerexe .*/arm.linux.gcc.linkerexe = "$CC"/ a arm64.linux.gcc.exe = "$CC" arm64.linux.gcc.linkerexe = "$CC" powerpc.linux.gcc.exe = "$CC" powerpc.linux.gcc.linkerexe = "$CC" powerpc64.linux.gcc.exe = "$CC" powerpc64.linux.gcc.linkerexe = "$CC" powerpc64el.linux.gcc.exe = "$CC" powerpc64el.linux.gcc.linkerexe = "$CC" . w q EDIT bin/nim c -d:release -d:danger --os:linux --cpu:$_arch --listCmd compiler/nim for _p in \ dist/nimble/src/nimble \ tools/nimgrep \ nimsuggest/nimsuggest \ nimpretty/nimpretty do bin/nim c -d:release --os:linux --cpu:$_arch --listCmd $_p mv $_p bin done ;; *) ./koch tools esac } do_install() { ./koch install ${DESTDIR}/usr/lib if [ "$CROSS_BUILD" ]; then mv compiler/nim ${DESTDIR}/usr/lib/nim/bin/nim fi vmkdir usr/bin vmkdir usr/share/nim ln -sf /usr/lib/nim/bin/nim ${DESTDIR}/usr/bin/nim for _f in nimble nimsuggest nimgrep nimpretty; do chmod 0755 bin/$_f cp bin/$_f ${DESTDIR}/usr/lib/nim/bin ln -sf /usr/lib/nim/bin/$_f ${DESTDIR}/usr/bin/$_f done cp -r nimsuggest nimpretty doc examples ${DESTDIR}/usr/lib/nim ln -sf /usr/lib/nim/doc ${DESTDIR}/usr/share/nim/doc ln -sf /usr/lib/nim/examples ${DESTDIR}/usr/share/nim/examples ln -sf /usr/lib/nim/nimsuggest ${DESTDIR}/usr/share/nim/nimsuggest ln -sf /usr/lib/nim/nimpretty ${DESTDIR}/usr/share/nim/nimpretty vlicense copying.txt }