{"id":17113006,"url":"https://github.com/emmt/easyyorick","last_synced_at":"2025-09-12T02:12:37.982Z","repository":{"id":71510221,"uuid":"142615646","full_name":"emmt/EasyYorick","owner":"emmt","description":"Scripts to simplify and the installation of Yorick","archived":false,"fork":false,"pushed_at":"2025-04-11T08:37:00.000Z","size":96,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T03:58:20.734Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emmt.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-07-27T19:22:00.000Z","updated_at":"2025-04-11T08:37:04.000Z","dependencies_parsed_at":"2024-03-15T01:55:27.290Z","dependency_job_id":"610e85f4-6c40-4c02-bfbd-96c873a97b23","html_url":"https://github.com/emmt/EasyYorick","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emmt/EasyYorick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FEasyYorick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FEasyYorick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FEasyYorick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FEasyYorick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emmt","download_url":"https://codeload.github.com/emmt/EasyYorick/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FEasyYorick/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274742936,"owners_count":25341132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T17:02:17.946Z","updated_at":"2025-09-12T02:12:37.936Z","avatar_url":"https://github.com/emmt.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy Yorick\n\nThis repository provides a script ([ypkg](./ypkg)) to install\n[Yorick](https://github.com/LLNL/yorick) and and some extensions (among\nothers [MiRA](https://github.com/emmt/MiRA)).\n\n\n## First installation\n\nTo install **EasyYorick** for the first time, you have to clone the source\nrepository or to download the sources\n[here](https://github.com/emmt/EasyYorick/archive/master.zip).  Whatever the\nchosen method to retrieve the sources, to use the software, you will need to\nhave `git` installed on your system.\n\n\n### Clone source repository\n\nTo clone the source repository with HTTPS, type:\n\n```sh\ngit clone https://github.com/emmt/EasyYorick.git\n```\n\nYou may also clone the source repository with SSH as follows:\n\n```sh\ngit clone git@github.com:emmt/EasyYorick.git\n```\n\nEither of these commands create a directory `EasyYorick` with the sources.  The\nnext steps are to [configure and install](#configure-and-install) the software.\n\n\n### Download and extract sources\n\nAn alternative to get the sources is to download  the\nsources at https://github.com/emmt/EasyYorick/archive/master.zip\nand extract the contents of the archive:\n\n```sh\nunzip -a EasyYorick-master.zip\n```\n\nThis creates a directory `EasyYorick-master` with the sources.  The next steps\nare to [configure and install](#configure-and-install) the software.\n\n\n### Configure and install\n\nConfiguration can be done from anywhere (it just creates a file `Makefile`\nwith commands and settings to install the software).  The easier is to\nconfigure and install from the source directory as explanied below.\n\nMove to the source directory and call the configuration script:\n\n```sh\ncd \"$SRCDIR\"\n./configure --prefix=\"$PREFIX\"\n```\n\nwhere `$SRCDIR` the directory where are the sources of **EasyYorick**\n(presumably `EasyYorick` or `EasyYorick-master` depending how you did retrieve\nthe sources) and where `$PREFIX` is the top directory where to install the\nsoftware.  If this directory does not yet exist, it will be created during\ninstallation.  If option `--prefix=...` is not specified, the default\ninstallation directory will be `$HOME/easy-yorick`.  There are other options\n(call the configuration script with `--help` to list them).\n\nFinally, installation is done by:\n\n```sh\nmake install\n```\n\nThis will create the [directory tree](#directory-tree) for the software.  The\nmain command is `$PREFIX/bin/ypkg`.  You may add directory `$PREFIX/bin` to\nyour `PATH` environment variable.\n\n\n## Install Yorick\n\nThe next thing to do is to install Yorick.  Yorick needs the standard C and\nmathematical libraries plus the **X11** libraries.  On Ubuntu you should just\nhave to do:\n\n```sh\nsudo apt-get install libx11-dev\n```\n\nIf **EasyYorick** software has been properly installed and provided you have\nthe required X11 libraries and development files, installing Yorick should be\nas simple as:\n\n```sh\nypkg install yorick\n```\n\n(replace `ypkg` by `$PREFIX/bin/ypkg` if directory `$PREFIX/bin` has not been\nadded to your `PATH`).  After installation, yorick executable is available\nas `$PREFIX/bin/yorick`.\n\n\n## Usage\n\nThe `ypkg` command is used to manage Yorick packages.  Its syntax is:\n\n```sh\nypkg $COMMAND [$OPTION ...] [--] [$PKG ...]\n```\n\nwhere `$COMMAND` is the command to execute, `$OPTION` some optional flag(s) and\n`$PKG` a package name (most commands take one or more package names).  Above,\nsquare brackets indicate optional arguments.\n\nThe following high level commands are available:\n\n- `ypkg help`\n\n  Print a short help.\n\n- `ypkg list [--]`\n\n  List available packages and their status.  Possible status are:\n  - **unknown** if package is not in the database of known packages;\n  - **available** if package is available but not installed;\n  - **cloned** if repository of package has been cloned;\n  - **configured** if package has been configured;\n  - **built** if package has been built;\n  - **installed** if package has been installed;\n  - **upgradable** if package has been installed but a new version is\n    in the local repository;\n  - **dirty** if local package repository exists but is not a valid\n    GIT repository;\n\n- `ypkg check [--] [PKG ...]`\n\n  Check status of package(s).  If no package names are specified, all available\n  packages are considered (like the `list` command).\n\n- `ypkg install [--] PKG [...]`\n\n  Install package(s).  Installing a package automatically performs low level\n  operations `clone` (if there is no local package repository), `config` (if\n  package has not yet been configured) and `build` (if package has not yet been\n  built).\n\n- `ypkg reinstall [--] PKG [...]`\n\n  Re-install package(s).  Like `install` but perform every operations `config`,\n  `build` and `install` whatever the current package status.\n\n- `ypkg update [--] [PKG ...]`\n\n  Update local repositories of packages to the master remote version.  If no\n  packages are specified, all local repositories are updated.  If packages are\n  specified, their local repositories must exist (that is, they must have been\n  previously installed or, at least, cloned).\n\n- `ypkg upgrade [--] [PKG ...]`\n\n  Upgrade packages.  If no packages are specified, all upgradable packages (the\n  ones which are currently installed but whose local repository has changed)\n  are re-built and re-installed.  For each specified package, the local\n  repository is updated, then the package is re-built and re-installed if the\n  local repository has changed.\n\n\nLow-level commands are:\n\n- `ypkg clone [--] PKG [...]`\n\n  Clone repository of package(s) into a local directory.  Nothing is done if\n  local repository alraedy exists.\n\n- `ypkg configure [--] PKG [...]` or `ypkg config [--] PKG [...]`\n\n  Configure package(s) for building.  This operation should be done after\n  \"clone\" or \"opdate\".\n\n- `ypkg build [--] PKG [...]`\n\n  Build package(s).  This operation should be done after \"config\".\n\n- `ypkg register [--] [PKG ...]`\n\n  Register package(s) assumed they have been installed.  Useful for packages\n  that have been installed by hand.\n\n- `ypkg forget [--] [PKG ...]`\n\n  Forget (that is, un-register) package(s).\n\n\n## Customization\n\nEasyYorick has a simple plug-in system to extend its knowledge database to\nother packages than the ones included in the repository.  Adding a new package\nis easy: just add a script in the `scripts.d` directory created in\n`$PREFIX/etc/ypkg` during installation.  You can start with an existing script\nsuch as [`scripts.d/01ygsl.sh`](./scrips.d/01ygsl.sh) which is to install a\nYorick plug-in for the *GNU Scientific Library* (GSL).  The [`ypkg`](./ypkg)\nscript itself can be a source of inspiration.  The scripts in this directory\nare sourced by `ypkg` in the lexicographic order of their names.\n\nFill free to issue a *Pull Request* (PR) to add your script to the EasyYorick\nrepository.\n\n\n## Directory tree\n\n**EasyYorick** installs software in a directory tree with the following\nsub-directories:\n\n- `$PREFIX/bin` for executables;\n- `$PREFIX/etc/ypkg` for configuration files;\n- `$PREFIX/lib` for compiled libraries;\n- `$PREFIX/share/man` for manual pages;\n- `$PREFIX/libexec/yorick` for Yorick files;\n- `$PREFIX/src` for the local repositories of Yorick and its packages;\n- `$PREFIX/include` for header files;\n\nwhere `$PREFIX` is the top-directory defined when `ypkg` was configured and\ninstalled.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmt%2Feasyyorick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femmt%2Feasyyorick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmt%2Feasyyorick/lists"}