Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libsecret: add recipe #4858

Merged
merged 9 commits into from
Jul 24, 2018
Merged

Conversation

nehaljwani
Copy link
Member

No description provided.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/libsecret) and found it was in an excellent condition.

Copy link
Contributor

@djsutherland djsutherland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @nehaljwani! A few comments....

#!/bin/bash

# Nasty hack for $PREFIX/bin/intltool-*
ln -s "$PREFIX/bin/perl" "$PREFIX/bin/perl -w"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, yeah that's gross. I guess it's okay if necessary since it's only happening in the build env, though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couldn't think of a shorter way, other than patching intltool itself.

- pkg-config
- sed # [osx]
- perl 5.22.2.1
- glib 2.55.*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

--disable-manpages \
--with-libgcrypt-prefix="$PREFIX"

# Requires python-dbus and some other stuff
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How much "other stuff"? It'd be useful to have at least some basic check that things are working, either here or in the tests.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a patch to disable some tests.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/libsecret) and found some lint.

Here's what I've got...

For recipes/libsecret:

  • Failed to even lint the recipe (might be a conda-smithy bug) 😢

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/libsecret) and found it was in an excellent condition.

@nehaljwani
Copy link
Member Author

Ping 😅

@jakirkham
Copy link
Member

Toggling for CI.

@jakirkham jakirkham closed this Jul 6, 2018
@jakirkham jakirkham reopened this Jul 6, 2018
# Uncomment when conda build >= 3
# run_exports:
# https://abi-laboratory.pro/tracker/timeline/libsecret/
# - libsecret >=0.18.5,<0.19
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Raising for pinning in PR ( conda-forge/conda-forge-pinning-feedstock#88 ). Please feel free to add more thoughts there.

@jakirkham
Copy link
Member

This probably needs some cleanup given how we now handle pinnings and use conda-build 3. Do you mind updating this @nehaljwani? Otherwise agree we should get this in. Thanks for working on it.

@jakirkham jakirkham mentioned this pull request Jul 6, 2018
@nehaljwani
Copy link
Member Author

Feedstock updated.

- python 2.7
host:
- glib
- libgcrypt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These don't have run_exports yet. Could we have a run requirement with them listed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@djsutherland djsutherland Jul 17, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're using pin_run_as_build, I think you still need it listed in run; example.

skip: True # [win]
run_exports:
# https://abi-laboratory.pro/tracker/timeline/libsecret/
- {{ pin_subpackage('libsecret', max_pin='x.x') }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, can we address in issue ( conda-forge/conda-forge-pinning-feedstock#88 ).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These lines should now be dropped.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am confused now. Why should this line be removed?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it will be added to global pinnings with PR ( conda-forge/conda-forge-pinning-feedstock#89 ).

Copy link
Contributor

@djsutherland djsutherland Jul 18, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jakirkham: is it not generally preferable to use run_exports anyway though? conda-forge/conda-forge-pinning-feedstock#89 will encourage installation of libsecret 0.18 but not actually enforce the versioning as a dependency in the way that run_exports will. And I thought the goal was to eventually move to run_exports in general rather than the centralized pin_run_as_build (which is more error-prone, e.g.).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was confused because I saw the following line in conda-forge-pinning-feedstock:

# TODO: remove these when run_exports are added to the packages.

That being said, (I didn't know about this a week before now) I do like the idea of having pin_run_as_build so that one doesn't have to rely on the recipe maintainer, but have the pinnings at a central place.

However, there is one downside to it. What if I really want a version > pin_at_central_location and still want the auto-run-dep inject functionality, and the api compatibility might have changed for a future version of the same package? For example, if they say screw semver, let's break things at patch releases now, for a future version?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is a lot easier to stick to the one most common strategy until we are ready to change. Mixing and matching them will make things confusing and harder to maintain. Right now that is the global pinning file. In the future that may change and we can update this accordingly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatever happens with conda-forge-pinning, we should not remove the run_exports line. We have run_exports in most of the packages in conda-forge-pinning. Why do you want it dropped?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's centralize this conversation: conda-forge/conda-forge-pinning-feedstock#102

nehaljwani added a commit to nehaljwani/conda-forge-pinning-feedstock that referenced this pull request Jul 7, 2018
- pkg-config
- sed # [osx]
# intltool hard pins perl, can't rely on cbc.yaml here
- perl 5.22.2.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't we just say perl here, and have intltool's requirement restrict it to this version? Otherwise when/if intltool changes the pin then this recipe will break, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what happens when I remove the hard pin:

conda.exceptions.UnsatisfiableError: The following specifications were found to be in conflict:
  - intltool -> perl-xml-parser -> perl==5.22.2.1
  - perl=5.26.0

I don't know where is this pin coming from. It's probably from within CB3.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think that is in bioconda. @bgruening, is there some way to relax the perl version constraint of perl-xml-parser?

Side note: Don't think we should block the PR on account of this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm...must have missed that. Maybe we need some additional maintainers over there?

@jakirkham
Copy link
Member

Think this is nearly ready. Just a couple things left.

nehaljwani added a commit to nehaljwani/conda-forge-pinning-feedstock that referenced this pull request Jul 20, 2018
@djsutherland
Copy link
Contributor

intltool uses the right perl now, but the package was broken. Will hit rebuild after conda-forge/intltool-feedstock#2 which should fix it. :)

@djsutherland
Copy link
Contributor

conda-forge/intltool-feedstock#2 also removed the need for the disgusting perl -w hack. I deleted that; will merge once tests pass again to make totally sure.

@djsutherland djsutherland merged commit b607000 into conda-forge:master Jul 24, 2018
@djsutherland
Copy link
Contributor

Okay, merged! Sorry for the delay on this one @nehaljwani. :)

nehaljwani added a commit to nehaljwani/conda-forge-pinning-feedstock that referenced this pull request Jul 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants