https://github.com/covscript/cspkg

Covariant Script Package Manager

https://github.com/covscript/cspkg

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary

Keywords

covscript package-manager
Last synced: 5 months ago · JSON representation

Repository

Covariant Script Package Manager

Basic Info
  • Host: GitHub
  • Owner: covscript
  • License: apache-2.0
  • Language: Batchfile
  • Default Branch: master
  • Size: 215 KB
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
covscript package-manager
Created about 8 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

Covariant Script Package Manager

Covariant Script Package Manager is an online package manager written in Covariant Script itself.

Dependency

Usage

``` Usage: cspkg ... [options] ...

Commands: init Initialize cspkg environment and configuration install | -i ... Install packages from remote source remove | -r ... Remove packages config | -c Manage local configuration upgrade | -u Upgrade local packages build | -b [Path] Build & test local packages list | -l List current packages help | -h Show help information version | -v Show version information

Options: General --yes Cancel the prompt

cspkg install --fix Fix broken dependencies --import Scanning local CovScript packages --show-avail Show available CovScript packages in remote source

cspkg upgrade --retread Retread all local packages and their dependencies

cspkg config --set Set a configuration key --app Append to a configuration key --unset Restore a configuration key to default

cspkg build --install [Package]... Install a local package --compile [Argument]... Compile extension using CXX compiler --release Generate package index files for release --flat Don't create cspkg-repo directory structure

```

Configure CSPKG

Local path: ~/.cspkg/config.json

json { "arch": "x86_64", "home": "PATH-TO-COVSCRIPT-HOME", "source": "URL-OF-REPO;URL-OF-REPO", "proxy": "URL-OF-HTTP-PROXY", "timeout_ms": "3000" }

For fresh installment, you can run cspkg init to generate config file manually.

Architecture of a typical CSPKG repository

File Storage

Typically a CSPKG repository is a HTTP(s) site in following structure:

  • http://mirrors.covariant.cn/cspkg_v2/
    • index.json
    • index
    • universal
    • winucrt
      • x86_64
      • index.json
      • xxx.json
    • linux
      • x86_64
      • index.json
      • xxx.json
    • macos
      • arm64
      • index.json
      • xxx.json
    • universal
    • xxx.csp
    • winucrt/x86_64
    • xxx.cse
    • linux/x86_64
    • xxx.cse
    • macos/arm64
    • xxx.cse

You can also use local storage by setting source to URL like file:///path-to-your-local-repo/.

Build your package

Step 1: Write your Package Description File

Package Description File Template:

```json { "Name": "test", "Info": "Test Package", "Author": "Anonymous", "Version": "1.0.0", "Target": "URL to your package", "Dependencies": [] }

`` +Nameis the unique identifier of the package and cannot be repeated. +Infois the description of your package, should be short in one sentence. +Authoris the name of the package author. +Versionis the version of your package, which will be sorted in lexicographical order. +Targetis the URL of your file(.cseor.csp), you can use GitHub as your server. +Dependencies` is an array of package names you depend on.

Example:

json { "Name": "csdbc_mysql", "Info": "CSDBC MySQL Driver", "Author": "CovScript Organization", "Version": "1.0.0", "Target": "http://mirrors.covariant.cn/cspkg_v2/universal/csdbc_mysql.csp", "Dependencies": [ "database", "codec", "csdbc", "regex" ] }

Step 2: Upload your Package Description File

You can: + Upload with your project file to GitHub or other VCS (Recommended!!!) + Upload to dedicated server(mostly for releasing purpose)

Step 3: Building your package

If your package is written in Covariant Script, there's no need for extra building. But if you are writting an Covariant Script Extension, please follow CSBuild Instruction.

CSPKG provides lots commands for building and compiling. If you are writting an extension and have Source field configured in csbuild folders, you can use cspkg build --install for auto installation and cspkg build <FILE> --compile for single file compilation.

After that, you can use cspkg build --release <Source URL> for auto releasing, which can generate a legal file structural for your CSPKG source.

Step 4: Submit your Package to CSPKG Source

  1. Fork CSPKG Source GitHub Repository
  2. Fill the URL of your Package Description File to CSPKG Index File
    • Universal Package(No platform dependency): cspkg/universal.json
    • Platform Specified Package: cspkg/OS_Architectural.json
  3. Create new pull request

Owner

  • Name: Covariant Script Opensource Organization
  • Login: covscript
  • Kind: organization
  • Email: dev@unicov.cn
  • Location: China

Never cease the pace of seek

GitHub Events

Total
  • Push event: 5
Last Year
  • Push event: 5