diff --git a/sysutils/rust-coreutils/Makefile b/sysutils/rust-coreutils/Makefile index 9b4cee89fdce..6b897591f1ec 100644 --- a/sysutils/rust-coreutils/Makefile +++ b/sysutils/rust-coreutils/Makefile @@ -13,13 +13,13 @@ WWW= https://github.com/uutils/coreutils LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -USES= cargo gmake -CARGO_BUILD= no -MAKE_ARGS= PROG_PREFIX=uu- PREFIX=${LOCALBASE} +LIB_DEPENDS= libonig.so:devel/oniguruma + +USES= cargo pkgconfig USE_GITHUB= yes GH_ACCOUNT= uutils GH_PROJECT= coreutils -TEST_TARGET= check +#TEST_TARGET= check CARGO_CRATES= Inflector-0.11.4 \ adler-1.0.2 \ @@ -289,7 +289,37 @@ CARGO_CRATES= Inflector-0.11.4 \ z85-3.0.5 \ zip-0.6.3 +#CARGO_ENV+= CARGO_PROFILE_RELEASE_LTO="true" \ +# CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 +CARGO_FEATURES= unix +LTO_UNSAFE= yes + +SYMLINK_HELPER_LIST= ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-utils-list.txt + +post-build: + ${INSTALL_SCRIPT} ${FILESDIR}/symlink-install-helper.sh.in ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + @${REINPLACE_CMD} -e 's|%%GREP%%|${GREP}|g' \ + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + @${REINPLACE_CMD} -e 's|%%CARGO_TARGET_DIR%%|${CARGO_TARGET_DIR}|g' \ + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + @${REINPLACE_CMD} -e 's|%%CARGO_BUILD_TARGET%%|${CARGO_BUILD_TARGET}|g' \ + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + @${REINPLACE_CMD} -e 's|%%SED%%|${SED}|g' \ + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + @${REINPLACE_CMD} -e 's|%%TR%%|${TR}|g' \ + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + @${REINPLACE_CMD} -e 's|%%SYMLINK_HELPER_LIST%%|${SYMLINK_HELPER_LIST}|g' \ + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/symlink-install-helper.sh + do-install: - cd ${WRKSRC}; ${MAKE_CMD} ${MAKE_ARGS} install + ${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/release/coreutils \ + ${STAGEDIR}${PREFIX}/bin +.for i in ${:!${CAT} ${SYMLINK_HELPER_LIST}!} + ${RLN} ${STAGEDIR}${PREFIX}/bin/coreutils ${STAGEDIR}${PREFIX}/bin/uu-${i} +.endfor + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/coreutils .include diff --git a/sysutils/rust-coreutils/files/symlink-install-helper.sh.in b/sysutils/rust-coreutils/files/symlink-install-helper.sh.in new file mode 100644 index 000000000000..208182ef07f1 --- /dev/null +++ b/sysutils/rust-coreutils/files/symlink-install-helper.sh.in @@ -0,0 +1,2 @@ +#!/bin/sh +%%GREP%% -o '".*"' %%CARGO_TARGET_DIR%%/%%CARGO_BUILD_TARGET%%/*/build/coreutils-*/out/uutils_map.rs | %%SED%% 's/"//g'| %%SED%% 's/$/ /g'| %%TR%% -d '\n'| %%TR%% -d '\r' > %%SYMLINK_HELPER_LIST%%