libical - Open source implementation of iCalendar ChangeLog

HOWTO


# Libical
# =======
# Up to and including version 1.0, libical was hosted at sourceforge:
# http://freeassociation.sourceforge.net/
# https://sourceforge.net/projects/freeassociation/files/libical/

# If you are using Cyrus IMAP 2.5.x, you want libical 2.0.0
# If you are using Cyrus IMAP 3.2.x, you want libical 3.0.0
# Below 2.x is 3.x
# They are set up to not clobber each other, but there will always be a
# libical.so symlink pointing to the one most recently installed

# Slackware packages:
# 14.0:  libical 0.48
# 14.1:  libical 1.0
# 14.2:  libical 2.0.0
# 15.0:  libical 3.0.13

# libical GitHub Releases page
# libical GitHub Wiki
# libical GitHub Issues
# libical-devel mailing list archives
# libical-interest mailing list archives


# Libical 2.0.0
# ==============
# Version 2.0.0 of Libical is supported by Cyrus IMAP as of version 2.5.9

# Prerequisites:
# CMake >= 3.1.0
# Perl
# libicu (optional but recommended; Slackware has a 'icu4c' package)
# pkg-config
# Berkeley DB (optional)
# Glib >= 2.3.2 (optional; for libical-glib)
# libxml >= 2.7.3 (optional; for libical-glib)
# doxygen (optional; for API docs)

# If you have an older version installed under a different prefix,
# such as the default of /usr/local, and want to match the Slackware
# prefix of /usr, remove the old one before you proceed below.
# 'make uninstall' as root from the source directory should take
# care of that for you.

# Get it
cd
test -f installed/libical-2.0.0.tar.gz &&
mv -f installed/libical-2.0.0.tar.gz .
test ! -f libical-2.0.0.tar.gz &&
wget https://github.com/libical/libical/releases/download/v2.0.0/\
libical-2.0.0.tar.gz

# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -type d -maxdepth 1 -name "libical-2.*" -exec rm -r {} \;
tar xzvf ~/libical-2.0.0.tar.gz
cd libical-2.0.0
test $UID = 0 && chown -R root:root .

# Read these:
# ReadMe.txt
# ReleaseNotes.txt
# Install.txt

# If you want static libraries only pass -DSTATIC_ONLY=True to cmake
# If you want shared libraries only pass -DSHARED_ONLY=True to cmake
# (otherwise you get both)

# To enable Berkeley DB pass -DWITH_BDB=True to cmake

# Create a build directory for it
mkdir build
cd build

# Not necessary to specify lib64 vs lib, it will handle that

# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
cmake -DCMAKE_INSTALL_PREFIX=/usr ..

# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
cmake -DCMAKE_INSTALL_PREFIX=/usr ..

# Build it
make

# Test the build
make test

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg libical

# Install it
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become your non-root user again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/libical-2.*.tar.*
mv -f libical-2.0.0.tar.gz installed/


# Libical 3.0.16
# ==============
# Prerequisites:
# CMake >= 3.1.0
# Perl
# libicu (optional but recommended; Slackware has a 'icu4c' package)
# pkg-config
# Berkeley DB (optional)
# Glib >= 2.3.2 (optional; for libical-glib)
# libxml >= 2.7.3 (optional; for libical-glib)
# doxygen (optional; for API docs)

# If you have an older version installed under a different prefix,
# such as the default of /usr/local, and want to match the Slackware
# prefix of /usr, remove the old one before you proceed below.
# 'make uninstall' as root from the source directory should take
# care of that for you.

# Get it
cd
test -f installed/libical-3.0.16.tar.gz &&
mv -f installed/libical-3.0.16.tar.gz .
test ! -f libical-3.0.16.tar.gz &&
wget https://github.com/libical/libical/releases/download/v3.0.16/\
libical-3.0.16.tar.gz

# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -type d -maxdepth 1 -name "libical-3.*" -exec rm -r {} \;
tar xzvf ~/libical-3.0.16.tar.gz
cd libical-3.0.16
test $UID = 0 && chown -R root:root .

# Read these:
# README.md (pandoc can convert it if needed)
# ReleaseNotes.txt
# Install.txt

# If you want static libraries only pass -DSTATIC_ONLY=True to cmake
# If you want shared libraries only pass -DSHARED_ONLY=True to cmake
# (otherwise you get both)

# To enable Berkeley DB pass -DWITH_BDB=True to cmake

# Create a build directory for it
mkdir build
cd build

# Not necessary to specify lib64 vs lib, it will handle that

# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
cmake -DCMAKE_INSTALL_PREFIX=/usr ..

# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
cmake -DCMAKE_INSTALL_PREFIX=/usr ..

# Build it
make

# Test the build
make test

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg libical

# Install it
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become your non-root user again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/libical-3.tar.*
mv -f libical-3.0.16.tar.gz installed/


# If you ever want to uninstall libical, this should do it:
# (see install_manifest.txt in the source directory)
cd
su
test -d src/libical-* && ( cd src/libical-* ; make uninstall )
for pfx in /usr /usr/local; do
  test -d ${pfx}/include/libical && rm -r ${pfx}/include/libical
  test -d ${pfx}/include/libical-glib && rm -r ${pfx}/include/libical-glib
  test -d ${pfx}/lib/cmake/LibIcal && rm -r ${pfx}/lib/cmake/LibIcal
  test -d ${pfx}/lib64/cmake/LibIcal && rm -r ${pfx}/lib64/cmake/LibIcal
  ( cd ${pfx}/lib/pkgconfig
    rm -f libical.pc libical-glib.pc )
  ( cd ${pfx}/lib64/pkgconfig
    rm -f libical.pc libical-glib.pc )
  ( cd ${pfx}/lib
    rm -f libical.* libical-glib.* libical_cxx.* libicalss.* libicalvcal.* )
  ( cd ${pfx}/lib64
    rm -f libical.* libical-glib.* libical_cxx.* libicalss.* libicalvcal.* )
  test -d ${pfx}/share/gtk-doc/html/libical-glib &&
   rm -r ${pfx}/share/gtk-doc/html/libical-glib
done
exit
find ~/src -maxdepth 1 -type d -name "libical-*" -exec rm -r {} \;
rm -f ~/installed/libical-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2023-09-10 3:15am
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]