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

libxmlsec1@1.2 1.2.39 (new formula) #161079

Closed
wants to merge 1 commit into from

Conversation

nosnilmot
Copy link
Contributor

@nosnilmot nosnilmot commented Jan 27, 2024

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

python-xmlsec is not compatible with current libxmlsec1 1.3, add a parallel-installable libxmlsec1@1.2 that can be used with python xmlsec:

$ HOMEBREW_NO_INSTALL_FROM_API=1 brew install libxmlsec1@1.2
==> Fetching libxmlsec1@1.2
==> Downloading https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.39.tar.gz
#################################################################################### 100.0%
==> Patching
==> ./configure --disable-crypto-dl --disable-apps-crypto-dl --with-nss=no --with-nspr=no --enable-mscrypto=no --enable-mscng=no --with-openssl=/opt/homebrew/opt/openssl@3
==> make install
==> Caveats
libxmlsec1@1.2 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.

If you need to have libxmlsec1@1.2 first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/libxmlsec1@1.2/bin:$PATH"' >> /Users/stu/.bash_profile

For compilers to find libxmlsec1@1.2 you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/libxmlsec1@1.2/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/libxmlsec1@1.2/include"

For pkg-config to find libxmlsec1@1.2 you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/libxmlsec1@1.2/lib/pkgconfig"
==> Summary
🍺  /opt/homebrew/Cellar/libxmlsec1@1.2/1.2.39: 221 files, 6MB, built in 9 seconds
==> Running `brew cleanup libxmlsec1@1.2`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

$ export PKG_CONFIG_PATH="/opt/homebrew/opt/libxmlsec1@1.2/lib/pkgconfig:/opt/homebrew/opt/libxml2/lib/pkgconfig"

$ pip install xmlsec
Collecting xmlsec
  Downloading xmlsec-1.3.13.tar.gz (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.6/64.6 kB 686.0 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting lxml>=3.8 (from xmlsec)
  Downloading lxml-5.1.0-cp310-cp310-macosx_11_0_arm64.whl.metadata (3.5 kB)
Downloading lxml-5.1.0-cp310-cp310-macosx_11_0_arm64.whl (4.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 2.5 MB/s eta 0:00:00
Building wheels for collected packages: xmlsec
  Building wheel for xmlsec (pyproject.toml) ... done
  Created wheel for xmlsec: filename=xmlsec-1.3.13-cp310-cp310-macosx_14_0_arm64.whl size=45915 sha256=4ce692d311ca17b812905fee2f5f8c6afbba6fdb421bc8769c58f1d510af69f1
  Stored in directory: /private/var/folders/_q/7_p0fjmn0zj_d25n4rrjwwv00000gn/T/pip-ephem-wheel-cache-jfmme5qz/wheels/4e/10/4f/db7ab2326b7ed5575ca8d5896571220217048e11c899e8f35f
Successfully built xmlsec
Installing collected packages: lxml, xmlsec
Successfully installed lxml-5.1.0 xmlsec-1.3.13

@github-actions github-actions bot added autosquash Automatically squash pull request commits according to Homebrew style. new formula PR adds a new formula to Homebrew/homebrew-core legacy Relates to a versioned @ formula labels Jan 27, 2024
@github-actions github-actions bot added automerge-skip `brew pr-automerge` will skip this pull request and removed autosquash Automatically squash pull request commits according to Homebrew style. labels Jan 27, 2024
@Bo98
Copy link
Member

Bo98 commented Jan 27, 2024

python-xmlsec seems to not be updated anymore so we would effectively be maintaining this forever which seems undesirable.

@nosnilmot
Copy link
Contributor Author

python-xmlsec seems to not be updated anymore so we would effectively be maintaining this forever which seems undesirable.

The situation with python-xmlsec is indeed unfortunate but I don't expect it will last forever, somone will either take over maintenance or produce a usable fork, at which point this package can be retired.

In the meantime there are brew users implementing various differnt workarounds that are only likely to cause further trouble by building the last available 1.2.x libxmlsec1 formula (1.2.37) - it is not binary compatible with the curent brew-provided 1.3.x and will cause problems for anything else in brew that links with libxmlsec1, and it is not the latest 1.2.x release (1.2.39)

I would expect the important thing to brew is that libxmlsec1 1.2 is still maintained upstream.

@Bo98
Copy link
Member

Bo98 commented Jan 28, 2024

The situation with python-xmlsec is indeed unfortunate but I don't expect it will last forever, somone will either take over maintenance or produce a usable fork, at which point this package can be retired.

In the meantime there are brew users implementing various differnt workarounds that are only likely to cause further trouble by building the last available 1.2.x libxmlsec1 formula (1.2.37) - it is not binary compatible with the curent brew-provided 1.3.x and will cause problems for anything else in brew that links with libxmlsec1, and it is not the latest 1.2.x release (1.2.39)

I mean it's been a year, that's already a lot longer than what other formulae get.

I would expect the important thing to brew is that libxmlsec1 1.2 is still maintained upstream.

This however is the better argument to take. We have a policy for what versioned formulae to allow (https://docs.brew.sh/Versions) and it being maintained upstream means that this would be acceptable to add. So I'm OK with adding this based on that information.

That also gives us a rough idea of how long to maintain it. When upstream stops updating 1.2 then we can deprecate the formula.

@Bo98 Bo98 changed the title libxmlsec1: add libxmlsec1@1.2 for python-xmlsec libxmlsec1@1.2 1.2.39 (new formula) Jan 28, 2024
Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@github-actions github-actions bot added the stale No recent activity label Feb 18, 2024
@deronnax
Copy link

I work for a ~100 engineers company and I can confirm there is a significant interest for this recipe to be merged. We have to use python-xmlsec because of python3-saml and it's currently utterly broken at python dependencies installation time in one of the least understandable manner even for seasoned developers, it would be such an incredible developer experience improvement for this one to be merged.

@github-actions github-actions bot removed the stale No recent activity label Feb 19, 2024
@SMillerDev
Copy link
Member

I work for a ~100 engineers company and I can confirm there is a significant interest for this recipe to be merged. We have to use python-xmlsec because of python3-saml and it's currently utterly broken at python dependencies installation time in one of the least understandable manner even for seasoned developers, it would be such an incredible developer experience improvement for this one to be merged.

That isn't impactful to Homebrew as a project unless that company is maintaining the software. If your company needs a certain piece of software a private tap is the way to go.

Let's keep this discussion to if it should be in homebrew/core or not based on our policies and the maintenance burden involved.

@SMillerDev
Copy link
Member

That also gives us a rough idea of how long to maintain it. When upstream stops updating 1.2 then we can deprecate the formula.

Can someone ask how long they are planning to maintain it? That way we can already set a deprecation/disable policy.

@deronnax
Copy link

I asked the question there discussion #762, and there answer is:

I have no definite plans to "kill" 1.2 branch. It will not get any new features but I will continue fixing critical bugs as long as the fix is reasonably portable from "master" (1.3).

Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@github-actions github-actions bot added the stale No recent activity label Mar 13, 2024
@deronnax
Copy link

deronnax commented Mar 13, 2024

Activity has resumed on python-xmlsec. Most PRs fixing the problems have been merged. A release hasn't been done yet but I bet it will be done in a not-so-long-time. When it is, this formula will have no interest anymore.
EDIT: xmlsec 1.3.x merged fixes broke compatibitity with xmlsec 1.2.x, which is the default xmlsec shipped on must Ubuntu. So a xmlsec 1.2.x formula will actually be needed.

@github-actions github-actions bot removed the stale No recent activity label Mar 13, 2024
@deronnax
Copy link

@SMillerDev so, what's your take on this?

@SMillerDev
Copy link
Member

I'm not sure why a formula is needed if the fixes exist and are merged for 1.3 compatibility.

@nosnilmot
Copy link
Contributor Author

I'm not sure why a formula is needed if the fixes exist and are merged for 1.3 compatibility.

ack. hopefully a new python-xmlsec release is made soon and I can close this PR

Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@github-actions github-actions bot added the stale No recent activity label Apr 10, 2024
@github-actions github-actions bot closed this Apr 17, 2024
@github-actions github-actions bot added the outdated PR was locked due to age label May 18, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
automerge-skip `brew pr-automerge` will skip this pull request legacy Relates to a versioned @ formula new formula PR adds a new formula to Homebrew/homebrew-core outdated PR was locked due to age stale No recent activity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants