-
Notifications
You must be signed in to change notification settings - Fork 109
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libraries/gnatcoll-core: Added (GNAT Core Packages).
- Loading branch information
1 parent
dfb4fb4
commit 7c0211a
Showing
5 changed files
with
197 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
GNAT Components Collection - Core packages | ||
|
||
This is the core module of the GNAT Components Collection. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
commit 4a037b06e349a3ec0c6ad5e1dcf0814c4b44e6de | ||
Author: Zhu Qun-Ying <[email protected]> | ||
Date: Thu Dec 5 21:09:56 2024 -0800 | ||
|
||
fix compile error | ||
|
||
diff --git a/core/src/gnatcoll-json.adb b/core/src/gnatcoll-json.adb | ||
index 64b4217c..e4753312 100644 | ||
--- a/core/src/gnatcoll-json.adb | ||
+++ b/core/src/gnatcoll-json.adb | ||
@@ -666,7 +666,7 @@ package body GNATCOLL.JSON is | ||
|
||
Deallocate (Current_Key); | ||
Free (Read_States); | ||
- return (Success => True, Value => Result); | ||
+ return R_Result : constant Read_Result := (Success => True, Value => Result); | ||
exception | ||
when E : Invalid_JSON_Stream => | ||
Free (Read_States); | ||
@@ -675,7 +675,7 @@ package body GNATCOLL.JSON is | ||
begin | ||
Data.Current_Text_Position (Line, Column); | ||
|
||
- return (Success => False, | ||
+ return R_Result : constant Read_Result:= (Success => False, | ||
Error => (Line, Column, | ||
To_Unbounded_String | ||
(Ada.Exceptions.Exception_Message (E)))); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
#!/bin/bash | ||
# gnatcoll-core package build script (written by [email protected]) | ||
# Copyright 2012-2024, Zhu Qun-Ying | ||
# All rights reserved. | ||
# | ||
# Redistribution and use of this script, with or without modification, is | ||
# permitted provided that the following conditions are met: | ||
# | ||
# 1. Redistributions of this script must retain the above copyright | ||
# notice, this list of conditions and the following disclaimer. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | ||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | ||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | ||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
|
||
cd $(dirname $0) ; CWD=$(pwd) | ||
|
||
PRGNAM=gnatcoll-core | ||
VERSION=${VERSION:-25.0.0} | ||
BUILD=${BUILD:-1} | ||
TAG=${TAG:-_SBo} | ||
PKGTYPE=${PKGTYPE:-tgz} | ||
|
||
if [ -z "$ARCH" ]; then | ||
case "$(uname -m)" in | ||
i?86) ARCH=i586 ;; | ||
arm*) ARCH=arm ;; | ||
*) ARCH=$(uname -m) ;; | ||
esac | ||
export ARCH | ||
fi | ||
|
||
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then | ||
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" | ||
exit 0 | ||
fi | ||
|
||
TMP=${TMP:-"/tmp/SBo"} | ||
PKG=${TMP}/package-$PRGNAM | ||
OUTPUT=${OUTPUT:-/tmp} | ||
|
||
if [ "$ARCH" = "i586" ]; then | ||
SLKCFLAGS="-O2 -march=i586 -mtune=i686" | ||
elif [ "$ARCH" = "i686" ]; then | ||
SLKCFLAGS="-O2 -march=i686" | ||
elif [ "$ARCH" = "x86_64" ]; then | ||
SLKCFLAGS="-O2 -fPIC" | ||
else | ||
SLKCFLAGS="-O2" | ||
fi | ||
|
||
set -e | ||
|
||
rm -rf $PKG | ||
mkdir -p $TMP $PKG $OUTPUT | ||
cd $TMP | ||
rm -rf $PRGNAM-$VERSION | ||
mkdir $PRGNAM-$VERSION | ||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -C $PRGNAM-$VERSION --strip-components=1 | ||
|
||
cd $PRGNAM-$VERSION | ||
chown -R root:root . | ||
find . \ | ||
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ | ||
-exec chmod 755 {} \; -o \ | ||
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ | ||
-exec chmod 644 {} \; || exit 1 | ||
|
||
ADA_FLAGS="$SLKCFLAGS" | ||
ADA_FLAGS="${ADA_FLAGS//-Wformat}" | ||
ADA_FLAGS="${ADA_FLAGS//-Werror=format-security}" | ||
|
||
patch -p1 < $CWD/compiler-error.patch | ||
|
||
COMMON_OPTIONS="-XGNATCOLL_BUILD_MODE=PROD \ | ||
-XGNATCOLL_VERSION=$VERSION -XGNATCOLL_OS=unix " | ||
|
||
GPRINSTALL_OPTIONS="$COMMON_OPTIONS -p -f --prefix=$PKG/usr" | ||
GPRBUILD_OPTIONS="-R $COMMON_OPTIONS \ | ||
-cargs $ADA_FLAGS -largs -s $LDFLAGS -gargs" | ||
|
||
sed -i 's/0.0/25.0.0/' core/config/gnatcoll_core_constants.gpr | ||
|
||
# upstream's build system too complicated to modified | ||
# build options. Use gprbuild directly and closely follow how upstream is built | ||
mkdir -p $PKG/usr/share/gpr | ||
export GPR_PROJECT_PATH="/usr/share/gpr:$PKG/usr/share/gpr" | ||
lib_types=(static relocatable static-pic) | ||
for lib in ${lib_types[@]} ; do | ||
gprbuild -j0 $GPRBUILD_OPTIONS -XLIBRARY_TYPE=$lib \ | ||
-P minimal/gnatcoll_minimal.gpr | ||
gprinstall $GPRINSTALL_OPTIONS -XLIBRARY_TYPE=$lib \ | ||
--sources-subdir=include/gnatcoll_minimal \ | ||
--build-name=$lib --build-var=LIBRARY_TYPE \ | ||
-P minimal/gnatcoll_minimal.gpr | ||
gprbuild -j0 $GPRBUILD_OPTIONS -XLIBRARY_TYPE=$lib \ | ||
-XGNATCOLL_BLAKE3_ARCH="$ARCH-linux" \ | ||
-XGNATCOLL_XXHASH_ARCH="$ARCH" \ | ||
-XGNATCOLL_MMAP="yes" -XGNATCOLL_MADVISE="yes" \ | ||
-P core/gnatcoll_core.gpr | ||
gprinstall $GPRINSTALL_OPTIONS -XLIBRARY_TYPE=$lib \ | ||
--sources-subdir=include/gnatcoll_core \ | ||
--build-name=$lib --build-var=LIBRARY_TYPE \ | ||
-XGNATCOLL_BLAKE3_ARCH="$ARCH-linux" \ | ||
-XGNATCOLL_XXHASH_ARCH="$ARCH" \ | ||
-XGNATCOLL_MMAP="yes" -XGNATCOLL_MADVISE="yes" \ | ||
-P core/gnatcoll_core.gpr | ||
gprbuild -j0 $GPRBUILD_OPTIONS -XLIBRARY_TYPE=$lib \ | ||
-P projects/gnatcoll_projects.gpr | ||
gprinstall $GPRINSTALL_OPTIONS -XLIBRARY_TYPE=$lib \ | ||
--sources-subdir=include/gnatcoll_projects \ | ||
--build-name=$lib --build-var=LIBRARY_TYPE \ | ||
-P projects/gnatcoll_projects.gpr | ||
done | ||
|
||
sed -e 's/^-- with "gnatcoll_projects"/with "gnatcoll_projects"/g' gnatcoll.gpr > $PKG/usr/share/gpr/gnatcoll.gpr | ||
|
||
make -C docs html | ||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION | ||
cp -a ./docs/_build/html $PKG/usr/doc/$PRGNAM-$VERSION | ||
rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/html/_sources | ||
|
||
cp README.md COPYING* $PKG/usr/doc/$PRGNAM-$VERSION | ||
cp $CWD/$PRGNAM.SlackBuild $PKG/usr/doc/$PRGNAM-$VERSION | ||
|
||
mkdir -p $PKG/install | ||
cp $CWD/slack-desc $PKG/install | ||
|
||
cd $PKG | ||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-${VERSION}-$ARCH-$BUILD$TAG.$PKGTYPE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
PRGNAM="gnatcoll-core" | ||
VERSION="25.0.0" | ||
HOMEPAGE="https://github.com/AdaCore/gnatcoll-core" | ||
DOWNLOAD="https://github.com/AdaCore/gnatcoll-core/archive/v25.0.0/gnatcoll-core-25.0.0.tar.gz" | ||
MD5SUM="606c9b2c6b8fe025f366b01a0fc3369a" | ||
DOWNLOAD_x86_64="" | ||
MD5SUM_x86_64="" | ||
REQUIRES="gprbuild libgpr Sphinx sphinx-rtd-theme" | ||
MAINTAINER="Zhu Qun-Ying" | ||
EMAIL="[email protected]" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# HOW TO EDIT THIS FILE: | ||
# The "handy ruler" below makes it easier to edit a package description. Line | ||
# up the first '|' above the ':' following the base package name, and the '|' | ||
# on the right side marks the last column you can put a character in. You must | ||
# make exactly 11 lines for the formatting to be correct. It's also | ||
# customary to leave one space after the ':' except on otherwise blank lines. | ||
|
||
|-----handy-ruler------------------------------------------------------| | ||
gnatcoll-core: gnatcoll-core (GNAT Components Collection - Core packages) | ||
gnatcoll-core: | ||
gnatcoll-core: This is the core module of the GNAT Components Collection. | ||
gnatcoll-core: | ||
gnatcoll-core: | ||
gnatcoll-core: | ||
gnatcoll-core: Homepage: https://github.com/AdaCore/gnatcoll-core/ | ||
gnatcoll-core: | ||
gnatcoll-core: | ||
gnatcoll-core: | ||
gnatcoll-core: |