Opened 13 months ago

Closed 13 months ago

Last modified 13 months ago

#68503 closed defect (fixed)

libutf8proc @2.8.0: Some files installed into /usr/local

Reported by: nskillen (Nathan Skillen) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: judaew (Vadym-Valdis Yudaiev), herbygillot (Herby Gillot), TheRealKeto (Keto)
Port: libutf8proc

Description

The install of libutf8proc on MacOS Sonoma drops some of the files in the wrong place, /usr/local instead of /opt/local:

/opt/local/include > port contents libutf8proc
Port libutf8proc contains:
  /opt/local/share/doc/libutf8proc/LICENSE.md
  /opt/local/share/doc/libutf8proc/NEWS.md
  /opt/local/share/doc/libutf8proc/README.md
  /usr/local/include/utf8proc.h
  /usr/local/lib/libutf8proc.2.dylib
  /usr/local/lib/libutf8proc.a
  /usr/local/lib/libutf8proc.dylib
  /usr/local/lib/pkgconfig/libutf8proc.pc

When I look at the files lists for the package on https://ports.macports.org/port/libutf8proc/details/ for all MacOS versions up to and including Ventura, they all put all files in /opt/local

No errors are reported during the build, but it's affecting at least one dependent port, tmux, relevant lines from config.log:

| #include <utf8proc.h>
configure:6451: result: no
configure:6451: checking for utf8proc.h
configure:6451: result: no
configure:6524: error: "utf8proc not found"

Change History (4)

comment:1 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to judaew
Status: newassigned
Summary: Some files installed into wrong folderlibutf8proc @2.8.0: Some files installed into /usr/local

comment:2 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: judaew herbygillot therealketo@… added
Keywords: sonoma x86_64 removed
Owner: changed from judaew to ryandesign
Status: assignedaccepted

It also happens for me if I build from source right now on Monterey, so it's not OS-specific.

The problem was caused 16 hours ago when the port was switched to use the makefile portgroup.

The libutf8proc Makefile sets:

prefix=/usr/local

The Portfile sets:

makefile.prefix_name \
                    prefix

which causes the makefile portgroup to set prefix=/usr/local as an environment variable (instead of PREFIX=/usr/local as it would otherwise do) but any variable set by a Makefile overrides anything set as an environment variable. The solution is to tell the makefile portgroup to append this as an argument, rather than set it as an environment variable, so that it overrides what was set in the Makefile:

makefile.override-append \
                    PREFIX

comment:3 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In 0f004aed4d89cf1d8dabe67df101d972e0b96f94/macports-ports (master):

libutf8proc: Install into ${prefix} again

Closes: #68503

comment:4 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Has duplicate #68510.

Note: See TracTickets for help on using tickets.