Bug 234971 - devel/ccache4: add new port ccache 4.8
Summary: devel/ccache4: add new port ccache 4.8
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Bryan Drewery
URL: https://ccache.dev/releasenotes.html#...
Keywords: needs-patch
Depends on:
Blocks:
 
Reported: 2019-01-15 12:07 UTC by kunda
Modified: 2024-02-04 12:09 UTC (History)
8 users (show)

See Also:
pi: maintainer-feedback+


Attachments
svn diff for ccache 3.7.1->3.7.7 update (2.68 KB, patch)
2020-02-01 15:30 UTC, Oleg Sidorkin
no flags Details | Diff
svn diff for ccache 3.7.1->3.7.9 update (3.30 KB, patch)
2020-06-03 13:17 UTC, Oleg Sidorkin
no flags Details | Diff
3.7.12 (1.96 KB, patch)
2020-11-27 06:14 UTC, Charlie Li
vishwin: maintainer-approval? (bdrewery)
Details | Diff
add ccache 4.6.1 as devel/ccache4 (10.14 KB, patch)
2022-05-21 11:07 UTC, Oleg Sidorkin
no flags Details | Diff
Patch to add ccache 4.8 as devel/ccache4 (via git format-patch) (12.24 KB, patch)
2023-03-13 14:28 UTC, Oleg Sidorkin
no flags Details | Diff
Patch to add ccache 4.8 as devel/ccache4 (via git format-patch) (14.73 KB, patch)
2023-03-13 20:19 UTC, Oleg Sidorkin
no flags Details | Diff
Patch to Mk to make ccache version configurable (via git am). Allows to select ccache4 as a compiler cache (1.72 KB, patch)
2023-09-16 13:16 UTC, Oleg Sidorkin
osidorkin: maintainer-approval?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Bryan Drewery freebsd_committer freebsd_triage 2019-01-15 21:58:09 UTC
Thanks
Comment 2 Bryan Drewery freebsd_committer freebsd_triage 2019-01-15 21:59:59 UTC
"ccache now includes the environment variables LANG, LC_ALL, LC_CTYPE and LC_MESSAGES in the hash since they may affect localization of compiler warning messages. Set sloppiness to locale to opt out of this". Ew that's going to hurt a lot.
Comment 3 kunda 2019-03-07 18:35:05 UTC
(In reply to Bryan Drewery from comment #2)
What are the prospects of this port getting updated based on what you wrote above?
Comment 4 Bryan Drewery freebsd_committer freebsd_triage 2019-03-07 18:36:01 UTC
(In reply to kunda from comment #3)
> (In reply to Bryan Drewery from comment #2)
> What are the prospects of this port getting updated based on what you wrote
> above?

The only real blocker to this PR is time for me to test. It's overall a trivial
update. I just need to prioritize it. Thanks for the ping.
Comment 5 kunda 2019-04-03 10:31:00 UTC
soft bump :)
Comment 6 kunda 2019-04-24 15:07:55 UTC
ccache 3.7 has been released 
https://ccache.dev/releasenotes.html#_ccache_3_7
(Updated ticket summary)
Comment 7 kunda 2019-05-16 20:07:55 UTC
3.7.1 was released 
https://ccache.dev/releasenotes.html#_ccache_3_7_1
Comment 8 Bryan Drewery freebsd_committer freebsd_triage 2019-05-18 01:06:04 UTC
Ugh sorry. Thanks for the reminders. Iā€™m at bsdcan so FreeBSD is on my mind. Will
Write a patch tomorrow.
Comment 9 commit-hook freebsd_committer freebsd_triage 2019-05-18 21:53:47 UTC
A commit references this bug:

Author: bdrewery
Date: Sat May 18 21:53:05 UTC 2019
New revision: 501985
URL: https://svnweb.freebsd.org/changeset/ports/501985

Log:
  Update ccache to 3.7.1

  Changes: https://ccache.dev/releasenotes.html#_ccache_3_7_1

  ccache-memcached is not updated in this commit.

  PR:		234971

Changes:
  head/devel/ccache/Makefile
  head/devel/ccache/distinfo
  head/devel/ccache/files/extra-patch-configure.ac
Comment 10 kunda 2019-08-20 00:04:55 UTC
ccache 3.7.3 is available  
https://ccache.dev/releasenotes.html#_ccache_3_7_3
Comment 11 kunda 2019-11-04 19:10:55 UTC
soft bump
Comment 12 Oleg Sidorkin 2020-02-01 15:30:55 UTC
Created attachment 211253 [details]
svn diff for ccache 3.7.1->3.7.7 update

trivial update to 3.7.7 (works for me during src and ports builds)
Comment 13 Bryan Drewery freebsd_committer freebsd_triage 2020-02-02 18:03:12 UTC
Thanks will look this week.
Comment 14 Oleg Sidorkin 2020-06-03 13:17:28 UTC
Created attachment 215193 [details]
svn diff for ccache 3.7.1->3.7.9 update

cache 3.7.9 is here
Comment 15 Charlie Li freebsd_committer freebsd_triage 2020-11-27 02:34:48 UTC
4.1 has been released. Supposedly fixes some precompiled header quirks, among other things.
Comment 16 Charlie Li freebsd_committer freebsd_triage 2020-11-27 02:42:23 UTC
Also, the 4.0 branch is implemented in C++ and uses CMake as the build system. Not sure what this will bode for our memcached stuff.
Comment 17 Charlie Li freebsd_committer freebsd_triage 2020-11-27 06:14:26 UTC
Created attachment 220025 [details]
3.7.12

In the interim, here is an update to 3.7.12, the last in the pure C 3.7 series. All existing patches still work.
Comment 18 Bryan Drewery freebsd_committer freebsd_triage 2020-12-02 01:11:46 UTC
Thank you for the 3.7 patch. A review was posted to https://reviews.freebsd.org/D27393 for 4.1. I haven't had a chance to review it yet.
Comment 19 Kubilay Kocak freebsd_committer freebsd_triage 2021-07-11 02:18:01 UTC
^Triage: 4.3 is now GA, update summary accordingly
Comment 20 Bryan Drewery freebsd_committer freebsd_triage 2021-07-12 17:56:04 UTC
See https://reviews.freebsd.org/D27393#701068
I am actively working on getting this to work.
Comment 21 Bryan Drewery freebsd_committer freebsd_triage 2021-07-12 19:42:17 UTC
I committed 3.7.12 today for now.
Comment 22 Bryan Drewery freebsd_committer freebsd_triage 2022-04-25 17:45:36 UTC
Anyone is welcome to commit devel/ccache4 and explore bootstrapping it for WITH_CCACHE. Just leave devel/ccache* otherwise on 3 so that WITH_CCACHE works. 4 can't work with this feature due to its dependency on cmake.
Comment 23 Oleg Sidorkin 2022-05-21 11:07:14 UTC
Created attachment 234077 [details]
add ccache 4.6.1 as devel/ccache4

(In reply to Bryan Drewery from comment #22)

Here's the patch for ccache 4.6.1 I'm currently using.
It contains extra upstream patch that fixes crash during textproc/texlive-base building.

I think separate port is better until it gets supported in portmaster and poudriere. Poudriere produces tons of warnings about circular dependencies but works for everything but ccache itself and its dependencies.
Comment 24 Oleg Sidorkin 2023-03-13 14:28:38 UTC
Created attachment 240819 [details]
Patch to add ccache 4.8 as devel/ccache4 (via git format-patch)

(In reply to Oleg Sidorkin from comment #23)

4.8 has been just released with several freebsd-related fixes.
Now inodes cache works properly with freebsd.

Could it be commited?
Comment 25 Kurt Jaeger freebsd_committer freebsd_triage 2023-03-13 18:18:18 UTC
(In reply to Oleg Sidorkin from comment #24)
You added the use of devel/${CCACHE_DEFAULT}, where is CCACHE_DEFAULT set ?

Shouldn't it be set somewhere ?
Comment 26 Oleg Sidorkin 2023-03-13 20:19:02 UTC
Created attachment 240831 [details]
Patch to add ccache 4.8 as devel/ccache4 (via git format-patch)

(In reply to Kurt Jaeger from comment #25)

Thanks for looking at this.

Sorry, didn't squash all relevant commits into the patch.
Here is the complete one: CCACHE_DEFAULT added, CONFLICTS strings of ccache* ports patched.

I've tested it on clean ports copy to check that DEFAULT_VERSIONS is working.
Comment 27 Kurt Jaeger freebsd_committer freebsd_triage 2023-03-13 20:47:16 UTC
(In reply to Oleg Sidorkin from comment #26)
Would you mind if I just added ccache4 and use the other patch to the Mk/ files only after some settling time ?
Comment 28 Oleg Sidorkin 2023-03-13 20:55:21 UTC
(In reply to Kurt Jaeger from comment #27)
Yes, I'm completely OK with it. Thanks
Comment 29 commit-hook freebsd_committer freebsd_triage 2023-03-13 21:08:09 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=61e5c612e7f14178fec95fd56dcbf2b6b9fce5d4

commit 61e5c612e7f14178fec95fd56dcbf2b6b9fce5d4
Author:     Oleg Sidorkin <osidorkin@gmail.com>
AuthorDate: 2023-03-13 21:04:41 +0000
Commit:     Kurt Jaeger <pi@FreeBSD.org>
CommitDate: 2023-03-13 21:04:41 +0000

    devel/ccache4: new port

    ccache is a compiler cache.  It acts as a caching pre-processor to C/C++
    compilers, using the -E compiler switch and a hash to detect when a
    compilation can be satisfied from cache.  This often results in a 5 to 10
    times speedup in common compilations.

    PR:             234971
    Approved by:    bdrewery
    Author:    Oleg Sidorkin <osidorkin@gmail.com>

 devel/Makefile                                     |   1 +
 devel/ccache/Makefile                              |   2 +-
 devel/ccache4/Makefile (new)                       | 101 +++++++++++++++++++++
 devel/ccache4/distinfo (new)                       |   3 +
 .../ccache4/files/ccache-update-links.sh.in (new)  |  72 +++++++++++++++
 devel/ccache4/files/ccache_clean.in (new +x)       |  71 +++++++++++++++
 devel/ccache4/files/pkg-message.in (new)           |  10 ++
 devel/ccache4/files/world-ccache.in (new)          |   9 ++
 devel/ccache4/pkg-descr (new)                      |   4 +
 devel/ccache4/pkg-plist (new)                      |   9 ++
 10 files changed, 281 insertions(+), 1 deletion(-)
Comment 30 Oleg Sidorkin 2023-09-16 13:16:44 UTC
Created attachment 244932 [details]
Patch to Mk to make ccache version configurable (via git am). Allows to select ccache4 as a compiler cache

Updated uncommited Mk part (couldn't create a separate ports framework ticket). 
Some people did find it useful (see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252088#c20)

Also obsolete old patches.
Comment 31 kunda 2024-02-04 12:09:54 UTC
Note: v4.9 released
https://github.com/ccache/ccache/releases/tag/v4.9