Prechádzať zdrojové kódy

feat(deps): add bc-7.0.3 source code

Add bc calculator utility version 7.0.3 with enhanced dependency handling
requirements. Documentation updated to clarify build dependency management
and LFS integration guidelines.
clanker 1 mesiac pred
rodič
commit
3980b8a923

+ 129 - 0
bc-7.0.3/MANIFEST.usm

@@ -0,0 +1,129 @@
+{
+  "provides" : {
+    "locale:zh_CN.GB18030/bc" : "as-expected",
+    "locale:en_NZ.US-ASCII/bc" : "as-expected",
+    "locale:de_AT.ISO8859-15/bc" : "as-expected",
+    "locale:nl_BE.ISO8859-15/bc" : "as-expected",
+    "locale:en_CA.utf8/bc" : "as-expected",
+    "locale:pl_PL.ISO8859-2/bc" : "as-expected",
+    "locale:zh_CN.eucCN/bc" : "as-expected",
+    "locale:fr_CA.utf8/bc" : "as-expected",
+    "locale:zh_CN.GB2312/bc" : "as-expected",
+    "locale:zh_CN.GBK/bc" : "as-expected",
+    "locale:fr_CH.ISO8859-1/bc" : "as-expected",
+    "locale:en_US.US_ASCII/bc" : "as-expected",
+    "locale:fr_CH.utf8/bc" : "as-expected",
+    "locale:fr_FR.ISO8859-15/bc" : "as-expected",
+    "locale:fr_CH.UTF-8/bc" : "as-expected",
+    "locale:en_GB.ISO8859-15/bc" : "as-expected",
+    "locale:de_CH.utf8/bc" : "as-expected",
+    "locale:en_IE.ISO8859-15/bc" : "as-expected",
+    "locale:en_GB.ISO8859-1/bc" : "as-expected",
+    "locale:fr_FR.UTF-8/bc" : "as-expected",
+    "locale:en_AU.ISO8859-15/bc" : "as-expected",
+    "locale:de_DE.UTF-8/bc" : "as-expected",
+    "locale:pt_PT.ISO8859-15/bc" : "as-expected",
+    "locale:ru_RU.CP1251/bc" : "as-expected",
+    "locale:pl_PL.UTF-8/bc" : "as-expected",
+    "locale:fr_CA.UTF-8/bc" : "as-expected",
+    "locale:ru_RU.utf8/bc" : "as-expected",
+    "locale:en_US.ISO8859-15/bc" : "as-expected",
+    "locale:es_ES.utf8/bc" : "as-expected",
+    "locale:de_DE.utf8/bc" : "as-expected",
+    "locale:nl_NL.utf8/bc" : "as-expected",
+    "locale:pt_PT.UTF-8/bc" : "as-expected",
+    "locale:en_AU.US-ASCII/bc" : "as-expected",
+    "locale:de_CH.UTF-8/bc" : "as-expected",
+    "locale:de_DE.ISO8859-15/bc" : "as-expected",
+    "rootpath:share/man/man1/dc.1" : "as-expected",
+    "locale:de_AT.UTF-8/bc" : "as-expected",
+    "locale:pt_BR.ISO8859-15/bc" : "as-expected",
+    "locale:en_NZ.ISO8859-15/bc" : "as-expected",
+    "locale:es_ES.ISO8859-1/bc" : "as-expected",
+    "locale:zh_CN.utf8/bc" : "as-expected",
+    "locale:en_US.ISO8859-1/bc" : "as-expected",
+    "locale:en_US.utf8/bc" : "as-expected",
+    "locale:fr_BE.ISO8859-1/bc" : "as-expected",
+    "locale:zh_CN.UTF-8/bc" : "as-expected",
+    "locale:nl_BE.ISO8859-1/bc" : "as-expected",
+    "locale:nl_NL.UTF-8/bc" : "as-expected",
+    "locale:pt_BR.UTF-8/bc" : "as-expected",
+    "locale:en_US.UTF-8/bc" : "as-expected",
+    "locale:en_IE.US_ASCII/bc" : "as-expected",
+    "locale:fr_BE.UTF-8/bc" : "as-expected",
+    "locale:en_CA.US-ASCII/bc" : "as-expected",
+    "locale:fr_FR.utf8/bc" : "as-expected",
+    "locale:en_GB.US-ASCII/bc" : "as-expected",
+    "locale:en_CA.ISO8859-1/bc" : "as-expected",
+    "locale:pl_PL.utf8/bc" : "as-expected",
+    "locale:en_NZ.ISO8859-1/bc" : "as-expected",
+    "locale:en_GB.utf8/bc" : "as-expected",
+    "locale:en_NZ.utf8/bc" : "as-expected",
+    "locale:en_IE.ISO8859-1/bc" : "as-expected",
+    "locale:en_CA.UTF-8/bc" : "as-expected",
+    "locale:ja_JP.utf8/bc" : "as-expected",
+    "locale:en_US/bc" : "as-expected",
+    "rootpath:share/man/man1/bc.1" : "as-expected",
+    "locale:en_NZ.UTF-8/bc" : "as-expected",
+    "locale:en_AU.ISO8859-1/bc" : "as-expected",
+    "locale:pt_PT.utf8/bc" : "as-expected",
+    "locale:en_IE.UTF-8/bc" : "as-expected",
+    "locale:fr_FR.ISO8859-1/bc" : "as-expected",
+    "locale:fr_CA.ISO8859-15/bc" : "as-expected",
+    "locale:de_DE.ISO8859-1/bc" : "as-expected",
+    "locale:ru_RU.ISO8859-5/bc" : "as-expected",
+    "locale:en_AU.UTF-8/bc" : "as-expected",
+    "locale:ru_RU.UTF-8/bc" : "as-expected",
+    "locale:fr_CA.ISO8859-1/bc" : "as-expected",
+    "locale:ru_RU.KOI8-R/bc" : "as-expected",
+    "bin:bc" : "as-expected",
+    "locale:pt_PT.ISO8859-1/bc" : "as-expected",
+    "locale:de_CH.ISO8859-15/bc" : "as-expected",
+    "locale:en_GB.UTF-8/bc" : "as-expected",
+    "locale:de_CH.ISO8859-1/bc" : "as-expected",
+    "locale:fr_BE.ISO8859-15/bc" : "as-expected",
+    "locale:ja_JP.eucJP/bc" : "as-expected",
+    "locale:pt_BR.utf8/bc" : "as-expected",
+    "locale:de_AT.ISO8859-1/bc" : "as-expected",
+    "locale:ru_RU.CP866/bc" : "as-expected",
+    "locale:en_IE.utf8/bc" : "as-expected",
+    "locale:es_ES.ISO8859-15/bc" : "as-expected",
+    "locale:en_AU.utf8/bc" : "as-expected",
+    "locale:nl_NL.ISO8859-15/bc" : "as-expected",
+    "locale:en_CA.ISO8859-15/bc" : "as-expected",
+    "locale:en_US.US-ASCII/bc" : "as-expected",
+    "locale:ja_JP.UTF-8/bc" : "as-expected",
+    "locale:nl_NL.ISO8859-1/bc" : "as-expected",
+    "locale:fr_CH.ISO8859-15/bc" : "as-expected",
+    "locale:pt_BR.ISO8859-1/bc" : "as-expected",
+    "locale:es_ES.UTF-8/bc" : "as-expected",
+    "locale:de_AT.utf8/bc" : "as-expected",
+    "locale:fr_BE.utf8/bc" : "as-expected",
+    "bin:dc" : "as-expected"
+  },
+  "flags" : [
+    "simpleBuildEnvironment"
+  ],
+  "summary" : "An arbitrary-precision calculator language",
+  "name" : "bc",
+  "md" : "PACKAGE.md",
+  "depends" : {
+    "build" : [
+      "bin:gcc",
+      "bin:make"
+    ],
+    "runtime" : [],
+    "manage" : [
+      "bin:wget",
+      "bin:tar"
+    ]
+  },
+  "url" : "https://git.gavinhoward.com/gavin/bc",
+  "version" : "7.0.3",
+  "execs" : {
+    "build" : "usm-scripts/build.sh",
+    "test" : "usm-scripts/test.sh",
+    "install" : "usm-scripts/install.sh",
+    "acquire" : "usm-scripts/acquire.sh"
+  }
+}

+ 42 - 0
bc-7.0.3/PACKAGE.md

@@ -0,0 +1,42 @@
+# bc-7.0.3
+
+bc is an arbitrary-precision calculator language with a syntax similar to the C programming language. It supports interactive execution of statements, arbitrary precision numbers, and execution of scripts.
+
+## Features
+
+- Arbitrary precision arithmetic
+- Interactive calculator mode
+- Script execution capabilities
+- Standard mathematical functions
+- Support for variables and arrays
+- GNU bc extensions compatibility
+- Readline support for improved line editing
+
+## Usage
+
+bc can be used interactively:
+
+```bash
+bc
+scale=20
+1/3
+.33333333333333333333
+quit
+```
+
+Or for script execution:
+
+```bash
+bc -l script.bc
+```
+
+## Installation
+
+This package installs the bc calculator with readline support enabled, providing enhanced line editing features including command history, tab completion, and cursor movement.
+
+## Dependencies
+
+- readline library (for enhanced line editing)
+- GCC compiler (for building)
+- Make utility (for building)
+- Bash shell (for script execution)

+ 20 - 0
bc-7.0.3/usm-scripts/acquire.sh

@@ -0,0 +1,20 @@
+#!/bin/bash
+set -e
+
+ARCHIVE_URL="https://github.com/gavinhoward/bc/releases/download/7.0.3/bc-7.0.3.tar.xz"
+ARCHIVE_NAME="bc-7.0.3.tar.xz"
+SOURCE_DIR="sources/bc"
+
+echo "Downloading bc source..."
+wget -O ${ARCHIVE_NAME} ${ARCHIVE_URL}
+
+echo "Creating source directory..."
+mkdir -p ${SOURCE_DIR}
+
+echo "Extracting archive..."
+tar -xf ${ARCHIVE_NAME} -C ${SOURCE_DIR} --strip-components=1
+
+echo "Cleaning up..."
+rm ${ARCHIVE_NAME}
+
+echo "Source acquisition complete."

+ 16 - 0
bc-7.0.3/usm-scripts/build.sh

@@ -0,0 +1,16 @@
+#!/bin/bash
+set -e
+
+build_dir=$1
+
+# With simpleBuildEnvironment flag, we're already in build directory
+# Change to source directory for configuration
+cd sources/bc
+
+echo "Configuring bc..."
+./configure --prefix=${PREFIX} --bindir=${PREFIX}${BINDIR} -G -O3 -r -std=c99
+
+echo "Building bc..."
+make
+
+echo "Build complete."

+ 15 - 0
bc-7.0.3/usm-scripts/install.sh

@@ -0,0 +1,15 @@
+#!/bin/bash
+set -e
+
+build_dir=$1
+install_dir=$2
+install_type=$3
+
+# With simpleBuildEnvironment flag, we're already in build directory
+# Change to source directory for installation
+cd sources/bc
+
+echo "Installing bc to ${install_dir}..."
+make DESTDIR=${install_dir} install
+
+echo "Installation complete."

+ 13 - 0
bc-7.0.3/usm-scripts/test.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+set -e
+
+build_dir=$1
+
+# With simpleBuildEnvironment flag, we're already in build directory
+# Change to source directory for testing
+cd sources/bc
+
+echo "Running bc tests..."
+make test
+
+echo "All tests passed."

+ 7 - 0
prompt-enhanced.md

@@ -40,6 +40,8 @@ LFS References:
    - Use relative paths from `{name}-{version}` root
    - Include proper error handling
    - `acquire.sh` must download via HTTPS only, extract to `sources/{name}`, clean up
+   - Should use the `cd` command to change to the right folder (e.g. `cd sources/{name}`)
+   - Should stay as close as possible to the commands in the LFS documentation.
 
 3. Manifest:
    - Include ALL required fields
@@ -47,6 +49,11 @@ LFS References:
    - Point `md` property to `PACKAGE.md`
    - Leave `provides` section empty
 
+4. Dependencies:
+   - Do not modify the host system
+   - If there is a missing build dependency stop and notify the user
+   - Add any such dependencies `depends` section of the manifest.
+
 **VALIDATION:**
 
 1. Create complete package structure