Opened 8 years ago

Closed 7 years ago

Last modified 2 years ago

#52355 closed update (fixed)

darwinbuild: update for move to GitHub

Reported by: e-t-h-a-n Owned by: wms@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), kencu (Ken), mojca (Mojca Miklavec)
Port: darwinbuild

Description

DarwinBuild (along with some other macOS Forge Projects) has moved to GitHub, and the usual subversion checkout no longer works. Also some deprecated functions were causing the project not to compile. This patch resolves both these issues.

Attachments (2)

Portfile.diff (1.1 KB) - added by e-t-h-a-n 8 years ago.
Patch for DarwinBuild Portfile.
patch-darwinbuild.diff (4.0 KB) - added by kencu (Ken) 7 years ago.
Portfile patch version 20170521

Download all attachments as: .zip

Change History (13)

Changed 8 years ago by e-t-h-a-n

Attachment: Portfile.diff added

Patch for DarwinBuild Portfile.

comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Thanks.

Projects hosted at GitHub should use the github-1.0 portgroup.

comment:2 in reply to:  description ; Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ethansherriff@…:

Also some deprecated functions were causing the project not to compile.

I assume this is #45849?

This patch resolves both these issues.

It needs to not fetch the latest commit, but rather a specific commit. See #52390.

Also, why fetch from git at all? Use the tarball. Using the github portgroup will do that automatically.

Last edited 8 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added; wms@… removed
Owner: changed from macports-tickets@… to wms@…

comment:4 in reply to:  2 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: Update DarwinBuilddarwinbuild: update for move to GitHub

Replying to ryandesign@…:

It needs to not fetch the latest commit, but rather a specific commit. See #52390.

Ok actually this problem applies only to your patch. The version in the repository now fetches the HEAD of the darwinbuild-33 tag, so that's not expected to change. Your patch makes it fetch from the tip of the master of the git repository, which would change if anybody committed a change to the repository, so that's not OK. Using the latest tag, darwinbuild-37, is probably the thing do.

github.setup macosforge darwinbuild 37 darwinbuild-

The homepage line should be updated too.

comment:5 Changed 7 years ago by kencu (Ken)

I have updated the darwinbuild Portfile as Ryan suggested, and also fixed another error that I was getting when building 64bit, regarding implicit conversions:

cc1: warnings being treated as errors
/opt/local/var/macports/build/_opt_macports-ports_devel_darwinbuild/darwinbuild/work/darwinbuild-056f0d8ba94c78b53da8b1e7f9d82d7563974612/darwinxref/plugins/register.c: In function 'register_mach_header':
/opt/local/var/macports/build/_opt_macports-ports_devel_darwinbuild/darwinbuild/work/darwinbuild-056f0d8ba94c78b53da8b1e7f9d82d7563974612/darwinxref/plugins/register.c:343: warning: implicit conversion shortens 64-bit value into a 32-bit value
/opt/local/var/macports/build/_opt_macports-ports_devel_darwinbuild/darwinbuild/work/darwinbuild-056f0d8ba94c78b53da8b1e7f9d82d7563974612/darwinxref/plugins/register.c:364: warning: implicit conversion shortens 64-bit value into a 32-bit value
/opt/local/var/macports/build/_opt_macports-ports_devel_darwinbuild/darwinbuild/work/darwinbuild-056f0d8ba94c78b53da8b1e7f9d82d7563974612/darwinxref/plugins/register.c:384: warning: implicit conversion shortens 64-bit value into a 32-bit value

The first two changes I made seem fairly straightforward. I looked hard at the third one though, to make sure I wasn't messing with a struct -- I think it's OK, but I'd appreciate another pair of eyes on it to make certain. It builds and runs, but I don't know if I directly tested the piece of code that the third change is in.

I'll work on the darwinbuild-legacy portfile next, I think, as that's the one I really wanted to be working.

Changed 7 years ago by kencu (Ken)

Attachment: patch-darwinbuild.diff added

Portfile patch version 20170521

comment:6 Changed 7 years ago by kencu (Ken)

Cc: kencu added

comment:7 Changed 7 years ago by kencu (Ken)

Resolution: fixed
Status: newclosed

In a8423424fedad68064f7ea58add2fae9afefb3ca/macports-ports:

darwinbuild: sources moved, fix build error

  • Switch to GitHub.
  • Remove warnings about deprecated functions that were treated as errors.
  • Fix a 64 -> 32 bit implicit integer cast.

Closes: #45849
Closes: #52355

comment:8 Changed 7 years ago by mojca (Mojca Miklavec)

Cc: mojca added

comment:9 Changed 7 years ago by mojca (Mojca Miklavec)

Couldn't the darwinbuild-legacy port use something similar to

github.setup macosforge darwinbuild <number> darwinbuild-

as the version number?

comment:10 Changed 7 years ago by kencu (Ken)

I wondered about that. There is an <8> release <https://github.com/macosforge/darwinbuild/releases/tag/darwinbuild-8> that could be accessed like this:

github.setup macosforge darwinbuild 8 darwinbuild-

and it corresponds to commit 7d34d63d269118f3c86870d6ef4cba0414499c11.

But there is also a Darwin8 branch, with commits that seemed to me to go past that point in time, so I took that last commit from that branch. I assumed that some further additions were made to that branch as it was destined for Tiger.

Similarly with Darwin 9 -- both a release, and then a branch Darwin9.

These were all moved over from svn, just to make it a bit less clear, even. You can't really tell from the "release date", because they all are dated Apr 26, 2016.

So in the end, I thought it would be best to take the last commit from each of the Darwin8 and Darwin9 branches, and use that. And each compiled nicely on each system, and seemed to work, so I left it at that.

Oh - I think I found it by looking at the commit dates. The last commit date for the Darwin8 release was Feb 2009, and for the Darwin8 branch was Nov 2 2009, so there are several pages more commits to the Darwin8 branch.

Last edited 7 years ago by kencu (Ken) (previous) (diff)

comment:11 in reply to:  10 Changed 2 years ago by barracuda156

Replying to kencu:

We got a new problem. Downloading sources via darwinbuild no longer works, since links lead to nowhere. For example: https://opensource.apple.com/darwinbuild/Roots/10A432/

Note: See TracTickets for help on using tickets.