#75 Add support for %generate_buildrequires
Merged 5 years ago by ignatenkobrain. Opened 5 years ago by ignatenkobrain.
fedora-rust/ ignatenkobrain/rust2rpm genbr  into  master

file modified
+6
@@ -48,6 +48,12 @@ 

    %{nil}

  }

  

+ %cargo_generate_buildrequires(af:) \

+ %{__cargo_inspector} -BR %{__cargo_parse_opts %{-a} %{-f:-f%{-f*}}} Cargo.toml \

+ %if %{with check} \

+ %{__cargo_inspector} -TR Cargo.toml \

+ %endif

+ 

  %cargo_build(naf:) %{shrink:\

  %{__cargo} build                                   \

    %{__cargo_common_opts}                           \

file modified
+4
@@ -221,6 +221,8 @@ 

                          help="Store crate in current directory")

      parser.add_argument("--all-features", action="store_true",

                          help="Activate all available features")

+     parser.add_argument("--dynamic-buildrequires", action="store_true",

+                         help="Use dynamic BuildRequires feature")

      parser.add_argument("crate", help="crates.io name\n"

                                        "path/to/local.crate\n"

                                        "path/to/project/",
@@ -291,6 +293,8 @@ 

      else:

          kwargs["pkg_release"] = "1%{?dist}"

  

+     kwargs["generate_buildrequires"] = args.dynamic_buildrequires

+ 

      if args.target in {"opensuse", "fedora"}:

          kwargs["date"] = time.strftime("%a %b %d %T %Z %Y")

      else:

file modified
+11 -3
@@ -15,7 +15,9 @@ 

      group.add_argument("-R", "--requires", action="store_true", help="Print Requires")

      group.add_argument("-BR", "--build-requires", action="store_true", help="Print BuildRequires")

      group.add_argument("-TR", "--test-requires", action="store_true", help="Print TestRequires")

-     parser.add_argument("-f", "--feature", help="Feature to work on")

+     fgroup = parser.add_mutually_exclusive_group()

+     fgroup.add_argument("-a", "--all-features", action="store_true", help="Activate all features")

+     fgroup.add_argument("-f", "--feature", default="default", help="Feature to work on")

      parser.add_argument("file", nargs="*", help="Path(s) to Cargo.toml")

      args = parser.parse_args()

  
@@ -45,10 +47,16 @@ 

          if args.requires:

              # Someone should own /usr/share/cargo/registry

              print("cargo")

-             print_deps(md.requires(args.feature))

+             if args.all_features:

+                 print_deps(md.all_dependencies)

+             else:

+                 print_deps(md.requires(args.feature))

          if args.build_requires:

              print("rust-packaging")

-             print_deps(md.requires(args.feature or "default", resolve=True))

+             if args.all_features:

+                 print_deps(md.all_dependencies)

+             else:

+                 print_deps(md.requires(args.feature, resolve=True))

          if args.test_requires:

              print_deps(md.dev_dependencies)

  

@@ -44,6 +44,7 @@ 

  ExclusiveArch:  %{rust_arches}

  

  BuildRequires:  rust-packaging

+ {% if not generate_buildrequires %}

  {% if not all_features %}

  {% set buildrequires = normalize_deps(md.requires("default", resolve=True))|sort %}

  {% else %}
@@ -64,6 +65,7 @@ 

  {% for req in to_list(distconf.get("buildrequires"))|sort %}

  BuildRequires:  {{ req }}

  {% endfor %}

+ {% endif %}

  

  %global _description \

  {% if md.description is none %}
@@ -162,6 +164,15 @@ 

  {% endif %}

  %cargo_prep

  

+ {% if generate_buildrequires %}

+ %generate_buildrequires

+ %cargo_generate_buildrequires{{ cargo_args }}

+   {% for req in to_list(distconf.get("buildrequires"))|sort %}

+ echo {{ "%r"|format(req) }}

+   {% endfor %}

+ 

+ {% endif -%}

+ 

  %build

  %cargo_build{{ cargo_args }}

  

rebased onto 3244ab0fe2db60c2d9b091b6b6e1fd9e43598c29

5 years ago

rebased onto a2b0c21ee1337108ee67df845a49a8211f6cd609

5 years ago

rebased onto c57afa8

5 years ago

Pull-Request has been merged by ignatenkobrain

5 years ago