# making port provide another package



## crypt47 (Jun 13, 2020)

Dear All,

Due to the new Xorg doesn't work with an old nvidia driver (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244421) I'm making a stab for my notebook. I'm going to freeze the Xorg package as my own port in port tree. The problem is other packages depend on main xorg-server and I need specifically declare my (say, xorg-server-cryptsbuild) provides xorg-server instead. I'm not often making FreeBSD's ports. Do we have some directive like PROVIDES= for Makefile?


----------



## shkhln (Jun 13, 2020)

crypt47 said:


> Do we have some directive like PROVEDE= for Makefile?



We don't.


----------



## crypt47 (Jun 13, 2020)

shkhln said:


> We don't.


well, maybe some hack then?


----------



## PMc (Jun 14, 2020)

The ports do require their dependencies in their Makefiles with DEPENDS= variables. They look like this
`LIB_DEPENDS+=   libicudata.so:devel/icu`
Here you have the specific pathname into the portstree included, so there is no practical way to map this to something else..

Or otherwise, with the more frequent dependencies, there is a USES variable with symbolic names. These symbolic names are resolved by the scripts in Mk, and then the specific pathmane is somewhere in there.
Now *IF* your xorg-server is mapped to a USES symbol, and *IF* this is consistently used by your ports, then one might hack the stuff in Mk. and change the path there.

But that is really high-level Makefile coding there, and I do NOT say You should do that...


----------



## crypt47 (Jun 14, 2020)

Wow! You are really knowledgeable about Mk stuff! Taking what you said into account I've just made a simple update to change package name and version in pkg database. System now thinks the package is installed. It will work for a while.


----------

