Convert Figma logo to code with AI

freebsd logofreebsd-ports

FreeBSD ports tree (read-only mirror)

1,003
761
1,003
35

Top Related Projects

The Void source packages collection

2,104

[MIRROR] Official Gentoo ebuild repository

17,805

Nix Packages collection & NixOS

The MacPorts ports tree

Quick Overview

The freebsd/freebsd-ports repository is the official collection of ports (third-party software packages) for the FreeBSD operating system. It contains metadata and patches necessary to build and install a wide range of software on FreeBSD systems, managed by the FreeBSD Ports team and community contributors.

Pros

  • Extensive collection of over 30,000 software packages
  • Regularly updated and maintained by a dedicated community
  • Provides a standardized way to install and manage software on FreeBSD
  • Includes patches and modifications to ensure compatibility with FreeBSD

Cons

  • Can be complex for newcomers to understand and navigate
  • Building ports from source can be time-consuming compared to binary package installation
  • Occasional conflicts between ports or with system libraries
  • Requires regular updates to keep the ports tree current

Getting Started

To use the FreeBSD Ports Collection:

  1. Install FreeBSD on your system.
  2. Update the ports tree:
    sudo portsnap fetch update
    
  3. Navigate to a port directory:
    cd /usr/ports/category/portname
    
  4. Install the port:
    sudo make install clean
    

For more detailed information, consult the FreeBSD Handbook's Ports Collection chapter.

Competitor Comparisons

The Void source packages collection

Pros of void-packages

  • Simpler build system using xbps-src, making it easier for users to create and maintain packages
  • More frequent updates due to rolling release nature of Void Linux
  • Supports both x86 and ARM architectures, offering broader hardware compatibility

Cons of void-packages

  • Smaller package repository compared to freebsd-ports
  • Less extensive documentation and community support
  • Potentially less stable due to rolling release model

Code Comparison

void-packages:

./xbps-src pkg <package_name>
./xbps-src install <package_name>

freebsd-ports:

cd /usr/ports/<category>/<package_name>
make install clean

The void-packages repository uses a simpler command structure for building and installing packages, while freebsd-ports relies on the traditional BSD ports system with Makefiles.

Both repositories use template files to define package metadata and build instructions. void-packages uses a more streamlined approach with a single template file, while freebsd-ports typically has multiple files (Makefile, pkg-descr, etc.) for each port.

Overall, void-packages offers a more modern and user-friendly approach to package management, while freebsd-ports provides a larger selection of packages and a more established ecosystem.

2,104

[MIRROR] Official Gentoo ebuild repository

Pros of gentoo

  • More flexible and customizable package management system
  • Larger repository with a wider variety of packages
  • Better support for system-wide use flags and package-specific optimizations

Cons of gentoo

  • Longer compilation times for packages, especially on less powerful hardware
  • Steeper learning curve for new users due to its complexity
  • Higher maintenance overhead for keeping the system up-to-date

Code comparison

freebsd-ports:

make install clean
portmaster -a
portsnap fetch update

gentoo:

emerge --sync
emerge -uDN @world
eselect profile list

Summary

Both freebsd-ports and gentoo are package management systems, but they differ in their approach and target operating systems. freebsd-ports is designed for FreeBSD, while gentoo is for the Gentoo Linux distribution. gentoo offers more flexibility and customization options, but at the cost of increased complexity and longer compilation times. freebsd-ports provides a simpler, binary-based approach that's faster to install but less customizable. The choice between the two depends on the user's needs, expertise, and preferred operating system.

17,805

Nix Packages collection & NixOS

Pros of nixpkgs

  • Declarative and reproducible package management
  • Supports multiple versions of packages coexisting
  • Allows for easy system-wide rollbacks

Cons of nixpkgs

  • Steeper learning curve due to unique package management approach
  • Smaller community and ecosystem compared to FreeBSD ports
  • Can be more resource-intensive for system updates

Code comparison

nixpkgs:

{ stdenv, fetchFromGitHub }:

stdenv.mkDerivation rec {
  pname = "example";
  version = "1.0.0";
  src = fetchFromGitHub { ... };
}

freebsd-ports:

PORTNAME=	example
DISTVERSION=	1.0.0
CATEGORIES=	devel

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Example port

GNU_CONFIGURE=	yes

Summary

nixpkgs offers a more flexible and reproducible package management system, but with a steeper learning curve. freebsd-ports provides a more traditional and established approach to package management within the FreeBSD ecosystem. The choice between the two depends on specific needs, familiarity with the respective systems, and desired level of customization and reproducibility.

The MacPorts ports tree

Pros of macports-ports

  • Designed specifically for macOS, ensuring better compatibility with Apple's ecosystem
  • Larger collection of ports, offering more software options for macOS users
  • More frequent updates due to active community and focus on macOS

Cons of macports-ports

  • Limited to macOS, lacking cross-platform support
  • May require more system resources due to its approach of building packages from source

Code Comparison

macports-ports:

PortSystem          1.0
PortGroup           python 1.0

name                py-numpy
version             1.21.2
revision            0
categories-append   science
license             BSD

freebsd-ports:

PORTNAME=	numpy
PORTVERSION=	1.21.2
PORTREVISION=	1
CATEGORIES=	math python
MASTER_SITES=	PYPI
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}

Both repositories use different file formats and structures for defining ports. MacPorts uses TCL-based Portfiles, while FreeBSD Ports uses Makefiles. The basic information (name, version, categories) is similar, but the syntax and organization differ. MacPorts' approach may be more intuitive for some users, while FreeBSD's Makefile system is more familiar to Unix/Linux administrators.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

This is the FreeBSD Ports Collection. For an easy to use WEB-based interface to it, please see:

https://ports.FreeBSD.org

For general information on the Ports Collection, please see the FreeBSD Handbook ports section which is available from:

https://docs.freebsd.org/en/books/handbook/ports/
	for the latest official version
or:
The ports(7) manual page (man ports).

These will explain how to use ports and packages.

If you would like to search for a port, you can do so easily by saying (in /usr/ports):

make search name="<name>"
or:
make search key="<keyword>"

which will generate a list of all ports matching or . make search also supports wildcards, such as:

make search name="gtk*"

For information about contributing to FreeBSD ports, please see the Porter's Handbook, available at:

https://docs.freebsd.org/en/books/porters-handbook/

NOTE: This tree will GROW significantly in size during normal usage! The distribution tar files can and do accumulate in /usr/ports/distfiles, and the individual ports will also use up lots of space in their work subdirectories unless you remember to "make clean" after you're done building a given port. /usr/ports/distfiles can also be periodically cleaned without ill-effect.