<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.finkproject.org/index.php?action=history&amp;feed=atom&amp;title=Fink%3APackaging%3Apkg-config</id>
	<title>Fink:Packaging:pkg-config - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.finkproject.org/index.php?action=history&amp;feed=atom&amp;title=Fink%3APackaging%3Apkg-config"/>
	<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;action=history"/>
	<updated>2026-04-30T01:40:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;diff=202&amp;oldid=prev</id>
		<title>Dmacks: old old</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;diff=202&amp;oldid=prev"/>
		<updated>2017-03-26T21:18:29Z</updated>

		<summary type="html">&lt;p&gt;old old&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:18, 26 March 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Suggested Best-Practices==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Suggested Best-Practices==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''THIS SECTION IS OBSOLETE (or at least on hold). pkg-config has been beyond 0.20 for years and no currently supported tree has ever had a version older than that, so we do not need to set runtime dependencies to ensure what doesn't seem possible to be likely to be un-met anyway.'''&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Our best solution for the present is to have any library (or other) package that has a .pc with specific version requirements for pkg-config to declare a versioned &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; on the &quot;pkgconfig&quot; package, and packages with .pc files that can be used with any pkg-config version to have no dependency on pkgconfig.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Our best solution for the present is to have any library (or other) package that has a .pc with specific version requirements for pkg-config to declare a versioned &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; on the &quot;pkgconfig&quot; package, and packages with .pc files that can be used with any pkg-config version to have no dependency on pkgconfig.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dmacks</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;diff=201&amp;oldid=prev</id>
		<title>Dmacks: /* About pkg-config and .pc files */ alt</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;diff=201&amp;oldid=prev"/>
		<updated>2017-03-26T21:16:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;About pkg-config and .pc files: &lt;/span&gt; alt&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:16, 26 March 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A .pc file is pretty useless without a program to process it and pkg-config is the standard tool other packages use. Therefore it makes sense to have packages with .pc have some sort of dependency on pkgconfig. This situation is similar to -dev packages that need other -dev packages, but where BDO prohibits a Depends. Ideally, packages with .pc that have specific pkgconfig versioning requirements would declare an [[Fink:Major New Feature Plans:InheritedBuildDepends|InheritedBuildDepends]] on it, since pkgconfig is used at build-time. However, we don't have that field. Should pkgconfig itself become BDO when we implement IBD?&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A .pc file is pretty useless without a program to process it and pkg-config is the standard tool other packages use. Therefore it makes sense to have packages with .pc have some sort of dependency on pkgconfig. This situation is similar to -dev packages that need other -dev packages, but where BDO prohibits a Depends. Ideally, packages with .pc that have specific pkgconfig versioning requirements would declare an [[Fink:Major New Feature Plans:InheritedBuildDepends|InheritedBuildDepends]] on it, since pkgconfig is used at build-time. However, we don't have that field. Should pkgconfig itself become BDO when we implement IBD?&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Alternative implementations ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;pykg-config&amp;lt;/code&amp;gt; is a pure-python implementation of pkg-config. Its upstream development seems to have stopped, so it might not have all the latest features of pkgconfig itself. However, &amp;lt;code&amp;gt;pkgconfig&amp;lt;/code&amp;gt; has build-time and runtime dependencies on glib2. Two main reasons one might want pkyg-config is to avoid the glib2 dependency tree and to avoid circular dependencies within the glib2 dependency tree itself.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Suggested Best-Practices==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Suggested Best-Practices==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dmacks</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;diff=65&amp;oldid=prev</id>
		<title>Dmacks: Reverted edit of RjoJ0v, changed back to last version by Nieder</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:pkg-config&amp;diff=65&amp;oldid=prev"/>
		<updated>2007-06-11T09:10:38Z</updated>

		<summary type="html">&lt;p&gt;Reverted edit of RjoJ0v, changed back to last version by Nieder&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
This page explains our current best-guess about how to do dependencies on the pkgconfig package.&lt;br /&gt;
&lt;br /&gt;
==About pkg-config and .pc files==&lt;br /&gt;
&amp;lt;code&amp;gt;%p/bin/pkg-config&amp;lt;/code&amp;gt; is a tool that packages use to determine flags for compiling against other—usually library—packages. The headers component packages of library packages supply a .pc data file that pkg-config reads.&lt;br /&gt;
&lt;br /&gt;
Some .pc files contain syntaxes that are only compatible with certain newer versions of pkg-config and either cause &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt; errors or silently pass incorrect flags when used with older versions. Therefore we need a way to make sure that the proper version of the pkgconfig package is used. These requirements can change version-to-version in the library package and have nothing to do with the packages that use pkg-config. it's not reasonable to keep altering the &amp;lt;code&amp;gt;BuildDepends:pkgconfig&amp;lt;/code&amp;gt; versioning in every package that uses the library.&lt;br /&gt;
&lt;br /&gt;
However, there may be other programs that can read .pc files and that may supply an alternate (and compatible) &amp;lt;code&amp;gt;pkg-config&amp;lt;/code&amp;gt; program. Therefore we don't want to over-do dependencies on pkgconfig, since that will lead to a mess if any of those other programs get packaged for fink. They would presumably &amp;lt;code&amp;gt;Conflicts/Replaces:pkconfig&amp;lt;/code&amp;gt;, so any &amp;lt;code&amp;gt;Depends:pkgconfig&amp;lt;/code&amp;gt; will block a smooth upgrade.&lt;br /&gt;
&lt;br /&gt;
A .pc file is pretty useless without a program to process it and pkg-config is the standard tool other packages use. Therefore it makes sense to have packages with .pc have some sort of dependency on pkgconfig. This situation is similar to -dev packages that need other -dev packages, but where BDO prohibits a Depends. Ideally, packages with .pc that have specific pkgconfig versioning requirements would declare an [[Fink:Major New Feature Plans:InheritedBuildDepends|InheritedBuildDepends]] on it, since pkgconfig is used at build-time. However, we don't have that field. Should pkgconfig itself become BDO when we implement IBD?&lt;br /&gt;
&lt;br /&gt;
==Suggested Best-Practices==&lt;br /&gt;
Our best solution for the present is to have any library (or other) package that has a .pc with specific version requirements for pkg-config to declare a versioned &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; on the &amp;quot;pkgconfig&amp;quot; package, and packages with .pc files that can be used with any pkg-config version to have no dependency on pkgconfig.&lt;br /&gt;
&lt;br /&gt;
*.pc file in %p/share/pkgconfig instead of %p/lib/pkgconfig&lt;br /&gt;
:The share/ location was added to the default search path starting in fink's packaging of pkgconfig-0.20. Older versions of the package only looked in the lib/ location. A package that installs a .pc file in the share/ location should declare a &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; to require a pkgconfig version that looks there.&lt;br /&gt;
*&amp;lt;code&amp;gt;*.private&amp;lt;/code&amp;gt; field in .pc file&lt;br /&gt;
:The &amp;lt;code&amp;gt;*.private&amp;lt;/code&amp;gt; fields were implemented starting in pkgconfig-0.20. Older versions of the pkg-config program silently ignore these fields could therefore supply a deficient set of flags. A package containing a .pc file that has any &amp;lt;code&amp;gt;.private&amp;lt;/code&amp;gt; fields needs to declare a &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; to mandate a pkgconfig version that supports them.&lt;br /&gt;
&lt;br /&gt;
{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Packaging:pkg-config]]&lt;br /&gt;
[[Category: Fink Packaging|pkg-config]]&lt;/div&gt;</summary>
		<author><name>Dmacks</name></author>
	</entry>
</feed>