# Template file for 'mruby' pkgname=mruby version=2.1.2 revision=1 hostmakedepends="ruby" short_desc="Lightweight implementation of the Ruby language (Ruby 1.9)" maintainer="Orphaned " license="MIT" homepage="https://mruby.org/" distfiles="https://github.com/mruby/mruby/archive/${version}.tar.gz>${pkgname}-${version}.tar.gz" checksum=4dc0017e36d15e81dc85953afb2a643ba2571574748db0d8ede002cefbba053b lib32disabled=yes do_configure() { if [ -z "$CROSS_BUILD" ]; then # Native build cat <<-EOF > xbps_config.rb MRuby::Build.new do |conf| toolchain :gcc conf.gem "#{root}/mrbgems/mruby-bin-mruby" conf.gem "#{root}/mrbgems/mruby-bin-mrbc" conf.cc do |cc| cc.command = 'gcc' cc.flags = [ENV['CFLAGS'] || %w()] cc.include_paths = ["#{root}/include"] end conf.linker do |linker| linker.command = 'gcc' linker.flags = [ENV['LDFLAGS'] || %w()] linker.libraries = [ENV['LIBS'] || 'm'] end conf.archiver do |archiver| archiver.command = 'ar' end end EOF else # Cross build cat <<-EOF > xbps_config.rb MRuby::Build.new do |conf| toolchain :gcc conf.gem "#{root}/mrbgems/mruby-bin-mruby" conf.gem "#{root}/mrbgems/mruby-bin-mrbc" conf.cc do |cc| cc.command = 'gcc' cc.flags = [ENV['CFLAGS_host'] || %w()] cc.include_paths = ["#{root}/include"] end conf.linker do |linker| linker.command = 'gcc' linker.flags = [ENV['LDFLAGS_host'] || %w()] linker.libraries = [ENV['LIBS'] || 'm'] end conf.archiver do |archiver| archiver.command = 'ar' end end MRuby::CrossBuild.new('${XBPS_CROSS_TRIPLET}') do |conf| toolchain :gcc conf.gem "#{root}/mrbgems/mruby-bin-mruby" conf.gem "#{root}/mrbgems/mruby-bin-mrbc" conf.cc do |cc| cc.command = ENV['CC'] || '${XBPS_CROSS_TRIPLET}-gcc' cc.flags = [ENV['CFLAGS'] || %w()] cc.include_paths = ["#{root}/include"] cc.defines = %w() cc.option_include_path = '-I%s' cc.option_define = '-D%s' cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" end conf.linker do |linker| linker.command = ENV['CC'] || '${XBPS_CROSS_TRIPLET}-gcc' linker.flags = [ENV['LDFLAGS'] || %w()] linker.libraries = [ENV['LIBS'] || 'm'] linker.library_paths = '${XBPS_CROSS_BASE}/usr/lib' end conf.archiver do |archiver| archiver.command = ENV['AR'] || '${XBPS_CROSS_TRIPLET}-ar' end end EOF fi } do_build() { if [ "$CROSS_BUILD" ]; then LDFLAGS_host="" echo "CFLAGS_host : $CFLAGS_host" echo "LDFLAGS_host : $LDFLAGS_host" else LDFLAGS="" CFLAGS_host="$CFLAGS" LDFLAGS_host="$LDFLAGS" fi echo "CFLAGS : $CFLAGS" echo "LDFLAGS : $LDFLAGS" CFLAGS="$CFLAGS" CFLAGS_host="$CFLAGS_host" \ LDFLAGS="$LDFLAGS" LDFLAGS_host="$LDFLAGS_host" \ LIBS="m" MRUBY_CONFIG=xbps_config.rb \ ruby minirake } do_check() { CFLAGS="$CFLAGS" CFLAGS_host="$CFLAGS_host" \ LDFLAGS="$LDFLAGS" LDFLAGS_host="$LDFLAGS_host" \ LIBS="m" MRUBY_CONFIG=xbps_config.rb \ ruby minirake test } do_install() { local _build if [ "$CROSS_BUILD" ]; then _build="build/${XBPS_CROSS_TRIPLET}" else _build="build/host" fi vmkdir usr/bin vcopy "${_build}/bin/*" usr/bin vmkdir usr/lib vcopy "${_build}/lib/*.a" usr/lib vmkdir usr/include vcopy "include/*" usr/include vlicense LICENSE }