rust-lang: Apply suggestions from code review
authorLuca Barbato <luca.barbato@gmail.com>
Thu, 9 Mar 2023 07:58:16 +0000 (08:58 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 10 Mar 2023 14:24:16 +0000 (14:24 +0000)
Co-authored-by: Tianling Shen <cnsztl@gmail.com>
Signed-off-by: Luca Barbato <luca.barbato@gmail.com>
lang/rust/Makefile
lang/rust/maturin/Makefile
lang/rust/rust-host.mk
lang/rust/rust-package.mk
utils/ripgrep/Makefile

index 72d82026a498fa058dafefd7d2ba94613c8c2a5f..97d861f58bd2c07ff78099ef9fe25dec30d5eea4 100644 (file)
@@ -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
@@ -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
@@ -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
index c19a8675833917510ffa33448aee38368281793b..0249bf9ad7effb8a26c00beef7c98d261d3d80e2 100644 (file)
@@ -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
index ede4baea1456ca294973f8d02335663c45843b81..acc93c521dcc4262b0a82b3c95557af7b2261e91 100644 (file)
@@ -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
 
index 3c8b7aaa096b94ac5ce3f2d06980c65bd57942e8..472417a61797ec958bc32d423a3cd95ed44e06db 100644 (file)
@@ -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
index 4a6c766b2d8bae123edd925018ebf3ea5e3ecd13..fe449bc2d8bb8f03ffd804044d665f6b9cd61367 100644 (file)
@@ -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
 
@@ -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))