Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: Tianling Shen <cnsztl@gmail.com>
Signed-off-by: Luca Barbato <luca.barbato@gmail.com>
  • Loading branch information
lu-zero and 1715173329 authored Mar 9, 2023
1 parent 5bc322a commit 7efef9a
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 76 deletions.
77 changes: 37 additions & 40 deletions lang/rust/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,20 @@ PKG_NAME:=rust
PKG_VERSION:=1.67.1
PKG_RELEASE:=1

PKG_LICENSE:=Apache-2.0 MIT
PKG_LICENSE_FILES:=LICENSE-APACHE LICENSE-MIT

HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/rustc-$(PKG_VERSION)-src/
PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz
PKG_SOURCE_URL:=https://static.rust-lang.org/dist/
PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_HASH:=46483d3e5de85a3bd46f8e7a3ae1837496391067dbe713a25d3cf051b3d9ff6e
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/rustc-$(PKG_VERSION)-src/

PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
PKG_LICENSE:=Apache-2.0 MIT
PKG_LICENSE_FILES:=LICENSE-APACHE LICENSE-MIT

HOST_BUILD_DEPENDS:=python3/host
PKG_HOST_ONLY:=1

include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk

# Requires Python3 to build
HOST_BUILD_DEPENDS:=python3/host
include $(INCLUDE_DIR)/host-build.mk

# rust environment variables
include ./rust-host.mk
Expand All @@ -40,36 +37,36 @@ RUST_UNINSTALL:=$(CARGO_HOME)/lib/rustlib/uninstall.sh

# Target Flags
TARGET_CONFIGURE_ARGS = \
--set=target.$(RUSTC_TARGET_ARCH).ar=$(TARGET_AR) \
--set=target.$(RUSTC_TARGET_ARCH).cc=$(TARGET_CC_NOCACHE) \
--set=target.$(RUSTC_TARGET_ARCH).cxx=$(TARGET_CXX_NOCACHE) \
--set=target.$(RUSTC_TARGET_ARCH).linker=$(TARGET_CC_NOCACHE) \
--set=target.$(RUSTC_TARGET_ARCH).musl-root=$(TOOLCHAIN_DIR) \
--set=target.$(RUSTC_TARGET_ARCH).ranlib=$(TARGET_RANLIB)
--set=target.$(RUSTC_TARGET_ARCH).ar=$(TARGET_AR) \
--set=target.$(RUSTC_TARGET_ARCH).cc=$(TARGET_CC_NOCACHE) \
--set=target.$(RUSTC_TARGET_ARCH).cxx=$(TARGET_CXX_NOCACHE) \
--set=target.$(RUSTC_TARGET_ARCH).linker=$(TARGET_CC_NOCACHE) \
--set=target.$(RUSTC_TARGET_ARCH).musl-root=$(TOOLCHAIN_DIR) \
--set=target.$(RUSTC_TARGET_ARCH).ranlib=$(TARGET_RANLIB)

# CARGO_HOME is an environmental
HOST_CONFIGURE_OPTS += CARGO_HOME="$(CARGO_HOME)"

# Rust Configuration Arguments
HOST_CONFIGURE_ARGS = \
--build=$(RUSTC_HOST_ARCH) \
--target=$(RUSTC_TARGET_ARCH),$(RUSTC_HOST_ARCH) \
--host=$(RUSTC_HOST_ARCH) \
--prefix=$(CARGO_HOME) \
--bindir=$(CARGO_HOME)/bin \
--libdir=$(CARGO_HOME)/lib \
--sysconfdir=$(CARGO_HOME)/etc \
--datadir=$(CARGO_HOME)/share \
--mandir=$(CARGO_HOME)/man \
--dist-compression-formats=xz \
--enable-llvm-link-shared \
--enable-llvm-plugins \
--enable-missing-tools \
--enable-ninja \
--disable-sanitizers \
--release-channel=stable \
--enable-cargo-native-static \
${TARGET_CONFIGURE_ARGS}
--build=$(RUSTC_HOST_ARCH) \
--target=$(RUSTC_TARGET_ARCH),$(RUSTC_HOST_ARCH) \
--host=$(RUSTC_HOST_ARCH) \
--prefix=$(CARGO_HOME) \
--bindir=$(CARGO_HOME)/bin \
--libdir=$(CARGO_HOME)/lib \
--sysconfdir=$(CARGO_HOME)/etc \
--datadir=$(CARGO_HOME)/share \
--mandir=$(CARGO_HOME)/man \
--dist-compression-formats=xz \
--enable-llvm-link-shared \
--enable-llvm-plugins \
--enable-missing-tools \
--enable-ninja \
--disable-sanitizers \
--release-channel=stable \
--enable-cargo-native-static \
$(TARGET_CONFIGURE_ARGS)

define Host/Prepare
# Ensure rust temp directory
Expand Down Expand Up @@ -112,13 +109,13 @@ endef

# Packages the Distribution Artifacts into HOST and TARGET bundles.
define Host/PackageDist
cd $(HOST_BUILD_DIR)/build/dist && \
$(TAR) -cJf $(DL_DIR)/$(RUST_INSTALL_TARGET_FILENAME) \
rust-*-$(RUSTC_TARGET_ARCH).tar.xz

cd $(HOST_BUILD_DIR)/build/dist && \
$(TAR) -cJf $(DL_DIR)/$(RUST_INSTALL_HOST_FILENAME) \
--exclude rust-*-$(RUSTC_TARGET_ARCH).tar.xz *.xz
( \
cd $(HOST_BUILD_DIR)/build/dist ; \
$(TAR) -cJf $(DL_DIR)/$(RUST_INSTALL_TARGET_FILENAME) \
rust-*-$(RUSTC_TARGET_ARCH).tar.xz ; \
$(TAR) -cJf $(DL_DIR)/$(RUST_INSTALL_HOST_FILENAME) \
--exclude rust-*-$(RUSTC_TARGET_ARCH).tar.xz *.xz ; \
)
endef

define Package/rust
Expand Down
43 changes: 24 additions & 19 deletions lang/rust/maturin/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,40 +8,45 @@ PKG_NAME:=maturin
PKG_VERSION:=0.14.10
PKG_RELEASE:=1

PKG_SOURCE:=v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/PyO3/maturin/archive/refs/tags/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/PyO3/maturin/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=8fc9bcdcb7f1535d5e3e8bb500c348ca1bff5a6dce87b0ab7dbc5a49723da28a
PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>

PKG_HOST_ONLY:=1
PKG_BUILD_PARALLEL:=1
PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
PKG_LICENSE:=Apache-2.0 MIT
PKG_LICENSE_FILES:=license-apache license-mit

HOST_BUILD_DEPENDS:=rust/host
PKG_BUILD_DEPENDS:=rust/host

PKG_BUILD_PARALLEL:=1
PKG_HOST_ONLY:=1

include ../rust-package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk

define Package/$(PKG_NAME)
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Rust
CATEGORY:=Languages
DEPENDS:=$(RUST_ARCH_DEPENDS)
TITLE:=Build and publish crates as python packages
URL:=https://maturin.rs
define Package/maturin
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Rust
TITLE:=Build and publish crates as python packages
DEPENDS:=$(RUST_ARCH_DEPENDS)
URL:=https://maturin.rs
endef

define Host/Compile
cd $(HOST_BUILD_DIR) && \
export PATH="$(CARGO_HOME)/bin:$(PATH)" && \
CARGO_HOME=$(CARGO_HOME) \
cargo install --path . --root $(HOST_BUILD_DIR)
( \
cd $(HOST_BUILD_DIR) ; \
export PATH="$(CARGO_HOME)/bin:$(PATH)" ; \
CARGO_HOME=$(CARGO_HOME) \
cargo install --path . --root $(HOST_BUILD_DIR) ; \
)
endef

define Package/$(PKG_NAME)/description
Build and publish crates with pyo3, rust-cpython, cffi and uniffi bindings as well as rust binaries as python packages.
define Package/maturin/description
Build and publish crates with pyo3, rust-cpython, cffi and uniffi
bindings as well as rust binaries as python packages.
endef

define Host/Install
Expand Down
2 changes: 1 addition & 1 deletion lang/rust/rust-host.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Copyright (C) 2023 Luca Barbato and Donald Hoskins

# Rust Environmental Vars
CONFIG_HOST_SUFFIX:=$(shell cut -d"-" -f4 <<<"$(GNU_HOST_NAME)")
CONFIG_HOST_SUFFIX:=$(word 4, $(subst -, ,$(GNU_HOST_NAME)))
RUSTC_HOST_ARCH:=$(HOST_ARCH)-unknown-linux-$(CONFIG_HOST_SUFFIX)
CARGO_HOME:=$(STAGING_DIR_HOST)/cargo

Expand Down
10 changes: 6 additions & 4 deletions lang/rust/rust-package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ include $(rust_mk_path)rust-host.mk
# $(1) path to the package
# $(2) additional arguments to cargo
define Build/Compile/Cargo
cd $(PKG_BUILD_DIR) && \
export PATH="$(CARGO_HOME)/bin:$(PATH)" && \
CARGO_HOME=$(CARGO_HOME) TARGET_CFLAGS="$(TARGET_CFLAGS) $(RUST_CFLAGS)" TARGET_CC=$(TARGET_CC_NOCACHE) CC=cc \
cargo install -v --profile stripped --target $(RUSTC_TARGET_ARCH) --root $(PKG_INSTALL_DIR) --path "$(if $(strip $(1)),$(strip $(1)),.)" $(2)
( \
cd $(PKG_BUILD_DIR) ; \
export PATH="$(CARGO_HOME)/bin:$(PATH)" ; \
CARGO_HOME=$(CARGO_HOME) TARGET_CFLAGS="$(TARGET_CFLAGS) $(RUST_CFLAGS)" TARGET_CC=$(TARGET_CC_NOCACHE) CC=cc \
cargo install -v --profile stripped --target $(RUSTC_TARGET_ARCH) --root $(PKG_INSTALL_DIR) --path "$(if $(strip $(1)),$(strip $(1)),.)" $(2) ; \
)
endef
28 changes: 16 additions & 12 deletions utils/ripgrep/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@ PKG_NAME:=ripgrep
PKG_VERSION:=13.0.0
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/BurntSushi/ripgrep/archive/refs/tags/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/BurntSushi/ripgrep/tar.gz/$(PKG_VERSION)?
PKG_HASH:=0fb17aaf285b3eee8ddab17b833af1e190d73de317ff9648751ab0660d763ed2

PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
PKG_LICENSE:=MIT Unlicense
PKG_LICENSE_FILES:=LICENSE-MIT UNLICENSE

PKG_BUILD_DEPENDS:=rust/host

Expand All @@ -22,21 +25,22 @@ define Build/Compile
$(call Build/Compile/Cargo,, --features 'pcre2')
endef

define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=$(RUST_ARCH_DEPENDS) +libpcre2
TITLE:=ripgrep (rg) regex grep
URL:=https://github.com/BurntSushi/ripgrep
define Package/ripgrep
SECTION:=utils
CATEGORY:=Utilities
TITLE:=ripgrep (rg) regex grep
DEPENDS:=$(RUST_ARCH_DEPENDS) +libpcre2
URL:=https://github.com/BurntSushi/ripgrep
endef

define Package/$(PKG_NAME)/description
ripgrep (rg) recursively searches directories for a regex pattern while respecting your gitignore
define Package/ripgrep/description
ripgrep (rg) recursively searches directories for a regex pattern
while respecting your gitignore
endef

define Package/$(PKG_NAME)/install
define Package/ripgrep/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/target/$(RUSTC_TARGET_ARCH)/stripped/rg $(1)/bin/rg
endef

$(eval $(call BuildPackage,$(PKG_NAME)))
$(eval $(call BuildPackage,ripgrep))

0 comments on commit 7efef9a

Please sign in to comment.