{"id":27433483,"url":"https://github.com/zerothi/bash-build","last_synced_at":"2025-04-14T17:16:51.782Z","repository":{"id":24620626,"uuid":"28029577","full_name":"zerothi/bash-build","owner":"zerothi","description":"Compilation of libraries and applications made easy","archived":false,"fork":false,"pushed_at":"2025-03-20T07:52:34.000Z","size":3269,"stargazers_count":10,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-14T17:16:35.041Z","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":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zerothi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2014-12-15T09:27:33.000Z","updated_at":"2025-03-13T18:12:17.000Z","dependencies_parsed_at":"2023-10-12T19:58:43.835Z","dependency_job_id":"f68ad433-3623-4f40-acd5-33ffcc1db0fb","html_url":"https://github.com/zerothi/bash-build","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerothi%2Fbash-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerothi%2Fbash-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerothi%2Fbash-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zerothi%2Fbash-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zerothi","download_url":"https://codeload.github.com/zerothi/bash-build/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248923740,"owners_count":21183953,"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","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":"2025-04-14T17:16:33.641Z","updated_at":"2025-04-14T17:16:51.769Z","avatar_url":"https://github.com/zerothi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# bash-build #\n\nPackage for easy build of packages.\n\nThis package system is mainly intended for scientific use as it provides\na large variety of scientificy packages. Mainly within the field of\nDensity Functional Theory.\n\nIt is similar to the easy-build package, however, everything\nis programmed in BASH which enables very versatile customization.\n\n# Usage #\n\nThe most simple usage is simply to perform this:\n\n    ./bbuild\n\nwhich defines a predefined build instruction set for you.\nIt defaults to install every package and using optimized flags.\n\nIt defaults to install everything in the `/opt` directory. To\nchange the default installation directory you may pass a full\npath using `--prefix \u003cpath\u003e`:\n\n    ./bbuild --prefix /apps/bash-build\n\nwhich installs everything under `/apps/bash-build`. Note that you *MUST*\nhave write access to the prefix directory.\n\n\n## Customizing the build ##\n\nDefining custom builds is rather obscure and requires a more indepth knowledge\nof bash-build.\n\nFirst, one requires 5 specifically named generic compilation builds:\n\n    new_build --name generic\n    new_build --name generic-no-version\n    new_build --name generic-empty\n    new_build --name vendor\n    new_build --name generic-host\n\nEach of these have their own purpose. Basically they are all comprising\ncode that is installed using the system compiler suite and are thus\ndepending on the OS providing a basic compilation environment.\nC/C++/Fortran compilers are required for these to succeed.\n\nThey are variants to control the module names and their installation\npath (to separate different types of installations).\n\nThe module names can be described in this list:\n\n1. `generic`\n  - Module name consists of package name and package version\n  - Installation path consists of package name and package version\n2. `generic-no-version`\n  - Module name consists of package name\n  - Installation path consists of package name\n3. `generic-empty`\n  - Module name consists of package name\n  - Installation path is in the top directory (mainly used for packages which themselves add their package name)\n4. `vendor`\n  - Module name consists of package name and package version\n  - Installation path consists of vendor (as is), package name and package version\n5. `generic-host`\n  - Module name consists of package name, package version and compiler version\n  - Installation path consists of package name, package version and compiler version\n\nThese are typically not needed to be changed but if you provide a build instruction\nthey must be defined by you.  \nFor inspiration you may copy this from `build-examples/build-generic.sh`.\n\nThen you should define your default build environment for the optimized compilation\ninstructions.  \nFor inspiration you may copy this from `build-examples/build-gnu.sh`.\n\n\n## Recreating the default build ##\n\nTo recreate the default build installation you should copy these files to the top-directory:\n\n    cp build-examples/source-generic.sh .\n    cp build-examples/source-gnu.sh .\n    cp build-examples/source-gnu-debug.sh .\n    cp build-examples/build-generic.sh .\n    cp build-examples/build-gnu.sh .\n\nThen you may run the installation as:\n\n    ./bbuild build-gnu.sh\n\n\n# Requirements #\n\nTo utilize bash-build you rely on the environment module package, see [here][env-mod] for the package.\nIt is not a requirement that you install it, bash-build will install it as the first thing, and you may\nuse this as the requirement.\n\nNOTE: Even though it is an installation requirement, it is _not_ a usage\nrequirement. Hence you may use [Lmod][lmod] subsequently to the installation.\n\nbash-build will check that the modules function is available for the installation.\nIf not it will install the environment modules and die, telling you to add that package\nto your `.bashrc` source.\n\nAfter you have done this, you may rerun the installation script.\n\nSecondly, you also need to add the different module paths to the module\nenviroment.\nbash-build will also inform you whether the required module paths are in the\nMODULEPATH environment (this env-var contains the paths where modules are searched for).\nBasically what you need to add to your `.bashrc` is the following:\n\nIf you do not have environment modules installed you should add this to your `.bashrc`\n\n    source /opt/generic/modules/Modules/default/init/bash\n\nChange `/opt` with your installation directory.\n\nSubsequently you should add these paths to the module enviroment\n\n    module use --append /opt/modules-generic\n    module use --append /opt/modules\n    module use --append /opt/modules-npa\n    module use --append /opt/modules-npa-apps\n\nAgain, change `/opt` accordingly.\n\n\n## Contributions, issues and bugs ##\n\nI would advice any users to contribute as much feedback and/or PRs to further\nmaintain and expand this installation script.\n\nPlease do not hesitate to contribute!\n\nIf you find any bugs please form a [bug report/issue][issue].\n\nIf you have a additions please consider adding a [pull request][pr].\n\n\n## License ##\n\nThe bash-build license is [LGPL][lgpl], please see the LICENSE file.\n\n\n\u003c!---\nLinks to external and internal sites.\n--\u003e\n[bb@git]: https://github.com/zerothi/bash-build\n[issue]: https://github.com/zerothi/bash-build/issues\n[pr]: https://github.com/zerothi/bash-build/pulls\n[lgpl]: http://www.gnu.org/licenses/lgpl.html\n[env-mod]: http://modules.sourceforge.net/\n[lmod]: https://github.com/TACC/Lmod\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerothi%2Fbash-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzerothi%2Fbash-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerothi%2Fbash-build/lists"}