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

[deps] split Versions.make into standalone *.version file #45720

Merged
merged 31 commits into from
Jun 28, 2022

Conversation

inkydragon
Copy link
Member

@inkydragon inkydragon commented Jun 17, 2022

ref: #40430

But we could probably move the BB versions into the .version files, to keep all of the ways of specifying it in one place.

Originally posted by @vtjnash in #45691 (comment)

  • rm Versions.make, put all version info into standalone *.version files
  • update julia.spdx.json
  • update docs that related with Versions.make
  • add new stdlib/all_jlls.version to replace Versions.make in stdlib/Makefile
  • resolve conflicts

@inkydragon inkydragon marked this pull request as draft June 17, 2022 08:08
@inkydragon

This comment was marked as resolved.

load `LLVM_ASSERT_JLL_VER` (Line290) before `bb-install`
Copy link
Member Author

@inkydragon inkydragon left a comment

Choose a reason for hiding this comment

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

There are some version number mismatches, but perhaps this should be fixed in a new pr.

deps/blastrampoline.version Outdated Show resolved Hide resolved
deps/openblas.version Outdated Show resolved Hide resolved
@inkydragon

This comment was marked as outdated.

@inkydragon inkydragon marked this pull request as ready for review June 17, 2022 12:33
@inkydragon

This comment was marked as resolved.

@inkydragon inkydragon force-pushed the build-rm-Versions.make branch from 15f31d5 to 1850865 Compare June 18, 2022 09:06
deps/unwind.version Outdated Show resolved Hide resolved
inkydragon and others added 2 commits June 18, 2022 19:05
Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
deps/llvm-tools.version Outdated Show resolved Hide resolved
@inkydragon
Copy link
Member Author

New idea: Add a target checksum in julia/deps/Makefile, then we can check all deps at one.
Maybe in another pr.

@DilumAluthge DilumAluthge requested a review from staticfloat June 18, 2022 16:55
Comment on lines +5 to 6
LIBSSH2_VER := 1.10.2
LIBSSH2_BRANCH=libssh2-1.10.0
Copy link
Member Author

Choose a reason for hiding this comment

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

Version mismatch, ref: #43250

Copy link
Member

Choose a reason for hiding this comment

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

@nalimilan Any thoughts on how to address this one?

Copy link
Member

Choose a reason for hiding this comment

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

1.10.2 doesn't exist upstream, AFAICT that's a trick used in Yggdrasil. Cf. #43250 (comment) Maybe @mkitti knows.

deps/mpfr.version Show resolved Hide resolved
@@ -0,0 +1,28 @@
## All `_jll` names and versions
Copy link
Member

@ViralBShah ViralBShah Jun 19, 2022

Choose a reason for hiding this comment

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

Is it possible to do something automatic here - something like include *.version so that we don't have to update manually here in the future?

Copy link
Member Author

@inkydragon inkydragon Jun 20, 2022

Choose a reason for hiding this comment

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

It looks like you can just use wildcards.

include foo *.mk $(bar)

Include (GNU make)

Maybe we could use one line include $(JULIAHOME)/deps/*.version to replace the whole file.

But I'd link to open a new pr for this.

Copy link
Member

Choose a reason for hiding this comment

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

Sure.

@ViralBShah
Copy link
Member

ViralBShah commented Jun 19, 2022

This PR looks pretty good to merge. We should get it in before too many conflicts arise. I feel that any breakages that happen here can be swiftly addressed.

@inkydragon The merge conflict should be easy to address. Sorry to create some extra work for you.

deps/objconv.version Outdated Show resolved Hide resolved
deps/unwind.mk Show resolved Hide resolved
stdlib/all_jlls.version Outdated Show resolved Hide resolved
inkydragon and others added 5 commits June 21, 2022 10:00
@ViralBShah
Copy link
Member

Should we merge?

@inkydragon
Copy link
Member Author

@vtjnash I think this pr is ready to be merged. Is there anything else I need to do?
Or could you recommend someone to review this?

I can also split this pr into 2 or 3 smaller pr's for review if necessary.

@ViralBShah
Copy link
Member

I feel this is good to merge and mostly straightforward. Let's wait a day for @vtjnash.

@vtjnash vtjnash merged commit a8d1d36 into JuliaLang:master Jun 28, 2022
@inkydragon inkydragon deleted the build-rm-Versions.make branch June 28, 2022 15:15
pcjentsch pushed a commit to pcjentsch/julia that referenced this pull request Aug 18, 2022
…ang#45720)

* deps: include `$(LibName).version`
* deps: rm `Versions.make`
* repo: update `julia.spdx.json`
* deps: split `unwind.version`, add new `llvmunwind.version`
* deps: split `llvm.version` into `clang.version` + `llvm-tools.version`
* stdlib: Add new makefile `all_jlls.version` to include all `_jll` names
* deps/LibUnwind_jll: fix version mismatch (`Project.toml` and `checksum`), xref: JuliaLang#42782
Comment on lines +8 to +12
## Other deps
# Specify the version of the Mozilla CA Certificate Store to obtain.
# The versions of cacert.pem are identified by the date (YYYY-MM-DD) of their changes.
# See https://curl.haxx.se/docs/caextract.html for more details.
MOZILLA_CACERT_VERSION := 2022-02-01
Copy link
Contributor

Choose a reason for hiding this comment

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

@inkydragon why this is here instead of its own file?

Copy link
Member Author

@inkydragon inkydragon Oct 15, 2022

Choose a reason for hiding this comment

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

Because libgit2 depends on it directly.
The download and installation code is also placed in libgit2.mk.

CA certificates can be split out as a separate dependency if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants