about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/fltk
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/fltk')
-rw-r--r--nixpkgs/pkgs/development/libraries/fltk/1.4.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/fltk/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/fltk/nsosv.patch20
3 files changed, 115 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/fltk/1.4.nix b/nixpkgs/pkgs/development/libraries/fltk/1.4.nix
new file mode 100644
index 000000000000..eebe119d142f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/fltk/1.4.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
+, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, libtiff, freetype, Cocoa, AGL, GLUT
+}:
+
+let
+  version = "1.4.x-r13121";
+in
+
+stdenv.mkDerivation {
+  pname = "fltk";
+  inherit version;
+
+  src = fetchurl {
+    url = "http://fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz";
+    sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63";
+  };
+
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
+    ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
+
+  propagatedBuildInputs = [ xorgproto ]
+    ++ (if stdenv.isDarwin
+        then [ freetype libtiff ]
+        else [ xlibsWrapper libXi freeglut ]);
+
+  configureFlags = [
+    "--enable-gl"
+    "--enable-largefile"
+    "--enable-shared"
+    "--enable-threads"
+    "--enable-xft"
+  ];
+
+  preConfigure = "make clean";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A C++ cross-platform lightweight GUI library";
+    homepage = http://www.fltk.org;
+    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/libraries/fltk/default.nix b/nixpkgs/pkgs/development/libraries/fltk/default.nix
new file mode 100644
index 000000000000..a22b5eef8d2e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/fltk/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
+, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, libtiff, freetype, Cocoa, AGL, GLUT
+}:
+
+let
+  version = "1.3.5";
+in
+
+stdenv.mkDerivation {
+  pname = "fltk";
+  inherit version;
+
+  src = fetchurl {
+    url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
+    sha256 = "00jp24z1818k9n6nn6lx7qflqf2k13g4kxr0p8v1d37kanhb4ac7";
+  };
+
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
+    ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
+
+  propagatedBuildInputs = [ xorgproto ]
+    ++ (if stdenv.isDarwin
+        then [ freetype libtiff ]
+        else [ xlibsWrapper libXi freeglut ]);
+
+  configureFlags = [
+    "--enable-gl"
+    "--enable-largefile"
+    "--enable-shared"
+    "--enable-threads"
+    "--enable-xft"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A C++ cross-platform lightweight GUI library";
+    homepage = http://www.fltk.org;
+    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl2;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/fltk/nsosv.patch b/nixpkgs/pkgs/development/libraries/fltk/nsosv.patch
new file mode 100644
index 000000000000..9e55b011b571
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/fltk/nsosv.patch
@@ -0,0 +1,20 @@
+diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
+index 6f5b8b1..2c7763d 100644
+--- a/src/Fl_cocoa.mm
++++ b/src/Fl_cocoa.mm
+@@ -4074,15 +4074,6 @@ Window fl_xid(const Fl_Window* w)
+ static int calc_mac_os_version() {
+   int M, m, b = 0;
+   NSAutoreleasePool *localPool = [[NSAutoreleasePool alloc] init];
+-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10
+-  if ([NSProcessInfo instancesRespondToSelector:@selector(operatingSystemVersion)]) {
+-    NSOperatingSystemVersion version = [[NSProcessInfo processInfo] operatingSystemVersion];
+-    M = version.majorVersion;
+-    m = version.minorVersion;
+-    b = version.patchVersion;
+-  }
+-  else
+-#endif
+   {
+     NSDictionary * sv = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"];
+     const char *s = [[sv objectForKey:@"ProductVersion"] UTF8String];