Portage Mac OS
- The Free OpenSource Software Mac User Group (aka FreeSMUG) has bundled up portable versions of several popular open source Mac apps that you can run from your iPod or other portable device.
- Why don't you create Portable Apps for Mac OS X? Mac is getting popular and popular (and I love Mac too!!!!:D) Top. February 10, 2007 - 10:21am #2. Last seen: 6 years 6 months ago. Joined: 2006-09-25 15:15. Firefox and Thunderbird but they are outdated. 'What about Love?'
- OSNews learned that the Gentoo project is porting their software distribution system, Portage, to Mac OS X. This makes Gentoo the third project developing such a system for the Unix-based OSX, after Fink and Darwin Ports. The Gentoo project also plans to create a GUI.
- TWAIN SANE Interface for MacOS X. This is a TWAIN datasource for MacOS X that aquires images using the SANE backend libraries. The SANE backend libraries provide access to a large range of scanners connected through SCSI or USB.
Apple eAWT and eIO APIs for Java on Mac OS X. Added to portage. A free open-source voxel game engine with easy modding and game creatio.
Portage package for Sublime Text.
Installs
- Total172
- Win59
- Mac28
- Linux85
May 2 | May 1 | Apr 30 | Apr 29 | Apr 28 | Apr 27 | Apr 26 | Apr 25 | Apr 24 | Apr 23 | Apr 22 | Apr 21 | Apr 20 | Apr 19 | Apr 18 | Apr 17 | Apr 16 | Apr 15 | Apr 14 | Apr 13 | Apr 12 | Apr 11 | Apr 10 | Apr 9 | Apr 8 | Apr 7 | Apr 6 | Apr 5 | Apr 4 | Apr 3 | Apr 2 | Apr 1 | Mar 31 | Mar 30 | Mar 29 | Mar 28 | Mar 27 | Mar 26 | Mar 25 | Mar 24 | Mar 23 | Mar 22 | Mar 21 | Mar 20 | Mar 19 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Readme
- Source
- raw.githubusercontent.com
Sublime Portage is a Sublime Text package to support thePortage package manager.
Installation
Installation through Package Control
- Make sure you installed Package Control.
- Choose Install Package from the Command Palette (
Ctrl+Shift+P
on Windows& Linux,⇧⌘P
on Mac OS X). - Select Portage and press
Enter
.
Additionally, with auto_upgrade enabled, PackageControl will keep all installed packages up-to-date.
Manual installation
- Download any
.tmTheme
file from this repository. - Choose Browse Packages from the Command Palette (
Ctrl+Shift+P
on Windows& Linux,⇧⌘P
on Mac OS X). - Copy the
.tmTheme
file(s) to thePackages
directory.
Building
To build the package by yourself, you need:- Python 3.4 or newer- Invoke
First, install the required dependencies.
Installing the dependencies globally
This requires super user prileges (using sudo in this example):
Installing the dependencies locally
This does not require super user prileges. On most systems, local dependenciesare installed in ~/.local
.
You may now build the package.
If the default Python binary is 3.4 or newer, and you installed the dependenciesglobally:
If the default Python binary is not 3.4 or newer, or you installed thedependencies locally.
In this example, we assume that python3.4
is the name of the Python 3.4binary, and we assume that local dependencies are installed in ~/.local
:
Support
Here is the current support status from the list of files supported by Portage.
/etc/portage/make.profile/ or /etc/make.profile/
- [ ] site-specific overrides go in /etc/portage/profile/
- [ ] deprecated
- [ ] eapi
- [ ] make.defaults
- [x] packages
- [ ] packages.build
- [x] package.accept_keywords
- [x] package.bashrc
- [x] package.keywords
- [x] package.mask
- [x] package.provided
- [x] package.unmask
- [x] package.use
- [x] package.use.force
- [x] package.use.mask
- [x] package.use.stable.force
- [x] package.use.stable.mask
- [ ] parent
- [x] profile.bashrc
- [ ] soname.provided
- [X] use.force
- [X] use.mask
- [X] use.stable.mask
- [X] use.stable.force
- [ ] virtuals
/etc/portage/
- [ ] bashrc
- [ ] categories
- [ ] color.map
- [ ] license_groups
- [ ] make.conf(5)
- [ ] mirrors
- [ ] modules
- [x] package.accept_keywords
- [x] package.accept_restrict
- [x] package.env
- [x] package.keywords
- [x] package.license
- [x] package.mask
- [x] package.properties
- [x] package.unmask
- [x] package.use
- [ ] postsync.d
- [ ] repo.postsync.d
- [ ] repos.conf
- [ ] sets.conf
/etc/portage/env/
- [ ] package-specific bashrc files
/etc/portage/profile/
- [ ] site-specific overrides of /etc/portage/make.profile/
/etc/portage/sets/
- [ ] user-defined package sets
/usr/portage/
Portage Masonic Lodge
- [ ] sets.conf
/usr/portage/metadata/
- [ ] layout.conf
- [ ] pkg_desc_index
/usr/portage/profiles/
- [ ] arch.list
- [ ] categories
- [ ] info_pkgs
- [ ] info_vars
- [ ] license_groups
- [ ] make.defaults
- [x] package.mask
- [x] package.unmask
- [x] package.use
- [x] package.use.force
- [x] package.use.mask
- [x] package.use.stable.force
- [x] package.use.stable.mask
- [ ] profiles.desc
- [ ] repo_name
- [ ] thirdpartymirrors
- [ ] use.desc
- [X] use.force
- [ ] use.local.desc
- [X] use.mask
- [X] use.stable.mask
- [X] use.stable.force
/usr/share/portage/config/
- [ ] make.globals
- [ ] repos.conf
- [ ] sets
/var/cache/edb/
- [ ] misc internal cache files
/var/db/pkg/
- [ ] database to track installed packages
/var/lib/portage/
- [ ] config
- [ ] world
- [ ] world_sets
Credits
The Sublime Portage package is developed and maintained by Christophe Vidal.
Stable release | 2.2.20 / 18 May 2015; 5 years ago[1] |
---|---|
Written in | Python |
Operating system | Gentoo Linux and Gentoo/FreeBSD, Chromium OS, Sabayon, Funtoo Linux |
Platform | POSIX-compatible/Python-capable |
Type | Package management system |
License | |
Website | wiki.gentoo.org/wiki/Project:Portage |
Portage is a package management system originally created for and used by Gentoo Linux and also by Chrome OS, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent.[2][3][4][5] The Gentoo/Alt project is concerned with using Portage to manage other operating systems, such as BSDs, Mac OS X and Solaris. The most notable of these implementations is the Gentoo/FreeBSD project.
There is an ongoing effort called the Package Manager Specification project (PMS)[6] to standardise and document the behaviour of Portage, allowing the ebuild tree and Gentoo system packages to be used with alternate package managers such as Paludis and pkgcore. Its goal is to specify the exact set of features and behaviour of package managers and ebuilds, serving as an authoritative reference for Portage.
- 1Overview
- 2Features
Overview
Accessing Portage
Portage is similar to the BSD-style package management known as ports, and was originally designed with FreeBSD's ports in mind.[7] Portage is written in the Python programming language, and is the main utility that defines Gentoo. Although the system itself is known as Portage, it consists of two main parts, the ebuild system and emerge. The ebuild system takes care of the actual work of building and installing packages, while emerge provides an interface to ebuild: managing an ebuild repository, resolving dependencies and similar issues. (These two therefore have roughly the same relation as rpm has with yum, or dpkg has with APT.)
A GTK+-based GUI, Porthole, is available for working with Portage. There is also the Himerge GUI, which stands for 'Haskell Interface for eMerge'.
Functions provided
Portage is characterized by its main function: compiling from source code the packages the user wishes to install. In doing so it allows customization of compiler and target-application options to fit the system's specifications and the user's own wishes. Functionalities related to system management include: allowing parallel package-version installation, tracking cross-package dependencies, managing a database of installed packages, providing a local ebuild repository, and synchronizing of the local Portage tree with remote repositories. Functionalities related to individual package installation include: specifying compilation settings for the target machine and choosing package components.
Portage distinguishes between three levels of stability in ebuilds: stable (e.g., the software works as intended with no known security issues at time of release), keyword masked (mainly for packages that have not been sufficiently tested on the target system architecture to be considered stable) and hard masked (broken or very insecure) packages.
Features
Emerge
The emerge command-line tool is the heart of Portage. The command is customizable with many options and modifiers. The emerge tool is the most important utility for accessing the features of Portage from the command line.
The program calculates and manages dependencies, executes ebuilds and maintains the local Portage tree and database of installed packages. The compilation settings used by ebuilds can be changed through the CFLAGSenvironment variable, based on the specifications of the individual computer and on the user's desire for optimization. The emerge utility executes ebuilds in a sandbox environment. This way the system is protected from software executed by the ebuild and resulting binaries are only merged after a successful build and sandboxed install.
What emerge installs as dependencies is affected by the USE flag-settings. They decide which optional features will be included when installing or upgrading an application. The emerge command can also be used to download and install precompiled binary files.
USE flags
The Portage system offers the use of 'USE flags', which allows users to indicate which software features they would like to include (and exclude) while building packages. For example, there is a USE flag to include DVD support, where available, in packages compiled with the flag enabled. The USE flags affect which dependencies are required, generally affecting which optional features will be built into a given program when it is compiled. For example, in packages which use a configure script, the USE flag feature
would translate to ./configure --with-feature
.
The specification of USE flags is the usual way to configure programs on Gentoo. USE flags may be set manually, or via user-friendly tools such as 'ufed' (USE flag editor), which lists flags along with their description. A list of available USE flags is available at the Gentoo website's USE Flag Index.
ebuild
Gentoo does not, by default, use binary packages as other package management systems do (like RPM), employing instead a format known as the ebuild. Whereas RPMs are precompiled binaries, ebuilds are shell scripts with variables and functions which contain a description of the software, and instructions on how to obtain, configure, compile, and install it, more closely akin to (but more powerful than) the .spec files distributed in SRPMs. There are over 27,000 ebuilds available, the majority of which are distributed by the Gentoo mirrors. New and updated ebuilds can be obtained by synchronizing the local ebuild repository with the mirrors. This is done by executing the command emerge --sync. Historically, Gentoo has provided pre-compiled binary packages for many common programs, especially those which are lengthy to compile, such as Mozilla Firefox and OpenOffice.org. These are still installed with emerge, just by appending a '-bin' to the package name to instead install the binary version.
Binary packages
Gentoo does have a binary packaging format, which is a .tbz2 file (tar with bzip2 compression) with additional metadata. This feature enables the building of binary packages on one system (using Portage's buildpkg or quickpkg) followed by quick installation on other, identical systems (with Portage's getbinpkg or emerge -K). See Portage Features in the Gentoo Linux Handbook for more information.
Masking
Masking is how Gentoo determines which packages are suitable for a system. Ebuilds designed for different architectures or experimental software are usually masked in a manner which prevents a stable system from installing them without user intervention.
Packages that generally just require some testing but will often work fine are said to be keyword masked (i.e. they are available for systems with an ACCEPT_KEYWORDS make.conf entry starting with the character ~, such as ~x86, ~amd64, ~ppc). The standard way to unmask an individual keyword masked package is by adding a file with the full package name and keyword to /etc/portage/package.keywords/. Users can make subdirectories here as well, allowing for custom organization. For example, if a masked package had multiple masked dependencies, the user could make a directory with the name of the original masked package, and put all the mask files for the package and its dependencies in that directory. This scheme replaces the older scheme of having /etc/portage/package.keywords as a text file list.
Packages with known problems or not considered mature enough to be candidates for stable are hard masked by one of the various package.mask files in /usr/portage/profiles, and such entries are generally accompanied by a comment from developers explaining the reason for the mask.
See also
Portage Mac Os X
References
- ↑'ChangeLog for sys-apps/portage'. Retrieved September 15, 2015.<templatestyles src='Module:Citation/CS1/styles.css'></templatestyles>
- ↑'About Gentoo'. Retrieved 27 May 2015.<templatestyles src='Module:Citation/CS1/styles.css'></templatestyles>
- ↑My Workstation OS: Gentoo Tom Chance's website
- ↑Daniel Robbins (10 October 2002). 'Gentoo Linux Reloaded - O'Reilly Media'. Retrieved 27 May 2015.<templatestyles src='Module:Citation/CS1/styles.css'></templatestyles>
- ↑'OSNews.com'. Retrieved 27 May 2015.<templatestyles src='Module:Citation/CS1/styles.css'></templatestyles>
- ↑Gentoo's official Package Manager Specification (PMS) project
- ↑Gentoo Linux Documentation - Making the distribution, Part 3
External links
- Official documentation
- Funtoo Portage Documentation[relevant?]
- Gentoo Portage Features[dead link]
- Gentoo Portage Introduction[dead link]
- Gentoo Packages, information about currently available ebuilds
- Unofficial documentation
- Gentoo-Portage, alternate presentation of current ebuild information
- Similar software
- Pkgcore, bsd re-implementation of portage
- Paludis, a package mangler which can be used with ebuilds and other formats
- Arch Build System a ports-like system for Arch Linux