Skip to content
This repository has been archived by the owner on Nov 28, 2024. It is now read-only.
/ AthOS Public archive

A different, simple way to build packages for Slackware using .ini files instead of SlackBuilds

License

Notifications You must be signed in to change notification settings

rizitis/AthOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATHOS

We're living the future so the present is our past.

What is AthOS

AthOS is not:

  • a package manager
  • a package manager
  • a package manager

AthOS is:

  1. A different way to build packages for Slackware
  2. A more simple way to maintain a local repo of your build scripts

HELP FILES

More informations you can find in HOWTO.md, INSTALL.md, required.md, special-cases.md and athos-commands.md

TEMPLATE

Example: 1

Packager="YOUR NAME [email protected]"

Homepage="http://example.org"
        #|--------------------------------------|#
SortDesc="Write few words but respect handy-rule^"
LongDesc="Here is the log slack-desc description. You can write here all informations needed as log as you have slackdesk app installed. Do not write project url it will automatic added in last line of slack-desc."
VERSION=0.1.2
PRGNAM=foo
SRCNAM=foo
# Source download link
SRCURL=http://site.com/project/pup/release/foo-0.1.2.tar.xz
COMPRESS="tar.gz"
GITCHEK=
# Empty if not mdsum check needed.
MDSCHK=12345abcd54321opqrf
BIN_PKG=
# Add required and optional deps if needed in parenthesis. (foo foo1 foo2) else empty.
REQUIRED=(foo foo1 foo2)
OPTDEPS=

BUILD=${BUILD:-1}
TAG=${TAG:-_rtz}


# This must be always here even if not patches needed.
patch_build() {
if [ -e $CWD/patches/ ]; then
  for PATCH in $CWD/patches/*.patch; do
    patch -p1 -i $PATCH
  done
fi
}



slackbuild() {
# Fix error with gcc5
sed 's/^inline int/extern inline int/' -i database.*

autoreconf -i
LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --infodir=/usr/info \
  --host=$ARCH-slackware-linux \
  --build=$ARCH-slackware-linux

make
make DESTDIR=$PKG install
}


Example: 2

Packager="YOUR NAME [email protected]"

Homepage="http://github.com/dev/project"
        #|--------------------------------------|#
SortDesc="Write few words but respect handy-rule^"
LongDesc="Here is the log slack-desc description. You can write here all informations needed as log as you have slackdesk app installed. Do not write project url it will automatic added in last line of slack-desc."
VERSION=0.1.2
PRGNAM=foo
SRCNAM=foo
# Source download link
SRCURL=https://github.com/name/project-name
COMPRESS="git"
GITCHEK=47a983e21ab67a867c617b7064bc0778f7c30b7a
# Empty if not mdsum check needed.
MDSCHK=
BIN_PKG=
# Add required and optional deps if needed in parenthesis. (foo foo1 foo2) else empty.
REQUIRED=
OPTDEPS=

BUILD=${BUILD:-1}
TAG=${TAG:-_rtz}


# This must be always here even if not patches needed.
patch_build() {
if [ -e $CWD/patches/ ]; then
  for PATCH in $CWD/patches/*.patch; do
    patch -p1 -i $PATCH
  done
fi
}



slackbuild() {
mkdir -p build
cd build
   CFLAGS="$SLKCFLAGS" \
   CXXFLAGS="$SLKCFLAGS" \
   meson .. \
     --buildtype=release \
     --infodir=/usr/info \
     --libdir=/usr/lib${LIBDIRSUFFIX} \
     --localstatedir=/var \
     --mandir=/usr/man \
     --prefix=/usr \
     --sysconfdir=/etc \
     -Dstrip=true

     "${NINJA:=ninja}" "$NUMJOBS"
   DESTDIR=$PKG $NINJA install
   cd ..
}


Commands
  1. athos package_name (will build the package if exist in your repo)
  2. athos package_name mkbuild (will create a package folder and in folder a template package.ini)

About

A different, simple way to build packages for Slackware using .ini files instead of SlackBuilds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages