2021-01-16 06:48:17 +00:00
|
|
|
#
|
|
|
|
# spec file for package erlang-rebar3
|
|
|
|
#
|
2024-02-22 08:38:40 +00:00
|
|
|
# Copyright (c) 2024 SUSE LLC
|
2021-01-16 06:48:17 +00:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2023-02-27 12:47:12 +00:00
|
|
|
%define mod_ver %(echo "%{version}" | cut -d "+" -f1)
|
2021-01-16 06:48:17 +00:00
|
|
|
%if 0%{?suse_version}
|
|
|
|
%if 1%{?erlang_libdir:0}
|
|
|
|
%define erlang_libdir %{_libdir}/erlang/lib
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
Name: erlang-rebar3
|
2025-06-09 18:49:56 +03:00
|
|
|
Version: 3.25.0
|
2021-01-16 06:48:17 +00:00
|
|
|
Release: 0
|
|
|
|
Summary: Tool for working with Erlang projects
|
|
|
|
License: Apache-2.0
|
|
|
|
Group: Development/Tools/Building
|
|
|
|
URL: https://github.com/erlang/rebar3
|
Accepting request 1166719 from home:Pi-Cla:branches:devel:languages:erlang
- Use zstd instead of xz (because of the incident...)
- Update to version 3.23.0:
* back to git-based versioning
* Fix release workflow permissions
* Bump to 3.23.0
* bring back erlware_commons version hotfix
* Manual patch to make builds work
* Bump Relx and Erlware Commons
* undef fix
* Update apps/rebar/test/rebar_dir_SUITE.erl
* Update apps/rebar/test/rebar_dir_SUITE.erl
* REBAR_SRC_DIRS and REBAR_APP_DIRS fix
* zsh aliases, aliases CLI fix, zsh test update
* typo and dialyzer fix
* zsh completion gen
* Eliminate use of experimental function code:lib_dir/2
* fix tests for new leaner clean runs
* Only call install_deps if 'clean' impacts deps
* Fix clean hooks when override are presents
* Mark plugin as experimental
* Only use Unicode modifier for erlang format
* Filter away un-supported functions
* Add Unicode modifier
* Use 4-space formatting, fix nesting (for tests)
* Fix types for otp_lib_dir and source_root
* Use 4-space formatting, fix nesting
* Do not disable logging
* Make log_level entry in rebar.app work again
* ct assertions and skip, backward comp, cmpl fix
* `as` cmpl fixed, `do` cmpl, key rename
* debug msg
* Initial version of the Manifest plugin.
* completion provider
* Append . to --eval arg if missing
* Fix MacOS CI workflows
* Fix handling of or in prereleases, add tests
* Fall back to reading versions from hex metadata
* Handle 'or' in versions in a primitive manner
* Add missing doc. for `incremental` on Dialyzer analysis
* Dedupe compiler DAG edge insertion for artifacts
* rebar_utils: add metadata to primary logger config
* Fix unicode output printed as charlist
* Rename option to 'shell_hooks_env'
* Add new 'env' key to config options
* Fix macOS CI workflow issues
* Ease pre-pull request CI in forks
* Prevent xref issue when analysis runs on generated code
* Add (to output) Dialyzer info. about invalid_contract
* Test command `rebar3 alias`'s implementation
* Act on review comment: reduce chances of collision
* Increase chances of running tests on the latest 25
* Prefer GitHub actions' syntax to shell's
* Add command `rebar3 alias`
* ShellArgs default should be [] (not undefined)
* Fix for `rebar3 shell` in Erlang 26 when ShellArgs==undefined
* Updated the arity for the dialyzer no-warn.
* Added missing punctuation.
* Improved wording.
* Updated help string for user_drv_args.
* Tweaked the log message to be a little more accurate.
* Ensure an Erlang 26 custom shell's args are passed.
* Protect against undefined information
* Complete the previous commit with some specific tests
* Un-break the interface (add back a removed function)
* back to git-based versioning
* Rework argument parsing in do/as providers
* Bump to 3.22.1
* Add app name to "OTP release ~ts or later is required" msg
* debug brew in CI
* Defer hostname check to OTP when supported
* Print diagnostic when failing to get VSN with Git
* Add simple Erlang LS config
* Back to git-based versioning
* Bump to 3.22.0
* Fixup: rich compiler output in warnings
* Avoid setting encoding on Erlang/OTP 26
* Support CRLF in shell ENV files
* Richer and colorized compiler output
* Move the compiler rich error format code to a standalone module
* Attempt to support legible compiler error messages
* Hotfix erlware_commons config script
* Back to git-based versioning
* Bump to 3.21.0
* Match Dialyzer defaults
* Support OTP-26, Deprecate OTP-23 support.
* bumping a bunch of deps in getting ready for OTP26
* Maintain cth_log_redirect default in CT runs
* Lift Ubuntu runner in CI for Nightly and Publish
* Change license template to markdown
* incremental incremental Dialyzer PLTs
* rebar3_dialyzer_format: Add missing messages
* Add types and docs to rebar_parallel
* Add rebar_parallel pool, use in DAG scans
* rebar_prv_compile: dereference files when copying them
* Add test case for copying ct `_SUITE_data` in app/test
* Update apps/rebar/src/rebar_prv_shell.erl
* fix help shell output, --eval is misindeted
* Ignore _vendor folder
* Ignore only _build and _checkouts
* Do not ignore everything starting with underscore recursively
* Add RTX_LOG macro option to top-level rebar.config
* Fix missing dot
* Bump certifi to 2.10.0
* scope local install VSN variable
* pkgs command should support empty lists
* Rebar 3.20.0
* Respect HEX_MIRROR environment variable
* Prevent CI from using 25.1
* Warn of EUnit issues on OTP-25.1
* Use shell:start_interactive to start shell if available
* Do not send empty If-None-Match in tarball request
* Respect rebar_packages_cdn set in rebar.config
* Add support for dialyzer --incremental when available
* Do not dereference symbolic links in win32 when using cp_r
* Add tests for rebar_file_utils:cp_r
* Pass a proplist as option argument instead of a boolean
* Dereference symbolic links when copying files from ct data folder
* Reduce warnings
* Vendor all dependencies, make bootstrap use them
* Migrate to an umbrella structure
* Improve `shell --eval` error messages
* Add --eval option to `shell`
* Rebar 3.19.0
* Bump Relx to 4.7.0
* Fix syntax error typo
* Store offline in state and use it where possible
* Properly carry overlay_vars settings for files in relx
* add regression case for pruning artifacts
* Track and match MIB file build artifacts in DAG
* Fix extension matching in compiler DAG
* please OTP-25 dialyzer, which is smarter about no_return()
* Support OTP 23..25 inclusively
* Support plugins in experimental vendor provider
* Revert changes in src/vendored/
* Intercept download and needs_update in rebar_fetch
* Fixup: typos
* Add --offline option and REBAR_OFFLINE environment variable
* Going for more profiles than default and prod
* give deps for shelltests
* Rebuild modified local plugins
* normalize debug output
* Skip upgrades on locally-defined plugins
* Prevent non-umbrella project-local plugins
* Local plugins can't declare project plugins
* Fix local plugin external plugin dependency
* Add support for project-local plugins
* fix the argument preceence
* make dialyzer happy
* use depth 10 to support longer cert chains
* Experimental vendoring provider
* Attempt to find apps in git subdirs (sparse checkouts)
* Add euint --test flag
* Replace an unconfigured call to global config paths
* add REBAR_CACHE_DIR support to global plugins
* Fix global cache config overriding
* Error out on unknown templates in 'new' command
* Fix a typo
* Bump certifi to 2.9.0
* add a log in the needs_update
* Use SPDX id for license in template and test
* Rephrase and and reinstate default branch warning
* Fix overwrite of local commits when no remote changes
* Use default branch for git and git_subdir resources
* switch to newer erlef/setup-beam from gleam's
* switch default branch to main
OBS-URL: https://build.opensuse.org/request/show/1166719
OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang/erlang-rebar3?expand=0&rev=8
2024-04-11 17:09:42 +00:00
|
|
|
Source: rebar3-%{version}.tar.zst
|
2021-01-16 06:48:17 +00:00
|
|
|
Patch0: add-rebar3-escript.patch
|
|
|
|
Patch1: erlang-rebar3-0001-Skip-deps.patch
|
2024-08-19 11:47:46 +00:00
|
|
|
BuildRequires: erlang >= 26
|
2021-01-16 06:48:17 +00:00
|
|
|
BuildRequires: erlang-erlware_commons
|
|
|
|
BuildRequires: erlang-providers
|
Accepting request 1166719 from home:Pi-Cla:branches:devel:languages:erlang
- Use zstd instead of xz (because of the incident...)
- Update to version 3.23.0:
* back to git-based versioning
* Fix release workflow permissions
* Bump to 3.23.0
* bring back erlware_commons version hotfix
* Manual patch to make builds work
* Bump Relx and Erlware Commons
* undef fix
* Update apps/rebar/test/rebar_dir_SUITE.erl
* Update apps/rebar/test/rebar_dir_SUITE.erl
* REBAR_SRC_DIRS and REBAR_APP_DIRS fix
* zsh aliases, aliases CLI fix, zsh test update
* typo and dialyzer fix
* zsh completion gen
* Eliminate use of experimental function code:lib_dir/2
* fix tests for new leaner clean runs
* Only call install_deps if 'clean' impacts deps
* Fix clean hooks when override are presents
* Mark plugin as experimental
* Only use Unicode modifier for erlang format
* Filter away un-supported functions
* Add Unicode modifier
* Use 4-space formatting, fix nesting (for tests)
* Fix types for otp_lib_dir and source_root
* Use 4-space formatting, fix nesting
* Do not disable logging
* Make log_level entry in rebar.app work again
* ct assertions and skip, backward comp, cmpl fix
* `as` cmpl fixed, `do` cmpl, key rename
* debug msg
* Initial version of the Manifest plugin.
* completion provider
* Append . to --eval arg if missing
* Fix MacOS CI workflows
* Fix handling of or in prereleases, add tests
* Fall back to reading versions from hex metadata
* Handle 'or' in versions in a primitive manner
* Add missing doc. for `incremental` on Dialyzer analysis
* Dedupe compiler DAG edge insertion for artifacts
* rebar_utils: add metadata to primary logger config
* Fix unicode output printed as charlist
* Rename option to 'shell_hooks_env'
* Add new 'env' key to config options
* Fix macOS CI workflow issues
* Ease pre-pull request CI in forks
* Prevent xref issue when analysis runs on generated code
* Add (to output) Dialyzer info. about invalid_contract
* Test command `rebar3 alias`'s implementation
* Act on review comment: reduce chances of collision
* Increase chances of running tests on the latest 25
* Prefer GitHub actions' syntax to shell's
* Add command `rebar3 alias`
* ShellArgs default should be [] (not undefined)
* Fix for `rebar3 shell` in Erlang 26 when ShellArgs==undefined
* Updated the arity for the dialyzer no-warn.
* Added missing punctuation.
* Improved wording.
* Updated help string for user_drv_args.
* Tweaked the log message to be a little more accurate.
* Ensure an Erlang 26 custom shell's args are passed.
* Protect against undefined information
* Complete the previous commit with some specific tests
* Un-break the interface (add back a removed function)
* back to git-based versioning
* Rework argument parsing in do/as providers
* Bump to 3.22.1
* Add app name to "OTP release ~ts or later is required" msg
* debug brew in CI
* Defer hostname check to OTP when supported
* Print diagnostic when failing to get VSN with Git
* Add simple Erlang LS config
* Back to git-based versioning
* Bump to 3.22.0
* Fixup: rich compiler output in warnings
* Avoid setting encoding on Erlang/OTP 26
* Support CRLF in shell ENV files
* Richer and colorized compiler output
* Move the compiler rich error format code to a standalone module
* Attempt to support legible compiler error messages
* Hotfix erlware_commons config script
* Back to git-based versioning
* Bump to 3.21.0
* Match Dialyzer defaults
* Support OTP-26, Deprecate OTP-23 support.
* bumping a bunch of deps in getting ready for OTP26
* Maintain cth_log_redirect default in CT runs
* Lift Ubuntu runner in CI for Nightly and Publish
* Change license template to markdown
* incremental incremental Dialyzer PLTs
* rebar3_dialyzer_format: Add missing messages
* Add types and docs to rebar_parallel
* Add rebar_parallel pool, use in DAG scans
* rebar_prv_compile: dereference files when copying them
* Add test case for copying ct `_SUITE_data` in app/test
* Update apps/rebar/src/rebar_prv_shell.erl
* fix help shell output, --eval is misindeted
* Ignore _vendor folder
* Ignore only _build and _checkouts
* Do not ignore everything starting with underscore recursively
* Add RTX_LOG macro option to top-level rebar.config
* Fix missing dot
* Bump certifi to 2.10.0
* scope local install VSN variable
* pkgs command should support empty lists
* Rebar 3.20.0
* Respect HEX_MIRROR environment variable
* Prevent CI from using 25.1
* Warn of EUnit issues on OTP-25.1
* Use shell:start_interactive to start shell if available
* Do not send empty If-None-Match in tarball request
* Respect rebar_packages_cdn set in rebar.config
* Add support for dialyzer --incremental when available
* Do not dereference symbolic links in win32 when using cp_r
* Add tests for rebar_file_utils:cp_r
* Pass a proplist as option argument instead of a boolean
* Dereference symbolic links when copying files from ct data folder
* Reduce warnings
* Vendor all dependencies, make bootstrap use them
* Migrate to an umbrella structure
* Improve `shell --eval` error messages
* Add --eval option to `shell`
* Rebar 3.19.0
* Bump Relx to 4.7.0
* Fix syntax error typo
* Store offline in state and use it where possible
* Properly carry overlay_vars settings for files in relx
* add regression case for pruning artifacts
* Track and match MIB file build artifacts in DAG
* Fix extension matching in compiler DAG
* please OTP-25 dialyzer, which is smarter about no_return()
* Support OTP 23..25 inclusively
* Support plugins in experimental vendor provider
* Revert changes in src/vendored/
* Intercept download and needs_update in rebar_fetch
* Fixup: typos
* Add --offline option and REBAR_OFFLINE environment variable
* Going for more profiles than default and prod
* give deps for shelltests
* Rebuild modified local plugins
* normalize debug output
* Skip upgrades on locally-defined plugins
* Prevent non-umbrella project-local plugins
* Local plugins can't declare project plugins
* Fix local plugin external plugin dependency
* Add support for project-local plugins
* fix the argument preceence
* make dialyzer happy
* use depth 10 to support longer cert chains
* Experimental vendoring provider
* Attempt to find apps in git subdirs (sparse checkouts)
* Add euint --test flag
* Replace an unconfigured call to global config paths
* add REBAR_CACHE_DIR support to global plugins
* Fix global cache config overriding
* Error out on unknown templates in 'new' command
* Fix a typo
* Bump certifi to 2.9.0
* add a log in the needs_update
* Use SPDX id for license in template and test
* Rephrase and and reinstate default branch warning
* Fix overwrite of local commits when no remote changes
* Use default branch for git and git_subdir resources
* switch to newer erlef/setup-beam from gleam's
* switch default branch to main
OBS-URL: https://build.opensuse.org/request/show/1166719
OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang/erlang-rebar3?expand=0&rev=8
2024-04-11 17:09:42 +00:00
|
|
|
BuildRequires: zstd
|
2024-08-19 11:47:46 +00:00
|
|
|
Requires: erlang >= 26
|
2021-01-16 06:48:17 +00:00
|
|
|
Requires: erlang-erlware_commons
|
|
|
|
Requires: erlang-providers
|
|
|
|
|
|
|
|
%description
|
|
|
|
Rebar3 is an Erlang tool that makes it easy to create, develop, and release
|
|
|
|
Erlang libraries, applications, and systems in a repeatable manner.
|
|
|
|
|
|
|
|
Rebar3 is the spiritual successor to rebar 2.x, which was the first usable
|
|
|
|
build tool for Erlang that ended up seeing widespread community adoption. It
|
|
|
|
however had several shortcomings that made it difficult to use with larger
|
|
|
|
projects or with teams with users new to Erlang.
|
|
|
|
|
|
|
|
%package bash-completion
|
|
|
|
Summary: Bash Completion for %{name}
|
|
|
|
Group: Development/Tools/Building
|
|
|
|
Requires: bash-completion
|
2023-02-28 12:08:54 +00:00
|
|
|
Supplements: (%{name} and bash-completion)
|
2021-01-16 06:48:17 +00:00
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description bash-completion
|
|
|
|
The official bash completion script for rebar3.
|
|
|
|
|
|
|
|
%package fish-completion
|
|
|
|
Summary: Fish Completion for %{name}
|
|
|
|
Group: Development/Tools/Building
|
|
|
|
Supplements: (%{name} and fish)
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description fish-completion
|
|
|
|
The official fish completion script for rebar3.
|
|
|
|
|
|
|
|
%package zsh-completion
|
|
|
|
Summary: ZSH Completion for %{name}
|
|
|
|
Group: Development/Tools/Building
|
|
|
|
Supplements: (%{name} and zsh)
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description zsh-completion
|
|
|
|
The official zsh completion script for rebar3.
|
|
|
|
|
|
|
|
%prep
|
2024-02-22 08:38:40 +00:00
|
|
|
%autosetup -p1 -n rebar3-%{version}
|
2021-01-16 06:48:17 +00:00
|
|
|
|
|
|
|
%build
|
|
|
|
EBIN_PATHS=$(x1=(%{erlang_libdir}/*/ebin); x2=(${x1[*]#*rebar*}); IFS=":"; echo "${x2[*]}")
|
|
|
|
DIAGNOSTIC=1 ./bootstrap bare compile --paths $EBIN_PATHS --separator :
|
|
|
|
|
|
|
|
%install
|
|
|
|
install -Dm755 rebar3 %{buildroot}%{_bindir}/rebar3
|
|
|
|
# Install RPM macros:
|
|
|
|
#install -Dm644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.erlang-rebar
|
|
|
|
for dir in ebin priv ; do
|
|
|
|
install -d %{buildroot}%{erlang_libdir}/rebar3-%{mod_ver}/${dir}
|
|
|
|
cp -r ./_build/bootstrap/lib/rebar/${dir}/* %{buildroot}%{erlang_libdir}/rebar3-%{mod_ver}/${dir}/
|
|
|
|
done
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}/%{_datadir}/bash-completion/completions
|
|
|
|
ln -s %{erlang_libdir}/rebar3-%{mod_ver}/priv/shell-completion/bash/rebar3 %{buildroot}/%{_datadir}/bash-completion/completions/rebar3
|
|
|
|
mkdir -p %{buildroot}/%{_datadir}/fish/vendor_completions.d
|
|
|
|
ln -s %{erlang_libdir}/rebar3-%{mod_ver}/priv/shell-completion/zsh/_rebar3 %{buildroot}/%{_datadir}/fish/vendor_completions.d/rebar3.fish
|
|
|
|
mkdir -p %{buildroot}/%{_datadir}/zsh/site-functions
|
|
|
|
ln -s %{erlang_libdir}/rebar3-%{mod_ver}/priv/shell-completion/fish/rebar3.fish %{buildroot}/%{_datadir}/zsh/site-functions/_rebar3
|
|
|
|
install -Dm644 manpages/rebar3.1 %{buildroot}%{_mandir}/man1/rebar3.1
|
|
|
|
|
|
|
|
%files
|
|
|
|
%license LICENSE
|
|
|
|
%doc README.md THANKS rebar.config.sample CONTRIBUTING.md
|
|
|
|
%{_bindir}/rebar3
|
|
|
|
%dir %{erlang_libdir}/rebar3-%{mod_ver}
|
|
|
|
%{erlang_libdir}/rebar3-%{mod_ver}/ebin
|
|
|
|
%{erlang_libdir}/rebar3-%{mod_ver}/priv
|
2023-02-27 12:47:12 +00:00
|
|
|
%{_mandir}/man1/rebar3.1%{?ext_man}
|
2021-01-16 06:48:17 +00:00
|
|
|
|
|
|
|
%files bash-completion
|
|
|
|
%{_datadir}/bash-completion
|
|
|
|
|
|
|
|
%files fish-completion
|
|
|
|
%{_datadir}/fish
|
|
|
|
|
|
|
|
%files zsh-completion
|
|
|
|
%{_datadir}/zsh
|
|
|
|
|
|
|
|
%changelog
|