sqzass.git

sqzass

~ A static site generator written in Rust
git clone https://github.com/debuman/sqzass.git

packaging/aur/PKGBUILD (1702B)

      1 # Maintainer: sqzer <110329244+sqzer-x@users.noreply.github.com>
      2 pkgname=sqzass
      3 pkgver=0.1.0
      4 pkgrel=1
      5 pkgdesc='A static site generator written in Rust'
      6 arch=('x86_64' 'aarch64')
      7 url='https://github.com/sqzer-x/sqzass'
      8 license=('MIT')
      9 # `ldd`가 말하는 그대로다: libc/libm(glibc)와 libgcc_s(libgcc). gcc-libs는
     10 # 이제 그 둘을 포함한 열둘을 끌어오는 상위 패키지라, 그걸 적으면 이 바이너리가
     11 # 열지도 않는 libasan·libgfortran 따위가 따라온다. 공식 Rust 패키지(ripgrep,
     12 # fd, bat)도 전부 glibc + libgcc를 적는다.
     13 depends=('glibc' 'libgcc')
     14 makedepends=('cargo')
     15 # makepkg의 lto 옵션은 CFLAGS에 -flto를 넣어 onig_sys의 C 오브젝트를 GCC LTO
     16 # 비트코드로 만드는데, rustc의 링커(lld)는 그걸 못 읽어 onig_* 심볼이 전부
     17 # undefined가 된다. C 의존이 있는 Rust 패키지의 표준 처방이다.
     18 options=(!lto)
     19 source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
     20 sha256sums=('a68262010c3e4b8ada884edaa174025d1b605376be26673ea6d44c926cee3dc9')
     21 
     22 prepare() {
     23   cd "$pkgname-$pkgver"
     24   export RUSTUP_TOOLCHAIN=stable
     25   cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
     26 }
     27 
     28 build() {
     29   cd "$pkgname-$pkgver"
     30   export RUSTUP_TOOLCHAIN=stable
     31   export CARGO_TARGET_DIR=target
     32   cargo build --frozen --release --all-features
     33 }
     34 
     35 check() {
     36   cd "$pkgname-$pkgver"
     37   export RUSTUP_TOOLCHAIN=stable
     38   cargo test --frozen --all-features
     39 }
     40 
     41 package() {
     42   cd "$pkgname-$pkgver"
     43   install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/$pkgname"
     44   install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
     45   install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname/" README.md
     46 }