Skip to content

Commit

Permalink
Updates to version 3.0.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
lettier committed Apr 7, 2018
1 parent 2303bc6 commit 6b7082c
Show file tree
Hide file tree
Showing 12 changed files with 205 additions and 195 deletions.
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,28 @@

-------------------------------------------------------------------------------

### 3.0.0.1

#### Added

- Added project website under docs

#### Changed

- Changed docs to haddock
- Increased base optimization with fuzz and map
- Increased default frame rate to 15
- Set tighter bounds on number of colors
- Set tighter bounds on quality percent clamp
- Query stream for duration and then container for duration
- Fixed empty file name issue

#### Removed

-

-------------------------------------------------------------------------------

### 3.0.0.0

#### Added
Expand Down
2 changes: 1 addition & 1 deletion Gifcurry.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Gifcurry
version: 3.0.0.0
version: 3.0.0.1
synopsis: GIF creation utility.
description: Your open source video to GIF maker.
homepage: https://github.com/lettier/gifcurry
Expand Down
120 changes: 20 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Is Gifcurry another Electron app? No way! Gifcurry is 100% #electronfree.
No need to download more RAM, Gifcurry is light as a feather.
Run it all day, run it all year—you'll never notice.

I know what your're thinkin', "Gifcurry is just FFMpeg and ImageMagick," but you'd be wrong.
I know what you're thinkin', "Gifcurry is just FFMpeg and ImageMagick," but you'd be wrong.
Gifcurry hides all the goofy details so you can concentrate on what matters—the almighty GIF.
Making GIFs with Gifcurry is fun so try it out!

Expand All @@ -39,6 +39,8 @@ Your template doesn't allow video in the hero image? Gifcurry.
No GIF of your favorite movie scene? Gifcurry.
Need a custom animated emoji for Slack? Gifcurry.
Have an idea of the perfect GIF to close out that email? Gifcurry.
Your README needs a GIF? Gifcurry.
Video doesn't auto play on iOS? Gifcurry.

Gifcurry comes in handy for all sorts of scenarios.

Expand Down Expand Up @@ -111,7 +113,7 @@ gifcurry_cli \
`'╙╙╙╙'``
Gifcurry 3.0.0.0
Gifcurry 3.0.0.1
(C) 2016 David Lettier
lettier.com
Expand Down Expand Up @@ -155,31 +157,31 @@ Bottom Crop: 25.000

## How do I get a copy of Gifcurry?

Gifcurry works on Linux, Mac, and probably Windows (left me know).
Gifcurry works on Linux, Mac, and most likely Windows.
Make sure you have FFmpeg, GStreamer, ImageMagick, and GTK+ installed on your machine.
To find the latest version of Gifcurry, head over to the
[releases page](https://github.com/lettier/gifcurry/releases).

### I use Linux.

If you use Linux then the easiest way to grab a copy of Gifcurry is by downloading the
[AppImage](https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-3.0.0.0-x86_64.AppImage).
[AppImage](https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-3.0.0.1-x86_64.AppImage).
After you download the
[AppImage](https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-3.0.0.0-x86_64.AppImage),
[AppImage](https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-3.0.0.1-x86_64.AppImage),
right click on it, select permissions, and check the box near execute.
With that out of the way—you're all set—just double click on the AppImage
and the GUI will fire right up.

You can also download and install the
[AppImage](https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-3.0.0.0-x86_64.AppImage)
[AppImage](https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-3.0.0.1-x86_64.AppImage)
using the handy
[AppImage install script](https://raw.githubusercontent.com/lettier/gifcurry/master/packaging/linux/app-image/gifcurry-app-image-install.sh)
(right click and save link as).
Download the script, right click on it, select permissions, check the box near execute, and double click on it.
You should now see Gifcurry listed alongside your other installed programs.

If you want the CLI then download the
[prebuilt version](https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-linux-3.0.0.0.tar.gz)
[prebuilt version](https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-linux-3.0.0.1.tar.gz)
for Linux, extract it, open up your terminal,
`cd` to the bin folder, and then run `gifcurry_cli -?`.
As an added bonus, inside the bin directory is the GUI version
Expand All @@ -191,17 +193,14 @@ If you'd rather install Gifcurry via pacman then copy the following into your te

```bash
cd
# Install git.
sudo pacman -S git
# Install Gifcurry.
mkdir -p build_gifcurry
cd build_gifcurry
mkdir -p build-gifcurry
cd build-gifcurry
git clone https://aur.archlinux.org/gifcurry.git
cd gifcurry
makepkg -sic
# Run Gifcurry CLI and GUI.
cd
rm -rf build_gifcurry
rm -rf build-gifcurry
gifcurry_cli -?
gifcurry_gui
```
Expand All @@ -228,94 +227,15 @@ The
[Gifcurry snap](https://snapcraft.io/gifcurry)
only comes with the GUI.
If you want the CLI, download the
[prebuilt version](https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-linux-3.0.0.0.tar.gz)
[prebuilt version](https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-linux-3.0.0.1.tar.gz)
for Linux.

### I use Mac.

If you use Mac then you'll need to find the terminal.
Open Spotlight, type `Terminal`, and press enter.
You should see a window open that has black text
on a white background.

With the terminal open, copy the following into the terminal to install Homebrew.

```bash
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
```

After installing Homebrew, you'll need to install the right dependencies.

```bash
xcode-select --install
brew install \
wget \
git \
libffi \
libsvg \
librsvg \
libav \
libogg \
libvorbis \
pkg-config \
gobject-introspection \
cairo \
gdk-pixbuf \
gsettings-desktop-schemas \
gtk+3 \
gtk-mac-integration \
gnome-icon-theme \
openh264 \
theora \
ffmpeg \
imagemagick \
ghostscript \
gstreamer \
gst-libav \
gst-plugins-base \
gst-plugins-good
brew install --with-gtk+3 gst-plugins-bad
wget -qO- https://get.haskellstack.org/ | sh -s - -f
```

The next step is to download the Gifcurry source with a program called `git`.
After downloading the source, change directory (`cd`) into the Gifcurry folder.

```bash
git clone https://github.com/lettier/gifcurry.git
cd gifcurry/
```

Now that you have the source, copy this into the terminal.
It's scary lookin' but it is telling the program that builds
Gifcurry where the `libffi` package configuration is.

```bash
LIBFFIPKGCONFIG=`find /usr/local/Cellar -path '*libffi*' -type d -name 'pkgconfig' 2>/dev/null | tr '\n' ':' | sed 's/:$//'`
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$LIBFFIPKGCONFIG
```

We're almost there.
With the `stack` program, install the Haskell specific dependencies and build Gifcurry.

```bash
stack setup
stack install alex happy
stack install gtk2hs-buildtools
stack install hsc2hs
stack install
```

`stack` places the two Gifcurry programs into a special folder.
Copy the following into the terminal to create two shortcuts on your desktop.

```bash
ln -s $HOME/.local/bin/gifcurry_cli $HOME/Desktop/gifcurry_cli
ln -s $HOME/.local/bin/gifcurry_gui $HOME/Desktop/gifcurry_gui
```

You can now click on `gifcurry_gui` from your desktop or run `gifcurry_cli` from the terminal.
Mac users can download and run the
[Mac install script](https://raw.githubusercontent.com/lettier/gifcurry/master/packaging/mac/gifcurry-mac-install-script.command)
(hold down control, click the link, and select "Save Link As...").
After running the install script, a shortcut to both the Gifcurry GUI and CLI will be on your desktop.

### I'm a Haskell developer.

Expand All @@ -324,7 +244,7 @@ If you develop Haskell programs then the easiest way to build Gifcurry is with
Copy the following into your terminal.

```bash
git clone https://aur.archlinux.org/gifcurry.git
git clone https://github.com/lettier/gifcurry.git
cd gifcurry
stack setup
stack install alex happy
Expand All @@ -347,13 +267,13 @@ $HOME/.local/bin/gifcurry_gui
### To build Gifcurry.

* [GObject Introspection](https://wiki.gnome.org/action/show/Projects/GObjectIntrospection)
* [Haskell](https://docs.haskellstack.org/en/stable/README/)
* [Haskell Stack](https://docs.haskellstack.org/en/stable/README/)

## What is the license?

For license information, see [LICENSE](LICENSE).

## Who wrote Gifcurry?

_(C) 2016 David Lettier_
(C) 2016 David Lettier
[lettier.com](http://www.lettier.com/)
4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ <h2 class="">
<a href="https://www.imagemagick.org/script/download.php">ImageMagick</a>.
<p>
Linux users can download the
<a href="https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-3.0.0.0-x86_64.AppImage">AppImage</a> or
the <a href="https://github.com/lettier/gifcurry/releases/download/3.0.0.0/gifcurry-linux-3.0.0.0.tar.gz">prebuilt binaries</a>.
<a href="https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-3.0.0.1-x86_64.AppImage">AppImage</a> or
the <a href="https://github.com/lettier/gifcurry/releases/download/3.0.0.1/gifcurry-linux-3.0.0.1.tar.gz">prebuilt binaries</a>.
If you'd rather install it, you can do so via
<a href="https://aur.archlinux.org/packages/gifcurry/">pacman</a> (Arch)
or
Expand Down
43 changes: 21 additions & 22 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,20 @@ STACK_GHC_EXE=`$(STACK) path --compiler-exe`
STACK_GHC_BIN=`$(STACK) path --compiler-bin`
STACK_PATHS=$(STACK_PATH_LOCAL_BIN):$(STACK_GHC_BIN)
CABAL=env PATH=$(PATH):$(STACK_PATHS) $(STACK_PATH_LOCAL_BIN)/cabal
VERSION='3.0.0.0'
CABAL_SANDBOX_DIR=".cabal-sandbox"
_APPLICATIONS_DESKTOP_DIR="$(CABAL_SANDBOX_DIR)/share/applications"
_ICONS_HICOLOR_SCALABLE_APPS_DIR="$(CABAL_SANDBOX_DIR)/share/icons/hicolor/scalable/apps"
_PACKAGING_LINUX_COMMON_DIR="./packaging/linux/common"
VERSION='3.0.0.1'

export PATH := $(PATH):$(STACK_PATH_LOCAL_BIN)

all: setup update sandbox_clean clean alex happy haskell_gi gtk2hs_buildtools install_dependencies configure build install
all: setup update sandbox_clean clean alex happy haskell_gi gtk2hs_buildtools install_dependencies configure build cabal_install

setup:
$(STACK) setup && $(STACK) update && $(STACK) install Cabal && $(STACK) install cabal-install
$(STACK) setup && $(STACK) update && \
$(STACK) install Cabal && \
$(STACK) install cabal-install

alex: setup
$(STACK) install alex
Expand Down Expand Up @@ -51,41 +57,34 @@ install_dependencies: sandbox
configure: sandbox
$(CABAL) --require-sandbox configure -w $(STACK_GHC_EXE)

applications_desktop: sandbox
mkdir -p $(_APPLICATIONS_DESKTOP_DIR) && \
cp $(_PACKAGING_LINUX_COMMON_DIR)/gifcurry.desktop $(_APPLICATIONS_DESKTOP_DIR)/

icons_hicolor_scalable_apps: applications_desktop
mkdir -p $(_ICONS_HICOLOR_SCALABLE_APPS_DIR) && \
cp $(_PACKAGING_LINUX_COMMON_DIR)/gifcurry-icon.svg $(_ICONS_HICOLOR_SCALABLE_APPS_DIR)/

build: configure
$(CABAL) --require-sandbox build -j

install: build
cabal_install: applications_desktop icons_hicolor_scalable_apps build
$(CABAL) --require-sandbox install -j -w $(STACK_GHC_EXE) --enable-relocatable

release: check build
$(CABAL) sdist

run_gui: install
run_gui: cabal_install
./.cabal-sandbox/bin/gifcurry_gui

run_cli: install
run_cli: cabal_install
./.cabal-sandbox/bin/gifcurry_cli $(CLI_ARGS)

build_docs: setup
$(CABAL) haddock --hyperlink-source \
--html-location='http://hackage.haskell.org/package/Gifcurry/docs' \
--contents-location='http://hackage.haskell.org/package/Gifcurry' && \
mkdir -p ./haddock && \
cp -R ./dist/doc/html/Gifcurry/ ./haddock/Gifcurry-$(VERSION)-docs && \
cd ./haddock && \
tar --format=ustar -cvf ./Gifcurry-$(VERSION)-docs.tar Gifcurry-$(VERSION)-docs

# Begin Arch Linux Specific
arch_os_build_gifcurry: setup update clean sandbox_clean alex happy haskell_gi gtk2hs_buildtools arch_os_install_dependencies arch_os_configure arch_os_build

arch_os_install_dependencies: sandbox
$(CABAL) --require-sandbox install -j -w $(STACK_GHC_EXE) --force-reinstalls --reinstall --only-dependencies

arch_os_configure: sandbox
$(CABAL) --require-sandbox configure -w $(STACK_GHC_EXE) --prefix=$(PREFIX)

arch_os_build: arch_os_configure
$(CABAL) --require-sandbox build -j

arch_os_install_gifcurry: arch_os_build
$(CABAL) --require-sandbox copy --destdir=$(DESTDIR)
# End Arch Linux Specific
2 changes: 1 addition & 1 deletion packaging/linux/app-image/gifcurry-app-image-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# (C) 2017 David Lettier
# lettier.com

GIFCURRY_VERSION="3.0.0.0"
GIFCURRY_VERSION="3.0.0.1"
GIFCURRY_RELEASES_DOWNLOAD="https://github.com/lettier/gifcurry/releases/download/$GIFCURRY_VERSION"
GIFCURRY_PACKAGING_LINUX_COMMON="https://raw.githubusercontent.com/lettier/gifcurry/master/packaging/linux/common"
GIFCURRY_APP_IMAGE="gifcurry-$GIFCURRY_VERSION-x86_64.AppImage"
Expand Down
2 changes: 1 addition & 1 deletion packaging/linux/arch-aur/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Maintainer: Lettier <gifcurry_aur a@@at@t lettier dd.ot..t ccommm>

_name=gifcurry
_ver=3.0.0.0
_ver=3.0.0.1
_xrev=0

pkgname=${_name}
Expand Down
2 changes: 1 addition & 1 deletion packaging/linux/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: gifcurry
version: '3.0.0.0'
version: '3.0.0.1'
summary: Your open source video to GIF maker.
type: app
description: |
Expand Down
Loading

0 comments on commit 6b7082c

Please sign in to comment.