• R/O
  • SSH

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Remilia's SlackBuild packages for Slackware Linux


Commit MetaInfo

Revision7d53fa5ad9b3bdd0a6ab72a12863436529b5bd37 (tree)
Time2023-06-12 13:59:20
AuthorRemilia Scarlet <remilia@post...>
CommiterRemilia Scarlet

Log Message

Add Shards

Change Summary

Incremental Difference

diff -r 2128106f47e2 -r 7d53fa5ad9b3 shards/README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/shards/README Sun Jun 11 22:59:20 2023 -0600
@@ -0,0 +1,3 @@
1+Shards is a build tool and dependency manager for the Crystal programming
2+language. It supports dependencies in Git, Mercurial, and Fossil repositories,
3+and can produce reproducible installs across computers and systems.
\ No newline at end of file
diff -r 2128106f47e2 -r 7d53fa5ad9b3 shards/shards.SlackBuild
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/shards/shards.SlackBuild Sun Jun 11 22:59:20 2023 -0600
@@ -0,0 +1,133 @@
1+#!/bin/bash
2+
3+# Slackware build script for Shards
4+#
5+# Copyright 2023 Remilia Scarlet, Colorado, United States
6+# All rights reserved.
7+#
8+# Redistribution and use of this script, with or without modification, is
9+# permitted provided that the following conditions are met:
10+#
11+# 1. Redistributions of this script must retain the above copyright
12+# notice, this list of conditions and the following disclaimer.
13+#
14+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
15+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
18+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+cd $(dirname $0) ; CWD=$(pwd)
25+
26+PRGNAM=shards
27+VERSION=${VERSION:-0.17.3}
28+MOLINILLO_VERSION=${MOLINILLO_VERSION:-0.2.0}
29+BUILD=${BUILD:-1}
30+TAG=${TAG:-_SBo}
31+PKGTYPE=${PKGTYPE:-tgz}
32+
33+# Automatically determine the architecture we're building on:
34+if [ -z "$ARCH" ]; then
35+ case "$( uname -m )" in
36+ i?86) ARCH=i586 ;;
37+ arm*) ARCH=arm ;;
38+ # Unless $ARCH is already set, use uname -m for all other archs:
39+ *) ARCH=$( uname -m ) ;;
40+ esac
41+fi
42+
43+if [ "$ARCH" = "i586" ]; then
44+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
45+ CRYSTAL_SLK_FLAGS="--mcpu=x86"
46+ LIBDIRSUFFIX=""
47+elif [ "$ARCH" = "i686" ]; then
48+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
49+ CRYSTAL_SLK_FLAGS="--mcpu=x86"
50+ LIBDIRSUFFIX=""
51+elif [ "$ARCH" = "x86_64" ]; then
52+ SLKCFLAGS="-O2 -fPIC"
53+ CRYSTAL_SLK_FLAGS="--mcpu=x86_64"
54+ LIBDIRSUFFIX="64"
55+elif [ "$ARCH" = "aarch64" ]; then
56+ SLKCFLAGS="-O2 -fPIC"
57+ CRYSTAL_SLK_FLAGS="--mcpu=aarch64"
58+ LIBDIRSUFFIX="64"
59+else
60+ SLKCFLAGS="-O2"
61+ CRYSTAL_SLK_FLAGS=""
62+ LIBDIRSUFFIX=""
63+fi
64+
65+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
66+# the name of the created package would be, and then exit. This information
67+# could be useful to other scripts.
68+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
69+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
70+ exit 0
71+fi
72+
73+TMP=${TMP:-/tmp/SBo}
74+PKG=$TMP/package-$PRGNAM
75+OUTPUT=${OUTPUT:-/tmp}
76+
77+set -e # Exit on most errors
78+
79+rm -rf $PKG
80+mkdir -p $TMP $PKG $OUTPUT
81+cd $TMP
82+rm -rf $PRGNAM-$VERSION
83+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
84+cd $PRGNAM-$VERSION
85+
86+# Copy over the needed molinillo dependency and unpack it into the lib directory
87+mkdir lib
88+cp -v $CWD/crystal-molinillo-$MOLINILLO_VERSION.tar.gz lib/
89+(
90+ cd lib
91+ tar xvzf crystal-molinillo-$MOLINILLO_VERSION.tar.gz
92+ mv crystal-molinillo-$MOLINILLO_VERSION molinillo
93+)
94+
95+chown -R root:root .
96+find -L . \
97+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
98+ -o -perm 511 \) -exec chmod 755 {} \; -o \
99+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
100+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
101+
102+# Build the compiler
103+CFLAGS="$SLKCFLAGS" \
104+CRYSTAL_OPTS="$CRYSTAL_SLK_FLAGS"
105+ make release=1 progress=1
106+make install PREFIX=/usr DESTDIR=$PKG
107+
108+# Strip binaries and libraries - this can be done with 'make install-strip'
109+# in many source trees, and that's usually acceptable if so, but if not,
110+# use this:
111+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
112+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
113+
114+# Copy program documentation into the package
115+# The included documentation varies from one application to another, so be sure
116+# to adjust your script as needed
117+# Also, include the SlackBuild script in the documentation directory
118+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
119+cp -a README.md $PKG/usr/doc/$PRGNAM-$VERSION
120+cp -a CHANGELOG.md $PKG/usr/doc/$PRGNAM-$VERSION
121+cp -a SPEC.md $PKG/usr/doc/$PRGNAM-$VERSION
122+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
123+
124+# Copy the slack-desc into ./install
125+mkdir -p $PKG/install
126+cat $CWD/slack-desc > $PKG/install/slack-desc
127+
128+# Make the package; be sure to leave it in $OUTPUT
129+# If package symlinks need to be created during install *before*
130+# your custom contents of doinst.sh runs, then add the -p switch to
131+# the makepkg command below -- see makepkg(8) for details
132+cd $PKG
133+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff -r 2128106f47e2 -r 7d53fa5ad9b3 shards/shards.info
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/shards/shards.info Sun Jun 11 22:59:20 2023 -0600
@@ -0,0 +1,14 @@
1+PRGNAM="shards"
2+VERSION="0.17.3"
3+HOMEPAGE="https://github.com/crystal-lang/shards"
4+DOWNLOAD="https://github.com/crystal-lang/shards/archive/refs/tags/v0.17.3.tar.gz \
5+ https://github.com/crystal-lang/crystal-molinillo/archive/refs/tags/v0.2.0.tar.gz"
6+MD5SUM="1fc2b19765e28a6bbf16291caf9cf62c
7+ 11fd34fe3bbc91b851a74af6349b393f"
8+DOWNLOAD_x86_64=""
9+MD5SUM_x86_64=""
10+DOWNLOAD_aarch64=""
11+MD5SUM_aarch64=""
12+REQUIRES="crystal-lang"
13+MAINTAINER="Remilia Scarlet"
14+EMAIL="remilia@sdf.org"
diff -r 2128106f47e2 -r 7d53fa5ad9b3 shards/slack-desc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/shards/slack-desc Sun Jun 11 22:59:20 2023 -0600
@@ -0,0 +1,19 @@
1+# HOW TO EDIT THIS FILE:
2+# The "handy ruler" below makes it easier to edit a package description.
3+# Line up the first '|' above the ':' following the base package name, and
4+# the '|' on the right side marks the last column you can put a character in.
5+# You must make exactly 11 lines for the formatting to be correct. It's also
6+# customary to leave one space after the ':' except on otherwise blank lines.
7+
8+ |-----handy-ruler------------------------------------------------------|
9+shards: shards (a build tool for the Crystal programming language)
10+shards:
11+shards: Shards is a build tool and dependency manager for the Crystal
12+shards: programming language. It supports dependencies in Git, Mercurial,
13+shards: and Fossil repositories.
14+shards:
15+shards:
16+shards:
17+shards:
18+shards: Homepage: https://github.com/crystal-lang/shards/
19+shards:
\ No newline at end of file